Você está na página 1de 40

1. Introduo 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificao dos mtodos para a criao de um novo padro 4. Uso da UML 5.

ases do Desenvolvimento de um Sistema em UML

1. Anlise de Requisitos 2. Anlise 3. Design (Projeto) 4. Programao 5. Testes 6. A !otao da Lin"ua"em de Modela"em Unificada UML 7. #is$es 8. Modelos de %lementos 1. Classes 2. Objetos 3. Estados 4. Pacotes 5. Com onentes 6. Relacionamentos 7. !ecanismos "erais 9. Dia"ramas 1. Diagrama #se$Case 2. Diagrama de Classes 3. Diagrama de Objetos 4. Diagrama de Estado 5. Diagrama de %eq&'ncia 6. Diagrama de Colaborao 7. Diagrama de Ati(idade 8. Diagrama de Com onente 9. Diagrama de E)ecuo 10. Um processo para utili&ar a UML 11. ' uturo da UML

12. Um estudo de caso em UML ( Sistema de )ontrole de )ontas )orrentes* +oupana e


Aplica$es +r(fi,adas

1. Anlise de Requisitos 2. Anlise 3. Design 4. *m lementao 5. Testes 13. )oncluso

-. Introduo O grande roblema do desen(ol(imento de no(os sistemas utili+ando a orientao a objetos nas ,ases de anlise de requisitos- anlise de sistemas e design . que no e)iste uma notao adroni+ada e realmente e,ica+ que abranja qualquer ti o de a licao que se deseje/ Cada simbologia e)istente ossui seus r0 rios conceitos- gr,icos e terminologias- resultando numa grande con,uso- es ecialmente ara aqueles que querem utili+ar a orientao a objetos no s0 sabendo ara que lado a onta a seta de um relacionamento- mas sabendo criar modelos de qualidade ara ajud$los a construir e manter sistemas cada (e+ mais e,ica+es/ 1uando a 2#ni,ied !odeling 3anguage2 (#!3) ,oi lanada- muitos desen(ol(edores da rea da orientao a objetos ,icaram entusiasmados j que essa adroni+ao ro osta ela #!3 era o ti o de ,ora que eles sem re es eraram/ A #!3 . muito mais que a adroni+ao de uma notao/ 4 tamb.m o desen(ol(imento de no(os conceitos no normalmente usados/ Por isso e muitas outras ra+5es- o bom entendimento da #!3 no . a enas a render a simbologia e o seu signi,icado- mas tamb.m signi,ica a render a modelar orientado a objetos no estado da arte/ #!3 ,oi desen(ol(ida or "rad6 7ooc8- 9ames Rumbaug8- e *(ar 9acobson que so con8ecidos como 2os tr's amigos2/ Eles ossuem uma e)tenso con8ecimento na rea de modelagem orientado a objetos j que as tr's mais conceituadas metodologias de modelagem orientado a objetos ,oram eles que desen(ol(eram e a #!3 . a juno do que 8a(ia de mel8or nestas tr's metodologias adicionado no(os conceitos e (is5es da linguagem/ :eremos caracter;sticas de cada uma destas metodologias no desen(ol(er deste trabal8o/ :eremos como a #!3 aborda o carter esttico e din<mico do sistema a ser analisado le(ando em considerao- j no er;odo de modelagem- todas as ,uturas caracter;sticas do sistema em relao a utili+ao de 2 ac=ages2 r0 rios da linguagem a ser utili+ada- utili+ao do banco de dados bem como as di(ersas es eci,ica5es do sistema a ser desen(ol(ido de acordo com as m.tricas ,inais do sistema/ >o . intuito deste trabal8o de,inir e e) licar os signi,icados de classes- objetos- relacionamentos,lu)os- mensagens e outras entidades comuns da orientao a objetos- e sim a resentarmos como essas entidades so criadas- simboli+adas- organi+adas e como sero utili+adas dentro de um desen(ol(imento utili+ando a #!3/

/. Desenvolvimento de Softwares orientado a objetos Os conceitos da orientao a objetos j ('m sido discutidos 8 muito tem o- desde o lanamento da ?@ linguagem orientada a objetos- a %*!#3A/ :rios 2 a as2 da engen8aria de so,tAare mundial como Peter Coad- EdAard Bourdon e Roger Pressman abordaram e)tensamente a anlise orientada a objetos como realmente um grande a(ano no desen(ol(imento de sistemas/ !as mesmo assim- eles citam que no e)iste (ou que no e)istia no momento de suas ublica5es) uma linguagem que ossibilitasse o desen(ol(imento de qualquer so,tAare utili+ando a anlise orientada a objetos/ Os conceitos que Coad- Bourdon- Pressman e tantos outros abordaram- discutiram e de,iniram em suas ublica5es ,oram queC

A orientao a objetos . uma tecnologia ara a roduo de modelos que es eci,iquem o


dom;nio do roblema de um sistema/

1uando constru;dos corretamente- sistemas orientados a objetos so ,le);(eis a


mudanas- ossuem estruturas bem con8ecidas e ro('m a o ortunidade de criar e im lementar com onentes totalmente reutili+(eis/

!odelos orientado a objetos so im lementados con(enientemente utili+ando uma


linguagem de rogramao orientada a objetos/ A engen8aria de so,tAare orientada a objetos . muito mais que utili+ar mecanismos de sua linguagem de rogramao- . saber utili+ar da mel8or ,orma oss;(el todas as t.cnicas da modelagem orientada a objetos//

A orientao a objetos no . s0 teoria- mas uma tecnologia de e,ici'ncia e qualidade


com ro(adas usada em inDmeros rojetos e ara construo de di,erentes ti o de sistemas/ A orientao a objetos requer um m.todo que integre o rocesso de desen(ol(imento e a linguagem de modelagem com a construo de t.cnicas e ,erramentas adequadas

0. UML A unificao dos mtodos para a criao de um novo padro A #!3 . uma tentati(a de adroni+ar a modelagem orientada a objetos de uma ,orma que qualquer sistema- seja qual ,or o ti o- ossa ser modelado corretamente- com consist'ncia- ,cil de se comunicar com outras a lica5es- sim les de ser atuali+ado e com reens;(el/ E)istem (rias metodologias de modelagem orientada a objetos que at. o surgimento da #!3 causa(am uma guerra entre a comunidade de desen(ol(edores orientado a objetos/ A #!3 acabou com esta guerra tra+endo as mel8ores id.ias de cada uma destas metodologias- e mostrando como de(eria ser a migrao de cada uma ara a #!3/ Ealaremos sobre algumas das rinci ais metodologias que se tornaram o ulares nos anos FGC

7ooc8 H O m.todo de "rad6 7ooc8 ara desen(ol(imento orientado a objetos est


dis on;(el em muitas (ers5es/ 7ooc8 de,iniu a noo de que um sistema . analisado a artir de um nDmero de (is5es- onde cada (iso . descrita or um nDmero de modelos e diagramas/ O !.todo de 7ooc8 tra+ia uma simbologia com le)a de ser desen8ada a mocontin8a tamb.m o rocesso elo qual sistemas so analisados or macro e micro (is5es/

O!T H T.cnica de !odelagem de Objetos (Object !odelling Tec8nique) . um m.todo


desen(ol(ido ela "E ("eneral Electric) onde 9ames Rumbaug8 trabal8a(a/ O m.todo . es ecialmente (oltado ara o teste dos modelos- baseado nas es eci,ica5es da anlise de requisitos do sistema/ O modelo total do sistema baseado no m.todo O!T . com osto ela juno dos modelos de objetos- ,uncional e use$cases/

OO%EIObjector6 H Os m.todos OO%E e o Objector6 ,oram desen(ol(idos baseados no


mesmo onto de (ista ,ormado or *(ar 9acobson/ O m.todo OO%E . a (iso de 9acobson de um m.todo orientado a objetos- j o Objector6 . usado ara a construo de sistemas to di(ersos quanto eles ,orem/ Ambos os m.todos so baseados na utili+ao de use$ cases- que de,inem os requisitos iniciais do sistema- (istos or um ator e)terno/ O m.todo Objector6 tamb.m ,oi ada tado ara a engen8aria de neg0cios- onde . usado ara modelar e mel8orar os rocessos en(ol(idos no ,uncionamento de em resas/ Cada um destes m.todos ossui sua r0 ria notao (seus r0 rios s;mbolos ara re resentar modelos orientado a objetos)- rocessos (que ati(idades so desen(ol(idas em di,erentes artes do desen(ol(imento)- e ,erramentas (as ,erramentas CA%E que su ortam cada uma destas nota5es e rocessos)/ Diante desta di(ersidade de conceitos- 2os tr's amigos2- "rad6 7ooc8- 9ames Rumbaug8 e *(ar 9acobson decidiram criar uma 3inguagem de !odelagem #ni,icada/ Eles dis onibili+aram inDmeras (ers5es reliminares da #!3 ara a comunidade de desen(ol(edores e a res osta incrementou muitas no(as id.ias que mel8oraram ainda mais a linguagem/ Os objeti(os da #!3 soC

A modelagem de sistemas (no a enas de so,tAare) usando os conceitos da orientao a


objetosJ

Estabelecer uma unio ,a+endo com que m.todos conceituais sejam tamb.m e)ecut(eisJ Criar uma linguagem de modelagem us(el tanto elo 8omem quanto ela mquina/
A #!3 est destinada a ser dominante- a linguagem de modelagem comum a ser usada nas indDstrias/ Ela est totalmente baseada em conceitos e adr5es e)tensi(amente testados ro(enientes das metodologias e)istentes anteriormente- e tamb.m . muito bem documentada com toda a es eci,icao da sem<ntica da linguagem re resentada em meta$modelos

1. Uso da UML A #!3 . usada no desen(ol(imento dos mais di(ersos ti os de sistemas/ Ela abrange sem re qualquer caracter;stica de um sistema em um de seus diagramas e . tamb.m a licada em di,erentes ,ases do desen(ol(imento de um sistema- desde a es eci,icao da anlise de requisitos at. a ,inali+ao com a ,ase de testes/

O objeti(o da #!3 . descre(er qualquer ti o de sistema- em termos de diagramas orientado a objetos/ >aturalmente- o uso mais comum . ara criar modelos de sistemas de so,tAare- mas a #!3 tamb.m . usada ara re resentar sistemas mec<nicos sem nen8um so,tAare/ Aqui esto alguns ti os di,erentes de sistemas com suas caracter;sticas mais comunsC

%istemas de *n,ormaoC Arma+enar- esquisar- editar e mostrar in,orma5es ara os


usurios/ !anter grandes quantidades de dados com relacionamentos com le)os- que so guardados em bancos de dados relacionais ou orientados a objetos/

%istemas T.cnicosC !anter e controlar equi amentos t.cnicos como de telecomunica5esequi amentos militares ou rocessos industriais/ Eles de(em ossuir inter,aces es eciais do equi amento e menos rogramao de so,tAare de que os sistemas de in,ormao/ %istemas T.cnicos so geralmente sistemas real$time/

%istemas Real$time *ntegradosC E)ecutados em sim les eas de 8ardAare integrados a


tele,ones celulares- carros- alarmes etc/ Estes sistemas im lementam rogramao de bai)o n;(el e requerem su orte real$time/

%istemas Distribu;dosC Distribu;dos em mquinas onde os dados so trans,eridos


,acilmente de uma mquina ara outra/ Eles requerem mecanismos de comunicao sincroni+ados ara garantir a integridade dos dados e geralmente so constru;dos em mecanismos de objetos como COR7A- CO!IDCO! ou 9a(a 7eansIR!*/

%istemas de %o,tAareC De,inem uma in,ra$estrutura t.cnica que outros so,tAares utili+am/
%istemas O eracionais- bancos de dados- e a5es de usurios que e)ecutam a5es de bai)o n;(el no 8ardAare- ao mesmo tem o que dis onibili+am inter,aces gen.ricas de uso de outros so,tAares/

%istemas de >eg0ciosC descre(e os objeti(os- es eci,ica5es ( essoas- com utadores


etc/)- as regras (leis- estrat.gias de neg0cios etc/)- e o atual trabal8o desem en8ado nos rocessos do neg0cio/ 4 im ortante erceber que a maioria dos sistemas no ossuem a enas uma destas caracter;sticas acima relacionadas- mas (rias delas ao mesmo tem o/ %istemas de in,orma5es de 8oje- or e)em lo- odem ter tanto caracter;sticas distribu;das como real$time/ E a #!3 su orta modelagens de todos estes ti os de sistemas/

2. ases do Desenvolvimento de um Sistema em UML E)istem cinco ,ases no desen(ol(imento de sistemas de so,tAareC anlise de requisitos- anlisedesign ( rojeto)- rogramao e testes/ Estas cinco ,ases no de(em ser e)ecutadas na ordem descrita acima- mas concomitantemente de ,orma que roblemas detectados numa certa ,ase modi,iquem e mel8orem as ,ases desen(ol(idas anteriormente de ,orma que o resultado global gere um roduto de alta qualidade e er,ormance/ A seguir ,alaremos sobre cada ,ase do desen(ol(imento de um sistema em #!3C 5.1. Anlise de Requisitos Esta ,ase ca tura as inten5es e necessidades dos usurios do sistema a ser desen(ol(ido atra(.s do uso de ,un5es c8amadas 2use$cases2/ Atra(.s do desen(ol(imento de 2use$case2- as entidades e)ternas ao sistema (em #!3 c8amados de 2atores e)ternos2) que interagem e

ossuem interesse no sistema so modelados entre as ,un5es que eles requerem- ,un5es estas c8amadas de 2use$cases2/ Os atores e)ternos e os 2use$cases2 so modelados com relacionamentos que ossuem comunicao associati(a entre eles ou so desmembrados em 8ierarquia/ Cada 2use$case2 modelado . descrito atra(.s de um te)to- e este es eci,ica os requerimentos do ator e)terno que utili+ar este 2use$case2/ O diagrama de 2use$cases2 mostrar o que os atores e)ternos- ou seja- os usurios do ,uturo sistema de(ero es erar do a licati(ocon8ecendo toda sua ,uncionalidade sem im ortar como esta ser im lementada/ A anlise de requisitos tamb.m ode ser desen(ol(ida baseada em rocessos de neg0cios- e no a enas ara sistemas de so,tAare/ 5.2. Anlise A ,ase de anlise est reocu ada com as rimeiras abstra5es (classes e objetos) e mecanismos que estaro resentes no dom;nio do roblema/ As classes so modeladas e ligadas atra(.s de relacionamentos com outras classes- e so descritas no Diagrama de Classe/ As colabora5es entre classes tamb.m so mostradas neste diagrama ara desen(ol(er os 2use$cases2 modelados anteriormente- estas colabora5es so criadas atra(.s de modelos din<micos em #!3/ >a anlises0 sero modeladas classes que ertenam ao dom;nio rinci al do roblema do so,tAare- ou sejaclasses t.cnicas que gerenciem banco de dados- inter,ace- comunicao- concorr'ncia e outros no estaro resentes neste diagrama/ 5.3. Design (Projeto) >a ,ase de design- o resultado da anlise . e) andido em solu5es t.cnicas/ >o(as classes sero adicionadas ara ro(er uma in,ra$estrutura t.cnicaC a inter,ace do usurio e de eri,.ricosgerenciamento de banco de dados- comunicao com outros sistemas- dentre outros/ As classes do dom;nio do roblema modeladas na ,ase de anlise so mescladas nessa no(a in,ra$estrutura t.cnica tornando oss;(el alterar tanto o dom;nio do roblema quanto a in,ra$estrutura/ O design resulta no detal8amento das es eci,ica5es ara a ,ase de rogramao do sistema/ 5.4. Programao >a ,ase de rogramao- as classes ro(enientes do design so con(ertidas ara o c0digo da linguagem orientada a objetos escol8ida (a utili+ao de linguagens rocedurais . e)tremamente no recomendada)/ De endendo da ca acidade da linguagem usada- essa con(erso ode ser uma tare,a ,cil ou muito com licada/ >o momento da criao de modelos de anlise e design em #!3- . mel8or e(itar tradu+i$los mentalmente em c0digo/ >as ,ases anteriores- os modelos criados so o signi,icado do entendimento e da estrutura do sistema- ento- no momento da gerao do c0digo onde o analista conclua anteci adamente sobre modi,ica5es em seu conteDdo- seus modelos no estaro mais demonstrando o real er,il do sistema/ A rogramao . uma ,ase se arada e distinta onde os modelos criados so con(ertidos em c0digo/ 5.5. estes #m sistema normalmente . rodado em testes de unidade- integrao- e aceitao/ Os testes de unidade so ara classes indi(iduais ou gru os de classes e so geralmente testados elo rogramador/ Os testes de integrao so a licados j usando as classes e com onentes integrados ara se con,irmar se as classes esto coo erando uma com as outras como es eci,icado nos modelos/ Os testes de aceitao obser(am o sistema como uma 2 cai)a reta2 e (eri,icam se o sistema est ,uncionando como o es eci,icado nos rimeiros diagramas de 2use$ cases2/ O sistema ser testado elo usurio ,inal e (eri,icar se os resultados mostrados esto realmente de acordo com as inten5es do usurio ,inal/

3. A !otao da Lin"ua"em de Modela"em Unificada UML Tendo em mente as cinco ,ases do desen(ol(imento de so,tAares- as ,ases de anlise de requisitos- anlise e design utili+am$se em seu desen(ol(imento cinco ti os de (is5es- no(e ti os de diagramas e (rios modelos de elementos que sero utili+ados na criao dos diagramas e mecanismos gerais que todos em conjunto es eci,icam e e)em li,icam a de,inio do sistematanto a de,inio no que di+ res eito K ,uncionalidade esttica e din<mica do desen(ol(imento de um sistema/ Antes de abordarmos cada um destes com onentes se aradamente- de,iniremos as artes que com 5em a #!3C

:is5esC As :is5es mostram di,erentes as ectos do sistema que est sendo modelado/ A
(iso no . um gr,ico- mas uma abstrao consistindo em uma s.rie de diagramas/ De,inindo um nDmero de (is5es- cada uma mostrar as ectos articulares do sistemadando en,oque a <ngulos e n;(eis de abstra5es di,erentes e uma ,igura com leta do sistema oder ser constru;da/ As (is5es tamb.m odem ser(ir de ligao entre a linguagem de modelagem e o m.todoI rocesso de desen(ol(imento escol8ido/

!odelos de ElementosC Os conceitos usados nos diagramas so modelos de elementos


que re resentam de,ini5es comuns da orientao a objetos como as classes- objetosmensagem- relacionamentos entre classes incluindo associa5es- de end'ncias e 8eranas/

!ecanismos "eraisC Os mecanismos gerais ro(.m comentrios su lementaresin,orma5es- ou sem<ntica sobre os elementos que com 5em os modelosJ eles ro(.m tamb.m mecanismos de e)tenso ara ada tar ou estender a #!3 ara um m.todoI rocesso- organi+ao ou usurio es ec;,ico/

DiagramasC Os diagramas so os gr,icos que descre(em o conteDdo em uma (iso/ #!3


ossui no(e ti o de diagramas que so usados em combinao ara ro(er todas as (is5es do sistema/

4. #is$es O desen(ol(imento de um sistema com le)o no . uma tare,a ,cil/ O ideal seria que o sistema inteiro udesse ser descrito em um Dnico gr,ico e que este re resentasse or com leto as reais inten5es do sistema sem ambiguidades- sendo ,acilmente inter ret(el/ *n,eli+mente- isso . im oss;(el/ #m Dnico gr,ico . inca a+ de ca turar todas as in,orma5es necessrias ara descre(er um sistema/ #m sistema . com osto or di(ersos as ectosC ,uncional (que . sua estrutura esttica e suas intera5es din<micas)- no ,uncional (requisitos de tem o- con,iabilidade- desen(ol(imento- etc/) e as ectos organi+acionais (organi+ao do trabal8o- ma eamento dos m0dulos de c0digo- etc/)/ Ento o sistema . descrito em um certo nDmero de (is5es- cada uma re resentando uma rojeo da descrio com leta e mostrando as ectos articulares do sistema/ Cada (iso . descrita or um nDmero de diagramas que cont.m in,orma5es que do 'n,ase aos as ectos articulares do sistema/ E)iste em alguns casos uma certa sobre osio entre os diagramas o que signi,ica que um deste ode ,a+er arte de mais de uma (iso/ Os diagramas que com 5em as (is5es cont.m os modelos de elementos do sistema/ As (is5es que com 5em um sistema soC

10

:iso 2use$case2C Descre(e a ,uncionalidade do sistema desem en8ada elos atores


e)ternos do sistema (usurios)/ A (iso use$case . central- j que seu conteDdo . base do desen(ol(imento das outras (is5es do sistema/ Essa (iso . montada sobre os diagramas de use$case e e(entualmente diagramas de ati(idade/

:iso 30gicaC Descre(e como a ,uncionalidade do sistema ser im lementada/ 4 ,eita


rinci almente elos analistas e desen(ol(edores/ Em contraste com a (iso use$case- a (iso l0gica obser(a e estuda o sistema internamente/ Ela descre(e e es eci,ica a estrutura esttica do sistema (classes- objetos- e relacionamentos) e as colabora5es din<micas quando os objetos en(iarem mensagens uns ara os outros ara reali+arem as ,un5es do sistema/ Pro riedades como ersist'ncia e concorr'ncia so de,inidas nesta ,ase- bem como as inter,aces e as estruturas de classes/ A estrutura esttica . descrita elos diagramas de classes e objetos/ O modelamento din<mico . descrito elos diagramas de estado- sequencia- colaborao e ati(idade/

:iso de Com onentesC 4 uma descrio da im lementao dos m0dulos e suas


de end'ncias/ 4 rinci almente e)ecutado or desen(ol(edores- e consiste nos com onentes dos diagramas/

:iso de concorr'nciaC Trata a di(iso do sistema em rocessos e rocessadores/ Este


as ecto- que . uma ro riedade no ,uncional do sistema- ermite uma mel8or utili+ao do ambiente onde o sistema se encontrar- se o mesmo ossui e)ecu5es aralelas- e se e)iste dentro do sistema um gerenciamento de e(entos ass;ncronos/ #ma (e+ di(idido o sistema em lin8as de e)ecuo de rocessos concorrentes (t8reads)- esta (iso de concorr'ncia de(er mostrar como se d a comunicao e a concorr'ncia destas t8reads/ A (iso de concorr'ncia . su ortada elos diagramas din<micos- que so os diagramas de estado- sequencia- colaborao e ati(idade- e elos diagramas de im lementao- que so os diagramas de com onente e e)ecuo/

:iso de Organi+aoC Einalmente- a (iso de organi+ao mostra a organi+ao ,;sica do


sistema- os com utadores- os eri,.ricos e como eles se conectam entre si/ Esta (iso ser e)ecutada elos desen(ol(edores- integradores e testadores- e ser re resentada elo diagrama de e)ecuo/

11

5. Modelos de %lementos Os conceitos usados nos diagramas so c8amados de modelos de elementos/ #m modelo de elemento . de,inido com a sem<ntica- a de,inio ,ormal do elemento com o e)ato signi,icado do que ele re resenta sem de,ini5es du(idosas ou amb;guas e tamb.m de,ine sua re resentao gr,ica que . mostrada nos diagramas da #!3/ #m elemento ode e)istir em di(ersos ti os de diagramas- mas e)istem regras que de,inem que elementos odem ser mostrados em que ti os de diagramas/ Alguns e)em los de modelos de elementos so as classes- objetos- estados- acotes e com onentes/ Os relacionamentos tamb.m so modelos de elementos- e so usados ara conectar outros modelos de elementos entre si/ Todos os modelos de elementos sero de,inidos e e)em li,icados a seguir/ !.1. "lasses #ma classe . a descrio de um ti o de objeto/ Todos os objetos so inst<ncias de classes- onde a classe descre(e as ro riedades e com ortamentos daquele objeto/ Objetos s0 odem ser instanciados de classes/ #sam$se classes ara classi,icar os objetos que identi,icamos no mundo real/ Tomando como e)em lo C8arles DarAin- que usou classes ara classi,icar os animais con8ecidos- e combinou suas classes or 8erana ara descre(er a 2Teoria da E(oluo2/ A t.cnica de 8erana entre classes . tamb.m usada em orientao a objetos/ #ma classe ode ser a descrio de um objeto em qualquer ti o de sistema H sistemas de in,ormao- t.cnicos- integrados real$time- distribu;dos- so,tAare etc/ >um sistema de so,tAare- or e)em lo- e)istem classes que re resentam entidades de so,tAare num sistema o eracional como arqui(os- rogramas e)ecut(eis- janelas- barras de rolagem- etc/ *denti,icar as classes de um sistema ode ser com licado- e de(e ser ,eito or e) erts no dom;nio do roblema a que o so,tAare modelado se baseia/ As classes de(em ser retiradas do dom;nio do

12

roblema e serem nomeadas elo que elas re resentam no sistema/ 1uando rocuramos de,inir as classes de um sistema- e)istem algumas quest5es que odem ajudar a identi,ic$lasC

E)istem in,orma5es que de(em ser arma+enadas ou analisadasL %e e)istir alguma


in,ormao que ten8a que ser guardada- trans,ormada ou analisada de alguma ,ormaento . uma oss;(el candidata ara ser uma classe/

E)istem sistemas e)ternos ao modeladoL %e e)istir- eles de(ero ser (istos como classes
elo sistema ara que ossa interagir com outros e)ternos/

E)istem classes de bibliotecas- com onentes ou modelos e)ternos a serem utili+ados elo
sistema modeladoL %e sim- normalmente essas classes- com onentes e modelos contero classes candidatas ao nosso sistema/

1ual o a el dos atores dentro do sistemaL Tal(e+ o a el deles ossa ser (isto como
classes- or e)em lo- usurio- o erador- cliente e da; or diante/ Em #!3 as classes so re resentadas or um ret<ngulo di(idido em tr's com artimentosC o com artimento de nome- que conter a enas o nome da classe modelada- o de atributos- que ossuir a relao de atributos que a classe ossui em sua estrutura interna- e o com artimento de o era5es- que sero o m.todos de mani ulao de dados e de comunicao de uma classe com outras do sistema/ A sinta)e usada em cada um destes com artimentos . inde endente de qualquer linguagem de rogramao- embora ode ser usadas outras sinta)es como a do CMM9a(a- e etc/

!.2. #$jetos #m objeto . um elemento que odemos mani ular- acom an8ar seu com ortamento- criar- destruir etc/ #m objeto e)iste no mundo real/ Pode ser uma arte de qualquer ti o de sistema- or e)em lo- uma mquina- uma organi+ao- ou neg0cio/ E)istem objetos que no encontramos no mundo real- mas que odem ser (istos de deri(a5es de estudos da estrutura e com ortamento de outros objetos do mundo real/ Em #!3 um objeto . mostrado como uma classe s0 que seu nome (do objeto) . sublin8ado- e o nome do objeto ode ser mostrado o cionalmente recedido do nome da classe/

!.3. %stados

13

Todos os objetos ossuem um estado que signi,ica o resultado de ati(idades e)ecutadas elo objeto- e . normalmente determinada elos (alores de seus atributos e liga5es com outros objetos/ #m objeto muda de estado quando acontece algo- o ,ato de acontecer alguma coisa com o objeto . c8amado de e(ento/ Atra(.s da anlise da mudana de estados dos ti os de objetos de um sistema- odemos re(er todos os oss;(eis com ortamentos de um objetos de acordo com os e(entos que o mesmo ossa so,rer/

#m estado- em sua notao- ode conter tr's com artimentos/ O rimeiro mostra o nome do estado/ O segundo . o cional e mostra a (ari(el do estado- onde os atributos do objeto em questo odem ser listados e atuali+ados/ Os atributos so aqueles mostrados na re resentao da classe- e em algumas (e+es- odem ser mostradas tamb.m as (ari(eis tem orrias- que so muito Dteis em diagramas de estado- j que atra(.s da obser(<ncia de seus (alores odemos erceber a sua in,lu'ncia na mudana de estados de um objeto/ O terceiro com artimento . o cional e . c8amado de com artimento de ati(idade- onde e(entos e a5es odem ser listadas/ Tr's e(entos adr5es odem ser mostrados no com artimento de ati(idades de um estadoC entrarsair e ,a+er/ O e(ento entrar ode ser usado ara de,inir ati(idades no momento em que o objeto entra naquele estado/ O e(ento sair- de,ine ati(idades que o objeto e)ecuta antes de assar ara o r0)imo estado e o e(ento ,a+er de,ine as ati(idades do objeto enquanto se encontra naquele estado/ !.4. Pa&otes Pacote . um mecanismo de agru amento- onde todos os modelos de elementos odem ser agru ados/ Em #!3- um acote . de,inido comoC 2#m mecanismo de ro 0sito geral ara organi+ar elementos semanticamente relacionados em gru os/2 Todos os modelos de elementos que so ligados ou re,erenciados or um acote so c8amados de 2ConteDdo do acote2/ #m acote ossui (rios modelos de elementos- e isto signi,ica que estes no odem ser inclu;dos em outros acotes/

14

Pacotes odem im ortar modelos de elementos de outros acotes/ 1uando um modelo de elemento . im ortado- re,ere$se a enas ao acote que ossui o elemento/ >a grande maioria dos casos- os acotes ossuem relacionamentos com outros acotes/ Embora estes no ossuam sem<nticas de,inidas ara suas inst<ncias/ Os relacionamentos ermitidos entre acotes so de de end'ncia- re,inamento e generali+ao (8erana)/ O acote tem uma grande similaridade com a agregao (relacionamento que ser tratado em seguida)/ O ,ato de um acote ser com osto de modelos de elementos cria uma agregao de com osio/ %e este ,or destru;do- todo o seu conteDdo tamb.m ser/ !.5. "om'onentes #m com onente ode ser tanto um c0digo em linguagem de rogramao como um c0digo e)ecut(el j com ilado/ Por e)em lo- em um sistema desen(ol(ido em 9a(a- cada arqui(o .java ou .class . um com onente do sistema- e ser mostrado no diagrama de com onentes que os utili+a/

!.(. Rela&ionamentos Os relacionamentos ligam as classesIobjetos entre si criando rela5es l0gicas entre estas entidades/ Os relacionamentos odem ser dos seguintes ti osC

15

AssociaoC 4 uma cone)o entre classes- e tamb.m signi,ica que . uma cone)o entre
objetos daquelas classes/ Em #!3- uma associao . de,inida com um relacionamento que descre(e uma s.rie de liga5es- onde a ligao . de,inida como a sem<ntica entre as du las de objetos ligados/

"enerali+aoC 4 um relacionamento de um elemento mais geral e outro mais es ec;,ico/


O elemento mais es ec;,ico ode conter a enas in,orma5es adicionais/ #ma inst<ncia (um objeto . uma inst<ncia de uma classe) do elemento mais es ec;,ico ode ser usada onde o elemento mais geral seja ermitido/

De end'ncia e Re,inamentosC De end'ncia . um relacionamento entre elementos- um


inde endente e outro de endente/ #ma modi,icao . um elemento inde endente a,etar diretamente elementos de endentes do anterior/ Re,inamento . um relacionamento entre duas descri5es de uma mesma entidade- mas em n;(eis di,erentes de abstrao/ Abordaremos agora cada ti o de relacionamento e suas res ecti(as sub$di(is5esC 5.3.- Associa$es #ma associao re resenta que duas classes ossuem uma ligao (lin=) entre elas- signi,icando or e)em lo que elas 2con8ecem uma a outra2- 2esto conectadas com2- 2 ara cada N e)iste um B2 e assim or diante/ Classes e associa5es so muito oderosas quando modeladas em sistemas com le)os/ Associa$es !ormais O ti o mais comum de associao . a enas uma cone)o entre classes/ 4 re resentada or uma lin8a s0lida entre duas classes/ A associao ossui um nome (junto K lin8a que re resenta a associao)- normalmente um (erbo- mas substanti(os tamb.m so ermitidos/ Pode$se tamb.m colocar uma seta no ,inal da associao indicando que esta s0 ode ser usada ara o lado onde a seta a onta/ !as associa5es tamb.m odem ossuir dois nomes- signi,icando um nome ara cada sentido da associao/ Para e) ressar a multi licidade entre os relacionamentos- um inter(alo indica quantos objetos esto relacionados no lin=/ O inter(alo ode ser de +ero ara um (G//?)- +ero ara (rios (G//O ou a enas O)- um ara (rios (?//O)- dois (P)- cinco ara ?? (Q//??) e assim or diante/ 4 tamb.m oss;(el e) ressar uma s.rie de nDmeros como (?- R- S//?P)/ %e no ,or descrito nen8uma multi licidade- ento . considerado o adro de um ara um (?//? ou a enas ?)/

>o e)em lo acima (emos um relacionamento entre as classes Cliente e Conta Corrente se relacionam or associao/ Associao 6ecursiva 4 oss;(el conectar uma classe a ela mesma atra(.s de uma associao e que ainda re resenta semanticamente a cone)o entre dois objetos- mas os objetos conectados so da mesma classe/ #ma associao deste ti o . c8amada de associao recursi(a/

16

Associao 7ualificada Associa5es quali,icadas so usadas com associa5es de um ara (rios (?//O) ou (rios ara (rios (O)/ O 2quali,icador2 (identi,icador da associao quali,icada) es eci,ica como um determinado objeto no ,inal da associao 2n2 . identi,icado- e ode ser (isto como um ti o de c8a(e ara se arar todos os objetos na associao/ O identi,icador . desen8ado como uma equena cai)a no ,inal da associao junto K classe de onde a na(egao de(e ser ,eita/

Associao %,clusiva Em alguns modelos nem todas as combina5es so (lidas- e isto ode causar roblemas que de(em ser tratados/ #ma associao e)clusi(a . uma restrio em duas ou mais associa5es/ Ela es eci,ica que objetos de uma classe odem artici ar de no m)imo uma das associa5es em um dado momento/ #ma associao e)clusi(a . re resentada or uma lin8a tracejada entre as associa5es que so arte da associao e)clusi(a- com a es eci,icao 2TouU2 sobre a lin8a tracejada/

>o diagrama acima um contrato no ode se re,erir a uma essoa e a uma em resa ao mesmo tem o- signi,icando que o relacionamento . e)clusi(o a somente uma das duas classes/ Associao 'rdenada As associa5es entre objetos odem ter uma ordem im l;cita/ O adro ara uma associao . desordenada (ou sem nen8uma ordem es ec;,ica)/ !as uma ordem ode ser es eci,icada atra(.s da associao ordenada/ Este ti o de associao ode ser muito Dtil em casos como esteC janelas de um sistema t'm que ser ordenadas na tela (uma est no to o- uma est no ,undo e assim or diante)/ A associao ordenada ode ser escrita a enas colocando 2TordenadaU2 junto a lin8a de associao entre as duas classes/ Associao de )lasse

17

#ma classe ode ser associada a uma outra associao/ Este ti o de associao no . conectada a nen8uma das e)tremidades da associao j e)istente- mas na r0 ria lin8a da associao/ Esta associao ser(e ara se adicionar in,orma5es e)tra a associao j e)istente/

A associao da classe Eila com a associao das classes Cliente e Processo ode ser estendida com o era5es de adicionar rocessos na ,ila- ara ler e remo(er da ,ila e de ler o seu taman8o/ %e o era5es ou atributos so adicionados a associao- ela de(e ser mostrada como uma classe/ Associao 8ern9ria !ais de duas classes odem ser associadas entre si- a associao ternria associa tr's classes/ Ela . mostrada como um grade losango (diamante) e ainda su orta uma associao de classe ligada a ela- traaria$se- ento- uma lin8a tracejada a artir do losango ara a classe onde seria ,eita a associao ternria/

>o e)em lo acima a associao ternria es eci,ica que um cliente oder ossuir ? ou mais contratos e cada contrato ser com osto de ? ou (rias regras contratuais/ A"re"ao A agregao . um caso articular da associao/ A agregao indica que uma das classes do relacionamento . uma arte- ou est contida em outra classe/ As ala(ras c8a(es usadas ara identi,icar uma agregao soC 2consiste em2- 2cont.m2- 2. arte de2/

E)istem ti os es eciais de agregao que so as agrega5es com artil8adas e as com ostas/

Agregao Com artil8adaC 4 dita com artil8ada quando uma das classes . uma arte- ou
est contida na outra- mas esta arte ode ,a+er estar contida na outra (rias (e+es em um mesmo momento/

18

>o e)em lo acima uma essoa ode ser membro de um time ou (rios times e em determinado momento/

Agregao de Com osioC 4 uma agregao onde uma classe que est contida na outra
2(i(e2 e constitui a outra/ %e o objeto da classe que cont.m ,or destru;do- as classes da agregao de com osio sero destru;das juntamente j que as mesmas ,a+em arte da outra/

5.3./. :enerali&a$es A generali+ao . um relacionamento entre um elemento geral e um outro mais es ec;,ico/ O elemento mais es ec;,ico ossui todas as caracter;sticas do elemento geral e cont.m ainda mais articularidades/ #m objeto mais es ec;,ico ode ser usado como uma inst<ncia do elemento mais geral/ A generali+ao- tamb.m c8amada de 8erana- ermite a criao de elementos es eciali+ados em outros/ E)istem alguns ti os de generali+a5es que (ariam em sua utili+ao a artir da situao/ %o elasC generali+ao normal e restrita/ As generali+a5es restritas se di(idem em generali+ao de sobre osio- disjunti(a- com leta e incom leta/ :enerali&ao !ormal >a generali+ao normal a classe mais es ec;,ica- c8amada de subclasse- 8erda tudo da classe mais geral- c8amada de su erclasse/ Os atributos- o era5es e todas as associa5es so 8erdadas/

#ma classe ode ser tanto uma subclasse quanto uma su erclasse- se ela esti(er numa 8ierarquia de classes que . um gr,ico onde as classes esto ligadas atra(.s de generali+a5es/ A generali+ao normal . re resentada or uma lin8a entre as duas classes que ,a+em o relacionamento- sendo que coloca$se um seta no lado da lin8a onde encontra$se a su erclasse indicando a generali+ao/ :enerali&ao 6estrita #ma restrio a licada a uma generali+ao es eci,ica in,orma5es mais recisas sobre como a generali+ao de(e ser usada e estendida no ,uturo/ As restri5es a seguir de,inem as generali+a5es restritas com mais de uma subclasseC

"enerali+a5es de %obre osio e Disjunti(aC "enerali+ao de sobre osio signi,ica


que quando subclasses 8erdam de uma su erclasse or sobre osio- no(as subclasses destas odem 8erdar de mais de uma subclasse/ A generali+ao disjunti(a . e)atamente o contrrio da sobre osio e a generali+ao . utili+ada como adro/

19

"enerali+a5es Com leta e *ncom letaC #ma restrio simboli+ando que uma
generali+ao . com leta signi,ica que todas as subclasses j ,oram es eci,icadas- e no e)iste mais ossibilidade de outra generali+ao a artir daquele onto/ A generali+ao incom leta . e)atamente o contrrio da com leta e . assumida como adro da linguagem/

5.3.0. Depend;ncia e 6efinamentos Al.m das associa5es e generali+a5es- e)istem ainda dois ti os de relacionamentos em #!3/ O relacionamento de de end'ncia . uma cone)o sem<ntica entre dois modelos de elementos- um inde endente e outro de endente/ #ma mudana no elemento inde endente ir a,etar o modelo de endente/ Como no caso anterior com generali+a5es- os modelos de elementos odem ser uma classe- um acote- um use$case e assim or diante/ 1uando uma classe recebe um objeto de outra classe como ar<metro- uma classe acessa o objeto global da outra/ >esse caso e)iste uma de end'ncia entre estas duas classes- a esar de no ser e) l;cita/ #ma relao de de end'ncia . simboli+ada or uma lin8a tracejada com uma seta no ,inal de um dos lados do relacionamento/ E sobre essa lin8a o ti o de de end'ncia que e)iste entre as duas classes/ As classes 2Amigas2 ro(enientes do CMM so um e)em lo de um relacionamento de de end'ncia/

20

Os re,inamentos so um ti o de relacionamento entre duas descri5es de uma mesma coisa- mas em n;(eis de abstrao di,erentes e odem ser usados ara modelar di,erentes im lementa5es de uma mesma coisa (uma im lementao sim les e outra mais com le)a- mas tamb.m mais e,iciente)/ Os re,inamentos so simboli+ados or uma lin8a tracejada com um tri<ngulo no ,inal de um dos lados do relacionamento e so usados em modelos de coordenao/ Em grandes rojetos- todos os modelos que so ,eitos de(em ser coordenados/ Coordenao de modelos ode ser usada ara mostrar modelos em di,erentes n;(eis de abstrao que se relacionam e mostram tamb.m como modelos em di,erentes ,ases de desen(ol(imento se relacionam/

!.). *e&anismos +erais A #!3 utili+a alguns mecanismos em seus diagramas ara tratar in,orma5es adicionais/

OrnamentosC Ornamentos gr,icos so ane)ados aos modelos de elementos em


diagramas e adicionam sem<nticas ao elemento/ #m e)em lo de um ornamento . o da t.cnica de se arar um ti o de uma inst<ncia/ 1uando um elemento re resenta um ti o- seu nome . mostrado em negrito/ 1uando o mesmo elemento re resenta a inst<ncia de um ti o- seu nome . escrito sublin8ado e ode signi,icar tanto o nome da inst<ncia quanto o nome do ti o/ Outros ornamentos so os de es eci,icao de multi licidade de relacionamentos- onde a multi licidade . um nDmero ou um inter(alo que indica quantas inst<ncias de um ti o conectado ode estar en(ol(ido na relao/

>otasC >em tudo ode ser de,inido em uma linguagem de modelagem- sem im ortar o
quanto e)tensa ela seja/ Para ermitir adicionar in,orma5es a um modelo no oderia ser re resentado de outra ,orma- #!3 ro(' a ca acidade de adicionar >otas/ #ma >ota ode ser colocada em qualquer lugar em um diagrama- e ode conter qualquer ti o de in,ormao/

<. Dia"ramas Os diagramas utili+ados ela #!3 so com ostos de no(e ti osC diagrama de use case- de classes- de objeto- de estado- de seq&'ncia- de colaborao- de ati(idade- de com onente e o de e)ecuo/ Todos os sistemas ossuem uma estrutura esttica e um com ortamento din<mico/ A #!3 su orta modelos estticos (estrutura esttica)- din<micos (com ortamento din<mico) e ,uncional/ A !odelagem esttica . su ortada elo diagrama de classes e de objetos- que consiste nas classes e seus relacionamentos/ Os relacionamentos odem ser de associa5es- 8erana (generali+ao)de end'ncia ou re,inamentos/ Os modelamentos din<micos so su ortados elos diagramas de

21

estado- seq&'ncia- colaborao e ati(idade/ E o modelamento ,uncional . su ortado elos diagramas de com onente e e)ecuo/ Abordaremos agora cada um destes ti os de diagramaC ,.1. Diagrama -se."ase A modelagem de um diagrama use$case . uma t.cnica usada ara descre(er e de,inir os requisitos ,uncionais de um sistema/ Eles so escritos em termos de atores e)ternos- use$cases e o sistema modelado/ Os atores re resentam o a el de uma entidade e)terna ao sistema como um usurioum 8ardAare- ou outro sistema que interage com o sistema modelado/ Os atores iniciam a comunicao com o sistema atra(.s dos use$cases- onde o use$case re resenta uma seq&'ncia de a5es e)ecutadas elo sistema e recebe do ator que l8e utili+a dados tang;(eis de um ti o ou ,ormato j con8ecido- e o (alor de res osta da e)ecuo de um use$case (conteDdo) tamb.m j . de um ti o con8ecido- tudo isso . de,inido juntamente com o use$case atra(.s de te)to de documentao/ Atores e use$cases so classes/ #m ator . conectado a um ou mais use$cases atra(.s de associa5es- e tanto atores quanto use$cases odem ossuir relacionamentos de generali+ao que de,inem um com ortamento comum de 8erana em su erclasses es eciali+adas em subclasses/ O uso de use$cases em colabora5es . muito im ortante- onde estas so a descrio de um conte)to mostrando classesIobjetos- seus relacionamentos e sua interao e)em li,icando como as classesIobjetos interagem ara e)ecutar uma ati(idade es ec;,ica no sistema/ #ma colaborao . descrita or diagramas de ati(idades e um diagrama de colaborao/ 1uando um use$case . im lementado- a res onsabilidade de cada asso da e)ecuo de(e ser associada Ks classes que artici am da colaborao- ti icamente es eci,icando as o era5es necessrias dentro destas classes juntamente com a de,inio de como elas iro interagir/ #m cenrio . uma inst<ncia de um use$case- ou de uma colaborao- mostrando o camin8o es ec;,ico de cada ao/ Por isso- o cenrio . um im ortante e)em lo de um use$case ou de uma colaborao/ 1uando (isto a n;(el de um use$case- a enas a interao entre o ator e)terno e o use$case . (ista- mas j obser(ando a n;(el de uma colaborao- toda as intera5es e assos da e)ecuo que im lementam o sistema sero descritos e es eci,icados/

22

O diagrama de use$cases acima demonstra as ,un5es de um ator e)terno de um sistema de controle bancrio de um banco ,ict;cio que ,oi modelado no estudo de caso no ,inal deste trabal8o/ O diagrama es eci,ica que ,un5es o administrador do banco oder desem en8ar/ Pode$se erceber que no e)iste nen8uma reocu ao com a im lementao de cada uma destas ,un5es- j que este diagrama a enas se resume a determinar que ,un5es de(ero ser su ortadas elo sistema modelado/ ,.2 Diagrama de "lasses O diagrama de classes demonstra a estrutura esttica das classes de um sistema onde estas re resentam as 2coisas2 que so gerenciadas ela a licao modelada/ Classes odem se relacionar com outras atra(.s de di(ersas maneirasC associao (conectadas entre si)de end'ncia (uma classe de ende ou usa outra classe)- es eciali+ao (uma classe . uma es eciali+ao de outra classe)- ou em acotes (classes agru adas or caracter;sticas similares)/ Todos estes relacionamentos so mostrados no diagrama de classes juntamente com as suas estruturas internas- que so os atributos e o era5es/ O diagrama de classes . considerado esttico j que a estrutura descrita . sem re (lida em qualquer onto do ciclo de (ida do sistema/ #m sistema normalmente ossui alguns diagramas de classes- j que no so todas as classes que esto inseridas em um Dnico diagrama e uma certa classes ode artici ar de (rios diagramas de classes/

#ma classe num diagrama ode ser diretamente im lementada utili+ando$se uma linguagem de rogramao orientada a objetos que ten8a su orte direto ara construo de classes/ Para criar um diagrama de classes- as classes t'm que estar identi,icadas- descritas e relacionadas entre si/ ,.3. Diagrama de #$jetos O diagrama de objetos . uma (ariao do diagrama de classes e utili+a quase a mesma notao/ A di,erena . que o diagrama de objetos mostra os objetos que ,oram instanciados das classes/ O diagrama de objetos . como se ,osse o er,il do sistema em um certo momento de sua e)ecuo/ A mesma notao do diagrama de classes . utili+ada com P e)ce5esC os objetos so escritos com seus nomes sublin8ados e todas as inst<ncias num relacionamento so mostradas/ Os diagramas de objetos no so to im ortantes como os diagramas de classes- mas eles so muito Dteis ara e)em li,icar diagramas com le)os de classes ajudando muito em sua com reenso/ Diagramas de objetos tamb.m so usados como arte dos diagramas de colaborao- onde a colaborao din<mica entre os objetos do sistema so mostrados/

23

,.4. Diagrama de %stado O diagrama de estado . ti icamente um com lemento ara a descrio das classes/ Este diagrama mostra todos os estados oss;(eis que objetos de uma certa classe odem se encontrar e mostra tamb.m quais so os e(entos do sistemas que ro(ocam tais mudanas/ Os diagramas de estado no so escritos ara todas as classes de um sistema- mas a enas ara aquelas que ossuem um nDmero de,inido de estados con8ecidos e onde o com ortamento das classes . a,etado e modi,icado elos di,erentes estados/ Diagramas de estado ca turam o ciclo de (ida dos objetos- subsistemas e sistemas/ Eles mostram os estados que um objeto ode ossuir e como os e(entos (mensagens recebidas- timer- erros- e condi5es sendo satis,eitas) a,etam estes estados ao assar do tem o/

Diagramas de estado ossuem um onto de in;cio e (rios ontos de ,inali+ao/ #m onto de in;cio (estado inicial) . mostrado como um c;rculo todo reenc8ido- e um onto de ,inali+ao (estado ,inal) . mostrado como um c;rculo em (olta de um outro c;rculo menor reenc8ido/ #m estado . mostrado como um ret<ngulo com cantos arredondados/ Entre os estados esto as transi5es- mostrados como uma lin8a com uma seta no ,inal de um dos estados/ A transio ode ser nomeada com o seu e(ento causador/ 1uando o e(ento acontece- a transio de um estado ara outro . e)ecutada ou dis arada/ #ma transio de estado normalmente ossui um e(ento ligado a ela/ %e um e(ento . ane)ado a uma transio- esta ser e)ecutada quando o e(ento ocorrer/ %e uma transio no ossuir um e(ento ligado a ela- a mesma ocorrer quando a ao interna do c0digo do estado ,or e)ecutada (se e)istir a5es internas como entrar- sair- ,a+er ou outras a5es de,inidas elo desen(ol(edor)/

24

Ento quando todas as a5es ,orem e)ecutadas elo estado- a transio ser dis arada e sero iniciadas as ati(idades do r0)imo estado no diagrama de estados/ ,.5. Diagrama de seq/0n&ia #m diagrama de seq&'ncia mostra a colaborao din<mica entre os (rios objetos de um sistema/ O mais im ortante as ecto deste diagrama . que a artir dele ercebe$se a seq&'ncia de mensagens en(iadas entre os objetos/ Ele mostra a interao entre os objetos- alguma coisa que acontecer em um onto es ec;,ico da e)ecuo do sistema/ O diagrama de seq&'ncia consiste em um nDmero de objetos mostrado em lin8as (erticais/ O decorrer do tem o . (isuali+ado obser(ando$se o diagrama no sentido (ertical de cima ara bai)o/ As mensagens en(iadas or cada objeto so simboli+adas or setas entre os objetos que se relacionam/ Diagramas de seq&'ncia ossuem dois ei)osC o ei)o (ertical- que mostra o tem o e o ei)o 8ori+ontal- que mostra os objetos en(ol(idos na seq&'ncia de uma certa ati(idade/ Eles tamb.m mostram as intera5es ara um cenrio es ec;,ico de uma certa ati(idade do sistema/ >o ei)o 8ori+ontal esto os objetos en(ol(idos na seq&'ncia/ Cada um . re resentado or um ret<ngulo de objeto (similar ao diagrama de objetos) e uma lin8a (ertical ontil8ada c8amada de lin8a de (ida do objeto- indicando a e)ecuo do objeto durante a seq&'ncia- como e)em lo citamosC mensagens recebidas ou en(iadas e ati(ao de objetos/ A comunicao entre os objetos . re resentada como lin8a com setas 8ori+ontais simboli+ando as mensagens entre as lin8as de (ida dos objetos/ A seta es eci,ica se a mensagem . s;ncrona- ass;ncrona ou sim les/ As mensagens odem ossuir tamb.m nDmeros sequenciais- eles so utili+ados ara tornar mais e) l;cito as seq&'ncia no diagrama/ Em alguns sistemas- objetos rodam concorrentemente- cada um com sua lin8a de e)ecuo (t8read)/ %e o sistema usa lin8as concorrentes de controle- isto . mostrado como ati(aomensagens ass;ncronas- ou objetos ass;ncronos/

Os diagramas de seq&'ncia odem mostrar objetos que so criados ou destru;dos como arte do cenrio documentado elo diagrama/ #m objeto ode criar outros objetos atra(.s de mensagens/ A mensagem que cria ou destroi um objeto . geralmente s;ncrona- re resentada or uma seta s0lida/ ,.(. Diagrama de "ola$orao #m diagrama de colaborao mostra de maneira semel8ante ao diagrama de sequencia- a colaborao din<mica entre os objetos/ >ormalmente ode$se escol8er entre utili+ar o diagrama de colaborao ou o diagrama de seq&'ncia/ >o diagrama de colaborao- al.m de mostrar a troca de mensagens entre os objetos- ercebe$se tamb.m os objetos com os seus relacionamentos/ A interao de mensagens . mostrada em ambos os diagramas/ %e a 'n,ase do diagrama ,or o decorrer do tem o- . mel8or escol8er o

25

diagrama de seq&'ncia- mas se a 'n,ase ,or o conte)to do sistema- . mel8or dar rioridade ao diagrama de colaborao/ O diagrama de colaborao . desen8ado como um diagrama de objeto- onde os di(ersos objetos so mostrados juntamente com seus relacionamentos/ As setas de mensagens so desen8adas entre os objetos ara mostrar o ,lu)o de mensagens entre eles/ As mensagens so nomeadas- que entre outras coisas mostram a ordem em que as mensagens so en(iadas/ Tamb.m odem mostrar condi5es- intera5es- (alores de res osta- e etc/ O diagrama de colaborao tamb.m ode conter objetos ati(os- que e)ecutam aralelamente com outros/

,.). Diagrama de Ati1idade Diagramas de ati(idade ca turam a5es e seus resultados/ Eles ,ocam o trabal8o e)ecutado na im lementao de uma o erao (m.todo)- e suas ati(idades numa inst<ncia de um objeto/ O diagrama de ati(idade . uma (ariao do diagrama de estado e ossui um ro 0sito um ouco di,erente do diagrama de estado- que . o de ca turar a5es (trabal8o e ati(idades que sero e)ecutados) e seus resultados em termos das mudanas de estados dos objetos/ Os estados no diagrama de ati(idade mudam ara um r0)imo estgio quando uma ao . e)ecutada (sem ser necessrio es eci,icar nen8um e(ento como no diagrama de estado)/ Outra di,erena entre o diagrama de ati(idade e o de estado . que odem ser colocadas como 2sAimlanes2/ #ma sAimlane agru a ati(idades- com res eito a quem . res ons(el e onde estas ati(idades residem na organi+ao- e . re resentada or ret<ngulos que englobam todos os objetos que esto ligados a ela (sAimlane)/ #m diagrama de ati(idade . uma maneira alternati(a de se mostrar intera5es- com a ossibilidade de e) ressar como as a5es so e)ecutadas- o que elas ,a+em (mudanas dos estados dos objetos)- quando elas so e)ecutadas (seq&'ncia das a5es)- e onde elas acontecem (sAimlanes)/ #m diagrama de ati(idade ode ser usado com di,erentes ro 0sitos inclusi(eC

Para ca turar os trabal8os que sero e)ecutados quando uma o erao . dis arada
(a5es)/ Este . o uso mais comum ara o diagrama de ati(idade/

Para ca turar o trabal8o interno em um objeto/ Para mostrar como um gru o de a5es relacionadas odem ser e)ecutadas- e como elas
(o a,etar os objetos em torno delas/

Para mostrar como uma inst<ncia ode ser e)ecutada em termos de a5es e objetos/ Para mostrar como um neg0cio ,unciona em termos de trabal8adores (atores)- ,lu)os de
trabal8o- organi+ao- e objetos (,atores ,;sicos e intelectuais usados no neg0cio)/ O diagrama de ati(idade mostra o ,lu)o sequencial das ati(idades- . normalmente utili+ado ara demonstrar as ati(idades e)ecutadas or uma o erao es ec;,ica do sistema/ Consistem em estados de ao- que cont.m a es eci,icao de uma ati(idade a ser desem en8ada or uma o erao do sistema/ Decis5es e condi5es- como e)ecuo aralela- tamb.m odem ser mostrados na diagrama de ati(idade/ O diagrama tamb.m ode conter es eci,ica5es de mensagens en(iadas e recebidas como artes de a5es e)ecutadas/

26

,.!. Diagrama de "om'onente O diagrama de com onente e o de e)ecuo so diagramas que mostram o sistema or um lado ,uncional- e) ondo as rela5es entre seus com onentes e a organi+ao de seus m0dulos durante sua e)ecuo/ O diagrama de com onente descre(e os com onentes de so,tAare e suas de end'ncias entre sire resentando a estrutura do c0digo gerado/ Os com onentes so a im lementao na arquitetura ,;sica dos conceitos e da ,uncionalidade de,inidos na arquitetura l0gica (classes- objetos e seus relacionamentos)/ Eles so ti icamente os arqui(os im lementados no ambiente de desen(ol(imento/ #m com onente . mostrado em #!3 como um ret<ngulo com uma eli se e dois ret<ngulos menores do seu lado esquerdo/ O nome do com onente . escrito abai)o ou dentro de seu s;mbolo/ Com onentes so ti os- mas a enas com onentes e)ecut(eis odem ter inst<ncias/ #m diagrama de com onente mostra a enas com onentes como ti os/ Para mostrar inst<ncias de com onentes- de(e ser usado um diagrama de e)ecuo- onde as inst<ncias e)ecut(eis so alocadas em nodes/ A de end'ncia entre com onentes ode ser mostrada como uma lin8a tracejada com uma setasimboli+ando que um com onente recisa do outro ara ossuir uma de,inio com leta/ Com o diagrama de com onentes . ,acilmente (is;(el detectar que arqui(os .dll so necessrios ara e)ecutar a a licao/

27

Com onentes odem de,inir inter,aces que so (is;(eis ara outros com onentes/ As inter,aces odem ser tanto de,inidas ao n;(el de codi,icao (como em 9a(a) quanto em inter,aces binrias usadas em run$time (como em O3E)/ #ma inter,ace . mostrada como uma lin8a artindo do com onente e com um c;rculo na outra e)tremidade/ O nome . colocado junto do c;rculo no ,inal da lin8a/ De end'ncias entre com onentes odem ento a ontar ara a inter,ace do com onente que est sendo usada/ ,.,. Diagrama de %2e&uo O diagrama de e)ecuo mostra a arquitetura ,;sica do 8ardAare e do so,tAare no sistema/ Pode mostrar os atuais com utadores e eri,.ricos- juntamente com as cone)5es que eles estabelecem entre si e ode mostrar tamb.m os ti os de cone)5es entre esses com utadores e eri,.ricos/ Es eci,ica$se tamb.m os com onentes e)ecut(eis e objetos que so alocados ara mostrar quais unidades de so,tAare so e)ecutados e em que destes com utadores so e)ecutados/ O diagrama de e)ecuo demonstra a arquitetura run$time de rocessadores- com onentes ,;sicos (de(ices)- e de so,tAare que rodam no ambiente onde o sistema desen(ol(ido ser utili+ado/ 4 a Dltima descrio ,;sica da to ologia do sistema- descre(endo a estrutura de 8ardAare e so,tAare que e)ecutam em cada unidade/ O diagrama de e)ecuo . com osto or com onentes- que ossuem a mesma simbologia dos com onentes do diagrama de com onentes- nodes- que signi,icam objetos ,;sicos que ,a+em arte do sistema- odendo ser uma mquina cliente numa 3A>- uma mquina ser(idora- uma im ressora- um roteador- etc/- e cone)5es entre estes nodes e com onentes que juntos com 5em toda a arquitetura ,;sica do sistema/

28

-=. Um processo para utili&ar a UML A #!3 cont.m nota5es e regras que tornam oss;(el e) ressar modelos orientados a objetos/ !as ela no rescre(e como o trabal8o tem que ser ,eito- ou seja- no ossui um rocesso de como o trabal8o tem que ser desen(ol(ido/ 9 que a #!3 ,oi desen(ol(ida ara ser usada em di(ersos m.todos de desen(ol(imento/ Para usar a #!3 com sucesso . necessrio adotar algum ti o de m.todo de desen(ol(imentoes ecialmente em sistema de grande orte onde a organi+ao de tare,as . essencial/ A utili+ao de um rocesso de desen(ol(imento torna mais e,iciente calcular o rogresso do rojeto- controlar e mel8orar o trabal8o/ #m rocesso de desen(ol(imento descre(e 2o que ,a+er2- 2como ,a+er2- 2quando ,a+er2- e 2 orque de(e ser ,eito2/ Este tamb.m descre(e um nDmero de ati(idades que de(em ser e)ecutadas em uma certa ordem/ 1uando so de,inidas e relacionadas as ati(idades de um rocesso- um objeti(o es ec;,ico . alcanado/

29

Em seu uso normal- a ala(ra 2 rocesso2 signi,ica uma relao de ati(idades que de(em ser e)ecutadas em uma certa ordem sem im ortar o objeti(o- regras ou material a ser usado/ >o rocesso de desen(ol(imento da engen8aria de so,tAare- . necessrio saber o objeti(o ,inal do rocesso- de,inir regras a serem seguidas e adotar um m.todo ,i)o de desen(ol(imento/ #m m.todo ( rocesso) tradicional de desen(ol(imento orientado a objetos . di(idido em anlise de requisitos- anlise- design ( rojeto)- im lementao- e testes/ A anlise de requisitos ca tura as necessidades bsicas ,uncionais e no$,uncionais do sistema que de(e ser desen(ol(ido/ A anlise modela o roblema rinci al (classes- objetos) e cria um modelo ideal do sistema sem le(ar em conta requisitos t.cnicos do sistema/ O design e) ande e ada ta os modelos da anlise ara um ambiente t.cnico- onde as solu5es t.cnicas so trabal8adas em detal8es/ A im lementao consiste em codi,icar em linguagem de rogramao e banco de dados os modelos criados/ E as ati(idades de testes de(em testar o sistema em di,erentes n;(eis- (eri,icando se o mesmo corres onde as e) ectati(as do usurio/ E)iste um rocesso desen(ol(ido ela Rational *nc/- mesma em resa que desen(ol(eu a #!3- que monta duas (is5es do desen(ol(imento de um sistemaC (iso gerencial e t.cnica/ A (iso t.cnica utili+a as tradicionais ati(idades de anlise- design e im lementao- enquanto a (iso gerencial utili+a as seguintes ,ases no desen(ol(imento de cada gerao do sistema/

*n;cioC De,ine o esco o e objeti(o do rojetoJ ElaboraoC Desen(ol(e o roduto em detal8es atra(.s de uma s.rie de intera5es/ *sto
en(ol(e mais anlise- design e rogramaoJ

TransioC "era o sistema ara o usurio ,inal- incluindo as ati(idades de mar=etingsu orte- documentao e treinamento/ Cada ,ase no ciclo . e)ecutada em s.ries de intera5es que odem sobre or outras ,ases/ Cada interao consiste ti icamente em ati(idades tradicionais como anlise e design- mas em di,erentes ro or5es de endendo da ,ase em que esteja a gerao do sistema em desen(ol(imento/ Eerramentas modernas de(em dar su orte no a enas ara linguagens de modelagem e rogramao- mas de(em su ortar um m.todo de desen(ol(imento de sistemas tamb.m/ *sso inclui con8ecimento das ,ases em um rocesso- ajuda online- e aconsel8amentos do que ,a+er em cada ,ase do desen(ol(imento- su orte a desen(ol(imento interati(o e ,cil integrao com outras ,erramentas/

30

--. ' uturo da UML Embora a #!3 de,ina uma linguagem recisa- ela no . uma barreira ara ,uturos a er,eioamentos nos conceitos de modelagem/ O desen(ol(imento da #!3 ,oi baseado em t.cnicas antigas e marcantes da orientao a objetos- mas muitas outras in,luenciaro a linguagem em suas r0)imas (ers5es/ !uitas t.cnicas a(anadas de modelagem odem ser de,inidas usando #!3 como base- odendo ser estendida sem se ,a+er necessrio rede,inir a sua estrutura interna/ A #!3 ser a base ara muitas ,erramentas de desen(ol(imento- incluindo modelagem (isualsimula5es e ambientes de desen(ol(imento/ Em bre(e ,erramentas de integrao e adr5es de im lementao baseados em #!3 estaro dis on;(eis ara qualquer um/ A #!3 integrou muitas id.ias ad(ersas- e esta integrao (ai acelerar o uso do desen(ol(imento de so,tAares orientados a objetos/

31

-/. Um estudo de caso em UML Diante do a resentado no decorrer do trabal8o- a licaremos aqui grande arte dos conceitos abordados diante de uma a licao da #!3 num roblema ,ict;cio que oder ser de grande ajuda no mel8or entendimento das otencialidades da linguagem de modelagem uni,icada/ O estudo de caso dar mais 'n,ase na ,ases de anlise de requisitos- anlise e design- j que as rinci ais abstra5es dos modelos do sistema se encontram nestas ,ases do desen(ol(imento/ Desen(ol(eremos uma modelagem em #!3 ara criarmos um sistema de manuteno e controle de contas correntes e a lica5es ,inanceiras de um banco ,ict;cio/ Antes de dar in;cio K rimeira ,ase da modelagem- ,aremos algumas considera5es sobre o que o sistema se ro 5e a ,a+er e outras obser(a5es que consideramos de suma im ort<ncia ara o bom entendimento do roblema/

O sistema su ortar um cadastro de clientes- onde cada cliente cadastrado oder ter
(rias contas correntes- (rios de endentes ligados a ele- e (rias contas de ou ana/

Cada de endente oder ossuir (rias contas de ou ana- mas no odero ter uma
conta corrente r0 ria/

Entendemos ou ana como uma conta que ossui um (alor- um ra+o de a licao a
uma ta)a de juros (de,inida no (encimento da ou ana)/

Entendemos A lica5es Pr.$,i)adas como uma a licao de um (alor- em um ra+o r.$


determinado a uma ta)a de juros re(iamente de,inida/

32

Tanto a conta corrente quanto a ou ana de(ero manter um 8ist0rico de todas as


mo(imenta5es de cr.dito- d.bito- trans,er'ncias e a lica5es de r.$,i)ados ( r.$,i)ados a enas ara conta corrente)/

#ma conta corrente oder ter (rias a lica5es r.$,i)adas ligadas a ela/
12.1. Anlise de Requisitos De acordo com nossa ro osta o sistema im lementar ,un5es bsicas que sero desem en8adas ela Administrao do banco e elos seus clientes/ As rinci ais ,un5es do sistema soC

Cadastrar no(o cliente E)cluir ou editar cliente Cadastrar de endente E)cluir ou editar de endente Abrir conta corrente Eec8ar conta corrente Abrir ou ana Eec8ar ou ana !o(imentar conta corrente A licar em r.$,i)ados Consultar 8ist0rico de conta corrente ou ou ana Cadastrar Ag'ncia E)cluir ou Editar Ag'ncia
Tendo em mos esta relao de ati(idades- j odemos modelar o diagrama de use$case do sistema/

33

12.2. Anlise >a ,ase de anlise- tendo em mos o diagrama de use$case- odemos de,inir o diagrama de classes do sistema/ Este rimeiro diagrama da ,ase de anlise de(er ser totalmente des reocu ado de qualquer ti o de t.cnica relacionada a im lementao do sistema- ou sejam.todos e atributos de acesso a banco de dados- estrutura de mensagens entre objetos- etc/ no de(ero a arecer nesse rimeiro diagrama- a enas os ti os de objetos bsicos do sistema/ Analisamos e ercebemos que e)istiro V classes no sistema e que se relacionaro segundo o diagrama de classes a seguir/

34

9 temos em mos as ,un5es rimordiais do sistema (diagrama de use$cases) e o diagrama de classes da anlise do dom;nio do roblema- artiremos agora ara traar como estas classes iro

35

interagir ara reali+ar as ,un5es do sistema/ 3embramos que ainda nesta ,ase nen8um ti o de t.cnica de im lementao de(e ser considerada/ Para modelarmos como os objetos do sistema iro interagir entre si- utili+amos o diagrama de seq&'ncia ou o de colaborao/ E modelaremos um diagrama ara cada ,uno (use$case) de,inida no diagrama de use$cases/ Escol8emos o diagrama de seq&'ncia ara dar mais 'n,ase a ordem cronol0gica das intera5es entre os objetos/ 9 se ,a+ necessrio utili+ar id.ias bsicas da modelagem da inter,ace do sistema como as janelas/ !as esses objetos de inter,ace sero totalmente detal8ados na ,ase de design/

>esta ,ase modela$se tamb.m o diagrama de estado das classes/ !as este se enquadra em situa5es onde o com ortamento dos objetos . im ortante ara a licao/ Em casos de modelagens de sistemas ara equi amentos mec<nicos/ 12.3. Design >esta ,ase comearemos a im lementar em nossos modelos os mel8oramentos e t.cnicas de como realmente cada ,unco do sistema ser concebida/ %ero modelos mais detal8ados com 'n,ase nas solu5es ara arma+enamento dos dados- ,un5es rimordiais do sistema e inter,ace com o usurio/ A ,ase de design ode ser di(idida em outras duas ,asesC

Design da arquiteturaC Este . o design de alto n;(el onde os acotes (subsistemas) so


de,inidos- incluindo as de end'ncias e mecanismos de comunicao entre eles/ >aturalmente- o objeti(o . criar uma arquitetura sim les e clara- onde as de end'ncias sejam oucas e que ossam ser bidirecionais sem re que oss;(el/

Design detal8adoC Esta arte detal8a o conteDdo dos acotes- ento todas classes sero
totalmente descritas ara mostrar es eci,ica5es claras ara o rogramador que ir gerar o c0digo da classe/ !odelos din<micos do #!3 so usados ara demonstrar como os objetos se com ortam em di,erentes situa5es/ Desi"n da ar>uitetura #ma arquitetura bem rojetada . a base ara ,uturas e) ans5es e modi,ica5es no sistema/ Os acotes odem ser res ons(eis or ,un5es l0gicas ou t.cnicas do sistema/ 4 de (ital im ort<ncia se arar a l0gica da a licao da l0gica t.cnica/ *sso ,acilitar muito ,uturas mudanas no sistema/ Em nosso caso de estudo- identi,icamos R acotes (subsistemas)C

36

Pacote da *nter,ace do #surioC Estaro contidas as classes ara a criao da inter,ace do


usurio- ara ossibilitar que estes acessem e entrem com no(os dados no sistema/ Estas classes so baseadas no acote 9a(a AWT- que . o adro 9a(a ara criao de inter,aces/ Este acote coo era com o acote de objetos do sistema- que cont.m as classes onde os dados esto guardados/ O acote de inter,ace c8ama o era5es no acote de objetos do sistema ara acessar e inserir no(os dados/

Pacote de Objetos do %istemaC Este acote inclui classes bsicas- ou seja- classes que
,oram desen(ol(idas e)atamente ara tornar o sistema em desen(ol(imento ,uncional/ Estas classes so detal8adas no design- ento so inclu;dos o era5es e m.todos em sua estrutura e o su orte K Persist'ncia . adicionado/ O acote de objetos de(e interagir com o de banco de dados e todas as suas classes de(em 8erdar da classe Persistente do acote de banco de dados

Pacote de 7anco de DadosC Este acote dis onibili+a ser(ios ara as classes do acote
de objetos ,a+endo com que os dados arma+enados no sistema sejam gra(ados em disco/

Pacote de #tilidadesC Este cont.m ser(ios que so usados or todos os outros acotes do
sistema/ Atualmente a classe Obj*d . a Dnica no acote- e . usada ara re,erenciar os objetos ersistentes em todo o sistema/ Desi"n detal?ado O ro 0sito do design detal8ado . descre(er as no(as classes t.cnicas do sistema- como classes de criao da inter,ace- de banco de dados e ara e) andir e detal8ar a descrio das classes de objetos- que j ,oram de,inidas na ,ase de anlise/ Tudo isto . ,eito com a criao de no(os diagramas de classes- de estado- e din<micos/ %ero os mesmos diagramas criados na ,ase de anlise- mas . um n;(el de detal8amento t.cnico mais ele(ado/ As descri5es de use$cases ro(enientes da ,ase de anlise so usados ara (eri,icar se estes esto sendo su ortados elos diagramas gerados na ,ase de design- e diagramas de sequencia so usados ara ilustrar como cada use$case . tecnicamente im lementada no sistema/ C8egamos a um diagrama de classes mais e(olu;do com a incluso de ersist'ncia/

37

Criamos os diagramas de sequencia ara ,un5es do sistema- descritas no diagrama de use$ cases- j ossuindo os ar<metros ara cada mensagem entre os objetos/

38

O la6out das janelas de(e ser criado com alguma ,erramenta (isual de acordo com a re,er'ncia do desen(ol(edor/ Eerramentas (isuais j geram o c0digo necessrio ara a criao de janelas/ Algumas ,erramentas j su ortam a adio de controladores de e(entos ara e(entos dis arados or usurios como cliques em bot5es/ O ambiente gera um m.todo Xo=buttonYClic=edZ que ser c8amado quando o boto 2O[2 ,or ressionado/ A a licao resultante da inter,ace de usurio . uma janela rinci al com um menu de o 5es/ Cada o o escol8ida do menu mostrar uma janela no(a que juntas sero res ons(eis or receber as in,orma5es do usurio e e)ecutar a ,uno a qual se ro 5em a ,a+er/ 12.4. 3m'lementao A ,ase de construo ou im lementao . quando as classes so codi,icadas/ Os requisitos es eci,icam que o sistema de(e ser ca a+ de rodar em di(ersos ti o de rocessadores e sistemas o eracionais- ento a linguagem escol8ida ,oi 9a(a/ Pelo ,ato de em 9a(a cada arqui(o oder conter uma e somente uma classe- odemos ,acilmente escre(er um diagrama de com onentes contendo um ma eamento das classes ro(enientes da (iso l0gica/ Agora codi,icamos cada classe do acote de objetos do sistema- a inter,ace- o banco de dados e o acote de utilidades/ A codi,icao de(e ser baseada nos modelos desen(ol(idos nas ,ases de anlise de requisitos- anlise e design- mais recisamente nas es eci,ica5es de classesdiagramas de classes- de estado- din<micos- de use$cases e es eci,icao/ E)istiro algumas de,ici'ncias durante a ,ase de codi,icao/ A necessidade da criao de no(as o era5es e modi,ica5es em o era5es j e)istentes sero identi,icadas- signi,icando que o desen(ol(edor ter que mudar seus modelos da ,ase de design/ *sto ocorre em todos os rojetos/ O que . mais im ortante . que sejam sincroni+ados a modelagem de design com a codi,icaodesta ,orma os modelos odero ser usados como documentao ,inal do sistema/ 12.5. estes A a licao de(er ser testada/ De(e$se (eri,icar se o rograma su orta toda a ,uncionalidade que l8e ,oi es eci,icada na ,ase de anlise de requisitos com o diagrama de use$cases/ A a licao de(e ser tamb.m testada da ,orma mais in,ormal colocando$se o sistema nas mos dos usurios/

-0. )oncluso O criao de uma linguagem ara a comunidade de desen(ol(edores em orientao a objetos era uma necessidade antiga/ A #!3 realmente incor orou muitos recursos com do a linguagem uma e)tensibilidade muito grande/ Os organi+ao da modelagem em (is5es e a di(iso dos diagramas es eci,icando caracter;sticas estticas e din<micas do sistema tornou a #!3 ,cil de ser utili+ada e ,e+ com que qualquer ti o de com ortamento ossa ser (isuali+ado em diagramas/ A modelagem (isual orientada a objetos agora ossui um adro- e esse adro . e)tremamente sim les de ser escrito a mo- sendo robusto ara es eci,icar e descre(er a grande maioria das

39

,un5es- relacionamentos e t.cnicas de desen(ol(imento orientado a objetos que 8oje so utili+ados/ >o(as t.cnicas iro surgir e a #!3 tamb.m estar re arada j que tudo estar baseado nas id.ias elementares da orientao a objetos/ %em dD(ida alguma a #!3 ,acilitar Ks grandes em resas de desen(ol(imento de so,tAare uma maior comunicao e a ro(eitamento dos modelos desen(ol(idos elos seus (rios analistas en(ol(idos no rocesso de roduo de so,tAare j que a linguagem que ser utili+ada or todos ser a mesma- acabando assim com qualquer roblema de inter retao e mal$entendimento de modelos criados or outros desen(ol(edores/ Os modelos criados 8oje odero ser ,acilmente analisados or ,uturas gera5es de desen(ol(edores acabando com a di(ersidade de ti os de nomenclaturas de modelos- o grande em ecil8o do desen(ol(imento de so,tAares orientados a objetos/ Os ,abricantes de ,erramentas CA%E agora su ortaro a #!3 em seus so,tAares e a ,ase de codi,icao ser cada (e+ mais substitu;da ela gerao de c0digo automtico desem en8ada elas ,erramentas CA%E/

40