supporting use case based requirements engineering david marques filipe garcês ricardo cruz

23
Supporting Use Case Based Requirements Engineering David Marques David Marques Filipe Garcês Filipe Garcês Ricardo Cruz Ricardo Cruz

Upload: internet

Post on 18-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Supporting Use Case Based Requirements EngineeringSupporting Use Case Based Requirements Engineering

David MarquesDavid MarquesFilipe GarcêsFilipe GarcêsRicardo CruzRicardo Cruz

Page 2: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

ConteúdosConteúdos

ContextoMotivaçãoEstado da artePrincipais resultadosConclusões

ContextoMotivaçãoEstado da artePrincipais resultadosConclusões

26-11-2007 2ERSS

Page 3: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Contexto - InformaçõesContexto - Informações

Autor: Stéphane S. SoméAno: 2005Publicação: Information and

software technology 48 (2006)

Autor: Stéphane S. SoméAno: 2005Publicação: Information and

software technology 48 (2006)

26-11-2007 ERSS 3

Page 4: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Contexto - TemasContexto - Temas

Engenharia de requisitosLinguagem NaturalUMLModelo de domínioCasos de usoModelo de estadosPrototipagem

Engenharia de requisitosLinguagem NaturalUMLModelo de domínioCasos de usoModelo de estadosPrototipagem

26-11-2007 ERSS 4

Page 5: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

MotivaçãoMotivação

Engenharia de requisitos é uma tarefa critica

Casos de Uso e UML com grande aceitação

Processo manualProcesso informal

Engenharia de requisitos é uma tarefa critica

Casos de Uso e UML com grande aceitação

Processo manualProcesso informal

26-11-2007 ERSS 5

Page 6: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

MotivaçãoMotivação

Simulação por prototipagem é um processo custoso

Verificação tardia entre requisitos e especificação pretendida

Verificação de consistência entre casos de uso é difícil

Verificação do comportamento global é quase impossível

Simulação por prototipagem é um processo custoso

Verificação tardia entre requisitos e especificação pretendida

Verificação de consistência entre casos de uso é difícil

Verificação do comportamento global é quase impossível

26-11-2007 ERSS 6

Page 7: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Estado da arteEstado da arte

Linguagem natural para descrição de casos de uso

Trabalhos efectuados por:Rolland & Ben AchourFantechi Cockburn

Padrões de linguagemEvitar erros e ambiguidades

Linguagem natural para descrição de casos de uso

Trabalhos efectuados por:Rolland & Ben AchourFantechi Cockburn

Padrões de linguagemEvitar erros e ambiguidades

26-11-2007 ERSS 7

Page 8: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Estado da arteEstado da arte

Composição de cenáriosCaso de uso é composto por um

ou mais cenáriosRepresentados de forma gráfica

(diagramas de sequência,…)Play-in/Play-out (Harel and

Marelly)

Composição de cenáriosCaso de uso é composto por um

ou mais cenáriosRepresentados de forma gráfica

(diagramas de sequência,…)Play-in/Play-out (Harel and

Marelly)

26-11-2007 ERSS 8

Page 9: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Estado da arteEstado da arte

Vista do sistema em Grey box/ Black box

UML: diagramas de classes, de casos de uso, de estados

REST (Requirements Engineering with Scenario Tool)

Vista do sistema em Grey box/ Black box

UML: diagramas de classes, de casos de uso, de estados

REST (Requirements Engineering with Scenario Tool)

26-11-2007 ERSS 9

Page 10: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Nova aproximaçãoNova aproximação

Processo formal

Processo automático

Apoiado por uma ferramenta: UCEd

Clarificação dos requisitos

Processo formal

Processo automático

Apoiado por uma ferramenta: UCEd

Clarificação dos requisitos26-11-2007 ERSS 10

Page 11: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Sintaxe abstracta dos casos de uso

Sintaxe abstracta dos casos de uso

Sintaxe baseado no template de Cockburn

Dois tipos de casos de uso: normal e extensos

Cada caso de uso é um tuplo com titulo, passos, alternativas, pré-condição e pos-condição

Definição completa e não ambigua.

Sintaxe baseado no template de Cockburn

Dois tipos de casos de uso: normal e extensos

Cada caso de uso é um tuplo com titulo, passos, alternativas, pré-condição e pos-condição

Definição completa e não ambigua.26-11-2007 ERSS 11

Page 12: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Sintaxe abstracta dos casos de uso

Sintaxe abstracta dos casos de uso

26-11-2007 ERSS 12

Page 13: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Linguagem naturalLinguagem natural

Casos de uso definidos por dois componentes básicos: operações e condições

Gramática inglesa para definir a sua descrição textual

Módulo de Edição de casos de uso no UCEd

Verificação automática da sintaxe

Casos de uso definidos por dois componentes básicos: operações e condições

Gramática inglesa para definir a sua descrição textual

Módulo de Edição de casos de uso no UCEd

Verificação automática da sintaxe26-11-2007 ERSS 13

Page 14: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Linguagem naturalLinguagem natural

26-11-2007 ERSS 14

Page 15: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Modelo de domínioModelo de domínio

Extensão do diagrama de classes UML

Serve de dicionárioDefine os conceitos do sistema e

as suas relaçõesCada conceito é definido por:

Valores possíveisOperações possíveis

Extensão do diagrama de classes UML

Serve de dicionárioDefine os conceitos do sistema e

as suas relaçõesCada conceito é definido por:

Valores possíveisOperações possíveis

26-11-2007 ERSS 15

Page 16: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Modelo de domínioModelo de domínio

Integrado no UCEdPossibilidade de criação “manual”

do modelo ouCriação automática a partir dos

casos de usoVerificação constante da

consistência entre casos de uso e modelo de domínio

Integrado no UCEdPossibilidade de criação “manual”

do modelo ouCriação automática a partir dos

casos de usoVerificação constante da

consistência entre casos de uso e modelo de domínio

26-11-2007 ERSS 16

Page 17: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Modelo de estadosModelo de estados

Geração feito por um algoritmoGera todos os cenários possíveis Pode conter sequências inválidasUCEd integra os casos de uso e o

modelo de domínio e gera o modelo de estados

Geração feito por um algoritmoGera todos os cenários possíveis Pode conter sequências inválidasUCEd integra os casos de uso e o

modelo de domínio e gera o modelo de estados

26-11-2007 ERSS 17

Page 18: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

SimulaçãoSimulação

UCEd possui um módulo de simulação

Validação feita pelo modelo de estados gerado

Simulação pode ser feita muito cedo

Possibilidade de ver o comportamento global do sistema

Interface gráfica

UCEd possui um módulo de simulação

Validação feita pelo modelo de estados gerado

Simulação pode ser feita muito cedo

Possibilidade de ver o comportamento global do sistema

Interface gráfica26-11-2007 ERSS 18

Page 19: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

SimulaçãoSimulação

26-11-2007 ERSS 19

Page 20: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

Nova aproximaçãoNova aproximação

Nova aproximação ao processo de engenharia de requisitos

Nova aproximação ao processo de engenharia de requisitos

26-11-2007 ERSS 20

Page 21: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

ConclusõesConclusões

Formalização do processo de engenharia de requisitos

Visão unificada dos requisitosAplicação simples que integra

todos os passosVerificação automática de erros

Formalização do processo de engenharia de requisitos

Visão unificada dos requisitosAplicação simples que integra

todos os passosVerificação automática de erros

26-11-2007 ERSS 21

Page 22: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

FuturoFuturo

Introdução de notações personalizadas nos casos de uso

Suporte para requisitos não-funcionais

Integração da OCL (Object Constraint Language)

Transição da fase de requisitos para fase de desenho (Casos de uso para cenários)

Introdução de notações personalizadas nos casos de uso

Suporte para requisitos não-funcionais

Integração da OCL (Object Constraint Language)

Transição da fase de requisitos para fase de desenho (Casos de uso para cenários)26-11-2007 ERSS 22

Page 23: Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz

QuestõesQuestões

Modelo de estados é util sendo que sequências inválidas têm de ser removidas manualmente?

Poderá usar-se esta solução em qualquer contexto?

Como proceder num ambiente em que não o inglês?

Formalização do processo não torna o processo muito restrictivo?

Modelo de estados é util sendo que sequências inválidas têm de ser removidas manualmente?

Poderá usar-se esta solução em qualquer contexto?

Como proceder num ambiente em que não o inglês?

Formalização do processo não torna o processo muito restrictivo?

26-11-2007 ERSS 23