Please enable JavaScript.
Coggle requires JavaScript to display documents.
Ciclo de Vida do Software - Coggle Diagram
Ciclo de Vida do Software
Levantamento de Requisitos
Requisitos de usuário
Versão resumida dos requisitos
Requisitos de sistema
Versão detalhada dos requisitos de usuário apontados
Requisitos Funcionais
Declarações dos serviços que o sistema deve fornecer
Requisitos Não Funcionais
Restrições sobre serviços ou funções oferecidas pelo sistema
-Se aplicam frequentemente ao sistema como um todo
Modelagem de Sistemas
Perspectivas
Externa -> se modela o contexto ou o ambiente do sistema
Interação -> são modeladas as interações entre um sistema e seu ambiente
Estrutural -> se modela a organização de um sistema e a estrutura de dados
Comportamental -> são modelados o comportamento dinâmico do sistema e o modo como ele responde aos eventos
Engenharia dirigida por modelos
Abordagem para desenvolvimento na qual modelos são saídas principais do processo
Programas que executam em uma plataforma de hardware/software são gerados automaticamente a partir dos modelos
Arquitetura dirigida por modelos
Recomenda que três tipos de modelo sejam produzidos:
Modelo independente de computação (CIM)
Modelo independente de plataforma (PIM)
Modelos de plataforma específica (PSM)
Projeto de Arquitetura
Escolha do estilo de arquitetura depende dos requisitos não funcionais
Desempenho
Segurança da informação (security)
Segurança (safety)
Disponibilidade
Manutenibilidade
Padrões de Arquitetura
MVC
Modelo-visão-controlador
Separa a apresentação e a interação dos dados do sistema
Utilizado quando há várias maneiras de visualizar e interagir com os dados.
Permite alteração de dados independente da representação
Pode envolver mais código quando a aplicação é simples
Camadas
Organiza o sistema em camadas, com funcionalidade associada a cada uma
Utilizado quando se cria novos recursos em cima de sistemas existentes
Permite substituição de camadas inteiras, contanto que a interface seja mantida
Na prática, muitas vezes, é difícil proporcionar uma separação clara entre as camadas
Repositório
Todos os dados em um sistema são gerenciados em um repositório central que é acessível a todos os componentes.
Usado em sistemas no qual são gerados grandes volumes de informação
Componentes podem ser independentes
O repositório é um único ponto de falha
Cliente-servidor
Sistema representado como um conjunto de serviços, e cada serviço fornecido por um servidor separado
Clientes são usuários desses serviços e acessam os servidores para usá-los
Duto e Filtro
Processamento de dados em um sistema é organizado de modo que cada componente (filtro) é discreto e executa um tipo de transformação de dados. Os dados fluem (duto) de um componente para o outro para serem processados
Projeto e Implementação
Teste de Sistema
Manutenção
Reparo de defeitos para corrigir bugs e vulnerabilidades
Adaptação do ambiente para melhor adaptar o software a novas plataformas e ambientes
Acréscimo de funcionalidades para adicionar novas características e apoiar novos requisitos
Teste de desenvolvimento
Teste de unidade, são testadas unidades de programas ou classes individuais.
Teste de componente, em que varias unidades são integradas, criando componentes compostos.
Teste de sistemas, onde todos os componentes em um sistema são integrados e o sistema é testado como um todo.
Teste de lançamento
O time de desenvolvimento de sistema não deve ser responsável pelo teste de lançamento.
O teste de lançamento é o processo de conferir a validade para garantir que um sistema cumpra seus requisitos e seja bom o bastante para ser usado pelos clientes do sistema.
Teste baseado em requisitos
O teste baseado em requisitos é uma validação, não um teste de defeitos, o objetivo é demonstrar que o sistema implementou seus requisitos corretamente.
Teste de desempenho
O teste de desempenho se preocupa tanto em mostrar que o sistema cumpre os requisitos quanto em descobrir problemas e defeitos no sistema.
1 more item...
Uso da UML
Compreender e definir o contexto
Projetar a arquitetura do sistema
Identificar objetivos principais
Desenvolver modelos de projeto
Especificar interfaces
Modelos Estruturais
Descrevem a estrutura estática do sistema usando classes e seus relacionamentos
Modelos Dinâmicos
Descrevem a estrutura dinâmica do sistema e mostram as interações previstas em tempo de execução entre objetos do sistema
Tipos de Modelos
Modelos de subsistema -> agrupamentos lógicos de objetos
Modelos de sequência -> sequência de interações
Modelos de máquinas de estados -> como os objetos mudam seu estado em resposta ais eventos
Aspectos da Implementação
Reúso -> reusar componentes pré-existentes
Gerenciamento de configuração -> versões diferentes de cada componente
Desenvolvimento host-target -> software de produção não-executado no mesmo computador de desenvolvimento do software