Aqui você encontra tudo em softwares e aplicativos dos melhores fabricantes.
Ainda não é Cadastrado?
Clique Aqui e cadastre-se agora.
Softwares são fonte de bons negócios e ótima lucratividade, estamos cadastrando revendedores de todo Brasil.
Procuramos soluções para agregar ao nosso potifórlio e estamos prontos para distribuir os seus produtos e serviços à nossa base de clientes.
A abordagem das linhas de produtos de software (software product
lines - SPL) centra-se no uso de técnicas de engenharia que permitem
criar um grupo de sistemas de software similares a partir de um
conjunto de especificações de software comuns a todos esses sistemas,
usando para tal um meio comum de produção. Assim, é uma transposição
para a produção de software de técnicas utilizadas noutras áreas da
engenharia, como por exemplo no fabrico de certos produtos, em que é
criada uma linha de produtos semelhantes usando a mesma fábrica e que
na qual são montadas e configuradas partes que serão reutilizadas nos
produtos variantes na linha de produção.
As SPL estão a emergir rapidamente, tornando-se num importante
paradigma de desenvolvimento de software que permite às empresas de
desenvolvimento optimizar os seus processos de engenharia de sofware.
Apesar da ideia de criar software a partir de partes reutilizáveis ser
discutida há bastante tempo, apenas recentemente, graças aos avanços
feitos na área de linhas de produção, é que se pode considerar que foi
demonstrado que o uso deste conceito pode de facto alcançar os
objectivos a que se propôs, para os produtos de software.
Seguem-se algumas das áreas da Engenharia de Software em que a abordagem SPL pode ser utilizada [1]:
A principal diferença entre engenharia de linhas de produção de
software e a engenharia de software convencional é a presença de
variação em alguns ou até todos os requisitos de software. Na fase
inicial do ciclo de vida de uma SPL, o software contem pontos de
variação que caracterizam o comportamento do software. Ao longo de todo
o processo de desenvolvimento os vários pontos de variação são
analisados, e são escolhidos os comportamentos necessários para a
concretização do produto final de software. Este processo de decisão
sobre quais os comportamentos de cada ponto de variação são escolhidos
para o software é chamado normalmente de _binding time_.
Os principais objectivos das SPL são o de juntar semelhanças e gerir
as variações por forma a originar melhorias na qualidade, tempo e
esforço de desenvolvimento, custo e complexidade na criação e
manutenção de linhas de produtos de sistemas de software similares, e
ainda um aumento do número de produtos dessa linha que podem ser
desenvolvidos. A juntação de semelhanças pode ser conseguida através da
consolidação e partilha entre os vários inputs dos recursos de software
por forma a evitar duplicações e divergências. A gestão das variações
faz-se com a utilização de uma definição clara sobre qual o modelo de
decisão e quais os pontos de variação, apresentando as suas
localizações e dependências.
Em suma, estes benefícios podem ser atribuídos à reutilização
estratégica do software. Assim o único real esforço de engenharia
necessário para a concepção de cada produto da linha de produtos dirá
respeito às variações que são realmente únicas para esse produto, e à
devição selecção de comportamentos caracteristicos de cada ponto de
variação.
No entanto, é necessário ter em conta que a reutilização, enquanto
estratégia de software para diminuir os custos de desenvolvimento e
aumentar a qualidade, não é uma ideia nova, e de facto as Linhas de
Produtos de Software envolvem muita reutilização, sempre que o novo
produto de software seja indicado para existir a reutilização. Mas a
diferença reside no facto de a reutilização ser um processo que apenas
dava enfase à reutilização de pequenas partes de código. No caso da
abordagem SPL, a reutilização é planeada, não sendo meramente
oportunista, sendo assim todo o código que a ser reutilizado é
desenhado e concebido tendo em conta a possibilidade de reutilização,
modificação e optimização por forma a se enquadrar em vários sistemas
[1].
Juntamente aos benefícios apontados, estão de igual modo aliados
alguns riscos. Tal acontece pois o uso de linhas de produtos constitui
uma nova estratégia técnica para qualquer organização. A criação de uma
SPL requer a existência de uma gestão organizacional capaz e boas
práticas técnicas de engenharia. Mesmo que uma organização adquira uma
SPL, irá necessitar destes requisitos, a fim de poder explorar a
similaridade dos produtos e de monitorizar devidamente o esforço de
desenvolvimento [1].
O primeiro aspecto a ter em conta, na definição de uma SPL, é a
similaridade partilhada pelos produtos quantificando o nível de
semelhança, e a forma em que os produtos variam entre si. É também
necessário definir a quantidade de produtos a incluir, sendo que, para
quantidades bastante elevadas as partes que estes têm comum deverão ser
mais genéricas ou então serão apenas usadas numa pequena fracção desses
produtos. Por outro lado, se a gama de produtos for muito reduzida,
entao a SPL não terá todo o seu potencial aproveitado, podendo até, em
último caso, não vir a justificar os custos da sua introdução. No
entanto, há que ter em conta que a definição desta gama não é algo
estático, mas que pode ir sendo alterada e refinada, e ainda que a sua
definição não deverá ser muito precisa.
Existem várias técnicas para fazer a definição da gama de produtos,
nomeadamente a que se segue: pegando nas especificações de todos os
produtos, é efectuado um levantamento de todas as semelhanças entre
eles, e é estudada a variabilidade. Para o estudo da variabilidade dos
produtos os actores-chave são integrados no processo de avaliação,
sendo assim possível obter informação sobre os pontos em comum e as
diferenças entre os produtos de software.
Tal como salientado anteriormente, o uso de SPL é vantajoso ao longo
de todas as fases de Engenharia de Software, nomeadamente na de Análise
e Especificação de Requisitos. Nela são apontados requisitos comuns
para a linha de produtos, ou seja, os requisitos são escritos para o
grupo de sistemas como um todo, sendo que os requisitos específicos
para sistemas individuais são apontados como um delta ou um incremento
à dita base de requisitos especificada. Assim, a similaridade e a
variação serão documentadas explicitamente, o que ajudará a criar uma
arquitectura única para a linha de produtos. Além disso, será também
muito mais fácil criar novos sistemas na linha de produtos, porque será
mais fácil especificá-los, já que os requisitos são reutilizados e
adaptados. De outra forma, a captura de requisitos para um grupo de
sistemas requer um poder de análise e de negociação elevado, a fim de
se obter uma base de requisitos comuns e de variação aceitáveis para
todos os sistemas [1].
A especificação de requisitos para uma SPL difere da especificação de requisitos para um único sistema da seguinte forma :
Práticas específicas :
Riscos :
O grande risco que se encontra associado à engenharia de requisitos
é a possibilidade de errar na identificação dos requisitos correctos ao
longo do ciclo de vida da SPL. Ao longo de todo o processo de
engenharia de requisitos podem surgir condicionantes à boa pratica da
implementação de uma SPL, tais como a errada documentação dos
requisitos, a impossibilidade de actualizar os requisitos de forma
atempada e correcta, ou mesmo a não documentação (ou utilização de
terminologia impropria) dos requisitos.
Poderá parecer estranho que possa ocorrer uma errada documentação
dos requisitos, no entanto existem alguns factores que são importantes
de ter em conta: