Engenharia de Software
Computadorização: Projetos
Necessidades
Análise de
Sistemas
Projeto de
Hardware
Projeto de
Software
Projeto
Administrativo
Integração
Sistema
Computadorizado
Engenharia de Software
• Disciplina que se ocupa de todos os aspectos da produção de software, desde a especificação até a manutenção
(Sommerville, 2001)
• Criação e utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe eficientemente em máquinas reais
(Pressman, 2001)
• Aplicação de abordagem sistemática, disciplinada e quantificável, para o desenvolvimento, operação e manutenção de software (IEEE, 1993)
Domicílio dos Sistemas de Software
Sistemas
Computadorizados
Sistemas de Informação
Sistemas de
Software
Processos Fundamentais
Processos Custodiais
Ambiente Sistêmico
Atributos de um bom Software
•
•
•
•
•
•
•
Desempenho (ponto de vista do usuário)
Eficiência (ponto de vista do sistema)
Segurança
Robustez
Facilidade de manutenção
Confiável
Ergonomia (facilidade de uso)
Desenvolvimento de Software
Iterativo Interativo Incremental
Técnicas para:
• Abordar o domínio da Aplicação
• Abstrair o modelo conceitual e criar sua representação
• Efetuar transformações entre representações até obter o produto final Processo de Software
• Estrutura a partir da qual um plano de desenvolvimento de software pode ser desenvolvido • Deve contemplar atividades de especificação, desenvolvimento, validação e manutenção do software
Razões para Organizar o Processo
•
•
•
•
Gerenciamento da complexidade
Comunicação entre os envolvidos
Redução dos custos de desenvolvimento
Predição do comportamento futuro do sistema Estrutura de Modelos de
Processo de Software
Diagrama de Sequenciamento de Fases do Modelo de Processo
Fases do Modelo de Processo
Atividade
Tarefas
Marcos de Controle, Produtos
Pontos de