Sie sind auf Seite 1von 17

UML

Trabalhos práticos

1. Sistema de Gestão de Bibliotecas


Suponha que se pretende projectar um Sistema de Gestão de Bibliotecas (SGB), de
acordo com os seguintes requisitos:

O SGB suporta a actividade de uma biblioteca.

Uma biblioteca empresta livros e revistas a leitores. Livros, revistas, leitores e


empréstimos são registados no sistema. Por omissão, os livros e revistas podem
ser emprestados por prazos máximos de 30 dias e 10 dias respectivamente.

Uma biblioteca adquire regularmente novos títulos e dos títulos mais procurados
são comprados vários exemplares. Livros e revistas antigas são abatidos quando
se encontram em más condições.

Um leitor pode reservar (com um prazo de validade por ele fixado) um livro ou
revista que não está correntemente disponível na biblioteca, para ser notificado
quando o mesmo fica disponível (por devolução de um exemplar emprestado,
aquisição de um novo exemplar ou remoção de outra reserva). Após a notificação,
o leitor tem 2 dias úteis para levantar o livro ou revista. A reserva é removida
quando expira o prazo de validade fixado pelo leitor (antes da notificação), o
leitor levanta o livro ou revista (após a notificação), o leitor cancela a reserva
(antes ou depois da notificação) ou expira o prazo de levantamento (2 dias úteis
após a notificação).

O bibliotecário é um empregado da biblioteca que interage com os clientes


(leitores) e cujo trabalho é suportado pelo sistema. O bibliotecário pode
facilmente criar, actualizar e eliminar informação sobre títulos, leitores,
empréstimos e reservas no sistema.

Um leitor pode interagir directamente com o sistema para pesquisar livros e


revistas por título, autor, etc., mas não para efectuar reservas ou tratar de
empréstimos.

O sistema pode correr em qualquer ambiente popular (Unix e Windows) e


apresenta um interface gráfico com o utilizador.

O sistema é facilmente extensível com novas funcionalidades.

1
UML
Trabalhos práticos

a) Modelize os requisitos funcionais deste sistema através de um diagrama de casos de


uso em UML.

b) Modelize os conceitos a tratar por este sistema através de um diagrama de classes


em UML.

c) Elabore um diagrama de sequência em UML relativo ao levantamento de livros ou


revistas previamente reservados, incluindo no diagrama objectos externos ao sistema
(bibliotecário e leitor) e objectos internos ao sistema (objectos da base de dados e
formulário de interacção com o bibliotecário). Suponha que esse levantamento se
processa da seguinte forma:
 o leitor apresenta o seu cartão ao bibliotecário;
 o bibliotecário introduz o número do leitor no formulário;
 o sistema apresenta no mesmo formulário a lista de reservas desse leitor, com
o título do livro ou revista a que se refere cada reserva, a data de validade da
reserva e uma indicação de “disponível” ou “indisponível”;
 para cada reserva com indicação de “disponível”, o bibliotecário pergunta ao
leitor se pretende levantar o livro ou revista ou se pretende cancelar a reserva
(caso em que o bibliotecário pressiona um botão para eliminar a reserva);
 para cada reserva com indicação de “indisponível”, o bibliotecário pergunta ao
leitor se pretende manter a reserva como está, alterar o prazo de validade (caso
em que o bibliotecário altera o campo respectivo no formulário) ou cancelar a
reserva (caso em que o bibliotecário pressiona um botão para eliminar a
reserva);
 o bibliotecário pressiona um botão de “validar”;
 o sistema imprime, em duplicado, uma ficha de empréstimo com os dados do
leitor, a data actual, e a lista de exemplares a emprestar, com o título, nº de
inventário e localização de cada exemplar;
 o bibliotecário recolhe os vários exemplares das estantes;
 o bibliotecário e o leitor assinam a ficha de empréstimo em duplicado;
 o bibliotecário entrega ao leitor os exemplares e o original da ficha de
empréstimo.

d) Elabore o diagrama de colaboração equivalente ao diagrama de sequência da alínea


anterior.

e) Modelize o ciclo de vida de uma Reserva através de um diagrama de estados em


UML.

2
UML
Trabalhos práticos

2. Sistema de Gestão de Consultas Médicas


Suponha que se pretende projectar um Sistema de Gestão de Consultas Médicas numa
Unidade de Saúde, suportando as seguintes actividades:

definição dos tipos de consultas disponíveis


 o director da Unidade define os tipos de consultas disponíveis e, para cada tipo
de consulta, o horário das consultas (exemplo: 2ªs a 6ªs das 9 às 12 horas), as
salas em que decorrem as consultas, o intervalo de tempo entre consultas para
efeito da sua marcação e os médicos que podem realizar consultas desse tipo;

registo de pessoal
 o responsável pelo pessoal da Unidade regista os dados dos médicos e
funcionários da Unidade: nome, nº mecanográfico, função e habilitações;

registo de doentes
 no momento da marcação da 1ª consulta, o funcionário do atendimento ou
médico que marca a consulta regista também os dados do doente: nº de
beneficiário e sistema de saúde (em conjunto, identificam o doente), nome,
sexo, data de nascimento, morada e telefone;
 a morada e o telefone podem ser actualizados posteriormente;
 quando a Unidade de Saúde toma conhecimento do falecimento de um doente,
regista a data e a causa (se for conhecida) do falecimento, e anula as consultas
marcadas para esse doente; os dados do doente são mantidos para efeito de
análise estatística;

marcação de consultas
 um funcionário do atendimento ou médico da Unidade marca uma consulta na
agenda, com a identificação do tipo de consulta, identificação do doente a que
se destina a consulta, motivo da consulta, data e hora da consulta, data da
marcação e identificação do funcionário ou médico que marca a consulta
(estes dois últimos dados podem ser preenchidos automaticamente pelo
sistema);
 por iniciativa do doente, ou da Unidade, as consultas podem ser anuladas ou
adiadas; deve ficar registada a data da anulação ou adiamento, o motivo e a
nova data e hora da consulta (no caso de adiamento); interessa manter um
histórico de todos os adiamentos de uma consulta;

realização de consultas
 no dia e hora marcados, o doente deve apresentar-se na secretaria; se
comparecer com mais do que 30 minutos de atraso, não há nenhuma garantia
de que seja atendido (se não poder ser atendido, considera-se que faltou);

3
UML
Trabalhos práticos

 o médico que realiza a consulta regista os seguintes dados médicos: queixas


do doente, resumo do exame clínico, resumo do diagnóstico e tratamentos
prescritos; o médico pode consultar todos os dados do doente, incluindo
consultas anteriormente realizadas e consultas marcadas; o médico pode
também marcar novas consultas;

análises estatísticas
 o director da Unidade está interessado em obter várias estatísticas do
desempenho da Unidade: número de primeiras e segundas consultas realizadas
por mês, tempo médio de espera por uma consulta, etc.

a) Elabore um diagrama de casos de uso em UML relativo a este sistema de software.

b) Elabore um diagrama de classes em UML relativo à base de dados deste sistema de


software.

c) Elabore os diagramas de sequência e de colaboração relativos à Realização de uma


Consulta, incluindo objectos externos ao sistema de software (doente, funcionário do
atendimento e médico) e objectos internos ao sistema de software (de acordo com o
diagrama de classes).

d) Elabore um diagrama de estados em UML relativo a uma Consulta, desde a sua


marcação até à sua realização, anulação ou não realização (por falta ou atraso do
doente).

4
UML
Trabalhos práticos

3. Empresa de catering
Uma empresa de catering decidiu informatizar a sua actividade, desenvolvendo todo o
software necessário (recorrendo a uma empresa externa).

A empresa faz serviços de banquetes para casamentos, baptizados e jantares/almoços de


empresas.

Para cada serviço que presta, a empresa tem que contratar empregados para servir,
sendo o número de empregados directamente proporcional ao número de pessoas a
servir. Estes empregados existem já em carteira, sendo contactados sempre que
necessário.

Como ajuda ao processo de contratação, a empresa mantém uma bolsa de emprego,


suportada pelos curriculum vitae de todos os candidatos. Qualquer pessoa pode
inscrever-se na bolsa, através da pagina da Internet, ou enviando a documentação pela
Internet.

Para cada empregado é necessário saber qual a função que normalmente desempenha:
cozinheiro, empregado de mesa, chefe de sala, etc.

Em cada serviço deverá ser conhecido o tipo de serviço, o número de pessoas, a data e
hora do serviço.

Ao contratar um serviço é apresentado ao cliente um conjunto de pratos e bebidas, de


onde deverão ser escolhidos os que serão servidos. Para cada um destes pratos é
conhecido o seu custo unitário e o número de pessoas a quem poderá ser servido. (por
exemplo, um bolo de chocolate custa 7.5€ e pode ser servido a 15 pessoas.) Desta forma
será possível orçamentar o serviço a prestar.

A empresa recorre aos serviços de várias empresas externas que fornecem produtos, ou
artigos confeccionados, como bolos e outras sobremesas

De entre os artigos fornecidos incluem-se os produtos utilizados na confecção de


alimentos a servir, pelo que cada prato confeccionado deve incluir a lista e proporções
dos componentes (por exemplo, um bolo para 10 pessoas pode consumir 500g de
farinha, 6 ovos, 250g de manteiga.)

5
UML
Trabalhos práticos

Como apoio a esta actividade, a empresa pode, juntamente com o serviço de catering,
fornecer serviços acessórios, como carro para noivos, bandas de música, fogo de
artifício, etc. Alguns destes serviços são contratados a terceiros, mas alguns são
realizados por funcionários da empresa, devendo para cada um destes serviços ser
indicado os elementos que os podem realizar.

a) Elabore um diagrama de casos de uso em UML relativo a este sistema de software.

b)Represente o diagrama de classes do modelo de negócio do problema assumindo o


papel do analista.

c) Elabore os diagramas de sequência e de colaboração relativos à Realização de um


novo contrato, e consequente prestação e recebimento do serviço

d) Elabore um diagrama de estados em UML relativo a um Contrato de prestação de


serviços, que inclua todo o ciclo de vida.

6
UML
Trabalhos práticos

4. Gestão de Agendas de recursos


Pretende-se projectar um sistema de software para a gestão da agenda de recursos
(pessoas, salas, equipamentos, etc.) de uma organização, capaz de controlar a marcação
de compromissos com base em disponibilidades previamente declaradas.

A agenda de um qualquer recurso (pessoa, sala, equipamento, etc.) da organização, tem


elementos de dois tipos:
 compromissos marcados;
 blocos de tempo em que o recurso está disponível (para a marcação de
compromissos de certos tipos).

Os blocos de tempo de disponibilidade aparecem como manchas na agenda.

Tanto os compromissos como as disponibilidades podem ser periódicos (exemplo de


compromisso periódico: uma aula; exemplo de disponibilidade periódica: uma manhã
para atendimento de alunos). No limite, um recurso pode estar permanentemente
disponível (exemplo: uma sala).

Um compromisso pode referir-se a um grupo de recursos. Por exemplo um anfiteatro


pode ser considerado como um grupo que inclui uma sala e um projector de vídeo.

Para cada pessoa (recurso humano) da organização, interessa especificar as agendas a


que tem acesso, o modo de acesso (só consulta ou também alteração) e os tipos de
compromissos a que tem acesso.

Dependendo do tipo de compromisso e do recurso, o tempo ocupado por um


compromisso pode ser fixo ou variável.

Cada agenda tem implicitamente um dono, que é o recurso a que a agenda se refere. Um
compromisso só pode ser marcado na agenda de um recurso sobre uma mancha de
disponibilidade, excepto quando o compromisso é marcado pelo dono da agenda.

Deve ser possível inserir e alterar elementos (disponibilidades e marcações)


directamente sobre a agenda, ou aceder às suas folhas de propriedades.

a) Apresente o diagrama de casos de usos do sistema apresentado, identificado de


forma detalhada os actores que poderão existir.

7
UML
Trabalhos práticos

b) Apresente o diagrama de classes de uma potencial base de dados de suporte ao


sistema.

c) Apresente os diagramas de colaboração e de sequência do processo de criação e


configuração de um novo recurso.

d) Apresente o diagrama de estados detalhado de um Compromisso, considerando


todos os estados possíveis, incluindo situações de incompatibilidade ou de dependência
face a compromissos com duração variável.

8
UML
Trabalhos práticos

5. Clube de Vídeo
Uma empresa de desenvolvimento de software pretende desenvolver uma aplicação para
gestão de clubes de vídeo.

O clube de vídeo poderá ter várias cópias do mesmo filme. É importante que cada cópia
possa ser univocamente identificada para que os sócios possam ser responsabilizados
por quaisquer danos.

Para ajudar a pesquisa de filmes, para além do titulo do filme, do ano e do realizador,
deve-se guardar a informação dos actores principais do filme. Poderão ser realizadas
pesquisas por realizador, ou actores. Esta informação deverá estar guardada de forma a
facilitar a pesquisa.

O sistema deverá poder ligar-se a bases de dados especializadas na Internet, para


actualização automática da informação.

Para uma pessoa passar a ser sócia do clube, terá que fazer a inscrição, onde fornece os
seus dados pessoais (nome, morada, telefone, BI). Um antigo sócio pode ter referido o
novo sócio, assim, aquando da inscrição do novo sócio, o antigo deverá ser referido.

Ao realizar um aluguer, o utente pode alugar várias cópias de filmes diferentes, não
tendo forçosamente que os entregar todos ao mesmo tempo, mas deverá entregar a
totalidade de cópias em sua posse, antes que possa fazer novos alugueres.

O aluguer é feito por um período limitado, indicado na data do aluguer. Se esse período
for ultrapassado, o sócio terá que pagar uma multa. Toda esta informação – os alugueres
realizados, os filmes alugados, as multas pagas – terá que ficar registada na base de
dados, de forma permanente para cada cliente.

Os alugueres são realizados um funcionário, para o qual dispomos da informação dos


seus dados pessoais (nome, morada, telefone, BI).

Como forma de rentabilizar o clube, poderão ser vendidos artigos na loja, como jogos
de vídeo, DVDs, CDs, chocolates, gelados, ou qualquer outro artigo.

O sistema deve por isso suportar vendas a dinheiro e facturação dos produtos vendidos,
assim como a gestão de stocks e encomendas a fornecedores.

A gestão de stocks deve contemplar um stock mínimo para cada produto, para fazer face
a diferentes períodos médios de entrega de diferentes fornecedores.

9
UML
Trabalhos práticos

a) Apresente o diagrama de casos de usos do sistema apresentado, identificado de


forma detalhada os actores que poderão existir.

b) Apresente o diagrama de classes de uma potencial base de dados de suporte ao


sistema.

c) Apresente os diagramas de colaboração e de sequência do processo de aluguer de


três filmes, em que a entrega se faz de forma faseada, com pelo menos uma delas fora
de prazo, obrigando ao pagamento de multa.

d) Apresente o diagrama de estados detalhado da classe que representa as Cópias de


filme, cobrindo todo o ciclo de vida, desde a encomenda ao distribuidor, até que o filme
é retirado de circulação, ou por degradação da copia, ou por não ser mais interessante
para aluguer.

10
UML
Trabalhos práticos

6. Aplicação de helpdesk para Telecom


Pretende-se uma aplicação informática para suporte de actividades de apoio a clientes e
helpdesk, de empresas de telecomunicações.

A aplicação deve permitir realizar as duas actividades mais importantes de uma linha de
apoio a clientes: as informações sobre produtos e resolução de problemas.

Para que o operador possa ajudar e informar os potenciais clientes acerca dos vários
produtos disponíveis, o sistema deve manter informação detalhada de todos os produtos,
sejam eles tarifários, planos de preços ou equipamentos.

Cada tarifário deve incluir os valores por minutos para os diversos destinos, indicando
os preços em cada período de facturação (dia, noite e fim de semana). Como os períodos
de facturação poderão ser diferentes nos vários tarifários é necessário definir os vários
períodos. É ainda necessário indicar as várias opções de pagamento, cartões pré-pagos,
pacotes de minutos, ou contrato mensal. Para cada uma das variantes é necessário
indicar os vários detalhes.

Para cada tarifário é necessário indicar as várias promoções, indicando os períodos de


validade de cada uma. As promoções podem incluir oferta de minutos, ou valores em
chamadas, ou alteração (temporária) de valores de tarifário (exemplo: chamadas
gratuitas para a mesma rede após as 22h)

A venda de equipamentos é também um aspecto importante, devendo ser possível ter


um acesso simples a toda a lista de ofertas actuais. Dado que cada terminal pode ser
vendido incluído em pacotes, ou através do serviço de pontos, o sistema deve incluir as
várias opções de pacotes e os custos em dinheiro + pontos de cada opção. Para os
equipamentos deve poder ser definido promoções, indicando os períodos de vigência, e
os custos (€€€ + pontos) promocionais.

No que diz respeito à resolução de problemas, o sistema deve manter um historial de


contactos de cada cliente, incluindo os vários cartões ou equipamentos de que este é
titular, e o tarifário actual de cada cartão. Para cada contacto deve ser guardado o
funcionário que tratou o pedido e a razão principal do contacto.

Dado que nem todos os contactos do cliente dão origem a um processo que fique
imediatamente concluído durante a chamada, o sistema deve permitir manter pedidos
pendentes que aguardam resposta de outro departamento, ou que estão ainda em
resolução. Cada processo pendente deve incluir informação de todos os contactos do
cliente e de todos os funcionários responsáveis pelo atendimento.

11
UML
Trabalhos práticos

Qualquer atendimento deve obedecer a um conjunto de procedimentos de atendimento


segundo um mecanismo de triagem suportado pela aplicação. Assim, para o processo de
triagem, a aplicação propõe um conjunto de questões, que de acordo com as respostas
fornecidas pelo cliente, permitem fornecer um apoio ao cliente mais preciso. O sistema
deve ser flexível neste aspecto, permitindo um encadeamento complexo de múltiplas
perguntas-respostas.

a) Apresente o diagrama de casos de uso do sistema apresentado, identificado de


forma detalhada os actores que poderão existir.

b) Apresente o diagrama de classes de uma potencial base de dados de suporte ao


sistema.

c) Apresente o diagrama de colaboração e de sequência do processo de Atendimento


de uma chamada.

d) Apresente o diagrama de estados detalhado da classe das Reclamações,


considerando todos os estados possíveis.

12
UML
Trabalhos práticos

7. Empresa de Bricolage
A BricoLar é uma empresa especializada em venda de artigos para bricolage. Os artigos
que vende vão do simples parafuso, aos artigos de construção, passando pelas ferragens,
ferramentas, tintas, e outros.

A BricoLar tem várias lojas espalhadas pelo país, que são servidas por um conjunto
menor de armazéns.

Devido ao crescimento do seu negócio a BricoLar pretende adquirir um sistema de


informação que permita gerir o seu negócio.

A firma tem, para cada cliente, uma ficha na qual representa a informação do cliente: o
seu nome, morada, código postal, telefone e número de contribuinte.

Os clientes são classificados em vários tipos, de acordo com o volume de negócio que
efectuam (VIP, grande cliente, pequeno cliente).

Para os fornecedores ficou decidido guardar a informação habitual de uma pessoa: o seu
nome, morada, código postal, telefone e numero de contribuinte. Adicionalmente,
convém incluir na ficha de fornecedor, a sua área de especialidade (Tintas, Materiais de
Construção, Ferragens, Ferramentas,...).

De forma semelhante, os funcionários têm a informação habitual de uma pessoa: nome,


morada, código postal, telefone, nº contribuinte, salário, categoria (Chefe de secção,
Gerente de loja, Contratado, Caixa, ...) e especialidade (Tintas, Materiais de Construção,
Ferragens, Ferramentas,...).

Todos os artigos vendidos na loja estão carregados na BD. Dos artigos importa guardar
o preço de compra, o preço de venda, a unidade de representação do artigo (cm, m, l,
Kg, Unidades) e qual o fornecedor.

Todas as vendas efectuadas deverão ser facturadas ao cliente. A factura deverá indicar
no cabeçalho, para além da informação da BricoLar, os dados do cliente, o funcionário
que efectuou a venda, a data de emissão, e o número da factura. O descritivo da factura
deve indicar a lista de artigos adquiridos, com as respectivas quantidades, valores
unitários, e unidade de representação.

13
UML
Trabalhos práticos

Para as promoções, deve ser possível definir, para todos os artigos, preços
promocionais, temporários, com período de validade. Algumas promoções podem
definir novos artigos por agregação de outros (por exemplo: um kit de pintura que inclui
uma lata de diluente, um trincha, um pincel e um rolo).

O módulo de gestão de stocks deve distinguir os vários armazéns e lojas onde pode
existir produto indicando, para o caso das lojas, os artigos na prateleira e no armazém
(da loja).

Dado que poderão existir diferentes tempos de fornecimento para cada produto, deverão
ser indicados o tempo médio de entrega, de cada artigo, por fornecedor. Poderá existir
mais do que um fornecedor para um mesmo produto.

Como os artigos são comprados por “grosso” aos fornecedores, deve ser indicado o
número de unidades e a forma de entrega (Palete, Caixa, Granel) de cada artigo.

a) Apresente o diagrama de casos de usos do sistema apresentado, identificado de


forma detalhada os actores que poderão existir.

b) Apresente o diagrama de classes de uma potencial base de dados de suporte ao


sistema.

c) Apresente o diagrama de colaboração e de sequência do processo de atendimento


de contratação de uma nova encomenda que inclua a negociação com vários
fornecedores

d) Apresente o diagrama de estados detalhado da classe das Encomendas,


considerando todos os estados possíveis.

14
UML
Trabalhos práticos

8. Sistema de Controlo de Versões


Suponha que se pretende projectar um Sistema de Controlo de Versões (SCV) de código
fonte, de acordo com os seguintes requisitos:

O SCV ajuda a gerir projectos de software, guardando numa base de dados interna
as várias versões dos ficheiros do projecto, sobretudo ficheiros de texto com
código fonte, mas também ficheiros doutros tipos (de texto ou binários). Quando
se salva uma nova versão de um ficheiro no SCV, este guarda a nova versão do
ficheiro e as alterações em relação à versão anterior, permitindo recuperar uma
versão antiga do ficheiro a qualquer momento.

Aquando da instalação do SCV, é criada automaticamente uma base de dados por


omissão, mas o administrador do SCV pode a qualquer momento criar novas base
de dados, tendo apenas que indicar um nome e uma localização em disco para
cada base de dados criada.

Compete ao administrador do SCV registar os utilizadores com acesso a cada base


de dados, atribuindo um login, password e privilégio de acesso (leitura e escrita
ou só leitura) a cada utilizador.

Para controlar ficheiros com o SCV, um utilizador tem primeiro de criar um


projecto no SCV, dentro de uma base de dados a que tenha acesso com privilégio
de escrita.

O SCV suporta uma estrutura hierárquica de projectos dentro de cada base de


dados (raiz da hierarquia), podendo um projecto conter sub-projectos. Assim, para
criar um projecto, o utilizador deve dar um nome ao projecto, indicar uma
localização na hierarquia de projectos (directamente debaixo da raiz ou debaixo
doutro projecto) e indicar uma pasta de trabalho (directório) em disco para efeito
de edição dos ficheiros do projecto.

Tendo criado um projecto no SCV, o utilizador pode então adicionar ao projecto


ficheiros previamente criados na pasta de trabalho correspondente ao projecto.

Quando se adiciona um ficheiro a um projecto no SCV, este copia o ficheiro da


pasta de trabalho para a base de dados interna, atribui um número interno de 1ª
versão ao ficheiro, regista o login e a data-hora da 1ª versão e determina
automaticamente o tipo do ficheiro (texto ou binário).

15
UML
Trabalhos práticos

Para produzir uma nova versão de um ficheiro controlado com o SCV, o utilizador
deve primeiro fazer check out do ficheiro. Nesse momento, o SCV copia a última
versão do ficheiro da base de dados interna para a pasta de trabalho do projecto,
muda o estado do ficheiro para checked out e regista o login do utilizador.
Enquanto um ficheiro está checked out, mais ninguém pode fazer check out do
mesmo ficheiro. Terminadas as alterações, o utilizador deve fazer check in do
ficheiro. Nesse momento, o SCV copia a nova versão do ficheiro da pasta de
trabalho para a base de dados (após determinar e guardar as diferenças entre as
duas versões), incrementa o número interno de versão e regista o login e a data-
hora da nova versão. Quando se faz check in, o ficheiro pode permanecer ou não
checked out.

A qualquer momento (normalmente quando se atinge um marco significativo no


desenvolvimento), um utilizador com privilégio de escrita pode atribuir um label à
versão actual de todos os ficheiros de um projecto (normalmente será um número
de versão com significado para o utilizador).

A qualquer momento, o utilizador pode obter uma cópia para leitura da última
versão de um ficheiro guardado no SCV.

O SCV permite ao utilizador visualizar a história de versões de qualquer ficheiro,


com o número interno de versão, login, data-hora e label de cada versão, e obter
uma cópia para leitura de qualquer versão antiga.

O SCV permite ao utilizador visualizar as diferenças (linhas inseridas, eliminadas


ou modificadas) entre duas versões de um ficheiro de texto, sejam elas duas
versões guardadas na base de dados interna ou a última versão guardada na base
de dados interna e a versão que se encontra actualmente na pasta de trabalho.

O SCV permite a um utilizador com privilégio de escrita repor uma versão antiga
de qualquer ficheiro, isto é, substituir a última versão por uma versão antiga.

a) Elabore um diagrama de casos de uso relativo a este sistema (SCV).

b) Elabore um diagrama de classes relativo aos objectos manipulados por este sistema
(SCV), com atributos, relações entre classes e operações.

16
UML
Trabalhos práticos

c) Descreva, na forma de um diagrama de sequência em UML, uma sequência de


utilização do SCV que demonstre o seu modo de funcionamento e potencialidades,
cobrindo a criação de uma base de dados, o registo de um utilizador, a criação de um
projecto, a adição de um ficheiro de texto ao projecto, a criação de uma nova versão do
ficheiro, a visualização da história de versões do ficheiro e a visualização das diferenças
entre a primeira versão e a nova versão.

d) Elabore o diagrama de colaboração equivalente ao diagrama de sequência da alínea


anterior.

e) Descreva, através de um diagrama de estados em UML, os estados em que se pode


encontrar um Ficheiro controlado pelo SCV, as transições de estado possíveis e os
eventos que causam essas transições.

17

Das könnte Ihnen auch gefallen