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

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

Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos

Apresentações semelhantes


Apresentação em tema: "Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos"— Transcrição da apresentação:

1 Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
PROJETO OO Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos UFJF/DCC

2 INTRODUÇÃO O projeto transforma o modelo de análise em um modelo de projeto que serve de base para a construção do software. Um projeto OO resulta num projeto que busca diferentes níveis de maturidade. Os principais componentes do sistema são organizados em módulos ou subsistemas.

3 INTRODUÇÃO O projeto OO descreve a organização específica dos dados dos atributos e os detalhes procedimentais das operações. Representam dados e partes de algoritmos de um sistema OO e são colaboradores da modularidade geral do sistema.

4 INTRODUÇÃO A natureza do projeto OO recai sobre sua habilidade de construir um projeto sobre quatro conceitos: Abstração Ocultação de informação Independência funcional Modularidade Isso contribui para diminuir a complexidade.

5 INTRODUÇÃO Para construir um software OO temos que ter: Projeto OO
Programação OO Teste OO.

6 Projeto de Sistemas O modelo de projeto inclui quatro camadas em forma de pirâmide: Componentes Interface Arquitetura Dados/classes.

7 Projeto de Modelagem Representação da hierarquia dos modelos
Especificação da definição dos dados Especificação da lógica procedimental Indicação das seqüências procedimentais Representação dos estados e transições dos objetos Definição de classes e hierarquias Estabelecimento das operações das classes Definição detalhada das operações Especificação das conexões das mensagens Identificação de serviços exclusivos.

8 Baixo acoplamento em Projetos OO
Para alcançar o baixo acoplamento o número de interfaces entre módulos deve ser pequeno (pouca interface) e a quantidade de informações que se movem entre as interfaces devem ser mínimas também. Quando os módulos se comunicarem esta comunicação deve ser de forma direta e explícita, evitando a comunicação através de áreas globais.

9 Projeto OO e a UML A UML é organizada em duas atividades principais de projeto: Projeto do sistema O objetivo é representar a arquitetura do software Projeto de objetos Focaliza a descrição dos objetos e suas interações uns com os outros

10 Modelo de Projeto OO As vezes é difícil ter a clara distinção entre Análise e Projeto OO. A análise é uma atividade de classificação, isto é, é um esforço de determinar as classes de objetos que serão definidas na solução do problema, seus relacionamentos e comportamento.

11 Modelo de Projeto OO O projeto OO permite que o engenheiro de software indique quais objetos serão derivados de cada classe e como esses objetos se relacionam. Identifica como esses relacionamentos são alcançados, como os comportamentos são implementados e como a comunicação entre objetos deve ser implementada.

12 Atividades do Projeto OO
Particionar o projeto de análise em sub-sistemas Identificar a concorrência que é ditada pelo sistema Alocar subsistemas a processadores e tarefas Desenvolver uma interface para o usuário Escolher uma estratégia básica para implementar a gestão de dados Identificar os recursos globais e os mecanismos de controle necessários para ter acesso a eles Projetar um mecanismo de controle adequado para o sistema, incluindo gestão de tarefas Considerar como as situações limites devem ser manipuladas Revisar e considerar concessões.

13 Projeto dos sub-sistemas
São quatro os componentes principais: Domínio do problema – implementa os requisitos do usuário Interação homem-máquina – implementa a interface com o usuário Gerenciamento de tarefas – controla e coordena as tarefas concorrentes num mesmo sub-sistema ou entre vários sub-sistemas Gerenciamento de dados – responsável pelo armazenamento e recuperação dos objetos.

14 Projeto de Objetos Descrição do objeto:
A descrição de um objeto (uma instância de uma classe ou subclasse) pode ter uma das duas formas. Descrição do protocolo – descreve cada mensagem que o objeto pode receber e as operações que o objeto realiza quando recebe a mensagem. Descrição da implementação – mostra a implementação detalhada (atributos, e operações) e cada mensagem que é passada para o objeto.

15 Projeto de Objetos Descrição do protocolo
Estabelece a interface do objeto definindo cada mensagem que o objeto pode receber e as operações relacionadas ao recebimento das mensagens. Conjunto de mensagens e comentários correspondentes.

16 Projeto de Objetos Descrição da implementação
Mostra detalhes da implementação para cada mensagem passada ao objeto. Esses detalhes incluem informações sobre partes privadas do objeto, isto é, detalhes internos sobre as estruturas dos dados que descrevem os atributos e detalhes procedimentais que descrevem as operações.

17 Projeto de Algorítmos e Estrutura de Dados
Um algorítmo é criado para implementar a especificação de cada operação. Em muitas classes o algorítmo é uma seqüência simples implementada num único módulo. Entretanto, se a especificação é complexa é necessário modularizar a implementação.

18 Projeto de Algorítmos e Estrutura de Dados
A estrutura dos dados é projetada ao mesmo tempo que os algorítmos. Como os algorítmos manipulam os atributos das classes o projeto das estruturas dos dados terá forte impacto no projeto dos algorítmos.

19 Projeto de Algorítmos e Estrutura de Dados
As operações podem ser divididas em três categorias: Operações que manipulam dados (deletar, selecionar, etc) Operações que executam o processamento Operações que monitoram a ocorrência e o controle de eventos.

20 Projeto de Componentes
Um aspecto importante da qualidade do projeto de software é a MODULARIDADE, isto é, a especificação de componentes de programas (módulos) que são combinados para formar um programa completo.

21 Projeto de Interfaces e Componentes
Definir objetos e operações não é suficiente. Durante o projeto temos que identificar as interfaces que existem entre objetos e as estruturas gerais dos objetos.


Carregar ppt "Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos"

Apresentações semelhantes


Anúncios Google