1 / 37

Processos Desenvolvimento de Software Tradicionais – 2014/2

Engenharia de Software. Processos Desenvolvimento de Software Tradicionais – 2014/2. Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR. Processos. Um conjunto estruturado de atividades necessárias para o desenvolvimento de um sistema de software Especificação ; Projeto ; Validação ;

Télécharger la présentation

Processos Desenvolvimento de Software Tradicionais – 2014/2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Engenharia de Software ProcessosDesenvolvimento de SoftwareTradicionais – 2014/2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

  2. Processos • Um conjuntoestruturado de atividadesnecessáriaspara o desenvolvimento de um sistema de software • Especificação; • Projeto; • Validação; • Evolução. • Um modelo de processode software é umarepresentaçãoabstrata do processo. Eleapresenta a descrição de um processo a partir de umaperspectiva particular.

  3. Processos • Processo = Níveis ou etapas • Processo = Ciclo de vida do sw • Foco = Aprimorar o desenvolvimento • Processos Artesanais (Gambiarra) ... • Processos Tradicionais (Clássicos) • Processos Ágeis ...

  4. Processos Tradicionais • Modelo CASCATA (waterfall) • Mais antigo/mais tradicional • Clássico • Atualmente existem adaptações e simplificações dele ... • Rígido ... Linear ...

  5. Processos Tradicionais

  6. Processos Tradicionais

  7. Processos Tradicionais • Modelo CASCATA – Sub-processos

  8. Processos Tradicionais • Modelo CASCATA – Sub-processos

  9. Processos Tradicionais • Modelo CASCATA – Sub-processos

  10. Processos Tradicionais • Modelo CASCATA – Sub-processos

  11. Processos Tradicionais • Modelo CASCATA – Sub-processos

  12. Processos Tradicionais • Modelo CASCATA (waterfall) • A principal desvantagem do modelocascata é a dificuldade de acomodação das mudançasdepoisque o processoestáemandamento. Umafase tem de estarcompleta antes de passarpara a próxima.

  13. Processos Tradicionais • Modelo CASCATA (waterfall) • Particionamentoinflexível do projetoemestágiosdistintos, dificulta a respostaaosrequisitos de mudança do cliente. • Portanto, estemodelo é apropriadosomentequandoosrequisitossãobemcompreendidos, e quando as mudançasforembastantelimitadasdurante o desenvolvimento do sistema. • Poucossistemas de negóciotêmrequisitosestáveis. • O modelocascata é o maisusadoemprojetos de engenharia de sistemas de grandeporte, onde um sistema é desenvolvidoemváriaslocalidades.

  14. Processos Tradicionais • Modelo Evolutivo/Evolucionário • Expandir e Incrementar sw • Direção determinada pela experiência operacional • Desenvolvimento de Protótipos ... • Solidificar requisitos ...

  15. Processos Tradicionais • Modelo Evolutivo/Evolucionário

  16. Processos Tradicionais • Modelo Evolutivo/Evolucionário

  17. Processos Tradicionais • Modelo Evolutivo/Evolucionário • Problemas • Falta de visibilidade de processo; • Os sistemassãofreqüentemente mal estruturados; • Habilidadesespeciais (porexemplo, emlinguagensparaprototipaçãorápida) podem ser solicitadas. • Aplicabilidade • Para sistemasinterativos de pequeno e médioportes; • Para partes de um sistema de grandeporte (porexemplo, a interface de usuário); • Para sistema com curtociclo de vida.

  18. Processos Tradicionais • Modelo Baseado em Componentes • Baseadoemreusosistemáticoondesistemassãointegrados a partir de componentesexistentesou de sistemas COTS (Commercial-of-the-shelf) (soluçõesprontasdisponíveis no mercado) • Estágios do processo • Análise de componentes; • Modificação de requisitos; • Projeto de sistema com reuso; • Desenvolvimento e integração. • Estaabordagemestá se tornandocadavezmaisusada à medidaquepadrões de componentestêmsurgido.

  19. Processos Tradicionais • Modelo Baseado em Componentesfoco em REUSO

  20. Processos Tradicionais • Modelo Iterativo • Requisitos de sistema SEMPRE evoluem no curso de um projeto e, sendoassim, a iteração de processo, ondeestágiosiniciaissãoretrabalhados, é sempre parte do processo dos sistemas de grandeporte. • A iteraçãopode ser aplicada a qualquer um dos modelosgenéricos do processo. • Duasabordagens (relacionadas) • Entrega incremental; • Desenvolvimentoespiral.

  21. Processos Tradicionais • Modelo Iterativo - Incremental • Aoinvés de entregar o sistemacomoumaúnicaentrega, o desenvolvimento e a entregasãoseparadosemincrementos, sendoquecadaincrementofornece parte dafuncionalidadesolicitada. • Os requisitos de usuáriosãopriorizados e osrequisitos de prioridademaisaltasãoincluídosnosincrementosiniciais. • Umavezque o desenvolvimento de um incremento é iniciado, osrequisitossãocongelados, emboraosrequisitosparaosincrementosposteriorespossamcontinuarevoluindo.

  22. Processos Tradicionais • Modelo Iterativo - Incremental

  23. Processos Tradicionais • Modelo Iterativo - Incremental • O valorpode ser entreguepara o cliente com cadaincremento e, dessemodo, a funcionalidade de sistema é disponibilizadamaiscedo. • O incrementoinicial age como um protótipoparaauxiliar a elicitarosrequisitosparaincrementosposteriores do sistema. • Riscosmenores de falhageral do projeto. • Os serviços de sistema de maisaltaprioridadetendem a recebermais testes.

  24. Processos Tradicionais • Modelo Iterativo - Incremental • INÍCIO dos MétodosÁgeis ... • Extreme Programming e outros ...

  25. Processos Tradicionais • Modelo Iterativo – Espiral • O processo é representadocomoumaespiralaoinvés de umaseqüência de atividades com realimentação. • Cada loop naespiralrepresentaumafase no processo. • Semfasesdefinidas, taiscomoespecificaçãoouprojeto – os loops naespiralsãoescolhidosdependendo do que é requisitado. • Os riscossãoexplicitamenteavaliados e resolvidosaolongo do processo.

  26. Processos Tradicionais • Modelo Iterativo – Espiral

  27. Processos Tradicionais • Modelo Iterativo – Espiral

  28. Processos Tradicionais • Modelo Iterativo – Espiral • Definição de objetivos • Objetivosespecíficospara a fasesãoidentificados. • Avaliação e redução de riscos • Riscossãoavaliados e atividadessãorealizadasparareduzirosriscos-chave. • Desenvolvimento e validação • Um modelo de desenvolvimentopara o sistema, quepode ser qualquer um dos modelosgenéricos, é escolhido. • Planejamento • O projeto é revisado e a próximafasedaespiral é planejada.

  29. Processos Tradicionais • RUP – RationalUnifiedProcess

  30. Processos Tradicionais • RUP – RationalUnifiedProcess • Desenvolvimento de Software Interativo • Gerenciamento de requisitos • Uso de arquitetura baseada em componentes • Modelagem visual • Verificação contínua da qualidade • Gerenciamento de mudanças

  31. Processos Tradicionais • RUP – RationalUnifiedProcess • Conjunto de atividades • bem definidas • com responsáveis • com artefatos de entrada e saída • com dependências entre as mesmas e ordem de execução • com modelo de ciclo de vida • descrição sistemática de como devem ser realizadas • UML

  32. RUP – RationalUnifiedProcess

  33. Processos Tradicionais

  34. Processos Tradicionais • RUP – RationalUnifiedProcess

  35. Processos Tradicionais

  36. Processos Tradicionais

  37. Processos Tradicionais • Pontos Chave: • Processos de software são atividades envolvidas na produção e na evolução de um sistema de software. • Modelos de processo de software são representações abstratas destes processos. • Atividades gerais incluem especificação, projeto e implementação, validação e evolução de software. • Modelos genéricos de processo descrevem a organização dos processos de software. Exemplos incluem o modelo cascata, o desenvolvimento evolucionário e engenharia de software baseada em componentes. • Modelos de processo iterativos apresentam o processo de software como um ciclo de atividades.

More Related