[7428 - 21923]metodologias de projetos e software und5

Upload: adilson-oliveira

Post on 18-Oct-2015

9 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.)