Mind map
Engenharia de Software
Map content
Engenharia de Software
INTRODUÇÃO À ENGENHARIA DE SOFTWARE
- SIGNIFICADO E IMPORTÂNCIA DA ENGENHARIA DE SOFTWARE
- Crise do software o 1970 – ES praticamente não existia. o Economias das nações desenvolvidas são dependentes de software. o Cada vez mais sistemas são controlados por software.
- ES se dedica às técnicas, métodos e ferramentas para desenvolvimento de software profissional. • Em geral, software custa mais que hardware. • Manter um software custa mais que desenvolvê-lo. • ES dedica-se ao desenvolvimento de software com custos adequados
- Crise do software o 1970 – ES praticamente não existia. o Economias das nações desenvolvidas são dependentes de software. o Cada vez mais sistemas são controlados por software.
- O QUE É SOFTWARE?
- PROGRAMAS DE COMPUTADOR E ARTEFATOS ASSOCIADOS
- PODEM SER GENÉRICOS OU PERSONALIZADOS
- PODE SER CRIADO POR MEIO DE DESENVOLVIMENTO, CONFIGURAÇÃO E REUTILIZAÇÃO
- PODEM SER GENÉRICOS OU PERSONALIZADOS
- PROGRAMAS DE COMPUTADOR E ARTEFATOS ASSOCIADOS
- O QUE É ENFENHARIA DE SOFTWARE?
- RELACIONADA COM TODOS OS ASPECTOS DA PRODUÇÃO DE SOFTWARE
- PROPÕE FERRAMENTAS, TÉCNICAS E PROCESSOS
- LEVA EM CONTA RESTRIÇÕES DE DESENVOLVIMENTO E RECURSOS DISPONÍVEIS
- PROPÕE FERRAMENTAS, TÉCNICAS E PROCESSOS
- RELACIONADA COM TODOS OS ASPECTOS DA PRODUÇÃO DE SOFTWARE
- O QUE É PROCESSO DE SOFTWARE?
- Conjunto estruturado de atividades, práticas, artefatos e ferramentas necessário para o desenvolvimento de um sistema de software. • Especificação • Projeto • Validação • Evolução
- Exemplos • Cascata • Processo Unificado (RUP) • eXtreme Programming
- Conjunto estruturado de atividades, práticas, artefatos e ferramentas necessário para o desenvolvimento de um sistema de software. • Especificação • Projeto • Validação • Evolução
- O QUE É UM MODELO DE PROCESSO DE SOFTWARE?
- Representação simplificada de um processo de software, apresentado sob uma perspectiva específica. • Cascata, desenvolvimento iterativo, engenharia de software baseada em componentes. • Os modelos não são necessariamente excludentes. • Modelo de workflow, modelo de fluxo de dados, modelo de papel/ação
- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
- ATIVIDADES PROCEDIMENTOS ARTEFATOS FERRAMENTAS
- MODELO CASCATA
- DEFINIÇÃO DE REQUISITOS PROJETO DE SISTEMA E SOFTWARE IMPLEMENTAÇÃO E TESTE UNITÁRIO INTEGRAÇÃO E TESTE DE SISTEMA OPERAÇÃO E MANUTENÇÃO
- ES BASEADA EM COMPONENTES
- Baseado em reúso sistemático, no qual sistemas são integrados a partir de componentes existentes. • Estágios do processo: o Análise de componentes. o Modificação de requisitos. o Projeto de sistema com reúso. o Desenvolvimento e integração. • Esta abordagem está se tornando cada vez mais usada à medida que padrões de componentes têm surgido.
- PROCESSOS ITERATIVOS
- Requisitos de sistema sempre evoluem no curso de um projeto. • Abordagem iterativa pode ser aplicada a qualquer um dos modelos genéricos do processo. • Duas abordagens (relacionadas): o Entrega incremental. o Desenvolvimento espiral.
- DESENVOLVIMENTO INCREMENTAL
- DEFINIR ESBOÇO DE REQUISITOS ATRIBUIR REQUISITOS AOS INCREMENTOS PROJETAR ARQUITETURA DO SISTEMA DESENVOLVER INCREMENTO DO SISTEMA VALIDAR INCREMENTO INTEGRAR INCREMENTO VALIDAR SISTEMA Sistema completo? IMPLANTAR INCREMENTO SISTEMA FINAL
- MODELO ESPIRAL DO PROCESSO DE SOFTWARE
- PROCESSO UNIFICADO
- É um processo baseado na UML. o Tenta cobrir todos os aspectos do desenvolvimento de software. • Fortemente focado na documentação do sistema. • Normalmente, descrito a partir de três perspectivas. o Dinâmica: mostra as fases ao longo do tempo. o Estática: mostra atividades de processo. o Prática: sugere bons princípios e práticas de desenvolvimento
- MODELO CASCATA
- MÉTODOS ÁGEIS
- ENVOLVIMENTO DO CLIENTE ENTREGA INCREMENTAL PESSOAS, NÃO PROCESSOS ACEITAR MUDANÇAS MANTER A SIMPLICIDADE
- ATIVIDADES PROCEDIMENTOS ARTEFATOS FERRAMENTAS
- SIGNIFICADO E IMPORTÂNCIA DA ENGENHARIA DE SOFTWARE
GERENCIAMENTO DE PROJETOS E REQUISITOS
- O desenvolvimento de software sempre está sujeito às restrições de orçamento e cronograma.
- ASPECTOS COMUNS DE GERENCIAMENTO
- Muitas atividades não são específicas do gerenciamento de software. • Muitas técnicas de gerenciamento de projetos de engenharia são também aplicáveis ao gerenciamento de projetos de software. • Sistemas de engenharia tecnicamente complexos tendem a sofrer os mesmos problemas que sistemas de software
- RECURSOS HUMANOS DO PROJETO
- PESSOAS IDEAIS ORÇAMENTO INDISPONIBILIDADE DE PESSOAS EXPERIÊNCIA APROPRIADA HABILIDADES RESTRIÇÕES FALTA INTERNACIONAL
- RECURSOS HUMANOS DO PROJETO
- Muitas atividades não são específicas do gerenciamento de software. • Muitas técnicas de gerenciamento de projetos de engenharia são também aplicáveis ao gerenciamento de projetos de software. • Sistemas de engenharia tecnicamente complexos tendem a sofrer os mesmos problemas que sistemas de software
- ASPECTOS COMUNS DE GERENCIAMENTO
- Planos de projetos
- de qualidade: Descreve os procedimentos para teste de qualidade que serão utilizados em um produto.
- Descreve a abordagem, os recursos e os métodos utilizados para a validação do sistema.
- de validacao: Descreve a abordagem, os recursos e os métodos utilizados para a validação do sistema.
- gerenciamento da configuracao: Descreve os procedimentos de gerenciamentos e as estruturas a serem utilizadas.
- de manutencao: Prevê os requisitos de manutenção do sistema, os cursos de manutenção e o esforço necessário.
- Estrutura do plano de projeto
- Introdução Organização do projeto Análise de risco Requisitos de recursos de hardware e software Estrutura analítica Programação do projeto Mecanismos de monitoramento e de elaboração de relatórios
- O QUE SÃO REQUISITOS DE SOFTWARE?
- Definem o que é solicitado ao software fazer e com quais limitações ele é requisitado a operar
- O desenvolvimento de software sempre está sujeito às restrições de orçamento e cronograma.
DIAGRAMA DE CASOS DE USO E ESPECIFICAÇÃO DE CASOS DE USO
- A qualidade do software é diretamente proporcional à habilidade em se definir o problema e especificar funções a automatizar. • A análise de requisitos será a base para a modelagem, implementação, testes e validações do sistema.
- UML (Unified Modeling Language): estabelece um conjunto de modelos visuais que auxiliam na tarefa de analisar e documentar requisitos de sistemas de diferentes perspectivas.
- UML DIAGRAMA DE CASOS DE USO DIAGRAMA DE OBJETOS DIAGRAMA DE CLASSES DIAGRAMA DE SEQUÊNCIA DIAGRAMA DE ESTADOS DIAGRAMA DE COLABORAÇÃO DIAGRAMA DE IMPLANTANÇÃO DIAGRAMA DE ATIVIDADES DIAGRAMA DE COMPONENTES E OUTROS
- DIAGRAMA DE CASOS DE USO • São especialmente importantes na organização e modelagem das principais funcionalidades de um sistema. • Facilita o entendimento de um sistema mostrando sua “visão externa”. • São usados para modelar o contexto de um sistema. • É uma forma de documentar os requisitos do sistema.
- UML DIAGRAMA DE CASOS DE USO DIAGRAMA DE OBJETOS DIAGRAMA DE CLASSES DIAGRAMA DE SEQUÊNCIA DIAGRAMA DE ESTADOS DIAGRAMA DE COLABORAÇÃO DIAGRAMA DE IMPLANTANÇÃO DIAGRAMA DE ATIVIDADES DIAGRAMA DE COMPONENTES E OUTROS
- UML (Unified Modeling Language): estabelece um conjunto de modelos visuais que auxiliam na tarefa de analisar e documentar requisitos de sistemas de diferentes perspectivas.
- A qualidade do software é diretamente proporcional à habilidade em se definir o problema e especificar funções a automatizar. • A análise de requisitos será a base para a modelagem, implementação, testes e validações do sistema.
HISTÓRIAS DE USUÁRIOS, ANÁLISE DO PROBLEMA E QUALIDADE EM SOFTWARE
- HISTÓRIAS DE USUÁRIOS • É uma forma de especificação de requisitos muito utilizada na prática ágil de desenvolvimento de software . • Descreve funcionalidades (Requisitos) que os usuários do projeto gostariam de ter em seu produto.
- EXEMPLO: Como um operador do hotel, quero estabelecer ótimas taxas para os quartos para maximizar meus ingressos.
- KANBAN: Sistema visual para gerenciamento do processo. • Produtos, desenvolvimento de softwares etc.
- analise do problema: • Definição do problema. • Entender a causa raiz do problema. • Identificar os usuários e outros stakeholders. • Definir a fronteira da solução. • Identificar as restrições impostas à solução
- 5 PORQUES EXEMPLO: RADIADOR DO CARRO Definição do problema: Lâmpada de temperatura no painel acendeu 1. Por quê? Porque o motor esquentou. 2. Por quê? Porque o nível de água do radiador estava baixo. 3. Por quê? Porque a água pode ter vazado por algum lugar. 4. Por quê? Porque há uma pequena trinca no radiador que permite a perda de água. 5. Por quê? Porque uma semana atrás, na estrada, uma pedra se soltou do asfalto e fez um pequeno dano na proteção do radiador, atingindo-o. Contra medida: Substituir o radiador e arrumar/reforçar a proteção frontal.
- EXEMPLO: Como um operador do hotel, quero estabelecer ótimas taxas para os quartos para maximizar meus ingressos.
- • A qualidade do produto está diretamente relacionada à qualidade do processo de desenvolvimento.
- HISTÓRIAS DE USUÁRIOS • É uma forma de especificação de requisitos muito utilizada na prática ágil de desenvolvimento de software . • Descreve funcionalidades (Requisitos) que os usuários do projeto gostariam de ter em seu produto.
Information
- Description
- Mind Map on Engenharia de Software, created by Gabriel Sartori on 24/11/2020.
- Created by
- Gabriel Sartori
- Views
- 0
- Rating