Beruflich Dokumente
Kultur Dokumente
LU BARBOSA BRAGIONE
ENGENHARIA DE SOFTWARE LL
Ribeiro preto/SP
2017
LU BARBOSA BRAGIONE
ENGENHARIA DE SOFTWARE LL
Ribeiro preto/SP
2017
LISTA DE FIGURAS
1 REUSO DE SOFTWARE:
Conceito...
O termo Linha de Produto de Software uma adaptao do que vm sendo
utilizado internacionalmente como
Software Product-lines. Esse termo uma clara referncia s linhas de
produo das indstrias de
Manufatura, as quais, no final do sculo XIX, introduziram uma revoluo no
processo produtivo, sugerindo
O desenvolvimento sequencial de produtos, baseado em tarefas repetitivas,
executadas sempre pelas mesmas
Pessoas que dispunham dos recursos materiais que necessitavam.
Conforme Cohen, a definio de software product-line com maior aceitao
na indstria a de
Clements e Northrop que diz o seguinte:
Uma linha de produto de software um conjunto de sistemas que usam
software intensivamente,
Compartilhando um conjunto de caractersticas comuns e gerenciadas, que
satisfazem as necessidades
De um segmento particular de mercado ou misso, e que so desenvolvidos
a partir de um conjunto comum
De ativos principais e de uma forma preestabelecida (Clementes e Northrop).
Dentro desta definio, alguns termos devem ser destacados, pois
representam as caractersticas mais
Importantes de uma linha de produto e sustentam as principais vantagens
propostas pelo modelo.
Os termos so:
Conjunto comum de ativos,
Forma preestabelecida
Segmento particular de mercado ou misso.
Figura 1 - tabelas 1 e 2
Fonte:
https://edisciplinas.usp.br/pluginfile.php/110500/mod_resource/content/1/Re%C3%BAso%20de%20Software.pdf
6
Rapidez de implantao
No precisam dedicar muitos recursos para TI
A evoluo simplificada
Alguns riscos de desenvolvimento so evitados
possvel escolher as funes que necessita
Desvantagens/Riscos
https://edisciplinas.usp.br/pluginfile.php/110500/mod_resource/content/1/Re
%C3%BAso%20de%20Software.pdf
Definies Bsicas:
Tcnica de produo baseada em outras engenharias, fbricas que
desenvolvem uma mesma famlia de
Produtos com partes e recursos comuns.
Um conjunto de sistemas de software que:
representar as informaes
Relevantes de um domnio com base no estudo de sistemas existentes e suas
histrias de
Desenvolvimento, no conhecimento de especialistas no domnio, na teoria
subjacente e
Na tecnologia emergente dentro do domnio.
Um conjunto de sistemas intensivos em software que compartilha um conjunto
de caractersticas
Gerenciadas e comuns, que satisfaz a necessidades especficas de um
segmento de mercado em
Particular ou misso de uma empresa e que desenvolvido a partir de um
conjunto principal de
Recursos (ativos) de uma forma pr-estabelecida (Clementes and. Northrop
2002).
Podem ser implementadas usando geradores de aplicao, componentes,
frameworks, compilao
Condicional, aspectos, etc.
O reuso limitado e planejado.
https://edisciplinas.us
9
1. Verificao:
2. Fizemos o software corretamente?
3. Esta atividade se resume em responder a esta pergunta. A verificao tem
o objetivo de avaliar se o que
4. Foi planejado realmente foi realizado; ou seja, se os requisitos e
funcionalidades documentados foram
5. Implementados, alm disso a verificao tambm pode ser realizada para
especificao de sistemas, para
6. Avaliar se os requisitos esto sendo documentados como deveriam e ainda
prever falhas ou inconsistncias
7. Entre requisitos.
8. Validao: Fizemos o software correto?
9. A validao tem o objetivo de avaliar se o que foi entregue atende as
expectativas do cliente; ou seja,
10. Se os requisitos, independente do que foi planejado, esto sendo
implementados para atender a regra de
11. Negcio do cliente, se o sistema realmente aquilo que o cliente quer e
est pagando para ter, A
12. Validao final do sistema realizada pelo prprio cliente ou usurio.
Ou seja:
Verificao (no contexto de testes) o conjunto de atividades que garante
Que o software implementa corretamente uma funo especfica, enquanto
validao garante que o mesmo corresponde aos requisitos
https://bugless.wordpress.com/2011/05/19/verificacao-validacao-e-teste-de-
software/
rea de
Qualidade de Software, cada uma dessas palavras possui uma definio:
Defeito: resultado de um erro encontrado num cdigo ou num documento;
Erro: engano cometido por seres humanos;
Falha: resultado ou manifestao de um ou mais defeitos.
Exemplo: A aplicao entra em doping infinito, devido a um erro de lgica,
Ocasionando o travamento da mesma.
No exemplo acima citado, o defeito o looping infinito, que foi causado devido
a um
Erro de lgica do programador e a falha o travamento da aplicao.
Como podemos notar, o maior problema a falha, pois ela que afeta
diretamente o usurio.
Alm disso, um defeito poder demorar vrios anos para ocasionar uma falha,
sendo que ele j
Estava presente na aplicao, desde a sua instalao.
https://www.desenvolvedormatteus.com.br/conceitos-testes-software/
vlido ou no.
Testes de Integrao: Nesta fase as unidades do sistema so testadas de
forma combinada, o objetivo detectar
Falhas na interao entre as unidades integradas. No faz parte desta fase
os testes de integrao com outros sistemas.
Ex: Na integrao do cadastro de clientes com a funo que valida CPF, as
duas unidades j foram testadas individualmente
Na fase de testes de unidade, porm neste momento que a interao entre
elas validada.
Testes de Sistema: Nesta fase o sistema testado completamente, ou seja,
todas as funcionalidades do sistema so testadas,
Assim como as integraes com outros sistemas que possam existir. Os
testes no se limitam apenas a requisitos funcionais,
Requisitos no funcionais tambm so testados nesta fase.
Testes de aceitao: Nesta fase sero testadas as funcionalidades requeridas
pelo cliente durante o projeto. Deve ser feito,
Preferencialmente, pelo usurio final.
Com os testes sendo executados em todas as fases do desenvolvimento
possvel detectar falhas com antecedncia e entregar
O sistema com mais qualidade. Alm disso, quanto antes a falha for detectada
mais barato para corrigi-la, evitando aumento de
Custo desnecessrio no projeto
http://www.matera.com/br/2013/07/19/fases-de-testes-de-software/
Tarefas dinmicas;
Em sistemas que apresentam ciclo de vida curto.
http://www.inf.ufg.br/mestrado/sites/www.inf.ufg.br.mestrado/files/uploads/Dis
sertacoes/Disserta%C3%A7%C3%A3o-Daniel-Gomes-de-Oliveira-29092016.pdf
13
3 QUALIDADE DE SOFTWARE:
Viso Geral:
Na dcada de 80, o fator qualidade emergiu como uma necessidade bsica
na luta pelo
Mercado cada vez mais competitivo.
O termo qualidade definido ambiguamente e diferentes significados
Podem ser atribudos a ele, em diferentes situaes e de acordo com a opinio
ou
Enfoque de quem faz uso.
O termo faz parte da linguagem cotidiana e a viso popular que se tem do
conceito
De qualidade pode ser muito diferente de como ele usado profissionalmente.
Viso Popular:
Algo abstrato
Perfeio
Luxo e questo de gosto
Viso Profissional:
Fonte: https://edisciplinas.usp.br/pluginfile.php/57546/mod_resource/content/1/Aula8-QualidadeSoftware.pdf
Fonte: www.RafaelAmaral.com.br
com a finalidade
De obter um produto de software e considerado um dos principais
mecanismos para se obter
Um software de qualidade (Wikipdia).
Ento, tudo que precisamos para gerar um produto de software de qualidade
um bom Processo
De Software que se adapte realidade de uma empresa. Porm, no basta
apenas implement-lo,
Ou seja, deve-se ter o gerenciamento do processo como um todo a fim de
garantir que ele seja
Executado corretamente entre os envolvidos, ou caso contrrio, o caos tomar
conta de tudo
Trazendo o resultado inverso do que se esperava.
Em outras palavras, a qualidade de software estar em conformidade com
requisitos funcionais
E de desempenho explicitamente declarados de desenvolvimento, que devem
ser claramente documentados
E as caractersticas implcitas que so esperadas de todo o software
desenvolvido.
Outra caracterstica importante de um Processo de Software que ele visa
diminuio de falhas,
Ou seja, elaborar de forma sistemtica Casos de Teste a fim de identificar e
corrigir erros j na
Fase inicial do projeto. Corrigir erros no incio do projeto bem mais barato
do que depois de entregue.
Em outras palavras, entregar um produto de software sem falhas garante a
confiabilidade,
Eficincia e integridade do produto.
Por que utilizar um Processo de Software?
Mais de 30% dos projetos so cancelados antes de serem finalizados.
Mais de 70% dos projetos falham nas entregas das funcionalidades.
Os custos extrapolam em mais de 180% do oramento inicial.
Os prazos excedem em mais de 200% os cronogramas originais.
Fonte: www.RafaelAmaral.com.br
16
http://www.acervodigital.ufpr.br/
19
Viso Geral:
O Gerenciamento de Projeto de Software a arte de confrontar os objetivos
da
Concorrncia, gerenciar riscos e superar obstculos para liberar com xito um
produto que
Atenda s necessidades dos clientes (que pagaram por ele) e dos usurios.
O fato de que to
Poucos projetos sejam indiscutivelmente bem-sucedidos o comentrio
suficiente sobre a
Dificuldade da tarefa.
Fonte: http://www.facom.ufu.br/~bacala/MDS/RUP-Gerenciamento%20de%20Projetos.pdf
20
http://www.facom.ufu.br/~bacala/MDS/RUP-
Gerenciamento%20de%20Projetos.pdf
Figura 5 - custos
Fonte: http://repositorio.ufsm.br/bitstream/handle/1/75/Monografia2_Bernardi_Debora_Cole.pdf?sequence=1
23