Engenharia e Qualidade de Software Ciência da Computação Professor Gabriel Baptista (gabriel.baptista@uninove.br) 2009 Para começar! Horário 19:15 às 23:00 Intervalo 20:50 às 21:15 Avaliações: ((A1 ou A2) + A3 + A4) / 3 >= 6 A1 = Prova A2 = Trabalho com Apresentação de Resultados A3 = Integrada A4 = Trabalho com Apresentação de Resultados Discussão Inicial O que vocês entendem por: 1. Engenharia de Software? 2. Qualidade de Software? Ementa do Curso Produto e processo de software. Visão geral da Engenharia de Software. Paradigmas de Desenvolvimento de Software. Modelos de desenvolvimento: clássico, prototipação e evolucionários. Aspectos gerais das etapas do processo de desenvolvimento. Qualidade de Software. Conceito de qualidade de software. Normas de qualidade do produto de software. Normas de qualidade do processo de software. Melhoria de processo de software. Objetivos do Curso Apresentar os conceitos de engenharia de software. Apresentar os conceitos de melhoria de processos de software. Apresentar os vários modelos de qualidade focados em produtos e processos. Detalhar o modelo CMMI (Capability Maturity Model Integration). Conteúdo Programático Introdução sobre a Engenharia de Software Produto e Processo de Software Paradigmas para desenvolvimento de software Engenharia de Sistemas Melhores práticas para Engenharia de Software Requisitos Métricas Garantia da Qualidade de Software ISO 9001, 12207 e 15504 CMMI MPS.Br Testes de Software 1
Bibliografia E agora? BIBLIOGRAFIA BÁSICA: Pressman, Roger.: Engenharia de software / Roger Pressman ; tradução de José Carlos Barbosa dos Santos ; revisão técnica Paulo Cesar Masiero, José Carlos Maldonado, Rosely Sanches. São Paulo Makron Books 1995. Sommerville, Ian.: Engenharia de software / Ian Sommerville ; tradução de Maurício de Andrade ; revisão de Kechi Hirama. São Paulo Editora Addison Wesley 2003. Bartié, Alexandre.Garantia da qualidade de software / Alexandre Bartié. Rio de Janeiro Elsevier 2002. O que vocês imaginam que irá acontecer após esta disciplina? BIBLIOGRAFIA COMPLEMENTAR: Maldonado,J. C. [et al]. Qualidade de Software - Teoria e Prática. 1ª edição, Ed. Prentice Hall, 2001 KOSCIANSKI, A. Qualidade de Software, Editora Novatec, 2007 Engenharia de Software - Professor Gabriel Baptista Um pouco de História... 1968 e a Crise do Software: O início: - Desenvolvimento informal - Necessidades pessoais... e começam as evoluções... - Hardware potente - Redes locais (cliente - servidor) - Internet - Dispositivos móveis... novos conceitos a serem aplicados! - Software Houses - Fábricas de Software - Modelos de Processo - Qualidade de Software Para hoje: - Termos software em todas as empresas e cada vez mais em todas as residências: - Lidamos com software o tempo inteiro - Votamos através do software - Lemos e estudamos com auxílio de software 2
Mas... A CRISE DO SOFTWARE PERSISTE! Algumas perguntas: Vocês conhecem algum prédio construído sem planta? Algum remédio sem fórmula? Carro sem manual? Algumas perguntas: E software sem documentação? Como resolver? ENGENHARIA DE SOFTWARE Mas afinal... 1. O que é software? 2. O que é Engenharia de Software? 3. Qual é a diferença entre Software e Sistema? 4. O que é um processo de software? 5. O que é um modelo de processo de software? 6. Quais os desafios enfrentados pela Engenharia de Software? 7. Quais os atributos de um bom software? O que é software? - Documentação - Programas de Computador - Arquivos de Ajuda - Instalação 3
O que é Engenharia de Software? Disciplina da engenharia que se ocupa de todos os aspectos da produção de software (SOMMERVILLE, 2003) Software x Sistema Software + Hardware + Processo = SISTEMA O que é um processo de software? Atividades documentadas e executadas, com o propósito de desenvolvimento de um software, que podem ser reproduzidas e evoluídas em um novo desenvolvimento. E o modelo? a) ( ) Desenho que representa determinado processo b) ( ) Conceito que deve ser seguido por um processo, sendo o último uma adaptação do primeiro c) ( ) Projeto d) ( X ) Todas as alternativas anteriores e) ( ) Não tenho a menor idéia!! Quais os desafios enfrentados pela Engenharia de Software? - Custo - Qualidade - Prazo - Pessoas - Funcionalidades Pessoas Funcionalidades Qualidade Atributos de um bom software: - Funcional - Fácil manutenção (Manutenabilidade) - Confiável (Confiabilidade) - Seguro - Fácil uso (Usabilidade) Prazo Custo 4
Obrigado! 5