Várias formas de especificação de um requisito de software

Posted in gestão do conhecimento, Introdução a Engenharia de Software, processo de produção de software on May 21, 2013 by José Augusto Fabri

Existem diversas formas de se especificar um requisito funcional. Neste post apresento algumas.

Requisito a ser especificado: Efetuar Matricula

a) Linguagem natural

O Aluno se dirige a Secretaria Acadêmica munido dos documentos pessoais e solicita a sua matricula em um determinado curso. A Secretaria Acadêmica confere os documentos do Aluno, conforme estabelecido em seu protocolo. A Secretaria Acadêmica efetua a matricula do Aluno no curso solicitado. A Secretaria Acadêmica encaminha o Aluno para a Tesouraria. O Aluno realiza o pagamento da matricula. A Tesouraria emite o recibo de pagamento para o Aluno. O Aluno retorna a Secretaria Acadêmica e apresenta o recibo. A Secretaria Acadêmica confirma a matricula do Aluno e emite o comprovante de matricual.

b) Caso de Uso

caso de uso - esp2

Especificação do Caso de Uso

UseCase: Efetuar Matricula
Sumário: Possibilitar que o aluno, assim que aprovado no processo de seleção (ENEM ou vestibular tradicional) realize sua matricula.
Atores:  Aluno, Secretaria Acadêmica, Tesouraria
Pré-Condições: Aluno aprovado no processo de seleção.
Fluxo Normal: 
1 - Aluno entrega documentação na Secretaria Acadêmica.
2 - Secretaria Acadêmica confere documentação.
3 - Aluno preenche formulário de matricula.
4 - Secretaria Acadêmica solicita que Aluno realize o pagamento da taxa de matricula.
5 - Aluno acessa a Tesouraria para pagamento da taxa de matricula.
6 - Tesouraria entrega recibo para Aluno.
7 - Aluno retorna a Secretaria Acadêmica para efetivar matricula.
8 - Secretaria Acadêmica efetiva a matricula.
9 - Secretaria Acadêmica entrega comprovante de matricula para o aluno.
Fluxo Alternativo: 
2.a - Documentação do aluno incompleta.
2.r - Secretaria Acadêmica solicita ao Aluno que apresenta a documentação completa para efetuar matricula.
3.a - Aluno não realiza o pagamento.
3.r - Secretaria academica não efetiva matricula do aluno.

c) Diagrama de Sequência

diagrama de sequencia - esp 2

d) Diagrama de Fluxo de Dados

dfd - esp 3

e) Mapa Conceitual

mapa conceitual  - funcionalidade esp 4

f) Mapa Mental

mapa mental - funcionalidade esp 5

É possível estabelecer qual é a melhor forma de especificação?

José Augusto Fabri – fabri@utfpr.edu.br

Como aplicar o Kanban na Gestão de Projetos de Software

Posted in gestão de projetos on May 15, 2013 by José Augusto Fabri

kanbanQuadroExiste uma forma rápida e simples de se implementar os princípios de gestão de projetos em uma empresa de produção de software?

Sim, uma alternativa é aplicar o Kanban.

Kanban é uma palavra de origem japonesa que significa placa ou registro. O Kanban permite agilizar a produção de componentes de software. Originário na indústria automobilística, os Kanbans físicos (cartões – ou post-it) se movimentam ou transitam entre as atividades de um processo de produção, permitindo uma gestão eficaz de um projeto – Esta forma gestão foi conhecida como Sistema Toyota de Produção.

A implementação do Kanban em equipes de produção de software é dividida em duas etapas: 1 treinamento e 2 implantação.

1 Treinamento

a) Divida a sua equipe de produção de software em grupos de 3 desenvolvedores. Por exemplo, se sua equipe possui 15 colaboradores você terá 5 grupos. Cada grupo deve desenvolver 4 aviõezinhos de papel, 2 barquinhos (vide foto dos aviões abaixo). Perceba que termos 6 componentes a serem desenvolvidos. Importante: é permitido as equipes consultar uma réplica dos aviõezinhos e dos barquinhos.

kanbanAviaoBarco

b) Antes de iniciar o desenvolvimento cada grupo deve preencher um post-it com as seguintes informações:

  • Nome do componente a ser desenvolvido (aviãozinho A ou B – barquinho).
  • Data de Início.
  • Tempo (em minutos) estimado para o desenvolvimento.
  • Responsáveis pelo desenvolvimento (lembrando que o componente pode ser desenvolvido por 1, 2 ou pelos 3 integrantes do grupo).

c) Cada post-it deve ser afixado no quadro Kanban, geralmente, o quadro é dividido 3 fases: to do (para fazer), doing (fazendo), done (feito). Todos os grupos devem afixar os post-it no to do – vide figura abaixo. Utilize um quadro negro para construir o Kanban, isso facilitará a interação da sua equipe com os princípios básicos da gestão.

kanbanQuadroInicial

d) Inicie a produção dos componentes – neste caso os post-it são movimentados (pelos responsáveis) para a fase doing – vide figura abaixo.

kanbanQuadroMovimentacao

e) Terminado a produção dos componentes, os post-it são movimentados, novamente, para a fase done. Além de movimentar os post-it os responsáveis pela produção devem informar:

  • Data de término.
  • Tempo (em minutos) utilizado para o desenvolvimento – vide figura abaixo.

kanbanQuadroFeito

Durante o treinamento, solicite que a equipe pare a produção e analise o quadro, e permita que mesma extraia as seguintes informações: % de componentes a desenvolver – % de componentes em desenvolvimento – % de componentes prontos.

2 Implantação:

a) Após realizar o treinamento, confeccione um quadro Kanban para cada projeto de software no ambiente produtivo de sua empresa (vide figura abaixo).

kanbanQuadro

b) Com certeza os seus projetos são divididos em requisitos e cada membro de sua equipe é responsável pela implementação de um componente ligado a um determinado requisito. Cada componente deste irá gerar um post-it.

c) Fixe os post-it no quadro Kanban. Para produzir software você pode customizar o seu quadro com um número maior de fases, por exemplo: to do, project, implement, test, done.

d) Movimente os post-it de acordo com a execução das atividades.

e) Após o post-it percorrer todas as atividades, armazene as informações mapeadas em uma planilha. Lembrando que você terá uma planilha para cada projeto. Neste momento você inicia a confecção de uma base histórica de projetos. Esta base será de grande utilidade nas estimativas de tempo, custo e esforço de novos projetos.

kanbanBaseHistórica

Em tempo, você pode “kanbanizar” seus projetos utilizando estas ferramentas:

https://kanbanflow.com/

http://kanbanize.com/ctrl_home

https://trello.com/

J. A. Fabri – fabri@utfpr.edu.br

Vídeo aula (4-5) sobre pontos por função – Mapeando a Complexidade das Entrada de Dados

Posted in Ensino de engenharia de software, gestão de projetos, processo de produção de software on April 9, 2013 by José Augusto Fabri

Disponibilizo as duas últimas vídeo-aulas do curso de pontos por função. As demais podem ser acessadas por meio destes post:

Antes de acessar os vídeos é importante ler este texto.

.

.

.

Fabri – fabri@utfpr.edu.br

Vídeo aula (3) sobre pontos por função – Mapeando a Complexidade das Entrada de Dados

Posted in Ensino de engenharia de software, gestão de projetos, processo de produção de software on April 9, 2013 by José Augusto Fabri

Pessoal no dia 27 de março, publiquei uma vídeo-aula sobre a teoria de Pontos por Função para mapear os arquivos de interface externa. Neste vídeo apresento o mapeamento da complexidade da entrada de dados.

Para entender o conteúdo desta aula, é interessante acessar os link:

É possível comprar 1000 pontos por função.

Vídeo-aula sobre a contagem dos arquivos lógicos interno.

Vídeo-aula sobre a contagem dos arquivos de interface externa.

Abraços

Fabri – fabri@utfpr.edu.br

Ferramenta on-line para construção de interface

Posted in Ferramentas, processo de produção de software on April 3, 2013 by José Augusto Fabri

Pessoal, após publicar este post, fui amplamente questionado sobre as ferramentas para prototipagem de interface. Acredito que uma alternativa seja esta (indicação de Ricardo Satin).

Fabri.

Vida e Carreira – Mário Sérgio Cortella

Posted in off topic on March 28, 2013 by José Augusto Fabri

J. A. Fabri

Jobs e Gates – juntos – para rever

Posted in mercado produtor de software on March 28, 2013 by José Augusto Fabri

Para rever, encontro entre Jobs e Gates – 2007 – by Globo News.

 

 

Abraços

J. A. Fabri

Follow

Get every new post delivered to your Inbox.

Join 28 other followers