Escolar Documentos
Profissional Documentos
Cultura Documentos
PR-REITORIA ACADMICA
CENTRO DE CINCIAS EXATAS, AGRRIAS E DAS ENGENHARIAS
CURSO DE CINCIA DA COMPUTAO
ALEXANDRE DE ALMEIDA
REGINALDO DAROLT
ARARANGU SC
2001
ALEXANDRE DE ALMEIDA
REGINALDO DAROLT
orientado
Alessandro Zanini.
ARARANGU SC
2001
pelo
Professor
ii
UNISUL UNIVERSIDADE DO SUL DE SANTA CATARINA
PR-REITORIA ACADMICA
CENTRO DE CINCIAS EXATAS, AGRRIAS E DAS ENGENHARIAS
CURSO DE CINCIA DA COMPUTAO
TERMO DE APROVAO
PROJETO DE CONCLUSO DE CURSO
iii
iv
AGRADECIMENTOS
A Deus.
A todos os colegas e professores, em especial Alessandro Zanini,
Ana Claudia, Rafael vila Faraco, Luciano Savio e Carlos Fernando Buss, os
quais nos incentivaram e deram apoio no desenvolvimento deste Projeto.
As empresas Seara Alimentos S/A, Domnio Sistemas Ltda e Betha
Sistemas Ltda, em especial ao colega Cristiano Tomasi(Betha Sistemas Ltda).
SUMRIO
vi
2.6.1 Abstrao de Procedimentos ........................................................... 12
2.6.2 Abstrao de dados.......................................................................... 12
2.7 Encapsulamento ..................................................................................... 13
2.8 Herana .................................................................................................. 13
2.9 Polimorfismo ........................................................................................... 14
Captulo 3 - UML ................................................................................................. 15
3.1 Introduo ............................................................................................... 15
3.2 Histrico .................................................................................................. 16
3.3 Aceitao ................................................................................................ 18
3.4 Padronizao OMG................................................................................. 19
3.5 Aplicao ................................................................................................ 19
Captulo 4 - ETAPAS DO DESENVOLVIMENTO DE SISTEMAS EM UML ....... 20
4.1 Anlise de Requisitos.............................................................................. 20
4.2 Anlise .................................................................................................... 21
4.3 Projeto..................................................................................................... 21
4.4 Programao........................................................................................... 22
4.5 Testes ..................................................................................................... 23
Captulo 5 - FERRAMENTAS CASE................................................................... 24
5.1 Conceito.................................................................................................. 24
5.2 Vantagens............................................................................................... 26
5.3 Aceitao no Mercado ............................................................................ 27
5.4 O Futuro .................................................................................................. 28
5.5 Rational Rose.......................................................................................... 28
Captulo 6 - VISES DE SISTEMAS................................................................... 30
6.1 Conceito.................................................................................................. 30
vii
6.2 Viso USE-CASE.................................................................................... 31
6.3 Viso Lgica............................................................................................ 31
6.4 Viso de Componentes........................................................................... 32
6.5 Viso de concorrncia............................................................................. 32
6.6 Viso de Organizao............................................................................. 33
Captulo 7 - MODELOS DE ELEMENTOS.......................................................... 34
7.1 Definio ................................................................................................. 34
7.2 Classes ................................................................................................... 35
7.2.1 Nomes .............................................................................................. 36
7.2.2 Atributos ........................................................................................... 37
7.2.3 Operaes ........................................................................................ 38
7.3 Objetos.................................................................................................... 39
7.4 Estados ................................................................................................... 40
7.5 Pacotes ................................................................................................... 42
7.6 Componentes.......................................................................................... 43
7.7 Relacionamentos .................................................................................... 43
7.7.1 Associaes ..................................................................................... 44
7.7.1.1 Associaes Normais .................................................................... 44
7.7.1.2 Associaes Recursivas ................................................................ 45
7.7.1.3 Associaes Qualificadas .............................................................. 46
7.7.1.4 Associaes Exclusivas ................................................................. 46
7.7.1.5 Associaes Ordenadas ................................................................ 47
7.7.1.6 Associaes de Classe .................................................................. 47
7.7.1.7 Associaes Ternrias................................................................... 48
7.7.1.8 Agregao...................................................................................... 49
viii
7.7.2 Generalizaes................................................................................. 50
7.7.2.1 Generalizao Normal ................................................................... 50
7.7.2.2 Generalizao Restrita .................................................................. 51
7.7.3 Dependncias e Refinamentos ........................................................ 52
7.8 Mecanismos Gerais ................................................................................ 53
Captulo 8 - DIAGRAMAS ................................................................................... 55
8.1 Conceito.................................................................................................. 55
8.2 Diagramas de Casos de Uso .................................................................. 56
8.3 Diagramas de Classes ............................................................................ 57
8.4 Diagramas de Objetos ............................................................................ 59
8.5 Diagramas de Estados............................................................................ 61
8.6 Diagramas de Seqncia........................................................................ 62
8.7 Diagramas de Colaborao .................................................................... 63
8.8 Diagramas de Atividade .......................................................................... 64
8.9 Diagramas de Componentes .................................................................. 65
8.10 Diagramas de Implantao ................................................................... 66
Captulo 9 - METODOLOGIA DESENVOLVIDA................................................. 68
9.1 Introduo ............................................................................................... 68
9.2 Documentao ........................................................................................ 69
9.2.1 Fonte ................................................................................................ 69
9.2.2 Gravao da Documentao ............................................................ 70
9.2.3 Extenso de Arquivos....................................................................... 71
9.2.4 Impresso......................................................................................... 71
9.2.5 Backup ............................................................................................. 72
9.2.6 Controle de Verses......................................................................... 72
ix
9.3 Eventos Iniciais ....................................................................................... 73
9.3.1 Contatos ........................................................................................... 74
9.3.2 Estudo dos Dados ............................................................................ 74
9.3.3 Definio dos Participantes .............................................................. 75
9.4 Anlise de requisitos ............................................................................... 76
9.4.1 Reunio/Entrevista ........................................................................... 76
9.4.2 Preenchimento da ata da reunio..................................................... 79
9.4.3 Definies de responsabilidades ...................................................... 79
9.4.4 Resumo do Projeto........................................................................... 79
9.4.5 Atores ............................................................................................... 80
9.4.6 Casos de Uso ................................................................................... 80
9.4.7 Escopo ............................................................................................. 81
9.4.8 Diagrama de caso de uso................................................................. 82
9.4.9 Anlise de riscos .............................................................................. 82
9.4.10 Cronograma ................................................................................... 83
9.4.11 Aprovao ...................................................................................... 84
9.5 Anlise .................................................................................................... 84
9.5.1 Diagrama de Classes ....................................................................... 84
9.5.2 Diagrama de Objetos........................................................................ 85
9.5.3 Diagramas de Interao ................................................................... 86
9.5.3.1 Diagrama de Seqncia ................................................................ 87
9.5.3.2 Diagrama de Colaborao ............................................................. 88
9.5.4 Diagrama de Estado......................................................................... 89
9.5.5 Diagrama de Atividade ..................................................................... 89
9.6 Projeto..................................................................................................... 90
x
9.6.1 Diagrama de implementao............................................................ 91
9.6.1.1 Diagrama de componente.............................................................. 91
9.6.1.2 Diagrama de implantao .............................................................. 93
9.7 Implementao........................................................................................ 95
9.7.1 Traduo .......................................................................................... 95
9.7.2 Escolha da Linguagem ..................................................................... 95
9.7.3 Documentao do Cdigo ................................................................ 97
9.8 Testes ..................................................................................................... 99
9.8.1 Planejamento de Testes................................................................... 99
9.8.2 Execuo de Testes ....................................................................... 100
9.8.2.1 Teste de Unidade......................................................................... 100
9.8.2.2 Teste de Integrao ..................................................................... 102
9.8.2.3 Teste de Validao ...................................................................... 103
9.8.2.4 Teste de Sistemas ....................................................................... 104
9.8.3 Avaliao dos Resultados .............................................................. 104
Captulo 10 - Validao da Metodologia ......................................................... 106
10.1 Introduo ........................................................................................... 106
10.2 Formulrio de Documentao ............................................................. 106
10.3 Contatos Iniciais.................................................................................. 107
10.4 Ata da Reunio ................................................................................... 108
10.5 Resumo do Projeto ............................................................................. 109
10.6 Escopo ................................................................................................ 110
10.7 Lista de Casos de Uso ........................................................................ 111
10.8 Diagrama de Caso de Uso .................................................................. 112
10.9 Diagrama de Classes.......................................................................... 113
xi
10.10 Escolha da Linguagem...................................................................... 114
Captulo 11 - RESULTADOS OBTIDOS ........................................................... 115
Captulo 12 - CONCLUSO .............................................................................. 119
12.1 Recomendaes ................................................................................. 120
Captulo 13 - BIBLIOGRAFIA ........................................................................... 121
xii
LISTA DE FIGURAS
xiii
Figura 7.15 : Agregao ..................................................................................... 49
Figura 7.16 : Agregao Compartilhada ........................................................... 49
Figura 7.17 : Agregao de Composio ......................................................... 49
Figura 7.18 : Generalizao Normal .................................................................. 50
Figura 7.19 : Generalizao de Sobreposio ................................................. 51
Figura 7.20 : Generalizao Completa .............................................................. 52
Figura 7.21 : Relao de Dependncia ............................................................. 52
Figura 7.22 : Refinamentos................................................................................ 53
Figura 7.23 : Ornamentos e Nota ...................................................................... 54
Figura 8.1 : Diagramas de Casos de Uso ......................................................... 57
Figura 8.2 : Diagramas de Classes ................................................................... 59
Figura 8.3 : Diagramas de Objeto...................................................................... 60
Figura 8.4 : Diagramas de Estados ................................................................... 62
Figura 8.5 : Diagramas de Seqncia ............................................................... 63
Figura 8.6 : Diagramas de Colaborao ........................................................... 64
Figura 8.7 : Diagramas de Atividade ................................................................. 65
Figura 8.8 : Diagramas de Componentes ......................................................... 66
Figura 8.9 : Diagramas de Implantao ............................................................ 67
Figura 10.1 Escopo do Sistema....................................................................... 111
Figura 10.2 Diagrama de Caso de Uso do Sistema de Contabilidade.......... 113
Figura 10.3 Diagrama de Classes do Sistema de Contabilidade.................. 114
xiv
RESUMO
xv
ABSTRACT
Captulo 1 - INTRODUO
1.1 Apresentao
lanamento
da
UML
(Unified
Modeling
Language)
2
sua smbologia e significados, mas tambm um contexto geral de modelagem
orientada a objetos.
Com a juno das trs mais conceituadas metodologias(Booch de
Grady, OOSE de Jacobson e o OMT de Rumbaugh) de modelagem orientado
a objetos criou-se a UML aproveitando o que havia de melhor em cada uma
delas adicionando conceitos e vises da linguagem. UML permite comunicar
certos conceitos mais claramente que as linguagens alternativas [Fowler,
2000].
A UML uma padronizao de modelagem orientado a objetos de
forma que qualquer sistema, seja qual for o tipo, possa ser modelado
corretamente, com consistncia, fcil de se comunicar com outras aplicaes,
simples de ser atualizado e compreensvel.
Com este projeto pretendemos justamente pesquisar sobre esta
linguagem de modelagem, suas aplicaes, vantagens e desvantagens. Como
conseqncia
dessa
pesquisa
definiremos
uma
metodologia
de
desenvolvendo um prottipo,
funcionalidade.
comprovando
sua
eficincia
3
Especificamente, os objetivos apresentados so:
1.3 Justificativa
1.4 Abrangncia
1.5 Metodologia
1.6 Estrutura
como
Classes,
Objetos,
Estados,
Pacotes,
Componentes
Relacionamentos.
7
No captulo 9 apresentaremos a metodologia desenvolvida.
captulo
13
desenvolvimento do TCC.
apresenta
toda
bibliografia
utilizada
no
2.1 Conceito
9
fossem de mais fcil manuteno e compreenso. Este conceito foi mais aceito
a medida que os computadores foram aumentando sua capacidade.
Precursores da analise orientada a objeto, defendiam que devamos
estruturar programas de computador de acordo com o problema a ser
resolvido. O termo Orientao a Objetos sugere abstraes do mundo real e
trechos de programas de computador, ou objeto.
Um grande fator da orientao a objetos a reusabilidade. Estamos
reutilizando cdigos de programas desde o incio da computao. As tcnicas
de orientao a objetos nos permitem muito mais que a reutilizao de cdigos,
podemos reutilizar requisitos, anlise, projeto, planejamento de testes,
interfaces de usurio e arquiteturas, ou seja todos os componentes de
engenharia de software podem ser encapsulados como reutilizveis.
de
comportamentos
observveis
externamente.
uma
10
A AOO tem dois propsitos. Primeiramente formalizar uma viso
do mundo real dentro do qual o sistema ser desenvolvido, estabelecendo os
objetos que serviro como principais estruturas organizacionais do sistema de
software e tambm as que o mundo real impe. Em segundo lugar, a AOO
formaliza a colaborao de um dado conjunto de objetos na execuo do
trabalho do sistema de software que est sendo especificado. Esta
formalizao representa como cada objeto se comunica com os demais.
guias,
Utilizamos estes
11
Durante a PjOO dado nfase na elaborao dos elementos lgicos
do software [Larman, 2000]. Sendo implementados em uma linguagem de
programao orientada a objetos, os quais possuem atributos e mtodos.
2.4 Classes
2.5 Objetos
12
mensagens com outros objetos, e modelado para executar as funes finais
do sistema.
2.6 Abstrao
13
2.7 Encapsulamento
2.8 Herana
principal
caracterstica
do
processo
de
Generalizao/Especializao. Atravs da herana uma determinada subclasse herda todos os atributos e mtodos da superclasse.
Permite a um analista especificar servios e atributos comuns uma
s vez, assim como especializar e estender estes atributos e servios em
casos especficos.
14
2.9 Polimorfismo
Captulo 3 - UML
3.1 Introduo
16
3.2 Histrico
17
ferramenta mais utilizvel. Usando tcnicas orientadas a objeto criariam uma
linguagem que iria desde o conceito at o sistema executvel, no somente a
sistemas complexos mas tambm a sistemas menores e tambm a outros
problemas que no fossem sistemas de informao, podendo ser utilizado por
seres humanos e mquinas[Furlan, 1998].
A criao da UML iniciou oficialmente em outubro de 1994, quando
Rumbaugh se juntou a Booch na Rational. O foco inicial do projeto era a
unificao dos mtodos Booch e OMT[Furlan, 1998]. O esboo da verso 0.8
do Mtodo Unificado foi lanado em outubro de 1995. Mais ou menos na
mesma poca Jacobson se associou Rational com a finalidade de incorporar
o OOSE no escopo inicial da verso 0.8, resultando o lanamento da verso
0.9 da UML em junho de 1996[Booch, 2000]. Foi ento aprovada pela
comunidade de engenharia de software em geral. Muitas empresas ficaram
interessadas, foi ento criada um consrcio com vrias empresas interessadas
em dedicar recursos com o propsito de trabalhar uma definio mais forte e
completa da UML.
Empresas que contriburam para a definio da UML 1.0, Digital
Equipment Corporationm Hewlett-Packard, I-Logix, Intel-licorp, IBM, ICON
Computing, MCI Systemhouse, Microsoft, Oracle, Rational, Texas Instruments
e Unisys. Resultando uma linguagem de modelagem bem definida , expressiva,
poderosa, e que poderia ser aplicada a uma grande variedade de tipos de
problemas[Booch, 2000]. A UML foi oferecida para a OMG (Object
Management Group) em janeiro de 1997, em resposta solicitao do prprio
OMG de propostas para uma linguagem padro de modelagem[Furlan, 1998].
18
Entre janeiro a julho de 1997, o grupo original se expandiu,
passando a incluir virtualmente todos os participantes e colaboradores da
resposta inicial ao OMG, entre os quais se encontravam Andersen Consulting,
Ericson, Object Time Limited, Platinum Technology, Ptech, Reich Technologies,
Softeam, Sterling Software e Taskon. Um grupo foi formado, liberado por Cris
Kobryn da MCI Systemhouse e administrado por Ed Eykholt da Rational, com o
propsito de formalizar a especificao da UML e de integrar a linguagem a
outros esforos de padronizao. A verso 1.1 foi entregue a OMG em julho de
1997. Em setembro do mesmo ano, essa verso foi aceita pela ADTF (Analysis
and Design Task Force) e pelo Architecture Board do OMG e, posteriormente
submetida a votao de todos os membros da OMG. A verso 1.1 foi adotada
pela OMG em 14 de novembro de 1997[Booch, 2000].
A manuteno da UML foi ento assumida pela RTF (Revision Task
Force) do OMG, sob a responsabilidade de Cris Kobryn. A RTF lanou uma
reviso editorial, a UML 1.2., em junho de 1998. No final do mesmo ano, a RTF
lanou a UML 1.3[Furlan, 1998].
3.3 Aceitao
19
UML empresas e profissionais liberais da rea esto desenvolvendo estudos
para melhor aplic-la.
3.4 Padronizao OM G
3.5 Aplicao
21
relacionamentos que possuem comunicao associativa entre eles ou so
desmembrados em hierarquia. Descrevemos um use-case atravs de um
texto especificando os requisitos do ator externo que utilizar este use-case.
Um use-case tanto pode depender de um ou mais use-case como pode ter
seus dependentes. Atravs do diagrama de use-cases mostraremos aos
atores externos(futuros usurios) o que estes podem esperar do sistema.
A anlise de requisitos tambm pode ser desenvolvida baseada em
sistemas de negcios, e no apenas para sistemas de software
4.2 Anlise
4.3 Projeto
22
Nesta fase partimos para as solues tcnicas, atravs dos
resultados obtidos na fase da anlise. Sero adicionadas novas classes para
oferecer uma infra-estrutura tcnica tais como: interface do usurio e
perifricos, banco de dados, interao com outros sistemas, e outras mais.
feita uma juno das classes da fase da anlise com as classes tcnicas da
nova infra-estrutura, podendo assim alterar tanto o domnio principal do
problema quanto a infra-estrutura.
Com a elaborao do projeto obtemos detalhadamente as
especificaes para dar inicio a fase de programao.
4.4 Programao
23
4.5 Testes
modelos. Nos
5.1 Conceito
25
Uma Ferramenta Case um software que auxilia no ciclo de
desenvolvimento de um sistema desde a fase de anlise at a fase de testes,
auxiliando tambm na manuteno do sistema.
Apoiam na utilizao de metodologias e mtodos, armazenam
informaes em sua base de dados, tanto em forma de textos como em forma
grfica, possibilitando a comunicao com o usurio, a aprovao das
definies de processos, fluxos de informaes e atributos de entidades, no
esquecendo de nenhum passo da metodologia usada, proporcionando alto
nvel de documentao.
As ferramentas CASE se dividem em 3 tipos:
26
5.2 Vantagens
27
com a Anlise do Sistema, que onde se define como solucionar o
problema do usurio;
Melhor
documentao:
por
armazenarem
dados
diagramas,
as
28
5.4 O Futuro
29
Por quatro anos consecutivos o IDC nomeou a Rational Rose como
a ferramenta principal de projeto e de construo baseada em anlise
orientada a objetos [DBSERVER, 2001].
Segundo RATIONAL, a ferramenta Rational Rose uma soluo
completa para [2001]:
arquivo,
permitindo
6.1 Conceito
31
vises contm os modelos de elementos do sistema. A Figura 6.1 apresenta as
cinco vises de sistemas.
32
descreve e especifica a estrutura esttica do sistema (classes, objetos, e
relacionamentos) e as colaboraes dinmicas quando os objetos enviarem
mensagens uns para os outros para realizarem as funes do sistema.
Propriedades como persistncia e concorrncia so definidas nesta fase, bem
como as interfaces e as estruturas de classes. A estrutura esttica descrita
pelos diagramas de classes e objetos. O modelamento dinmico descrito
pelos diagramas de estado, seqncia, colaborao e atividade.
33
de estado, seqncia, colaborao e atividade, e pelos diagramas de
implementao, que so os diagramas de componente e execuo.
7.1 Definio
35
7.2 Classes
36
7.2.1 Nomes
Todas as classes devem ter um nome que as diferencie das demais.
Usamos uma seqncia de caracteres para identific-las. Uma classe pode ter
um nome simples, ou com caminho como mostra a Figura 7.2. O caminho
identifica o pacote ao qual a classe pertence.
37
7.2.2 Atributos
Um atributo uma propriedade de uma classe, que descreve um
intervalo de valores que as instncias da propriedade podem apresentar. Uma
classe pode ter qualquer nmero de atributos ou nenhum. Um atributo
representa o tipo de dados ou estados que cada item de uma classe pode
assumir, so representados logo aps o nome da classe (veja Figura 7.3).
38
7.2.3 Operaes
Operaes so os processos que a classe pode realizar.
Operaes correspondem claramente a mtodos em uma classe. No
nvel de especificao, as operaes correspondem a mtodos pblicos.
Normalmente, voc no mostra as operaes que simplesmente manipulam
atributos, porque elas podem ser freqentemente inferidas. Entretanto, voc
poder ter que identificar seu um dado atributo somente para leitura(isto , o
seu valor nunca muda). No modelo de implementao, voc tambm pode
querer mostrar operaes privativas(private) e protegidas(protected).
Uma classe pode ter vrias operaes ou at mesmo nenhuma, so
representadas logo aps os atributos (veja Figura 7.4).
39
7.3 Objetos
40
7.4 Estados
41
42
7.5 Pacotes
43
O pacote tem uma grande similaridade com a agregao. O fato de
um pacote ser composto de modelos de elementos cria uma agregao de
composio. Se este for destrudo, todo o seu contedo tambm ser.
7.6 Componentes
7.7 Relacionamentos
44
7.7.1 Associaes
Associao uma relao que descreve um conjunto de vnculos
entre elementos de modelo [Furlan, 1998].Representa a ligao entre classes
ou objetos de classes, podendo ambas conhecer-se. Uma associao
definida em UML como relacionamento.
45
possui um nome (junto linha que representa a associao), normalmente um
verbo, mas substantivos tambm so permitidos.
Pode-se tambm colocar uma seta no final da associao indicando
que esta s pode ser usada para o lado onde a seta aponta. Mas associaes
tambm podem possuir dois nomes, significando um nome para cada sentido
da associao (ver Figura 7.9).
Para expressar a multiplicidade entre os relacionamentos, um
intervalo indica quantos objetos esto relacionados na ligao. O intervalo pode
ser de zero para um (0..1), zero para vrios (0..* ou apenas *), um para vrios
(1..*), dois (2), cinco para 11 (5..11) e assim por diante. tambm possvel
expressar uma srie de nmeros como (1, 4, 6..12). Se no for descrito
nenhuma multiplicidade, ento considerado o padro de um para um (1..1 ou
apenas 1).
46
47
por uma linha tracejada entre as associaes que so parte da associao
exclusiva, com a especificao "{ou}" sobre a linha tracejada.
48
49
7.7.1.8 Agregao
A agregao uma caso particular da associao, indica que uma
das classes do relacionamento uma parte, ou est contida em outra classe.
As palavras chaves usadas para identificar uma agregao so: "consiste em",
"contm", " parte de" (ver Figura 7.15).
50
7.7.2 Generalizaes
Um relacionamento de taxinomia entre um elemento mais geral e um
elemento mais especfico que completamente consistente com o primeiro
elemento somando-o informao adicional especializado [Furlan, 1998].
Um objeto mais especfico pode ser usado como uma instncia do
elemento mais geral. A generalizao, tambm chamada de herana, permite a
criao de elementos especializados em outros.
Existem alguns tipos de generalizaes que variam em sua
utilizao a partir da situao. So elas: generalizao normal e restrita. As
generalizaes restritas se dividem em generalizao de sobreposio,
disjuntiva, completa e incompleta.
Uma classe pode ser tanto uma subclasse quanto uma superclasse,
se ela estiver numa hierarquia de classes que um grfico onde as classes
esto ligadas atravs de generalizaes.
A generalizao normal representada por uma linha entre as duas
classes que fazem o relacionamento, sendo que coloca-se uma seta no lado da
linha onde encontra-se a superclasse indicando a generalizao.
51
Generalizaes
de
Sobreposio
Disjuntiva:
Generalizao
de
52
53
Os refinamentos so um tipo de relacionamento entre duas
descries de uma mesma coisa, mas em nveis de abstrao diferentes e
podem ser usados para modelar diferentes implementaes de uma mesma
coisa (uma implementao simples e outra mais complexa, mas tambm mais
eficiente).
Os refinamentos so simbolizados por uma linha tracejada com um
tringulo no final de um dos lados do relacionamento e so usados em modelos
de coordenao (ver Figura 7.22). Em grandes projetos, todos os modelos que
so feitos devem ser coordenados. Coordenao de modelos pode ser usada
para mostrar modelos em diferentes nveis de abstrao que se relacionam e
mostram tambm como modelos em diferentes fases de desenvolvimento se
relacionam.
54
seu nome escrito sublinhado e pode significar tanto o nome da instncia
quanto o nome do tipo. Outros ornamentos so os de especificao de
multiplicidade de relacionamentos, onde a multiplicidade um nmero ou
um intervalo que indica quantas instncias de um tipo conectado pode estar
envolvido na relao.
Notas: Nem tudo pode ser definido em uma linguagem de modelagem, sem
importar o quanto extensa ela seja. Para permitir adicionar informaes a
um modelo no poderia ser representado de outra forma, UML prov a
capacidade de adicionar Notas. Uma Nota pode ser colocada em qualquer
lugar em um diagrama, e pode conter qualquer tipo de informao (ver
Figura 7.23).
Captulo 8 - DIAGRAMAS
8.1 Conceito
colaboraes,
componentes,
dependncias,
generalizaes,
56
57
A figura 8.1 mostra um diagrama de casos de uso.
58
Uma classe em UML representada por uma caixa retangular com
trs compartimentos: um com o nome da classe, o outro com a lista de
atributos da classe e o ltimo com a lista de operaes da classe.
As associaes representam relacionamentos estruturados entre
objetos de diferentes classes, e so representados graficamente atravs de
uma linha conectando as classes. Uma associao pode ter um nome. E as
extremidades da linha que representa uma associao pode ter nome de
papis mostrando como a classe vista pelas outras classes na associao.
A multiplicidade de uma associao especifica quantas instncias de
uma classe relacionam-se a uma nica instncia de uma classe associada.
Uma multiplicidade representada por um intervalo de valores possveis, no
seguinte formato: limite_inferior..limite_superior, onde esses limites so valores
inteiros ( o caracter * pode ser usado como limite_superior para indicar falta de
limite).
A agregao uma forma especial de associao que representa o
relacionamento todo-parte entre objetos. Ela representada incluindo-se um
losango na extremidade do objeto todo do relacionamento todo-parte.
A generalizao uma ferramenta poderosa para a abstrao. A
generalizao um relacionamento existente entre uma classe mais
geral(superclasse) e uma classe mais especfica(subclasse), onde a classe
mais especfica consistente com a mais geral e adiciona informaes a ela.
Uma generalizao representada por uma linha com um tringulo, que liga a
classe mais especfica a mais genrica. Veja figura 8.2.
59
diagramas
no
so
importantes
apenas
para
visualizao,
60
sistema, formados por instncias desses blocos de construo e mensagens
enviadas entre eles. Os diagramas de objetos cobrem um conjunto de
instncias dos itens encontrados nos diagramas de classes. O diagramas de
objetos, portanto, expressa a parte esttica de uma interao, composta pelos
objetos que colaboram entre si, mas sem qualquer uma das mensagens
passadas entre eles. Nos dois casos, o diagrama de objetos congela um
momento no tempo.
Os diagramas de objetos so usados para fazer a modelagem da
viso de projeto esttica ou da viso de processo esttica de um sistema, da
mesma forma como faz com os diagramas de classes, mas a partir da
perspectiva de instncias reais ou prototpicas. Isso envolver a modelagem de
um retrato do sistema em determinado momento e a representao de um
conjunto de objetos, seus estados e relacionamentos. Essa viso atende
principalmente aos requisitos funcionais do sistema ou seja, os servios que
o sistema dever proporcionar aos seus usurios finais. Os diagramas de
objetos permitem que voc faa a modelagem de estruturas de dados
estticos.
61
Os
diagramas
de
estados
so
usados
para
modelar
62
63
64
65
66
67
9.1 Introduo
69
dividido em concepo, elaborao, construo e transio, que mostra uma
viso mais gerencial do desenvolvimento [Booch,2000].
Ferramentas
desenvolvimento
de
modernas
sistemas
devem
alm
da
suportar
linguagem
um
de
mtodo
de
modelagem
partir
deste
ponto
descreveremos
nossa
metodologia,
9.2 Documentao
9.2.1 Fonte
Na documentao ser exigido a confeco de alguns documentos,
cujo os quais deve-se redigi-los corretamente para um bom entendimento. Para
70
uma melhor visualizao determina-se antes do incio do projeto o tipo e o
tamanho da fonte, para que todos os documentos escritos tenham o mesmo
aspecto.
O tipo da fonte usada na documentao tem que ser bem definida,
partindo do princpio que nem todos tero as mesmas ferramentas e que
existem editores que no possuem determinadas fontes. Devemos nos
preocupar em estabelecer uma fonte que toda a equipe envolvida e at mesmo
pessoas no envolvidas naquele projeto possuam. Numa apresentao do
projeto criado os documentos tem que ser facilmente visualizados.
Quanto
ao
tamanho,
fontes
pequenas
demais
tornam
71
Na confeco de um novo projeto pode-se copiar estas pastas para
um outro local e renome-las. Faz-se necessrio uma reviso de todas as
pastas para adequao com o novo projeto.
9.2.4 Impresso
Para que todos os documentos, diagramas, etc., que vierem a ser
gerados e impresso no projeto possam ser bem visualizados e arquivados,
devemos definir anteriormente um tamanho de papel padro.
As margens podem ser configuradas de acordo com a necessidade,
pois dentro do projeto haver diagramas que necessitaro de margens um
72
pouco menores ou maiores devido a sua complexidade. Sendo que para sua
melhor visualizao s vezes necessrio o uso do papel at sua extremidade.
9.2.5 Backup
Deve-se criar um sistema de backup, sugerindo um responsvel pela
execuo do mesmo, para que no haja surpresas no decorrer do projeto,
como perdas de dados. Ocasionando atraso na concluso do projeto, alterando
as datas as quais a equipe se submeteu a cumprir.
A periodicidade dos backups depende do envolvimento da equipe e
das informaes armazenadas diariamente, se houver necessidade pode-se
realizar os backups diariamente, semanalmente ou mensalmente.
Criaremos
um
formulrio
sugesto
que
envolve
todos
os
73
74
9.3.1 Contatos
Um
determinado
usurio
faz
um
contato
solicitando
formulrio
dever
ser
preenchido
em
meio
75
tambm poder ser dada no momento do preenchimento do formulrio
padro, dependendo de quem e da capacidade do atendente.
76
9.4.1 Reunio/Entrevista
Nas reunies, das quais as pessoas convocadas a participar, no
existe nenhuma hierarquia. Todos os participantes, sejam eles analistas,
gerentes, diretores ou escriturrios, devem se posicionar livremente, pois se
foram convidados a participar porque tm alguma contribuio a dar com o
seu conhecimento especfico no assunto objeto da reunio. Em uma situao
normal, a hierarquia funciona como um agente inibidor e a opinio da pessoa
de nvel mais alto prevaleceria sobre as demais, sem nenhuma garantia de que
fosse a mais indicada.
Para dar incio a comunicao entre os participantes, Gause e
Weinberg sugerem que o analista comece fazendo perguntas de livre contexto,
concentrando-se no cliente, nas metas globais e nos benefcios. Por exemplo,
o analista poderia perguntar :
77
Em seguida, o analista pode fazer perguntas que o ajudaro na
compreenso do problema e ter uma idia da soluo:
efetividade da reunio:
78
comunidade de sistemas de informao, mas a tcnica oferece potencial para
uma melhor comunicao em aplicaes de todos os tipos.
Outra abordagem especializada de entrevista que pode ser usada
o JAD(Joint Application Development). Consiste numa rpida entrevista e um
processo acelerado de coleta de dados em que todos os principais usurios e o
pessoal da anlise de sistemas agrupam-se em uma nica e intensiva
reunio(que pode prolongar-se de um dia a uma semana) para documentar os
requisitos do usurio. A reunio costuma ser supervisionada por um
especialista treinado que atua como mediador para encorajar melhores
comunicaes entre os analistas de sistemas e os usurios.
Esses mtodos citados possuem suas diferenas, mas todos tem
alguns princpios bsicos :
Um encontro
levado
a efeito
e participam
desenvolvedores e clientes;
79
80
9.4.5 Atores
Atores so usurios e/ou outros meios externos que desenvolvem
algum papel em relao ao sistema. Os meios externos so hardwares e/ou
softwares que, assim como os usurios, geram informaes para o sistema ou
necessitam de informaes geradas a partir do sistema. Existem atores que
podem desempenhar mais de um papel no sistema, quando se pensar em
atores sempre bom pensar neles como papis em vez de pensar como
pessoas, cargos, mquinas. No sistema podem ter usurios com diferentes
permisses, para isto necessrio criar um ator para cada diferente tipo de
permisses. Os atores so quem desempenham os casos de uso, um mesmo
ator pode estar em um ou mais casos de uso.
Cada ator deve possuir um nome cujo ter relao direta com a sua
funo, possuir uma descrio que definir o que ele faz e com quem ele
interage.
Criaremos um formulrio sugesto para listar os atores do sistema,
conforme anexo 04.
81
cenrio uma seqncia de passos a qual descreve uma interao entre um
usurio e o sistema. Os casos de uso so representados em forma de elipse.
No deve-se detalhar muito um determinado caso de uso, o seu
detalhamento vai depender do risco que o mesmo corre, quanto maior o risco,
mais detalhes ter o caso de uso.
Ao definir os casos de uso a serem desenvolvidos, trate apenas dos
casos de usos mais crticos para o sistema, os casos de uso que so tarefas
rotineiras no precisam ser desenvolvidos. Dessa forma sua documentao
no se tornar montona. Numericamente falando, em modo geral trate apenas
de 10 20(%) dos casos de uso mais crticos de seu sistema, estes nmeros
citados claro que podem variar dependendo do sistema a ser desenvolvido.
Os nomes dos casos de usos devemos sempre usar verbos, pois
assim facilitar no entendimento dos mesmos. Devemos possuir uma lista com
todos os nomes dos casos de usos para facilitar na identificao dos mesmos.
Preencher todos os requisitos de um caso de uso de extrema importncia.
Criaremos um formulrio sugesto para listar os casos de uso,
conforme anexo 05. Tambm criaremos outro formulrio sugesto contendo
todos os requisitos de uma caso de uso, conforme anexo 06.
9.4.7 Escopo
Uma viso grfica do sistema, mostrando a idia geral do sistema
como ele ir interagir com o mundo externo. Esta viso transformao de
funcionalidades, interao e abrangncia descritos no resumo do projeto para
uma representao grfica. Deve-se usar os atores e casos de uso.
82
atores.
Deve-se
documentar
cada
diagrama
desenvolvido
83
9.4.10 Cronograma
Os cronogramas so metas que devem ser atingidas, definindo
prazos nos quais os envolvidos devero empenhar-se na execuo de suas
atividades para o cumprimento dos mesmos.
Dever ser criada uma representao (grfico ou tabela) que
exprima o tempo dedicado a cada tarefa, determinando assim o prazo final do
projeto.
Criaremos um formulrio sugesto que contm todos os itens para
um correto preenchimento de um cronograma, conforme anexo 08.
84
9.4.11 Aprovao
Cria-se um formulrio onde responsveis devero aprovar a fase.
Criaremos um formulrio modelo conforme anexo 09.
9.5 Anlise
85
iniciais
destes
objetos,
defini-los,
classific-los
identificar
os
86
mostra-se sua semntica e seus relacionamentos com outras abstraes
existentes neste conjunto. Se imaginarmos um determinado momento num
sistema modelado, encontraremos um conjunto de objetos, cada um em um
estado especfico e em um determinado relacionamento com os demais
objetos.
Um diagrama de objetos mostra um nico conjunto de objetos
relacionados uns com os outros em um momento especfico.
Segundo
Booch,
citamos
algumas
consideraes
para
87
mensagens entre objetos dentro de um contexto a fim de realizar um
determinado propsito.
Devemos utilizar diagramas de interao quando necessitamos ver o
comportamento de vrios objetos dentro de um nico caso de uso, a partir de
mensagens que so trocadas entre eles. Estes diagramas modelam os
aspectos dinmicos do sistema.
Os diagramas de interao podem ser apresentados de duas
formas: Diagrama de Seqncia e Diagrama de Colaborao.
88
89
90
Nos Diagramas de Atividades modelamos a ordem pela qual as
coisas devem ser feitas, em processos seqncias ou paralelos, o que os
diferencia de um fluxograma que so limitados a processos seqnciais.
Usamos os Diagrama de Atividades para diferentes propsitos
como:
Mostrar como uma instncia de caso de uso pode ser realizada em termos
de ao e mudanas de estado de objetos;
9.6 Projeto
91
92
Para
cada
componente
existente
no
conjunto,
faa
seus
relacionamentos.
93
chamar a ateno a pontos importantes do diagrama. E tambm devemos usar
elementos estereotipados com cuidado, escolhendo um conjunto pequeno de
cones e utilizando-o de maneira consistente.
94
95
notas e cores como indicaes visuais com a finalidade de chamar a ateno a
pontos importantes do diagrama. E tambm devemos usar elementos
estereotipados com cuidado, escolhendo um conjunto pequeno de cones e
utilizando-o de maneira consistente.
9.7 Implementao
9.7.1 Traduo
O processo de traduo acontece quando a compilador aceita o
cdigo-fonte como entrada e gera um cdigo-objeto como sada.
Para que o cdigo-fonte no seja gerado de maneira diferente do
projeto, deve-se ter todos os detalhes do projeto bem elaborados e estudados.
96
A escolha de uma linguagem de programao para um projeto
especfico deve-se considerar as suas facilidades e aonde ela ir ajudar o
melhor desenvolvimento do projeto.
PRESSMAN sugere alguns critrios a serem avaliados durante a
escolha de uma linguagem de programao [1995]:
Consideraes de desempenho;
97
desenvolvido. Porm devem ser bastante estudadas pois uma falha no modelo
pode comprometer todo o produto final.
rtulos),
prosseguindo
com
colocao
No usar nomes muito extensos, mas que expresse o seu propsito. Neste
caso dever prevalecer o bom censo e experincia por parte do
programador.
Na colocao e composio de comentrios, tomaremos alguns
98
99
9.8 Testes
100
Devemos tomar como base para testes os casos de usos
desenvolvido na fase de anlise de requisitos, verificando se seu propsito est
contemplado, observando seu fluxo normal e quando este fluxo no seguido
se os fluxos alternativos esto atendendo tal situao.
tambm
101
2. Consistncia entre o nmero e o tipo de argumentos transmitidos aos
mdulos chamados com os parmetros;
3. Consistncia de variveis globais ao longo dos mdulos;
4. Existncia de referncias a parmetros no associados ao ponto de
entrada atual;
5. Modificao de argumentos de entrada/sada.
102
7. Comparao de diferentes tipos de dados;
8. Operadores lgicos utilizados incorretamente.
103
mdulo principal. Os mdulos subordinados ao mdulo principal de uma
maneira depth-first(pela profundidade) ou breadth-first(pela largura).
2. Integrao bottom-up : Inicia-se a construo e testes com mdulos
localizados nos nveis mais baixos da estrutura do programa dirigindo-se
ao mdulo principal.
104
105
Ocorrendo pequenos erros ou observaes que no interfiram no
objetivo do projeto, estes devero ser tratados diretamente com o responsvel
pela fase onde ocorreu o problema.
Quando na avaliao ocorrem problemas do tipo que tenha que ser
refeito alguma unidade por completo, isto geralmente estar comprometendo
os objetivos do projeto e, consequentemente dever ser de conhecimento de
toda a equipe envolvida no projeto.
Aps feitas as correes dos problemas encontrados, estando de
acordo com as especificaes definidas na anlise de requisitos e aceitas pelo
cliente, o software estar pronto para uso.
10.1 Introduo
Fonte
Tipo : Times New Roman
Gravao
Tamanho : 12
107
Pasta Me : Contabilidade
Descrio : Esta pasta contm toda a documentao do projeto do
sistema de contabilidade.
Extenso de Arquivos : .rtf
Impresso
Tamanho do papel: A4(210 X 297mm)
Backup
Responsvel: Reginaldo Darolt / Alexandre de Almeida
Periodicidade: Semanal.
Verso: 1.0A-01
Data: 14/03/2001
Razo Social: Escritrio Criciumense de Contabilidade
Solicitante: Joo da Silva
Departamento: Gerencial
Fone: 048-4371159
Fax : 048-4376020
Ramal: 203
Email: joaocri@terra.com.br
Descrio: Sistema de Contabilidade com capacidade de emitir os
relatrios legais como: dirio, razo, balancete aps os lanamentos nas
contas contbeis do plano de contas da empresa. Ir receber tambm
108
lanamentos dos sistemas de livros fiscais, folha de pagamento e controle
patrimonial. Ir gerar informaes gerenciais para o administrativo.
Tipo do pedido: (X ) Novo
( ) Alterao
(X) Normal
( ) Alta
( ) Urgente
Data : 21/03/2001
possveis
entradas
de
dados
no
sistema
sero:
109
mesmo banco de dados e sem o auxlio de nenhuma rotina do mdulo de
contabilidade para execuo de tal tarefa.
3.Procedimentos:
Cadastro de Usurios.
Lanamentos.
Emisso de relatrios.
Definio
de
parmetros
do
sistema
como
perodo
de
Acompanhamento de lanamentos.
5.Usurios:
Contador
Digitador
110
lanamentos de notas, apurao e pagamento de impostos. Do Controle
Patrimonial recebe lanamentos na atualizao dos bens e no fechamento de
perodo. Na Folha de Pagamento recebe lanamentos no momento do clculo
mensal.
Este sistema gera informaes sobre tempo gasto do usurio para o
sistema administrativo. Emite relatrios cadastrais, de acompanhamentos e
tambm os relatrios legais tais como: Dirio, Razo, DRE, Balano e Livro
Caixa.
Para um bom desempenho do sistema ser necessrio o uso de
mquinas com configurao igual ou superior a PII 233 Mhz com 32 Mb.
Ambiente Windows95 ou Windows98, e para uma boa apresentao dos
relatrios faz-se necessrio impressora Jato de Tinta ou Laser. No caso de
mais de uma estao de trabalho, estas devero estar conectadas atravs de
uma rede que suporte as estaes no ambiente citado.
10.6 Escopo
111
112
UC005 - EFETUAR LANAMENTOS LIVROS FISCAIS
UC006 - APURAR IMPOSTOS LIVROS FISCAIS
UC007 - PAGAR IMPOSTOS LIVROS FISCAIS
UC008 - FECHAR PERODO CONTROLE PATRIMONIAL
UC009 - MANTER BENS CONTROLE PATRIMONIAL
UC010 - NAVEGAR EM REGISTROS
UC011 - CALCULAR FOLHA DE PAGAMENTO
113
114
Documentao
Pontos Fortes:
Pontos Fracos:
116
Eventos Iniciais
Pontos Fortes:
Anlise de Requisitos
Pontos Fortes:
Pontos Fracos:
Anlise
Pontos Fortes:
117
Pontos Fracos:
Projeto
Pontos Fortes:
Implementao
Pontos Fortes:
118
Testes
Na estratgia de testes no adotamos a fase de projetos porque
seus mtodos torna essa tarefa cansativa e tambm eleva os custos. uma
fase que pode ser eliminada sem comprometer a fase de testes do projeto.
Nas fases de teste demos nfase ao teste de unidade, cujo no nosso
ponto de vista o mais importante, os demais so apenas citados para que
sejam explorados caso algum tenha esta necessidade.
119
Captulo 12 - CONCLUSO
120
metodologia. Esta ferramenta mostrou-se bastante complexa e eficaz, pois ela
possui uma documentao interativa e automtica dos processos de
modelagem, permitindo at mesmo gerar cdigo-fonte a partir do modelo. Na
implementao do sistema utilizamos a ferramenta de desenvolvimento
chamada Power Builder pela facilidade da programao orientada a objetos,
bem como pelo conhecimento que todos envolvidos tinham da mesma.
Com o desenvolvimento do prottipo utilizando a metodologia,
podemos afirmar que os resultados esperados foram alcanados, tendo em
vista que esta atendeu todas as fases de desenvolvimento do prottipo. Desta
forma podemos dizer que a metodologia se torna necessria para um bom
desenvolvimento de sistema orientados a objetos.
12.1 Recomendaes
Desenvolver
novas
pesquisas
visando
corrigir
os
pontos-fracos
encontrados.
Captulo 13 - BIBLIOGRAFIA
ADD.
Histrico
da
UML.
http://www.addtech.com.br.
Consultada em 24/03/2001.
4. CABRAL, Adelino Manuel de Oliveira et al. UML : Unified Modeling
Language. http://www.tutprog.cjb.net. Consultada em 24/03/2001.
5. SILVA, Leonardo de Arajo et al. UML : Diagrama de Atividade.
http://www.dcc.ufmg.br/~marcosfg/. Consultada em 24/03/2001.
6. UML - Diagramas de Implementao : importantes quando trata de
questes
como
reutilizao
http://www.dcc.ufmg.br/~gorgulho/tbd/seminario.html.
desempenho.
Consultada
em
24/03/2001.
7. UML Introduo : ao modelar alguma coisa, estamos criando uma
simplificao da realidade para um melhor entendimento do sistema.
http://www.dcc.ufmg.br/~lucanaan/tbd/texto.htm. Consultada 24/03/2001.
122
8. ARAJO, Bethnia Lagoeiro. Uma Contribuio para o Problema de
Compatibilizao
de
Modelos
na
http://www.dcc.ufmg.br/pos/html/spg98/node3.html
UML.
Consultada
em
24/03/2001.
9. CNPQ, UFSC. UML : Unified Modeling Language. Abrange sua histria,
definies, arquivos e sites relacionados. http://www.eps.ufsc.br/~wolff .
Consultada em 24/03/2001.
10. BARROS, Pablo. UML : Linguagem de Modelagem Unificada em
Portugus. http://cc.usu.edu/~slqz9/uml . Consultada em 24/03/2001 .
11. TECHMARK,
Engenharia
de
Software.
Tutoriais.
Bookman,
2000.
13. FOWLER, Martin, Kendal Scott. UML ESSENCIAL : Um breve guia para a
linguagem padro de modelagem de objetos. Porto Alegre - Bookman,
2000.
14. PRESSMAN, Roger S. . ENGENHARIA DE SOFTWARE. So Paulo Makron Books ,1995.
15. RUMBAUGH, James, Michael Blaha, William Premerlani, Frederick Eddy,
Willian
Lorensen.
MODELAGEM
PROJETOS
BASEADOS
EM
123
17. MAZZOLA, Vitrio Bruno. CONCEITOS BSICOS DA ORIENTAO A
OBJETOS : Captulo 1, 1999.
18. COOD, Peter, Edward Yourdon. ANLISE BASEADA EM OBJETOS. Rio
de Janeiro - Campus, 1991.
19. YOURDON, Edward, Carl Argila. ANLISE E PROJETO ORINTADOS A
OBJETOS : Estudos de Casos. So Paulo - Makron Books, 1999.
20. SILVA, Nelson Peres da. PROJETO E DESENVOLVIMENTO DE
SISTEMAS. So Paulo - rica, 1998.
21. MIZRAHI, Victorine Viviane. TREINAMENTO EM C++. So Paulo - Makron
Books.
22. RATIONAL, Software Corporation. Rational Rose. www.rational.com.
Consultada em 05/04/2001.
23. DBSERVER, Ferramentas Case. Parceria Rational. www.dbserver.com.br.
Consultada em 30/10/2001.
124
Gravao
Pasta Me : <Nome do Sistema>
Descrio : <Abaixo desta pasta me esto todos os arquivos
necessrios referentes a documentao do software>.
Extenso de Arquivos : <tipo da extenso>
Impresso
Tamanho do papel: <medidas do formulrio>
Backup
Responsvel: <Nome do responsvel pelo Backup>
Periodicidade:
Verso: <N.NX-NN>
125
( ) Normal
( ) Alta
prioridade do pedido>
Data pretendida para soluo: <O preenchimento se faz necessrio,
pois ser estudada pela equipe onde ser discutido a possibilidade ou no de
ser efetuada>
126
<Definio
dos
itens
que
ajudaro
no
desenvolvimento do sistema>
Definies da reunio: <A definio engloba tudo o que foi definido
na reunio>
127
Descrio
<Nome do ator>
128
caso de uso
129
ALTERAO
AUTOR
<data>
<Descrio da alterao>
<Listar os autores>
130
131
Assinatura
132
Assinatura