Artigo Engenharia de Software 11 - Especificação de Casos de Uso

Artigo da Revista Engenharia de Software edição 11.

Esse artigo faz parte da revista Engenharia de Software 11 edição especial. Clique aqui para ler todos os artigos desta edição

 

Requisitos

Especificação de Casos de Uso

Detalhando os Requisitos de Software

 

De que se trata o artigo:

Apresenta o documento de especificação de casos de uso, fundamental para o processo de desenvolvimento de software, e exemplifica as seções e componentes das seções deste documento.

Para que serve:

Informar o leitor sobre quais elementos considerar quando da elaboração de um documento de especificação de casos de uso, apresentando um modelo (template) de documento que pode ser adotado ou customizado.

Em que situação o tema é útil:

Durante o desenvolvimento de um sistema de software no qual há a necessidade de elaborar o documento de especificação de casos de uso, os quais descrevem o conjunto de funcionalidades do sistema a serem implementados pela equipe de projeto.

 

Desenvolver um sistema de software é uma atividade que requer um conjunto de habilidades com objetivo de entender as necessidades do usuário e/ou cliente, analisá-las, documentá-las num documento de requisitos (discutido na edição anterior), desenvolver o projeto, implementar e testar o software. Perceba que um engenheiro de software é um profissional que possui um conjunto de competências e é comum especializar-se em alguma(s) dela(s). As atividades iniciais são importantes, já que definem quais funcionalidades o sistema deve prover. Portanto, faz-se necessário descrever os requisitos de software com objetivo de facilitar as etapas seguintes (projeto e implementação).

Note que um documento de requisitos de software precisa ser claro, consistente e completo, pois ele servirá de referência aos desenvolvedores, gerente de projeto e engenheiros de software (responsáveis pelos testes e manutenção do sistema). Requisitos bem documentados consideram não apenas consistência, completude e clareza, mas também a evolução dos requisitos e, portanto, características do sistema de software. Dentro deste contexto, este artigo trata da especificação de casos de uso para detalhamento dos requisitos de software.

Especificação de Requisitos de Software

A especificação de requisitos de um sistema de software descreve as necessidades de usuários do sistema e, mais especificamente, descreve o conjunto de funcionalidades que o sistema deve fornecer. É a partir desta especificação que o projeto de software é desenvolvido para, em seguida, ser implementado. Quaisquer problemas como, por exemplo, de inconsistência ou ambigüidade, resultará em possíveis erros que precisarão ser corrigidos em alguma etapa futura do processo de desenvolvimento.

Adicionalmente ao objetivo acima, uma especificação de requisitos tem ainda outro objetivo, talvez até mais importante: comunicar de maneira efetiva quais funcionalidades o sistema deve prover (ou ainda, o que não irá prover). Perceba que a especificação de requisitos irá apoiar a comunicação entre usuários (clientes), projetistas, programadores, testadores.

O interesse é o de especificar as funcionalidades ou requisitos funcionais de um sistema. Nesse sentido, o sistema irá prover uma determinada funcionalidade quando solicitado ou quando uma condição for alcançada. Dessa forma, o que se tem é uma interação entre a funcionalidade (caracterizada pelo caso de uso) e um ator, que pode ser um usuário (humano), um componente de software ou algum hardware (ou dispositivo). Num exemplo simples do conhecimento do leitor, tem-se a funcionalidade login de um sistema Web, a qual serve para autenticar o login e senha de usuários e permitir acesso a determinada aplicação. Para essa funcionalidade, ou caso de uso, há uma interação entre usuário e o caso de uso login. Para tanto, um conjunto de passos é usado para descrever o fluxo de eventos da interação entre essas duas entidades. A seguir, a especificação de casos de uso é apresentada e exemplificada.

Especificação de Casos de Uso

Caso de uso é uma técnica de especificação que descreve uma seqüência de ações que o sistema deve realizar para produzir uma resposta para um ator. Na realidade, tem-se uma seqüência da interação entre caso de uso e ator. O caso de uso detalha o que um sistema deve fazer, descrevendo como uma determinada funcionalidade é utilizada por um ator.

Cabe destacar que um caso de uso compreende duas partes: o diagrama de caso de uso e o caso de uso propriamente dito.  O diagrama de caso de uso é um dos nove diagramas da UML (Unified Modeling Language) enquanto que o caso de uso consiste de um template (ou modelo), conforme apresentado na seção seguinte, que serve para detalhar a seqüência de passos de execução do caso de uso. Neste artigo, o foco é tratar da especificação de casos de uso, isto é, de apresentar e ilustrar um template de especificação e, portanto, o assunto diagrama de casos de uso não é tratado.

" [...] continue lendo...

Artigos relacionados