Qual a melhor forma para especificar um requisito funcional de software?

Como citado no post anterior existem várias ferramentas e linguagens que proporcionam que os requisitos funcionais de um software sejam especificados (caso de uso, diagrama de sequência, diagrama de fluxo de dados e mapa mental – são alguns exemplos).

Dentro desta gama de ferramentas qual é a melhor?

Para responder esta questão é importante salientar que a especificação de requisitos deve atender a todos os stakeholders do projeto: clientes, desenvolvedores, engenheiros, testadores, gerentes, etc.

A escolha de uma delas depende da complexidade daquilo que se quer especificar.

Para defender a minha afirmação desenvolvi uma dinâmica e aplico-a sistematicamente em minhas aulas.

A Dinâmica

Divida a os alunos em grupos de 5 pessoas.

Peça para cada grupo escolher um aluno.

Solicite que os alunos escolhidos de cada grupo se retire de sala por um período de 1 hora.

Ensine ao restante dos alunos a produzir um aviãozinho de papel (vide foto no início do post).

Solicite que os grupos especifiquem como desenvolveram o avião.

Após 1 hora, peça para os alunos que estavam foram da sala analisarem as especificações e desenvolverem (em 10 minutos) outro avião. Importante: os demais alunos do grupo não podem ajudar no desenvolvimento, ou seja, o aviãozinho de papel deve ser desenvolvido somente com base na especificação.

Veja o resultado que colhi após a realização da dinâmica.

Grupo 1 – especificou o desenvolvimento por meio de uma sequência de fotos.

Resultado (vide foto abaixo).

Grupo 2 – especificou o desenvolvimento por meio de um filme.

Resultado (vide foto abaixo)

Grupo 3 – desenvolveu o avião utilizando um diagrama de sequência, conjunto de fotos e instruções (vide foto abaixo).

Resultado (foto acima – vide avião no canto inferior esquerdo)

Concluindo:

Perceba que a especificação do problema foi feita de 3 formas diferente, 2 delas proporcionaram a construção do aviãozinho correntemente. Conhecer as potencialidades e fragilidades de cada ferramenta/linguagem de especificação pode contribuir muito para o sucesso do projeto. Lembre-se disso no momento de sua escolha. Estreite o relacionamento entre ESPECIFICAÇÃO e COMUNICAÇÃO.

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 37 other followers

%d bloggers like this: