Please enable JavaScript.
Coggle requires JavaScript to display documents.
Engenharia de Software :rocket:, logo, Jonathan Raphael - Coggle Diagram
Engenharia de Software
:rocket:
Requisitos de software
Análise e negociação dos requisitos
Atividades envolvidas
Classificação
Resolução de conflitos
Priorização
Confirmação
Dificuldades
Fatores externos
Ambiente
Negociações
Evitar embates pessoais
Justificação das posições tomadas
Encontrar e salientar os benefícios da solução
Relaxar restrições
Especificação e documentação
Requisitos de usuário
Requisitos de sistema
Design da aplicação
Documento de Especificação de Requisitos
Clientes
Gestores
Engenheiros desenvolvedores e programadores
Engenheiros de testes
Engenheiros de manutenção
Validação
Validade
Consistência
Compreensibilidade / Ambiguidade
Completude
Realismo
Verificabilidade
Rastreabilidade
Adaptabilidade
Conformidade com normas
Técnicas de validação
Revisão dos requisitos
Prototipação
Geração de casos de teste
Análise de consistência automática
Estudos de viabilidade
Técnica
Financeira
Técnicas para levantamento de requisitos
Entrevistas e Questionários
Workshops de requisitos
Cenários
Prototipagem
Estudo etnográfico
Surveys
JAD
Story boarding
Gestão de requisitos
Identificação de requisitos
Processo de gestão de mudanças a utilizar
Rastreabilidade
Ferramentas a utilizar
Análise do problema e especificação da alteração a fazer
Análise da alteração e seu impacto
Implementação da alteração
Projeto de software
Definição da arquitetura do software
Definição dos componentes de software
Propriedades externas
Relacionamentos
Documentação da arquitetura do software
Comunicação entre os stakeholders
Registra as decisões iniciais
Permite o reuso do projeto dos componentes e padrões entre projetos
Linguagem de descrição de arquitetura
Wright
Acme
xADL
Darwin
DAOP-ADL
Visões
Funcional/lógica
Código
Desenvolvimento/estrutural
Concorrência/processo
Física/evolutiva
Ação do usuário/retorno
Padrões de arquitetura
DODAF
MODAF
TOGAF
Zachman framework
Federal Enterprise Architecture
Exemplos de arquitetura de software
Cliente-Servidor
Computação distribuída
P2P
Quadro Negro
Criação implícita
Pipes e filtros
Plugin
Aplicação monolítica
Modelo em três camadas
Analise de sistema estruturada
Arquitetura orientada a serviço
Arquitetura orientada a busca
MVC
Ferramentas
Design por contrato
Model Driven Architecture (MDA)
Model Driven Design (MDD)
Design Patterns
Padrões de criação
Abstract Factory
Builder
Prototype
Object pool
Factory Method
Singleton
Padrões estruturais
Private class data
Adapter
Bridge
Composite
Decorator
Facade
Business Delegate
Flyweight
Proxy
Padrões comportamentais
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Refatoração
Extrair Classe
Encapsular Atributo
Mover Atributo
Renomear Método
Mover Método
Causas
Má indentação
Classe grande
Código duplicado
Método longo
Lista de parâmetros longa
Extrair Método
Subir Método
Subir Atributo
Descer Método
Descer Atributo
Extrair Sub-classe
Extrair Super-classe
Gerência de configuração de software
Controle de versão
Git
TFS
Mercurial
Subversion
CVS
Controle de mudança
Versionamento
Conjunto de mudanças
Cópia de trabalho
Sincronização de mudanças concorrentes
Diferentes versões de projeto
Auditoria das configurações
Física
Confirmar a consistência do design e/ou documentação do usuário com o código
Identificar a baseline a ser implantada
Confirmar que todos os artefatos necessários
Funcional
Relatório
Confirmar que cada requisito passou por um ou mais testes
Gerar uma lista das CRs estabelecidas para essa baseline
Reportar descobertas
Identificar ações corretivas
Artefatos ausentes
Requisitos não testados ou reprovados no teste
CRs em aberto
Ação corretiva
Construção de software
Codificação
Depuração
Metodologias
Desenvolvimento ágil
Integração contínua
Desenvolvimento incremental
Desenvolvimento em espiral
Desenvolvimento em cascata
Prototipagem
Tentativas de reduzir o risco
O cliente está envolvido durante todo o processo de desenvolvimento
Teste de software
Técnicas
Caixa-branca
Caixa-preta
Caixa-cinza
Regressão
Não funcionais
Tipos
Teste de unidade
Teste de integração
Teste de sistema
Teste de aceitação
Teste de operação
Teste de regressão
O Ciclo de Vida dos Testes
Planejamento
Preparação
Especificação
Execução
Entrega
Manutenção de software
Mudanças no software
Corrigir defeitos
Corrigir deficiências
Novas funcionalidades
Melhorar a aplicabilidade do software
Melhorar a usabilidade do software
Cenários
Testes ineficazes
Gaps de conhecimento técnico
Falhas nos mecanismos de comunicação entre os membros da equipe
Falta de ferramentas apropriadas
Técnicas
Separação estática
Registrados em um documento problemas conhecidos
Manutenção Corretiva
Identificar erros
Corrigir erros
Manutenção Adaptativa
Adaptar o Software ao ambiente
Manutenção Perfectiva
Atender Pedidos do Usuário para Modificar
Funções Existentes
Incluir Novas Funções
Efetuar Melhoramentos Gerais
Manutenção Preventiva
Melhorar a manutenibilidade
Melhorar confiabilidade futuras
Melhorar fornecer uma base
melhor para futuros melhoramentos
Gerência de engenharia de software
Planejamento
Análise Econômica
Organização do projeto
Estruturação das tarefas
Cronograma do projeto
Análise e gestão de risco
Estimativa de custos
Análise de requisitos
Requisitos de negócio
Requisitos das partes interessadas
Requisitos da solução
Requisitos funcionais
Requisitos não funcionais
Requisitos da transição
Requisitos funcionais
Requisitos não funcionais
Estudo de Viabilidade
Gestão
Pessoal
Produto
Processo
Projeto
Material
Processos de Engenharia de Software
Artefatos
Pessoas
Produtos de entrada
Produtos de saída
Prazos
Recursos
Restrições
Agentes
Ferramentas
Estruturas organizacionais
Ferramentas e Métodos de Engenharia de Software
IDE
Depuração
Geração de código
Modelagem
Análise estruturada
Análise Essencial
UML
Deploy
Testes não automatizados
Testes automatizados
Refatoração
Gestão de Riscos
Prototipagem
Metodologia Estruturada
Análise Estruturada
Projeto Estruturado
Programação Estruturada
Análise Essencial
SADT
Diagrama de Fluxo de Dados
Modelo de Entidades e Relacionamentos
Metodologia Orientada a Objetos
Orientação a Objetos
IRUP (IBM Rational Unified Process)
Desenvolvimento ágil de software
Feature Driven Development ( FDD )
Enterprise Unified Process (EUP)
Scrum
Crystal
XP
Qualidade de software
Considerações práticas
Requisitos de qualidade de software
Caracterização de defeitos
Técnicas de gerência de qualidade de software
Medidas de qualidade de software
Ferramentas de Qualidade de Software
Apoio a revisões e inspeções
Apoio a análise de riscos de segurança
Rastreamento de problemas
Análise de dados
Processos de gerência de qualidade de software
Garantia de qualidade de software
Verificação e validação
Revisões e auditorias
Fundamentos de qualidade de software
Cultura e ética de engenharia de software
Valores e custos de qualidade
Modelos e características de qualidade
Melhoria da qualidade de software
Segurança de Software
Jonathan Raphael