A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Projeto de Software.

Apresentações semelhantes


Apresentação em tema: "Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Projeto de Software."— Transcrição da apresentação:

1 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Projeto de Software

2 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Projeto de Software Derivando uma solução que satisfaz os requisitos de software

3 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Características do Processo de Projeto Processo criativo Aprendizado –Prática –Experiência –Estudo de Exemplos

4 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Estágios de Projeto Entender o problema –Olhar para o problema de diferente ângulos –Descobrir os requisitos de projeto Identificar uma ou mais soluções –Avaliar possíveis soluções –Escolher a mais apropriada Descrever as abstrações da solução –Usar notações gráficas ou descritivas para especificar os componentes do projeto –Repetir este processo para cada abstração identificada até o projeto estar expresso em termos primitivos

5 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Processo de Projeto Qualquer projeto pode ser modelado como um grafo direcionado – Nós: entidades Processos Funções Tipos – Arestas: relacionamentos

6 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Refinamento de um Projeto O sistema é projetado iterativamente em diferentes níveis de abstração

7 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Fases do Processo de Projeto A separação entre fases não é bem definida Identificação útil por questões de gerenciamento

8 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Fases do Processo de Projeto

9 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Fases do Processo de Projeto Projeto de arquitetura: Identifica sub-sistemas Especificação abstrata: Especifica sub-sistemas Projeto de interface: Descreve as interfaces dos sub-sistemas Projeto de componente: Decompõe sub-sistemas em componentes Projeto de estrutura de dados: Projeta estrutura de dados para armazenar os dados do problema Projeto de algoritmos: Descreve os algoritmos a serem usados na solução do problema

10 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Projeto Top-down

11 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Projeto Top-down Na prática, o projeto de grande sistemas nunca é verdadeiramente top-down. –Os projetistas reutilizam experiência (e componentes) –Orientação a objetos

12 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Métodos Estruturados de Projeto Características – Notações para expressar o projeto – Diretrizes para criar e avaliar um projeto Exemplos –Projeto Estruturado (Yourdon) –JSD (Jackson Method) –Booch, OMT, UML/RUP Vantagens –Ferramentas CASE –Documentação padronizada –Redução de custo

13 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Modelos dos Métodos Estruturados Modelo de fluxo de dados –Transformação de dados Modelo entidade-relacionamento – Estrutura lógica dos dados Modelo estrutural –Componentes do sistema e suas interações Se o método for orientado a objetos –Modelo de herança e composição de objetos Complementos: diagrama de estados, dicionário de dados,...

14 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Deficiências dos métodos estruturados Existem diretrizes e não métodos no sentido matemático. Projetistas diferentes criam projetos bastante diferentes Não ajudam muito com a parte inicial, fase criativa do projeto. Em vez disso, ajudam ao projetista a estruturar e documentar as suas idéias de projeto

15 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Notações para Descrição de Projeto Notações gráficas. Usadas para mostrar os relacionamentos dos componentes. Linguagens de descrição de programa. Baseadas em linguagens de programação, porém com mais flexibilidade para representar conceitos abstratos. Texto informal. Descrição em linguagem natural.

16 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Estratégias de Projeto Projeto Funcional –Decomposição do sistema em componentes funcionais –O estado do sistema é centralizado e compartilhado entre as funções Projeto Orientado a Objetos –O sistema é visto como uma coleção de objetos que interagem –O estado do sistema é descentralizado

17 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Estratégia de Projeto Qual a melhor? –As abordagens orientada a objeto e funcional são complementares –Bons engenheiros de software selecionam a abordagem mais apropriada para o sistema ou fase do processo em questão

18 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Qualidade de Projeto Propriedade indefinível que depende das prioridades específicas da organização Os atributos discutidos aqui estão relacionados com a manutenção de um projeto Características de qualidade são igualmente aplicáveis a projetos orientados a objeto ou a função

19 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Coesão Medida da proximidade das partes de um sub- componente Um componente deve implementar uma única entidade lógica ou função Importância Quando uma mudança tiver que ser feita, ela será localizada

20 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Níveis de Coesão Coesão casual –As partes de um componente não são relacionadas Associação lógica –Componentes que executam funções similares são agrupados Coesão temporal –Componentes que são ativados na mesma hora são agrupados

21 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Níveis de Coesão Coesão procedural –Componentes que fazem parte de uma única seqüência de controle são agrupados Coesão de comunicação –Componentes que operam na mesma entrada ou produzem a mesma saída são agrupados Coesão seqüencial –A saída de uma parte de um componente é a entrada de outra parte

22 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Níveis de Coesão Coesão funcional –Cada parte de um componente é necessária para execução de uma única função Coesão objeto –Cada operação provê funcionalidade que permite que atributos de um objeto sejam modificados ou inspecionados

23 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Medida da força das interconexões entre componentes do sistema Importância –Baixo acoplamento implica que mudanças em um componente dificilmente afetará outros componentes Cuidados –Variáveis compartilhadas –Troca de informações de controle Acoplamento

24 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Acoplamento Forte

25 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Acoplamento Baixo

26 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Níveis de Acoplamento Sem acoplamento Acoplamento de dados: passagem de dados simples Acoplamento de controle Passagem de informação de controle Acoplamento externo –Dependência de dispositivos e protocolos –Acesso a dados globais Acoplamento de conteúdo –Uso de informações em outro módulo

27 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Relacionado a várias características do componente –Coesão. Pode um componente ser entendido isoladamente? –Nomes. São usados nomes que fazem sentido? –Documentação. O projeto está bem documentado? –Complexidade. Algoritmos complexos são utilizados? Entendimento

28 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Medida da facilidade de mudança dos componentes Fatores relevantes –Componentes fracamente acoplados –Componentes fortemente coesos –Boa documentação –Programas legíveis –Correspondência óbvia entre os vários níveis de projeto Adaptabilidade

29 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Projeto é um processo criativo Atividades de projeto incluem –Projeto de arquitetura –Especificação de sistema –Projeto de interface –Projeto de componente –Projeto de estrutura de dados –Projeto de algoritmos Pontos Principais

30 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Pontos Principais Decomposição funcional considera o sistema como um conjunto de unidades funcionais Orientação a objeto considera o sistema como uma coleção de objetos Projetistas devem procurar produzir sistemas –Fortemente coesos –Fracamente acoplados


Carregar ppt "Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Projeto de Software."

Apresentações semelhantes


Anúncios Google