• Nenhum resultado encontrado

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o."

Copied!
7
0
0

Texto

(1)

CURSO: Ciência da Computação DATA: ____/____/ 2013

PERÍODO: 4o. PROFESSOR: Andrey

DISCIPLINA: Técnicas Alternativas de Programação AULA: 08

APRESENTAÇÃO

Na aula de hoje vamos apresentar e discutir como definir comportamento do sistema, definir casos de uso e atores, utilizar o diagrama de casos de uso para mostrar os atores, os casos de uso e suas interações

DESENVOLVIMENTO

Comportamento do Sistema

O comportamento do sistema em desenvolvimento, que é o que funcionalmente deve ser fornecido pelo sistema, é documentado em um Modelo de Caso de Uso que ilustra as funções pretendidas do sistema (casos de uso), suas vizinhanças (atores) e relacionamentos entre os casos de uso e atores (diagramas de casos de uso). O papel mais importante de um modelo de caso de uso é o de comunicação. Ele provê um veículo usado pelo cliente ou usuários finais e os desenvolvedores, para discutir a funcionalidade e o comportamento do sistema.

O modelo de caso de uso é iniciado na Fase de Concepção com a identificação dos atores e casos de uso principais do sistema. O modelo é então amadurecido na Fase de Elaboração -informação mais detalhada é adicionada aos casos de uso identificados, e casos de uso adicionais são introduzidos à medida que forem necessários.

Atores

Atores não são parte do sistema - eles representam algo ou alguém que deve interagir com o sistema. Um ator pode:

• Somente fornecer informações para o sistema • Somente receber informações do sistema

• Fornecer e receber informações para e do sistema

Tipicamente, estes atores são encontrados na definição do problema e em conversas com clientes e especialistas no domínio do problema. As seguintes perguntas podem ser usadas para auxiliar na identificação dos atores de um sistema:

• Quem está interessado numa certa necessidade? • Onde na organização o sistema é usado?

• Quem se beneficiará do uso do sistema?

• Quem suprirá o sistema com esta informação, usará esta informação e removerá esta

informação?

• Quem dará o suporte e manterá o sistema? • O sistema usa um recurso externo?

• Uma pessoa desempenha diferentes papéis? • Várias pessoas desempenham o mesmo papel? • O sistema interage com um sistema legado?

(2)

fig 3.1 - notação UML para um Ator

O que constitui um bom ator?

Devemos tomar cuidado quando identificamos um ator para o sistema. Esta identificação é feita de uma maneira iterativa - a primeira lista de atores para um sistema raramente constitui a lista final. Por exemplo: um novo estudante é um ator diferente de um estudante que está retornando? Suponha que você inicialmente responda afirmativamente a esta questão. O próximo passo é identificar como o ator interage com o sistema. Se o novo estudante usa o sistema de forma diferente de um estudante que retorna, eles são atores diferentes. Se eles usam o sistema da mesma forma, eles são o mesmo ator.

Atores no Sistema de Matrícula - MATRI

Respondendo às perguntas anteriores, identificaremos diversos atores. Um deles é Professor.

Documentação de Atores

Uma breve descrição para cada ator deveria ser adicionada ao modelo. A descrição deveria identificar o papel que o ator desempenha na interação com o sistema. Exemplo:

Professor - uma pessoa que é certificada para lecionar na universidade

Casos de Uso

Casos de Uso modelam um diálogo entre um ator e o sistema. Eles representam a funcionalidade fornecida pelo sistema; isto é, que capacidades serão providas para o ator pelo sistema. A coleção de casos de uso para um sistema constitui todos os caminhos definidos nos quais o sistema pode ser usado. A definição formal para um caso de uso é:

• Um caso de uso é uma seqüência de transações executadas por um sistema, que produz um

resultado mensurável de valores para um ator em particular.

As seguintes perguntas devem ser usadas para auxiliar na identificação dos casos de uso para um sistema:

Quais são as tarefas de cada ator?

Algum ator criará, armazenará, mudará, removerá ou lerá informação do sistema?

Que casos de uso criarão, armazenarão, mudarão, removerão ou lerão esta informação?

Algum ator precisará informar o sistema a respeito de mudanças externas repentinas?

Algum ator necessita ser informado a respeito de certas ocorrências no sistema?

Que casos de uso suportarão ou manterão o sistema?

Todas as necessidades funcionais podem ser executadas pelos dos casos de uso?

Na UML, um caso de uso é representado como uma figura oval, como mostrado na Figura 3-1.

(3)

Ao longo dos anos tem havido muita discussão sobre o que é um bom caso de uso. Um problema freqüentemente encontrado é o nível de detalhe dos casos de uso. Isto é, quão grande (ou quão pequeno) ele deveria ser? Não há uma resposta certa. Uma boa regra aplicável é:

Um caso de uso tipicamente representa uma peça maior de funcionalidade que está completa do início ao fim. Um caso de uso deve fornecer algo de valor para um ator.

Outro problema é como empacotar funcionalidade que é diferente mas que aparentemente deveria permanecer junta. Por exemplo, a Secretaria deve incluir cursos, eliminar cursos e

modificar cursos. Três casos de uso ou um único? Aqui novamente, deveria ser feito um caso de uso - a manutenção de currículo, já que a funcionalidade é iniciada pelo mesmo ator (a

Secretaria) e trata com as mesmas entidades no sistema (o currículo).

DIAGRAMAS DE CASO DE USO

Um diagrama de caso de uso é uma visão gráfica de alguns ou todos os atores, casos de usos e seus relacionamentos identificados para um sistema. Cada sistema normalmente tem um

Diagrama de Caso de Uso principal, o qual é uma representação da fronteira do sistema (atores) e a maior funcionalidade fornecida pelo sistema (casos de uso). Outros diagramas de casos de uso podem ser criados quando necessário. Alguns exemplos são:

um diagrama que mostre todos os casos de uso para um ator selecionado;

um diagrama mostrando todos os casos de uso a serem implementados em uma "iteration" (iteração);

um diagrama mostrando um caso de uso e todos os seus relacionamentos com outros casos de uso e atores.

Exemplo de diagrama de casos de uso

Casos de Uso no Sistema Matrícula – MATRI

As seguintes necessidades devem ser tratadas pelo sistema:

O ator estudante precisa usar o sistema para registrar-se em cursos

Depois que o processo de seleção estiver completo, o sistema de Faturamento deve ser suprido com informações de fatura

(4)

O ator Professor precisa usar o sistema para selecionar os cursos para lecionar por um semestre e deve estar habilitado a receber uma lista de cursos do sistema

A Secretaria é responsável pela geração do catálogo de curso para um semestre e, pela manutenção de todas as informações a respeito do currículo, dos estudantes e dos professores.

Baseado nestas necessidades, diversos casos de usos podem ser identificados, como o "Matricula em um curso".

A Especificação de um caso de Uso

Cada caso de uso também é documentado com uma Especificação de Caso de Uso. Uma Especificação dos casos de uso é um documento que tem por objeto descrever o comportamento do casos de uso. Este comportamento é descrito basicamente através do fluxo principal de eventos. O fluxo de eventos para um caso de uso é uma descrição dos eventos necessários para atingir o comportamento esperado do caso de uso. O fluxo de eventos é escrito em termos do que o sistema deveria fazer, não como o sistema o faz. Isto é, é escrito na linguagem do domínio, não em termos de implementação. Especificação de Caso de Uso deveria incluir:

Quando e como o caso de uso inicia e termina

Que interação o caso de uso tem com os atores

Que dados são necessários para o caso de uso

A seqüência normal de eventos para o caso de uso

A Especificação de Caso de Uso é criada tipicamente na Fase de Elaboração numa maneira iterativa. Inicialmente, somente uma breve descrição dos passos necessários para executar o fluxo normal do caso de uso (isto é, que funcionalidade é fornecida pelo caso de uso) é escrita. À medida que a análise progride, os passos são preenchidos a fim de se adicionar mais detalhes. Finalmente, os fluxos de exceção são adicionados ao caso de uso.

Cada projeto deveria usar um template padrão para a criação da documentação do fluxo de eventos. É útil o seguinte template:

5.1Nome do Caso de Uso 5.2Breve descrição

5.3Fluxo de eventos 5.3.1Fluxo básico

5.3.1.1< Primeiro evento do fluxo básico> 5.3.1.2< Primeiro evento do fluxo básico> 5.3.2Fluxos alternativos

5.3.2.1< Primeiro fluxo alternativo> 5.3.2.2< Outro fluxo alternativo> 5.4Requisitos Especiais

5.4.1< primeiro requisito especial > 5.5Pré-condições

5.5.1< pré-condição um > 5.6Pós-condições

5.6.1< pós-condição um > 5.7Pontos de Extensão

Uma amostra do documento de Fluxo de Eventos para o Caso de Uso Selecionar Cursos para Lecionar segue.

(5)

Histórico de Revisões

Data Versão Descrição Autor

08/08/02 1.0 Andrey Ricardo Pimentel

6.1 Nome do Caso de Uso

Cadastrar Usuário

6.2 Breve descrição

Cadastra um usuário no sistema, com todos os dados, inclusive uma fotografia.

6.3 Fluxo de eventos 6.3.1Fluxo básico

6.3.1.1 O caso de uso começa quando o ator seleciona a opção cadastrar usuário. O sistema mostra a tela de cadastro de usuário com os seguintes campos em branco: “nome”,

"endereço", “RG”, “CPF”, “telefone”, “email”.

6.3.1.2 O ator preenche os campos e seleciona a opção cadastrar. O sistema mostra uma tela para fazer o upload da fotografia.

6.3.1.3 O ator indica o nome e o caminho do arquivo com a sua fotografia e seleciona importar. O sistema mostra uma tela com todos os dados e a fotografia do cliente.

6.3.1.4 O ator seleciona a opção cadastrar e o sistema cadastra o novo usuário, mostra uma mensagem de sucesso na operação e mostra a tela inicial do sistema.

6.3.2Fluxos alternativos 6.3.2.1< Primeiro fluxo alternativo>

Caso o ator não tenha preenchido um dos campos dos dados do usuário, o sistema avisa o erro e retorna para a tela de cadastro dos dados do usuário com os dados já preenchidos.

6.3.2.2< segundo fluxo alternativo>

Caso o usuário não importe um arquivo com a foto, o sistema mostra a tela de confirmação sem a fotografia e uma mensagem de aviso.

6.3.2.3< Terceiro fluxo alternativo>

Caso o ator tenha cadastrado um usuário com o mesmo CPF, o sistema avisa o erro e retorna para a tela de cadastro dos dados do usuário com os dados já preenchidos.

6.4 Requisitos Especiais

Não se aplica

6.5 Pré-condições

< pré-condição um >

O ator deve estar logado no sistema. Nenhum outro usuário com o mesmo CPF dever ter sido cadastrado.

6.6 Pós-condições

< pós-condição um >

Um usuário novo é cadastrado.

6.7 Pontos de Extensão

Não se aplica.

O PROBLEMA DA FOLHA DE PAGAMENTO

Como gerente de Informática das Organizações Tabajara, você foi incumbido de construir o novo sistema de folha de pagamento. As Organizações Tabajara precisam de um novo sistema para

(6)

gerar os cheques de pagamento baseado no número de horas trabalhadas e no total de vendas (para vendedores comissionados).

O novo sistema terá uma interface Web para permitir que os funcionários entrem com informações de ponto, pedidos, mudar preferências do funcionário (como modo de pagamento do salário), e criar vários relatórios. Por razões de segurança e auditoria, cada funcionário somente poderá acessar e editar seus próprios cartões ponto e pedidos.

O sistema irá armazenar informações sobre todos os funcionários da empresa (as Organizações Tabajara possuem mais de 5000 funcionários por todo o mundo). O sistema deve pagar a cada funcionário o valor correto, no dia correto, e da forma especificada pelo funcionário (ver abaixo as formas de pagamento possíveis). As Organizações Tabajara, por razões de custo, não querem substituir uma de suas bases de dados legadas, a base de gerenciamento de projetos, que contém informações sobre projetos e números de carga. O novo sistema deverá trabalhar com a base de gerenciamento de projetos, que é uma base DB2 rodando em um mainframe IBM. O sistema de folha de pagamentos irá acessar, mas não atualizar as informações na base de gerenciamento de projetos.

Alguns funcionários trabalham por hora. Eles preenchem e enviam seus cartões pontos com os dias e as horas trabalhadas em cada dia em cada projeto. Se alguém trabalhar mais que 8 horas diárias, as Organizações Tabajara pagarão ao funcionário 50% a mais para cada hora excedente. Funcionários horistas são pagos semanalmente.

Alguns funcionários são pagos com uma salário fixo. Mesmo assim eles preenchem e enviam seus cartões pontos com os dias e as horas trabalhadas em cada dia. Isto é para que o sistema possa manter um controle das horas trabalhadas. Estes funcionários são pagos no último dia de trabalho do mês.

Alguns funcionários também recebem uma comissão baseada em suas vendas. Eles envias seus pedidos com o dia e total da venda. A comissão é determinada para cada funcionário e pode ser de 10%, 15%, 25% ou 35%.

Uma das características mais pedidas do sistema é a de relatórios de funcionário. Os funcionários serão capazes de pesquisar o número de horas trabalhadas, horas em cada projeto, total anual recebido, férias, etc.

Os funcionários podem escolher sua própria forma de pagamento. Pode ser cheques enviados pelo correio, depósito em conta corrente da preferência do funcionário, ou pegar o cheque direto no caixa da empresa.

O administrador da folha de pagamento irá manter atualizadas as informações sobre o funcionário. Ele é responsável por adicionar novos funcionários, remover funcionários e alterar informações sobre funcionários, tais como nome, endereço e classificação (horista, comissionado ou assalariado), e também rodar os relatórios administrativos.

O administrador da folha de pagamento irá rodar a folha toda sexta-feira e no último dia de trabalho do mês. O sistema irá pagar os funcionários apropriados nestes dias. O sistema será informado pelo administrador da folha qual a data em que os empregados devem ser pagos e então o sistema irá gerar e registrar informações do pagamento.

ATIVIDADE

1. Baseando-se na descrição dos sistema de matrículas (MATRI), descrito acima, desenvolva as seguintes atividades: 1)Encontre os casos de uso, os atores, e os relacionamentos entre os casos de uso e atores (coloque tudo no diagrama de casos de uso); 2)Faça uma

(7)

breve descrição para os atores e os casos de uso que forem identificados (máximo 2 frases)

2. Baseando-se na descrição do sistema acima ou na descrição do seu trabalho de

conclusão de curso, desenvolva as seguintes atividades: 1)Encontre os atores e casos de uso e construa o diagrama de casos de uso. Escolha três dos caso de uso identificados e faça a especificação de cada um. Encontre os relacionamentos entre os caso de uso do sistema e coloque no diagrama.

BIBLIOGRAFIA BÁSICA

BEZERRA, E.. Princípios de Análise e Projeto de Sistemas com UML. Ed. Campus. 2003. BOOCH, G.; RUMBAUGH, J.; JACOBSON, I.. UML guia do usuário. Editora Campus. 2000. LARMAN, C.. Utilizando UML e Padrões. Editora Bookman. 2000.

JACOBSON, I.; BOOCH, G.; RUMBAUGH, J.. The Unified Software Development Process. Addison-Wesley. 1999.

Referências

Documentos relacionados

(tanto um sinal aleatório como um regular têm excesso de entropia nulo). É uma melhor medida do que vulgarmente se

E) CRIE NO SEU CADERNO UM TÍTULO PARA ESSA HISTÓRIA EM QUADRINHOS.. 3- QUE TAL JUNTAR AS SÍLABAS ABAIXO PARA FORMAR O NOME DE CINCO SUGESTÕES DE PRESENTE PARA O DIA

Está sempre ligada a um verbo da oração principal, sem auxílio de preposição, indicando o alvo sobre o qual recai a ação desse verbo. .. Ex: Quero

Já no grupo de teorias sociais e antropológicas, o autor ressalta que os condicionantes sociais, culturais e históricos do consumidor afetam o seu comportamento de

Mais uma vez, o aluno usará a atenção para realizar esta atividade e por fim, poderão colorir de modo que trabalhe diretamente com a coordenação motora fina... Nesta atividade

Os dados da observação poderiam ou não se adequar a um esquema conhecido do universo, mas a coisa mais importante, na opinião de Galileu, era aceitar os dados e construir a

Uma vez que a atenção é focada sobre as proposições de observação como formando a base segura alegada para a ciência, pode-se ver que, contrariamente à reivindicação

Em nosso espaço de coworking, localizado no Brooklin, você encontrá uma variedade de pensadores inovadores, focados em seus trabalhos e em metas para alcançar o sucesso.. Com