Documente Academic
Documente Profesional
Documente Cultură
ANLISE E PROJETO
ORIENTADOS A OBJETOS -
UML
UNIPAR 09/99
Anlise e Projeto Orientados a Objetos - UML 2
ndice
1. INTRODUO.....................................................................................................................................3
1.1 HISTRIA DA ABORDAGEM OO.......................................................................................................3
1.2 CONCEITOS BSICOS DO PARADIGMA ORIENTADO A OBJETOS.......................................................3
1.3 MTODOS ORIENTADOS A OBJETOS.................................................................................................6
2. A UML...................................................................................................................................................7
2.1 HISTRICO DA UML........................................................................................................................7
2.2. O ESCOPO DA UML........................................................................................................................8
2.3. NOVAS CARACTERSTICAS DA UML...............................................................................................8
3. O CONJUNTO DE DOCUMENTOS UML.....................................................................................9
3.1. UML SUMMARY..............................................................................................................................9
3.2. UML SEMANTICS............................................................................................................................9
3.3. UML NOTATION GUIDE..................................................................................................................9
3.4. UML PROCESS EXTENSIONS.........................................................................................................10
4. A NOTAO UML...........................................................................................................................10
4.1. ORGANIZAO DO DOCUMENTO...................................................................................................10
4.2 NOTAO GENRICA.....................................................................................................................10
4.2.1. Notas....................................................................................................................................11
4.2.2. Restries.............................................................................................................................11
4.2.3. Packages..............................................................................................................................11
4.2.4. Nome....................................................................................................................................11
4.2.5. Rtulo...................................................................................................................................12
4.2.6. Property String....................................................................................................................12
4.2.7. Esteretipos.........................................................................................................................13
4.3. DIAGRAMAS DE ESTRUTURA ESTTICA........................................................................................13
4.3.1. Diagrama de Classe............................................................................................................13
4.3.2. Diagrama de Objetos..........................................................................................................13
4.3.3 Classes..................................................................................................................................14
4.3.4. Atributo................................................................................................................................14
4.3.5. Operao.............................................................................................................................15
4.3.6. Associao...........................................................................................................................16
4.3.7. Associaes N-rias............................................................................................................17
4.3.8. Composio.........................................................................................................................18
4.3.9. Generalizao......................................................................................................................19
4.3.10. Dependncia......................................................................................................................20
4.4. DIAGRAMAS DE CASO DE USO......................................................................................................21
4.5. DIAGRAMAS DE SEQNCIA..........................................................................................................23
4.7. DIAGRAMAS DE COLABORAO...................................................................................................25
4.8. DIAGRAMA DE ESTADO.................................................................................................................27
4.9. DIAGRAMA DE ATIVIDADE............................................................................................................30
4.9.1. Estado Ao.........................................................................................................................30
4.9.2. Decises...............................................................................................................................31
4.9.3. Swinlanes.............................................................................................................................32
4.10. DIAGRAMAS DE IMPLEMENTAO...............................................................................................33
4.10.1. Diagramas de Componentes.............................................................................................33
4.10.2. Diagramas de Disponibilidade.........................................................................................34
5. CONCLUSO....................................................................................................................................36
6. REFERNCIAS BIBLIOGRFICAS............................................................................................37
ANEXO A..................................................................................................................................................38
A
Anlise e Projeto Orientados a Objetos - UML 3
1. Introduo
Sob um ponto de vista superficial, a expresso orientado a objetos significa que o
software organizado como uma coleo de objetos separados que incorporam tanto a
estrutura quanto o comportamento dos dados. Isso contrasta com a programao
convencional, segundo a qual a estrutura e o comportamento dos dados tm pouca vinculao
entre si.
Nos anos 80, Bjarne Stroustrup da AT&T Bell Laboratories estendeu a linguagem C
para criar C++, uma linguagem que apia a programao orientada a objetos. Essa linguagem
se tornou popular, pois no foi feita somente para microcomputadores, mas para a maioria das
arquiteturas de computadores. No incio da dcada de 80 verses comerciais da linguagem C+
+ da AT&T propiciaram a difuso da programao orientada a objetos na comunidade de
software em geral. Pois, com C++ os programadores estavam aptos a aprender a orientao a
objetos sem ter que investir em ambientes e linguagens de computao novos e diferentes
(Winblad et al., 1990).
Um dos primeiros materiais sobre anlise orientada a objetos foi publicado por Sally
Shlaer e Stephen Mellor (Shlaer & Mellor, 1988). O nmero de linguagens de modelagem para
anlise orientada a objetos aumentou de menos de 10 para mais de 50 durante o perodo entre
1989 e 1994. Muitos usurios de mtodos OO tiveram problemas para se satisfazer totalmente
com uma das linguagens de modelagem disponveis, iniciando a chamada guerra dos
mtodos. Pelo meio da dcada de 90, alguns mtodos comearam a incorporar tcnicas uns
dos outros e, dessa forma, alguns deles emergiram como, por exemplo, o mtodo de Booch
(Booch, 1993), o Fusion (Coleman et al., 1994) e a UML (Rational, 1997a).
Objetos so mdulos que contm tanto os dados como os procedimentos que agem
sobre os dados. Um pargrafo de um documento, uma janela na minha estao de trabalho e a
rainha branca em um jogo de xadrez so exemplos de objetos. Os objetos podem ser
concretos, como um arquivo em um sistema de arquivos, ou conceituais, como uma norma de
escalonamentos em um sistema operacional de multiprocessamento. Cada objetos tem sua
prpria identidade, que lhe inerente. Em outras palavras, dois objetos so distintos mesmo
que todos os valores de seus atributos (como nome e tamanho) sejam idnticos. No mundo
real um objeto limita-se a existir, mas, no que se refere a uma linguagem de programao, cada
objeto dispe de um nico indicador, pelo qual ele pode ser inequivocamente referenciado. O
indicador pode ser implementado de diversas maneiras, como um endereo, um elemento de
Anlise e Projeto Orientados a Objetos - UML 4
Nesse contexto, cada classe declarada como uma subclasse de uma ou mais
superclasses. Quando existe mais de uma superclasse, a relao de herana denominada
herana mltipla. Podem existir problemas de conflito entre informaes herdadas por uma
subclasse provenientes de diferentes superclasses, como por exemplo, serem herdadas variveis
com mesmo nome, mas de tipos diferentes. Este tipo de conflito j tratado pela maioria das
linguagens orientadas a objetos. Na Figura 2 encontra-se um exemplo ilustrativo das relaes
de herana e de herana mltipla. A classe R herda caractersticas da classe S1 e da classe S2.
A classe T herda caractersticas das classes R e S. Tanto a classe R como a classe T
caracterizam a Herana Mltipla. A classe S herda caractersticas apenas da classe S3,
determinando a Herana Simples.
Class R: Class S:
Methods: ... Methods: ...
Class T:
Methods: ...
Anlise e Projeto Orientados a Objetos - UML 6
2. A UML
A motivao para o desenvolvimento da UML foi integrar as melhores prticas da
indstria de software, incluindo vises amplamente variadas baseadas nos nveis de abstrao,
domnios, arquiteturas, estgios do ciclo de vida, tecnologias de implementao, etc.
a semntica dos elementos da UML. Os autores esperam selecionar pessoas para expressar
esse metamodelo mais precisamente, descrevendo sua semntica usando tcnicas formais.
4. A Notao UML
O documento referente a notao UML apresenta a representao visual da notao.
Apesar de conter uma breve explanao da semntica de cada construo, ele deve ser usado
em conjunto com a UML Semantics, que deve ser consultado para detalhes completos sobre a
semntica. A descrio de toda a notao UML apresentada a seguir foi extrada do
documento original[Rat97-d].
Anlise e Projeto Orientados a Objetos - UML 10
4.2.1. Notas
Uma nota um comentrio posto no diagrama. Ela conectada ao diagrama e no a
elementos do modelo, a menos que seja estereotipada para ser uma restrio.
Isto uma
nota!
4.2.2. Restries
Uma restrio uma relao semntica entre os elementos do modelo que especificam
condies e proposies que devem ser mantidas como verdadeiras. Uma restrio representa
uma informao semntica conectada a um elemento do modelo, no apenas a uma viso dele.
Uma restrio mostrada como uma string textual entre chaves ( { } ). A UML no
prescreve a linguagem em que a restrio escrita.
Para um elemento do tipo string (tal como um atributo) a string de restrio pode vir
aps a string do elemento.
Anlise e Projeto Orientados a Objetos - UML 11
Para uma lista de elementos do tipo string (como atributos dentro de uma classe) a
string de restrio aparece como um dos elementos da lista, se aplica a todos os elementos que
a sucedem e continua sendo vlida at o aparecimento de outra restrio ou o trmino da lista.
Para dois smbolos grficos (como duas classes ou duas associaes) a restrio
mostrada como uma seta pontilhada e um elemento para o outro rotulada pela string de
restrio. A direo da seta uma informao relevante dentro da restrio.
Para trs ou mais smbolos grficos a string de restrio colocada dentro de uma
nota e conectada a cada um dos smbolo por linhas pontilhadas.
4.2.3. Packages
Um package um agrupamento de elementos do modelo. Packages podem ser
agrupados em outros packages. O sistema todo pode ser pensado como um nico package de
alto nvel com tudo dentro. Todos os tipos de elementos de modelagem e diagramas UML
podem ser organizados em packages.
4.2.4. Nome
Um nome uma string usada para identificar um elemento do modelo dentro de algum
escopo. Um nome de caminho (pathname) usado para encontrar um elemento do modelo a
partir da raiz do sistema (ou a partir de qualquer outro ponto). Um nome um seletor
(qualificador) dentro de um escopo. Um pathname uma srie de nomes linkados por um
delimitador.
Exemplo de pathname:
Figura 3. Pacotes
4.2.5. Rtulo
Um rtulo uma string que est conectada a um smbolo grfico.
Anlise e Projeto Orientados a Objetos - UML 12
Um tagged value um par palavra_chave - valor, que pode ser conectado a qualquer
tipo de elemento de modelagem. A palavra_chave chamada de tag. Cada tag representa um
tipo particular de propriedade aplicvel a um ou vrios elementos de modelagem. Ambos, tag e
valor, so codificados como strings. Tagged values so um mecanismo de extenso da UML
que permite que informaes arbitrrias sejam conectadas ao modelos.
4.2.7. Esteretipos
Um esteretipo um mecanismo de extenso introduzido pela UML, que permite que o
usurio estenda o metamodelo para suprir necessidades que no encontram-se entre os
metaelementos disponveis, desde que a definio semntica da prpria linguagem no seja
ferida. uma nova classe de elemento de modelagem que introduzido no modelo em tempo
de modelagem. H certas restries sobre o que um esteretipo pode ser: ele deve ser baseado
em certas classes existentes no metamodelo e ele deve estender estas classes apenas em certas
formas pr-definidas, porm estes limites no so claramente especificados.
Existe tambm uma representao grfica para os esteretipos: um cone que pode ser
usado em conjunto ou no com a string esteretipo, como parte do smbolo para o elemento
do modelo no qual o esteretipo se baseia.
Anlise e Projeto Orientados a Objetos - UML 13
Autor Computador
Usa
nome: String nome: String Diagrama de
idade: Integer memria:Integer Classes
0..1 1..*
PC Profissional de
Bob: Computador
nome: Dell 466
Bob: Autor memria: 64
nome: Bob J.
idade: 32 Diagrama de
PC Domstico de Objetos
Bob: Computador
nome: Compaq
Pentium MMX
memria: 32
4.3.3 Classes
Uma classe um descritor para um conjunto de objetos com estrutura, comportamento
e relacionamentos similares. Nos diagramas de classes da UML uma classe representada por
um retngulo com trs compartimentos, conforme indicado na Figura 6; o primeiro
compartimento para o nome da classe, o segundo para os seus atributos e o ltimo para as
suas operaes. As associaes so mostradas como linhas que conectam classes. Existe uma
variedade de adornos para indicar as propriedades das associaes, como nome da associao,
cardinalidade, papis, direcionamento, etc. Nomes de papis e direcionamento so teis para
deixar claro a ordem de leitura dos relacionamentos, principalmente em auto-relacionamentos.
Compartimento de Compartimento de
atributos atributos
Nome da associao
Compartimento de Compartimento de
Operaes Operaes
4.3.4. Atributo
Usado para mostrar os atributos em uma classe. Os detalhes de uma expresso do tipo do
atributo no especificado pela UML; eles dependem da sintaxe de expresso suportada por
uma particular especificao ou da linguagem de programao que est sendo usada.
4.3.5. Operao
Usada para mostrar operaes (mtodos) nas classes. A sintaxe a seguinte:
Figura
+ desenhar ()
+ escala (percentual: Integer = 25)
-pos_retorno (): position
Figura 8 Exemplo de mtodos da Classe Figura
4.3.6. Associao
Uma associao mostrada como linhas conectando smbolos de classes. A linhas
podem ter adornos que indicam suas propriedades. Associaes ternrias ou de ordens
superiores so representadas como um diamante conectado as classes por linhas. Uma
seqncia de linhas conectadas chamado de um "caminho".
Generalizao
Associao
Agregao
Dependncia
Navegabilidade
Anlise e Projeto Orientados a Objetos - UML 16
Classe de associao. Designa uma associao que tem propriedades como uma classe,
tais como atributos, operaes e outras associaes. Isto est
presente se, e somente se, a associao uma classe de
associao. representado por um smbolo de classe conectado
ao caminho da associao por uma linha pontilhada.
geralmente utilizada para armazenar atributos de relacionamento.
Associao-or. Uma associao or indica uma situao na qual apenas uma das
associaes potenciais podem ser instanciadas em um certo
tempo por um nico objeto. Isto representado como uma linha
pontilhada ligando as duas ou mais associaes, as quais todas
devem ter uma classe em comum, com uma string de restrio
"{or}" rotulando a linha pontilhada.
Uma associao n-ria representada por um diamante grande (grande se comparado com o
terminador de caminho) com um caminho do diamante para cada uma das classes participantes.
O nome da associao, se houver, mostrado prximo ao diamante. A multiplicidade pode ser
indicada, contudo, agregaes no so permitidas.
Um smbolo de classe de associao pode ser conectado ao diamante por uma linha pontilhada.
Isto indica que a associao n-ria tem atributos, operaes e/ou associaes.
Anlise e Projeto Orientados a Objetos - UML 18
4.3.8. Composio
Uma composio uma forma de agregao com forte propriedade e tempo de vida da
parte coincidente com o todo. A agregao um tipo de associao que representa um
relacionamento que indica que uma classe parte-de uma outra classe. Um relacionamento de
composio indica que um classe composta por outras, ou seja, indica que uma classe agrega
outras.
4.3.9. Generalizao
Generalizao um relacionamento entre um elemento mais geral e um elemento mais
especifico que totalmente consistente com o primeiro elemento e contm informaes
Anlise e Projeto Orientados a Objetos - UML 19
4.3.10. Dependncia
Uma dependncia indica uma relao semntica entre dois (ou mais) elementos do modelo. Ela
relaciona os prprios elementos do modelo e no requer um conjunto de instncias para ter
significado. Ela indica uma situao em que uma mudana no elemento alvo pode requerer
uma mudana no elemento fonte na dependncia.
Uma dependncia mostrada como uma seta pontilhada de um elemento para outro elemento
do modelo, onde o primeiro elemento o dependente. A seta pode ser rotulada opcionalmente
com um esteretipo ou um nome.
Item Bibliogrfico
Pesquisador insere
1 *
composta de Bibliografia
*
autor
ttulo
data
editora
1
1
cria
possui
* Sinnimo
*
recebe alguma sada dele. Um caso de uso o conjunto de interaes entre o sistema e um ou
mais atores que alcanam alguns objetivos especficos. Um caso de uso sempre iniciado por
um estmulo de um ator; ocasionalmente, outros atores podem participar do caso de uso.
A seguir so apresentados alguns passos a serem seguidos para identificar casos de uso:
Baseado em Ator:
1. Passo - identificar os atores relacionados com o sistema
ou organizao;
2. Passo - para cada ator, identificar os processos que eles
iniciam ou participam.
Baseado em Eventos:
1. Passo - identificar os eventos externos para os quais o
sistema deve responder;
2. Passo - relacionar os eventos com atores e casos de uso.
Na UML um ator representado por uma figura de um homem estilizado com o nome
do ator abaixo da figura. Um caso de uso representado por uma elipse e o nome do caso de
uso pode ser colocado dentro da elipse ou abaixo dela. A comunicao entre atores e casos de
uso mostrada utilizando-se uma linha slida. O relacionamento extends mostrado por um
segmento de reta de generalizao do caso de uso mais abrangente (que estende o
comportamento) para o caso de uso base. O relacionamento uses mostrado por uma linha de
generalizao do caso de uso cliente (que usa o comportamento) para o caso de uso que est
sendo usado. Maiores detalhes sobre a notao UML para os diagramas de casos de uso
podem ser obtidas no manual da notao UML (Rational, 1997b).
Um caso de uso representado por uma elipse contendo o nome do caso de uso. O
nome pode ser colocado abaixo da elipse.
Gerao de Arquivo
de Ref. Bibliogrficas Criao de
<<uses>> Sinnimos
Manuteno de <<uses>>
Sinnimos Excluso de
<<uses>> Sinnimos
Pesquisador
Manuteno de Itens
Alterao de
Bibliogrficos <<uses>> Sinnimos
<<uses>> <<uses>>
Alterao de Itens <<uses>>
Bibliogrficos
Insero de Itens
Bibliogrficos Excluso de Itens
Bibliogrficos
<<uses>>
<<uses>>
Um objeto mostrado com uma linha pontilhada vertical chamada de "linha da vida". A
linha da vida representa a existncia do objeto em um tempo determinado. Se o objeto criado
ou destrudo durante o perodo de tempo mostrado no diagrama, ento a linha da vida comea
e pra no ponto apropriado; caso contrrio ela vai desde o incio at o fim do diagrama. Um
Anlise e Projeto Orientados a Objetos - UML 24
Uma ativao mostra o perodo no tempo durante o qual o objeto est ativo, seja por
uma ao direta ou por um procedimento subordinado. representada como um fino
retngulo cujo topo alinhado com seu tempo de inicializao e cujo final alinhado com o
trmino da sua ativao.
Uma mensagem representada como uma seta horizontal da linha da vida de um objeto
para a linha da vida de outro objeto. A seta rotulada com o nome da mensagem (operao ou
sinal) e os valores dos seus argumentos.
Os diagramas de seqncia ainda podem ser usados para mostrar a interao entre os
atores e o sistema, abstraindo o sistema como uma caixa preta, dessa forma as mensagens do
diagrama seriam os eventos externos disparados pelo ator e as respostas dados pelo sistema
pesq : : Sistema
Pesquisador
excluir_item_bibliogrfico(id_item)
confirmar_excluso(char)
Os objetos interagem para realizar um certo propsito (como executar uma operao)
trocando mensagens. A troca de mensagens entre objetos para realizar um propsito especfico
chamada de uma "interao". Interaes so mostradas como diagramas de seqncia ou
como diagramas de colaborao. Ambos os formatos de diagramas mostram a execuo de
colaboraes. Diagramas de colaborao mostram o contexto completo de uma interao,
incluindo os objetos e seus relacionamentos relevantes para um interao particular, ento
freqentemente estes diagramas so melhores para propsitos de projeto.
Pesq :
pesquisador
1: excluir_item_bibliogrfico(id_item, char)
6: excluir_IB(id_item)
2: create(
)
4: criar_mensagem12("Item bibliogrfico no encontrado")
mensagem :
Mensagem_vdeo
possvel tambm enviar uma mesma mensagem para uma coleo de objetos
(multiobject) conforme mostrado na Figura 25.
Anlise e Projeto Orientados a Objetos - UML 27
Cada nome de evento pode aparecer no mximo uma vez em um nico estado.
As seguintes aes especiais tem a mesma forma da lista de atividades internas, mas
representam palavras reservadas que no podem ser usadas como nomes de eventos:
Uma transio representada por uma seta slida de um estado para outro rotulada por
uma string de transio. A sintaxe do rtulo de uma transio :
Na qual expresso_ao representa a ao que deve ser executada assim que o evento
for disparado. A clusula_envio representa um caso especial na transio, no qual deve-se
enviar uma mensagem a um objeto durante a transio entre os dois estados. Ela tem a
seguinte sintaxe: Objeto . nome_evento_do_objeto (parmetros).
Reservar_ttulo /
nmero_reserva ++
Reservar_ttulo /
nmero_reserva ++
No Reservado Reservado
Remover_reserva
[nmero_reserva=1 ] / Remover_reserva
nmero_reserva -- [nmero_reserva >1 ] /
nmero_reserva --
4.9.1. Estado Ao
Um estado ao uma maneira rpida de descrever um estado com uma ao interna e
pelo menos uma transio de sada envolvendo o evento implcito que completa a ao interna.
Um estado ao no deve ter transies internas ou transies de sada baseadas em eventos
explcitos; use estados normais para esta situao. O uso normal de um estado ao para
modelar um passo na execuo de um algoritmo (um procedimento).
4.9.2. Decises
Um diagrama de estado (e por derivao um diagrama de atividade) expressa decises
quando condies de guarda so usadas para indicar diferentes transies possveis que
dependem de uma condio booleana do objeto "dono" da transio.
4.9.3. Swinlanes
As aes podem ser organizadas em swinlanes (raias). Swinlanes so um tipo de
package para organizao de responsabilidades dentro de uma classe. Elas sempre
correspondem a unidades organizacionais em modelos de negcios.
Um diagrama de componente tem apenas uma forma "tipo", no uma forma "instncia".
Para mostrar instncias de componentes, usa-se um diagrama de disponibilidade.
nome_componente: tipo_componente. Um esteretipo pode ser usado para indicar qual etapa
do ciclo de vida o componente descreve (fonte, binrio, executvel, ou mais que um destes).
Nas Figura 33 e 34 so apresentados exemplos de diagramas de componentes.
<<file>> <<document>>
animlogo.java animlogo.doc
<<file>> <<document>>
animator.java animator.doc
<<printer>> <<router>>
HP LaserJet Cisco Router
5MP X2000
Anlise e Projeto Orientados a Objetos - UML 34
representados como tipos e como instncias. Podem residir sobre instncias de ns tanto
instncias de objetos como de componentes.
Figura 34 Exemplos de Ns
Um n representado como uma figura que se parece com uma viso tridimensional de
um cubo. Uma instncia de um n tem um nome e um tipo. O n pode ter uma string de nome
sublinhada dentro ou abaixo dele, seguindo a seguinte sintaxe: nome : tipo. O nome o nome
do n e o tipo se refere ao tipo deste n. Ambos so opcionais.
O diagrama de disponibilidade tambm pode ser usado para mostrar quais componentes
podem executar sobre quais ns, usando setas pontilhadas com o esteretipo <<suport>>.
5. Concluso
No desenvolvimento das abordagens orientadas a objetos, a unificao das
metodologias existentes pareceu um caminho natural, visto que os mtodos j estavam
evoluindo um para o outro independentemente. Neste contexto, no fazia sentido continuar
evoluindo separadamente, pois isto traria a oportunidade para o surgimento de diferenas
desnecessrias e gratuitas. Baseados neste fato os autores da UML decidiram por fundir as
melhores prticas disponveis na orientao a objetos de forma a especificar uma linguagem de
modelagem simples, clara e expressiva.
A UML visa criar um padro de notao com forte semntica para a especificao de
sistemas complexos. Ela no especifica um padro de processo propositadamente, baseada no
fato de que cada organizao e cada projeto se enquadram em diferentes tipos de processos.
6. Referncias Bibliogrficas
[Rat97-a] Rational, 1997, UML Summary, verso 1.0.1, 19 de maro de 1997, disponivel
atravs de http://www.rational.com
[Rat97-b] Rational, 1997, UML Semantics, verso 1.0, 13 de janeiro de 1997, disponvel
atravs de http://www.rational.com
[Rat97-c] Rational, 1997, UML Semantics, verso 1.1, 1 de setembro de 1997, disponvel
atravs de http://www.rational.com
[Rat97-d] Rational, 1997, UML Notation Guide, verso 1.0, 13 de janeiro de 1997, disponivel
atravs de http://www.rational.com
[ERI97] ERICKSSON, H., PENKER, M., UML Toolkit, John Wiley & Sons, USA, 1997.
ANEXO A
DOCUMENTO DE REQUISITOS DO
SAPES
O Sistema de Apoio Escrita (SAPES) tem como objetivo principal auxiliar a pesquisa
bibliogrfica. Os usurios deste sistema so, principalmente, pesquisadores que durante a sua
pesquisa bibliogrfica podem ler publicaes (por exemplo: artigos, livros e peridicos) e
armazen-las no sistema atravs de itens bibliogrficos, construindo, assim, a sua bibliografia
pessoal. Esta bibliografia pode ser alterada e consultada conforme a necessidade do
pesquisador, alm da possibilidade de fornecer diferentes tipos de relatrio. O pesquisador
pode tambm utilizar o sistema durante a redao de textos cientficos. Atravs do documento
produzido pelo pesquisador, o sistema reconhece as citaes e gera automaticamente a
referncia bibliogrfica.
Anlise e Projeto Orientados a Objetos - UML 38
Requisitos Funcionais
16. O sistema deve percorrer o documento produzido pelo pesquisador a fim de identificar
todas as citaes encontradas. A partir destas citaes o sistema deve gerar
automaticamente a referncia bibliogrfica seguindo o padro ABNT, e que
posteriormente ser anexada ao documento. As citaes no documento devem estar na
forma ABNT.
17. O sistema deve permitir ao pesquisador ordenar as referncias das referncias
bibliogrficas em ordem alfabtica por autor ou pela ocorrncia da sua respectiva citao
no documento.
18. Caso o sistema encontre uma citao no documento que no esteja na bibliografia, o
sistema dever fornecer uma mensagem adequada ao pesquisador alertando a ocorrncia
de uma possvel citao incorreta.
19. O sistema no deve permitir que o pesquisador altere as informaes geradas
automaticamente pelo sistema. Caso o pesquisador deseje alterar os itens de informao
de uma referncia das referncias bibliogrficas por erro ou por no estar completa, ou
Anlise e Projeto Orientados a Objetos - UML 40
deseje inserir um item bibliogrfico no encontrado pelo sistema, este deve proceder com
as alteraes desejadas na bibliografia e em seguida o sistema deve percorrer novamente o
documento gerando uma nova bibliografia. Caso no deseje fazer alteraes na
bibliografia, dever ento fazer correes diretamente no documento.
Requisitos de Qualidade
Confiabilidade
20. O sistema deve ter capacidade para recuperar os dados perdidos da ltima operao que
realizou em caso de falha.
21. O sistema deve fornecer facilidades para a realizao de backups dos arquivos do sistema.
Eficincia
22. O tempo de processamento de uma operao de consulta no deve exceder trs segundos
para uma quantidade inferior a 10 itens bibliogrficos.
23. O tempo de resposta para as operaes de insero, alterao e excluso no deve exceder
a trs segundos.
Portabilidade
24. O sistema deve rodar em microcomputadores da linha IBM PC que possuam
microprocessador 486 DX ou superior, memria RAM mnima de 8Mbytes e rodam sob
Windows95.
25. O sistema deve ser facilmente portvel para o UNIX.