uml 2

37

Upload: tiago-tokunaga

Post on 25-Nov-2015

14 views

Category:

Documents


0 download

TRANSCRIPT

  • 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 [email protected] 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 ins-trues 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 apare-cimento 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 maturi-dade 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 respec-tivos 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 (Meto-dologias) so apresentadas actualizaes importantes nos captulos sobre as meto-dologias 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 refe-rncias do mercado (obviamente reflectindo as verses mais recentes), e substituir o System Architect pelo Enterprise Architect, devido s capacidades desta ltima fer-ramenta e sua crescente utilizao no mercado. Devido crescente importncia do paradigma do desenvolvimento baseado em modelos (MDE Model Driven Enginee-ring), 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 soft-ware, designadamente as problemticas (1) das linguagens de modelao de soft-ware, (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 coe-rente. 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 estra-tgico 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 abran-gente 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, mecanis-mos de extenso, etc.

    A aprendizagem e adopo dos temas abordados neste livro constituem uma vanta-gem 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; facili-dade de comunicao entre todos os intervenientes envolvidos no processo; melho-rias significativas em factores como sejam flexibilidade e produtividade; melhor ges-to 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 intervenien-tes 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 neces-srio 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 investiga-o, 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 corres-pondentes 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. Paralela-mente, 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 aprendi-zagem da engenharia de software nos tpicos referidos.

    A temtica tratada neste livro abrangente e a sua profundidade , propositada-mente, de nvel intermdio. Inmeros assuntos podero ser analisados e aprofunda-dos complementarmente, entre os quais destacam-se, a ttulo de exemplo, os seguin-tes: 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 discipli-nas de nvel de ensino superior na rea de sistemas de informao. Consequente-mente, 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 licencia-tura 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 es-senciais 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 cap-tulos 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 fer-ramentas CASE descrevendo o seu significado, evoluo histrica e discutindo meca-nismos 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 pri-meira 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 tex-tual:

  • Nomes e expresses em ingls so escritos em itlico. As excepes so expres-ses 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 cor-respondente, 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 con-vvio.

    Parte significativa da actividade que conduziu realizao deste livro foi desenvol-vida 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 agradeci-mento. 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, comenta-ram 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 pre-sente 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 agradeci-mento 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 licen-ciado 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 dis-tribudos 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 internacio-nais; 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. Desem-penhou 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 Enge-nharia de Requisitos. Lecciona actualmente disciplinas de Planeamento de Sistemas de Informao, Engenharia de Software, Qualidade de Sistemas de Informao e Ne-gcios Electrnicos de nvel de licenciatura e ps-graduao. Tem interesses profis-sionais 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 i

    Prefcio Primeira Edio iii

    ndice xi

    PARTE 1 METODOLOGIAS DE DESENVOLVIMENTO DE SOFTWARE 1

    Captulo 1 - Metodologia RUP 5 1.1 Introduo 5 1.2 Enquadramento Histrico 9 1.3 Caractersticas Principais 11

    1.3.1 Metodologia Conduzida por Casos de Utilizao 12 1.3.2 Metodologia Centrada numa Arquitectura 13 1.3.3 Metodologia Iterativa e Incremental 15

    1.4 As 4+1 Vises 16 1.5 Viso Geral 17

    1.5.1 Conceitos Gerais 17 1.5.2 Componente Dinmica 20 1.5.3 Componente Esttica 21

    1.6 Fases e Iteraes A Componente Dinmica 22 1.6.1 Concepo 23 1.6.2 Elaborao 24 1.6.3 Construo 25 1.6.4 Transio 26 1.6.5 Comentrios Gerais 27

    1.7 Disciplinas, Tarefas e Produtos de Trabalho A Componente Esttica 29

    1.7.1 Disciplina de Gesto do Projecto 30 1.7.2 Disciplina de Modelao do Negcio 32 1.7.3 Disciplina de Requisitos 33

  • 1.7.4 Disciplina de Anlise e Desenho 35 1.7.5 Disciplina de Implementao 36 1.7.6 Disciplina de Testes 38 1.7.7 Disciplina de Instalao 39 1.7.8 Disciplina de Gesto da Configurao e das Alteraes 40 1.7.9 Disciplina de Ambiente 41

    1.8 Rational Method Composer 42 1.9 Caso de Estudo DGD 44

    1.9.1 Enunciado do Caso de Estudo DGD 44 1.9.2 Resoluo do Caso de Estudo DGD 46

    1.10 Concluso 58 1.11 Exerccios 59

    Captulo 2 - Metodologia ICONIX 61 2.1 Introduo 61 2.2 Viso Geral 63

    2.2.1 Anlise de Requisitos 65 2.2.2 Anlise e Desenho Preliminar 66 2.2.3 Desenho Detalhado 68 2.2.4 Implementao 69

    2.3 Validaes no ICONIX 69 2.4 Caso de Estudo WebDEI Enunciado 71

    2.4.1 Introduo 72 2.4.2 Arquitectura Geral 72 2.4.3 Tipos Bsicos de Informao 73 2.4.4 Breve Descrio Funcional do Sistema 74

    2.5 Caso de Estudo WebDEI - Resoluo 76 2.5.1 Anlise de Requisitos 76 2.5.2 Anlise e Desenho Preliminar 85 2.5.3 Desenho 91 2.5.4 Implementao 96

    2.6 Concluso 98 2.7 Exerccios 99

    Captulo 3 - Metodologias geis 101 3.1 Introduo 101 3.2 Manifesto para o Desenvolvimento gil de Software 102 3.3 XP Extreme Programming 104

    3.3.1 Valores 105 3.3.2 Princpios 106 3.3.3 Prticas 106 3.3.4 Papis 108 3.3.5 Artefactos 111

  • 3.3.6 Actividades 112 3.3.7 Um Dia Tpico de Trabalho 117 3.3.8 Discusso 120

    3.4 Scrum 121 3.4.1 Papis 122 3.4.2 Artefactos 124 3.4.3 Actividades 127 3.4.4 Discusso 128

    3.5 Outros Processos geis 129 3.5.1 Adaptive Software Development (ASD) 129 3.5.2 Crystal 129 3.5.3 PSP e TSP 130

    3.6 Discusso 131 3.7 Exerccios 132

    PARTE 2 FERRAMENTAS CASE 135 Captulo 4 - Ferramentas CASE 139

    4.1 Introduo 139 4.2 Evoluo Histrica 141 4.3 Mecanismos de Integrao entre Ferramentas 147 4.4 Taxonomia das Ferramentas CASE 150 4.5 Vantagens e Problemas das Ferramentas CASE 153 4.6 Funcionalidades das Ferramentas CASE 154 4.7 Gerao Automtica de Artefactos 158

    4.7.1 Round-Trip Engineering 158 4.7.2 Gerao de Documentao 160

    4.8 Avaliao de Ferramentas CASE 160 4.9 Ferramentas de Modelao para UML 162

    4.9.1 Modelao de Bases de Dados 163 4.9.2 Modelao do Negcio 164

    4.10 Concluso 165 4.11 Exerccios 166

    Captulo 5 - Rational Software Architect 167 5.1 Introduo 167 5.2 Evoluo Histrica 168 5.3 Caractersticas Gerais 170 5.4 Tcnicas de Modelao 174

  • 5.4.1 Modelao em UML 175 5.4.2 Modelao de Dados 179 5.4.3 Modelao de Negcio 182 5.4.4 Outras Tcnicas de Modelao 183

    5.5 Elaborao de Documentao 184 5.6 Mecanismos de Extensibilidade 188

    5.6.1 Mecanismos de Extensibilidade no Rational Rose 188 5.6.2 Mecanismos de Extensibilidade no RSA 189

    5.7 Desenvolvimento baseado em modelos 194 5.7.1 Edio visual 194 5.7.2 Transformaes 198

    5.8 Concluso 203

    Captulo 6 - Enterprise Architect 205 6.1 Introduo 205 6.2 Caractersticas Gerais 206 6.3 Tcnicas de Modelao 210

    6.3.1 Modelao em UML 210 6.3.2 Outros modelos 212 6.3.3 Modelao de Dados 216 6.3.4 Modelao de Negcio 221

    6.4 Suporte ao trabalho em equipa 222 6.4.1 Controlo de verses 223 6.4.2 Mecanismos de segurana 227 6.4.3 Mecanismos de auditoria 229

    6.5 Mecanismos de gerao de cdigo 230 6.6 Transformaes entre modelos 237 6.7 Mecanismos de extensibilidade 241 6.8 Documentao 243 6.9 Concluso 247

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

    7.2.1 Plataforma de Suporte WebComfort 253 7.2.2 Dimenso Organizacional 255 7.2.3 Dimenso de Processos 257 7.2.4 Dimenso de Projectos 260 7.2.5 Outros Aspectos 264

    7.3 ProjectIT-Studio Ferramenta CASE 265 7.3.1 Aproximao ProjectIT 266 7.3.2 ProjectIT-Studio/Requirements 269 7.3.3 ProjectIT-Studio/UMLModeler 271

  • 7.3.4 ProjectIT-Studio/MDDGenerator 273 7.4 Concluses 275

    Apndice A Guia de Recursos Electrnicos 279 Standards, Organizaes Normalizadoras, Iniciativas e Fruns 280 Links Relevantes 280 Leituras Recomendadas 280 Ferramentas UML Comerciais 281 Ferramentas UML Open Source 282

    Apndice B Glossrio, Siglas e Abreviaturas 283 B.1 Glossrio 284 B.2 Siglas mais Usadas 285 B.3 Abreviaturas 286

    Apndice C Elementos UML Predefinidos 287 C.1 Palavras Reservadas 287 C.2 Esteretipos Standard 291

    Referncias 295

    ndice Remissivo 307

  • Parte 1 Metodologias de

    Desenvolvimento de Software

    O que um ritual? perguntou o Principezinho.

    Tambm uma coisa que toda a gente se esqueceu res-pondeu a raposa. o que faz com que um dia seja dife-rente 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 modela-o) de software.

    O que uma Metodologia?

    Tal como discutido no Captulo 2 do primeiro volume, o processo de desenvolvi-mento de software consiste genericamente num conjunto de fases, tarefas e activida-des, realizadas por intervenientes que desempenham vrias funes, de modo a ela-borarem 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 utiliza-o 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 interve-nientes envolvidos. No acreditamos na produo de software em massa e automati-zada. 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, normal-mente 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 con-ceitos que esto normalmente associados definio de metodologias. Estes concei-tos 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 meto-dologia 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, dis-cute-se o RUP atravs da sua aplicao a um caso prtico, de dimenso e complexi-dade 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 ini-ciais, mas houve uma tentativa de responder s crticas que lhe foram sendo efectua-das 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 desen-volvimento de software segundo uma abordagem muito prtica, algures entre a com-plexidade 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, relativa-mente 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 sis-tema de informao Web multi-camada, desenvolvido exclusivamente com tecnolo-gia 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 sim-plicidade 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 con-ceitos de metodologia e de modelao mais forte, por ter sido concebida de raiz pa-ra 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 recente-mente, 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 apresen-tam 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 desenvolvi-mento? Justifique a sua afirmao

    Ex.2. Relativamente metodologia de desenvolvimento RUP, aplicam-se normal-mente critrios uniformes para definir o tempo de durao da fase de concep-o, em funo de experincias do passado, e introduzem-se alguns factores de ajustamento que podem aumentar ou diminuir esse tempo. Para alm dos fac-tores 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 opcio-nal. 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 desenvolvi-mento?

    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 utili-zao) 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 ser-vlets (derivados a partir da classe WebDEIServlet) como o WebDEIServer tm acesso s classes de entidade (e.g., Evento, Docente, AreaCienti-fica), 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) Pro-duto (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) Pro-duto (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 p-blica; 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 reco-menda 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 reco-menda 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 fer-ramentas CASE?

    Ex.37. Segundo a taxonomia de ferramentas CASE apresentada neste captulo, classifique em termos de importncia (fundamental, importante, pouco impor-tante, 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 orga-nizada num conjunto de categorias, de modo a facilitar ao leitor a procura e navega-o 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, sufi-cientemente 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. Pode-ro incluir referncias para recursos bibliogrficos existentes na Internet, nomea-damente 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 URLIDEF Family of Methods www.idef.comObject Management Group (OMG) UML www.omg.org/umlObject Management Group (OMG) MDA www.omg.org/mdaOCL (Object Constraint Language) www.klasse.nl/ocl/OOAD_UML Group groups.yahoo.com/group/OOAD_UML/ Precise UML (pUML) Group www.cs.york.ac.uk/pumlSoftware Engineering Body of Knowledge www.swebok.orgSoftware Engineering Institute www.sei.cmu.eduSoftware Engineering Institute Product Line Practice Initiative

    www.sei.cmu.edu/productlines/plp_init.html

    UML Zone (DevX) www.devx.com/enterprise/Door/10606 UML Forum (1) www.uml-forum.comUML Forum (2) groups.yahoo.com/group/uml-forum/2U Consortium (Unambiguous UML) www.2uworks.org

    Links Relevantes Ttulo URLCatalysis www.catalysis.orgExtreme Programming (Donovan Wells) www.extremeprogramming.orgExtreme Programming (Ron Jeffries) www.xprogramming.comICONIX Software Engineering www.iconixsw.comManifesto gil agilemanifesto.orgMethodology.org www.itmweb.com/methodologyProjecto ProjectIT isg.inesc-id.pt/alb/[email protected] Projecto XIS berlin.inesc-id.pt/projects/xis/ RUP (Rational Unified Process) www-306.ibm.com/software/awdtools/rup/ Scrum www.scrumalliance.org

    Leituras Recomendadas Ttulo URLAgent UML Web Site aot.ce.unipr.it/aumlCETUS Links: Object-Oriented Analysis & Design Methods

    www.cetus-links.org/oo_ooa_ood_methods.html

    CETUS Links: Object-Oriented Analysis & Design Tools

    www.cetus-links.org/oo_ooa_ood_tools.html

    CETUS Links: Unified Modeling Language (UML)

    www.cetus-links.org/oo_uml.html

    Data Modeling www.datamodel.orgGuide to selecting a UML modeling tool www.objectsbydesign.com/tools/modeling_tools.html Objects by Design www.objectsbydesign.com

  • APNDICE A GUIA DE RECURSOS ELECTRNICOS 281

    Selection list of UML tools.( Objects by Design)

    www.objectsbydesign.com/tools/umltools_byCompany.html

    The UML Bibliography (Mark Richters) www.db.informatik.unibremen.de/umlbib/home.html

    Ferramentas UML Comerciais Empresa Ferramenta URLAonix Software through

    Pictures www.aonix.com/index.html

    Artisan Artisan Studio www.artisansw.comBorland Together www.borland.com/us/products/together/index.ht

    ml Casewise Casewise Corporate

    Modeler www.casewise.com

    Computer Associates Erwin, Bpwin www.ca.comCompuware OptimalJ www.compuware.com/products/optimalj/ Gentleware Poseidon www.gentleware.comIBM Rational Rational Software

    Architect www-306.ibm.com/software/awdtools/architect/swarchitect

    IBM Rational Rational Software Modeler

    www-306.ibm.com/software/awdtools/modeler/swmodeler/

    IDS Scheer AG Aris www.ids-scheer.comMega International Mega Modeling Suite www.mega.comMetastorm ProVision www.metastorm.com/products/mpea.asp Microgold Software WithClass www.microgold.comMicrosoft Visio www.microsoft.com/office/visio No Magic's MagicDraw UML www.magicdraw.comOracle Designer, Developer www.oracle.comGrandite Silverrun www.silverrun.comSofteam Objecteering www.objecteering.comSparx Systems Enterprise Architect www.sparxsystems.comSybase PowerDesigner www.sybase.comTelelogic Doors, Focal Point,

    System Architect, Rhapsody, TAU

    www.telelogic.com

    Troux Technologies Metis Architect www.troux.com/products/metis_architect/ Universidade de Paderborn, Alemanha

    Fujaba wwwcs.upb.de/cs/fujaba/

    Visible Systems Corporation

    Visible Analyst www.visible.com

    Visual Object Modelers Visual UML www.visualobject.com

  • 282 UML, METODOLOGIAS E FERRAMENTAS CASE VOL. II

    Ferramentas UML Open Source Ttulo URLArgo UML argouml.tigris.orgEclipse Modeling Tools www.eclipse.org/modeling/mdt/?project=uml2 MonoUML monouml.sourceforge.netPapyrus UML www.papyrusuml.orgStar UML staruml.sourceforge.net/en/TopCased www.topcased.orgUmbrello uml.sourceforge.net/index.phpUMLLet www.umlet.com

  • /ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False

    /Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure false /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles false /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /DocumentCMYK /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /UseDocumentProfile /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice