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

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Sistemas Distribuídos
Os projetos.
Engenharia de Software
Gerência de Projetos Wesley Peron Seno Introdução
UML Modelando um sistema.
UML Visões – Parte 2.
UML – Visões Parte 1 Modelando um sistema.
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Métricas de Software Prof.ª Adriana dos Santos Caparróz Carvalho.
Identificando requisitos
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Diagrama de Classes.
Engenharia de Software
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
Centrado na arquitetura
Metodologias Equipe do Curso de ES para SMA
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Metodologias Orientadas a Agentes
Projeto de Software Orientado a Objetos
Professora: Aline Vasconcelos
Análise e Projeto de Sistemas
Aspectos Avançados em Engenharia de Software Aula 2 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Gerencia de Projeto OO Aspectos Avançados em Engenharia de Software Aula 5 Fernanda Campos DCC/UFJF.
Princípios e Conceitos de Software(v2)
Principios e Conceitos de Projeto
Classes e objetos Modelagem
DIAGRAMA DE COMPONENTES
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Prof.Alfredo Parteli Gomes
Arquitetura Orientado a Serviços
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Metolodogia de Desenvolvimento de Data Warehouse
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Projeto de Banco de Dados
Arquitetura de Sistemas Distribuídos
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
SISTEMAS DISTRIBUIDOS Aula 4
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Banco de Dados Aplicado ao Desenvolvimento de Software
Engenharia de Software
Padrão- MVC Model, View, Controller
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
RUP - Cap. 4 – Processo Centrado na Arquitetura
METODOLOGIA, MÉTODOS E FERRAMENTAS
Laboratório de Programação
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Trabalho de Engenharia de Software II
Desenvolvimento de Software Dirigido a Modelos
IEEE Melhores Práticas para Descrições de Projeto de Software (DPS)
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Modelo de Análise e Projeto
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Introdução a Orientação a Objetos
Análise e Projeto de Sistemas
Certificação e Auditoria
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
Projeto de Banco de Dados
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
Aula 02 de Eng. de Requisitos
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Interações entre objetos
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
Análise e Design de Software Site:
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

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

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.

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.

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.

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

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

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.

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.