Artigo Engenharia de Software 16 - Cenários e Casos de uso: Fundamentos e Conceitos

Este artigo destaca a importância de se considerar as perspectivas de Engenharia de Software (ES) e Interação Humano-Computador (IHC) para desenvolver sistemas interativos úteis e usáveis.

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


Engenharia de Requisitos

Cenários e Casos de uso: Fundamentos e Conceitos

 

De que trata o artigo:

Este artigo destaca a importância de se considerar as perspectivas de Engenharia de Software (ES) e Interação Humano-Computador (IHC) para desenvolver sistemas interativos úteis e usáveis.  Os conceitos de cenários e casos de uso são apresentados e analisados visando a integração das duas áreas.

Para que serve:

  Conhecer como desenvolver software capaz de suportar o trabalho de pessoas, tornando este trabalho ainda mais fácil, rápido, simples e flexível. Para isso é necessário entender melhor as tarefas realizadas pelas pessoas e relacioná-las às tarefas desempenhadas no desenvolvimento de software.

 

Em que situação o tema útil:

Desenvolver sistemas com melhor usabilidade é um requisito buscado e estudado por diversas empresas. Uma das formas de alcançar este ponto é considerando e combinando estudos de ES e IHC. É neste escopo que direcionamos este artigo.

 

 

Freqüentemente, sistemas interativos são desenvolvidos com visões isoladas das áreas de Engenharia de Software (ES) e de Interação Humano-Computador (IHC). ES, tradicionalmente, prioriza aspectos essencialmente funcionais dos sistemas, como eficiência, manutenibilidade e portabilidade, conferindo ao desenvolvimento uma orientação funcional em detrimento da operacional. Já IHC foca principalmente a usabilidade dos sistemas, concentrando atenção aos aspectos de interação e não considerando adequadamente os aspectos enfatizados pela ES [CYB 98]. Essas duas abordagens refletem diferentes perspectivas, uma mais orientada ao sistema (tecnológica) e outra mais orientada ao usuário (humana), sobre a mesma atividade de desenvolvimento.

Recentes trabalhos de pesquisa convergem para idéia central de, para desenvolver sistemas interativos úteis e usáveis, ser necessário considerar as perspectivas de ES e IHC, desde as primeiras etapas do desenvolvimento do sistema, exigindo a utilização conjunta e integrada de conceitos, técnicas e metodologias de desenvolvimento de ambas as áreas. Porém, essa interseção não é ainda nem natural nem objetiva: cada área considera aspectos diferentes e, muitas vezes, disjuntos do sistema, sem nenhuma correspondência explícita e sistematicamente estabelecida, tendo como conseqüência o fracionamento de requisitos [PIM 2000]. Compor o desenvolvimento de sistemas com grupos multidisciplinares, com diferentes pontos de vista sobre o processo de desenvolvimento, tem como potencial problema promover um entendimento mútuo da mesma tarefa de desenvolvimento e dos objetivos comuns [ABO 94].

Este artigo visa mostrar as possibilidades desta integração, através da combinação dos conceitos de Casos de Uso (Use Cases) e Cenários (Scenarios), importantes técnicas de modelagem, amplamente utilizadas, respectivamente nas áreas de ES e IHC, em diferentes contextos, com diferentes visões; mas apresentando similaridades valiosas para propiciarem o uso complementar de ambas as técnicas. Ambos são descrições narrativas. Cenários são utilizados em IHC para diversos fins, todavia particularmente úteis para inspecionarem atividades humanas ao usar um, presente ou futuro, artefato [CAR 95] e mediarem a comunicação entre grupos multidisciplinares, enquanto que casos de uso são usualmente utilizados, em ES, para modelarem requisitos funcionais e manipularem modelos de objetos [JAC 94a]. Baseando-se em estudo realizado previamente [VED 2001], tem-se a convicção de serem conceitos valiosos para combinar as diferentes perspectivas das duas áreas citadas, permitindo uma busca integrada da qualidade interna e externa dos sistemas.

Fazendo uso do conceito de níveis de abstração e partindo do enfoque de que cenários são instâncias concretas de casos de uso, podem-se combinar os propósitos e usos complementares de ambas as técnicas.

Acredita-se que a combinação dessas técnicas, aliada a uma boa compreensão das tarefas e do contexto organizacional em que elas são executadas, juntamente com a explicitação dos objetivos, previnam a possibilidade de que especificações se tornem desencontradas das reais necessidades dos usuários e devam ser a base para um processo de desenvolvimento de software interativo.

Contudo, abordagens apontam que casos de uso apresentam problemas conceituais [REG 95a, REG 95b] e a maneira pela qual são comumente usados na Unified Modeling Language (UML) [BOO 99], não considera adequadamente aspectos de usabilidade [CON 2000b]. Além disso, várias pesquisas têm focado, principalmente, as funções e os usos de cenários e casos de uso, no processo de desenvolvimento de sistemas, enquanto que o processo de construção destes, muitas vezes, é negligenciado.

Com o intuito de fundamentar esta possibilidade de integração, este artigo apresenta uma investigação dos conceitos e fundamentos de cenários e casos de uso, sob a ótica, respectivamente, de IHC e ES.

Cenários: Visão de IHC

Segundo definição do dicionário Aurélio [FER 99], o termo “cenário” significa: “Lugar onde ocorre algum fato, ou onde decorre a ação, ou parte da ação, de uma peça, romance, filme, etc”. Em IHC, o comum significado para o termo “cenário” é uma instância representativa de uma interação entre usuário e sistema [CAM 92]. Um cenário é uma descrição narrativa informal e concreta a respeito de um uso de um sistema por uma pessoa.

 

Aplicação

Na literatura de IHC, há um amplo consenso sobre os benefícios da utilização de cenários, no processo de desenvolvimento de software, e, também, que cenários podem ser usados para muitos propósitos diferentes. Em IHC, cenários são particularmente úteis para

· ilustrar como um usuário provavelmente efetua tarefas particulares com um, presente ou futuro, sistema;

· prover uma representação de projeto, formulada em ações e experiências das pessoas que, efetivamente, usarão a tecnologia;" [...] continue lendo...

Artigos relacionados