Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

33
Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada

Transcript of Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Page 1: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Análise e Projetos de Sistemas

Revisão de ConteúdoUML-Linguagem de Modelagem Unificada

Page 2: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Resumo da Unidade Objetivos Conceitos de Orientação a

Objetos(OO) Breve Histórico da UML Diagramas da UML

Diagrama de Caso de Uso Diagrama de Classes Diagrama de Sequencia

Conclusão

Page 3: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Objetivos

Apresentar e praticar alguns principais modelos fornecidos pela principais modelos fornecidos pela UML.

Exercícios de modelagem Exercícios de modelagem.

Praticar algumas situações típicas de projeto de software projeto de software.

Page 4: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Referências Bezerra,Projeto Orientados a Objetos. Campus, 2002.Bezerra,Projeto Orientados a Objetos. Campus, 2002. Booch, G. et al. UML Booch, G. et al. UML Guia do Booch, G. et al. UML Booch, G. et al. UML Guia do

Usuário. Campus, 2000Usuário. Campus, 2000..

COAD, P.; YOURDON, E. Análise Baseada em COAD, P.; YOURDON, E. Análise Baseada em Objetos. 2.ed. Rio de Janeiro: Campus, 1996. (005.1 Objetos. 2.ed. Rio de Janeiro: Campus, 1996. (005.1 C652a)C652a)

DAVIS, William S. Análise e Projeto de Sistemas: uma DAVIS, William S. Análise e Projeto de Sistemas: uma abordagem estruturada. Rio de Janeiro: LTC, 1987. abordagem estruturada. Rio de Janeiro: LTC, 1987.

Page 5: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Visão GeralVisão GeralDesnvolvimento de Software AtualmenteDesnvolvimento de Software Atualmente

Uso de linguagens de programação Orientadas a Objeto (OO) Delphi, Java, PHP Linguagens compactas com

bibliotecas de classes poderosas Ambientes de programação Sistemas de Banco de Dados

Relacionais Oracle, SQL Oracle, SQL-Server,

mySQL, Firebird, Postgres

Page 6: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OO ModelosModelos – São representações simplificadas de objetos do mundo real. – São representações simplificadas de objetos do mundo real.

DadosDados – Como o mesmo é uma simplificação do mundo real, os dados – Como o mesmo é uma simplificação do mundo real, os dados contidos no modelo são somente os relevantes à abstração do mundo contidos no modelo são somente os relevantes à abstração do mundo real.real.

OperaçõesOperações – Um modelo contém operações e procedimentos associados – Um modelo contém operações e procedimentos associados a ele.a ele.

AbstraçãoAbstração- Uma abstração descreve as características essenciais de uma - Uma abstração descreve as características essenciais de uma entidade que a distingüe de todos os outros tipos de entidades.entidade que a distingüe de todos os outros tipos de entidades. Pessoa Pessoa como empregado de Empresa como empregado de Empresa

Dados (nome, cargo, salário e horasExtrasTrabalhadas)Dados (nome, cargo, salário e horasExtrasTrabalhadas)

Operações(calcularSalário,aumentaSalário)Operações(calcularSalário,aumentaSalário) Pessoa Pessoa como paciente de uma clínica médicacomo paciente de uma clínica médica

Dados(nome,sexo,altura,peso, histórico) Dados(nome,sexo,altura,peso, histórico)

Operações (AdicionaInformaçãoaoHistórico)Operações (AdicionaInformaçãoaoHistórico)

Page 7: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OO Classe

São estruturas das linguagens de programação OO que contem, para determinado modelo, os dados que devem ser representados e as operações que devem ser efetuadas com estes dados. A classe envolve, associa, funções e dados, controlando o acesso a estes. Defini-lá implica em especificar os seus atributos (dadosdados) e seus métodos (funçõesfunções).

Ex:Interface controladora de um motor elétrico. Classe:motormotor Atributos: temperaturatemperatura, velocidadevelocidade, tensão aplicadatensão aplicada.

Page 8: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OO Objeto ou instância

Representa uma materialização da classe.

É um pacote de software contendo dados e procedimentos(código)relacionado.

Possui estado,identidade única e comportamento.

Abstração de Dados

Processo mental através do qual nos concentramos nos aspectos relevantes de um conjunto de objetos desconsiderando as suas diferenças.

Page 9: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OO

Na Orientação a Objetos, o mecanismo principal de abstração é a Classe. Uma Classe descreve um conjunto de

Objetos que compartilham características comuns

A Classe corresponde à noção de módulo em um sistema orientado a objetos

Modularidade é importante pois torna o projeto de um sistema mais simples e reutilizável

Classe “encapsula” dados e operações.

Page 10: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OOClassificaçãoClassificação

Page 11: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OOEncapsulamento de dados e operaçãoEncapsulamento de dados e operação

Page 12: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OOEncapsulamento de dados e operaçãoEncapsulamento de dados e operação

Encapsulamento de dados e operações Ocultamento Ocultamento da Informação da

Informação O acesso aos dados internos de objetos só pode

ocorrer a partir de mensagens Independência de aplicação Um método deve acessar informações internas do

objeto objeto

Page 13: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OOEncapsulamento de dados e operaçãoEncapsulamento de dados e operação

• Lei de Deméter – Para cada objeto para cada objeto o, e para cada um

dos seus , métodos m, os objetos que podem receber , os objetos que podem receber mensagens de o são

• o próprio o próprio o – especificamente especificamente self e super (em SmallTalk),this (em C++/Java)atributos de objeto de o

Page 14: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OOClassificação - Associação de ObjetosClassificação - Associação de Objetos

Page 15: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OOAgregação - Um objeto é composto por outroAgregação - Um objeto é composto por outro

Page 16: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OOGeneralização/Especialização - Um objeto é composto Generalização/Especialização - Um objeto é composto por outropor outro

Page 17: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Conceitos de OOConceitos de OOGeneralização/Especialização - Um objeto é composto por Generalização/Especialização - Um objeto é composto por outrooutro

É o mecanismo que permite a uma classe herdar todo o comportamento e os atributos de outra classe, adquirindo imediatamente toda a funcionalidade de uma classe existente.

Uma classe que herda de outra classe é chamada de subclassesubclasse e a classe que fornece a herança é chamada de superclassesuperclasse.

ClasseA

ClasseB

ClasseC

ClasseD

ClasseE

Page 18: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Comparações entre abordagem Comparações entre abordagem imperativas e OOimperativas e OO

Paradigma ProceduralParadigma Procedural Tipos de dados Variável Função/Procedimento Chamada de função

Paradigma ObjetosParadigma Objetos Classes Objeto / Instância Operação / Método Envio de Mensagem

Page 19: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Processo de SoftwareTop-Down

Page 20: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Processo de SoftwareBottom-up

Page 21: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

Modelos-Esqueletos de Programas

Page 22: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

Surgiu para apoiar OO Evolução a partir de linguagens C++ e

SmallTalk Anos 80 Anos 80-90: diversidade de autores Anos 98-2000: unificação em torno de 2000:

unificação em torno de UML.

Page 23: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

Page 24: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

Grady Booch Um dos pioneiros da OO Um

dos pioneiros da OO 1980: ênfase em técnicas de

projeto para Ada 1992-1994: livros

Object Object Design Design with Applications

Projeto de programas em C++ e Ada

1998: Fundação da Rational

Page 25: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

Ivar Jacobson Modelagem OO

baseado em Casos de Uso

Objectory Basea-se na

necessidades do usuário, o objetivo do sistema, sem preocupações com a ordem de ocorrência de cada fato e suas relações.

Page 26: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

James Rumbaugh Object Modeling

Modeling(OMT) Desenvolvida na GE

Metodologia baseada em notações pré-existentes (ER, DTE, DFD)

Clara distinção entre as três visões do problema.

Page 27: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

Page 28: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

Linguagem visual para especificação Linguagem(modelagem) de sistemas orientados a objetos objetos

Fornece representação gráfica para os elementos essenciais do paradigma de objetos

Classes, atributos, objetos, troca de mensagens, ...

Page 29: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

De propósito geral Não está presa a uma etapa do desenvolvimento

software Análise Análise Projeto Projeto Implementação Testes

Ciclo de vida em cascata Incremental Processo Unificado

Não está presa a uma linguagem de programação

Page 30: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

UML apoia o desenvolvimento incremental

Page 31: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

De propósito geral Não se prende a nenhuma linguagem de programação

Page 32: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

Padrão OMG

Toda a documentação disponível em http://www.omg.orgagem

Privilegia a descrição de um sistema segundo três perspectivas: Dados (estrutural)

Diagrama de Classes Operações (funcional)

Diagrama de Caso de Uso Eventos (temporal)

Diagramas de Seqüência, Atividades, de Transição

de Estados de Estados

Page 33: Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada.

UML Unificada Linguagem de Modelagem Unificada

Ferramentas mais utilizadas Rational Rose -http://www.rational.com Visual Paradigm - http://www.visual-paradigm.com/ Poseidon - http://www.gentleware.com/index.php Argo UML - http://argouml.tigris.org/ Umbrello - http://www.umbrello.org/