5UNIDADE 5Modelagem de casos de usoObjetivos de aprendizagem
Compreender a importncia da utilizao de casos de uso para identificao clara dos objetivos do usurio.
Entender o significado dos diferentes elementos existentes em um caso de uso.
Reconhecer meios para identificar atores e casos de uso.
Compreender o mecanismo de documentao e sua importncia na descrio dos casos de uso.
Sees de estudo
Seo 1 O que so casos de uso?
Seo 2 Como identificar os atores?
Seo 3 Relacionamentos entre casos de uso e atores
Seo 4 Identificando casos de uso
110
Universidade do Sul de Santa Catarina
Para incio de estudo
Nesta unidade, voc vai iniciar o estudo sobre os diagramas oferecidos na UML e suas representaes utilizadas na modelagem orientada a objetos.
Este estudo inicia com os casos de uso que representam o eixo central do modelo, pois descrevem a sequncia de interaes realizadas pelo sistema que visam prover algum valor mensurvel ao usurio do sistema. O caso de uso permite mapear o escopo do sistema facilitando a comunicao com o usurio do sistema e facilitando a gerncia do projeto.
Mas, para descrever o caso de uso, no suficiente concebermos apenas o diagrama de caso de uso, preciso entender todos os seus elementos e sua documentao.
Nesta unidade, voc vai iniciar seu processo de aprendizagem identificando e construindo os casos de uso necessrios para descrever essa viso do projeto.
Seo 1 O que so casos de uso?
Um sistema sempre interage com usurios, outros sistemas ou equipamentos. Todos eles esperam pelos resultados dessa interao que normalmente so previsveis ou pelo menos deveriam ser.
Um caso de uso procura documentar as aes necessrias, os comportamentos e as sequncias para que o resultado esperado pelo usurio ocorra. Ento voc pode dizer que modelo de casos de uso modela os requisitos funcionais do sistema.
Antes de iniciar a definio dos casos de uso, voc deve estar consciente dos requisitos funcionais e no funcionais necessrios ao sistema
111
Metodologias e Projetos de Software
Unidade 5
Como o caso de uso no especifica detalhes de implementao, voc vai, na verdade, pensar em como o sistema ser utilizado. Agora imagine a seguinte situao: voc realizar o projeto usando UML para uma pequena videolocadora. Nesse pequeno projeto, os requisitos funcionais listados so:
O gerente deseja cadastrar seu acervo de DVDs com informaes gerais sobre cada filme, como: nome do filme; durao; diretor; principais atores; gnero; idiomas disponveis.
fundamental que o atendente possa realizar o cadastro de clientes possibilitando o cadastro de endereo, telefone do cliente e trs possibilidades para digitao de nomes de pessoas autorizadas para retirar DVDs.
necessrio que o sistema permita o controle de entrega e recebimento dos DVDs.
O gerente deseja um relatrio estatstico dos DVDs mais locados
Deve ser possvel um relatrio de consulta dos DVDs em atraso.
Relatrio que apresente os 50 maiores clientes da locadora.
Agora tente identificar os casos de uso. Ento, quantos voc encontrou?
Voc pode listar os seguintes casos de uso:
Gerenciar cliente ser responsvel por cadastro, consulta, excluses e alteraes de dados cadastrais do cliente.
Gerenciar filmes ser responsvel por cadastro, consulta, excluses e alteraes de dados dos DVDs da videolocadora.
112
Universidade do Sul de Santa Catarina
Gerenciar locaes deve permitir o controle de entregas e recebimentos dos DVDs e clculo de multas, quando necessrio.
Gerenciar relatrios deve possibilitar a impresso dos relatrios estatsticos de locao, maiores clientes e controles de atraso de entrega.
Se voc representar graficamente os casos de uso, ter os mesmos representados por um crculo. Veja a figura 5.1.
Retome o exemplo da videolocadora. A figura 5.1 mostra trs casos de uso possveis para esse projeto.
Figura 5.1 Casos de uso de uma videolocadoraFonte: Elaborao da autora (2008).
O modelo de casos de uso composto por casos de uso, atores e relacionamentos.
O caso de uso descreve um conjunto de sequncias, cada um representando a interao entre atores com o prprio sistema. Esses comportamentos so funes em alto nvel que voc vai visualizar, especificar, construir e documentar tentando mostrar de forma clara o comportamento pretendido do sistema durante a anlise de requisitos.
Quando voc nomear o caso de uso, esse nome deve ser nico dentro do projeto, diferenciando-o dos demais casos de uso. Voc pode usar qualquer caractere textual no nome do caso de uso, mas evite o uso de dois-pontos. Procure utilizar expresses verbais ativas.
gerenciarcliente
gerenciarlocaes
gerenciarfilmes
113
Metodologias e Projetos de Software
Unidade 5
O que o diagrama de casos de uso?
Se um caso de uso sempre iniciado a partir do momento em que um ator envia sua mensagem (estmulo), o diagrama de casos de uso criado para visualizar os relacionamentos entre atores e casos de uso.
O diagrama de casos de uso pode ser utilizado para representar um caso de uso e seus relacionamentos, todos os casos de uso para um ator ou ainda todos os casos de uso a serem implementados em um ciclo de desenvolvimento.
A notao do diagrama faz uso de um boneco para identificar o ator, abaixo do boneco inserido o nome do ator cliente. A elipse identifica o caso de uso, o nome do caso de uso pode ser escrito no interior ou externo a elipse (caso de uso: gerenciar cliente). A linha reta indica o relacionamento de comunicao entre o ator e o caso de uso.
Figura 5.2 Caso de uso gerenciar clienteFonte: Elaborao da autora (2008).
Seo 2 Como identificar os atores?
Um ator representa um conjunto coerente de papis que os usurios de casos de uso desempenham quando interagem com esses casos de uso. Um ator pode representar um papel que um ser humano, um dispositivo de hardware ou at outro sistema que desempenha alguma interao com o sistema (BOOCH, 2000).
cliente
gerenciarcliente
114
Universidade do Sul de Santa Catarina
O ator troca informaes com o sistema, ele no faz parte do sistema apenas interage com ele. Um ator pode participar de vrios casos de uso.
Voc pode ter em seu sistema diferentes tipos de atores:
pessoas (professor, aluno, secretria, coordenador);
organizaes (empresa fornecedora, bancos, receita federal);
outros sistemas (mdulos que venham a interagir com seu sistema, como contas a pagar, credirio, estoque); e
equipamentos (coletor de dados, leitora de cdigo de barras, balanas).
Quando voc escolhe o nome do ator lembre-se de que ele representa um papel no sistema, nunca utilize nomes pessoais. Imagine: um indivduo pode representar o papel de funcionrio em alguns momentos e em outros pode representar o papel de gerente.
Nesse caso, nomes que representam o papel poderiam ser Gerente, Professor, Vendedor, Fornecedor.
Mas como identificar os atores do sistema?
Primeiro voc deve identificar quais as fontes de informao que sero processadas e quais os destinos das informaes geradas.
Sempre avalie quais os departamentos da empresa que sero afetados e que potencialmente podem ter atores que interagem com o sistema.
115
Metodologias e Projetos de Software
Unidade 5
Bezerra (2002) oferece algumas dicas na forma de perguntas que apoiam a descoberta dos atores do sistema:
Que rgos, empresas ou pessoas utilizaro o sistema?
Que outros sistemas iro se comunicar com o sistema a ser construdo?
Algum deve ser informado de alguma ocorrncia no sistema?
Quem est interessado em um certo requisito funcional do sistema?
Figura 5.3 Exemplos de atoresFonte: Elaborao da autora (2008).
Voc consegue listar os atores da videolocadora? Pense um pouco sobre o assunto.
Os possveis atores so:
o atendente;
o gerente;
o cliente.
cliente gerente leitora_cdigo_barras sistema_financeiro
Figura 5.4 Diagrama de atores da videolocadoraFonte: Elaborao da autora (2008).
ud Use Case Model
Atendente Gerente
Cliente
116
Universidade do Sul de Santa Catarina
S definir os atores no o suficiente, voc deve descrever caractersticas e responsabilidades desses atores. Caractersticas importantes podem ser cargos, funes, grau de escolaridade, permisses de acesso, frequncia de uso, conhecimento em informtica, conhecimento no processo do negcio.
Os atores podem ser divididos em primrios e secundrios, o ator primrio inicia a sequncia de aes de um caso de uso. J os atores secundrios supervisionam, operam, mantm ou auxiliam na utilizao do sistema.
Nro. Ator Descrio
1 Cliente
Definio indivduo que realiza locaes de DVDs na videolocadora.
Frequncia de uso dirio, semanal
Conhecimento em informtica relativo, alguns clientes possuem outros no
Conhecimento no processo sim, grande maioria possui uma noo clara do funcionamento do processo de locao de DVDs
Grau de escolaridade desde fundamental a ps-graduao
Permisses de acesso deve ser disponibilizado ao cliente a consulta ao acervo.
2 Gerente
Definio funcionrio da videolocadora responsvel por operaes de abertura, fechamento, controle de funcionrio, controle de compras e pagamentos da videolocadora.
Frequncia de uso dirio
Conhecimento em informtica aplicativos Word, Browsers, Windows XP
Conhecimento no processo domina todo o processo do negcio
Grau de escolaridade graduao
Permisses de acesso ter acesso a todas as funcionalidades do sistema
Quadro 5.1 - Exemplo de descrio de atores Fonte: Elaborao da autora (2008).
A descrio detalhada do ator ajuda na definio de perfis que influenciam no projeto da interface.
117
Metodologias e Projetos de Software
Unidade 5
Seo 3 Relacionamentos entre casos de uso e atores
Para que um caso de uso seja executado, necessria a existncia de atores que interajam com o caso de uso. Essa interao ocorre por meio dos relacionamentos de comunicao, incluso, extenso e generalizao.
O que relacionamento de comunicao?
Quando se usa um relacionamento de comunicao, voc estar representando quais atores esto associados a um caso de uso. Isso significa que o ator vai interagir trocando informaes com o caso de uso. o relacionamento mais comum onde ocorre troca de informaes.
Figura 5.5 Exemplo de relacionamento de comunicao Fonte: Elaborao da autora (2008).
O ator cliente oferece informaes ao caso de uso como nome e ttulo do filme que deseja, j o ator atendente oferece ao caso informaes como o cdigo.
Agora observe o diagrama geral de casos de uso a partir dos requisitos funcionais apontados na seo 1.
O diagrama geral apresenta de forma genrica os casos de uso solicitados sendo que todo o relacionamento existente de comunicao.
cliente atendente
gerenciar filmes
118
Universidade do Sul de Santa Catarina
cd locadora
Gerenciar lmes
Gerenciar cliente
Gerenciar Locaes
Gerenciar Relatrios
Atendente
Cliente
Gerente
Realizar cobrana
Figura 5.6 Diagrama de casos de uso da videolocadora Fonte: Elaborao da autora (2008).
O que relacionamento de extenso?
Os casos de uso possuem na maioria das vezes um fluxo principal e vrios fluxos alternativos. Os casos de uso secundrios so muitas vezes inseridos no caso de uso por meio do relacionamento de extenso.
O relacionamento de extenso deve ser usado para representar:
um comportamento opcional;
119
Metodologias e Projetos de Software
Unidade 5
um comportamento que s ocorre sob certas condies (alarmes, por exemplo);
em fluxos alternativos dependentes da escolha de um ator.
Para entender melhor, considere a seguinte situao:
Quando o ator decide executar o caso de uso extensor, ele executa e aps sua execuo retorna ao caso de uso estendido.
Voc pode comparar um caso de uso extensor a uma funo que voc desenvolve em um algoritmo de programao.
Veja a seguinte situao:
Em nosso estudo de caso da videolocadora, o contratante do projeto deseja a insero no cadastro do cliente das preferncias do cliente, por exemplo, as preferncias do cliente a respeito do tipo de filme (comdia, romance, fico etc.), diretores, atores.
Para voc inserir esta funcionalidade na modelagem dos casos de uso segue o seguinte raciocnio:
O caso de uso gerenciar cliente vai descrever a sequncia de interaes para inserir os dados cadastrais do cliente.
Normalmente o cliente informa apenas as informaes cadastrais e salva seus dados, esse ento o fluxo normal de interaes.
MAS caso o cliente deseje, ele pode ainda inserir informaes sobre as suas preferncias relacionadas aos filmes.
Esta possibilidade de inserir preferncias opcional e depende da solicitao do usurio, ento pode ser definido como um caso de uso estendido.
Veja como esse relacionamento representado :
Figura 5.7 Relacionamento de extenso Fonte: Elaborao da autora (2008).
cliente gerenciar cliente
inserirpreferncias
120
Universidade do Sul de Santa Catarina
O diagrama geral de casos de uso atualizado seria ento:
cd locadora
Gerenciar lmes
Gerenciar cliente
Gerenciar Locaes
Gerenciar Relatrios
Atendente
Cliente
Gerente
Realizar cobrana
Inserir Preferncias
extend
Figura 5.8 Diagrama de casos de uso da videolocadoraFonte: Elaborao da autora (2008).
Utilize a extenso somente quando um comportamento opcional de um caso de uso precisar ser descrito.
O que o relacionamento de generalizao?
Quando voc faz uso da generalizao significa que um caso de uso ou um ator herda caractersticas de um caso de uso ou um ator mais genrico.
121
Metodologias e Projetos de Software
Unidade 5
Nesses casos existem caractersticas comuns que podem ser compartilhadas, um relacionamento entre um elemento geral e um outro mais especfico. Nesse caso, o elemento mais especfico possui todas as caractersticas do elemento geral e alm destas contm ainda mais particularidades.
Figura 5.9 Herana entre atoresFonte: Elaborao da autora (2008).
Na generalizao entre atores, como na figura acima, o ator gerente herda todos os casos de uso do ator atendente.
O ator atendente pode realizar os casos de uso gerenciar filmes, gerenciar cliente e gerenciar locaes . O ator gerente herda todos esses casos de uso (pode realizar gerenciar filmes, cliente e locaes), mas alm destes, o ator gerente pode realizar o caso de uso gerenciar relatrios (que so especficos para esse ator).
Se a generalizao for entre casos de uso, ento podemos ter uma situao como a da figura 5.10.
Imagine uma funcionalidade no sistema da videolocadora onde ser controlada a cobrana de clientes que sejam devedores, a cobrana pode ser realizada pessoalmente ou por telefone.
Nessa situao, o caso de uso Pessoalmente e Telefone, herda o comportamento do caso de uso realizar Cobrana, ou seja, alm de herdar comportamentos bsicos do caso realizar Cobrana, os dois casos possuem tambm fluxos de interaes especficas para cada um deles.
122
Universidade do Sul de Santa Catarina
Figura 5.10 Herana entre casos de usoFonte: Elaborao da autora (2008).
O diagrama geral de casos de uso atualizado seria ento:
cd locadora
Gerenciar lmes
Gerenciar cliente
Gerenciar Locaes
Gerenciar Relatrios
Atendente
Cliente
Gerente
Realizar cobrana
telefonepessoalmente
Inserir Preferncias
extend
alizar cobranaalizar cobrana
ReRe
Figura 5.11 Diagrama de casos de uso de videolocadoraFonte: Elaborao da autora (2008).
123
Metodologias e Projetos de Software
Unidade 5
O que relacionamento de incluso?
O caso de uso A inclui o caso de uso B quando representa uma atividade complexa e comum a vrios casos de uso (PDUA, 2001). Esse relacionamento s possvel entre casos de uso.
Em outras palavras, o caso de uso pode ser includo quando a sequncia de interaes dele ocorre em mais de um caso de uso.
Ainda pensando no sistema da videolocadora observa-se que apenas o gerente tem acesso a cobrana e aos relatrios do futuro sistema. Para obter o acesso seguro, o sistema deve apresentar uma funcionalidade que permita o controle do acesso por meio da autenticao do usurio no sistema. Essa autenticao ser realizada para todos os casos de uso, verificando se o acesso est sendo realizado por um usurio credenciado a usar a funo no sistema.
Nessa situao, todos os casos de uso faro uso do caso de uso Autenticao, sendo um caso tpico de incluso, pois o mesmo caso de uso est relacionado a vrios casos de uso.
124
Universidade do Sul de Santa Catarina
cd locadora
Gerenciar lmes
Gerenciar cliente
Gerenciar Locaes
Gerenciar Relatrios
Atendente
Cliente
Gerente
Realizar cobrana
TelefonePessoalmente
Autenticao
Inserir Preferncias
include
include
include
include
include
extend
Figura 5.12 Diagrama de casos de uso da videolocadoraFonte: Elaborao da autora (2008).
Um exemplo comum de incluso a autenticao por meio de contas e senhas. Quando voc est em um caixa eletrnico com as possibilidades de saque, extrato, pagamento, apesar de cada uma delas possuir sequncias de interaes e comportamento especfico, tm em comum a autenticao de conta e senha. Logo, esse caso pode ser includo, pois em todos os processos ele vai acontecer com a mesma sequncia de interaes.
Utilize o relacionamento de incluso em situaes onde o comportamento se repete em mais de um caso de uso.
125
Metodologias e Projetos de Software
Unidade 5
Seo 4 Identificando casos de uso
Mas, como identificar os casos de uso do sistema?
Identifique os objetivos do usurio e no funes no sistema. Para identificar esses casos de uso, Pdua (2001) sugere:
Verifique quais as tarefas de cada ator.
Que informao cada ator cria, armazena, consulta, altera ou remove.
Que informao cada caso de uso cria, armazena, consulta, altera ou remove.
Que mudanas externas sbitas devem ser informadas ao produto pelos atores.
Que ocorrncias no produto devem ser informadas a algum ator.
Imagine uma situao em que voc convidado a desenvolver um projeto para um caixa eletrnico bancrio. O projeto prev o atendimento dos seguintes requisitos funcionais:
O sistema deve permitir ao cliente a emisso de saldo somente da conta corrente.
O sistema deve permitir ao cliente a emisso de extrato somente da conta corrente.
O sistema deve permitir a atualizao dos dados cadastrais do cliente.
O sistema deve permitir o saque em dinheiro no caixa eletrnico.
126
Universidade do Sul de Santa Catarina
O sistema deve permitir a consulta a toda a movimentao financeira do cliente (conta corrente, poupana e aplicaes ) no caixa eletrnico.
O acesso as funcionalidades do sistema deve ser possvel somente aps a verificao da conta e senha do cliente ou gerente.
ud Use Case Model
Realizar saque
Realizar extrato
Realizar saldo
Gerenciar cadastro
Gerenciar consultas
cliente
Gerente banco
Validao Conta
Aplicaes Poupana Conta Corrente
include
include
include
include
include
extend extend extend
Figura 5.13 Diagrama de casos de uso do caixa eletrnicoFonte: Elaborao da autora (2008).
Como documentar o caso de uso?
127
Metodologias e Projetos de Software
Unidade 5
Ao definir um caso de uso, necessria uma descrio narrativa das interaes entre os elementos externos e o sistema.
E o que deve ser documentado para o caso de uso? Existem alguns aspectos que so fundamentais:
Campo Descrio
NomeO nome do caso de uso deve ser o mesmo nome que consta no diagrama. No esquea de que o nome de um caso de uso deve ser nico.
Identificador Conveno numrica utilizada para identificar o caso de uso. Exemplo: CSU002, CSU001.
Descrio Descrio sucinta do caso de uso.
Ator Primrio O nome do ator que o responsvel pelo incio do caso de uso.
Ator Secundrio Outros atores que fazem parte do caso de uso.
PrecondioA precondio indica as condies necessrios no sistema para que o caso de uso ocorra. Ex: Para realizar o caso de uso saldo, a precondio pode ser a validao positiva de conta e senha.
Fluxo PrincipalO fluxo principal descreve a sequncia de aes que deve ocorrer quando o caso de uso realizado.Seja breve na descrio, o fluxo deve ser escrito utilizando-se a terminologia do usurio.
Fluxo Alternativo
Descreve a sequncia de aes quando o ator faz uma escolha alternativa. O fluxo alternativo descreve um comportamento alternativo para o fluxo principal.
Ps-condio Voc deve descrever aqui o estado do sistema aps a execuo do caso de uso.
Regras de Negcio Condies ou restries na execuo do caso de uso.
Quadro 5.2 - Documentao do caso de uso Fonte: Bezerra (2000).
A seguir, um exemplo do diagrama de caso de uso documentado:
128
Universidade do Sul de Santa Catarina
Nome Realizar saldoIdentificador CSU001
Descrio O cliente do banco solicita a emisso do saldo de sua conta corrente.Ator Primrio ClientePrecondio Conta e senha do cliente serem vlidas.
Fluxo Principal
1. o cliente informa a conta e agencia 2. o cliente informa a senha3. o sistema exibe a lista de servios do caixa eletrnico4. o cliente seleciona a opo saldo5. o sistema apresenta mensagem informando a emisso do saldo
Fluxo Alternativo 1. O cliente cancela a operao por teclado finalizando o caso de uso
Ps-condio Saldo do cliente impressoRegras de negcio RN01
Quadro 5.3 - Exemplo de documentao do caso de uso realizar saldo Fonte: Elaborao da autora (2008).
realizar saque realizar saque
cliente
include
Nome Realizar saque
Identificador CSU003
Descrio O cliente do banco solicita saque de sua conta corrente.
Ator Primrio Cliente
PrecondioConta e senha do cliente serem vlidas.Haver saldo na conta superior ou igual ao valor solicitado.
Fluxo Principal
1. o cliente informa a conta e agncia 2. o cliente informa a senha3. executa caso de uso Validao Conta4. o sistema exibe a lista de servios do caixa eletrnico5. o cliente seleciona a opo saque6. o cliente digita o valor a ser sacado7. o cliente informa a senha8. verifica se o saldo suficiente9. executa caso de uso Validao Conta10. o valor do saldo da conta atualizado11. as cdulas so liberadas no dispenser de cdulas
validar conta
realizarsaldo
cliente
129
Metodologias e Projetos de Software
Unidade 5
Fluxo Alternativo 1 1. O cliente cancela a operao por teclado finalizando o caso de uso
Fluxo Alternativo 21. O sistema informa a mensagem Conta e/ou Senha inconsistente2. O sistema finaliza a tarefa por senha ou conta inexistente
Fluxo Alternativo 31. O sistema informa a mensagem Saldo Insuficiente para Saque2. O sistema finaliza a tarefa por saldo insuficiente
Ps-condio Cdulas disponibilizadas
R. Negcio RN02
Quadro 5.4 - Exemplo de documentao do caso de uso realizar saqueFonte: Elaborao da autora (2008).
Quais so as regras de negcio?
Quando voc especifica uma regra de negcio voc est especificando alguma condio, uma restrio, uma poltica ou uma norma que pode de alguma maneira interferir no processo que ser realizado por seu projeto.
Regras de negcio mudam de uma empresa para outra, outras so comuns a vrias empresas. Veja alguns exemplos de regras de negcio:
no sistema de caixa eletrnico o cliente s poder realizar o saque se e somente se: o saldo de sua conta corrente for superior ou igual ao valor a ser sacado. Se o saldo for inferior ao valor a ser sacado e se o cliente possui um valor de limite de crdito em sua conta corrente, ento o saque no pode ser superior ao valor do saldo do valor limite da conta corrente.
no sistema de estoque, na baixa do estoque quando a quantidade em estoque de um produto for inferior a quantidade de estoque mnimo deve ser gravada uma solicitao de pedido para esse item. A quantidade solicitada ser a diferena de quantidade sobre a quantidade mnima.
130
Universidade do Sul de Santa Catarina
As regras de negcio podem ser documentadas por meio de uma identificao e descrio. Cada regra pode estar ligada a um ou mais casos de uso, nesse caso o identificador deve ser anexado ao caso de uso.
Identificador Descrio da regra de negcio
RN01 O nmero mximo de impresso de saldos no ms de 3 saldos mensais
RN02
O cliente s poder realizar o saque se e somente se: o saldo de sua conta corrente for superior ou igual ao valor a ser sacado. Se o saldo for inferior ao valor a ser sacado e se o cliente possui um valor de limite de crdito em sua conta corrente, ento o saque no pode ser superior ao valor do saldo do valor limite da conta corrente.
Quadro 5.5 Exemplo de documentao das regras de negcio Fonte: Elaborao da autora (2008).
Sugesto para documentao dos casos de uso
importante estruturar a sequncia em que voc vai organizar esta documentao. Existem metodologias que apoiam estas decises como o RUP e o Iconix. Uma sugesto de documentao pode obedecer esta sequncia:
Se voc no preencheu o documento de anlise do problema e especificao de requisitos liste os requisitos funcionais e no funcionais.
Documente o ator (lembra da tabela 5.1?)
Insira o diagrama de casos de uso gerais do projeto.
Uma tabela de documentao do caso de uso (tabelas 5.3 e 5.4) para cada caso de uso.
Documente as regras de negcio (tabela 5.5).
Rational Unified Process (RUP) definido como um processo de engenharia de software que oferece uma abordagem baseada em disciplinas possibilitando a atribuio de tarefas e responsabilidades no desenvolvimento de software (SOUZA; BRAGA, 2004).
Iconix - O ICONIX um processo simplificado que unifica conjuntos de mtodos de orientao a objetos em uma abordagem completa, com o objetivo de dar cobertura ao ciclo de vida do desenvolvimento de software (ROSENBERG; SCOTT, 1999).
131
Metodologias e Projetos de Software
Unidade 5
E o que so pacotes?
O uso de pacotes permite a visualizao mais organizada principalmente em sistemas grandes.
Se houver muitos casos de uso ou atores, voc pode usar os pacotes de casos de uso para estruturar ainda mais o modelo de casos de uso. Um pacote de casos de uso contm vrios atores, casos de uso, seus relacionamentos e outros pacotes.
Imagine que voc tenha a seguinte lista de casos de uso:
Cadastro de Clientes;
Pedidos em Aberto;
Gerenciamento de Vendas;
Relatrio de Data de Validade Vencidas;
Cadastro de Produtos;
Lista de Clientes;
Lista de Produtos;
Relatrio de Produtos Mais Vendidos;
Pedidos de Cancelamento.
O projetista pode agrupar casos de uso que apresentam aspectos comuns, como o tipo de funo, atores que utilizam ou questes organizacionais. Observe a figura a seguir: os casos de uso foram divididos em trs pacotes, e esse agrupamento facilita a visualizao, principalmente em sistemas com um grande nmero de casos de uso.
132
Universidade do Sul de Santa Catarina
ud Formal Requirements
Consultas
+ Pedidos Cancelados
+ Pedidos em Aberto
Atualizaes
+ Cadastro de Clientes
+ Cadastro de Produtos
+ Gerenciamento de Vendas
Relatrios
+ Data Validade Vencidas
+ Lista de Clientes
+ Lista de Produtos
+ Produtos Mais Vendidos
Figura 5.14 Diagrama de pacotesFonte: Elaborao da autora (2011).
Quer conhecer mais ?
Para melhorar seus conhecimentos sobre esta unidade voc pode ler:
O captulo 4 do livro: Princpios de Anlise e Projeto de Sistemas com UML, de Eduardo Bezerra, publicado em 2002.
Na Midiateca voc vai achar dois artigos interessantes abordando o assunto, sob os links:
UML - Linguagem de Modelagem Unificada Diagrama de caso de uso
Imagine que vocs foi contratado para modelar um sistema de imobiliria. Aps a anlise os requisitos funcionais foram assim definidos:
133
Metodologias e Projetos de Software
Unidade 5
RF01 -> Requisito Funcional + numerao sequencial
Cadastro de clientes RF001
Permitir a incluso, alterao e excluso de clientes para compra, venda ou aluguel de imveis.
Cadastro de corretores RF002
Permitir o cadastro de corretores que vendem imveis para a imobiliria.
Cadastro de fiador RF003
Cadastro dos fiadores usados pelos clientes permitindo incluir, alterar, excluir seus dados.
Cadastro de imveis RF004
Cadastra todos os dados dos imveis que so negociados na imobiliria.
Imveis podem ser para locao ou venda: casa, apartamento, quitinete, comercial.
Alugar imvel RF005
Cadastra os dados de aluguel de um imvel para um cliente, como data de locao, data de trmino de contrato, valor do aluguel.
Vender imvel RF006
Cadastro das vendas realizadas pelos corretores permitindo incluir, alterar e excluir registros de venda.
Gerar contrato RF007
Gera o contrato para ser impresso no ato da venda ou aluguel do imvel.
A gerao do contrato e dados deve ser automtica.
Emitir boleto bancrio RF008
Emite o boleto de cobrana para clientes que alugam imveis com dados como valor do aluguel, IPTU, descontos e multas.
Controle das comisses RF009
Emite um extrato com os imveis alugados ou vendidos indicando o valor da comisso do corretor.
134
Universidade do Sul de Santa Catarina
Busca de imvel RF010
Propiciar a realizao da busca de imvel por parmetros informados como bairro, nmero de quartos, valor aproximado de aluguel.
Gerar relatrio de cobrana RF011
Permitir a gerao de um relatrio com os imveis alugados que esto com mensalidade atrasada.
Cadastra pagamento RF012
Deve ser permitido o registro do pagamento de aluguel de um imvel.
Gerar relatrio RF013
Gerar um relatrio com quantidade de vendas e aluguis realizados e desfeitos. Classificado por ms e ano.
Cadastrar usurio do sistema RF014
Permitir o cadastro de usurios do sistema, para que se possam definir nveis de acesso por meio de contas e senhas.
Login de usurio RF015
Efetuar login para identificar quem est usando o sistema e definir os acessos que ele possui.
Cadastro de manutenes RF016
Cadastra dados de manutenes feitas no imvel armazenando o tipo de manuteno, o valor gasto, data da manuteno e uma breve descrio.
Requisitos no funcionais
RNF01 -> Requisito No Funcional + numerao sequencial
Tempo de resposta RNF01
O tempo de resposta para consultas ao sistema, como a busca de imvel, no devem ser inferiores a 5 segundos.
Manutenibilidade RNF02
O sistema deve ser construdo obedecendo viso de camadas facilitando futuras manutenes.
135
Metodologias e Projetos de Software
Unidade 5
Durante a anlise perceberam-se as regras de negcio relacionadas ao funcionamento do processo na imobiliria:
Identificador Descrio
RN01 O cliente deve ter fiador para contratar aluguel
RN02 CPF do cliente e fiador devem ser vlidos.
RN03 O imvel deve ser aprovado pelo gerente antes de ser cadastrado.
RN04 O crdito do cliente deve ser aprovado pelo gerente antes de efetivar o contrato de aluguel.
RN05 O valor da taxa do boleto, cobrada pelo banco, adicionado no valor total do boleto do locador.
RN06 A multa por atraso no pagamento do aluguel de 0,1% do valor do aluguel por dia de atraso.
RN07 O pagamento do boleto aps o vencimento s pode ser efetivado em estabelecimento bancrio conveniado imobiliria.
RN08 As manutenes ou reformas feitas pelo locatrio no imvel so por conta prpria, ou seja, no sero abatidas no valor da mensalidade.
Quadro 5.6 - Regras de negcio do sistema imobilirio Fonte: Elaborao da autora (2008).
No sistema imobilirio foram identificados quatro atores:
ud Atores
ClienteSecretria Corretor Gerente
Figura 5.15 Atores do sistema imobilirioFonte: Elaborao da autora (2008).
A partir dos requisitos funcionais foram definidos os casos de uso. Os casos de uso foram subdivididos em trs pacotes Negociar Imvel, Gerenciamento e Administrao. Os casos de uso relacionados a cada pacote encontram-se inseridos no mesmo.
136
Universidade do Sul de Santa Catarina
ud Use Case Model
Negociar Imv el
+ Alugar Imvel
+ Cadastrar Cliente
+ Cadastrar de Fiador
+ Cadastrar Imvel
+ Gerar Contrato
+ Gerar Contrato de Aluguel
+ Gerar Contrato de Venda
+ Validar CPF
+ Vender Imvel
Gerenciamento
+ Cadastrar Corretor
+ Cadastrar Usurios do Sistema
+ Efetuar Login
+ Gerar relatrio de comisses
+ Gerar Relatrio de vendas/aluguis
+ Verica se j existe Usurio
Administrao
+ Buscar imvel
+ Cadastro de manuteno
+ Efetua Pagamento na imobiliria
+ Efetuar Pagamento
+ Envia conrmao de pagamento
+ Gerar Boleto Bancrio
+ Gerar Recibo
+ Gerar relatrio de aluguis pendentes
+ Pagar Boleto no Banco
+ Registrar Pagamento
Figura 5.16 Pacotes de casos de uso do sistema imobilirioFonte: Elaborao da autora (2008).
O diagrama de casos de uso pode ser feito de forma geral ou por pacotes, observe a seguir diagrama de casos de uso dos pacotes Gerenciamento e Negociar Imvel:
ud Gerenciamento
Cadastrar Usurios do
Sistema
Gerar Relatrio de v endas/aluguis
Gerar relatrio de comisses
Gerente
(from Atores)
Verica se j existe Usurio
Efetuar Login
include
include
include
include
Figura 5.17 Diagrama de casos de uso do pacote gerenciamentoFonte: Elaborao da autora (2008).
137
Metodologias e Projetos de Software
Unidade 5
Figura 5.18 Diagrama de casos de uso do pacote negociar imvelFonte: Elaborao da autora (2008).
Definidos os diagramas voc vai documentar cada caso de uso, como os exemplos apresentados a seguir:
ud Negociar Imv el
Cadastrar Cliente
Cadastrar Imv el
Validar CPF
Gerar Contrato de Aluguel
Alugar Imv el
Corretor
(from Atores)
Gerar Contrato de Venda
Cadastrar de Fiador
(from Gerenciamento)
Efetuar Login
Vender Imv el
include
include
extend
include
include
include
extend
include
include
138
Universidade do Sul de Santa Catarina
Nome Cadastrar Fiador
Identificador CSU02
Descrio O corretor cadastra as informaes inerentes ao fiador de um cliente.
Ator Primrio Corretor
Precondio Corretor logado no sistema
Fluxo Principal
1. Corretor digita dados do fiador no sistema.
3. Corretor Confirma cadastro.
4. Executa Validar CPF.
5. Dados do Fiador so armazenados.
Fluxo Alternativo 11. Corretor seleciona boto Cancelar.
2. Os dados da janela so limpos.
Fluxo Alternativo 2
1. Corretor deseja alterar dados de algum fiador
2. Corretor seleciona um fiador cadastrado.
3. Sistema mostra informaes do fiador.
4. Corretor altera informao
5. Executa Validar CPF.
6. Corretor confirma a alterao
7. Dados do Fiador so armazenados
Fluxo Alternativo 3
1. Corretor deseja excluir fiador.
2. Corretor seleciona um fiador cadastrado.
3. Seleciona boto Excluso.
4. Dados do fiador so excludos do banco de dados.
Ps-condio Dados do fiador atualizados
Regras de Negcio RN02
Figura 5.19 - Documentao do caso de uso cadastrar fiadorFonte: Elaborao da autora (2008).
Cadastrar de Fiador Validar CPF
Corretor(from Atores)
include
139
Metodologias e Projetos de Software
Unidade 5
Cadastrar Imvel
Corretor(from Atores)
Nome Cadastrar Imvel
Identificador CSU04
Descrio Efetua o cadastro do imvel que ficar disponvel na imobiliria.
Ator Primrio Corretor
Precondio Corretor logado no sistema e o Proprietrio do imvel precisa estar cadastrado no sistema como cliente.
Fluxo Principal
1. Corretor informa cdigo do cliente
2. Corretor insere dados do imvel no sistema.
3. Corretor confirma cadastro.
Fluxo Alternativo 1 1. Corretor seleciona boto Cancelar. 2. Os dados da janela so limpos.
Fluxo Alternativo 2
8. Corretor deseja alterar dados do imvel
9. Corretor seleciona um imvel cadastrado.
10. Sistema mostra informaes do imvel.
11. Corretor altera informao
12. Corretor confirma a alterao
13. Dados do Imvel so armazenados
Fluxo Alternativo 3
5. Corretor deseja excluir imvel.
6. Corretor seleciona um imvel cadastrado.
1. Seleciona boto Excluso.
2. Dados do imvel so excludos do banco de dados.
Ps-condio Imvel atualizado no banco de dados.
Regras de Negcio RN03
Figura 5.20 - Documentao do caso de uso cadastrar imvel Fonte: Elaborao da autora (2008).
Agora, para praticar os conhecimentos conquistados nesta unidade, realize a seguir as atividades propostas.
140
Universidade do Sul de Santa Catarina
Sntese
Nesta unidade, voc aprendeu a identificar os casos de uso mais significantes e seus principais elementos.
Durante o estudo tambm foram identificados os possveis relacionamentos existentes entre atores e casos de uso. Voc percebeu que o caso de uso estabelece a estrutura principal da modelagem permitindo uma comunicao fcil e precisa com o usurio, pois esta viso no inclui aspectos relacionados implementao facilitando a interpretao por parte de desenvolvedor e usurios, identificando as aes necessrias ao sistema para que o usurio alcance a soluo de suas necessidades.
A partir dos conceitos elementares voc seguiu em direo concepo do diagrama e da documentao necessria para o bom entendimento do modelo.
Atividades de autoavaliao
Leia com ateno os enunciados e, aps, realize as questes propostas:
1) Assinale a afirmativa correta:
a) ( ) Um caso de uso procura apoiar a especificao de detalhes necessrios implementao do sistema.
b) ( ) O caso de uso documenta as aes necessrias, comportamentos e sequncias visando atender as necessidades do usurio.
c) ( ) Em um caso de uso so necessrios trs elementos bsicos: o caso de uso, a classe de controle e o ator.
d) ( ) O ator de um caso de uso representa apenas os usurios do sistema.
141
Metodologias e Projetos de Software
Unidade 5
2) Classifique as questes em Verdadeira (V) ou Falsa (F).
a) ( ) Um ator pode ser representado por um organizao ou mesmo um equipamento de hardware.
b) ( ) O uso de um nome pessoal para um determinado ator cria uma identificao pessoal do usurio com a especificao do caso de uso, facilitando sua validao com o usurio.
c) ( ) A relao existente entre um caso de uso e um ator pode ser uma relao de comunicao ou uma relao de extenso.
d) ( ) A relao existente entre dois atores pode ser somente uma relao de herana.
e) ( ) A relao existente entre dois casos de uso pode ser de extenso, incluso e comunicao.
f) ( ) A relao existente entre dois casos de uso pode ser de extenso, incluso e herana.
3) Relacione a primeira com a segunda coluna.
A. Regras de negcio
B. Ator
C. Cenrio
D. Caso de uso
( ) DVDs em atraso pagam o valor da locao dos dias atrasados
( ) Atendente
( ) A reserva de um DVD pode ser realizada pessoalmente, em que o cliente informa seu nome, o DVD desejado e a data da reserva. Caso o DVD no esteja reservado, o atendente realiza a reserva. O DVD pode ser reservado na pgina da videolocadora. Informando seu nome, o cliente seleciona o DVD e informa a data da reserva. A reserva efetiva somente pelo envio da confirmao para o e-mail do cliente.
( ) Devoluo de DVDs
( ) Fornecedor de DVDs
( ) Gerenciar compra de DVDs
( ) O cliente pode retirar no mximo 3 DVDs com devoluo para 24 horas.
142
Universidade do Sul de Santa Catarina
4) No texto a seguir, identifique:
a) Os requisitos funcionais
b) Os atores
c) Os casos de uso
d) Documente dois casos de uso
Requisitos funcionais:
O projeto que voc vai realizar ser para a clnica peditrica Bem-Estar e tem como objetivo principal a marcao de consultas mdicas.
O paciente pode realizar o agendamento da consulta pessoalmente ou por telefone. Em qualquer dos dois mtodos os procedimentos so idnticos.
O paciente solicita a consulta informando o nome do mdico ou a especialidade desejada, posteriormente informa a data desejada. A atendente verifica a possibilidade de marcao da consulta (observando se o mdico em questo possui horrio vago para a data desejada). Se existe horrio disponvel, a atendente solicita ao paciente o tipo de convnio ou se particular. Se for convnio, verificado se um convnio vlido; se for particular, informado o valor da consulta. A atendente atualiza a agenda com o nome do paciente e o tipo de consulta (convnio/particular). O tempo para cada consulta de 20 minutos ou 10 minutos para retorno.
A consulta pode ser uma consulta de retorno. Nesse caso, a atendente verifica se a data est ainda dentro do prazo de retorno de 15 dias. Neste caso a consulta marcada na agenda.
Caso o mdico solicitado esteja indisponvel, a atendente procura informar o nome de outro mdico disponvel naquele horrio ou o prximo horrio disponvel.
O paciente pode telefonar desmarcando a consulta, nesse caso o nome do paciente riscado da agenda, ficando o horrio vago novamente.
Ao chegarem na clnica, os mdicos recebem as fichas dos pacientes separadas previamente. Se for paciente novo, a ficha contm somente o nome do paciente e o telefone. As fichas so classificadas por ordem de horrio.
Se o paciente j possui cadastro, o mesmo convidado a adentrar no consultrio do mdico. A partir desse momento, o mdico solicita informaes procedimentais para o futuro diagnstico, preenchendo a ficha do paciente. Finalizada a consulta, o paciente liberado e a ficha recolhida pela atendente, sendo novamente arquivada.
Se o paciente for novo, a atendente solicita o preenchimento da ficha cadastral com dados pessoais.
143
Metodologias e Projetos de Software
Unidade 5
Saiba mais
Para aprofundar as questes abordadas nesta unidade, voc poder pesquisar:
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usurio. Rio de Janeiro: Campus, 2000. (Ler captulos 16 e 17.)
Top Related