Aula 9 Fases do desenvolvimento de software UML Diagramas de classes

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Princípios da Orientação a Objetos e a Linguagem UML
DIAGRAMA DE COLABORAÇÃO
Análise e Desenvolvimento de Sistemas
UML Modelando um sistema.
UML – Visões Parte 1 Modelando um sistema.
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 9
> Fases de Engenharia de SW > Gestão de Projectos de SW
Unified Modeling Language (UML) - Modelação da Arquitectura -
Projeto de Sistemas de Software
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos: Encapsulamento e Classificação
Metodologia de Desenvolvimento de Software
DIAGRAMA DE ATIVIDADES
Professora: Aline Vasconcelos
Introdução a diagrama de classes e UML
Análise e Projeto de Sistemas
Análise (I) A análise enfatiza a investigação do problema;
1 Aula 4 Ponteiros. 2003/2004 Programação Orientada para Objectos 2 Instâncias de um programa C++ int i = 10; Nome: i Tipo: int Valor: 10.
1 Aula 3 Listas e iteradores (cont.). 2003/2004 Programação Orientada para Objectos 2 ListaDeInt : interface class ListaDeInt { public: typedef int Item;
Aula 10 UML (cont.).
Fases do desenvolvimento de software UML
2002/2003 Programação Orientada para Objectos 1 Aula 10 UML (continuação da aula 9) Diagramas de sequência Diagramas de actividade Desenvolvimento de um.
2002/2003 Programação Orientada para Objectos 1 Aula 4 Memória, unidade básica de memória e conceito de endereço Ponteiros Relação de ponteiros com matrizes.
2002/2003 Programação Orientada para Objectos 1 Aula 3 Utilização de listas Melhorando a implementação das listas e iteradores Reflexão sobre interfaces.
Aula 2 Listas e iteradores.
Classes e objetos Modelagem
Análise de Casos de Uso Alexandre Motnteiro.
DIAGRAMA DE COMPONENTES
Engenharia de Software e Sistemas de Informação e Gestão
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Diagrama de Classes e Colaboração
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Visão Geral do RUP.
Projeto de Sistemas de Software
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
UML – Diagrama de Classes
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
2.2.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML Modelagem e Programação Orientada a Objetos
Diagrama de Classes George Gomes Cabral.
1.
Introdução a Desenvolvimento de Sistemas
Introdução a Desenvolvimento de Sistemas
Marcio de Carvalho Victorino
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Laboratório I Mateus Raeder. Mateus Raeder – fevereiro de 2009 UML – Unified Modeling Language  Linguagem criada com a finalidade de criar um padrão.
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Análise Orientado aos Objetos Prof. Wolley W. Silva
2002/2003 Programação Orientada para Objectos 1 Aula 2 Noção de lista e de iterador Operações com listas e iteradores Classes embutidas.
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Generalização e herança Agregação e composição
Linguagem de Modelagem Unificada
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)
Equipe: Bruno Barbosa Felipe Fernandes Waleska Dias.
Introdução a UML.
A linguagem unificada de modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.
SISTEMAS DE INFORMAÇÃO Projeto de Sistemas Análise Orientada a Objetos 2011/02 UNIPAC – Araguari FACAE - Faculdade de Ciências Administrativas e Exatas.
18/1/2016 Professor Leomir J. Borba- – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS.
Análise e Design de Software Site:
Transcrição da apresentação:

Aula 9 Fases do desenvolvimento de software UML Diagramas de classes Relações Diagramas de objectos Objectos ou instâncias Ligações 2002/2003 Programação Orientada para Objectos

Ideia do cliente 2002/2003 Programação Orientada para Objectos

Resultado da falta de planeamento 2002/2003 Programação Orientada para Objectos

Fases do desenvolvimento de software Análise: identificação dos conceitos importantes e suas relações  modelo de análise ou modelo conceptual Desenho: decisão dos conceitos identificados que serão modelados através de classes e suas relações  modelo de desenho Implementação: implementação do modelo de desenho numa linguagem de programação 2002/2003 Programação Orientada para Objectos

UML: Unified Modelling Language Grady Booch, Ivar Jacobson e James Rumbaugh Ferramenta importante de comunicação Um programa é um modelo simplificado Diagramas representam modelo simplificado 2002/2003 Programação Orientada para Objectos

Diagramas em UML Estáticos: Casos de Utilização Sequência Colaboração De classes De objectos Casos de Utilização Sequência Colaboração Estado Actividade Implementação 2002/2003 Programação Orientada para Objectos

Diagramas de classes Representam as classes e as relações que existem entre elas Vários diagramas é melhor que apenas um: ênfase numa parte do modelo Domínio do problema: conceitos - modelo de análise Domínio da solução: classes - modelo de desenho Estáticos: as relações entre as classes não se alteram ao longo da execução do programa 2002/2003 Programação Orientada para Objectos

Característica com âmbito de classe Classes Forma Empregado ... + desenha(): string + nova(inout entrada: istream&): Forma* Empregado Empregado {abstract} Característica com âmbito de classe Empregado - nome_: string - sexo_: Sexo Empregado Atributos Atributos - nome_: string - sexo_: Sexo Empregado + nome(): string + salário(): double Operações + nome(): string + salário(): double Operações 2002/2003 Programação Orientada para Objectos

Notas, comentários e restrições Isto é uma nota. Notas Classe representando empregados… Empregado Restrições {Isto é uma restrição.} Racional «invariant» {denominador_  0  mdc(numerador_, denominador_) = 1} - numerador_: int - denominador_: int 2002/2003 Programação Orientada para Objectos

Operações Programação Orientada para Objectos 2002/2003 Empregado + nome(): string {query} + salário(): double {query} + nome(): string {query, isPolymorphic = false} + salário(): double {query} Forma Racional - posição_: Posição - numerador_: int - denominador_: int «constructor» + Forma(in posição: Posição) «destructor» + ~Forma() «query» + posição() {isPolymorphic = false} + desenha(): string «update» + movePara(in posição: Posição) {isPolymorphic = false} + nova(inout entrada: istream&): Forma* + Racional(in numerador: int, in denominador: int) … «precondition» {denominador_  0} 2002/2003 Programação Orientada para Objectos

Atributos PilhaFixaDe100Int PilhaFixaDe100Int - número_de_itens: int = 0 - número_máximo_de_itens: int = 100 {frozen} - itens [número_de_itens]: int - número_de_itens: int = 0 - número_máximo_de_itens: int = 100 {frozen} - itens: int[número_máximo_de_itens] … … FormaComposta FormaComposta - formas [*]: Forma … - formas: vector<Forma*> … … … 2002/2003 Programação Orientada para Objectos

Relação de generalização Forma Círculo Rectângulo FormaComposta 2002/2003 Programação Orientada para Objectos

ListaDeInt::Iterador Relação de amizade ListaDeInt::Iterador ListaDeInt «friend» 2002/2003 Programação Orientada para Objectos

Relações de associação Composição Relação é composto por um Os tempos de vida dos objectos envolvidos estão relacionados Agregação Relação parte/todo ou possui um Pode implicar o controlo do tempo de vida de um objecto por outro Associação simples Não há conceito de posse Os tempos de vida dos objectos ligados entre si são independentes 2002/2003 Programação Orientada para Objectos

Associação simples Empregado Chefe - empregados Empregado empregados * Empregado Chefe * Chefia 0..1 Chefia - empregados - chefe Empregado Chefe * - chefe Chefia 0..1 Chefe 0..1 - empregados - chefe Empregado Chefe * Chefia 0..1 2002/2003 Programação Orientada para Objectos

Agregação - frota Empresa Veículo 0..1 * 2002/2003 Programação Orientada para Objectos

Composição Forma - formas * {incomplete} FormaComposta 0..1 2002/2003 Programação Orientada para Objectos

Diagramas de objectos Objectos ou instâncias Ligações zé: Humano : Círculo : Humano zé : FormaComposta : Rectângulo zé: Humano {frozen} : Círculo : Racional numerador_ = 3 denominador_ = 2 2002/2003 Programação Orientada para Objectos