engenharia de software - governança municipal de... · engenharia de software (cont.) foco na...

23
Engenharia de Software

Upload: dangdat

Post on 25-Jan-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Engenharia de Software

Roteiro

� Software� Evolução do Software� Engenharia de Software� Modelo Espiral

Software

Software

Definição� Conjunto de instruções que manipulam estruturas de dados

(informação)

Composição� Instruções – quando executadas produzem a função e o

desempenho desejado� Estruturas de dados – possibilitam que os softwares

manipulem adequadamente a informação� Documentos – descrevem a operação e o uso dos softwares

Software (cont.)

Considerações Importantes

� O software não se desgasta, mas se deteriora;

� A maioria é feita sob medida em vez de ser montado a partir de componentes existentes;

� Custo, adequação do prazo e qualidade são os principais responsáveis pela competitividade de um software.

Software (cont.)

Aplicações

� Comercial (Controle de estoque, etc ...)� Municipal (Contabilidade, Educação, Tributação, etc...)� Científica (Mapeamento de genoma, etc...)� Etc...

Evolução do Software

Evolução do Software

1ª Fase

� O Software era considerado um produto secundário� Hardware de propósito geral� Nenhum processo de engenharia de software

Evolução do Software (cont.)

2ª Fase

� Sistemas multi-usuários� 1ª Geração de SGBD’s� Software house / Bibliotecas de Software� Primeiras metodologias de análise de sistemas� Manutenção quase impossível

Evolução do Software (cont.)

3ª Fase

� Sistemas distribuídos� Redes locais e globais� Uso de microprocessadores � Hardware de baixo custo� Processo “maduros” para a engenharia de software

Evolução do Software (cont.)

4ª Fase

� Tecnologia Orientada a Objetos� Sistemas Especialistas (IA)� Internet� .....

Engenharia de Software

Engenharia de Software

Definição

� Área da informática que se preocupa com todos os aspectos da produção de software.

foco na qualidade

métodosprocesso

ferramentas

Engenharia de Software (cont.)

foco na qualidade

métodosprocesso

ferramentas

Instrumento

Dão suporte automatizado ou semi-automatizado ao processo e aos métodos; quando as ferramentas se integram tem-se um sistema denominado CASE (Computer Aided Software Engineering)

Engenharia de Software (cont.)

foco na qualidade

métodosprocesso

ferramentas

Como fazer

Engloba um conjunto de tarefas: análise de requisitos, projeto, construção de programas, teste e manutenção.

Engenharia de Software (cont.)

foco na qualidade

métodosprocesso

ferramentas

Fundação

É um conjunto de atividades e resultados associados que levam à produção de um produto de software.

Engenharia de Software (cont.)

foco na qualidade

métodosprocesso

ferramentas

Solo

O gerenciamento da qualidade produz uma mudança cultural que permite o desenvolvimento crescente de abordagens mais maduras para a ES.

Engenharia de Software (cont.)

Analise de Requisitos

Projeto

Codificação

Teste e Manutenção

Envolve a coleta de requisitos (Engenharia de Requisitos) mais intensificada e concentrada no software a ser desenvolvido

Tradução dos requisitos do software para um conjunto de representações

Tradução das representações em uma linguagem de programação

Efetua os testes, se necessário os diagnósticos e a correção de defeitos.

Métodos

Engenharia de Software (cont.)

� Seqüencial linear� Prototipação� Evolucionários

� Incremental� Espiral� Montagem de componentes� Desenvolvimento concorrente

Modelo de Processos

Modelo Espiral

Modelo Espiral (evolucionário)

Modelo Espiral (cont.)

� Planejamento: define recursos, referências de tempo e outras informações de projeto.

� Análise de Risco: levantamento de riscos técnicos e de gerenciamento.

� Engenharia: constrói uma ou mais representações da aplicação.

� Construção e release: constrói, testa, instala e dá suporte ao usuários (por exemplo: documentação e treinamento)

� Avaliação do cliente: obter feedback com base na representação do software criado durante a fase de engenharia e implementado na fase de construção.

Modelo Espiral (cont.)

� Atualmente, a abordagem mais realística;

� Desenvolvedor e cliente tem capacidade de entender e reagir aos riscos em cada etapa;

� Exige experiência na determinação de riscos e disso depende o sucesso do projeto.