Sie sind auf Seite 1von 37

ALBERTO MANUEL RODRIGUES DA SILVA CARLOS ALBERTO ESCALEIRA VIDEIRA

UML, METODOLOGIAS E FERRAMENTAS CASE


VOL. II
Linguagem de Modelao UML, Metodologias e Ferramentas CASE na Concepo e Desenvolvimento de Sistemas de Informao

Portugal/2008

Reservados todos os direitos por Centro Atlntico, Lda.


Qualquer reproduo, incluindo fotocpia, s pode ser feita com autorizao expressa dos editores da obra.

UML, METODOLOGIAS E FERRAMENTAS CASE VOL. II


Autores

Alberto Manuel Rodrigues da Silva Carlos Alberto Escaleira Videira


Coleco

Tecnologias
Direco grfica Centro Atlntico Reviso Centro Atlntico Capa Paulo Buchinho Impresso e acabamento PapelMunde 1 edio Maro de 2008 ISBN 978-989-615-061-7 Depsito legal /08

Centro Atlntico, Lda., 2008 Av. Dr. Carlos Bacelar, 968 Escr. 1 A 4764-901 V. N. Famalico Rua da Misericrdia, 76 1200-273 Lisboa Portugal Tel. 808 20 22 21 geral@centroatlantico.pt www.centroatlantico.pt

Marcas registadas: Todos os termos mencionados neste livro conhecidos como sendo marcas registadas de produtos e servios foram apropriadamente capitalizados. A utilizao de um termo neste livro no deve ser encarada como afectando a validade de alguma marca registada de produto ou servio. O Editor e os Autores no se responsabilizam por possveis danos morais ou fsicos causados pelas instrues contidas no livro nem por endereos Internet que no correspondam s Home-Pages pretendidas.

Aos meus pais, Antnio e Ermelinda


Alberto Rodrigues da Silva

Elsa, Sofia, Guilherme e Mafalda


Carlos Videira

Prefcio ao Segundo Volume da Segunda Edio


Seis anos decorridos aps a primeira edio do nosso livro UML, Metodologias e Ferramentas CASE tem sido constante a evoluo nesta rea da engenharia! Temas como o paradigma do desenvolvimento de software baseado em modelos e o aparecimento de novas metodologias de desenvolvimento que pretendem acelerar e aumentar a produtividade dos projectos so apenas dois exemplos de reas nas quais se podem observar progressos significativos. No entanto, a principal motivao para esta segunda edio resultou da publicao, em 2004, de uma nova verso do UML (2.0), com algumas inovaes importantes. Apesar de procurarmos nesta segunda edio deste livro minimizar as alteraes aos principais objectivos e estrutura, relativamente primeira edio, inevitvel a introduo de novos temas, o refinamento de outros e a actualizao de algumas matrias que entretanto sofreram evoluo, ou devido natural evoluo e maturidade dos autores. A principal alterao prende-se com a diviso do livro em dois volumes, o primeiro com as partes 1 e 2 e o segundo com as partes 3 e 4; esta diviso vem de encontro a alguns comentrios que fomos recebendo, e tem tambm por objectivo separar matrias que podem interessar a pblicos relativamente distintos. Como j se tinha escrito no prefcio do Volume 1 desta segunda edio, as matrias que sofreram alteraes mais significativas correspondem aos captulos da Parte 2, includos no Volume 1, decorrente do esforo de actualizao decorrente da evoluo da verso 1.0 para a verso 2.0 do UML. No Volume 2, e uma vez que este livro pode ser lido de forma autnoma do primeiro, as suas duas partes, bem como os respectivos captulos, foram renumerados de forma independente, de forma a comear no captulo 1. Devido evoluo que se assistiu nos ltimos anos, designadamente ao nvel das metodologias e das ferramentas que utilizam o UML, os captulos que compem este segundo volume foram significativamente revistos. Relativamente Parte 1 (Metodologias) so apresentadas actualizaes importantes nos captulos sobre as metodologias RUP e ICONIX, e foi ainda introduzido um novo captulo dedicado ao tema das metodologias geis, que aborda em particular o XP e o Scrum. Relativamente Parte 2 (sobre o tema Ferramentas CASE), o captulo introdutrio foi revisto de forma a incluir referncias a novas iniciativas (por exemplo, o desenvolvi-

mento baseado em modelos). Em relao aos captulos relativos s duas ferramentas UML, analisadas na primeira edio, decidimos avaliar o Rational Software Architect, uma das ferramentas que sucedeu ao Rational Rose, por continuar a ser uma das referncias do mercado (obviamente reflectindo as verses mais recentes), e substituir o System Architect pelo Enterprise Architect, devido s capacidades desta ltima ferramenta e sua crescente utilizao no mercado. Devido crescente importncia do paradigma do desenvolvimento baseado em modelos (MDE Model Driven Engineering), inclumos um novo captulo que, para alm de caracterizar melhor o mbito deste conceito, descreve uma iniciativa de investigao o ProjectIT que se baseia nestes princpios, e na qual os autores tm vindo a participar ao longo dos ltimos quatro anos.

Lisboa, Janeiro de 2008 Alberto Manuel Rodrigues da Silva Carlos Alberto Escaleira Videira

Prefcio Primeira Edio


Objectivos, Contexto e Motivao O livro UML, Metodologias e Ferramentas CASE aborda tpicos importantes para a generalidade dos intervenientes nas actividades enquadradas na engenharia de software, designadamente as problemticas (1) das linguagens de modelao de software, (2) do processo e das metodologias de desenvolvimento de software, e (3) das ferramentas CASE de suporte modelao e ao prprio desenvolvimento. Pretende dar uma panormica abrangente sobre estes trs aspectos de forma integrada e coerente. Embora o foco do livro seja nas fases de concepo de sistemas de software, discute o seu enquadramento de modo mais lato em reas como o planeamento estratgico de sistemas de informao; as arquitecturas de sistemas de informao; ou mesmo a engenharia de software. O livro explica a necessidade da modelao no desenvolvimento de software, o que o UML (Unified Modeling Language), como aplicar o UML no contexto mais abrangente das metodologias e processos de desenvolvimento, e como usar ferramentas CASE de forma a maximizar e automatizar algumas das tarefas relacionadas com a modelao, por exemplo, produo e gesto de documentao, gerao de cdigo, gerao de esquemas de dados, reverse engineering, round-trip engineering, mecanismos de extenso, etc. A aprendizagem e adopo dos temas abordados neste livro constituem uma vantagem decisiva para os intervenientes que os adoptarem consistentemente. Entre outros, salientamos os seguintes benefcios: melhor documentao dos sistemas e dos respectivos artefactos; aplicao de tcnicas de modelao orientadas por objectos, mais fceis de entender; reutilizao desde as fases preliminares da concepo at implementao; rastreabilidade dos requisitos ao longo de todo o processo; facilidade de comunicao entre todos os intervenientes envolvidos no processo; melhorias significativas em factores como sejam flexibilidade e produtividade; melhor gesto de requisitos; avaliao e manuteno de sistemas mais facilitadas. Estas caractersticas so naturalmente interdependentes entre si; por exemplo, uma maior qualidade da documentao produzida possibilita uma melhor comunicao entre os intervenientes de um projecto. Todavia, os assuntos tratados neste livro so difceis de adoptar nas organizaes, por inmeras razes. Antes de mais porque o ritmo de inovao tecnolgica nesta rea da engenharia tem-se processado a um ritmo particularmente intenso.

A segunda razo deve-se ao facto dos tpicos abordados neste livro exigirem uma formao significativa e principalmente uma adequada e correspondente actuao. No basta dominar um conjunto alargado de conceitos e notaes para especificar software, mas fundamental aprender a aplic-los de forma consistente, repetida e sistemtica; adapt-los s condicionantes e realidades de cada empresa, ou de cada projecto em particular; e ainda partilhar tcnicas e mtodos entre todos os indivduos da empresa, ou de cada projecto, para que a comunicao entre todos os intervenientes seja maximizada e eficiente. A terceira razo, consequncia das razes anteriormente referidas, o facto de ser oneroso a adopo efectiva e produtiva (dos tpicos abordados neste livro) no seio das empresas. Oneroso em termos do tempo inicial que necessrio despender em formao, em termos da resistncia mudana, assim como o investimento necessrio na seleco e aquisio de ferramentas CASE que potenciem significativamente as suas vantagens. Este livro surge na sequncia da experincia dos autores em actividades de investigao, mas principalmente em actividades de consultoria e de docncia nas reas de engenharia de software e de sistemas de informao. Os temas abordados neste livro so na sua maioria influenciados pelo trabalho de unificao e de evangelizao dos trs amigos: Grady Booch, Ivar Jacobson e James Rumbaugh. Todavia, da nossa exclusiva responsabilidade o estilo do livro, assim como a sua estrutura, contedo, exemplos e exerccios propostos (tal como as correspondentes gralhas e omisses decorrentes!). O livro condensa e integra informao dispersa por alguns livros da rea, em particular os seguintes ttulos: OMG Unified Modeling Language Specification [OMG99], The Unified Modeling Language User Guide [Booch99], The Unified Software Development Process [Jacobson99], Visual Modeling with Rational Rose 2000 and UML [Quatrani00] e The Rational Unified Process [Kruchten00]. No entanto, h inmeros aspectos que o livro prope e discute de forma nica, dificilmente encontrados em qualquer dos livros referidos. A nvel internacional, existe um nmero relevante de ttulos nesta rea; contudo, h reconhecidamente, na lngua portuguesa, uma lacuna muito significativa. Paralelamente, e em consequncia da nossa experincia e responsabilidade de docncia, superviso e coordenao de trabalhos finais de curso e de investigao identificmos a necessidade e oportunidade de produzirmos este livro com vista a apoiar a aprendizagem da engenharia de software nos tpicos referidos. A temtica tratada neste livro abrangente e a sua profundidade , propositadamente, de nvel intermdio. Inmeros assuntos podero ser analisados e aprofundados complementarmente, entre os quais destacam-se, a ttulo de exemplo, os seguintes: arquitecturas de sistemas de software [Hofmeister99]; processos de negcio em contextos organizacionais [Penker00]; padres de anlise [Fowler96]; padres de desenho em infra-estruturas de software (frameworks) [Souza99]; modelao de dados [Muller00]; modelao de aplicaes segundo o paradigma dos agentes de

software [Odell00], modelao de aplicaes de tempo real [Selic94], ou modelao de aplicaes interactivas [Nunes99]. Todos estes tpicos so importantes nos seus respectivos contextos de aplicao; muitos so alvo de intensa actividade de estudo e investigao. Todos eles apresentam, contudo, um denominador comum: baseiam-se no conhecimento introduzido, apresentado e discutido neste livro.

Audincia do Livro O livro pretende servir como referncia de suporte a um nmero restrito de disciplinas de nvel de ensino superior na rea de sistemas de informao. Consequentemente, o livro adopta um estilo tendencialmente pedaggico atravs da apresentao e discusso de exemplos, da narrativa de histrias e factos reais, ou pela proposta de exerccios acadmicos. O primeiro perfil de leitores deste livro vai directamente para os alunos de licenciatura e de cursos de ps-graduao em engenharia informtica ou em informtica de gesto. Pressupe-se que os leitores j sabem implementar aplicaes informticas; e que neste livro procuram aprender a reflectir sobre o processo de desenvolvimento de software, e aprender tcnicas e prticas consistentes e sistemticas para o realizar. Adicionalmente, este livro relevante para um nmero mais alargado de leitores, em particular para investigadores, gestores informticos, responsveis pelo processo de desenvolvimento de software, analistas-programadores, e outros que necessitem de especificar de forma mais ou menos detalhada sistemas baseados em software. O livro pressupe um conjunto de pr-requisitos que o leitor dever possuir para o poder usufruir devidamente. suposto o leitor possuir um conhecimento razovel sobre as bases da informtica e dos sistemas de computadores, tais como noes essenciais de programao, de bases de dados e de sistemas operativos.

Organizao do Livro A segunda edio do livro encontra-se organizada em 2 volumes, 4 partes, 17 captulos e 2 apndices conforme se resume de seguida. No primeiro volume incluem-se as 2 primeiras partes e no segundo as restantes; os apndices so includos em ambos os volumes. VOLUME 1 ENQUADRAMENTO E LINGUAGEM UML A Parte 1 (INTRODUO E VISO GERAL) do primeiro volume apresenta conceitos gerais, viso histrica e enquadramento da realizao deste livro. Inclui os captulos 1, 2 e 3. A Parte 2 (LINGUAGEM DE MODELAO UML) do primeiro volume constituda por 7 captulos complementares, sendo que o Captulo 4 d a viso histrica e geral do UML

e o Captulo 9 descreve sucintamente alguns aspectos considerados avanados, no essenciais para o leitor que apenas pretende usar e aplicar as caractersticas bsicas do UML. Os restantes captulos (Captulos 5, 6, 7 e 8) constituem o centro desta parte do livro e devero ser lidos de forma sequencial conforme proposto. Adicionalmente, o Captulo 10 discute vrios aspectos relacionados com a problemtica de modelao de dados aos seus diferentes nveis, em UML; e descreve regras de mapeamento de modelos de dados de uma representao de alto nvel (e.g., em UML) para uma representao mais prxima do desenho fsico das bases de dados. VOLUME 2 METODOLOGIAS E FERRAMENTAS CASE A Parte 1 (METODOLOGIAS DE DESENVOLVIMENTO DE SOFTWARE) do segundo volume apresenta exemplos concretos de propostas metodolgicas de desenvolvimento de software, nomeadamente: o RUP (no Captulo 1), o ICONIX (no Captulo 2), e as metodologias geis, em particular o XP e o Scrum, descritos respectivamente no (Captulo 3). A Parte 2 (FERRAMENTAS CASE) do segundo volume apresenta a problemtica das ferramentas CASE descrevendo o seu significado, evoluo histrica e discutindo mecanismos de caracterizao e avaliao (Captulo 4). So apresentadas e analisadas duas das ferramentas que tm feito um investimento forte na modelao em UML, o Rational Software Architect, um dos sucessores do Rational Rose analisado na primeira edio do livro, e o Enterprise Architect, respectivamente nos Captulos 5 e 6. No Captulo 7 apresentada a iniciativa ProjectIT que se enquadra no mbito das abordagens de desenvolvimento baseadas em modelos. No Apndice A (Guia de Recursos Electrnicos) apresenta-se, de modo classificado, um conjunto significativo de recursos electrnicos sobre os temas abordados neste livro. No Apndice B (Glossrio, Siglas e Abreviaturas) apresentam-se trs tabelas com informao relativa ao glossrio, as siglas, e as abreviaturas adoptadas ao longo de todo o livro. Em Referncias listam-se, por ordem alfabtica, todas as referncias bibliogrficas utilizadas ao longo do livro. Por fim, inclui-se o ndice Remissivo que constitui um mecanismo tpico de trabalho e de consulta neste gnero de literatura.

Notao Adoptada Ao longo do livro so adoptadas genericamente as seguintes regras de notao textual:

Nomes e expresses em ingls so escritos em itlico. As excepes so expresses vulgarmente adoptadas para o portugus (e.g., software, bit), expresses intensamente usadas ao longo do texto (e.g., Internet, Web, standard), ou nomes de empresas ou produtos de origem anglo-saxnica (e.g., MS-Word, Enterprise Architect). Frases e expresses que se pretendam destacar so escritas com nfase (i.e., negrito). Exemplos de cdigo, pseudo-cdigo, nomes de classes, ou endereos electrnicos so apresentados numa fonte de tamanho fixo (i.e., Courier). Os exemplos apresentados neste livro aparecem enquadrados por uma moldura correspondente, conforme ilustrado neste mesmo pargrafo. Por fim, relativamente representao de diagramas ser utilizada, sempre que for adequado, e por razes bvias, a linguagem UML.

Agradecimentos Um agradecimento muito especial minha famlia por todo o amor e suporte que tive para poder realizar este livro, bem como pelas inmeras horas roubadas ao seu convvio. Parte significativa da actividade que conduziu realizao deste livro foi desenvolvida ao longo de vrios anos, no mbito de duas instituies de excelncia nacional, o Instituto Superior Tcnico e o INESC-ID, s quais expresso o meu maior agradecimento. Agradeo igualmente a todos os colegas e alunos com quem tive o privilgio de conviver, aprender e ensinar durante estes anos. Um agradecimento editora Centro Atlntico e ao seu editor, Librio Manuel Silva, pelo interesse imediato na publicao do livro, pela disponibilidade manifestada, e pela grande pacincia que foram tendo na expectativa da entrega desta nossa edio. Por fim, um agradecimento a todos que de uma forma ou outra sugeriram, comentaram ou apenas criticaram partes diversas deste trabalho, ou com quem simplesmente fui partilhando a ideia do livro, mais recentemente e em particular a Patrcia Dinis, Paula Martins, Joo Saraiva e David Ferreira. Alberto Silva

Quero em primeiro lugar agradecer minha famlia, pela sua dedicao, carinho e apoio incondicional, e a quem tive de roubar momentos importantes de convvio para poder participar neste projecto. Quero tambm agradecer aos meus amigos, de cujo convvio tive que prescindir para poder completar este livro.

A minha experincia como docente, colaborando com diversas instituies, quer ao nvel de cursos de licenciatura, ps-graduaes ou simples aces de formao, foi tambm um factor decisivo para a minha participao neste livro. As conversas que no contexto destes cursos fui mantendo com colegas e alunos proporcionaram uma permuta de opinies e comentrios que me ajudaram a melhorar a qualidade da presente obra e que contribuiu em diversos aspectos para a evoluo do contedo de uma parte significativa deste livro. Finalmente, editora Centro Atlntico e ao Librio Manuel Silva deixo um agradecimento pela sua pacincia em relao ao tempo que demorou a elaborar este segundo volume, e pelo seu interesse na publicao desta obra tcnico-cientfica, valorizando a misso de educar para o futuro. Carlos Videira

Lisboa, Janeiro de 2008 Alberto Manuel Rodrigues da Silva Carlos Alberto Escaleira Videira

Contactos Comentrios, sugestes gerais ou pedidos de aquisio de exemplares devero ser dirigidos editora Centro Atlntico (ver contactos na ficha tcnica deste livro). Encontra-se disponvel para consulta e download, em formato electrnico, partes complementares deste livro, nomeadamente: o seu resumo, o currculo abreviado dos autores, a lista de exerccios propostos e o guia de recursos electrnicos referidos em Apndice A em http://www.centroatl.pt/titulos/tecnologias/uml2-vol2.php3 .

Autores Alberto Manuel Rodrigues da Silva professor no Departamento de Engenharia Informtica (DEI) do IST/UTL, scio e director da empresa SIQuant - Engenharia do Territrio e Sistemas de Informao, e investigador snior no INESC-ID Lisboa. doutor e mestre em Engenharia Informtica e Computadores pelo IST/UTL, e licenciado em Engenharia Informtica pela FCT/UNL. Lecciona actualmente cadeiras da rea de Sistema de Informao de nvel licenciatura e ps-graduao. Supervisiona a realizao de vrios trabalhos finais de curso, teses de mestrado e de doutoramento. Tem interesses profissionais e cientficos em sistemas de informao dinmicos e distribudos em larga escala; engenharia de requisitos, desenvolvimento baseado em modelos, processos e ferramentas de sistemas de informao; e negcios suportados electronicamente. No INESC-ID membro e co-fundador do Grupo de Sistemas de Informao. Coordenador da Regio Sul do Colgio de Engenharia Informtica da Ordem dos Engenheiros. autor ou co-autor de 3 livros tcnicos nacionais e mais de 100 artigos cientficos em revistas, conferncias e workshops nacionais e internacionais; ainda editor de 2 livros internacionais. Carlos Alberto Escaleira Videira actualmente consultor na rea de sistemas de informao, e assistente no Departamento de Cincias e Tecnologias da UAL. Desempenhou funes de coordenao na rea de Informtica em diferentes empresas e participou em diversos projectos como consultor. Tem um mestrado em Engenharia Electrotcnica e Computadores pelo IST/UTL e uma licenciatura em Engenharia Informtica pela FCT/UNL, e est a concluir o seu doutoramento na rea de Engenharia de Requisitos. Lecciona actualmente disciplinas de Planeamento de Sistemas de Informao, Engenharia de Software, Qualidade de Sistemas de Informao e Negcios Electrnicos de nvel de licenciatura e ps-graduao. Tem interesses profissionais e cientficos em temas relacionados com Planeamento Estratgico de Sistemas de Informao, Engenharia de Software, Sistemas de Informao, Gesto de Projectos e Negcios Electrnicos.

ndice
Prefcio ao Segundo Volume da Segunda Edio Prefcio Primeira Edio ndice i iii xi

PARTE 1 METODOLOGIAS DE DESENVOLVIMENTO DE SOFTWARE 1


Captulo 1 Metodologia RUP 1.1 Introduo 1.2 Enquadramento Histrico 1.3 Caractersticas Principais
1.3.1 1.3.2 1.3.3 Metodologia Conduzida por Casos de Utilizao Metodologia Centrada numa Arquitectura Metodologia Iterativa e Incremental

5 5 9 11
12 13 15

1.4 1.5

As 4+1 Vises Viso Geral


Conceitos Gerais Componente Dinmica Componente Esttica Concepo Elaborao Construo Transio Comentrios Gerais

16 17
17 20 21

1.5.1 1.5.2 1.5.3

1.6

Fases e Iteraes A Componente Dinmica

22
23 24 25 26 27

1.6.1 1.6.2 1.6.3 1.6.4 1.6.5

1.7 Disciplinas, Tarefas e Produtos de Trabalho A Componente Esttica


1.7.1 1.7.2 1.7.3 Disciplina de Gesto do Projecto Disciplina de Modelao do Negcio Disciplina de Requisitos

29
30 32 33

1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9

Disciplina de Anlise e Desenho Disciplina de Implementao Disciplina de Testes Disciplina de Instalao Disciplina de Gesto da Configurao e das Alteraes Disciplina de Ambiente

35 36 38 39 40 41

1.8 1.9

Rational Method Composer Caso de Estudo DGD


Enunciado do Caso de Estudo DGD Resoluo do Caso de Estudo DGD

42 44
44 46

1.9.1 1.9.2

1.10 1.11

Concluso Exerccios

58 59 61 61 63
65 66 68 69

Captulo 2 Metodologia ICONIX 2.1 Introduo 2.2 Viso Geral


2.2.1 2.2.2 2.2.3 2.2.4 Anlise de Requisitos Anlise e Desenho Preliminar Desenho Detalhado Implementao

2.3 2.4

Validaes no ICONIX Caso de Estudo WebDEI Enunciado


Introduo Arquitectura Geral Tipos Bsicos de Informao Breve Descrio Funcional do Sistema Anlise de Requisitos Anlise e Desenho Preliminar Desenho Implementao

69 71
72 72 73 74

2.4.1 2.4.2 2.4.3 2.4.4

2.5

Caso de Estudo WebDEI - Resoluo

76
76 85 91 96

2.5.1 2.5.2 2.5.3 2.5.4

2.6 2.7

Concluso Exerccios

98 99 101 101 102 104


105 106 106 108 111

Captulo 3 Metodologias geis 3.1 Introduo 3.2 Manifesto para o Desenvolvimento gil de Software 3.3 XP Extreme Programming
3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 Valores Princpios Prticas Papis Artefactos

3.3.6 3.3.7 3.3.8

Actividades Um Dia Tpico de Trabalho Discusso Papis Artefactos Actividades Discusso Adaptive Software Development (ASD) Crystal PSP e TSP

112 117 120

3.4

Scrum

121
122 124 127 128

3.4.1 3.4.2 3.4.3 3.4.4

3.5

Outros Processos geis

129
129 129 130

3.5.1 3.5.2 3.5.3

3.6 3.7

Discusso Exerccios

131 132

PARTE 2 FERRAMENTAS CASE


Captulo 4 Ferramentas CASE 4.1 Introduo 4.2 Evoluo Histrica 4.3 Mecanismos de Integrao entre Ferramentas 4.4 Taxonomia das Ferramentas CASE 4.5 Vantagens e Problemas das Ferramentas CASE 4.6 Funcionalidades das Ferramentas CASE 4.7 Gerao Automtica de Artefactos
4.7.1 4.7.2 Round-Trip Engineering Gerao de Documentao

135
139 139 141 147 150 153 154 158
158 160

4.8 4.9

Avaliao de Ferramentas CASE Ferramentas de Modelao para UML


Modelao de Bases de Dados Modelao do Negcio

160 162
163 164

4.9.1 4.9.2

4.10 4.11

Concluso Exerccios

165 166 167 167 168 170 174

Captulo 5 Rational Software Architect 5.1 Introduo 5.2 Evoluo Histrica 5.3 Caractersticas Gerais 5.4 Tcnicas de Modelao

5.4.1 5.4.2 5.4.3 5.4.4

Modelao em UML Modelao de Dados Modelao de Negcio Outras Tcnicas de Modelao

175 179 182 183

5.5 5.6

Elaborao de Documentao Mecanismos de Extensibilidade


Mecanismos de Extensibilidade no Rational Rose Mecanismos de Extensibilidade no RSA Edio visual Transformaes

184 188
188 189

5.6.1 5.6.2

5.7

Desenvolvimento baseado em modelos

194
194 198

5.7.1 5.7.2

5.8

Concluso

203 205 205 206 210


210 212 216 221

Captulo 6 Enterprise Architect 6.1 Introduo 6.2 Caractersticas Gerais 6.3 Tcnicas de Modelao
6.3.1 6.3.2 6.3.3 6.3.4 Modelao em UML Outros modelos Modelao de Dados Modelao de Negcio Controlo de verses Mecanismos de segurana Mecanismos de auditoria

6.4

Suporte ao trabalho em equipa

222
223 227 229

6.4.1 6.4.2 6.4.3

6.5 6.6 6.7 6.8 6.9

Mecanismos de gerao de cdigo Transformaes entre modelos Mecanismos de extensibilidade Documentao Concluso

230 237 241 243 247 249 249 252


253 255 257 260 264

Captulo 7 Iniciativa ProjectIT 7.1 Introduo 7.2 ProjectIT-Enterprise Ferramenta CSCW


7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 Plataforma de Suporte WebComfort Dimenso Organizacional Dimenso de Processos Dimenso de Projectos Outros Aspectos Aproximao ProjectIT ProjectIT-Studio/Requirements ProjectIT-Studio/UMLModeler

7.3

ProjectIT-Studio Ferramenta CASE

265
266 269 271

7.3.1 7.3.2 7.3.3

7.3.4

ProjectIT-Studio/MDDGenerator

273

7.4

Concluses

275 279
280 280 280 281 282

Apndice A Guia de Recursos Electrnicos


Standards, Organizaes Normalizadoras, Iniciativas e Fruns Links Relevantes Leituras Recomendadas Ferramentas UML Comerciais Ferramentas UML Open Source

Apndice B Glossrio, Siglas e Abreviaturas B.1 Glossrio B.2 Siglas mais Usadas B.3 Abreviaturas Apndice C Elementos UML Predefinidos C.1 Palavras Reservadas C.2 Esteretipos Standard Referncias ndice Remissivo

283 284 285 286 287 287 291 295 307

Parte 1 Metodologias de Desenvolvimento de Software


O que um ritual? perguntou o Principezinho. Tambm uma coisa que toda a gente se esqueceu respondeu a raposa. o que faz com que um dia seja diferente dos outros dias e uma hora, diferente das outras horas. Os meus caadores, por exemplo, tm um ritual. quinta-feira, vo ao baile com as raparigas da aldeia. Assim a quinta-feira um dia maravilhoso. Eu posso ir passear para as vinhas. Se os caadores fossem para o baile num dia qualquer, os dias eram todos iguais uns aos outros e eu nunca tinha frias. Antoine de Saint-Exupry, O Principezinho.

A Necessidade de uma Metodologia A Parte 1 deste segundo volume marca o retomar do livro na anlise dos conceitos mais abrangentes da engenharia de software e dos sistemas de informao. Depois de termos apresentado a linguagem UML, ao longo da segunda parte do primeiro volume, colocam-se naturalmente diversas questes: Como que podemos utilizar o UML para modelar sistemas de software? Quando que devemos usar os diferentes tipos de diagramas? Com que nvel de detalhe? Qual o melhor processo para definir relaes entre os vrios tipos de diagramas, por exemplo, entre diagramas de casos de utilizao e diagramas de interaco? A resposta a estas e outras questes passa por conhecer e aplicar uma determinada metodologia que oriente a utilizao do UML ao longo do processo de desenvolvimento (ou simplesmente em actividades de modelao) de software. O que uma Metodologia? Tal como discutido no Captulo 2 do primeiro volume, o processo de desenvolvimento de software consiste genericamente num conjunto de fases, tarefas e actividades, realizadas por intervenientes que desempenham vrias funes, de modo a elaborarem diversos artefactos e que conjuntamente contribuem para a produo de um sistema de software. O conceito de metodologia implica adicionalmente a definio de aspectos que torna concretizvel a noo de processo, designadamente a utilizao de tcnicas, notaes e ferramentas. O processo de desenvolvimento de software um acto complexo, com mltiplas variveis e inmeras vezes com qualidade reduzida, ultrapassando os prazos e os oramentos previstos. No h receitas milagrosas, por isso um processo deve ser adaptado e configurado conforme o perfil das empresas, dos projectos e dos intervenientes envolvidos. No acreditamos na produo de software em massa e automatizada. Esta actividade no trivial e ser sempre uma combinao entre engenharia e arte, entre trabalho individual e trabalho de equipa. Nesta primeira parte do segundo volume do livro aprofundamos a problemtica das metodologias de desenvolvimento de software atravs da anlise e discusso de duas propostas concretas que adoptam o UML como linguagem de modelao (o RUP e o ICONIX) e fazendo referncia a um conjunto de metodologias e tcnicas, normalmente designadas pela expresso de abordagens geis, que tm ganho importncia quer em termos de investigao, quer na sua utilizao em projectos do mundo real. Esta primeira parte pressupe que o leitor tenha algum conhecimento sobre os conceitos que esto normalmente associados definio de metodologias. Estes conceitos foram de alguma forma apresentados e discutidos na primeira parte do primeiro volume, e por isso no so aqui repetidos.

Organizao da primeira parte do segundo volume O Captulo 1, Metodologia RUP, apresenta o Rational Unified Process, uma metodologia completa aplicada ao desenvolvimento de software. Encontra-se fortemente integrado com o UML, ou no tivesse resultado da continuao dos esforos dos mesmos autores. O RUP segue um modelo iterativo e incremental, centrado numa arquitectura e conduzido por casos de utilizao. uma metodologia que se baseia no paradigma da orientao por objectos, e a abrangncia das suas propostas contempla a possibilidade de adaptao realidade de cada projecto ou organizao. Neste captulo, apresenta-se uma panormica geral do RUP, em particular as suas diferentes vises: a viso dinmica (baseada em ciclos, fases e iteraes) e a viso esttica (baseada em disciplinas, actividades e produtos de trabalho). Por fim, discute-se o RUP atravs da sua aplicao a um caso prtico, de dimenso e complexidade no trivial, e ainda as evolues mais recentemente efectuadas pela IBM, ao nvel de suporte de ferramentas para a aplicao da metodologia. Como se poder constatar, os conceitos base do RUP permanecem os mesmos desde as verses iniciais, mas houve uma tentativa de responder s crticas que lhe foram sendo efectuadas ao longo dos anos, agilizando a sua aplicao e melhorando o suporte por parte de ferramentas. O Captulo 2, Metodologia ICONIX, apresenta a metodologia ICONIX, para desenvolvimento de software segundo uma abordagem muito prtica, algures entre a complexidade e abrangncia do RUP e a simplicidade e o pragmatismo das abordagens geis. O ICONIX conduzido por casos de utilizao, iterativo e incremental, tal como o RUP, mas sem a complexidade que este preconiza. Por outro lado, relativamente pequeno e simples, tal como o XP, mas sem eliminar as tarefas de anlise e de desenho que aquele no desenvolve significativamente. Discute-se o ICONIX atravs da sua aplicao na modelao do caso de estudo WebDEI, o qual consiste num sistema de informao Web multi-camada, desenvolvido exclusivamente com tecnologia Java. Apesar de no ser uma metodologia muito divulgada e por isso no conhecida do grande pblico, decidimos manter este captulo no presente livro, devido quer simplicidade da metodologia ICONIX, quer ao facto de incluir as actividades bsicas, que muitas vezes so realizadas mesmo por quem no conhece os fundamentos tericos das metodologias orientadas por objectos, baseadas em UML. A principal razo tem a ver com o facto do ICONIX ser uma das metodologias em que a relao entre os conceitos de metodologia e de modelao mais forte, por ter sido concebida de raiz para a aplicao das tcnicas de modelao UML. Finalmente o Captulo 3 descreve os princpios subjacentes a um conjunto de diversas abordagens, designadas por abordagens geis. A sua origem assenta em princpios e valores comuns, que esto descritos no Manifesto gil, e reflectem preocupaes que vo alm dos tradicionais aspectos metodolgicos mais tcnicos, ao inclurem

tambm aspectos de natureza social, humana e trabalho de equipa. O seu enfoque sobretudo nas pessoas, na qualidade do seu trabalho, na definio de tcnicas que permitam atingir o verdadeiro objectivo (o desenvolvimento do cdigo de um sistema de informao), e principalmente na criao de um ambiente de trabalho agradvel e motivador. Entre as vrias abordagens geis, destaca-se em particular o Extreme Programming (XP), que adquiriu uma popularidade significativa junto do grande pblico, o que tambm motivou a publicao de vrias referncias bibliogrficas. Mais recentemente, o Scrum tem merecido a ateno crescente quer da comunidade acadmica, quer dos profissionais que desenvolvem sistemas no dia-a-dia. Por isso, optmos por descrever os princpios genricos das abordagens geis, e de seguida por fazer uma descrio mais detalhada das prticas relacionadas com o XP e o Scrum, que apresentam aspectos distintivos mas complementares. O captulo termina com uma breve referncia a outras abordagens, como seja Crystal, ASD, PSP e TSP.

CAPTULO 1 METODOLOGIA RUP

59

1.11

Exerccios

Ex.1. Tendo em conta os seus conhecimentos sobre o RUP, quais so os tipos de empresas que maior partido podero tirar desta metodologia de desenvolvimento? Justifique a sua afirmao Ex.2. Relativamente metodologia de desenvolvimento RUP, aplicam-se normalmente critrios uniformes para definir o tempo de durao da fase de concepo, em funo de experincias do passado, e introduzem-se alguns factores de ajustamento que podem aumentar ou diminuir esse tempo. Para alm dos factores referidos no livro, indique outros que na sua opinio podero influenciar os valores das referidas estimativas. Ex.3. Imagine o desenvolvimento de um sistema de informao de complexidade relativamente baixa, cuja durao total no excederia trs meses. Seria possvel e desejvel aplicar o RUP? Em caso afirmativo, que alteraes ou adaptaes introduziria? Ex.4. O RUP refere que a aplicao do workflow de modelao do negcio opcional. Em que circunstncias que recomendaria a sua incluso num projecto de desenvolvimento de software. Ex.5. Complete o diagrama de casos de utilizao apresentado na Figura 1.24, relativamente ao actor Cidado. Ex.6. Identifique quais os principais riscos que o projecto poder apresentar, e proponha algumas medidas de correco. Ex.7. Elabore o diagrama de classes simplificado (o modelo de domnio) referente ao caso de estudo apresentado.

CAPTULO 2 METODOLOGIA ICONIX

99

2.7

Exerccios

Ex.8. Tendo em conta os seus conhecimentos sobre o ICONIX, quais so os tipos de empresas que maior partido podero tirar desta metodologia de desenvolvimento? Ex.9. Quais so as principais caractersticas do ICONIX? Ex.10. Quais so os diagramas UML cuja aplicao no relevante segundo o ICONIX? Ex.11. Quais so os principais tipos de objectos usados na actividade de anlise de robustez? Ex.12. O que so diagramas de robustez? Qual a sua importncia no contexto do ICONIX? Ex.13. Qual a posio do ICONIX relativamente relao entre casos de utilizao e requisitos? Discuta justificadamente se concorda ou no com essa posio. Ex.14. Faa a descrio textual dos casos de utilizao apresentados na Figura 2.11, relativamente ao caso de estudo WebDEI. Ex.15. Qual a sequncia de passos preconizada no ICONIX para se passar de um diagrama de robustez (conjuntamente com a descrio textual do caso de utilizao) para um diagrama de sequncia? Ex.16. Modifique o diagrama de classes da fase de desenho, apresentado na Figura 2.19, relativamente ao caso de estudo WebDEI, considerando que tanto os servlets (derivados a partir da classe WebDEIServlet) como o WebDEIServer tm acesso s classes de entidade (e.g., Evento, Docente, AreaCientifica), e que em vez de trocarem strings, trocam instncias dessas classes serializadas.

132

UML, METODOLOGIAS E FERRAMENTAS CASE VOL. II .

3.7

Exerccios

Ex.17. Considere o desenho de um modelo de especificao dos elementos de um processo, que envolva os seguintes conceitos: (1) Actividade (activity); (2) Produto (work product ou artefact); (3) Papel (role); (4) Disciplinas (discipline); e (5) Ciclo de vida: Fases (phase) e Iteraes (iteration). Aplique esse modelo ao XP. Ex.18. Considere o desenho de um modelo de especificao dos elementos de um processo, que envolva os seguintes conceitos: (1) Actividade (activity); (2) Produto (work product ou artefact); (3) Papel (role); (4) Disciplinas (discipline); e (5) Ciclo de vida: Fases (phase) e Iteraes (iteration). Aplique esse modelo ao Scrum. Ex.19. Enumere e discuta as principais limitaes de processos geis como o XP. Ex.20. Discuta a adopo do XP em (1) Projectos com/para a administrao pblica; e (2) Projectos internos numa operadora de telecomunicaes. Ex.21. Discuta a adopo do Scrum em (1) Projectos com/para a administrao pblica; e (2) Projectos internos numa operadora de telecomunicaes. Ex.22. Seleccione a melhor resposta (apenas uma) das questes abaixo. No XP o "Release planning game" disputado por: A. Programadores B. Clientes C. Programadores e Clientes D. Programadores, Clientes, Monitorizador Ex.23. Seleccione a melhor resposta (apenas uma) das questes abaixo. No XP o "Iteration planning game" disputado por: A. Programadores B. Clientes C. Programadores e Clientes D. Programadores, Clientes, Monitorizador

CAPTULO 3 METODOLOGIAS GEIS

133

Ex.24. Seleccione a melhor resposta (apenas uma) das questes abaixo. O XP recomenda que uma tarefa seja realizada em 2 a 4: A. Horas B. Dias C. Semanas D. Meses Ex.25. Seleccione a melhor resposta (apenas uma) das questes abaixo. O XP recomenda que uma iterao seja realizada em 2 a 4: A. Horas B. Dias C. Semanas D. Meses Ex.26. Seleccione a melhor resposta (apenas uma) das questes abaixo. No Scrum o "Sprint Planning" realizado por: A. Product Owner B. Clientes C. Product Owner, Team D. Product Owner, Team, ScrumMaster Ex.27. Seleccione a melhor resposta (apenas uma) das questes abaixo. No Scrum o "Sprint Review" realizado por: A. Product Owner B. Clientes C. Product Owner, Team D. Product Owner, Team, ScrumMaster Ex.28. Seleccione a melhor resposta (apenas uma) das questes abaixo. O Scrum recomenda que uma tarefa seja realizada entre 4 a 16: A. Horas B. Dias C. Semanas D. Meses

134

UML, METODOLOGIAS E FERRAMENTAS CASE VOL. II

Ex.29. Seleccione a melhor resposta (apenas uma) das questes abaixo. O Scrum recomenda que um Sprint seja realizado em 2 a 4: A. Horas B. Dias C. Semanas D. Meses Ex.30. Discuta as principais vantagens e desvantagens da aplicao de um processo gil, como o XP, relativamente a um processo mais pesado como o RUP. Ex.31. Para cada um dos processos geis referidos neste captulo (i.e., ASD, PSP e TSP, DSDM, Agile Modeling, OpenUP, FDD, AUP, MSF), investigue, discuta e identifique claramente os seguintes conceitos: (1) papis; (2) terminologia de fases, iteraes e actividades; e (3) artefactos principais. Ex.32. Compare o Scrum com o XP do ponto de vista do papel do Gestor de Projecto. (Sugesto: liste as suas principais responsabilidades e tarefas) Ex.33. Discuta a aplicao do Scrum em complementaridade com o XP.

166

UML, METODOLOGIAS E FERRAMENTAS CASE VOL. II .

4.11

Exerccios

Ex.34. Qual a importncia da definio e aplicao dos standards de integrao de ferramentas? Quais as razes pelas quais, na sua opinio, eles tm falhado na realizao dos objectivos propostos. Ex.35. Um dos grandes objectivos h muito tempo perseguido pelas ferramentas CASE a gerao automtica de cdigo. No entanto, at data estas iniciativas no tm tido o impacto esperado. Indique algumas razes pelas quais tal pode ter acontecido. Ex.36. De que modo a evoluo da tecnologia tem condicionado o sucesso das ferramentas CASE? Ex.37. Segundo a taxonomia de ferramentas CASE apresentada neste captulo, classifique em termos de importncia (fundamental, importante, pouco importante, sem relevncia) cada uma das categorias apresentadas, justificando a sua resposta. Ex.38. Pensa que seria possvel utilizar uma ferramenta de modelao de processos, segundo as abordagens tradicionais, para suportar o processo RUP? Justifique a sua resposta.

APNDICE A GUIA DE RECURSOS ELECTRNICOS

Neste apndice compilado um conjunto significativo de referncias electrnicas (links) relacionadas com os temas abordados neste livro. Esta compilao est organizada num conjunto de categorias, de modo a facilitar ao leitor a procura e navegao de informao. As categorias consideradas so as seguintes: Standards e Organizaes Normalizadoras: So tipicamente consrcios de empresas e de centros de investigao cujo objectivo a promoo, divulgao de informao sobre os mtodos de A&D, linguagens de modelao, e processos de desenvolvimento de software, ou ento referncias disponveis online sobre algumas normas referidas ao longo do texto. Leituras Recomendadas: Constituem um conjunto de referncias clssicas, suficientemente simples de entender, que abordam diversos aspectos que podero facilitar a compreenso dos temas abordados. Catlogos de Informao (Meta-Informao): Estes recursos constituem excelentes pontos de partida para uma procura geral sobre os temas abordados; apresentam um nmero significativo de referncias electrnicas para distintos locais, organizados por distintos critrios; alguns destes recursos providenciam ainda jornais online, grupos de discusso e/ou listas de correio-electrnico. Podero incluir referncias para recursos bibliogrficos existentes na Internet, nomeadamente para livros, revistas, artigos publicados em conferncias, etc. Empresas: Lista de empresas cuja actuao tem, ao longo do tempo, apresentado um significado relevante para os temas abordados neste livro. Algumas empresas no so includas nesta lista pelo facto de serem referidas no ponto seguinte. Ferramentas CASE: Lista de empresas e ferramentas de modelao de software. Esta lista, sem pretender ser exaustiva, apresenta algumas das referncias mais relevantes nesta categoria de ferramentas, podendo servir como ponto de partida para o leitor efectuar a sua prpria investigao.

280

UML, METODOLOGIAS E FERRAMENTAS CASE VOL. II

Standards, Organizaes Normalizadoras, Iniciativas e Fruns Ttulo IDEF Family of Methods Object Management Group (OMG) UML Object Management Group (OMG) MDA OCL (Object Constraint Language) OOAD_UML Group Precise UML (pUML) Group Software Engineering Body of Knowledge Software Engineering Institute Software Engineering Institute Product Line Practice Initiative UML Zone (DevX) UML Forum (1) UML Forum (2) 2U Consortium (Unambiguous UML) URL www.idef.com www.omg.org/uml www.omg.org/mda www.klasse.nl/ocl/ groups.yahoo.com/group/OOAD_UML/ www.cs.york.ac.uk/puml www.swebok.org www.sei.cmu.edu www.sei.cmu.edu/productlines/plp_init.html www.devx.com/enterprise/Door/10606 www.uml-forum.com groups.yahoo.com/group/uml-forum/ www.2uworks.org

Links Relevantes Ttulo Catalysis Extreme Programming (Donovan Wells) Extreme Programming (Ron Jeffries) ICONIX Software Engineering Manifesto gil Methodology.org Projecto ProjectIT Projecto XIS RUP (Rational Unified Process) Scrum URL www.catalysis.org www.extremeprogramming.org www.xprogramming.com www.iconixsw.com agilemanifesto.org www.itmweb.com/methodology isg.inesc-id.pt/alb/ProjectIT@81.aspx berlin.inesc-id.pt/projects/xis/ www-306.ibm.com/software/awdtools/rup/ www.scrumalliance.org

Leituras Recomendadas Ttulo Agent UML Web Site CETUS Links: Object-Oriented Analysis & Design Methods CETUS Links: Object-Oriented Analysis & Design Tools CETUS Links: Unified Modeling Language (UML) Data Modeling Guide to selecting a UML modeling tool Objects by Design URL aot.ce.unipr.it/auml www.cetus-links.org/oo_ooa_ood_methods.html www.cetus-links.org/oo_ooa_ood_tools.html www.cetus-links.org/oo_uml.html www.datamodel.org www.objectsbydesign.com/tools/modeling_tools.html www.objectsbydesign.com

APNDICE A GUIA DE RECURSOS ELECTRNICOS

281

Selection list of UML tools.( Objects by Design) The UML Bibliography (Mark Richters)

www.objectsbydesign.com/tools/umltools_byCompany .html www.db.informatik.unibremen.de/umlbib/home.html

Ferramentas UML Comerciais Empresa Aonix Artisan Borland Casewise Computer Associates Compuware Gentleware IBM Rational Ferramenta Software through Pictures Artisan Studio Together Casewise Corporate Modeler Erwin, Bpwin OptimalJ Poseidon Rational Software Architect Rational Software Modeler Aris Mega Modeling Suite ProVision WithClass Visio MagicDraw UML Designer, Developer Silverrun Objecteering Enterprise Architect PowerDesigner Doors, Focal Point, System Architect, Rhapsody, TAU Metis Architect Fujaba URL www.aonix.com/index.html www.artisansw.com www.borland.com/us/products/together/index.ht ml www.casewise.com www.ca.com www.compuware.com/products/optimalj/ www.gentleware.com www306.ibm.com/software/awdtools/architect/swarch itect www306.ibm.com/software/awdtools/modeler/swmode ler/ www.ids-scheer.com www.mega.com www.metastorm.com/products/mpea.asp www.microgold.com www.microsoft.com/office/visio www.magicdraw.com www.oracle.com www.silverrun.com www.objecteering.com www.sparxsystems.com www.sybase.com www.telelogic.com

IBM Rational

IDS Scheer AG Mega International Metastorm Microgold Software Microsoft No Magic's Oracle Grandite Softeam Sparx Systems Sybase Telelogic

Troux Technologies Universidade de Paderborn, Alemanha Visible Systems Visible Analyst Corporation Visual Object Modelers Visual UML

www.troux.com/products/metis_architect/ wwwcs.upb.de/cs/fujaba/ www.visible.com www.visualobject.com

282

UML, METODOLOGIAS E FERRAMENTAS CASE VOL. II

Ferramentas UML Open Source Ttulo Argo UML Eclipse Modeling Tools MonoUML Papyrus UML Star UML TopCased Umbrello UMLLet URL argouml.tigris.org www.eclipse.org/modeling/mdt/?project=uml2 monouml.sourceforge.net www.papyrusuml.org staruml.sourceforge.net/en/ www.topcased.org uml.sourceforge.net/index.php www.umlet.com

Das könnte Ihnen auch gefallen