Mapa mental
Software

Mapa mental: Software
Conteúdo do mapa
Software
Modelagem
- Uml
- Diagrama caso de uso
- Identificação de atores e serviços
- Diagrama de Classes
- Definição da estrutura e das classes
- Diagrama de objeto
- Mostrar valores armazenados pelo objeto
- Diagrama de Estrutura Composta
- Visões de um conjunto de entidades
- Diagrama de Sequência
- Desenrolar dos eventos
- Diagrama de Comunicação
- mostrar como objetos estão interligados e mensagens trocadas sem preocupação de tempo
- Diagrama Máquina de Estado
- Informar mudança de Estado a partir de uma instancia
- Diagrama de Atividades
- Comportamento de objetos entre vários casos de uso
- Diagrama de Interação
- Comportamentos de objetos entr eum uníco caso de uso
- Diagrama de Componentes
- Demonstrar componentes que fazer parte do sistema e seus relacionamentos
- Diagrama de Implantação
- Necessidades físicas do sistema
- Diagrama de Pacotes
- Decompõe o sistema geral em subsistemas que o compõe
- Diagrama de Tempo
- Indica mudança de estado do objeto e o tempo de resposta da mudança
- Diagrama caso de uso
- Uml
Remodelagem
- Reengenharia
- Recriar um sistema já projetado
- Reengenharia
Engenharia Reversa
- Entender um código já construido e decompor o mesmo
Linguagens
- C++
- Java
- Problemas no desenvolvimento
- 7 Pecados capitais
- Pressa
- Qualidade em segundo plano
- Apatia
- não se importar em resolver problemas conhecidos
- Mente estreita
- recusa em usar soluções reconhecidamente efetivas
- Preguiça
- caminho mais "facil" em vez de refletir sobre a decisão
- Avareza
- Detalhes excessivos, maior complexidade
- Ignorância
- falha em buscar compreensão
- Orgulho
- investimento em desenvolver soluções que poderiam ser aproveitadas de outras fontes
- Pressa
- 7 Pecados capitais
Coesão
- Alta coesão
- Classes se relacionam, sistema unico
- Baixa coesão
- Classes se relacionam, mas há divisões em subsistemas
- Alta coesão
Acoplamento
- Alto acoplamento
- Relacionamentos demais entre as classes
- Baixo acoplamento
- Muito pouco relacionamento entre as classes
- Alto acoplamento
Problema durante o desenvolvimento
- Contexto e forças
- Solução Padrão
- Padrões de Projeto
- Interface
- Adapter
- Ajustar a interface de uma classe à interface que o cliente espera
- Façade
- Oferecer uma interface única para uma coleção de classes
- Composite
- Definir uma interface que se aplica a objetos individuais ou a grupos de objetos
- Bridge
- Desacoplar uma abstração de sua implementação de forma que as duas possam variar independentemente
- Adapter
- Responsabilidade
- Singleton
- Centralizar responsabilidade em uma única instância da classe
- Observer
- Desacoplar um objeto do conhecimento de quais outros objetos dependem dele
- Mediator
- Centralizar responsabilidade em uma classe que supervisiona como um conjunto de outros objetos interagem
- Proxy
- Deixar um objeto atuar em nome de outro objeto
- Chain of responsibility
- Permitir que uma requisição passe por uma sequência de objetos até encontrar um que possa atendê-la
- Flyweight
- Centralizar responsabilidade em pequenos objetos compartilhados
- Singleton
- Construção
- Builder
- Obter gradualmente a informação necessária para construir um objeto
- Factory Method
- Adiar a decisão sobre qual classe instanciar
- Abstract Factory
- Construir uma família de objetos
- Prototype
- Construir um objeto a partir de exemplo existente
- Memento
- Reconstruir um objeto a partir de informação de estado anteriormente salva
- Builder
- Comportamento
- Command
- Ecapsular a invocação de um método em um objeto
- Template Method
- Implementar um algoritmo em um método, deixando a definição de alguns passos do algoritmo para subclasses que podem refiná-lo
- State
- Distribuir uma operação de modo que cada classe represente um estado diferente
- Interpreter
- Distribuir uma operação de modo que cada implementação seja aplicável a um tipo diferente de composição
- Strategy
- Encapsular uma operação, tornando as implementações intercabiáveis
- Command
- Extensão
- Decorator
- Acrescentar responsabilidades adicionais a um objeto dinamicamente
- Iterator
- Oferecer um modo de acessar uma coleção de instâncias de uma classe
- Visitor
- Acrescentar novas operações a uma classe sem alterar a classe
- Decorator
- Interface
- Padrões de Projeto
- Solução anti padrão
- Anti padrões de Projeto
- Arquitetura
- Stovepipe Enterprise
- Sistemas múltiplos em uma empresa são desenvolvidos independentemente em cada nível
- Jumble
- Elementos de design horizontal (comum em todas aplicações) e vertical (dependen de implementações específicas são misturados
- Vendor Lock-In
- custo de mudar de fornecedor do produto ao qual o usuário é dependente para outro é muito alto
- Architecture By Implication
- falta de especificação (documentação) na arquitetura de um software em desenvolvimento, devido a experiências anteriores em construçãod e sistemas parecidos
- Design by Committee
- Swiss army knife
- tentativa de prover uma classe para diversas necessidades, o designer adiciona um grande numero de assinaturas de interface e, a classe de interface acaba ficando extremamente complexa
- Reinventing the wheel
- necessidade de contornar restrições técnicas, incompatibilidades e licenciamento de softwares presentes em partes ou módulos de terceiros. ao invés de pegar uma solução existente e adequada, adota-se uma solução customizada com desempenho pior que a existente
- Stovepipe Enterprise
- Desenvolvimento
- Functional Decomposition
- Possui uma classe que funciona como uma rotina Main, a partir dela várias outras sub-rotinas são chamadas e, para cada sub-rotina, uma classe é implementada, cuja classe serve apenas para efetuar a ação
- Poltergeist
- Boat Anchor
- parte do código de um sistema ou uma peça de hardware que não tem nenhuma utilidade no projeto atual
- Golden Hammer
- Ferramenta específica que é dominada pela equipe e é utilizada de forma generalista (bom pra tudo)
- Dead End
- Quando tenta incorporar um módulo já pronto porém com incompatibilidade de suporte
- Spaghetti Code
- programa ou sistema que contém muito pouca estrutura de software. Codificação compromete a estrutura de suporte lógico (resultado do código antigo que está sendo modificado ao longo dos anos)
- Walking through a minefield
- prática de lançar um sistema sem que seus erros sejam avaliados corretamente para ganhar tempo
- Copy and Paste Programming
- É a cópia e modificação de um código existente ao invés de criar solução genéricas (identificado pela presença de vários segmentos de código semelhantes intercalados ao longo do projeto)
- Functional Decomposition
- Gerencial
- Analysis Paralysis
- Caracterizado por revisões constantes e construção de modelos excessivamente detalhados. Torna o sistema difícil de desenvolver, documentar e testar
- Death By Planning
- Falta de uma abordagem pragmática (objetiva) para o planejamento, cronogramas e captura do processo
- Corncob
- pessoa difícil que causa problemas através de um comportamento destrutivo em relação a equipe ou projeto (alguém discorda dos objetivos ou processos-chave)
- Analysis Paralysis
- Arquitetura
- Anti padrões de Projeto
- Solução Padrão
- Contexto e forças
Informações
- Descrição
- mapa mental descrevendo conteúdo da máteria de Analise de Software II, ministrada na instituição Unicamp em Limeira
- Criado por
- Ivan Filho
- Visualizações
- 66
- Tags
- Avaliação