Documente Academic
Documente Profesional
Documente Cultură
Objectivos
Compreender os conceitos envolvidos na descrio dos casos de uso. Compreender como fazer a descrio textual dos casos de uso.
Rui Gomes
Contedo
1- Casos de Uso
Descrio Textual
Formatos de Apresentao Valores-Chave e Variantes
Caso de Uso
Utilizao
Descrever um processo de trabalho do negcio [Jacobson 1995].
Apoiar vrios papis nas actividades de desenvolvimento de software [Jacobson 1993, 1997, Booch & al 1999].
Definio
Caso de uso uma descrio de um conjunto de sequncias de aces, incluindo variantes, que um sistema desenvolve para entregar um resultado de valor observvel a um actor [Booch & al. 1999]. Um actor representa um papel que um ser humano, um dispositivo de hardware ou mesmo um outro sistema desempenha quando interage com o sistema.
Actor 3
Caso de Uso 3
Para cada combinao actor-caso de uso, dever haver uma descrio do comportamento dinmico, mostrando como instncias do actor interagem com instncias do caso de uso.
Os comportamentos do actor e dos casos de uso so descritos informalmente, em linguagem natural [Jacobson 95].
Modelo adoptado de [Cockburn A., Writing Effective Use Cases, draft 3, March 2000]
responde s questes dasPartes Interessadas no-actores e s correspondentes responsabilidades do sistema. responde de uma forma mais precisa sobre o que incluir na escrita do caso de uso.
Contedo
1- Casos de Uso
2- Descrio de Casos de Uso Modelos
Conceitos
Histria de Uso
Partes Interessadas e Actores
Domnio
Nvel de Objectivo
Pr-condio, Garantia de Sucesso, Garantia Mnima, Iniciador
Histria de Uso
Uma histria de uso um exemplo concreto do caso de uso em operao narrativa simples e especfica de um actor utilizando o sistema [Cockburn 2000].
Exemplo
Fiza, funcionrio da Companhia de Seguros X, no seu trabalho de registo de danos, atende um reclamante. Introduz no sistema o nmero de aplice, o nome do segurado ou a data do incidente, verificando o sistema a validade da aplice. Estando a aplice vlida, introduz a informao especfica do dano e atribui-lhe um regularizador de sinistros. O funcionrio Fiza gosta de utilizar este sistema porque tem acesso, de uma forma rpida e segura, s coberturas do contrato que garantem os danos, sua efectiva validade e mesmo aos eventuais lesados concorrentes.
Recomendao
Deve ser breve. Deve apresentar motivos ou contedo emocional que informem como optimizar o sistema, no sentido de adicionar valor ao utilizador.
Contedo
1- Casos de Uso
2- Descrio de Casos de Uso Modelos
Conceitos
Histria de Uso
Nvel de Objectivo
Pr-condio, Garantia de Sucesso, Garantia Mnima, Iniciador
Descrio Textual
Formatos de Apresentao
Valores-Chave e Variantes
Partes Interessadas
Parte Interessada algum com direitos adquiridos no comportamento do sistema, mesmo que nunca interaja directamente com ele [Cockburn 2000].
Exemplo No Sistema de Tratamento de Reclamaes de uma Seguradora
Companhia - minimizar os custos associados regularizao do dano. Cliente - reparao justa do dano sofrido. Direco de Operaes - assegurar procedimentos correctos.
Recomendao
Prestar ateno s Partes Interessadas melhora a qualidade do caso de uso. Os interesses das mesmas vo manifestar-se nas verificaes e validaes que o sistema desenvolve. As regras do negcio ficam documentadas porque o sistema deve cumpri-las em nome das Partes Interessadas.
Actor Primrio
Parte interessada que pede ao sistema para realizar um dos seus servios. O actor primrio tem um objectivo em relao ao sistema, que pode ser satisfeito pelas suas operaes [Cockburn 2000]. Exemplo
Reclamante (caso de uso Tratar reclamao) Empregado da Companhia (caso de uso Registar dano)
Recomendao
Listar os actores primrios Foca a ateno nos utilizadores do sistema. Ajuda a estruturar a lista actor-objectivo. Facilita a distribuio dos casos de uso por pacotes.
Actor de Suporte
Actor externo que fornece um servio ao sistema em projecto [Cockburn 2000].
Exemplo
Impressora Instituto Nacional de Estatstica
Recomendao A identificao de actores de suporte contribui para a identificao dos interfaces externos que sero utilizados pelo sistema e respectivos protocolos.
Contedo
1- Casos de Uso
2- Descrio de Casos de Uso Modelos
Conceitos
Histria de Uso
Domnio
Nvel de Objectivo
Pr-condio, Garantia de Sucesso, Garantia Mnima, Iniciador
Descrio Textual
Formatos de Apresentao
Valores-Chave e Variantes
Domnio
mbito do que ir ser projectado Funcional
Refere os servios que o sistema oferece. Projecto Representa o conjunto de sistemas que se vo projectar ou discutir. - Companhia - Sistema - Subsistema Recomendao
[Cockburn 2000].
Escrever pelo menos um caso de uso de domnio Companhia, com vista a clarificar o valor do mesmo para os actores externos organizao .
Companhia
Discute o comportamento da organizao no seu todo ou em parte, tendo em vista a realizao do objectivo do actor primrio.
Exemplo
Sistema
Discute apenas o sistema de hardware/software que temos a responsabilidade de construir. Externamente ao sistema esto peas de hardware, software e pessoas com as quais se vai interagir. Exemplo
Subsistema
Discute a forma de trabalho de uma parte do sistema principal.
Contedo
1- Casos de Uso 2- Descrio de Casos de Uso Modelos Conceitos
Histria de Uso Partes Interessadas e Actores Domnio
Nvel de Objectivo
Pr-condio, Garantia de Sucesso, Garantia Mnima, Iniciador Cenrio Principal de Sucesso, Extenses, Variaes de Tecnologia e Dados
Descrio Textual
Formatos de Apresentao
Valores-Chave e Variantes
Nvel de Objectivo
As interaces num cenrio podem ser desdobradas em interaces cada vez mais elementares. Cada uma destas interaces representa um actor tentando atingir um objectivo [Cockburn 2000].
- Objectivo do Utilizador - Sumrio - Sub-funo
Objectivo do Utilizador
O nvel Objectivo do utilizador corresponde ao objectivo do actor primrio tentando realizar o seu trabalho, um processo elementar do negcio.
Nvel: Objectivo-do-utilizador
Recomendao
Listar os casos de uso de nvel objectivo do utilizador traduz de forma sumria a funo do sistema e serve de base para o seu processo de desenvolvimento.
Sumrio
O nvel sumrio envolve mltiplos objectivos ao nvel do utilizador. Exemplo
Nvel: Sumrio
Nvel: Sumrio
Recomendao Devem ser escritos casos de uso de nvel sumrio, pois fornecem: o contexto onde operam os objectivos do utilizador a sequencializao do ciclo de vida de objectivos relacionados um ndice para os casos de uso de mais baixo nvel
Subfuno
O nvel subfuno contribui para a consecuo dos objectivos de utilizador (as tarefas dos utilizadores).
Exemplo
Caso de Uso: Identificar um cliente
Domnio: Sistema
Nvel: Subfuno
Recomendao
Nvel da subfuno
Os objectivos ao nvel da subfuno so aqueles necessrios para levar a cabo os objectivos das tarefas dos utilizadores. So s includos medida que so necessrios.
Exemplos
Identificar um produto, Identificar um cliente, Gravar como um ficheiro.
Recomendaes - Coloque bastante energia em detectar e listar os casos de uso de nvel de objectivo do utilizador. - Planeie a escrita de poucos casos de uso de mais alto nvel, para servir de contexto e ndice para os
objectivos de utilizador.
- No preste particular ateno e often ateno excessiva se a vossa expresso favorita entre as frases
de requisitos do sistema o faz como um ttulo de casos de uso.
Contedo
1- Casos de Uso
Valores-Chave e Variantes
Pr-condio
Condio reconhecida como verdadeira antes do incio do caso de uso, no sendo necessrio revalid-la [Cockburn 2000].
Exemplo
Recomendao Na pr-condio deve colocar-se unicamente aquilo que o sistema pode garantir como verdadeiro.
Garantia de Sucesso
Interesses das Partes Interessadas satisfeitos aps a concluso com sucesso do caso de uso, no final do cenrio principal de sucesso ou no final de um caminho alternativo de sucesso [Cockburn 2000].
Exemplo
Caso de uso: Registar dano .... Garantia de Sucesso
A informao do dano capturada e armazenada.
Recomendao A Garantia de Sucesso geralmente escrita como adio Garantia Mnima e deve incluir, pelo menos, o objectivo declarado no ttulo do caso de uso.
Garantia Mnima
Compromissos mnimos que o sistema estabelece com as Partes Interessadas, particularmente quando no podem ser satisfeitos os objectivos do actor primrio [Cockburn 2000].
Exemplo
Garantia Mnima
Se no for capturada a informao mnima, a reclamao parcial abandonada e no realizado nenhum log do pedido. Se o for, ento gravada e criado o log da reclamao parcial (regra do negcio).
Recomendao
No se deve listar na Garantia Mnima todas as possibilidades de falha do caso de uso. As condies e tratamento de falhas so mostradas nas extenses.
Iniciador
Evento que inicia um caso de uso [Cockburn 2000].
O iniciador pode preceder o primeiro passo do caso de uso ou ser o primeiro passo. Exemplo Caso de uso: Tratar uma reclamao Iniciador: Cliente apresenta reclamao
1. Cliente relata uma reclamao para o empregado. 2. Empregado identifica a aplice, regista o dano no sistema, e atribui um Regularizador de sinistros.
Contedo
1- Casos de Uso 2- Descrio de Casos de Uso Modelos Conceitos:
Histria de Uso
Partes Interessadas e Actores
Domnio
Nvel de Objectivo
Descrio Textual
Formatos de Apresentao
Valores-Chave e Variantes
O cenrio tem a seguinte estrutura: - uma condio sob a qual o cenrio se desenrola - um objectivo a atingir - um conjunto de passos aco * (o corpo do cenrio) - uma condio final - um conjunto possvel de extenses Exemplos
Recomendao
Deve ser caracterstico, representativo e sem indicao de falhas.
Extenses
Extenso representa outra forma de realizar um caso de uso (com sucesso ou falha), alm da do cenrio principal [Cockburn 2000].
Condio de Extenso
Condio sob a qual o sistema adquire um comportamento diferente, podendo incluir tanto condies de sucesso alternativas como de falha. Determinao das condies de extenso
Exemplo
Caso de uso Registar dano
Ocorrncia do tipo o sistema valida implicando uma extenso para tratar a falha da validao.
(Nmero de conta invlido).
Cenrio Principal de Sucesso 1. Empregado introduz o nmero da aplice ou o nome do segurado ou a data do incidente. Sistema fornece informao da aplice disponvel e indica a adequao da aplice ao tipo de sinistro. 2. Empregado introduz informao bsica do tipo de dano. Sistema confirma a sua no existncia e possveis reclamaes concorrentes, e atribui um nmero de processo. 3. Empregado continua introduzindo informao do dano especfica ao tipo de sinistro. 4. Empregado tem o sistema a pedir riscos cobertos pela aplice a outros sistemas de computadores. 5. Empregado atribui o sinistro a um Regularizador de Sinistros. 6. Empregado confirma que terminou, Sistema grava. Extenses
1a. Informao identificada na aplice no corresponde informao do segurado: 6a. Empregado confirma que finalizou sem completar informao mnima:
Nota: Ter presente que o sistema deve ser capaz de detectar a condio e detectando-a, tem que trat-la.
Acumular falhas
Juntar falhas de casos de uso de mais baixo nvel que tenham o mesmo efeito no caso de uso de mais alto nvel.
Exemplo Caso de uso: Actualizar investimento ... 7. Utilizador tem o SAI a Gravar trabalho. 8. ... Extenses:
7a. Gravao falha: 7a1. ... Descreve o que o utilizador faz a seguir. Caso de uso: Gravar trabalho ... Extenses: 3a. Ficheiro j existe (utilizador no quer escrever em cima): ... 3b. Directoria no encontrada: ... 4a. Falta de espao em disco: ... 4b. Ficheiro protegido para escrita: ...
Tratamento de Extenses
Iniciador - a condio de extenso.
Exemplo
3. Utilizador invoca o URL de um web site.
4.
Extenses:
3a. Nenhum URL disponvel: 3a1. Utilizador pesquisa um web site.
3b.
Exemplo
3.Utilizador introduz password. 4. O sistema valida password.
5.
Extenses
4b.
Exemplo
... 3.Utilizador introduz password. 4. Sistema valida password. 5. ... Extenses: ... 4c. Password invlida introduzida demasiadas vezes: 4c1. Sistema notifica utilizador e d por terminada a sesso. 5a.
6a. Empregado confirma que terminou sem completar informao mnima: 6a.1 Sistema previne Empregado que no pode aceitar o dano sem data, nome do segurado ou nmero da aplice e atribuir regularizador de sinistros. 6a.2. - Empregado decide continuar a introduzir o dano. 6a.3. Empregado grava um relato intermdio e sai. 6a.3.a- Empregado insiste no existente sem introduzir informao mnima: 6a.3.a.1 Sistema renuncia qualquer gravao intermdia e sai.
Exemplo
Caso de uso: Devolver artigos
....
Recomendao
A considerao das variaes de tecnologia e dados nos casos de uso de mais alto nvel vai ter um impacto assinalvel no custo e plano de trabalho do sistema.
Contedo
1- Casos de Uso
2- Descrio de Casos de Uso Modelos
Conceitos
Descrio Textual Passo Aco
Condio de Extenso
Formatos de Apresentao Valores-Chave e Variantes
Exemplo
O sistema ..... deduz....o montante... do saldo da conta
2 Linha Orientadora
A frase deve mostrar claramente Que actor passa a mensagem e dados para outro actor [Cockburn 2000].
Exemplo
Empregado introduz o nmero da aplice ou o nome do segurado ou a data do incidente. Sistema fornece informao da aplice disponvel e indica a sua adequao ao tipo de sinistro.
3 Linha Orientadora
Escrever, a partir de uma viso geral, as aces de todos os actores.
No escrever o caso de uso como visto pelo sistema (de dentro para fora)
[Cockburn 2000].
Exemplo
Obtm carto, nmero de cdigo e montante. Deduz montante do saldo da conta.
O cliente introduz o carto, cdigo e montante na Caixa Automtica. O sistema deduz o montante do saldo da conta.
4 Linha Orientadora
A frase deve mostrar o avano claro do processo [Cockburn 2000].
Exemplo
Ao nvel sumrio, um passo avana provavelmente um objectivo de utilizador.
Caso de uso: Tratar uma reclamao Cenrio Principal de Sucesso 1. A parte relatora que tem conhecimento do evento relata uma reclamao para uma Companhia de Seguros. 2. Empregado (Acolhedor) recebe e atribui a reclamao ao Regularizador de Sinistros. 3. O Regularizador de Sinistros: - conduz uma investigao - ...
5 Linha Orientadora
A frase deve mostrar a inteno do actor, no as suas actividades com vista consecuo daquela inteno (semntica, no dilogo) [Cockburn 2000].
Exemplo
- Sistema pede o nome. - Utilizador introduz nome.
6 Linha Orientadora
Podem colocar-se as partes de uma interaco composta num ou mais passos
Exemplo
- Na primeira frase, a aco que o actor desenvolve no sistema, e na frase seguinte, a resposta do sistema.
- O cliente introduz o seu nmero de encomenda. - O sistema detecta que corresponde ao nmero premiado do ms, regista o utilizador e o nmero da encomenda como o vencedor do ms, envia um e-mail ao gestor de vendas, felicita o cliente e d-lhe instrues para o recebimento do prmio.
- Na primeira frase a aco que o actor desenvolve no sistema e nas seguintes as validaes e as respostas respectivas.
O cliente introduz o seu nmero de encomenda. O sistema detecta que corresponde ao nmero premiado do ms. O sistema regista o utilizador e o nmero de encomenda como o vencedor do ms. O sistema envia um e-mail ao gestor de vendas. O sistema felicita o cliente e d-lhe instrues para o recebimento do prmio.
7 Linha Orientadora
Deve escrever-se valide e no teste se [Cockburn 2000]. As frases teste se no contribuem para que o processo avance claramente.
Exemplo
2. O sistema testa se a password est correcta.
8 Linha Orientadora
A referncia ao tempo opcional [Cockburn 2000].
Exemplo
Muitos passos esto em sequncia directa com os anteriores, contudo ocasionalmente, podemos necessitar de dizer algo como :
9 Linha Orientadora
O actor primrio deve indicar o momento em que quer que o sistema em projecto desenvolva uma determinada aco em relao a um actor de suporte
[Cockburn 2000].
Exemplo
O utilizador tem o sistema a ir buscar os dados z ao sistema B.
10 Linha Orientadora
Se na descrio tivermos vrios passos repetidos, a repetio escrever-se- imediatamente a seguir; se houver um s passo a repetir, considera-se no prprio passo [Cockburn 2000].
Exemplo
1. Cliente fornece nome e endereo, ou um identificador de conta. 2. O sistema apresenta a informao das preferncias do cliente. 3. O utilizador selecciona um artigo a comprar, marca-o para compra. 4. O sistema adiciona o artigo lista de compras do cliente. O cliente repete passos 3-4 at indicar que finalizou. 5. O cliente compra os artigos da lista de compras.
Condio de Extenso
Linha Orientadora
Escrever na condio de extenso o que o sistema detecta, e no exactamente o que aconteceu [Cockburn 2000].
Exemplo
No escrever Cliente esquece cdigo pessoal.
Domnio: <extenso do projecto> Nvel: <Sumrio, Objectivo-do-utilizador, Subfuno> Actor Primrio: <o nome de um papel para o actor primrio, ou descrio> Partes Interessadas & Interesses: < as entidades com interesse e os interesses-chave no caso de uso> Pr-condio: <condio reconhecida como verdadeira antes do incio do caso de uso> Garantia de Sucesso: <interesses das Partes Interessadas satisfeitos aps a concluso com sucesso do caso de uso> Garantia Mnima: <compromissos mnimos que o sistema estabelece com as Partes Interessadas > Iniciador: <o que inicia o caso de uso> Cenrio Principal de Sucesso
<os passos do cenrio desde o incio at consecuo do objectivo> <passo #> <descrio da aco>
Extenses
<extenses, referindo-se cada uma a um passo do cenrio principal> <passo alterado> <condio> : <aco ou sub-caso de uso>
Valores-chave
Apresentam-se como valores chave [Anderson et. al 1998, Lilly S. 1999, Firesmiths D. 1999, Cockburn 2000] para os casos de uso: uma forma de descrio comportamental que pode ser utilizada em vrios momentos de um projecto e com vrios objectivos.
a fcil leitura.
a centralizao nos objectivos dos actores primrios, e nos sub-objectivos de vrios actores, incluindo o sistema em projecto na consecuo daquele objectivo. a sua escrita como um relato de um jogo (de fora para dentro), mencionando os actores na descrio das aces.
o sistema em projecto sempre tratado como uma caixa-preta, quando utilizados como uma tcnica de especificao funcional. a indicao dos caminhos alternativos aps o cenrio principal de sucesso ou em cenrios separados.
Variantes adequadas
Os passos numerados ou pargrafos simples.
Os casos de uso simplificados ou mais completos. As frases completas ou dilogo entre actores (texto teatral).
A modelao precedente do negcio com ou sem casos de uso. Os diagramas de caso de uso ou lista de actor-objectivo.
Variantes no adequadas
As declaraes Se no interior do cenrio principal. O interface grfico de utilizador na especificao funcional.
Bibliografia
Anderson B., Cockburn A., Flower M., Graham I., Jacobson I., Question Time! About Use Cases, OOPSLA 1998. Booch G., Rumbaugh J., Jacobson I., The Unified Modeling Language User Guide, Addison-Wesley, 1999. Booch G., Rumbaugh J., Jacobson I., The Unified Software Development Process, Addison-Wesley, 1999. Cockburn A., Structuring use cases with goals,Report on Analysis and Design(ROAD), 1997. Cockburn A., Writing Effective Use Cases, draft 3, March 2000; http://members.aol.com/humansandt/crystal/usecasetechnique/getWEUCbook.htm Firesmiths D., Use Case Modeling Guidelines, TOOLS99 USA, Santa Barbara, CA, 1999. Jacobson I., Modeling with Uses Cases: Formalizing use-case modeling, JOOP, 8(3), 1995. Jacobson I., Christerson M., Jonsson P. and vergaard G., Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley,1993. Jacobson I., Ericsson M., Jacobson A., The Object Advantage-Business Process Reengineering with Object Technology. Melo Park, CA: Addison-Wesley, 1994. Lilly S., Uses Cases Pitfalls: Top 10 Problems from Real Projects Using Uses Cases, TOOLS99 USA, Santa Barbara, CA, 1999.
Passo 3. Brainstorm e liste exaustivamente os objectivos dos utilizadores para o sistema. (Lista de Objectivo-Actor)
Passo 4. Escreva o casos de uso de nvel estratgico extermo cobrindo todos os outros acima.
Passo 5. Reconsidere & reveja os caso de uso de nvel sumrio. Adicione, subtraia, funda objectivos.
Passo 6. Seleccione um caso de uso para expandir. Escreva uma narrativa para apreender o material. Passo 7. Capture as partes interessadas e interesses, as pr-condies e garantias (O Sistema assegurar as pr-condies e garante os interesses).
Passo 8. Escreva o cenrio principal de sucesso. (Utilize os passos 3 a 9 para contemplar todos os interesses e garantias).
Passo 9. Brainstorm e liste as possveis condies de extenso.(Inclua tudo o que o sistema pode detectar e deve tratar).
Passo 10. Escreva os passos para tratamento das extenses .(Cada um terminar ao cenrio principal de sucesso)
Passo 11. Desencadeie qualquer sub caso de uso que necessite do seu prprio espao.
Passo 12. Parta do topo e ajuste de novo os casos de uso. Adicione, subtraia, funda. Valide a complitude, leitura e condies de falha.