Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Click to Edit Master Title Style Click to edit Master subtitle style * * Metodologia de Desenvolvimento de Software Introdução à Análise e Projeto Orientados a Objeto © Nabor C. Mendonça 2001 * * Bibliografia APOO C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, Prentice Hall, 1998. B. Meyer, Object-Oriented Software Construction, Prentice Hall, 1998. E. Yourdon, C. Argila, Case Studies in Object-Oriented Analysis and Design, Prentice Hall, 1988. (*) G. Booch, Object-Oriented Analysis and Design with Applications, Benjamin Cummings, 1994 UML G. Booch, J. Rumbaugh, I. Jacobson, The Unified Modeling Language User Guide, Addison Wesley, 1999. (*) © Nabor C. Mendonça 2001 * * Bibliografia UML (cont.) M. Fowler, K. Scott, UML Distilled: Applying the Standard Object Modeling Language, Addison Wesley, 1997. (*) J. D. Furlan, Modelagem de Objetos através da UML: Análise e Desenho Orientados a Objeto, Makron Books, 1998. Padrões E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, 1995. (*) F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern-Oriented Software Architecture: A System of Patterns, John Wiley & Sons, 1996. © Nabor C. Mendonça 2001 * * Bibliografia Engenharia de Software I. Sommerville, Software Engineering, 6th Edition, Addison Wesley Longman, 2000. R. S. Pressman, Software Engineering: A Practioner's Approach, IE-McGraw-Hill, 4th Edition, 1996. (*) (*) Disponível em Português © Nabor C. Mendonça 2001 * * Referências Online APOO www2.awl.com/cseng/titles/0-201-89542-0/techniques/ www.cetus-links.org/oo_ooa_ood_methods.html UML www.rational.com/uml/index.jsp www.omg.org/uml www.cetus-links.org/oo_uml.html Padrões www.hillside.net/patterns/patterns.html www.cetus-links.org/oo_patterns.html © Nabor C. Mendonça 2001 * * Roteiro Conceitos básicos Aspectos econômicos da Engenharia de Software Introdução à APOO com UML e padrões Exercícios de modelagem e implementação Avaliação final © Nabor C. Mendonça 2001 * * Importância do Software Dependência generalizada da vida moderna em sistemas de computação O software é parte cada vez maior dos custos e do sucesso desses sistemas Produzir software é um atividade inerentemente complexa: independe de leis físicas, restrições de materiais e processos de manufatura Requer métodos disciplinados de desenvolvimento © Nabor C. Mendonça 2001 * * O que é um Software? Programas Arquivos de código Dados de configuração Arquivos de instalação e reconstrução Documentação Manuais do usuário Manuais do sistema Web sites Produto da Engenharia de Software © Nabor C. Mendonça 2001 * * O que é a Engenharia de Software? Uma disciplina de engenharia voltada para todos os aspectos da produção de software de qualidade Processos, modelos e metodologias de desenvolvimento Gerência de projeto Investigação de novos métodos, ferramentas e teorias Envolve a escolha seletiva de métodos e ferramentas adequados para o contexto (restrições) do sistema Abrange desde a especificação inicial do sistema até sua operação e manutenção © Nabor C. Mendonça 2001 * * Atributos de Qualidade de um Software Dependem da aplicação Relacionados com o comportamento (execução) do sistema e a organização de seus documentos e código fonte Atributos essenciais Manutenibilidade Confiabilidade Eficiência Usabilidade Outros atributos? © Nabor C. Mendonça 2001 * * Processo de Software Um processo de software é um conjunto estruturado de atividades (ou fases) necessárias para produzir um produto de software Especificação Projeto Implementação Validação Manutenção/Evolução Organizado segundo diferentes Modelos de Desenvolvimento © Nabor C. Mendonça 2001 * * Modelo de Desenvolvimento Representação abstrata das fases de um processo de software e suas interdependências Modelos genéricos Cascata (ou Clássico) Iterativo (ou Evolucionário) Espiral 4GL / Transformação formal Reuso de componentes Sincronização e estabilização (software para Internet) Programação extrema © Nabor C. Mendonça 2001 * * O Modelo Cascata Implementação Manutenção Validação Projeto Especificação © Nabor C. Mendonça 2001 * * Características do Modelo Cascata Abordagem sistemática e seqüencial Processo organizado em fases distintas e separadas Baseado nos processo convencionais de engenharia Requer especificação completa e bem entendida Dificulta a introdução de mudanças após o início do processo © Nabor C. Mendonça 2001 * * O Modelo Iterativo Especificação Desenvolvimento Validação Descrição Inicial Versões Intermediárias Versão Inicial Versão Final Atividades Concorrentes © Nabor C. Mendonça 2001 * * Características do Modelo Iterativo Ciclos de desenvolvimento Fases entrelaçadas Especificação evolui junto com o sistema Suporta requisitos parcialmente definidos Protótipo “descartável” (Throw-away prototyping) Jogar fora a primeira versão? Pode ser aplicado para partes do sistema Ex.: Interface do usuário © Nabor C. Mendonça 2001 * * Distribuição das Fases de Desenvolvimento nos Modelos Cascata e Iterativo Modelo Cascata Modelo Iterativo © Nabor C. Mendonça 2001 * * Metodologia de Desenvolvimento Uma metodologia de desenvolvimento é uma abordagem estruturada para a produção de software economicamente viável de alta qualidade APE (Ex.: DeMarco, Page-Jones, Gane-Sarson) APOD (Ex.: Jackson, Warnier-Orr) APOO (Ex.: Booch, OMT, OOSE) Todas baseiam-se na criação de modelos do sistema, os quais devem ser elaborados de acordo com um conjunto pré-definido de notações, regras e heurísticas © Nabor C. Mendonça 2001 * * Processo X Metodologia Processo: como planejar e organizar as fases de desenvolvimento Metodologia: como produzir os resultados (modelos do sistema) de cada fase Portanto, diferentes combinações de modelos e metodologias podem ser formadas Cascata + APOO Iterativo + Projeto Estruturado Cascata + Iterativo + APOO Combinação mais adequada depende de fatores organizacionais e econômicos! © Nabor C. Mendonça 2001
Compartilhar