aula 5 -_fundamentos_de_uml

25
FUNDAMENTOS DE FUNDAMENTOS DE ORIENTACAO A OBJECTOS ORIENTACAO A OBJECTOS RESUMO RESUMO Profs Profs : : Edgar Gemo Edgar Gemo Zeferino Saugene Zeferino Saugene

Upload: portaldoestudanteads

Post on 03-Jul-2015

285 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 5 -_fundamentos_de_uml

FUNDAMENTOS DE FUNDAMENTOS DE ORIENTACAO A OBJECTOSORIENTACAO A OBJECTOS

RESUMORESUMOProfsProfs:: Edgar GemoEdgar Gemo

Zeferino SaugeneZeferino Saugene

Page 2: Aula 5 -_fundamentos_de_uml

DefiniDefiniçção de Anão de Anááliselise

AnAnáálise lise éé o estudo do domo estudo do domíínio de um nio de um problema;problema;AnalisarAnalisar éé obter as necessidades de obter as necessidades de um sistema a ser desenvolvido para um sistema a ser desenvolvido para satisfazer as necessidades do ususatisfazer as necessidades do usuáário. rio. Analisar não Analisar não éé definir como o sistema definir como o sistema serseráá desenvolvido, mas sim desenvolvido, mas sim investigar investigar o problema;o problema;

Page 3: Aula 5 -_fundamentos_de_uml

Paradigma Estruturado Paradigma Estruturado vsvs OOOO

EstruturadoEstruturado OOOOEnfoque em Enfoque em mmóódulos dulos (procedimentos e (procedimentos e funfunçções)ões)

Enfoque em objectosEnfoque em objectos

O sistema O sistema éé um um conjunto de conjunto de programasprogramas

O sistema O sistema éé uma uma colectânea de objectos colectânea de objectos que interagem entre sique interagem entre si

InstInstááveis face a veis face a mudanmudançça de a de requisitosrequisitos

EstEstááveis face a veis face a alteraalteraçções futurasões futuras

ManutenManutençção difão difíícilcil ManutenManutençção controladaão controlada

Page 4: Aula 5 -_fundamentos_de_uml

PropPropóósitos da AOOsitos da AOO

Formalizar uma Formalizar uma ““visãovisão”” do mundo real do mundo real para o desenvolvimento de sistemas, para o desenvolvimento de sistemas, estabelecendo os objectos como as estabelecendo os objectos como as principais estruturas.principais estruturas.

Page 5: Aula 5 -_fundamentos_de_uml

Conceitos de OOConceitos de OO

ObjectosObjectosAtributos e MAtributos e MéétodostodosClasses e InstânciasClasses e InstânciasEstadoEstadoAbstracAbstracçção ão –– concentração nos aspectos relevantes de um conjunto de objectosEncapsulamento Encapsulamento –– Ocultação da InformaçãoHeranHerançça a –– atributos da classe atributos da classe mãe para a filhamãe para a filhaPolimorfismo Polimorfismo –– varias formasvarias formas

Page 6: Aula 5 -_fundamentos_de_uml

PrincPrincíípios da OOpios da OO

Qualquer coisa Qualquer coisa éé um objecto.um objecto.Objectos realizam tarefas atravObjectos realizam tarefas atravéés da s da requisirequisiçção de servião de serviçços a outros os a outros objectos.objectos.Cada objecto pertence a uma Cada objecto pertence a uma determinada classe. Uma classe determinada classe. Uma classe agrupa objectos similares.agrupa objectos similares.A classe A classe éé um repositum repositóório para rio para comportamento associado ao objecto.comportamento associado ao objecto.Classes são organizadas em Classes são organizadas em hierarquias.hierarquias.

Page 7: Aula 5 -_fundamentos_de_uml

Metodologias de AOOMetodologias de AOO

DestacamDestacam--se das se das diversasdiversas metodologiasmetodologias::MMéétodo de todo de BoochBooch [Booch,1994],[Booch,1994],ObjectObject ModelingModeling TechniqueTechnique –– OMTOMT[[RumbaughRumbaugh et al, 1994],et al, 1994],MMéétodo de todo de CoadCoad/Yourdon/Yourdon [[CoadCoad & & Yourdon, 1990], Yourdon, 1990], ObjectObject--OrientedOriented Software Software EngineeringEngineering ––OOSE/ObOOSE/Objectoryjectory [Jacobson, 1992] [Jacobson, 1992] ObjectObject--OrientedOriented AnalysisAnalysis/Design /Design ––OOA/DOOA/D [[ShlaerShlaer--MellorMellor, 1988], , 1988], UnifiedUnified ModelingModeling LanguageLanguage –– UMLUML[OMG, 2001].[OMG, 2001].

Page 8: Aula 5 -_fundamentos_de_uml

TPC (da aula passada)TPC (da aula passada)

Estude uma das Metodologias Estude uma das Metodologias OO, tendo em conta:OO, tendo em conta:

Historia de surgimento;Historia de surgimento;CaracteristicasCaracteristicas;;Enfoque principal;Enfoque principal;Ciclo de Vida;Ciclo de Vida;Seu contributo para a UML;Seu contributo para a UML;

Page 9: Aula 5 -_fundamentos_de_uml

FUNDAMENTOS DE FUNDAMENTOS DE UMLUML

ProfsProfs:: Edgar GemoEdgar GemoZeferino SaugeneZeferino Saugene

Page 10: Aula 5 -_fundamentos_de_uml

Surgimento de UMLSurgimento de UML

Os sistemas constituOs sistemas constituíídos usando dos usando OO são flexOO são flexííveis a mudanveis a mudançças, as, possuem estruturas bem conhecidas possuem estruturas bem conhecidas e provêem a oportunidade de criar e e provêem a oportunidade de criar e implementar componentes implementar componentes totalmente reutiliztotalmente reutilizááveis.veis.As vAs váárias metodologias OO rias metodologias OO existentes tem causado existentes tem causado ““conflitosconflitos””entre a comunidade de entre a comunidade de desenvolvedores OO, devido desenvolvedores OO, devido àà falta falta de delineamento das ideias de cada de delineamento das ideias de cada uma destas.uma destas.

Page 11: Aula 5 -_fundamentos_de_uml

Surgimento de UMLSurgimento de UML

ÉÉ na tentativa de padronizar a na tentativa de padronizar a metodologia OO de uma forma metodologia OO de uma forma que qualquer sistema, seja qual que qualquer sistema, seja qual for o tipo, possa ser modelado for o tipo, possa ser modelado correctamente, com correctamente, com consistência, fconsistência, fáácil de comunicar cil de comunicar com outras aplicacom outras aplicaçções, simples ões, simples de ser actualizado e de ser actualizado e compreenscompreensíível que surgiu a vel que surgiu a UML.UML.

Page 12: Aula 5 -_fundamentos_de_uml

EvoluEvoluçção da UMLão da UML

FeedbackPublico

Page 13: Aula 5 -_fundamentos_de_uml

Pioneiros da UMLPioneiros da UML

Page 14: Aula 5 -_fundamentos_de_uml

O que é UML

1. Linguagem visual para especificação (modelação) de sistemas orientados a objectos;

Fornece representação gráfica para os elementos essenciais do paradigma objectos:

Classes, atributos, objectos, troca de mensagens, ...

Page 15: Aula 5 -_fundamentos_de_uml

O que é UML2. De propósito geral

Não está presa a uma etapa do desenvolvimento de software

AnáliseDesenhoImplementaçãoTestes

Não está presa a um processoCiclo de vida em cascataIncrementalProcesso Unificado e outros

Não está presa a uma linguagem de programaçãoUML apoia o desenvolvimento incremental

Page 16: Aula 5 -_fundamentos_de_uml

O que é UML

Page 17: Aula 5 -_fundamentos_de_uml

O que é UML

3. Padrão OMGEm http://www.omg.org estão disponíveis documentos eletrônicos que contém:

Sumário da UMLSemânticaGuia da NotaçãoExtensões da Linguagem

Page 18: Aula 5 -_fundamentos_de_uml

O que é UML

4. 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 Sequência, Atividades, de Transição de Estados

Page 19: Aula 5 -_fundamentos_de_uml

O que é UML

5. Em termos práticos, a UML éuma linguagem formal que permite que usuários, analistas, desenhadores e programadores falem a mesma língua.

Page 20: Aula 5 -_fundamentos_de_uml

O que é UML

6. A UML não é um método de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como desenhar seu sistema, mas ele lhe auxilia a visualizar seu desenho e a comunicação entre objectos.

7. A UML é controlada pelo Grupo de Gestão de Objeto (Object Management Group - OMG) e é um padrão da indústria para descrever graficamente software.

Page 21: Aula 5 -_fundamentos_de_uml

UML pode ser usada paraUML pode ser usada para

Mostrar as fronteiras de um sistema e Mostrar as fronteiras de um sistema e suas funsuas funçções principais ões principais -- actores e casos actores e casos de usode uso; ;

Ilustrar a realizaIlustrar a realizaçção de casos de uso ão de casos de uso --diagramas de interacdiagramas de interacççãoão;;

Representar uma estrutura estRepresentar uma estrutura estáática de tica de um sistema um sistema -- diagramas de classediagramas de classe;;

Modelar o comportamento de objectos Modelar o comportamento de objectos --diagramas de transidiagramas de transiçção de estadoão de estado;;

Revelar a arquitectura de implementaRevelar a arquitectura de implementaçção ão ffíísica sica -- diagramas de componente e de diagramas de componente e de implementaimplementaççãoão;;

Page 22: Aula 5 -_fundamentos_de_uml

Ferramentas Case da UML

Grande variedade de ferramentas com diferentes recursos

Mais conhecidasRational Rational Rose Rose (http://www. http://www.rational)TogetherSoft ControlCenter – Java(http://www.togethersoft.com)Open Open

Source SourceArgo UML – Java (http://argouml.tigris.org)Fujaba – Java (http://www.fujaba.de)

Gratuito GratuitoPoseidon – Java(http://www.gentleware.com)

Page 23: Aula 5 -_fundamentos_de_uml

LimitaLimitaçções da UMLões da UMLUML UML éé parte duma metodologia;parte duma metodologia;Disponibiliza ferramentas para criar Disponibiliza ferramentas para criar e ler modelos, não aponta quais e ler modelos, não aponta quais modelos devem ser criados, nem modelos devem ser criados, nem quando;quando;Necessita interagir com uma Necessita interagir com uma metodologia especifica, para metodologia especifica, para maximizar o uso de recursos;maximizar o uso de recursos;Assim foi criado o processo Assim foi criado o processo unificado (RUP);unificado (RUP);O RUP responde:O RUP responde:

Quem faz, o quQuem faz, o quêê, como e estabelece um padrão , como e estabelece um padrão de desenvolvimentode desenvolvimento..

Page 24: Aula 5 -_fundamentos_de_uml

BibliografiaBibliografia

BibliografiaBibliografia[1][1] JACOBSON, JACOBSON, IvarIvar; BOOCH, Grady; RUMBAUGH, ; BOOCH, Grady; RUMBAUGH, JamesJames; ; UML Guia do UsuUML Guia do Usuáário. rio. Rio de Janeiro, 2000.Rio de Janeiro, 2000.[2] [2] JACOBSON, JACOBSON, IvarIvar; BOOCH, Grady; RUMBAUGH, James; ; BOOCH, Grady; RUMBAUGH, James; The Unified Software Development Process. Massachusetts: The Unified Software Development Process. Massachusetts: AddisonAddison--Wesley, 1999.Wesley, 1999.[3][3] Rational Rational -- The eThe e--development company. [Ondevelopment company. [On--line]. line]. DisponDisponíível em vel em httphttp://www.rationa://www.rational.coml.com//index.jspindex.jsp[4] [4] PagePage--JonesJones, Meilir. Fundamentos do Desenho Orientado , Meilir. Fundamentos do Desenho Orientado a a ObjetoObjeto com UML. com UML. MakronMakron Books, 2001.Books, 2001.[5] [5] QUATRANI, TERRY. Modelagem visual com QUATRANI, TERRY. Modelagem visual com RationalRationalRose 2000 e UML. Rio de Janeiro: Editora Ciência Moderna, Rose 2000 e UML. Rio de Janeiro: Editora Ciência Moderna, 2001.2001.[6] [6] LARMAN, CRAIG. Utilizando UML e Padrões. Porto LARMAN, CRAIG. Utilizando UML e Padrões. Porto Alegre: Alegre: BookmanBookman, 2001., 2001.[7] [7] Bezerra, E. PrincBezerra, E. Princíípios de Anpios de Anáálise e lise e ProjetoProjeto de Sistemas de Sistemas com UML. com UML. CampusCampus, 2002., 2002.[8] [8] Matos, A. V. UML PrMatos, A. V. UML Práático e tico e DescomplicadoDescomplicado. . ÉÉricarica, 2002., 2002.

Page 25: Aula 5 -_fundamentos_de_uml

TPCTPC1.1. As metodologias OO surgiram muito As metodologias OO surgiram muito

antes da UML. Explique as razões que antes da UML. Explique as razões que levaram a crialevaram a criaçção da UML (apresente os ão da UML (apresente os problemas que ainda persistiram, mesmo problemas que ainda persistiram, mesmo com o aparecimento das metodologias com o aparecimento das metodologias OO);OO);

2.2. Que complemento a UML necessita para Que complemento a UML necessita para o desenvolvimento de sistemas? o desenvolvimento de sistemas? PorquPorquêê? ?

3.3. O que O que éé um diagrama de casos de uso? um diagrama de casos de uso? Quais os elementos que o compõe?Quais os elementos que o compõe?

4.4. No sistema de gestão de biblioteca da No sistema de gestão de biblioteca da USTM, identifique 3 casos de uso e USTM, identifique 3 casos de uso e descreva, detalhadamente, um deles.descreva, detalhadamente, um deles.