Buscar

EDS - Aula 2 - Processos de Software

Prévia do material em texto

Aula  2:  Processo  
de  Software	
Atividades  Fundamentais  
do  Processo  de  Software	
Evolução	
Validação	
Projeto  e  implementação	
Especificação	
As  descrições  do  processo	
Produtos	
 Papéis	
Pré  e  pós-­‐‑
condições	
Modelos  de  Processo  de  
Software	
•  Modelo em Cascata 
•  Desenvolvimento incremental 
•  Engenharia de software orientada a reúso 
Modelo  em  Cascata	
Definição  de  
requisitos	
Projeto  de  sistema  
e  software	
Inplementação  e  
teste  unitário	
Integração  e  teste  
de  sistema	
Operação  e  
manutenção	
Modelo  em  Cascata	
•  Modelo menos flexível 
•  Só passamos para a próxima fase quando 
concluímos a anterior. 
•  Recomendado para sistemas críticos e que não 
possuem mudança de requisitos. 
Desenvolvimento  
Incremental	
Descrição  do  
esboço	
Especificação	
Desenvolvimento	
Validação	
Versão  Inicial	
Versões  
Intermediárias	
Versão  Final	
Desenvolvimento  
Incremental	
•  Base para as metodologias ágeis 
•  Vantagens 
o  Baixo custo para mudanças 
o  Retorno rápido dos clientes 
o  Entrega rápida 
•  Modelo mais utilizado 
•  Desvantagens 
o  O processo não é visível. Pouca documentação. 
o  A estrutura tende a se degradar com adição de novos incrementos 
Orientada  a  Reúso	
Especificação  de  
requisitos	
Análise  de  
componentes	
Alterações  nos  
requisitos	
Projeto  de  
sistema  com  
reúso	
Desenvolvimento  
e  integração	
Validação  de  
Sistema	
Orientada  a  Reúso	
•  Componentes utilizados em 
reúso 
o Web service 
o Objetos (.NET ou Java) 
o Softwares Stand-Alone 
Atividades  do  Processo	
•  Especificação de Software 
•  Projeto e implementação de software 
•  Validação de software 
•  Evolução de software 
Especificação  de  Software	
Estudo  da  
Viabilidade	
Elicitação  e  
análise  de  
requisitos	
Especificação  
de  requisitos	
Validação  de  
requisitos	
Relatório  de  
viabilidade	
Modelos  de  
sistema	
Req.  de  
usuários  e  de  
sistema	
Documentação  de  
requisitos	
Projeto  e  implementação  
de  software	
Informação  de  
plataforma	
Especificação  
de  requisitos	
Descrição  de  
dados	
Entradas  do  
projeto	
Projeto  de  
interface	
Projeto  de  
arquitetura	
Projeto  de  
componentes	
Projeto  de  banco  
de  dados	
Atividades  
de  projeto	
Arquitetura  de  
sistema	
Especificação  de  
banco  de  dados	
Especificação  
de  interface	
Especificação  de  
componentes	
Validação  de  Software	
Teste  de  
componente	
Teste  de  
sistema	
Teste  de  
aceitação	
Estágios  de  Testes	
Testes  dirigidos  a  planos	
Especificação  
de  requisitos	
Especificação  
de  sistema	
Projeto  de  
sistema	
Projeto  
detalhado	
Código  e  
teste  unitário  
de  módulo	
Operação	
 Teste  de  aceitação	
Teste  de  
integração  de  
sistema	
Teste  de  
integração  de  
sub-­‐‑sistema	
Plano  de  testes  de  
aceitação	
Plano  de  testes  de  
integração  de  
sistema	
Plano  de  testes  de  
integração  de  
sub-­‐‑sistema	
Evolução  de  Software	
Definir  
requisitos  de  
sistema	
Avaliar  
sistemas  
existentes	
Propor  
mudanças  de  
sistema	
Modificar  
sistemas	
Novo  
sistema	
Sistemas  
existentes	
Prototipação	
Modelo  espiral  de  Boehm	
RUP  (Rational  Unified  
Process)	
1.  Perspectiva dinâmica: mostra as fases do modelo 
ao longo do tempo 
2.  Perspectiva estática: mostra as atividades 
realizadas no processo 
3.  Perspectiva prática: sugere boas práticas a serem 
usadas durante o processo 
http://www-306.ibm.com/software/awdtools/rup/ 
Fases  do  RUP  (dinâmica)	
Concepção	
 Elaboração	
 Construção	
 Transição	
Workflows  (estática)	
Workflow	
 Descrição	
Modelagem  de  
negócios	
Os  processos  de  negócio  são  modelados  por  meio  de  casos  
de  uso  de  negócio.	
Requisitos	
 Atores  que  interagem  com  o  sistema  são  identificados  e  
casos  de  uso  são  desenvolvidos  para  modelar  os  requisitos  
do  sistema.	
Análise  e  projeto	
 Um  modelo  de  projeto  é  criado  e  documentado  com  
diagramas  de  arquitetura,  diagramas  de  componentes,  
diagramas  de  objetos  e  diagramas  de  sequência.	
Implementação	
 Os  componentes  do  sistema  são  implementados  e  
estruturados  em  subsistemas  de  implantação.  A  geração  
automática  de  código  a  partir  de  modelos  de  projeto  ajuda  a  
acelerar  esse  processo	
Teste	
 O  Teste  é  um  processo  iterativo  que  é  feito  em  conjunto  com  
a  implementação.  O  teste  do  sistema  segue  a  conclusão  da  
implementação.	
Implantação	
 Um  release  do  produto  é  criado,  distribuido  aos  usuários  e  
instalado  em  seu  local  de  trabalho	
Workflows  de  Apoio	
Workflow	
Gerenciamento  de  configurações  e  mudanças	
Gerenciamento  de  projeto	
Meio  Ambiente	
Boas  práticas  do  RUP	
•  Desenvolver software iterativamente 
•  Gerenciar requisitos 
•  Usar arquitetura baseada em 
componentes 
•  Modelar software visualmente (UML) 
•  Verificar a qualidade do software 
•  Controlar as mudanças de software 
Dúvidas  ?

Continue navegando