Engenharia de Software Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu.br
Acompanhamento da Disciplina 1. Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software 2
Conteúdo da Aula Introdução à Engenharia de Software Definições Software Engenharia de Software Processo de Software Modelo de Processo de Software Custos na Engenharia de um Software Ferramentas CASE O que define um bom software? Desafios da Engenharia de Software Responsabilidade e ética 3
Introdução à Engenharia de Software Dependemos hoje em dia de sistemas complexos Informatizados! Produzir e manter software da maneira mais econômica Engenharia de software: reduzir custos, aumentar qualidade Softwares não possuem restrições físicas Podem crescer (e crescem) muito! 4
Introdução à Engenharia de Software 1968: conferência da Crise do Software Surgem os CI s Até o momento, softwares eram simples e pequenos Com os CI s, os softwares se tornam grandes Informalidade na produção de software era insuficiente atrasos em prazos custos altos dificuldade em manutenção baixo desempenho 5
Crise do Software de 1968 Custo do Software Custo do Hardware 6
O que é Software? Software é o programa de computador que estamos habituados a fazer? 7
O que é Software? SIM! Mas não só isso 8
O que é software? Software é tudo que é necessário para o programa funcionar corretamente e sua documentação associada Então software é: Os vários programas escritos Configurações Documentações do sistema Documentações do usuário 9
O que é software? Existem dois tipos básicos: Produtos genéricos (ou de prateleira) Produtos sob encomenda (ou personalizados) 10
O que é Engenharia de Software? Engenharia de Software é: Uma disciplina de engenharia Usa teorias seletivamente Foco na utilidade Relacionada a todos os aspectos da produção de software: Técnicas de desenvolvimento Gerenciamento Desenvolvimento de ferramentas para apoiar a produção de software 11
6 12
Ciência da Computação 7 13
Engenharia da Computação 8 14
Sistemas de Informação 9 15
Tecnologia da Informação 10 16
Engenharia de Software 11 17
Processo de Software São as atividades executadas para produzir um software Basicamente são: Especificação Desenvolvimento Validação Evolução 18
Modelo de Processo de Software Um modelo de processo de software é uma descrição simplificada do processo de software através de: Fluxo de trabalho Modelo de atividade Papéis e ações 19
Modelos de Processo de Software Principais modelos: Cascata Evolucionário Baseado em Componentes 20
21
Ferramentas CASE 22
Ferramentas CASE 23
Ferramentas CASE 24
Ferramentas CASE 25
Ferramentas CASE 26
Ferramentas CASE São tantas ferramentas que faltam mãos para usá-las! 27
O que define um bom software? Existem 4 características básicas de um bom software: Manutenabilidade Confiança Eficiência Usabilidade 28
Desafios da Engenharia de Software São três desafios básicos: Heterogeneidade (adaptabilidade) Entrega Confiança 29
Responsabilidade e Ética Algumas regras de boa produção de software não estão em leis ou normas Devemos usar o bom-senso para alguns aspectos: Confidencialidade Propriedade Intelectual Mau uso de computadores As duas maiores sociedades de computação possuem um código de ética 30
Alguma dúvida? 31
Fixação da Aula Leitura do capítulo 1 do Sommerville 32
Referências PRESSMAN, R. S. Software Engineering: A Practitioner's Approach. 6 Ed. McGraw Hill, 2005. 912p. SOMMERVILLE, I. Engenharia de Software. 8 Ed. Pearson, 2008. 552p. 33