Escolar Documentos
Profissional Documentos
Cultura Documentos
implementao e testes;
- Evitar codificao precoce: programas de difcil manuteno e que no
satisfazem os requisitos do usurio;
- Mtodos sistemticos consomem mais tempo nas fases iniciais do
desenvolvimento de software, mas minimizam erros no projeto e implementao e
viabilizam software com maior qualidade.
Com o surgimento do paradigma de programao orientado a objetos, a histria
quase se repetiu, ou seja, se implementava sistemas sob um determinado prisma, mas
a especificao do mesmo estava sendo feita, ainda, de maneira estruturada. Contudo,
isto normal no processo de evoluo tecnolgica, o que logo gerou a necessidade por
mtodos de anlise e projeto orientados a objetos.
Vrias metodologias foram desenvolvidas e apresentavam inmeras vantagens,
conforme elencados por Coleman (1996):
-
Verificao de requisitos;
Conceitos mais claros;
Maior adequao do projeto ao problema;
Melhor decomposio do projeto para trabalho em equipe;
Melhor comunicao da equipe de desenvolvimento;
Menor esforo de manuteno;
Todo o assunto at aqui abordado tem como nico objetivo situar o leitor para o
que vir a frente. Contudo, o tema discutido sugere leituras complementares em
relao a sistemas de informao e a outras metodologias de anlise e projeto, j que
este aprofundamento sairia do escopo deste projeto, restringindo-nos em apresentar
uma metodologia em particular de anlise e projeto de sistemas orientados a objetos.
No restante deste captulo so desenvolvidos conceitos introdutrios para o
trabalho orientado a objetos, na seo 1.1, sem aprofundarmo-nos no assunto, o que
ser feito no momento adequado do processo. Em seguida, na seo 1.2, feito um
apanhado geral sobre o histrico das metodologias de desenvolvimento orientadas a
objetos e sobre o mtodo Fusion, dando seqncia com um breve resumo sobre a UML
na seo 1.3, sendo estas duas abordagens os pilares para o projeto FILM. O presente
captulo finalizado com a seo 1.4, onde se apresenta a estrutura resultante
proposta pelo projeto FILM - Mtodo Fusion Expandido e Adaptado UML por
Galimberti (2002), no qual fornecida uma viso geral do processo que poder ser
adotado no transcorrer dos trabalhos de anlise e projeto de sistemas orientados a
objetos.
O mtodo Fusion tem ao seu final uma fase de implementao. O autor prope o
uso de mquinas de estados, complementando a fase de projeto, mas tem como meta
transformar o projeto em cdigo-fonte orientado a objetos. Segue abaixo as
orientaes do Fusion para esta transformao do projeto em cdigo:
- Herana, referncias e atributos das classes so codificados nas classes
especficas;
- Interaes entre objetos so transformadas nos mtodos pertencentes a
uma classe selecionada;
- Mquinas de estado so usadas para se reconhecer as sequncias
permitidas para as operaes;
- Tambm so consideradas tcnicas de inspeo e teste para avaliao de
sistemas orientados a objetos.
Dicionrio de Dados: caracteriza-se como um artefato de software que adotado
e alimentado durante todo o processo de construo do software e identifica as
entidades existentes no sistema. Este artefato serve de referncia durante todo o
processo de construo do software.
de software. O que os motivou criao da UML como uma linguagem flexvel, que
pudesse se adaptar a outras metodologias j existentes ou que por ventura viessem a
ser criadas.
A partir deste quadro mundial, havia sido criada uma comisso internacional,
denominada Object Management Group (OMG) (OMG, 2004), que iniciou um processo
de padronizao da rea de orientao a objetos. Assim, a OMG reconheceu a UML 1.3
com exclusividade, em 1996, como padro de linguagem notacional para construo de
artefatos de sistemas orientados a objetos. Atualmente a UML encontra-se na verso
1.5, estando em processo constante de avaliao e ajustes junto OMG para evolues
em sua proposta. Em 2001, membros da OMG iniciaram o trabalho de uma evoluo
para a UML 2.0, o qual mantido organizado por quatro RFPs (Requests for Proposal)
sendo: UML Infrastructure, UML Superstructure, Object Constraint Language, e UML
Diagram Interchange.
Partindo para a sua definio, a UML uma linguagem grfica para visualizar,
especificar, construir e documentar os artefatos de um sistema de software. A UML
oferece uma forma padro para se escrever/modelar projetos de sistemas, incluindo
conceitos, tais como processos de negcios e funes de sistema, bem como 'coisas'
concretas como sentenas de linguagem de programao, projetos de bancos de dados
e componentes reutilizveis de software (Booch, 1998).
Em termos de estrutura, para este trabalho suficiente, por enquanto, sabermos
que a UML define doze tipos de diagramas, divididos em trs categorias: quatro tipos
de diagramas representam a estrutura esttica de uma aplicao; cinco outros
diagramas representam diferentes aspectos do comportamento dinmico da aplicao;
e outros trs representam maneiras como voc pode organizar e gerenciar os mdulos
da aplicao (OMG, 2004).
Diagramas Estruturais:
Diagramas de Classes;
Diagramas de Objetos;
Diagramas de Componentes;
Diagramas Comportamentais:
Diagramas de Sequncia;
Diagramas de Atividade;
11
Diagramas de Colaborao;
Diagramas de Estado;
Diagramas Gerenciais:
Pacotes;
Subsistemas;
Modelos;
Alm dos diagramas, a UML viabiliza outros mecanismos gerais tais como notas,
contratos, etc. Contudo no iremos abordar cada pormenor da UML, pois contm um
conjunto de notaes relativamente extenso. No restante dos captulos sero
apresentados os aspectos diagramticos necessrios aos nossos trabalhos, j que no
necessria a utilizao de todas as notaes e diagramas da UML para a customizao
de um processo ou mtodo de desenvolvimento de software.
A UML, portanto, no se caracteriza como um mtodo ou processo de construo
de software e sim uma linguagem comum para expressar os diversos modelos, ou seja,
no informa "como se faz" para desenvolver software. Conseqentemente, diversos
mtodos e processos de desenvolvimento efetivo de software continuaro a ser criados,
porm podero ser feitos usando a UML como uma linguagem comum. De pronto
podem ser citados o RUP, de Jacobson (1998) e a proposta, bastante didtica, de
Larman (2000). Esta realidade tambm vem a motivar que empresas de
desenvolvimento, que adotam mtodos e processos proprietrios/particulares para
construo de software, possam se adequar a um padro mundial de orientao a
objetos de maneira customizada aos seus ambientes de desenvolvimento.
A flexibilidade da UML e sua padronizao justificam sua utilizao em nosso
trabalho. A partir da prxima seo comearemos a abordar o processo que
utilizaremos para construir software e quais sero os diagramas e notaes UML que
faremos uso para tornar a modelagem dos artefatos do software inteligveis.
17