Este Blog tem objetivo de manter informações sobre o estudo de desenvolvimento de software com UML.

sexta-feira, junho 04, 2004

Capitulo 3 Caso de Uso

O Caso de Uso é a parte mais importante da construção de um software orientado a objetos usando a UML, sendo, talvez, o único instrumento que acompanha um software do seu início até a sua conclusão.
O QUE É UM CASO DE USO ?
Um caso de uso pode ser explicado como uma MACROATIVIDADE que encerra diversas tarefas ou atividades, ou uma representação descrita das varias ações para a realização dessa MACROATIVIDADE.
NOTA: No meu ver, o caso de uso difere bastante da lista de eventos da análise essencial porque não impõe tantas regras de "formatação". O Caso de uso tende a ser mais simples por ser uma descrição como um passo a passo da atividade a ser descrita. Além disso o seu formato pode ser adaptado de acordo com a necessiade da empresa que está desenvolvendo o software. Apesar de seguir um padrão, existem vários modelos de estrutura para a descrição de Casos de Uso, por exemplo: Uns apresentam uma estrutura com pré-requisitos, outros com estrutura mais simples, enfim o importante é adotarmos um padrão para escrever um caso de uso e acho que a ajuda de todos seria importante para a criação dessa estrutura . . .Mais abaixo veremos a estrutura sugerida pelo autor do livro.

QUANTO um caso de uso deve ser escrito?
Um caso de uso deve ser bastante detalhado. Na orientação a objetos usamos a técnica da ABSTRAÇÃO, que é:
"Princípio de ignorar os aspectos de um assunto, não relevantes para o propósito em questão, tomando possível uma concentração maior nos assutnos principais".
Em resumo, um caso de uso dave descrever os passos da atividade sem se tornar "massante" mas que possibilite a qualquer um entender esses passos.

Analista de Negócio
Esse é o responsável por extrair, ou definir, os casos de usos. Para o analista só existem duas formas de extrair esse casos de uso: OBSERVAÇÃO ou ENTREVISTA, sendo esta última a forma mais comum de definir os casos de uso.
Não vou descrever mais sobre o Analista de Negócio, porque todos nós temos essa capacidade de analisar a melhor solução para o negócio, em razão da experiência em desenvolvimento de software, o que não temos é a capacidade de gerar documentos nesse padrão e acho que é nisso que devemos manter o foco.....

Como extrair um Caso de Uso?
Segue abaixo a sugestão do autor, em cada livro que lemos temos uma sugestão diferente, porque o formato deve atender às necessidades do grupo de desenvolvedores e portanto é definida por eles:



Nome do Caso de Uso - Verbo no infinitivo;
Breve descrição - Assunto tratado naquele caso de uso;
Pré-Condição - Caso exista, deve ser relatado o que provoca o caso de uso;
Atores - Pessoas, sistemas, etc... que estejam envolvidos no caso de uso;
Cenários principais - São descritas as tarefas.
Requisitos Especiais - Descrições que não cabem nas secções anteriores, como: "Todos os cálculos envolvidos devem ter precisão de 4 casas decimais" ou "Esta consulta deve ser bem rápida, levando no máximo 4 segundos . . ."
Dados - Os atributos descritos no casod e uso, algo que possa pertencer a algum objeto , isso ajudará a descrever as classes.
Observações - Qualquer lembrete referente ao caso de uso, como por exemplo: "Existe um formulário padronizado para....."
IMPORTANTE: para um detalhamento razoável, podemos usar as perguntas: "O que é? Para quê? ou Por quê? Como?" com a finalidade que independente do conhecimento de quem está lendo não sejam geradas dúvidas. Não faz sentido um caso de uso em que alguem tem se voltar pra quem escrever e perguntar "O que voce quis dizer com ......?" ou "Quais são os documentos no cenário: Cliente informa seus dados ?"....
Os cenário principais não prevêem exceções ou seja, deve ser descrito o caminho no "melhor caso" ou no "caso de sucesso". Para as exceções existem os cenários alternativos.....




PARA UM EXEMPLO DE UM CASO DE USO
O marcelo já fez uso da ferramenta Enterprise Architec e gerou uma documentação que encontra-se no recurso M:/Atualizacao/index.htm que se refere ao nosso sistema de atualizações.

DIAGRAMA DE CASO DE USO
Antes de descrever os "cenários" (passos) de um caso de uso, é interessante definir quais casos de uso participam de um evento para montarmos o DIAGRAMA DE CASO DE USO, voltando ao livro veremos o exemplo: ao pensar no caso de uso Locar DVD, podermos enxergar mais alguns casos de uso: "Devolução" e "Entregar DVD Locado". Cada um desses três casos de uso terão descrições passo a passo (cenários). Mas já podemos montar um diagrama:



A definição e descrição dos casos de uso são os passos mais importantes na UML e no próximo capítulo o autor expica como foram escritos os casos de uso do exemplo do livro.

Próximo Capítulo

Capítulo 4 - Diagrama de Atividades e Descrição dos casos de uso

terça-feira, junho 01, 2004

Documentos NOMENCLATURA e GLOSSÁRIO

Ainda no capítulo 2 o autor sugere a criação de um documento chamado NOMENCLATURA, que serve como padrão para todas as palavras envolvidas em estruturas de código, nos casos de uso ou ainda nas tabelas do banco de dados.
NOTA: Aqui na Meta, nós temos um padrão usado em todos os sistemas mas acho que deveríamos criar um documento contendo esses padrões, estando disponível facilmente através de uma intranet por exemplo..
Os novos colaboradores que se juntarem a equipe deverão se ADEQUAR aos formatos, e os formatos devem ser adotados de acordo com a empresa. A sugestão do autor é a seguinte:
Variáveis, Objetos e Classes
Escopo da Variável + Tipo da Variável + Nome da Variável
por exemplo:
iCodClinte -> variavel do tipo inteiro;
piCodCliente -> idem só que pública;
strNomeDoCliente -> Tipo String;
Nome de Operações
As operações ou métodos são prefixadas pelo tipo do seu retorno:
strObterNomeCliente -> O método retorna um tipoString;

NOTA: Bom, esses são os padrões que o autor do livro sugere, inclusive ele documenta TODAS AS VARIÁVEIS em uma lista, catalogando o prefixo que deverá ser usado. Acho que deveríamos ter um padrão desse tipo documentado, para cada uma das linguagens que trabalhamos, (VB6, VB.NET,....)

GLOSSÁRIO
Esse documento traduz para quem não conhece o software todos os termos usado pelo contrante. Tem função de agir como tradutor entre todos os participantes do processo de desenvolvimento do software.
NOTA: Na ferramente recem-adquirida (enterprise Architecth 4.0) existe suporte para o glossário, com uma separação para termos de negócio e termos técnicos.
Modelo de Glossário
Software: Locação de DVDs pela Internet
Locação - Ato de alugar um produto disponível no estoque da empresa.
Usuário Locador ou Cliente Locador - Aquele que aluga um produto.
... e assim vai ...


Próximos Capítulos
3. Caso de Uso
4. Diagrama de Atividades e Descrição dos Casos de Uso