Please enable JavaScript.
Coggle requires JavaScript to display documents.
Projeto e Implementação de Software - Coggle Diagram
Projeto e Implementação de Software
Projeto
Identificação de componentes e seus relacionamentos com base nos requisitos.
Projeto OO com UML
Sistema composto por objetos interativos
Útil principalmente em sistemas grandes.
Requer modelos como forma de comunicação entre equipes.
Processo iterativo com etapas
Contexto e Interações (modelos de contexto e de caso de uso)
Arquitetura (componentes, padrões como camadas e cliente-servidor)
Identificação de Objetos (abordagem gramatical, cenários, hardware etc.)
Modelos de Projeto
Estruturais (classe, associação, subsistemas)
Dinâmicos (sequência, máquina de estados)
Outros: casos de uso, agregação, generalização
Interfaces de Objetos (definição de Diagramas UML ou Java)
Padrões de Projeto
Observer
Separa estado e exibição, notificando múltiplos observadores
Soluções abstratas reutilizáveis
Outros padrões: Façade, Iterator, Decorator.
Implementação
Concretização do projeto como um programa
Decisões Iniciais
Sistemas prontos adaptáveis
Design foca na configuração
Reúso de Software
Níveis: abstração, objeto, componente, sistema
Custos: busca, adaptação, integração
Questões de Implementação
Gerência de Configuração
Versão, integração, rastreamento de problemas e releases
Desenvolvimento Host-Target
Desenvolvimento em host, execução em target
Ferramentas: compiladores, UML, JUnit, refatoração
IDEs (Ambientes de Desenvolvimento Integrado)
Ferramentas agrupadas
Ex: Eclipse (Java)
Implantação
Suporte adequado (hardware/software)
Alta disponibilidade (redundância)
Proximidade física reduz latência
Diagramas de implantação podem documentar decisões
Projeto e Implementação são atividades que ocorrem de forma intercalada e iterativa.
Desenvolvimento Open Source
Código-fonte publicado com contribuições abertas
Origem na Free Software Foundation
Ex: Linux, Eclipse, Apache
Questões para empresas
Usar componentes open source?
Tornar o próprio produto open source?
Licenças
Modelos
LGPL: pode vincular sem liberar tudo
BSD: uso livre com reconhecimento
GPL: recíproca – se usar, tem que liberar
Gerenciamento
Rastrear componentes utilizados
Conhecer e entender licenças
Participar da comunidade
Manter auditoria e compliance