Please enable JavaScript.
Coggle requires JavaScript to display documents.
Engenharia de Software 2º Bim - Coggle Diagram
Engenharia de Software
2º Bim
CICLO DE VIDA
Estrutura contendo processos, atividades e tarefas envolvidas no desenvolvimento, operação e manutenção de um produto de software.
Etapas do ciclo de vida (ROTEIRO)
PLANEJAMENTO
O escopo do software é estabelecido;
Criação de estimativas iniciais de recursos, custos e prazos.
ANÁLISE E ESPECIFICAÇÃO DE REQUISITOS
O escopo do software é refinado;
Mapear com muita clareza os objetivos do software;
Análise do domínio do problema e o domínio da solução.
PROJETO
Utiliza a faze anterior como insumo;
Fase voltada para o programador do software;
Definição de como seria a interface;
IMPLEMENTAÇÃO
Traduzir o projeto em um software utilizando ferramentas e linguagem adequada.
TESTES
Teste de unidade: componente testado individualmente
Teste de módulo: é um agrupamento de pequenos componentes com funções específicas
Teste de subsistemas: são testados módulos integrados que controlam as interfaces do sistema
Teste de sistema: testa a integração dos subsistemas que formam o sistema principal. Ex: teste de login
Teste de aceitação: testes realizados com dados
reais
fornecidos pelo usuário. Último teste antes de coloca-lo em operação.
ENTREGA E IMPLANTAÇÃO
Instalado em ambiente de produção
Envolve:
Treinamento de usuário;
Configuração do ambiente de produção;
Conversão da base de dados (se necessário) "migração de dados".
OPERAÇÃO
O cliente passa a interagir com a operação
MANUTENÇÃO
Corretiva: correção de erros encontrados pelo usuário que os testadores não identificaram ( as vezes erros criados pelo próprio usuário);
Adaptativa: Não previstas nos requisitos originais, visando melhoria de desempenho e novas funcionalidades;
Preventiva: A iniciativa parte da equipe de desenvolvedores, visando evitar erros futuros.
TIPOS DE MODELOS
PROTOTIPAÇÃO
Evolução do modelo anterior;
Modelo interativo;
Consiste em montar um sistema experimental (protótipo);
Protótipo serve como identificação de requisitos;
Etapas: Coleta e refinamento dos requisitos, projeto rápido, construção do protótipo, avaliação do protótipo pelo cliente, refinamento do protótipo, engenharia do produto.
Preocupações: Não conseguir finalizar o produto e sempre ficar no protótipo;
Coleta de refinamento de requisitos - Menor tempo, pois, pode ser feito um outro projeto rápido se caso tenha erros (circulo).
DESENVOLVIMENTO RÁPIDO
DE APLICAÇÃO - RAD
É o modelo Seq. Linear mas que enfatiza um desenvolvimento extremamente rápido;
"Alta velocidade" é por conta da construção de componentes;
Construção de comp - Entrega partes (módulos) do produto;
É apresentado partes do software e não os protótipos como no modelo anterior;
Cada módulo pode ser alocado a uma equipe distinta e depois serem integrados para formar um todo;
Criação e reutilização de componentes;
Etapas: Modelagem de negócio, modelagem dos dados, modelagem do processo, geração da aplicação e teste e modificação (cascata).
ESPIRAL
Evolução dos modelos anteriores;
Diferencial: Análise de riscos - auxilia para reduzir os riscos de erros;
Deixa o cliente experimentar o protótipo para que dessa forma, se possa continuar o projeto;
A espiral permanece operacional até que o software seja retirado de serviço;
Etapas: Comunicação, Planejamento (análise de riscos, cronograma), modelagem (análise), construção (codificação, teste), emprego (entrega, feedback).
INCREMENTAL
Evolução dos modelos anteriores;
Entrega uma série de versões chamadas de incrementos;
Primeiro incremento (núcleo do produto); requisitos básicos são satisfeitos, mas características complementares deixam de ser elaboradas;
Modificação do núcleo do produto para melhor satisfazer o cliente com funcionalidades adicionais, esse processo é repetido até o produto se completar (incrementando o núcleo);
Etapas: Levantamento de requisitos, análise de requisitos, projeto, implementação, testes e implantação, (Forma de 'S').
DESENVOLVIMENTO FORMAL DE SISTEMAS
Evolução dos modelos anteriores;
Software científico;
Transformação matemática formal de uma especificação de sistemas em um programa executável;
Etapas: Definição de req, especificação formal, transformação formal e integração e restes de sistemas.
Ex: Controle de tráfego aéreo, sinalização de estradas de ferro, naves espaciais.
DESENVOLVIMENTO ORIENTADO A REUSO
Reuso de softwares
SEQUENCIAL LINEAR
(CASCATA)
Criado em 1970;
A etapa deve ser concluída para dar continuidade no projeto;
Etapas: Análise de requisitos, projeto de software, implementação, testes, implantação e manutenção;
Se der algum erro no meio do projeto volta no início (análise de requisitos).
Etapas para desenvolvimento do Software
Edificação da regra de negócio
Identificação do levantamento de requisitos
Identificação da área de aplicação
Identificação do modelo de desenvolvimento
Processo de Software (Roteiro para criar um Software)
Roteiro para criar um Software
Uma série de passos (Roteiro)
Para criar em tempo um software de alta qualidade, sem estourar o orçamento.
Como "escolher" um processo?
Entender as características da aplicação (domínio do problema, tamanha, complexidade, etc.);
Conhecer a tecnologia a ser adotada na sua construção (paradigma de desenvolvimento, linguagem de programação, mecanismo de persistência, etc. ), a organização;
Saber onde o produto será desenvolvido;
Saber o perfil da equipe de desenvolvimento.
Modelo Tradicional
1º modelo criado;
Prioriza a documentação;
Normalmente voltado para grandes projetos;
Cliente é importante na análise de requisitos e aprovação do produto;
Extenso de desenvolvimento;
Possui etapas que devem ser seguidas;
Só faz sentindo quando o projeto estiver 100% concluído;
Requisitos bem definidos e estáveis;
Modelo Ágil
Cliente essencial em todo o projeto
Interativo e incremental
Rápido e flexível
"Quebrado" por módulos
Para softwares modernos