Engenharia de Software com o RUP - Workflow de Requisitos Alexandre Vasconcelos, André Santos,...

Preview:

Citation preview

Engenharia de Software Engenharia de Software com o RUP - com o RUP -

Workflow de Workflow de RequisitosRequisitos

Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura,

Paulo Borba

© Centro de InformáticaUniversidade Federal de Pernambuco

ObjetivosObjetivos::

Entender os conceitos básicos do workflow de Requisitos e como eles afetam a Análise e Projeto

Entender como ler e interpretar os artefatos gerados por este workflow e que são usados como ponto inicial pelo workflow de Análise e Projeto

Tópicos CobertosTópicos Cobertos

Introdução Conceitos Chave Descrição do Problema Glossário Modelo de caso de uso Especificações Suplementares O Fluxo de Requisitos Checklists Estrutura de Documento de Requisitos

Finalidade do Workflow de RequisitosFinalidade do Workflow de Requisitos

A finalidade deste workflow é:

• Chegar a um acordo com o cliente e o usuário sobre o que o sistema deve fazer.

• Oferecer ao desenvolvedor um melhor entendimento dos requisitos do sistema.

• Delimitar o sistema.• Prover uma base para o plaejamento do conteúdo técnico

das iterações.• Definir uma interface do sistema com o usuário.

Artefatos Relevantes do Workflow de Artefatos Relevantes do Workflow de RequisitosRequisitos

...

Especificações de Caso de Uso

Modelo de caso de uso

Casos de Uso

Atores

Glossário

EspecificaçõesSuplementares

Descrição do Problema

Tópicos CobertosTópicos Cobertos

Introdução Conceitos Chave Descrição do Problema Glossário Modelo de caso de uso Especificações Suplementares O Fluxo de Requisitos Checklists Estrutura de Documento de Requisitos

Conceitos do Modelo de caso de uso: AtorConceitos do Modelo de caso de uso: Ator

Ator

Atores são Externos ao sistema

Um usuário pode desempenhar diferentes Um usuário pode desempenhar diferentes papéispapéis

Carlos

Carlos comoprofessor

Estudante

Professor

Carlos comoestudante

Atores e Fronteiras do SistemaAtores e Fronteiras do Sistema

Caixa

Sistema ATM

Sistema Bancário

Limites dosistema?

Cliente

Conceitos no Modelo de caso de uso: Conceitos no Modelo de caso de uso: caso de usocaso de uso

caso de uso

Pacotes no Modelo de caso de usoPacotes no Modelo de caso de uso

Tópicos CobertosTópicos Cobertos

Introdução Conceitos Chave Descrição do Problema Glossário Modelo de caso de uso Especificações Suplementares O Fluxo de Requisitos Checklists Estrutura de Documento de Requisitos

Descrição do ProblemaDescrição do Problema

Mostra a descrição geral do problema a ser resolvido com o sistema, bem como as funcionalidades básicas do sistema.

Tópicos CobertosTópicos Cobertos

Introdução Conceitos Chave Descrição do Problema Glossário Modelo de caso de uso Especificações Suplementares O Fluxo de Requisitos Checklists Estrutura de Documento de Requisitos

GlossárioGlossário

•Introdução•Termos

Glossário

Tópicos CobertosTópicos Cobertos

Introdução Conceitos Chave Descrição do Problema Glossário Modelo de caso de uso Especificações Suplementares O Fluxo de Requisitos Checklists Estrutura de Documento de Requisitos

Modelo de caso de usoModelo de caso de uso

•Introdução•Breve Descrição•Pacotes de caso de usos•Use Cases•Atores•Relacionamentos•Diagramas•Visão de caso de uso

Modelo de caso de uso

AtoresCasos de Uso

Especificações de Caso de Uso

Modelo de caso de usoModelo de caso de uso

Use Cases direcionam o trabalho desde os requisitos até os testes

Verificado porImplementado por

Realizado por

Exemplo do Modelo de caso de uso: Exemplo do Modelo de caso de uso: Diagrama de caso de usoDiagrama de caso de uso

Estudante

Professor

Faz o Login

Visualiza relatórios

Matricula-se em Cursos

Seleciona cursos para ensinar

Submete as notas

Secretária

Catálogo de CursosFecha as matrículas

Mantém as Informações dos estudantes

Mantém as informações dos professores

Sistema de Cobrança

Exemplo do Modelo de caso de uso: Exemplo do Modelo de caso de uso: Diagrama de caso de usoDiagrama de caso de uso

Transferir entre contas

Cliente

Realizar depósito

Sacar dinheiro

Consultar saldo

Solicitar extrato

Alterar senha

Use CaseUse Case

•Nome•Breve descrição•Fluxos de eventos•Relacionamentos•Diagramas de Atividade e

Diagramas de Estado•Diagramas de caso de uso•Requisitos especiais•Precondições•Póscondições•Outros diagramas

Modelo de caso de uso

Atores

Casos de Uso

Especificações de Use Case

...

Fluxos de Eventos de caso de usosFluxos de Eventos de caso de usos Um fluxo normal Diversos fluxos alternativos

Variantes regulares Casos incomuns

Fluxos excepcionais para manipular situações de erro

Fluxo normal

CenáriosCenários

Em UML significa caminho único através de um caso de uso.

Uma instância de um caso de uso

Exemplo (Sacar dinheiro): Saque com sucesso Tentativa de saque MAS senha incorreta Tentativa de saque MAS saldo insuficiente

CenáriosCenários

•Uma instância de um use case.

Diagrama de atividadesDiagrama de atividades

Para representar graficamente o fluxo de eventos (fluxo básico + fluxos alternativos)

Às vezes um desenho fala mais que 1000 palavras!

É composto de: atividades transições decisões

Diagrama de atividadesDiagrama de atividades

São um caso especial dos Diagramas de Estados, com a maioria das transições resultantes do término das atividades.

São semelhantes aos antigos fluxogramas.

São muito usados para modelar atividades concorrentes.

Diagrama de atividades: exemploDiagrama de atividades: exemplo

Diagrama de atividades: exemploDiagrama de atividades: exemplo

Tópicos CobertosTópicos Cobertos

Introdução Conceitos Chave Descrição do Problema Glossário Modelo de caso de uso Especificações Suplementares O Fluxo de Requisitos Checklists Estrutura de Documento de Requisitos

Especificações SuplementaresEspecificações Suplementares

• Funcionalidade (associada a todos ou vários caso de usos)

• Requisitos Não-Funcionais:•Confiabilidade•Desempenho (performance)•Segurança•Distribuição•Adequação a Padrões•Restrições de Hardware e Software

Especificações Suplementares

Usabilidade (Facilidade de uso)Usabilidade (Facilidade de uso)

Relacionada com: interface com o usuário, material de treinamento

e documentação do sistema.

Exemplos: help instalação automática

ConfiabilidadeConfiabilidade

Freqüência e severidade de falhas Habilidade de recuperação das falhas Corretude do sistema

Exemplos disponibilidade 24/7 prazo de tolerância máxima para volta do

sistema

DesempenhoDesempenho

Velocidade Eficiência Tempo de resposta Uso de recursos

SegurançaSegurança

Privacidade

Autenticidade dos dados do sistema.

DistribuiçãoDistribuição

Requisitos associados à distribuição da versão executável do sistema.

Crítico para sistemas com grande volume de usuários.

Adequação a PadrõesAdequação a Padrões

Interface gráfica Desenvolvimento de componentes

Referenciar documento que define padrão

Restrições de Hardware e SoftwareRestrições de Hardware e Software

Plataforma cliente Windows Web

Plataforma servidor sistema operacional banco de dados

Protocolo de comunicação etc.