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
Top Related