SGMOO: SISTEMA GESTOR DE MÉTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

download SGMOO: SISTEMA GESTOR DE MÉTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

of 236

Transcript of SGMOO: SISTEMA GESTOR DE MÉTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    1/236

    Universidade de BrasliaInstituto de Cincias Exatas

    Departamento de Cincia da Computao

    SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS AOBJETOS BASEADO EM CONHECIMENTO

    por

    Gilene do Esprito Santo Borges

    Dissertao submetida ao Departamento de Cincia da Computao

    como requisito parcial para obteno do grau de

    Mestre em Cincia da Computao

    Orientadora

    Prof(a). Dr(a). Maria Elenita Menezes Nascimento

    Braslia, Dezembro de 1998.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    2/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    ii

    BORGES, Gilene do Esprito Santo

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento / Gilene do

    Esprito Santo Borges: UnB, Cincia da Computao, 1998.

    p. 236 : il.

    Dissertao (mestrado) - Universidade de Braslia, curso de ps-graduao em Cincia da

    Computao, Braslia, 1998.

    Orientadora: Dra. Maria Elenita Menezes Nascimento

    1. Orientao a objetos

    2. Mtodos de desenvolvimento

    3. Funes de crena

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    3/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    iii

    Aos meus pais Gil e Leny,

    aos meus irmos Cleide e Everton,

    ao meu amigo e amado Alexandre M. Gomes,

    ao meu amigo e tutor Fbio Bianchi Campos e

    s minhas amigas Jussely Costa, Renata P. Oliveira e Viviane Meireles.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    4/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    iv

    Grady Booch (Booch, 1992)

    A tarefa da equipe de desenvolvimento de software projetar a iluso de simplicidade.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    5/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    v

    "

    "

    Quero agradecer a Deus pela proteo e orientao que me so sempre concedidos.

    minha orientadora, Dra. Maria Elenita Menezes Nascimento, pelas crticas, pela orientao e

    tambm pelo incentivo que me foram to preciosos.

    Ao colega e amigo M.Sc. Fbio Bianchi Campos pela grande pacincia e inestimvel

    disponibilidade em poder me esclarecer dvidas a cerca dos aspectos tcnicos de Engenharia de Software.

    Ao prof. Dr. Wagner Teixeira da Silva e colega M.Sc. Raquel Regis A. Carvalho pelo carinho

    com que sempre sanaram minhas dvidas sobre a teoria de funo de crena.

    Aos meus pais Gil e Leny e irmos Cleide e Everton pela ajuda, compreenso e coragem, quemesmo de longe souberam me dar.

    Ao meu grande amigo e amado Alexandre Mesquita Gomes pelo seu carinho, pacincia e apoio

    que me foram to preciosos, possibilitando-me concluir este trabalho com tranqilidade e perseverana.

    Aos meus tios Manoel e Luceny Soares e primos que me acolheram em sua casa, me

    proporcionando uma tranqilidade inestimvel. Igualmente, aos meus tios Edilson e Lucely Moura que

    acolheram em sua casa no incio desta batalha.

    Aos colegas de mestrado que, de uma forma ou de outra, me auxiliaram na realizao deste

    trabalho, em especial M.Sc. Renata Peluso de Oliveira, Jos Roberto Valentin, M.Sc. Lellis Maral

    Mesquita, Andr Luiz Moura, M.Sc. Estevam Rafael Hruschka Jnior, dja de Jesus Rgo e HlioBerch Pereira (in memorian).

    s minhas duas amigas, Jussely Costa e Viviane Meireles, que sempre estiveram do meu lado me

    incentivando e me passando a certeza de que tudo daria certo. Jamais esquecerei que foi voc, Jussely, quem

    me encorajou a iniciar essa batalha.

    Aos meus professores de graduao, Joilson dos Reis Brito e Ronaldo Del Fiaco, pelo incentivo

    atravs de recomendaes.

    Aos professores do departamento que muito contriburam atravs de crticas e sugestes,

    especialmente ao Dr. Francisco de Assis Cartaxo Pinheiro, Dra. Alba Cristina de Melo e Dr. Antnio

    Nuno de C. Santa Rosa.Aos funcionrios da UnB, em especial aos do departamento do CIC: Rosa, Marinalva, Mrcia,Sandra, Cida, Pablo e Celso.

    empresaHewlett Packard Laboratories, que gentilmente enviou-me artigos de suma importncia

    para minha pesquisa. Ao depto. de Cincias Matemticas e de Computao da USP - So Carlos , pela

    inestimvel ajuda com artigo e sugestes, que foram de grande valia a minha pesquisa.

    Aos meus amigos virtuais: Carlos Eduardo de Barros Paes (PUC - SP), Dr. Guilhermo

    Bustos Reinoso (Chile), Ismar Frango Silveira (ITA - SP), Leandro Pompermaier (UFRGS - Rio Grande

    do Sul), M.Sc. Rejane Moreira da Costa (USP - So Carlos) e M.Sc. Ricardo Pereira e Silva (UFRGS -

    RS), que foram muito atenciosos; enviando de longe monografias, referncias, artigos e sites para que eu

    pudesse compreender melhor o assunto.

    A CAPES pela disponibilizao de uma bolsa de estudos.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    6/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    vi

    Atualmente esto disponveis diferentes mtodos para desenvolvimento de software. No

    entanto, estratgias apropriadas para seleo dos mtodos mais adequados dependem das

    caractersticas da aplicao a ser desenvolvida. Uma estratgia apropriada aquela que prov um

    sistema de alta qualidade e com bons resultados a custos mnimos de manuteno. O objetivo dessa

    pesquisa envolve a seleo de mtodos orientados a objetos mais adequados para um projeto de

    desenvolvimento de software. Para que essa seleo seja possvel, a partir de um estudo

    comparativo, ser identificado um conjunto de caractersticas desses mtodos. Uma associao

    entre essas caractersticas e as do sistema ser feita, possibilitando a escolha dos mtodos mais

    adequados. O resultado obtido ser uma associao bem fundamentada, que poder ser utilizada

    como guia em qualquer desenvolvimento de sistema possibilitando uma qualidade e rendimento

    superiores aos encontrados atualmente, devido ao fato de se utilizar o mtodo mais adequado ao

    desenvolvimento. Entretanto, esse guia no garante o sucesso do desenvolvimento, o qual dever

    ser medido tambm por outros aspectos, como: qualificao e tamanho da equipe de

    desenvolvimento, alteraes de requisitos, etc. Um prottipo foi desenvolvido a fim de validar oestudo, utilizando a teoria de funo de crena para combinar evidncias, favorecendo um mtodo

    ou subconjunto desses. Estas evidncias so mapeadas atravs das caractersticas dos sistemas

    existentes e combinadas com as caractersticas dos mtodos. Com este trabalho, esperamos suportar

    os gerentes de desenvolvimento, alm de conscientiz-los de que a escolha de um nico mtodo

    para o desenvolvimento de vrios tipos de sistemas, no a soluo de todos os problemas nessa

    rea. Cada sistema possui suas prprias caractersticas e exigem uma escolha adequada para que o

    produto final apresente qualidade.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    7/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    vii

    Different methods are currently available for software development. However, appropriate

    strategies to choice more suitable methods depend upon the characteristics of the application to be

    developed. A suitable strategy is one, which provides a system with high quality and good results

    with minimum maintenance costs. The goal of this research covers the object-oriented methods

    selection more appropriate to a project of software development. For this selection to be possible,

    from a comparative study, a set of characteristics of methods will be identified. An association

    among these characteristics and characteristics of systems will be made, making it possible to

    choose the methods more indicated to this development. The obtained result will be a well based

    association, which could be used as guide in any system development, allowing a better quality and

    efficiency than the systems found nowadays, due to use the method more adapted to the

    development. However, this guide does not guarantee the success of the development, which must

    be considered others aspects like qualification and proportion of development team, requirements

    alteration, etc. A prototype was developed in order to validate the study, using the belief functions

    theory to combine evidences that benefit one method or a subgroup of them. These evidences aremapped through the characteristics of existent systems, combined together with the characteristics

    of the methods. It is intended of this research to support the managers and developers and to be

    aware that a fixed method choice or a set of them is not the solution to all kinds of systems. Each

    system has its own characteristics and demands the right choice of the method in order for the final

    product to present quality.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    8/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento________________________________________________________________________________________________

    viii

    !

    Resumo.......................................................................................................................................................... vi

    Abstract. ....................................................................................................................................................... vii

    Lista de Figuras............................................................................................................................................ x

    Lista de Tabelas........................................................................................................................................... xiv

    Captulo 1 - Introduo................................................................................................................................ 1

    1.1 - Motivao da pesquisa.......................................................................................................... 1

    1.2 - Objetivos................................................................................................................................ 2

    1.3 - Delimitao do estudo........................................................................................................... 3

    1.4 - Metodologia........................................................................................................................... 3

    1.5 - Organizao do trabalho...................................................................................................... 4

    Captulo 2 - Reviso bibliogrfica............................................................................................................... 6

    2.1 - Conceitos de modelagem de sistemas................................................................................... 6

    2.2 - Conceitos de orientao a objetos........................................................................................ 10

    2.3 - Definio de framework....................................................................................................... 21

    2.4 - Consideraes finais............................................................................................................. 23

    Captulo 3 - Mtodos orientados a objetos.................................................................................................. 24

    3.1 - Escolha dos mtodos............................................................................................................. 24

    3.2 - Contextualizao.................................................................................................................. 27

    3.3 - OOSE.................................................................................................................................... 28

    3.4 - OMT...................................................................................................................................... 37

    3.5 - OOAD................................................................................................................................... 47

    3.6 - OOA-OOD............................................................................................................................ 55

    3.7 - Fusion................................................................................................................................... 643.8 - Consideraes finais............................................................................................................. 72

    Captulo 4 - Comparao dos mtodos orientados a objetos...................................................................... 73

    4.1 - Comparao entre os mtodos ............................................................................................. 73

    4.2 - Cobertura dos mtodos ........................................................................................................ 85

    4.3 - Consideraes finais ............................................................................................................ 86

    Captulo 5 - Proposta de um sistema de apoio a deciso utilizando de teoria de funo de crena......... 88

    5.1 - Teoria de funo de crena.................................................................................................. 88

    5.2 - Algoritmo adotado - Regra de Dempster............................................................................. 90

    5.3 - Detalhamento da proposta................................................................................................... 93

    5.4 - As questes e o mapeamento das crenas............................................................................ 94

    5.5 - Consideraes finais............................................................................................................ 104

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    9/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento________________________________________________________________________________________________

    ix

    Captulo 6 - SGMOO: o prottipo.............................................................................................................. 105

    6.1 - Descrio do uso do prottipo............................................................................................ 105

    6.2 - Arquitetura de implementao do SGMOO........................................................................ 106

    6.3 - Descrio da base de conhecimento................................................................................... 108

    6.4 - Apresentao das telas........................................................................................................ 1106.5 - Descrio dos casos reais................................................................................................... 113

    6.6 - Resultados obtidos pela anlise do SGMOO...................................................................... 115

    6.7 - Consideraes finais........................................................................................................... 117

    Captulo 7 - Concluso.............................................................................................................................. 119

    7.1 - Viso geral............................................................................................................................ 119

    7.2 - Contribuies ao conhecimento............................................................................................ 122

    7.3 - Propostas para trabalhos futuros......................................................................................... 123

    7.4 - Consideraes finais............................................................................................................. 124

    Referncias bibliogrficas......................................................................................................................... 125

    Apndice A - Resumo da notao utilizada pelos mtodos...................................................................... 130

    A.1 - Notao do mtodo OOSE................................................................................................... 130

    A.2 - Notao do mtodo OMT..................................................................................................... 131

    A.3 - Notao do mtodo OOAD.................................................................................................. 138

    A.4 - Notao do mtodo OOA-OOD........................................................................................... 141

    A.5 - Notao do mtodo Fusion.................................................................................................. 143

    Apndice B - Requisitos do sistema de biblioteca.................................................................................... 149

    B.1 Objetivos do documento...................................................................................................... 149

    B.2 Glossrio bsico.................................................................................................................. 149

    B.3 Descrio............................................................................................................................. 150

    B.4 Identificao do sistema e dos agentes externos................................................................. 151

    B.5 Funcionalidades e restries genricas do sistema............................................................ 151

    B.6 Interfaces entre os agentes externos e o sistema................................................................. 153

    B.7 Identificao dos elementos de informao........................................................................ 153

    B.8 Aspectos gerais sobre o sistema.......................................................................................... 155

    Apndice C - Modelagem do sistema pelos mtodos............................................................................... 157

    C.1 - Modelagem em OOSE......................................................................................................... 158

    C.2 - Modelagem em OMT.......................................................................................................... 174

    C.3 - Modelagem em OOAD........................................................................................................ 183

    C.4 - Modelagem em OOA-OOD................................................................................................. 193

    C.5 - Modelagem em Fusion........................................................................................................ 202

    C.6 - Dicionrio de dados do sistema......................................................................................... 213

    Apndice D - Linguagem de Modelagem Unificada - UML.................................................................. 218

    D.1 - Aspectos da notao........................................................................................................... 218

    D.2 - Consideraes finais ......................................................................................................... 221

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    10/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    x

    Figura 2.1 - Atributo de ligao (Rumbaugh, 1994).....................................................................................10

    Figura 2.2 - Agregao*..............................................................................................................................11

    Figura 2.3 - Ilustrao dos conceitos bsicos de dinmica*..........................................................................12

    Figura 2.4 - Ilustrao dos conceitos bsicos de funcionalidade...................................................................13

    Figura 2.5 - Classe parametrizada ...............................................................................................................14

    Figura 2.6 - Associao ternria* ................................................................................................................14

    Figura 2.7 - Inexistncia de associao ternria* .........................................................................................15

    Figura 2.8 - Associao qualificada*...........................................................................................................15Figura 2.9 - Agregao recursiva (Rumbaugh, 1994)..................................................................................16

    Figura 2.10 - Agregao Fsica e no Fsica* /(Booch, 1994) ......................................................................16

    Figura 2.11 - Operao polimrfica.............................................................................................................17

    Figura 2.12 - Polimorfismo mltiplo ...........................................................................................................18

    Figura 2.13 - Aes sobre transies (Rumbaugh, 1994) ............................................................................18

    Figura 2.14 - Aes sobre a entrada em estados (Rumbaugh, 1994)............................................................19

    Figura 2.15 - Ilustrao dos conceitos de tipos de sincronizao*................................................................20

    Figura 2.16 - Um cenrio para emprstimo*................................................................................................21

    Figura 2.17 - Parte do diagrama de interao para emprstimo* ..................................................................22Figura 2.18 - Framework adotado para descrio dos mtodos ...................................................................23

    Figura 3.1 - Fases do mtodo OOSE ...........................................................................................................28

    Figura 3.2 - Parte do modelo use case .........................................................................................................29

    Figura 3.3 - Descrio do use case - emprestar obra ....................................................................................30Figura 3.4 - Tipos de relacionamentos entre use cases .................................................................................30

    Figura 3.5 - Parte do modelo de objetos do domnio....................................................................................31

    Figura 3.6 - Descrio de interface..............................................................................................................31

    Figura 3.7 - Parte do modelo de anlise para o use case - emprestar obra.....................................................32

    Figura 3.8 - Modelagem dos atributos do objeto entidade - ficha_ttulo .......................................................33

    Figura 3.9 - Descrio do objeto de controle - concluidor de emprstimo ....................................................33Figura 3.10 - Parte do modelo de projeto.....................................................................................................34

    Figura 3.11 - Parte do diagrama de interao para o use case - emprestar obra.............................................34

    Figura 3.12 - Parte do grafo de transio de estado do objeto: Obra.............................................................35Figura 3.13 - OMT - Object Modeling Technique (Coleman, 1996) ...........................................................38Figura 3.14 - Parte do diagrama de classes ..................................................................................................39

    Figura 3.15 - Parte do diagrama de instncias..............................................................................................39

    Figura 3.16 - Cenrios - a) Normal e b) Refinado........................................................................................40

    Figura 3.17 - Parte do diagrama de eventos .................................................................................................41

    Figura 3.18 - Parte do diagrama de fluxo de eventos....................................................................................41

    Figura 3.19 - Parte do diagrama de estado para a classe obra.......................................................................42

    Figura 3.20 - DFD para uma retirada bancria (Rumbaugh, 1994)...............................................................43

    Figura 3.21 - Parte do diagrama de classe....................................................................................................45

    Figura 3.22 - Micro processo (Booch, 1994) ..............................................................................................48

    Figura 3.23 - Macro processo (Booch, 1994)..............................................................................................48

    Figura 3.24 - Parte do diagrama de interao - cenrio emprestar obra ........................................................50Figura 3.25 - Parte do diagrama de classe....................................................................................................50

    Figura 3.26 - Diagrama de mdulos para o subsistema emprstimo .............................................................52

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    11/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    xi

    Figura 3.27 - Parte do diagrama de processo ...............................................................................................53Figura 3.28 - Parte do diagrama de transio de estado................................................................................54

    Figura 3.29 - Modelo multinveis - anlise (Coad, 1992) .............................................................................57

    Figura 3.30 - Parte do modelo de anlise - nvel classe&objeto....................................................................57

    Figura 3.31 - Parte do modelo de anlise - nvel classe&objeto, assunto e atributo.......................................58

    Figura 3.32 - Parte do modelo de anlise - completo....................................................................................58Figura 3.33 - Diagrama de estado do objeto obra.........................................................................................59

    Figura 3.34 - Diagrama de servio - verif_senha_usu (senha)......................................................................59

    Figura 3.35 - Especificao da classe ficha_controle ...................................................................................60

    Figura 3.36 - Modelo multicamadas, multicomponentes - projeto (Coad, 1993)...........................................61

    Figura 3.37 - Modelo de projeto - componente interao humana................................................................61

    Figura 3.38 - Modelo de projeto - componente gerenciamento de tarefas.....................................................62

    Figura 3.39 - Modelo de projeto - especificao de tarefas ..........................................................................62

    Figura 3.40 - Exemplificao da cardinalidade............................................................................................64

    Figura 3.41 - Mtodo Fusion (Coleman, 1996)............................................................................................64

    Figura 3.42 - Composio do mtodo Fusion (Coleman, 1996)....................................................................65

    Figura 3.43 - Parte do modelo de objetos ....................................................................................................66

    Figura 3.44 - Parte do modelo de objeto do sistema.....................................................................................67Figura 3.45 - Modelo ciclo-de-vida incompleto...........................................................................................68

    Figura 3.46 - Esquema de operao - dados_reserva....................................................................................68

    Figura 3.47 - Diagrama de tempo - cenrio emprstimo...............................................................................69

    Figura 3.48 - Grafo de interao de objeto - operao solicita_emprstimo.................................................70Figura 3.49 - Descrio da classe ficha_tombo............................................................................................71

    Figura 4.1 - Critrio para nivelamento.........................................................................................................73

    Figura 4.2 - Cobertura dos mtodos.............................................................................................................85

    Figura 5.1 - Crena bsica emA..................................................................................................................89

    Figura 5.2 - Algoritmo em linguagem natural do algoritmo especializado da soma ortogonal.......................91Figura 5.3 - Mapeamento das funes de crena m1 e m2 ...........................................................................92

    Figura 5.4 - Vetor m1 antes da normalizao...............................................................................................92

    Figura 5.5 - Vetor m1 aps normalizao....................................................................................................92

    Figura 6.1 - Interao entre os dois tipos de usurios e o SGMOO.............................................................105

    Figura 6.2 - Quadro de graduao dos mtodos em cada fase do desenvolvimento.....................................106

    Figura 6.3 - Arquitetura do prottipo.........................................................................................................107

    Figura 6.4 - Relacionamentos das tabelas da base de conhecimento...........................................................110

    Figura 6.5 - Tela inicial do prottipo.........................................................................................................110

    Figura 6.6 - Formulrio de menu de navegao para o especialista ............................................................111Figura 6.7 - Formulrio para entrada das perguntas ...................................................................................111

    Figura 6.8 - Formulrio para entrada das crenas.......................................................................................111Figura 6.9 - Formulrio I de apresentao do questionrio.........................................................................112

    Figura 6.10 - Formulrio II de apresentao do questionrio......................................................................112

    Figura 6.11 - Formulrio de apresentao da explanao da pergunta ........................................................113

    Figura 6.12 - Formulrio para incio do algoritmo.....................................................................................113

    Figura 6.13 - Resultado apresentado pelo SGMOO para o sistema de contabilidade ..................................115Figura 6.14 - Resultado apresentado pelo SGMOO para o sistema de biblioteca ........................................115

    Figura 6.15 - Resultado apresentado pelo SGMOO para o sistema de passagens areas .............................116

    Figura 6.16 - Resultado apresentado pelo SGMOO para o sistema industrial .............................................117

    Figura 7.1 - Possvel realimentao do prottipo .......................................................................................122

    Figura A.1 - Notao utilizada no modelo de requisitos (Jacobson, 1992)..................................................130

    Figura A.2 - Notao utilizada no modelo de anlise (Jacobson, 1992)......................................................131

    Figura A.3 - Notao utilizada na fase de projeto (Jacobson, 1992) ...........................................................131

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    12/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    xii

    Figura A.4 - Notao utilizada no modelo de objetos (Rumbaugh, 1994)...................................................132Figura A.5 - Notao utilizada no modelo de objetos - cont. (Rumbaugh, 1994)........................................133

    Figura A.6 - Notao utilizada no modelo de objetos - conceitos avanados (Rumbaugh, 1994) ................134

    Figura A.7 - Notao utilizada no modelo de objetos - conceitos avanados - cont. (Rumbaugh, 1994)......135

    Figura A.8 - Notao utilizada no modelo dinmico (Rumbaugh, 1994) ....................................................136

    Figura A.9 - Notao utilizada no modelo dinmico - cont. (Rumbaugh, 1994) .........................................137Figura A.10 - Notao utilizada no modelo funcional (Rumbaugh, 1994)..................................................138

    Figura A.11 - Notao utilizada no diagrama de classes (Booch, 1994) .....................................................139

    Figura A.12 - Notao utilizada no diagrama de transio de estados (Booch, 1994) .................................140

    Figura A.13 - Notao utilizada no diagrama de objetos (Booch, 1994).....................................................140

    Figura A.14 - Notao utilizada no diagrama de interao (Booch, 1994)..................................................140

    Figura A.15 - Notao utilizada no diagrama de mdulo (Booch, 1994) ....................................................141

    Figura A.16 - Notao utilizada no diagrama de processo (Booch, 1994) ..................................................141

    Figura A.17 - Notao utilizada no diagrama de estado do objeto (Coad, 1992).........................................141

    Figura A.18 - Notao utilizada no diagrama de servio (Coad, 1992).......................................................142

    Figura A.19 - Notao utilizada na especificao classe&objeto (Coad, 1992)...........................................142

    Figura A.20 - Notao utilizada no modelo de anlise (Coad, 1992)..........................................................143

    Figura A.21 - Notao utilizada no modelo de objetos (Coleman, 1996)....................................................144Figura A.22 - Notao utilizada no modelo de interfaces (Coleman, 1996)................................................145

    Figura A.23 - Notao utilizada nos grafos de interao de objetos (Coleman, 1996).................................145

    Figura A.24 - Notao utilizada nos grafos de interao de objetos - cont. (Coleman, 1996)......................146

    Figura A.25 - Notao utilizada nos grafos de visibilidade (Coleman, 1996) .............................................147Figura A.26 - Notao utilizada na descrio de classes (Coleman, 1996) .................................................148

    Figura B.1 - Definio da ficha_tombo .....................................................................................................154

    Figura B.2 - Definio da ficha_emprstimo .............................................................................................154

    Figura B.3 - Descrio da ficha_ttulo.......................................................................................................155

    Figura B.4 - Descrio da ficha_Usurio...................................................................................................155

    Figura C.1 - Modelo use case - delimitao do sistema..............................................................................158

    Figura C.2 - Descries dos use cases - curso bsico ................................................................................159

    Figura C.3 - Modelo do domnio do problema...........................................................................................160

    Figura C.4 - Modelo de interface...............................................................................................................161

    Figura C.5 - Modelo de anlise - use case: emprestar obra.........................................................................162

    Figura C.6 - Modelo de anlise - use case: reservar obra ...........................................................................163

    Figura C.7 - Descries do papel e das responsabilidades dos objetos........................................................164

    Figura C.8 - Representao dos atributos dos objetos entidade ..................................................................165

    Figura C.9 - Modelo de projeto - use case: emprestar obra ........................................................................166

    Figura C.10 - Diagrama de interao - use case: emprestar obra (curso bsico)..........................................167

    Figura C.11 - Diagrama de interao - use case: reservar obra (curso bsico).............................................168

    Figura C.12 - Diagrama de interao - use case: emprestar obra (curso alternativo) ...................................169Figura C.13 - Diagrama de interao - use case: reservar obra (curso alternativo)......................................170

    Figura C.14 - Grafo de transio de estado - objeto ficha_controle ............................................................171

    Figura C.15 - Fluxograma da reserva ........................................................................................................172

    Figura C.16 - Resumo grfico dos modelos/diagramas gerados pelo OOSE...............................................173

    Figura C.17 - Diagrama de classes - anlise...............................................................................................174

    Figura C.18 - Diagrama de instncias........................................................................................................175

    Figura C.19 - Diagrama de interface..........................................................................................................175

    Figura C.20 - Dicionrio de dados.............................................................................................................176

    Figura C.21 - Cenrio normal do sistema de biblioteca..............................................................................177

    Figura C.22 - Cenrio especial do sistema de biblioteca ............................................................................177

    Figura C.23 - Diagrama de eventos para o cenrio do sistema de biblioteca...............................................178

    Figura C.24 - Diagrama de fluxo de eventos do sistema de biblioteca........................................................179Figura C.25 - Diagrama de estado - classe: obra........................................................................................180

    Figura C.26 - Diagrama de valores de entrada e sada................................................................................180

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    13/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    xiii

    Figura C.27 - Diagrama de classes - projeto ..............................................................................................181Figura C.28 - Resumo grfico dos modelos/diagramas gerados pelo OMT - anlise...................................182

    Figura C.29 - Resumo grfico dos modelos/diagramas gerados pelo OMT - projeto ..................................183

    Figura C.30 - Diagrama de classes ............................................................................................................184

    Figura C.31 - Diagrama de transio de estado de obra .............................................................................185

    Figura C.32 - Diagrama de objetos............................................................................................................186Figura C.33 - Diagrama de objetos - cont. .................................................................................................187

    Figura C.34 - Diagrama de objetos - cont. .................................................................................................188

    Figura C.35 - Diagrama de objetos - cont. .................................................................................................189

    Figura C.36 - Diagrama de interao.........................................................................................................190

    Figura C.37 - Diagrama de mdulo - alto nvel..........................................................................................191

    Figura C.38 - Diagrama de mdulo - baixo nvel.......................................................................................191

    Figura C.39 - Diagrama de processo..........................................................................................................192

    Figura C.40 - Resumo grfico dos modelos/diagramas gerados pelo OOAD..............................................193

    Figura C.41 - Modelo de anlise - classe&objeto, atributo e servio ..........................................................194

    Figura C.42 - Modelo de anlise - completo ..............................................................................................195

    Figura C.43 - Diagrama de estado do objeto..............................................................................................196

    Figura C.44 - Diagrama de servio de duas operaes ...............................................................................197Figura C.45 - Especificao de classes ......................................................................................................198

    Figura C.46 - Modelo de projeto - C.I.H. expandido..................................................................................199

    Figura C.47 - Modelo de projeto - C.G.T. expandido.................................................................................200

    Figura C.48 - Resumo grfico dos modelos/diagramas gerados pelo OOA-OOD - anlise .........................201Figura C.49 - Resumo grfico dos modelos/diagramas gerados pelo OOA-OOD - projeto .........................202

    Figura C.50 - Modelo de objetos ...............................................................................................................204

    Figura C.51 - Modelo de objeto do sistema ...............................................................................................205

    Figura C.52 - Modelo ciclo-de-vida (incompleto)......................................................................................206

    Figura C.53 - Descrio dos cenrios - emprstimo/reserva.......................................................................207

    Figura C.54 - Diagrama de tempo - cenrios emprstimo/reserva ..............................................................208

    Figura C.55 - Esquema das operaes solicita_emprstimo/dados_reserva ................................................209

    Figura C.56 - Grafo de interao de objeto - solicita_emprstimo..............................................................210

    Figura C.57 - Grafo de interao de objeto - dados_reserva.......................................................................211

    Figura C.58 - Descrio de classes ............................................................................................................211

    Figura C.59 - Resumo grfico dos modelos/diagramas gerados pelo Fusion - anlise.................................212

    Figura C.60 - Resumo grfico dos modelos/diagramas gerados pelo Fusion - projeto.................................213

    Figura D.1 - Entradas da UML (Quatrani, 1998) .......................................................................................220

    Figura D.2 - Processo de criao e padronizao da UML (baseado em (Rational, 1997a))........................221

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    14/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    xiv

    Tabela 3.1 - Maturidade dos mtodos bsicos orientados a objetos..............................................................25

    Tabela 3.2 - Ferramentas CASE que suportam mtodos orientados a objetos...............................................26

    Tabela 3.3 - Mtodos integradores ..............................................................................................................27

    Tabela 4.1 - Descrio explicativa dos aspectos capturados pelos mtodos ..................................................74

    Tabela 4.2 - Fase e modelos/diagramas onde os aspectos so capturados pelos mtodos ..............................75

    Tabela 4.3 - Nvel de modelagem................................................................................................................76

    Tabela 4.4 - Identificao dos requisitos......................................................................................................76Tabela 4.5 - Identificao de eventos ..........................................................................................................77

    Tabela 4.6 - Interface do sistema.................................................................................................................77

    Tabela 4.7 - Estrutura de classes .................................................................................................................77

    Tabela 4.8 - Estrutura de objetos .................................................................................................................78

    Tabela 4.9 - Descrio de classes ................................................................................................................78Tabela 4.10 - Troca de mensagens ..............................................................................................................78

    Tabela 4.11 - Relacionamentos ...................................................................................................................79

    Tabela 4.12 - Estrutura de agregao...........................................................................................................79

    Tabela 4.13 - Estrutura de herana ..............................................................................................................79

    Tabela 4.14 - Modelagem de estados...........................................................................................................80

    Tabela 4.15 - Aspectos funcionais...............................................................................................................80

    Tabela 4.16 - Identificao de funcionalidades............................................................................................80Tabela 4.17 - Criao de subsistemas ..........................................................................................................81

    Tabela 4.18 - Alocao de subsistemas .......................................................................................................81

    Tabela 4.19 - Estabelecer prioridades ..........................................................................................................81

    Tabela 4.20 - Detalhamento de operaes ...................................................................................................81

    Tabela 4.21 - Tratamento de concorrncia...................................................................................................82

    Tabela 4.22 - Foco - anlise de requisitos....................................................................................................82Tabela 4.23 - Foco - anlise ........................................................................................................................82

    Tabela 4.24 - Foco - projeto ........................................................................................................................83

    Tabela 4.25 - Abordagem - dados................................................................................................................83

    Tabela 4.26 - Abordagem - comportamental................................................................................................83

    Tabela 4.27 - Resumo dos nveis de modelagem recebidos pelos mtodos para cada aspecto capturado.......84

    Tabela 5.1 - Tabela modelo para apresentao das questes ........................................................................94

    Tabela 5.2 - Questo 1 - Anlise de requisitos.............................................................................................95

    Tabela 5.3 - Valores obtidos para a questo 1..............................................................................................96

    Tabela 5.4 - Questo 2 - Anlise de requisitos.............................................................................................96

    Tabela 5.5 - Valores obtidos para a questo 2..............................................................................................97Tabela 5.6 - Questo 3 - Anlise de requisitos.............................................................................................97

    Tabela 5.7 - Questo 4 - Anlise .................................................................................................................97

    Tabela 5.8 - Questo 5 - Anlise .................................................................................................................98

    Tabela 5.9 - Questo 6 - Anlise .................................................................................................................98

    Tabela 5.10 - Questo 7 - Anlise ...............................................................................................................98

    Tabela 5.11 - Questo 8 - Anlise ...............................................................................................................99Tabela 5.12 - Questo 9 - Anlise ...............................................................................................................99

    Tabela 5.13 - Questo 10 - Anlise............................................................................................................100

    Tabela 5.14 - Questo 11 - Anlise............................................................................................................100

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    15/236

    SGMOO: Sistema Gestor de Mtodos Orientados a Objetos Baseado em Conhecimento

    ________________________________________________________________________________________________

    xv

    Tabela 5.15 - Questo 12 - Projeto ............................................................................................................101Tabela 5.16 - Questo 13 - Projeto ............................................................................................................101

    Tabela 5.17 - Questo 14 - Projeto ............................................................................................................101

    Tabela 5.18 - Questo 15 - Projeto ............................................................................................................102

    Tabela 5.19 - Questo 16 - Projeto ............................................................................................................102

    Tabela 5.20 - Questo 17 - Projeto ............................................................................................................102Tabela 5.21 - Questo 18 - Projeto ............................................................................................................102

    Tabela 5.22 - Questo 19 - Projeto ............................................................................................................103

    Tabela 5.23 - Questo 20 - Projeto ............................................................................................................103

    Tabela 5.24 - Questo 21 - Projeto ............................................................................................................103

    Tabela 5.25 - Questo 22 - Projeto ............................................................................................................104

    Tabela 6.1 - Crena...................................................................................................................................108

    Tabela 6.2 - Fase.......................................................................................................................................108

    Tabela 6.3 - Mtodo..................................................................................................................................109

    Tabela 6.4 - Pergunta................................................................................................................................109

    Tabela 6.5 - Resposta................................................................................................................................109

    Tabela 6.6 - Respostas das questes para cada sistema ..............................................................................114

    Tabela C.1 - Dicionrio de dados - grafo de interao, mtodos e eventos .................................................202

    Tabela C.2 - Dicionrio de dados - classes, atributos, operaes e associaes...........................................203

    Tabela C.3 - Classes, associaes e descries gerais do sistema de biblioteca ..........................................214

    Tabela C.4 - Atributos das classes e descries gerais do sistema de biblioteca..........................................215

    Tabela C.5 - Operaes das classes e descries gerais do sistema de biblioteca........................................216Tabela C.6 - Eventos que afetam o sistema e descries gerais do sistema de biblioteca ............................217

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    16/236

    1

    Introduo

    " $ & ( 0 1 4 ( 6 8 9 @ A $ 9 (Quando se iniciaram os primeiros desenvolvimentos de softwares no eram utilizados

    tcnicas ou passos determinados, porque os tipos de sistemas a serem automatizados eram bastante

    simples, devido capacidade de hardware ser baixa. No poderiam ser desenvolvidos sistemas

    complexos, visto que no teriam onde ser executados.

    Com o passar do tempo, especificamente nas dcadas de 60 e 70, o hardware teve uma

    grande evoluo, juntamente com a evoluo das redes, dos bancos de dados, dos sistemas

    operacionais e de linguagens de programao, que possibilitaram o desenvolvimento de sistemas

    mais complexos. Essa evoluo trouxe consigo, tambm, vrios problemas na rea de engenharia de

    software, conhecida como "crise do software". Desses problemas os mais conhecidos so: baixa

    produtividade, qualidade abaixo do adequado, prazos e custos estabelecidos, mas no cumpridos,

    falta de tempo na coleta de requisitos, alto custo na fase de manuteno, etc. Essa crise surge porquesistemas mais complexos so desenvolvidos sem padres, orientao ou gerncia.

    Desde a identificao da crise do software, pesquisadores vm propondo alternativas de

    soluo com o propsito de minimizar os problemas que afetam o desenvolvimento de software.

    Dentre essas alternativas de soluo destacam-se as seguintes: (i) criao de modelos de processo,

    que ajudam a definir estgios no desenvolvimento e a transio entre esses estgios; (ii) criao de

    mtodos que especificam como fazer o desenvolvimento, quais diagramas utilizar e quais modelos

    gerar; (iii) desenvolvimento de ferramentas CASE para automatizar a criao de diagramas e

    modelos, deixando todo o sistema coerente; (iv) criao de linguagens de programao;(v) mtricas para melhor gerenciar o processo de desenvolvimento e (vi) criao de ferramentas

    grficas que auxiliam na criao de diagramas, dentre outros.

    Apesar da existncia de inmeras ferramentas, pode-se notar que a insatisfao e

    desconfiana dos usurios ainda persistem, possivelmente devido falta de qualidade, elevado

    tempo despendido, tanto no desenvolvimento quanto na correo e falta de planejamento.

    Apesar de o gerente de desenvolvimento dispor de uma enorme quantidade de mtodos,

    tais como: mtodos formais, mtodos estruturados e mtodos orientados a objetos1, a crise ainda

    persiste.

    1 Dentre esses ltimos, pode-se notar ainda a combinao das melhores caractersticas de dois ou trs mtodos gerando

    outros mtodos, chamados mtodos integradores.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    17/236

    Captulo 1 - Introduo

    ________________________________________________________________________________________________

    2

    O que se tem verificado que a escolha de um mtodo no apropriado ao desenvolvimento

    poder acarretar conseqncias indesejveis, tais como: dificuldade na aplicao do mtodo,

    aumentando o prazo de entrega e custos estimados, e como conseqncia um desenvolvimento que

    poder gerar um produto sem qualidade e de difcil manuteno.

    A dificuldade em se escolher um mtodo adequado para o desenvolvimento de um dado

    sistema e os riscos de uma escolha errada, geram os vrios problemas citados anteriormente. Diante

    desses problemas, sentimo-nos motivadas a: (i) estudar alguns dos principais mtodos orientados a

    objetos, pois um assunto que necessita de pesquisas2 e (ii) identificar para quais tipos de sistema

    eles seriam mais indicados.

    A escolha de um mtodo para o desenvolvimento de um sistema depende, como j dito,

    das caractersticas do sistema a ser desenvolvido, dentre outros aspectos, tais como:

    conhecimento/treinamento da equipe de desenvolvimento em relao ao mtodo, tempo disponvel

    para o desenvolvimento. Entretanto, estes aspectos no so abordados neste trabalho, porque ele

    trata somente da parte tcnica da escolha de um mtodo. Afirma-se, portanto, que a parte gerencial

    muito importante e influi bastante na escolha do mtodo.

    A seguir, sero apresentados o objetivo geral e os objetivos especficos deste trabalho.

    O objetivo geral deste trabalho auxiliar os desenvolvedores de sistema a escolher o

    mtodo orientado a objetos mais indicado para o desenvolvimento de um determinado domnio de

    aplicao.

    Os objetivos especficos so:

    1) Estudar e comparar os mtodos orientados a objetos atravs da comparao entre osmtodos ser possvel determinar quais so os que melhor modelam determinado

    aspecto, depois de um estudo aprofundado de cada um dos mtodos;

    2) Estudar uma tcnica de Inteligncia Artificial, que possibilite identificar quais so osmtodos mais indicados para um determinado domnio de aplicao;

    3) Desenvolver um prottipo para implementar a proposta, possibilitando a manuteno dabase de dados (fases, mtodos, perguntas e funes de crena) e interface entre o

    prottipo e o engenheiro de software para aplicao do questionrio;

    4) Agregar os resultados desse trabalho em um contexto mais amplo, o SMM, trata-se deum modelo desenvolvido por Nascimento. O SMM - Software Management Model tem o

    propsito de integrar aspectos gerenciais e tcnicos em um nico modelo (Nascimento,

    1992). Os resultados deste trabalho seriam adicionados na subfuno do SMM

    denominada Building Strategy (construindo estratgia), mais especificamente em

    2 A escolha dos mtodos orientados a objetos se fortalece pelo fato de que trabalho semelhante j foi desenvolvido para

    os mtodos estruturados (Nascimento, 1990).

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    18/236

    Captulo 1 - Introduo

    ________________________________________________________________________________________________

    3

    Technical Environment Selection, onde os mtodos so escolhidos. Atualmente,

    somente alguns mtodos estruturados esto disponveis.

    ! " ! % & " !

    Essa pesquisa est centrada no estudo de cinco mtodos orientados a objetos. O objetivo

    identificar, atravs da descrio dos mtodos e da comparao entre eles, alguns elementos

    essenciais ao desenvolvimento orientado a objeto, tais como conceitos bsicos, tipos de abordagens,

    foco dos mtodos, etc. Essa identificao busca facilitar a incluso de novos mtodos orientados a

    objetos ao trabalho, pois estes sero estudados tendo como base/guia estes elementos essenciais.

    importante ressaltar que a possibilidade de incluso um aspecto importante porque no limita a

    pesquisa realizada, uma vez que os mtodos orientados a objetos esto em plena evoluo.

    Os novos mtodos que iro surgir podero ser bastante completos. Isso poder levar asequipes que desejam um desenvolvimento rpido e simples a adotar mtodos mais simples. Os

    mtodos criados at os dias de hoje podem no cobrir todos os aspectos necessrios em um

    desenvolvimento, mas continuaro a ser utilizados no desenvolvimento dos tipos de sistemas para

    os quais eles tm sido aplicados, pois esses tipos de sistemas e suas caractersticas continuaro a

    existir. Muitas vezes, no haver necessidade de mtodos completos, e sim daqueles que atendam

    modelagem necessria.

    A seguir, ser apresentada a metodologia adotada para o desenvolvimento do trabalho.

    ( ) ! " ! !3 2 4

    Nesta seo, descrita a metodologia adotada para o desenvolvimento deste trabalho.

    1) Escolha dos mtodos que foi feita a partir de critrios definidos, apresentados com umadescrio na seo 3.1.

    2) Estudo preliminar dos mtodos foi realizado em uma monografia (Borges, 1997), queserviu como background para este trabalho. Nela, foi feito um estudo dos mtodos

    orientados a objetos, resultado do primeiro contato com o assunto, sem fazer um

    detalhamento sobre eles.3) Estudo aprofundado dos mtodos, descrevendo os diagramas e modelos que o mtodo

    gera, separado por fase de desenvolvimento, a transio entre as fases, a aplicabilidade

    de cada mtodo e seus pontos positivos e negativos. A partir deste estudo, pde-se

    definir os aspectos modelados pelos mtodos.

    4) Modelagem de partes de um sistema, que se tornou necessria, pois com isto pde-seressaltar as caractersticas e deficincias de cada mtodo. So modeladas somente as

    partes mais interessantes para cada tipo de modelo e no o sistema completo, pois o

    tempo limitado e a modelagem deveria ser feita seguindo todos os mtodos. O sistema

    escolhido a automao de uma biblioteca, detalhes so encontrados na seo 3.2 e

    apndices B e C.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    19/236

    Captulo 1 - Introduo

    ________________________________________________________________________________________________

    4

    5) Comparao entre os mtodos, onde se identifica um conjunto de aspectos que osmtodos modelam, tais como: identificao de requisitos, modelagem de estados,

    tratamento de concorrncia, etc. Assim, possvel reconhecer para quais aspectos os

    mtodos oferecem melhor modelagem, o que permite identificar qual mtodo mais

    indicado para o desenvolvimento de um determinado sistema.

    6) Identificao das questes, realizada com base no trabalho de Nascimento (Nascimento,1990) e com ajuda de engenheiros de software experientes. Atravs das respostas

    possvel identificar as caractersticas do sistema a ser desenvolvido.

    7) Estudo da teoria de Dempster e Shafer, ou teoria de funo de crena, para compreendera nova rea e seus conceitos, e aplicar um algoritmo que possibilita identificar o mtodo

    mais indicado baseando-se em crenas definidas pelo especialista em mtodos, ou seja,

    algum que tenha estudado profundamente um mtodo ou vrios.

    8) Desenvolvimento e anlise do prottipo, implementado em Visual Basic for Application,por oferecer fcil manuseio e rpido desenvolvimento. A anlise ser feita a partir de

    simulao de casos reais aplicados anlise do prottipo.

    A seguir ser descrita a organizao do trabalho, sua diviso em captulos e apndices.

    ! $ ( 0 1

    Este trabalho est dividido em sete captulos e quatro apndices. O primeiro captulo

    apresentou a descrio do problema que motivou essa pesquisa, os objetivos do trabalho, a

    delimitao do estudo e a metodologia a ser utilizada para o seu desenvolvimento.

    O captulo 2 apresenta uma reviso bibliogrfica dos principais conceitos sobre

    modelagem de sistemas e conceitos bsicos e avanados de orientao a objetos. Apresenta tambm

    umframework, que ser utilizado para nivelar os mtodos e possibilitar uma comparao entre eles.

    O captulo 3 descreve como foi realizada a escolha dos mtodos orientados a objetos para

    estudo, apresenta a contextualizao do sistema de biblioteca utilizado para ressaltar os pontos

    positivos e negativos dos mtodos e a descrio dos mtodos com base no frameworkdefinido no

    captulo 2.

    O captulo 4 expe uma comparao entre mtodos orientados a objetos com a descrio

    de vrias tabelas e a cobertura que os mtodos possuem em cada fase do desenvolvimento de um

    sistema.

    O captulo 5 apresenta a tcnica de Inteligncia Artificial utilizada para desenvolver o

    prottipo, a teoria de funo de crena e o algoritmo soma ortogonal de Dempster e Shafer, bem

    como um questionrio.

    O captulo 6 descreve o desenvolvimento do prottipo, sua arquitetura, descrio da base

    de dados, suas telas e uma anlise dos resultados obtidos mediante aplicao de alguns casos.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    20/236

    Captulo 1 - Introduo

    ________________________________________________________________________________________________

    5

    O captulo 7 apresenta as concluses, com consideraes finais, contribuies ao

    conhecimento fornecidas a partir do desenvolvimento da pesquisa e as propostas para trabalhos

    futuros.

    Como dito anteriormente, o trabalho composto ainda de quatro apndices.

    O apndice A apresenta o resumo da notao utilizada pelos mtodos estudados neste

    trabalho, facilitando a busca do significado de cada notao utilizada na modelagem do sistema.

    O apndice B descreve os requisitos do sistema de biblioteca utilizado para modelagem

    seguindo diretrizes dos cinco mtodos estudados, possibilitando uma melhor crtica em relao a

    eles.

    O apndice C apresenta os modelos gerados de acordo com cada mtodo e partes dos

    modelos so apresentadas no captulo 3 para melhor explicao do mtodo.

    O apndice D apresenta um resumo sobre a Linguagem de Modelagem Unificada (UML),

    abordando aspectos relevantes sobre esse novo padro, definido pela OMG - Object Management

    Group.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    21/236

    6

    Reviso bibliogrfica

    Este captulo apresenta os conceitos sobre modelagem de sistemas e mtodos orientados a

    objetos. O objetivo fornecer a base conceitual do assunto tratado no trabalho. Ser apresentado

    ainda umframeworkque ser utilizado para nivelar os mtodos possibilitando compar-los.

    ! " # % ' ( 0 " 2 4 ' 7 " 4 ' @ A C ' 7 4 'G 2 H ( B 2 ) 0 ' 7 A 2No incio da computao no eram necessrios modelos de processo nem mtodos para o

    desenvolvimento de software, porque os sistemas eram simples devido s vrias restries de

    hardware e software existentes quela poca. Com o passar dos anos, nas dcadas de 60 e 70, as

    configuraes de hardware, a interligao de computadores atravs de redes, os tipos de sistemas

    operacionais e banco de dados e os recursos das linguagens tiveram um desenvolvimento

    significativo, possibilitando a automao de sistemas mais complexos. Assim, surgiu a necessidade

    da utilizao dos mtodos e modelos de processo no desenvolvimento de software, os quais

    permitem um melhor controle do processo e da equipe de desenvolvimento, permitindo que o

    sistema seja desenvolvido com mais qualidade e produtividade (Booch, 1994).

    Esta seo objetiva descrever os conceitos sobre modelos de processo, fases de

    desenvolvimento, mtodos, notao, modelo, dimenso e diagramas.

    Os modelos de processo definem a seqncia das fases associadas ao desenvolvimento e a

    evoluo de um software e define, tambm, as regras para finalizar uma fase e passar para a

    prxima (Nascimento, 1990). Um modelo de processo se preocupa com "o que fazer depois?" e

    "por quanto tempo ns devemos continuar a faze-lo?" (Nascimento, 1990).

    Alguns modelos de processo so: waterfall, prototipao, espiral e transformacional. Cada

    um dos modelos de processo aplica diferentes fases para o desenvolvimento, assim, o gerente de

    desenvolvimento deve conhec-los para escolher o mais adequado ao tipo de sistema. Um resumo

    desses modelos de processo pode ser encontrado em (Nascimento, 1990) e (Borges, 1997).

    Os modelos de processo estabelecem a seqncia de utilizao das fases do processo de

    desenvolvimento, e estas fases so: i) anlise, que define o que o sistema deve fazer e permite

    compreender o domnio do problema; ii) projeto, que define como ser implementada a soluo

    desejada; iii) implementao, tambm chamada de etapa de codificao, quando ocorre a traduo

    do que est definido no projeto em cdigo executvel; iv) teste, quando se verifica se o sistema

    tem consistncia em suas partes e como um todo, encontrando e corrigindo os erros; v) manuteno,

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    22/236

    Captulo 2 - Reviso bibliogrfica

    ________________________________________________________________________________________________

    7

    ocorre depois que o sistema j foi entregue, quando necessrio corrigir erros descobertos durante a

    operao ou melhorar a performance.

    Aps a escolha do modelo de processo, que orienta o desenvolvedor atravs das fases de

    desenvolvimento, so escolhidos um ou mais mtodos para este desenvolvimento. O modelo de

    processo, como dito, estabelece as fases para o desenvolvimento e o mtodo estabelece as tcnicas a

    serem aplicadas e os modelos/diagramas a serem elaborados em cada uma dessas fases. Geralmente,

    os mtodos possuem caractersticas que se adaptam melhor a determinados modelos de processo;

    por isso, a escolha conjunta dos dois se torna necessria.

    Um mtodo um processo no qual so produzidos vrios modelos, os quais ilustram,

    atravs de uma notao, diferentes dimenses de um sistema em desenvolvimento.

    Segundo (Rumbaugh, 1994), uma metodologia de engenharia de software um processo

    para a produo organizada de software, com utilizao de uma coleo de tcnicas predefinidas e

    convenes notacionais. Uma metodologia costuma ser apresentada como uma srie de etapas,

    com tcnicas e notao associada a cada etapa.

    importante notar que a palavra metodologia muitas vezes utilizada por alguns autores

    como tendo o mesmo significado da palavra mtodo, como mostrado acima, embora no seja

    apropriado, pois metodologia o estudo dos mtodos. Entretanto, os termos mtodo e metodologia

    so largamente utilizados como sinnimos.

    Os mtodos podem ser classificados sob dois aspectos: i) quanto a abordagem, onde se

    observa a orientao indicada pelo mtodo, o aspecto que o metodologista coloca como mais

    importante: os dados, o comportamento, etc.; ii) quanto ao foco, que determina qual a fase dodesenvolvimento que o mtodo fornece maior enfoque, por apresentar mais detalhadamente os

    modelos, tcnicas, diagramas e a ordem de execuo, que melhor especificam a fase.

    A abordagem de um mtodo pode ser: i) orientada a dados, onde a preocupao est nas

    estruturas de dados, nas informaes armazenadas; ii) orientado a eventos, onde o sistema

    modelado tendo em vista os eventos que ocorrem no ambiente e as respostas que ele deve fornecer;

    ou iii) comportamental, onde se modela a dinmica e as operaes do sistema.

    O mtodo pode ter como foco a etapa de identificao dos requisitos, a fase de anlise ou a

    fase de projeto. O que se tem notado que geralmente, um mtodo tem um foco bastante particular,adotando um dos que foram expostos acima.

    Depois de exposto o conceito de mtodo, ainda se observa a necessidade de detalhar alguns

    pontos de sua definio como: notao, modelos e dimenses.

    A notao um sistema de representao que criada e utilizada pelos autores.

    Usualmente os autores criam uma notao especfica para cada elemento, que representado pelos

    modelos de seu mtodo. Por exemplo: uma notao para classe, uma para objeto, etc.; criando

    assim, a notao dos modelos do mtodo. Somente com uma notao bem definida que um

    membro da equipe de desenvolvimento conseguir expressar todas as solues criadas em sua

    mente, possibilitando que outras pessoas entendam e critiquem. Entretanto, em muitos casos no

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    23/236

    Captulo 2 - Reviso bibliogrfica

    ________________________________________________________________________________________________

    8

    ser utilizada toda a notao criada pelo metodologista, que geralmente bastante detalhada, porque

    somente parte dela j ser suficiente modelagem requerida.

    Como cada autor cria sua prpria notao, s vezes, o estudo ou mesmo uso de vrios

    mtodos em conjunto gera uma certa confuso. Por exemplo, o que a notao de uma linha com um

    crculo preenchido na extremidade significa agregao em um mtodo, pode significar

    multiplicidade em outro. Sendo assim, uma notao padro, a UML - Unified Modeling Language,

    foi definida por Grady Booch, Ivar Jacobson e James Rumbaugh e apresentada a OMG - Object

    Management Group, que a qualificou como um padro de notao em novembro de 1997. Esta

    notao padro descrita com mais detalhes no apndice D.

    Um modelo considerado uma abstrao de certos elementos da realidade e os

    relacionamentos entre eles, a fim de construir uma representao (usualmente em escala menor)

    que permite o estudo desta realidade (Nascimento, 1992). Um modelo enfatiza um aspecto da

    realidade, sendo assim, um mtodo se utiliza de vrios modelos para modelar completamente um

    sistema, visto que os modelos esto em diferentes nveis de abstraes. O uso desses modelos por

    um determinado mtodo, no impede que outro mtodo utilize alguns desses mesmos modelos

    (Silva, 1996).

    Os modelos so gerados com o propsito de facilitar a compreenso dos problemas e a

    comunicao entre os membros de uma equipe de desenvolvimento. Os modelos possibilitam

    tambm que o analista compreenda o domnio do problema. Os modelos construdos na fase de

    anlise so chamados de modelos de anlise, e na fase de projeto so chamados de modelos de

    projeto. Os modelos em cada fase possuem diferentes objetivos e caractersticas.

    Os modelos de anlise so modelos bastante abstratos, que tem como objetivo retratar os

    requisitos e as funcionalidades do sistema. Um analista, quando gera modelos de anlise, deve

    compreender o domnio do problema e com a ajuda do usurio, deve modelar a realidade deste

    domnio, baseando-se nos requisitos do usurio. Estes modelos representam o que o sistema e o

    que ele deve fazer.

    Os modelos de projeto so extenses dos modelos de anlise, que incorporam detalhes de

    nveis inferiores, possibilitando a implementao do sistema. Estes modelos so menos abstratos e

    tem como objetivo retratar o sistema idealizado na fase de anlise em um sistema real, baseando-seem condies reais de configurao de hardware, tipo de rede de computadores, banco de dados,

    sistema operacional e linguagem de programao, que sero utilizados para a concretizao do

    sistema em desenvolvimento.

    A transio dos modelos de anlise para os de projeto, no uma tarefa simples, e muitas

    vezes confusa. Neste sentido Jacobson (Jacobson, 1992) acrescenta: A transio do modelo de

    anlise para o modelo de projeto deve ser feita quando as conseqncias do ambiente de

    implementao comearem a aparecer.

    Cada um dos modelos que so criados abrange uma dimenso do sistema e isso

    fundamental, pois seria bastante confuso tentar expressar todas as dimenses de um sistema em um

    nico modelo, mesmo que este fosse feito em nveis. A dimenso de um modelo uma viso

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    24/236

    Captulo 2 - Reviso bibliogrfica

    ________________________________________________________________________________________________

    9

    particular de algum aspecto do sistema, por exemplo, o modelo esttico modela a dimenso de

    estrutura do modelo, e assim por diante. Cada modelo, ento, modela somente uma dimenso

    detalhando-a ao mximo.

    Os modelos de anlise so: o modelo esttico ou modelo lgico, o modelo dinmico, o

    modelo funcional e o modelo de interface.

    O modelo esttico ou modelo lgico representa as definies de dados e comportamentos

    existentes em um sistema. Neste modelo tambm so definidos todos os relacionamentos entre

    dados e comportamentos, bem como, os tipos de associao - herana e agregao. O modelo

    apresenta uma viso completa da parte esttica de um sistema, que construdo baseando-se

    principalmente no domnio do problema. Entretanto, o modelo esttico pode variar de acordo com

    cada mtodo, como veremos no captulo 3.

    O modelo dinmico mostra toda a parte dinmica de um sistema, ou seja, a seqncia de

    eventos, de operaes e de controle (as condies impostas), as aes que o sistema deve executar e

    seus possveis estados juntamente com suas transies. Este modelo deixa claro como todos esses

    elementos se relacionam e suas seqncias.

    O modelo funcional descreve as transformaes de informaes e o fluxo destas pelo

    sistema, sem definir seqncia. apresentado onde so buscados os dados para transformao e

    onde so armazenados ou para onde so enviados - para outra transformao ou para fora do

    sistema, como resposta a um evento.

    Os modelos de interface representam as diversas formas de interface entre o sistema e o

    usurio. Estes modelos definem as telas de entrada e sada de dados, as janelas e os relatrios dosistema. O uso do modelo de processo prototipao, para a definio de alguns requisitos ainda no

    estabelecidos, gera estes modelos antecipadamente para que o usurio possa opinar e criticar.

    Um dos modelos de projeto o modelo fsico, que mostra a alocao de objetos em

    mdulos e a estrutura destes e de subsistemas. Apresenta tambm, alocao de tarefas a

    processadores, dispositivos utilizados e conexes efetuadas. Este modelo descreve o software

    concreto e a composio do hardware para a implementao do sistema.

    Um modelo pode necessitar de vrios diagramas para representar toda a informao que

    deve estar contida nele. Um diagrama seleciona, organiza e mostra informao para realar aspartes que mais interessam sobre um assunto e suprimir as menos importantes. Um diagrama no

    necessita mostrar todas as partes de uma s vez, e se isso acontecer ele ser muito confuso

    (Rumbaugh, 1994).

    Como dito anteriormente, um modelo representa somente uma dimenso do sistema,

    entretanto, esta dimenso pode ter mais de um tipo de diagrama para represent-la totalmente.

    Depois de todas essas definies que formam a base da modelagem de um sistema, so

    descritos os conceitos de orientao a objetos que tambm so muito importantes para o contexto do

    trabalho.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    25/236

    Captulo 2 - Reviso bibliogrfica

    ________________________________________________________________________________________________

    10

    " & ( 0 & 3 4

    Nesta seo sero descritos os conceitos bsicos e os conceitos avanados, utilizados pelos

    mtodos orientados a objetos, de uma maneira bem sintetizada. Maiores detalhes so encontrados

    nas seguintes referncias: (Rumbaugh, 1994), (Jacobson, 1992), (Coad, 1992), (Coad, 1993) e

    (Booch, 1994).

    Vale observar que quando for apresentado um conceito bsico ou conceito avanado

    seguido de uma figura para ilustrao, tentaremos apresentar parte de algum modelo ou diagrama

    gerado a partir da modelagem do sistema de biblioteca. Neste caso, ao final do nome da figura ser

    identificado um asterisco (*), indicando que o modelo completo se encontra no apndice C.

    2.2.1 Conceitos bsicos - modelagem estticaEm orientao a objetos identificamos os elementos que compem o domnio do sistema

    pelas suas caractersticas, os atributos, e pelas operaes, as funes ou transformaes que sero

    aplicadas pelo elemento definido.

    Uma classe armazena as definies dos atributos e das operaes de um elemento. D-se o

    nome de encapsulamento a capacidade de uma classe proteger seus atributos, permitindo que

    somente suas operaes alterem seus valores. Cada classe pode ter vrias instncias, chamadas

    objetos.

    Uma classe pode ser abstrata ou concreta. Somente a classe concreta uma classe

    instancivel, sendo que a classe abstrata no possui instncias diretas, mas cujas classesdescendentes sim. A classe abstrata somente usada para a associao de herana.

    Uma associao um relacionamento indicando uma conexo semntica entre duas

    classes (Booch, 1994). Uma ligao uma instncia de uma associao. Alguns autores aceitam a

    associao entre mais de duas classes, como veremos na seo 2.2.4.

    Uma associao pode possuir um atributo, chamado atributo de ligao, que no pode ser

    nem atributo de uma classe nem de outra isoladamente, sem perda de informao. Figura 2.1

    apresenta um exemplo onde o atributo de ligao permisso de acesso. Este atributo no pode ser

    colocado na classe Usurio, pois um usurio ter diferentes permisses para diferentes arquivos, enem pode ser colocado na classe Arquivo, porque um arquivo ser acessado de maneira diferente

    por vrios usurios.

    Arquivo Usurio

    permisso de

    acesso

    Acessvel por

    Figura 2.1 - Atributo de ligao (Rumbaugh, 1994)

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    26/236

    Captulo 2 - Reviso bibliogrfica

    ________________________________________________________________________________________________

    11

    Herana ou generalizao e especializao um tipo de associao entre classes, onde

    todos os atributos e operaes definidos na superclasse (a classe mais genericamente definida) so

    compartilhados pela classe mais especializada, a subclasse. Na subclasse possvel ser feita a

    definio de mais atributos e operaes e, tambm, a redefinio das operaes que foram herdados

    pela superclasse.

    Pode-se ter herana simples onde a subclasse herda os atributos e operaes de uma nica

    superclasse e a herana mltipla onde a subclasse, chamada de classe de juno, herda os

    atributos e operaes de duas ou mais superclasses (Rumbaugh, 1994).

    Outro tipo de associao a agregao ou todo-parte, onde uma classe representa o todo

    e uma ou mais classes representam as partes deste todo. Um agregado (o todo) possui partes, que,

    por sua vez, podem ter partes (Rumbaugh, 1994). Um exemplo ilustrado na figura 2.2, onde a

    classe Obra composta por Ficha_tombo.

    nr_tombo

    dt_devoluo

    Ficha_tombo

    nome_obra

    autor

    Obra

    Figura 2.2 - Agregao*

    Terminada a base conceitual da modelagem esttica, segue a apresentao da modelagem

    dinmica.

    2.2.2 Conceitos bsicos - modelagem dinmicaOs conceitos bsicos da dinmica dos objetos so: estado, evento, ao, transio e

    condio, descritos a seguir.

    Um estado a situao atual de um objeto definido pelos valores dos atributos deste

    objeto. Na figura 2.3, os estados do objeto Ficha_controle so: Disponvel, Emprestado e

    Extraviado. O objeto pode assumir todos os estados durante sua existncia e somente um de cada

    vez.Eventos so estmulos internos que acontecem entre objetos, ou externos que so aqueles

    que vem de fora do sistema, estimulando o sistema a produzir alguma resposta ou mudana de

    estado. Na figura 2.3, um evento externo solicita_emprstimo ou devolver_obra e um estmulo

    interno cria_ficha ou destri_ficha.

    A reao de um objeto a um evento pode constituir-se de uma ao ou transio. A ao

    uma operao instantnea associada a um evento. Transio a modificao de estado causada

    pelo evento que depende do estado corrente e do evento. Na figura 2.3, o evento

    solicita_emprstimo causa uma transio, uma modificao do estado de Disponvel para o deEmprestado. importante lembrar que um evento pode gerar mais de uma transio, porque a

    transio depende do estado atual do objeto.

  • 8/3/2019 SGMOO: SISTEMA GESTOR DE MTODOS ORIENTADOS A OBJETOS BASEADO EM CONHECIMENTO

    27/236

    Captulo 2 - Reviso bibliogrfica

    ________________________________________________________________________________________________

    12

    DisponvelEmprestado

    Extraviado

    solicita_emprstimo(nr_tombo, nr_cadastro)

    [usurio_apto e tombo_disponvel]

    devolver obra

    empr_perde_obra

    (n