Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise e Projeto Orientado a Objeto Usando UML Lorena Borges Moreira Uberlândia, Dezembro/2000. , 23/12/05 <!--[if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>user</o:Author> <o:Template>Normal</o:Template> <o:LastAuthor>Jesus Paixão Neto</o:LastAuthor> <o:Revision>2</o:Revision> <o:TotalTime>0</o:TotalTime> <o:LastPrinted>2000-12-27T06:01:00Z</o:LastPrinted> <o:Created>2001-10-24T20:02:00Z</o:Created> <o:LastSaved>2001-10-24T20:02:00Z</o:LastSaved> <o:Pages>95</o:Pages> <o:Words>16373</o:Words> <o:Characters>93329</o:Characters> <o:Company> </o:Company> <o:Lines>777</o:Lines> <o:Paragraphs>186</o:Paragraphs> <o:CharactersWithSpaces>114614</o:CharactersWithSpaces> <o:Version>9.2812</o:Version> </o:DocumentProperties> </xml><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:WordDocument> <w:HyphenationZone>21</w:HyphenationZone> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery> <w:UseMarginsForDrawingGridOrigin/> <w:Compatibility> <w:FootnoteLayoutLikeWW8/> <w:ShapeLayoutLikeWW8/> <w:AlignTablesRowByRow/> <w:ForgetLastTabAlignment/> <w:LayoutRawTableWidth/> <w:LayoutTableRowsApart/> </w:Compatibility> </w:WordDocument> </xml><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="3074"/> </xml><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1"/> <o:regrouptable v:ext="edit"> <o:entry new="1" old="0"/> <o:entry new="2" old="0"/> </o:regrouptable> </o:shapelayout></xml><![endif]--> Análise e Projeto Orientado a Objeto Usando UML Lorena Borges Moreira Monografia apresentada ao Curso de Ciência da Computação do Centro Universitário do Triângulo - Unit, como requisito básico à obtenção do grau de Bacharel em Ciência da Computação, sob a orientação do Prof. Ronaldo Castro de Oliveira, Msc. Uberlândia, Dezembro/2000. Análise e Projeto Orientado a Objeto Usando UML Lorena Borges Moreira Monografia apresentada ao Curso de Ciência da Computação do Centro Universitário do Triângulo - Unit, como requisito básico à obtenção do grau de Bacharel em Ciência da Computação. Ronaldo Castro de Oliveira, Msc. (Orientador ) Marcos Ferreira de Rezende , Msc. (Coordenador de Curso) Marcelo Fernandes dos Santos, Msc. (Avaliador ) Edson Angotti Júnior, Msc. (Avaliador ) Uberlândia, Dezembro/2000. “A cada instante temos a liberdade de escolher, e toda escolha determina o sentido de nossas vidas.” Olivia Hoblitzelles DEDICATÓRIA Dedico esse trabalho aos meus pais, meus irmão, meu esposo e aos meus professores que tanto me apoiaram e me ajudaram ao longo desses anos. Agradecendo sempre a Deus pela minha conquista. Resumo A Orientação a Objeto é uma tecnologia com bastante flexibilidade, produtividade. Devido a todos esses benefícios, grande maioria dos softwares comerciais especialmente os do ambiente Windows, já incorporam características orientadas a objetos. O desenvolvimento de sistemas sob uma metodologia Orientada a Objetos se torna bastante acelerado graças a reutilização de módulos funcionais e às facilidades oferecidas por este tipo de metodologia quando se utiliza a CASE. A UML (Unified Modeling Language – Linguagem Unificada de Modelagem) é a tentativa de padronização das metodologias de desenvolvimento de sistemas orientados a objetos e que foi criada por três grandes metodologistas: Grady Booch, James Rumbaugh e Ivar Jacobson. A UML baseia-se em diagramas que são modelados em visão de abstração, e se propõe ser uma modelagem definitiva de sistemas orientados a objeto, pois é uma modelagem unificada e os envolvidos no desenvolvimento do sistema tem uma facilidade de interpretação. A qualidade de um software se dá através da incorporação de métricas a serem utilizados afim de que se tenha produtividade e qualidade de um software. Enfim, orientação a objetos tem se mostrado como uma boa estratégia para o desenvolvimento de sistemas complexos e a UML tem tudo para dar certo pois facilitará às grandes empresas de desenvolvimento de software, com uma maior comunicação e aproveitamento dos modelos desenvolvidos. SUMÁRIO 1 - Introdução...................................................................................................... 1 2 - Fundamentos da Orientação a Objeto.............................................................. 4 2.1- Enfoque e Histórico........................................................................................ 4 2.2 Definições Básicas para Orientação a Objeto................................................... 6 2.2.1 Objeto...................................................................................................... 6 2.2.2 Classe...................................................................................................... 7 2.2.3 Abstração................................................................................................. 8 2.2.4 Encapsulamento........................................................................................ 9 2.2.5 Herança.................................................................................................. 10 2.2.6 Comunicação com Mensagens................................................................ 11 2.2.7 Métodos de Organização........................................................................ 12 2.2.8 Polimorfismo........................................................................................... 12 2.3 - Benefícios da Orientação a Objetos............................................................. 13 2.4 – Conclusão.................................................................................................. 15 3 - Desenvolvendo Sistemas Orientados a Objetos.............................................. 16 3.1- Paradigmas do desenvolvimento de sistemas................................................. 16 3.1.1 – Ciclo de Vida Clássico......................................................................... 16 3.1.2 – Prototipação........................................................................................ 17 3.1.3 – Modelo Espiral.................................................................................... 19 3.2 – Fases de Desenvolvimento de um sistema.................................................... 21 3.2.1- Análise de Requisitos............................................................................. 21 3.2.2. Análise................................................................................................ 21 3.2.3. Projeto................................................................................................ 21 3.2.4. Programação....................................................................................... 22 3.2.5. Testes.................................................................................................. 22 3.3- Metodologias da Organização a Objetos......................................................22 , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530083 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530082 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530081 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530080 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530079 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530078 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530077 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530076 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530075 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530074 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530073 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530072 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530071 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530070 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000370030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530069 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530068 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530067 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530066 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml><w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530065 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530064 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530063 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530062 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530061 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530060 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000360030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530059 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000350039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span><span style="mso-spacerun: yes"> </span>TOC \o "2-9" \t "Título 1;1" <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530058 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000350038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> 3.4 - Métodos Orientados a Objeto.................................................................... 23 3.4.1Coad/Yordon.......................................................................................... 24 3.4.2 - Booch.................................................................................................. 24 3.4.3 - Rumbaugh............................................................................................ 25 3.4.4 - Jacobson.............................................................................................. 25 3.5 - Projeto Orientado a Objeto......................................................................... 26 3.6 – Banco de Dados Orientado a Objeto.......................................................... 27 3.6.1-Como definir um Banco de dados Orientados a Objeto........................... 28 3.6.2- Benefícios dos Banco de dados Orientados a Objeto............................. 29 3.7- Linguagens Orientadas a Objetos.................................................................. 30 3.7.1-História das linguagens orientadas ao objeto............................................ 30 3.7.2-Benefícios das linguagens Orientadas a Objetos...................................... 31 3.7.3- Funcionalidade das linguagens orientadas ao objeto................................ 32 3.8 - Conclusão................................................................................................... 33 4 -Orientação a Objeto usando UML................................................................. 34 4.1- Origem da UML.......................................................................................... 34 4.2 - Uso da UML.............................................................................................. 38 4.3 - Diagramas propostos pela UML.................................................................. 39 4.4.- Diagramas de Classe................................................................................... 40 4.4.1 - Generalização :..................................................................................... 41 4.4.2- .Agregação........................................................................................... 43 -4.4.3 - Associação......................................................................................... 44 -4.4.4 - Dependências..................................................................................... 46 4.5 - Diagrama de Caso de Uso (USE CASE).................................................... 48 4.6 - Diagrama de Estado................................................................................. 53 4.7 - Diagrama de Sequência............................................................................ 55 4.8 - Diagrama de Colaboração....................................................................... 57 4.9 - Diagrama de Atividade............................................................................. 58 , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530111 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530110 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310030000000</w:data></xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530109 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530108 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530107 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530106 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530105 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530104 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530103 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530102 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530101 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530100 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100300030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530099 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530098 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530097 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530096 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530095 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530094 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530093 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530092\h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530091 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530090 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000390030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530089 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530088 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530087 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530086 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530085 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530084 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003000380034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> 4.10 - Diagrama de Componente......................................................................... 60 4.11 - Diagrama de Implantação......................................................................... 62 4.12 - . Um processo para utilizar a UML......................................................... 63 4.13 – Conclusão................................................................................................ 65 5 - Qualidade de software Orientado a Objeto.................................................... 66 5.1 – Conceitos de Qualidade.............................................................................. 66 5.2 – Produtividade............................................................................................. 69 5.3 – Métricas de Software.................................................................................. 70 5.4 - Categorização das Métricas........................................................................ 70 5.4.1 - Métricas Orientadas ao Tamanho......................................................... 72 5.2.2 – Métricas Orientadas à função............................................................... 73 5.5 - Métricas de Qualidade do Software......................................................... 74 5.6 – Métricas Orientadas a Objeto e a UML...................................................... 75 5.6 – Escolha das Métricas.................................................................................. 75 5.4.1 – Métricas de planejamento e controle.................................................... 76 5.4.2 – Métricas de análise.............................................................................. 76 5.4.2 – Métricas de projeto............................................................................. 77 5.4.3 – Métricas de implementação.................................................................. 77 5.4 –Testes de um Software................................................................................. 78 5.5 – Conclusão.................................................................................................. 79 6 - Conclusão..................................................................................................... 80 7 - Referências Bibliográficas.............................................................................. 82 , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530133 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530132 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530131 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span>PAGEREF _Toc502530130 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530129 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530128 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530127 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530126 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530125 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530124 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530123 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530122 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530121 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530120 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100320030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530119 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530118 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530117 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530116 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530115 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530114 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530113 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310033000000</w:data></xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530112 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100310032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> LISTA DE FIGURAS Figura 2.1 – Evolução completa da orientação a objeto [WIN93]............................... 6 Figura 2.2- Exemplo de classe – Classe Pessoas........................................................ 7 Figura 2.3 – Exemplo de um Encapsulamento. .[MAR93]........................................... 9 Figura 2.4 – Exemplo de Herança............................................................................ 10 Figura 2.5 – Exemplos de mensagens [MAR93]....................................................... 11 Figura 2.6- Exemplo de Polimorfismo....................................................................... 13 Figura 3.1 - Esquema do ciclo de vida clássico [PRE95].......................................... 17 Figura 3.2 Prototipação [PRE95]............................................................................. 19 Figura 3.3 Modelo Espiral [PRE95]......................................................................... 20 Figura 3.4 – Exemplo de uma criação de um Banco de Dados [KHO94].................. 28 Figura 4.1 – Evolução da UML [FUR98]................................................................. 35 Figura 4..2 – Exemplo de uma generalização normal [FUR98].................................. 41 Figura 4.3 – Exemplo de uma generalização de sobreposição[FUR98]..................... 42 Figura 4.4 – Exemplo de uma generalização completa [FUR98]................................ 43 Figura 4.5 – Exemplo de uma agregação [FUR98]................................................... 43 Figura4.6 – Exemplo de uma agregação compartilhada[FUR98]............................... 44 Figura 4.7 – Exemplo de uma agregação de composição [FUR98]........................... 44 Figura 4.7 – Essa figura representa um Metamodelo................................................. 45 Figura 4.8 – Exemplo de uma dependência entre classes [FUR98]............................ 46 Figura 4.9 – Diagrama de classe – Vídeo Locadora.................................................. 47 Figura4.10 – Exemplo de uma classe........................................................................ 47 Figura 4.11 - Exemplo de representação de um caso de uso..................................... 49 Figura 4.12 - Exemplo de representação de um caso de uso com ponto de extensão. 50 Figura 4.13 - Representação de Ator....................................................................... 51 Figura 4.14 - Representa o Relacionamento de caso de uso...................................... 52 Figura 4.15 Exemplo de Caso de uso de uma Vídeo Locadora................................. 52 , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530159 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530158 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530157 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530156 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530155 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530154 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530153 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530152 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530151 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530150 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100350030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530149 \h <span style='mso-element:field-separator'></span><![endif]--> ,23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530148 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530147 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530146 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530145 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530144 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530143 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530142 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530141 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530140 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100340030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530139 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530138 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530137 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530136 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530135 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span><span style="mso-spacerun: yes"> </span>TOC \f F \t "Legenda" \c <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530134 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100330034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> Tabela 4-1 Informações dos relacionamentos........................................................... 53 Figura 4.17 – Diagrama de Sequencia – Vídeo Locadora......................................... 56 Figura 4.18 – Diagrama de Claboração – Vídeo Locadora....................................... 58 Figura 4.19 – Diagrama de Atividade....................................................................... 60 Figura 4.20 – Diagrama de Componentes.[BAR98]................................................. 62 Figura 4.21 – Diagrama de implantação– Associações entre Nodes.[BAR98]........... 63 Figura 5.1– Categorização dos fatores de qualidade [ARA97]................................. 67 Tabela 5-1 Mapeamento dos Requisitos de qualidade na OO[ARA.97]................... 69 Figura 5.2 – Métricas de Software [PRE95]............................................................. 71 Figura 5.3 – Métricas Orientadas ao tamanho [PRE95]............................................ 72 , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530169 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360039000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530168 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360038000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530167 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360037000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530166 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360036000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530165 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360035000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530164 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360034000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530163 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360033000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530162 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360032000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530161 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530160 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100360030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> LISTA DE TABELAS Tabela 4-1 Informações dos relacionamentos........................................................... 53 Tabela 5-1 Mapeamento dos Requisitos de qualidade na OO[ARA.97]................... 69 , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530171 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100370031000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span><span style="mso-spacerun: yes"> </span>TOC \c "Tabela" <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-begin'></span> PAGEREF _Toc502530170 \h <span style='mso-element:field-separator'></span><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003500330030003100370030000000</w:data> </xml><![endif]--> , 23/12/05 <!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--> 1 - Introdução Existem no mercado muitos livros e outras referências bibliográficas apresentando os conceitos da Tecnologia de Objetos e os benefícios de sua utilização. Além disso, a grande maioria dos softwares comerciais, especialmente os do ambiente Windows, já incorporam características orientadas a objetos. O encapsulamento de propriedades, métodos em objetos, a complexidade, confiabilidade e integridade, são algumas das características da tecnologia orientadas a objetos. Pretende-se com esse trabalho mostrar a aplicabilidade da tecnologia orientada a objeto, permitindo a fácil compreensão dos seus benefícios, o entendimento das metodologias e técnicas existentes. Explicando os significados de classes, objeto, mensagens e outras entidades comuns da orientação a objetos. Juntamente com a UML (Unified Modeling Language – Linguagem Unificada de Modelagem) que é uma unificação de três grande metodologias, criadas por por Grady Booch, James Rumbaugh, e Ivar Jacobson e que passou por um processo de padronização pela OMG (Object Management Group) e é agora um padrão OMG. Um software de qualidade garante a segurança de pessoas e a disponibilidade de serviços essenciais à população. De fato, empresas que desenvolvem software de qualidade são mais competitivas, o que é muito importante para a sobrevivência das mesmas em um mercado cadavez mais globalizado. Da mesma forma, as empresas que consomem software de alta qualidade têm chances maiores de manter e conquistar mercados. Em geral, com a utilização de software de qualidade a sociedade pode dispor de melhores produtos a um menor custo. Por isso um dos principais objetivos da Engenharia de Software é contribuir para a produção de software de qualidade. Uma métrica , permite quantificar um atributo de um produto do processo de desenvolvimento de software ou do próprio processo de concepção. O termo produto tanto se poderá aplicar a definições de requisitos, como a especificações funcionais, código fonte ou código executável. Uma "boa" métrica deverá auxiliar no desenvolvimento de modelos capazes de estimar os parâmetros de um processo ou produto e não apenas descrevê-los. Para tal deverá ter as seguintes características: validade, objetividade, baixo custo. A uso da UML e uso das métricas dá ao software uma maior garantia devido todos os seus benefícios. No capítulo 02 será apresentado a Orientação a Objeto, definindo os conceitos básicos da tecnologia tais como: objeto, classe, encapsulamento, herança, métodos, polimorfismo, mensagens, etc. e esclarecer sobre os benefícios da Tecnologia de Objetos. Já no capítulo 03 será apresentado os termos específicos de um produto , esclarecendo sobre os desenvolvimento de um sistemas orientado a objetos. Fala-se também sobre os ciclos de desenvolvimento, do banco de dados, as metodologias, os métodos, da análise e o projeto orientados a objeto, das fases de desenvolvimento e das linguagens orientadas a objetos. E o capítulo 04 será apresentada a notação UML mostrando todos os diagramas que a UML apresenta e exemplos e terá ênfase nos diagramas de classe, Use Case e de seqüência. O capítulo 05 apresenta algumas conceitos básicos da qualidade e como consegui-los através do uso das métricas de falando das qualidades que a UML veio trazer a orientação a objeto. Por fim, o capítulo 06 encerra o documento com uma avaliação, dizendo porque da orientação a objeto e quais as vantagens da UML e se essa modelagem será uma grande revelação. 2 - Fundamentos da Orientação a Objeto Este capitulo, apresenta sucintamente história da Orientação a Objetos, define os principais conceitos associados a todos os sistemas orientados a objetos, e fala genericamente os benefícios da Orientação a Objetos. 2.1- Enfoque e Histórico A utilização da Orientação a Objetos não é novidade no mundo da informática. Já existia nos anos 60, um conexão com uma linguagem chamada Simula-67, desenvolvida por Kristin Nygard e Ole-Johan Dahl. Simula-67 representava conceitos de classes, rotinas correlatadas e subclasses muito parecidas com as atuais linguagens orientadas a objeto [WIN93]. Entretanto, o uso da Tecnologia de Objetos como metodologia básica para o desenvolvimento de sistemas, abrangendo todo o ciclo desde a análise até a construção de códigos, é uma prática recente. Apenas na década de 80 surgiram os primeiros estudos sobre o uso da Orientação a Objetos para especificação de projetos de sistemas. Em paralelo a isso tudo, as linguagens Orientação a Objetos foram tornando-se populares, e muitos ambientes de desenvolvimento iniciaram sua jornada para gradativamente suportar os mecanismos desta tecnologia. Além disso, ferramentas CASE (Computer-Aided Software Engineering – Engenharia de Software Auxiliada por Computador) passaram a representar as diversas notações existentes, tentando se adequar a uma disciplina ainda em fase de concepção. Apesar dos conceitos serem os mesmos, cada metodologista adotou uma notação própria e, o que é pior, denominações diversas para tais conceitos. Já podemos sentir alguma das influências da orientação a objeto. Padrões de linguagens começam a integrar com extensões ao objeto para linguagens de programação populares como Pascal, C e COBOL. Ferramentas de desenvolvimento, que são os componentes de suporte para as linguagens, estão sendo adotadas rapidamente a fim de facilitar o design, a codificação e a depuração de programas orientados a objeto. Os ambientes de desenvolvimento para as interfaces do usuário também já se encontram em uso, contando com sistemas padrões de janelas, que permitem a criação mais rápida de aplicativos interativos a partir de bibliotecas existentes. Nem todos os componentes da arquitetura orientada a objeto previstos para os anos 90 estão atualmente em uso. O sucesso comercial completo dependerá da convergência e integração dos sistemas, linguagens, ferramentas, banco de dados e biblioteca pré-elaboradas para dar suporte à criação e implementação de sistemas em grande escala com arquiteturas ao objeto. A Figura 2.1 mostra uma previsão da evolução completa para a integração da orientação a objeto. , 23/12/05 <!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1026" type="#_x0000_t75" style='width:258pt; height:192.75pt' o:ole="" fillcolor="window"> <v:imagedata src="./mono1522000_arquivos/image001.png" o:title=""/> </v:shape><![endif]--> , 23/12/05 <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="PBrush" ShapeID="_x0000_i1026" DrawAspect="Content" ObjectID="_1065451781"> </o:OLEObject> </xml><![endif]--> , 23/12/05 <!--[if gte vml 1]><v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m0,0l0,21600,21600,21600,21600,0xe"> <v:stroke joinstyle="miter"/> <v:path gradientshapeok="t" o:connecttype="rect"/> </v:shapetype><v:shape id="_x0000_s1128" type="#_x0000_t202" style='position:absolute; left:0;text-align:left;margin-left:52.2pt;margin-top:.35pt;width:272.4pt; height:200.25pt;z-index:27;mso-position-horizontal-relative:text; mso-position-vertical-relative:text' o:allowincell="f" stroked="f"> <v:textbox style='mso-next-textbox:#_x0000_s1128'/> </v:shape><![endif]--> Figura 2.1 – Evolução completa da orientação a objeto [WIN93] 2.2 Definições Básicas para Orientação a Objeto As idéias fundamentais a tecnologia baseada em objetos incluem: Objetos, Classes, Abstração, Encapsulamento, Herança, Comunicação com Mensagens, Métodos de organização, Polimorfismo. Cada uma dessas idéias será discutidas nas seções que se seguem. 2.2.1 Objeto Objeto é um substantivo que pode ser abstrato ou real, sobre o qual armazenamos dados e operações que manipulam os dados. Que se tem como exemplo uma pessoa, um avião, etc. Um objeto é a ocorrência específica (instância) de uma classe e é similar a uma entidade de uma tabela no modelo relacional somente até o ponto onde representa uma coleção de dados relacionados com um tema em comum. Por exemplo, o nome ou CPF de um Empregado são dados que pertencem à entidade (Organização) ou ao objeto (Pessoas).Pessoas é uma mesma organização. Uma instância de Empregado é uma pessoa
Compartilhar