Software

Description

mapa mental descrevendo conteúdo da máteria de Analise de Software II, ministrada na instituição Unicamp em Limeira
Ivan Filho
Mind Map by Ivan Filho, updated more than 1 year ago
Ivan Filho
Created by Ivan Filho over 9 years ago
57
0

Resource summary

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

                                                                                                                                            Similar

                                                                                                                                            Engenharia de Software
                                                                                                                                            Gabriel Alexandre
                                                                                                                                            ERGONOMIA
                                                                                                                                            timEU
                                                                                                                                            Quiz - Processo de Software
                                                                                                                                            Adriana Gomes Alves
                                                                                                                                            01. Eng de software:Fases de Processos da Eng de Software.
                                                                                                                                            Jamil Yahuza Felippe
                                                                                                                                            Etapas de Modelos de Processos de Software
                                                                                                                                            thiagocarvalhojp
                                                                                                                                            Áreas de Conhecimento X Grupos de Processos
                                                                                                                                            Rodrigo Ferreira
                                                                                                                                            Processos de desenvolvimento de software
                                                                                                                                            Thiago Palandrani
                                                                                                                                            Questões Fundamentos Eng de Software
                                                                                                                                            Jamil Yahuza Felippe
                                                                                                                                            Engenharia de Software
                                                                                                                                            Marcio Silveira
                                                                                                                                            Quiz - Processos tradicionais
                                                                                                                                            Adriana Gomes Alves