aula 4 -_metodologia_e_tecnicas_de_analise_oo

25
2/16/2007 2/16/2007 1 1 Metodologia e T Metodologia e T é é cnicas de cnicas de An An á á lise OO lise OO Docentes: Zeferino Saugene Docentes: Zeferino Saugene Edgar Gemo Edgar Gemo

Upload: portaldoestudanteads

Post on 03-Jul-2015

355 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 11

Metodologia e TMetodologia e Téécnicas de cnicas de AnAnáálise OOlise OO

Docentes: Zeferino SaugeneDocentes: Zeferino SaugeneEdgar GemoEdgar Gemo

Page 2: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 22

TecnicasTecnicas e Metodologias e Metodologias OOOO

Uma das preocupaUma das preocupaçções da indões da indúústria stria de software de software éé a necessidade de a necessidade de criar software e sistemas criar software e sistemas corporativos muito rapidamente e a corporativos muito rapidamente e a um custo baixo. Este software um custo baixo. Este software deverdeveráá ainda ser ainda ser conficonfiáávelvel..Os meios para se conseguir um Os meios para se conseguir um software que preencha essas software que preencha essas exigências não exigências não éé a aplicaa aplicaçção de ão de uma suma sóó ttéécnica mas a combinacnica mas a combinaçção ão de muitas ferramentas e tde muitas ferramentas e téécnicas cnicas necessnecessáárias para o desenvolvimento rias para o desenvolvimento de um determinado software.de um determinado software.

Page 3: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 33

TTéécnicas OOcnicas OO

As tAs téécnicas Orientadas a Objecto cnicas Orientadas a Objecto permitem que o software seja permitem que o software seja construconstruíído de "objectos" que tenham do de "objectos" que tenham um comportamento especum comportamento especíífico. fico.

Os prOs próóprios objectos podem ser prios objectos podem ser construconstruíídos a partir de outros, os quais dos a partir de outros, os quais por sua vez, podem ainda ser por sua vez, podem ainda ser construconstruíídos a partir de outros. dos a partir de outros.

Page 4: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 44

TTéécnicas OOcnicas OO

O mundo das tO mundo das téécnicas orientadas a cnicas orientadas a objecto executadas com ferramentas objecto executadas com ferramentas CASE baseadas em repositCASE baseadas em repositóórios rios éédiferente.diferente.

O desenvolvedor deverO desenvolvedor deveráá pensar em pensar em termos de objectos e seu termos de objectos e seu comportamento, e o ccomportamento, e o cóódigo serdigo seráágerado.gerado.

Page 5: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 55

CaracterCaracteríísticas das Tsticas das Téécnicas OO (1)cnicas OO (1)

De acordo com De acordo com MartinMartin (1995) :(1995) :

Sistemas podem ser frequentemente Sistemas podem ser frequentemente construconstruíídos de objectos existentes;dos de objectos existentes;

A complexidade de objectos que podemos A complexidade de objectos que podemos usar continua a crescer, visto que objectos usar continua a crescer, visto que objectos são construsão construíídos dentro de outros objectos;dos dentro de outros objectos;

O repositO repositóório CASE deve conter uma rio CASE deve conter uma biblioteca sempre crescente de tipos de biblioteca sempre crescente de tipos de objectos;objectos;

Page 6: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 66

CaracterCaracteríísticas das Tsticas das Téécnicas cnicas OO (2)OO (2)

Recriar sistemas que Recriar sistemas que funcionem de forma correcta funcionem de forma correcta éémais fmais fáácil com as tcil com as téécnicas OO. cnicas OO. Isto porque as classes são Isto porque as classes são independentes e projectadas independentes e projectadas para serem para serem reusadasreusadas;;

As tAs téécnicas OO têm um ajuste cnicas OO têm um ajuste natural com a tecnologia CASE. natural com a tecnologia CASE.

Page 7: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 77

Metodologias de Metodologias de Desenvolvimento de SistemasDesenvolvimento de Sistemas

As metodologias estruturadasAs metodologias estruturadasModelo de dados relacional Modelo de dados relacional TTéécnicas e notacnicas e notaççõesões

As metodologias orientadas a As metodologias orientadas a objectos(OO)objectos(OO)

Modelo de Dados OOModelo de Dados OOA Linguagem de ModelaA Linguagem de Modelaçção ão UMLUML

Page 8: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 88

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 9: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 99

MMéétodotodo BoochBooch (1)(1)A A notanotaççãoão capturacaptura osos aspectosaspectosestestááticosticos e e dinâmicosdinâmicos de um de um sistemasistemaO O processoprocesso possuipossui 4 4 fasesfases: :

IdentificarIdentificar classes e classes e objectosobjectosIdentificarIdentificar a a semânticasemântica das classes e das classes e dos dos objectosobjectosIdentificarIdentificar osos relacionamentosrelacionamentos entreentreclasses e classes e objectosobjectosImplementarImplementar classes e classes e objectosobjectos..

Page 10: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1010

MMéétodotodo BoochBooch (2)(2)

DiagramasDiagramas: classes, : classes, objectosobjectos, , mmóódulosdulos, , processosprocessos, , transitransiççãoão de de estadosestados e e interacinteracççãoãoUm Um diagramadiagrama de classes de classes mostramostra as as classes, classes, seusseus relacionamentosrelacionamentos e e cardinalidadescardinalidades

Page 11: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1111

MMéétodotodo BoochBooch (3)(3)

Um Um diagramadiagrama de de objectosobjectos (e (e template) template) mostramostra osos objectosobjectos, , seusseusrelacionamentosrelacionamentos, , suasua visibilidadevisibilidade(global, (global, parâmetroparâmetro, local), e , local), e sincronizasincronizaççãoão ((ssííncronancrona, , assassííncronancrona, , timeout) de timeout) de mensagensmensagens

Page 12: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1212

MMéétodotodo BoochBooch (4)(4)

Um Um diagramadiagrama de de mmóódulosdulos éé usadousadop/ p/ mostrarmostrar a a alocaalocaççãoão de classes e de classes e objectosobjectos emem mmóódulosdulos (e.g. (e.g. programaprograma principal, principal, especificaespecificaççãoão, , corpocorpo, , subsistemasubsistema) no ) no desenhodesenhoffíísicosico do do sistemasistema

Page 13: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1313

MMéétodotodo BoochBooch (5)(5)

Um Um diagramadiagrama de de processosprocessos éé usadousadoparapara mostrarmostrar a a alocaalocaççãoão de de processosprocessos emem processadoresprocessadores no no desenhodesenho ffíísicosico de um de um sistemasistema. . ConexõesConexões tambtambéémm sãosão mostradasmostradas

Page 14: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1414

OMT (1)OMT (1)OMT (Object Modeling Technique) OMT (Object Modeling Technique) consisteconsiste de 3 de 3 modelosmodelos: : ModeloModelo de de ObjectoObjecto, , ModeloModelo DinâmicoDinâmico e o e o ModeloModeloFuncionalFuncionalNa Na definidefiniççãoão do do modelomodelo de de objectosobjectos::

O O analistaanalista identificaidentifica classes e classes e objectosobjectos, , ConstrConstróóii um um diciondicionááriorio de dados, de dados, AdicionaAdiciona associaassociaççõesões entreentre classes, classes, AdicionaAdiciona atributosatributos a a objectosobjectos, , OrganizaOrganiza classes classes atravatravééss de de heranheranççaa, , TestaTesta passospassos de de acessoacesso usandousando cencenááriosriosRefinaRefina o o modelomodelo e e agrupaagrupa classes classes ememmmóódulosdulos

Page 15: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1515

OMT (2)OMT (2)

A A definidefiniççãoão do do modelomodelo dinâmicodinâmicoconsisteconsiste emem: :

EscreverEscrever cencenááriosrios de de interacinteracççõesõesttíípicaspicasIdentificarIdentificar eventoseventos entreentre objectosobjectosPrepararPreparar um um event trace diagramevent trace diagram paraparacadacada cencenááriorio

Page 16: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1616

OMT (3)OMT (3)

PrepararPreparar um um event flow diagramevent flow diagram do do sistemasistemaPrepararPreparar diagramasdiagramas de de estadosestados p/ p/ classesclassesVerificarVerificar consistênciaconsistência e e completudecompletudeentreentre diagramasdiagramas de de estadosestados. . ConcorrênciaConcorrência tambtambéémm éé descritadescrita nestenestemodelomodelo

Page 17: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1717

OMT (4)OMT (4)Na Na definidefiniççãoão do do modelomodelo funcionalfuncional, , o o analistaanalista

IdentificaIdentifica valoresvalores de de entradaentrada e e sasaíídada, , UtilizaUtiliza diagramasdiagramas de de fluxosfluxos de dados de dados parapara mostarmostar dependênciasdependências funcionaisfuncionais, , DescreveDescreve cadacada funfunççãoão, e, eIdentificaIdentifica restrirestriççõesões

Estes 3 Estes 3 modelosmodelos têmtêm de ser de ser verificadosverificados, , integradosintegrados, e , e refinadosrefinados

Page 18: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1818

OOSE/OOSE/ObjectoryObjectory

Desenvolvido por Desenvolvido por IvarIvar JacobsonJacobsonÉÉ uma abordagem orientada a use uma abordagem orientada a use casescasesO modelo de use case contO modelo de use case contéém m actores e descriactores e descriçções dos use cases ões dos use cases ÉÉ utilizado para desenvolver outros utilizado para desenvolver outros modelos (modelo de objectos, de modelos (modelo de objectos, de interacinteracçção, transião, transiçção de estados) ão de estados) O sistema O sistema éé visto como um conjunto visto como um conjunto de blocos conectados, cada bloco de blocos conectados, cada bloco representando um servirepresentando um serviçço do o do sistemasistema

Page 19: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 1919

CoadCoad and and YourdonYourdon (1)(1)

O O mméétodotodo de de ananááliselise OOA de OOA de CoadCoadand Yourdon and Yourdon éé compostocomposto porpor 5 5 camadascamadas de de ananááliselise::As As camadascamadas sãosão: :

ClasseClasse--ObjectoObjecto, , EstruturaEstrutura, , AssuntoAssunto, , AtributoAtributo e e ServiServiççoo

Page 20: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 2020

CoadCoad and and YourdonYourdon (2)(2)A A camadacamada ClasseClasse--ObjectoObjecto consisteconsiste ememidentificaridentificar classes e classes e objectosobjectos de de umaumaaplicaaplicaççãoão atravatravééss de de documentosdocumentos, , unidadesunidades organizacionaisorganizacionais, , outrosoutrossistemassistemas, etc. , etc. A A camadacamada EstruturaEstrutura consisteconsiste emem definirdefinirosos relacionamentosrelacionamentos de de generalizageneralizaççãoão, , especializaespecializaççãoão e e agregaagregaççãoãoA A camadacamada AssuntoAssunto ((Subject) Subject) consisteconsiste no no agrupamentoagrupamento de de objectosobjectos/classes /classes relacionadosrelacionados

Page 21: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 2121

CoadCoad and and YourdonYourdon (3)(3)

A camada A camada Atributo Atributo consiste em consiste em identificar as propriedades de classes e identificar as propriedades de classes e objectos a fim de dar mais detalhes objectos a fim de dar mais detalhes ààs s suas descrisuas descriçções. Conexões de instância ões. Conexões de instância tbtb são definidas: são associasão definidas: são associaçções entre ões entre objectos + restriobjectos + restriçções de cardinalidade ões de cardinalidade A camada A camada ServiServiççoo consiste em consiste em identificar os estados dos objectos, os identificar os estados dos objectos, os serviserviçços disponos disponííveis para cada classe e veis para cada classe e conexões de mensagens. conexões de mensagens.

Um serviUm serviçço o éé uma processo a ser realizado uma processo a ser realizado quando uma mensagem quando uma mensagem éé recebida recebida

Page 22: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 2222

UML (1)UML (1)

Um forUm forçça de trabalho da OMG a de trabalho da OMG foi estabelecida para foi estabelecida para standardizastandardizaççãoão na na áárea de rea de mméétodostodosEm 1997, vEm 1997, váárias organizarias organizaçções ões submeteram propostassubmeteram propostasUML tUML tornouornou--se um se um standardstandardparapara modelamodelaççãoão OOOO

Page 23: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 2323

UML (2)UML (2)

DesenvolvidoDesenvolvido porpor autoresautores de de mméétodostodos de de ananááliselise e e desenhodesenholargamente largamente utilizadosutilizados ((BoochBooch, , RumbaughRumbaugh, , JacobsonJacobson))UML no estado actual define uma UML no estado actual define uma notanotaçção e um ão e um metamodelometamodelo; ou seja, ; ou seja, UMLUML não não éé um mum méétodotodoA nA notaotaççãoão éé grgrááfica; fica; éé a sintaxe da a sintaxe da linguagem de modelalinguagem de modelaççãoão

Page 24: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 2424

UML (3)UML (3)O O metameta--modelomodelo éé usado para usado para aumentar o rigor dos modelos, aumentar o rigor dos modelos, normalmente utilizando um normalmente utilizando um diagrama de classes para definir a diagrama de classes para definir a notanotaççãoão

Relacionamento

AssociaçãoAgregação

Page 25: Aula 4 -_metodologia_e_tecnicas_de_analise_oo

2/16/20072/16/2007 2525

BibliografiaBibliografiaLarmanLarman, C. (2001);, C. (2001); ApplyingApplying UML and PattUML and Patternserns: An : An IntroducIntroductiontion to Objectto Object--OrOrientediented Analysis and Design Analysis and Design andand the Unified Processthe Unified Process,, USAUSA,, PrenticePrentice Hall PTR Hall PTR ––22ªª EdiEdiççãoão

MartinMartin, J. e , J. e OdellOdell, J. J. (1995) , J. J. (1995) AnAnáálise e lise e ProjetoProjetoOrientados a ObjetoOrientados a Objeto, São Paulo: , São Paulo: MakronMakron BooksBooks

PagePage--JonesJones, M. (2001) , M. (2001) Fundamentos do Desenho Fundamentos do Desenho Orientado a Orientado a ObjetoObjeto com UMLcom UML, São Paulo: , São Paulo: MakronMakronBooksBooks

Pereira, R.(1996) Pereira, R.(1996) AvaliacaoAvaliacao de metodologias de de metodologias de ananáálise e projecto orientadas a objectos voltadas ao lise e projecto orientadas a objectos voltadas ao desenvolvimento de aplicadesenvolvimento de aplicaçções sob a ões sob a óóticatica de sua de sua utilizautilizaçção no desenvolvimento de ão no desenvolvimento de frameworksframeworksorientados a objetosorientados a objetos, , http://www.inf.ufsc.brhttp://www.inf.ufsc.brhttphttp://://www.mat.ua.ptwww.mat.ua.pt