¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

Engenharia de Software

Pedro Marchi Engenharia de Software Graduação Portugués

Contenido del mapa

Engenharia de Software

  1. Conceitos de Projeto de Software

    • Modelo de Projeto: detalhes sobre a arquitetura de software, estrutura de dados, interfaces e componentes fundamentais. Basicamente "como" os requisitos devem ser implementados no software
    • Realizado pelos engenheiros de software, e ao final também avaliado por eles
    • Importante para se poder avaliar o software futuro e aperfeiçoa-lo
    • Etapas:
      • Representar arquitetura
      • Modelar Interfaces que conectam o software aos usuários, a outros sistemas e dispositivos
      • Projetar os componentes
    • Princípios de um software de boa qualidade
      • Solidez: não ter bugs graves
      • Comodidade: o programa deve ser adequado aos propósitos p/ qual ele foi projetado
      • Deleite: a experiência do usuário deve ser prazerosa
  2. Projeto no Contexto de Engenharia de Software

    • Do projeto se derivam:
      • Um projeto de dados/classes
        • Transforma os modelos de classes em classes de projeto e em estruturas de dados dos requisitos para implementar o software
      • Um projeto de arquitetura
        • Define as relações entre os principais elementos estruturais do software
      • Um projeto de interfaces
        • Descreve como o software se comunica com sistemas que operam em conjunto e com os usuários
      • Um projeto de componentes
        • Transforma elementos estruturais da arquitetura em uma descrição procedural dos componentes de software
    • Sem um projeto se software, temos um software que:
      • Falhará quando forem feitas pequenas alterações
      • Difícil de ser testado
      • Cuja qualidade não pode ser avaliada até um estágio avançado do desenvolvimento
  3. O Processo de Projeto

    • Características de um bom projeto
      • O projeto deve implementar todo s os requisitos do modelo de requisítos, e conter os requisítos implícitos desejados pelos envolvidos
      • O projeto deve ser legível para todos os que irão ter contato com o código
      • O projeto deve dar uma visão completa do software
    • Atributos de qualidade de um projeto de software
      • Funcionalidade: capacidade do programa e a segurança do sistema
      • Usabilidade: facilidade de uso, estética e documentação
      • Confiabilidade: poucas falhas
      • Desempenho: velocidade de processamento, tempo de resposta, consumo de recursos
      • Facilidade de Suporte: extensividade, adaptabilidade e reparabilidade
  4. Conceitos de Projeto

    • Abstração
      • Abstração procedural: etapas do processo
      • Abstração de dados: Dados da situação
    • Arquitetura
      • Modelos de arquitetura: estrutural, framework, dinâmico, processo, funcional
    • Padrão de projeto
    • Separação por interesses: dividir para conquistar
    • Modularidade: software dividido em partes independentes
      • Encapsulamento: somente informações necessárias são compartilhadas entre um módulo e outro
      • Coesão: indica o quanto o módulo se concentra em fazer apenas uma coisa. META: auta coesão
      • Acoplamento: indica a interdependência entre os módulos. META: baixo acoplamento
    • Classes de projeto
      • Interfaces do usuário
      • Domínio de negócio
      • Processos
      • Persistentes
      • Sistema
      • Características de uma classe de projeto bem formada:
        • Completa e suficiente
        • Primitivismo: um único método para a classe fazer uma mesma coisa
        • Alta coesão
        • Baixo acoplamento
    • Refinamento: conceito complementar ao de abstração, esse conceito foca em revelar os detalhes menores do projeto
  5. O Modelo de Projeto

    • Geralmente utiliza UML para representar
      • Modelos de subsistema
      • Modelos de sequência
      • Modelos de máquina de estado
  6. Projeto de Arquitetura

    • Importante para dar uma visão geral e para:
      • Podermos analisar a efetividade do projeto em relação aos requisitos
      • Considerar alternativas
      • Reduzir riscos
    • Realizado por especialistas, o "arquiteto de sistemas"
    • Representa a estrutura de dados e os componentes do programa
    • Arquitetura centralizada em dados: Banco de dados e sub-sistemas
    • Arquitetura cliente-servidor
    • Fluxo de dados
    • Chamadas e Retornos
    • Camadas
    • Microserviços: divido em frontend e backend
  7. O Modelo C4: facilitador de montagem de modelos arquiteturais

    • Propósito: padronizar
    • Diagrama de Contexto: mostra como o sistema de software interage com usuários e outros sistemas. Diagrama pouco detalhado e técnico
    • Diagrama de contêiner: mostra a forma de alto nível de um software. Basicamente um zoom em um componente do diagrama de contexo
    • Diagrama de componentes: mostra os métodos de um contêiner. Basicamente um zoom no diagrama de contêiner
    • Diagrama de código: mostra a implementação de um componente utilizando diagramas de classe UML, diagramas de entidade relacionamento etc
  8. Importante lembrar: Projeto é uma instância de Arquitetura

Información

Descripción
Graduação Engenharia de Software Mapa Mental sobre Engenharia de Software, creado por Pedro Marchi el 17/05/2023.
Creado por
Pedro Marchi
Visitas
0
Valoración

Más sobre Projeto e arquitetura de software

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?