análise e projeto oo com uml lição 3 especificação e ... reference... especificação e...

58
Especificação e Modelagem de Requisitos com UML 1 Curso de Análise e Projeto O.O. / Prof. Fábio Bianchi Lição 3 Especificação e Modelagem de Requisitos com UML Análise e Projeto OO com UML Prof. Fábio Bianchi Campos

Upload: phungdan

Post on 25-Jan-2019

212 views

Category:

Documents


0 download

TRANSCRIPT

Especificação e Modelagem de Requisitos com UML1

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Lição 3Especificação e Modelagem de

Requisitos com UML

Análise e Projeto OO com UML

Prof. Fábio Bianchi Campos

Especificação e Modelagem de Requisitos com UML2

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Objetivos Gerais

• Apresentar as características básicas de umaespecificação de requisitos;

• Apresentar os conceitos básicos da modelagem derequisitos, segundo a ótica dos “Use Cases”.;

• Apresentar o que são “Use Cases” e atores derequisitos;

• Apresentar os diagramas da UML que podem serutilizados na modelagem de requisitos.

Especificação e Modelagem de Requisitos com UML3

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Roteiro

• O Levantamento de Requisitos e a Modelagem de Requisitosno Mastermodel;

• Conceitos básicos e caracterização das fases;

• Atividades das fases;

• Conceitos de Use Case e atores e UML para a fase;

• Os modelos da fase com exemplos;

• Verificações e a fase;

• Iterações e a fase;

• Referências.

Especificação e Modelagem de Requisitos com UML4

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Motivação

• Quando vamos desenvolver um sistema, precisamosinicialmente definir “o que” o sistema irá fazer antesde efetivamente iniciarmos o desenvolvimento;

• Precisamos entender os reais “problemas” que osistema irá resolver;

• Precisamos saber claramente quem são as pessoasafetadas, direta e indiretamente pelo sistema;

• Para esclarecer os pontos acima que é criada umaespecificação de requisitos.

Especificação e Modelagem de Requisitos com UML5

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Requisitos

• São características desejadas, propriedades, oucomportamentos de um sistema;

• É uma condição ou capacitação que um sistemaou componente do sistema precisa atender outer para satisfazer um contrato, especificação ououtro documento formalmente estabelecido.

Especificação e Modelagem de Requisitos com UML6

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Levantamento de Requisitos

• O que é: é a definição das características epropriedades desejadas para o sistema que seráelaborado;

• Objetivos: Definir claramente o que se deseja dosistema a ser implementado;

• Quem participa: Contratantes do sistema, futurosusuários do sistema e analistas de requisitos;

• Técnicas utilizadas: Entrevistas e questionários,workshops de requisitos, interpretação de papéis,prototipação e outras.

Especificação e Modelagem de Requisitos com UML7

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Localização no MasterModel

MasterModel (Simplificado)

Descrição do

Negócio

F1

Levantamentode

Requisitos

Modelagemdo

Negócio

Modelagemde

Requisitos

F3

F2 F4

Análise

Projetoda

Arquiteturade

Implementação

Projeto do ComponentesVisuais

Projeto dos Componentesde Serviços / Negócios

Projeto dos Componentesde Dados

Integraçãoe

TestesPreliminares

F5 F6

F7.1

F7.2

F7.3

F8

Case

Case

Case

Descrição do NegócioDiagrama de Classes

(Negócio)

Diagrama de Estados

Diagramas de Sequência(Negócio)

AF 1.1 AF 3.2

AF 3.4

AF 3.3

Modelos Use Cases(Negócio)

AF 3.1

Modelos de Interface(Protótipo Visual)

AF 4.2

Especificação dos Requisitosdo Sistema

Revisões dos Requisitos

Modelos Use Cases(Requisitos)AF 2.1

AF 2.2n

AF 4.1

Diagramas de Sequência(Análise)

AF 5.1

Diagrama de Classes(Análise)

AF 5.2

Diagrama dos Subsistemas

AF 6.2

Relatório de Projeto

AF 6.3

Diagramas de Processadores eProcessos

AF 6.1

Diagramas

AF 7.1.2

Código Fonte

AF 7.1.1

Diagramas

AF 7.2.2

Código Fonte

AF 7.2.1

Diagramas DDLs

AF 7.3.2 AF 7.3.1

Fimda

Iteração n

Inícioda

Iteração n

Este documento é parte integrantedo curso de Análise e Projeto O.O

com UML

Versão: 3.0Agosto/1999

Autor: Fábio Bianchi Campos

Testes deCarga

eOtimizações

V2 V4

V1 V3

V5 V6

F9

V7.1

V7.2

V7.3

V8

V9

PlanilhaRequisitos

AF 4.3

Produto FinalVersão X.Y

AF 9.1

Fase: levantamentode requisitos

Artefato: especificaçãode requisitos

Especificação e Modelagem de Requisitos com UML8

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Técnicas p/ Levantamento de Requisitos

• Uma das técnicas p/ levantamento de requisitos é atécnica FAST;

• Leia o Texto1.pdf (do livro Engenharia de software /Pressman) onde existem mais informações sobre estatécnica;

• Após ler o texto faça o exercício proposto 1.

Especificação e Modelagem de Requisitos com UML9

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Exercício Proposto 1

• Qual a meta principal da técnica FAST?

• Quais são as 4 listas que os participantes de umencontro FAST são solicitados a elaborar?

Especificação e Modelagem de Requisitos com UML10

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Principais atividades doLevantamento de Requisitos

• Identificação e descrição do “problema” que o sistemapretende resolver;

• Descrição dos interessados no sistema e suasnecessidades principais;

• Descrição das características do sistema paraatendimento das necessidades dos interessados;

• Descrição dos requisitos funcionais do software;

• Descrição dos requisitos suplementares.

Especificação e Modelagem de Requisitos com UML11

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Exemplo: Biblioteca estudantil

• Para melhor entendimento dos conceitos, utilizaremos umexemplo de um sistema “real” ao longo de todo o curso;

• Este sistema deverá informatizar algumas operações de umabiblioteca;

• Este “caso” servirá de referência para exercícios e trabalhosao longo do curso, portanto é importante a máxima atençãona compreensão do mesmo;

• Serão mostradas a seguir algumas partes importantes daespecificação, a título de exemplo.

Especificação e Modelagem de Requisitos com UML12

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Descrição resumida do Problema

• O cadastramento de obras e o controle de empréstimos são as atividadesprincipais de uma biblioteca. A medida que o volume de obras em umabiblioteca aumenta e o número de usuários também, as atividades decontrole deste acervo vão se tornando intensas, dificultando a administraçãoda biblioteca. Os usuários também enfrentam problemas, pois têmdificuldade em localizar as obras desejadas, tendo que muitas vezes sedeslocar até a biblioteca e descobrir que o título desejado não existe nocadastro, ou as obras deste título estão emprestadas para outro usuário. Otempo elevado para a execução dos procedimentos operacionais dabiblioteca tem dificultado bastante a sua administração, requerendo umgrande número de funcionários. Os tempos de atendimento dos usuários dabiblioteca têm ficado cada vez maiores, o que tem causado insistentesprotestos dos alunos e professores que utilizam a biblioteca.

Especificação e Modelagem de Requisitos com UML13

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Identificação dos interessados

• Os operadores são os funcionários da biblioteca responsáveis pelas funçõesrotineiras como empréstimo de obras, cobrança de multas, cadastramento de usuários,cadastramento de obras, reservas e outros.

• Os usuários cadastrados podem reservar e retirar obras da biblioteca na forma deempréstimo. São aqueles que têm os seus dados cadastrados na biblioteca, comonome, endereço etc.

• Os administradores são os funcionários que gerenciam a biblioteca e terão acesso adados globais como: quantitativos de livros emprestados, índices de atraso nadevolução, índice de perdas de livros, livros mais solicitados, áreas mais solicitadasetc. São também os administradores que definem os parâmetros configuráveis dosistema, como limite de tempo para empréstimo, número de obras para empréstimo eetc.

Especificação e Modelagem de Requisitos com UML14

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Necessidades dos interessados

Os operadores têm as seguintes necessidades básicas:

• Atender rapidamente os usuários cadastrados que desejamtomar obras emprestadas.

• Fazer um controle rápido e eficiente das multas a pagarpelos usuários devedores.

• Controlar as reservas de títulos feitas pelos usuários demaneira eficiente.

• Cadastrar novos usuários da biblioteca de maneira maisflexível, facilitando a alteração de dados do usuário.

• Cadastrar novos títulos e obras de maneira eficiente.

Especificação e Modelagem de Requisitos com UML15

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Características do sistema

As principais características do sistema são:– Manter atualizado o cadastro de títulos da biblioteca.

• Manter atualizado o cadastro das obras disponíveis destes títulos e o seu status.

• Manter atualizado o cadastro de usuários da biblioteca.

• Permitir pesquisas remotas via internet usando computadores pessoais dosusuários.

• Pesquisas locais (na biblioteca) a partir de computadores da biblioteca.

• Controlar o empréstimo de obras.

• Permitir reservas via internet ou locais para os usuários cadastrados.

• Manter o controle das multas dos usuários.

• Gerar estatísticas de uso da biblioteca.

Especificação e Modelagem de Requisitos com UML16

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Requisitos de software

Reservar Título:

• O usuário cadastrado quando verificar que não há disponibilidade deobra do título desejado poderá fazer uma reserva para o mesmo. Estareserva poderá ser feita tanto em terminais locais da biblioteca comovia internet, pelo próprio usuário, ou poderá ser feita pelo operador,por solicitação do usuário. A reserva de títulos exige que o usuário ouo operador esteja previamente “logados” no sistema. Deve-se informarao sistema o código do usuário que deseja fazer a reserva eposteriormente o código do título desejado, caso não haja nenhumarestrição ao usuário ou ao título, o mesmo será reservado.

Especificação e Modelagem de Requisitos com UML17

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Texto complementar 2

• Leia o texto do arquivo Texto2.pdf (do livromanaging software requirements - Dean Leffingwell)e responda as questões a seguir, sobre Requisitos desoftware.

Especificação e Modelagem de Requisitos com UML18

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Exercício proposto 2

• De acordo com o autor, quais são as cinco categoriasde requisitos que tornam os requisitos de softwaresatisfatórios?

• Qual a importância para os desenvolvedores emtransformar as “características do sistema” em“Requisitos de Software”?

Especificação e Modelagem de Requisitos com UML19

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Especificação completa

• Uma versão completa da especificação de requisitosda biblioteca se encontra no arquivoespreq50_01.pdf, que pertence à lição número 3;

• Faça uma leitura rápida deste documento para ter umnoção do conteúdo de uma especificação;

• Este documento é o artefato produzido na faselevantamento de requisitos;

• Este documento será utilizado muitas outras vezes aolongo do curso, portanto é importante ter o mesmosempre disponível nas aulas.

Especificação e Modelagem de Requisitos com UML20

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Exercício proposto 3

• Qual item da especificação de requisitos(espereq50_01) você considera mais importante?

• Explique sua escolha.

Especificação e Modelagem de Requisitos com UML21

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Observações finais sobre requisitos

• O requisitos devem ser definidos de maneiraconservadora, isto é, deve-se centrar nas reaisnecessidades, e não em coisas que seriaminteressantes, mas que não são realmente necessárias;

• A Especificação de requisitos pode sofrer váriasmodificações no decorrer do sistema, estasmodificações devem ser documentadas econtroladas;

• A especificação de requisitos é puramente textual,portanto independente da UML.

Especificação e Modelagem de Requisitos com UML22

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Detalhamento dos requisitos

• Após o levantamento dos requisitos e elaboração daespecificação, os requisitos de software devem serdetalhados para facilitar a análise e projeto;

• O detalhamento destes requisitos será feito na fasemodelagem de requisitos;

• A técnica utilizada para a modelagem de requisitosserá a dos “Use Cases”.

Especificação e Modelagem de Requisitos com UML23

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Modelagem de requisitos

• O que é: Detalhamento dos requisitos funcionais definidos naespecificação de requisitos; A criação de modelos gráficosrepresentativos do que se deseja do sistema de informação a serimplementado

• Objetivos: Permitir uma estruturação preliminar do sistema deinformação que se quer desenvolver, do ponto de vista de quemutilizará o sistema;

• Quem participa: Contratantes do sistema, futuros usuários do sistemae analistas de requisitos;

• Característica:Abstração quanto a detalhes internos do sistema deinformação, dando mais importância ao ponto de vista externo dosistema.

• Técnica utilizada: Use Cases

Especificação e Modelagem de Requisitos com UML24

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Localização no MasterModel

MasterModel (Simplificado)

Descrição do

Negócio

F1

Levantamentode

Requisitos

Modelagemdo

Negócio

Modelagemde

Requisitos

F3

F2 F4

Análise

Projetoda

Arquiteturade

Implementação

Projeto do ComponentesVisuais

Projeto dos Componentesde Serviços / Negócios

Projeto dos Componentesde Dados

Integraçãoe

TestesPreliminares

F5 F6

F7.1

F7.2

F7.3

F8

Case

Case

Case

Descrição do NegócioDiagrama de Classes

(Negócio)

Diagrama de Estados

Diagramas de Sequência(Negócio)

AF 1.1 AF 3.2

AF 3.4

AF 3.3

Modelos Use Cases(Negócio)

AF 3.1

Modelos de Interface(Protótipo Visual)

AF 4.2

Especificação dos Requisitosdo Sistema

Revisões dos Requisitos

Modelos Use Cases(Requisitos)AF 2.1

AF 2.2n

AF 4.1

Diagramas de Sequência(Análise)

AF 5.1

Diagrama de Classes(Análise)

AF 5.2

Diagrama dos Subsistemas

AF 6.2

Relatório de Projeto

AF 6.3

Diagramas de Processadores eProcessos

AF 6.1

Diagramas

AF 7.1.2

Código Fonte

AF 7.1.1

Diagramas

AF 7.2.2

Código Fonte

AF 7.2.1

Diagramas DDLs

AF 7.3.2 AF 7.3.1

Fimda

Iteração n

Inícioda

Iteração n

Este documento é parte integrantedo curso de Análise e Projeto O.O

com UML

Versão: 3.0Agosto/1999

Autor: Fábio Bianchi Campos

Testes deCarga

eOtimizações

V2 V4

V1 V3

V5 V6

F9

V7.1

V7.2

V7.3

V8

V9

PlanilhaRequisitos

AF 4.3

Produto FinalVersão X.Y

AF 9.1

Fase:modelagem derequisitos

Artefatos:

Especificação e Modelagem de Requisitos com UML25

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Modelagem de Requisitos

• A modelagem de requisitos é a representação emforma gráfica (Use Case Model), textual(Descrições)e visual(Interfaces) dos requisitos do sistema que sedeseja implementar;

• O foco é a modelagem dos requisitos funcionais dosistema.

Especificação e Modelagem de Requisitos com UML26

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Motivações para modelagem de requisitos

• Gerar um conjunto de diagramas e interfaces quefacilitem a definição dos requisitos;

• A partir dos diagramas facilitar a comunicação entreanalistas e contratante, tornando a captura derequisitos mais eficiente;

• Servir como base para a implementação de sistemasde informação, que irão realizar os requisitosmodelados.

Especificação e Modelagem de Requisitos com UML27

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Modelo de Requisitos

• Capturar os requisitos a partir de uma perspectiva dousuário;

• Como um potencial usuário irá utilizar o sistema;

• Participação ativa dos usuários no acompanhamentodo desenvolvimento do modelo;

• Onde toda a funcionalidade do sistema éespecificada.

Especificação e Modelagem de Requisitos com UML28

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Exercício proposto 4

• Pesquise no MasterModel (entregue na lição 2) eresponda as questões a seguir:

• Qual artefato deve ser produzido antes damodelagem de requisitos?

• Que artefatos são produzidos na Modelagem derequisitos?

Especificação e Modelagem de Requisitos com UML29

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Atividades da Modelagem de Requisitos

• Definição dos candidatos a Use Cases e Atores;

• Elaborar diagrama preliminar com Use Cases e Atores;

• Descrição resumida dos atores, e descrição dos Use Cases

• Refinar o diagrama de Use Cases inicialmente elaborado;

• Elaborar protótipos visuais equivalentes aos Use Cases;

• Verificação geral dos diagramas.

Especificação e Modelagem de Requisitos com UML30

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Conceitos fundamentaisda Modelagem de Requisitos

• Use Cases;

• Atores.

Especificação e Modelagem de Requisitos com UML31

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Definição de Atores

• Aquilo que existe fora do sistema;

• Os atores representam aquilo que interage com o sistema;

• Tudo que troca informações com o sistema;

• O Atores são usuários desempenhando papéis específicos;

• Um usuário pode desempenhar vários papéis;

• Atores interagem com os “use cases”.

Especificação e Modelagem de Requisitos com UML32

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Exercício proposto 5

• Que diferentes papéis um mesmo funcionário de umalanchonete tipo Mac Donalds poderia desempenharem um dia de trabalho?

• Que diferentes papéis os funcionários da bibliotecapoderiam desempenhar?

Especificação e Modelagem de Requisitos com UML33

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Definição de Use Cases

• Quando um usuário utiliza o sistema, o mesmo irá conduziruma sequência de transações (na forma de diálogos) com osistema;

• A cada conjunto de transações com um objetivo específicochama-se de um “use case”;

• Cada “use case” representa uma maneira específica de seutilizar o sistema;

• Quando um usuário (no papel de um ator) gerar um estímuloinicial para o “use case” o mesmo irá iniciar a sequência detransações.

Especificação e Modelagem de Requisitos com UML34

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Exemplos de Use Cases (Banco)

• Terminal bancário:– Checar saldo;

– fazer saque;

– Tirar extrato;

– Depositar cheques;

– .....

Especificação e Modelagem de Requisitos com UML35

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Use Case segundo a UML

• Um “use case” é uma unidade coerente de funcionalidade,provida por um sistema, manifestada por uma sequência demensagens trocadas entre o sistema e um ou mais elementosde interação externo (atores), com ações executadas pelosistema;

• Um “use case” é a descrição de uma sequência de ações,incluindo as variações, que um sistema executa para atingirum resultado observável por um ator.

Especificação e Modelagem de Requisitos com UML36

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Definição original da UML

A use case is a coherent unit of functionality provided by a system, asubsystem, or a class as manifested by sequences of messagesexchanged among the system and one or more outside interactors(called actors) together with actions performed by the system.

An actor defines a coherent set of roles that users of an entity can playwhen interacting with the entity. An actor has one role for each usecase it communicates with.

Especificação e Modelagem de Requisitos com UML37

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Atores segundo a UML

• Um ator é um objeto (ou objetos) fora do sistemadesempenhando papéis, que interagem diretamente com osistema como parte de uma unidade coerente que é o “usecase”;

• Um objeto pode desempenhar vários papéis sendo entãomodelado por diversos atores;

• Pode ser representado por um retângulo com <<actor>> e onome do ator dentro do retângulo,

• Também podem ser representados pelo “homenzinho” (stickman).

Especificação e Modelagem de Requisitos com UML38

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Diagrama de Use Cases e Atores

use case 1

use case 3

use case 2

ator 1 ator 2

fronteira do sistema

Especificação e Modelagem de Requisitos com UML39

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Identificação preliminar de atores (1)Exemplo da biblioteca

• Os objetos externos que interagem com o sistema(biblioteca):– Qualquer pessoa;

– Usuários cadastrados;

– Operadores;

– Administradores;

– Suporte.

Especificação e Modelagem de Requisitos com UML40

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Identificação preliminar de Use Cases (1)Exemplo da biblioteca

• Identificar as funcionalidades acessíveis a cada grupo deobjetos externos:– Qualquer pessoa:

• Pesquisar a existência de títulos;

– Usuários cadastrados:

• Pesquisar e Reservar obras;

– Operadores:

• Reservar e Emprestar obras;

• Cadastrar usuários; Receber obra, Receber multa...

– Administradores:

• Cadastrar funcionários e acesso a relatórios administrativos eacesso total.

Especificação e Modelagem de Requisitos com UML41

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Candidatos a atores, papéis (2)

• Atendente (Faz empréstimo, reserva, recebe retorno,- só pode ser funcionário-operador);

• Cadastrador (Faz cadastro de usuários, títulos eobras - só pode ser funcionário-operador ) ;

• ......

Especificação e Modelagem de Requisitos com UML42

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Atores secundários

• Participam de “use cases” que não são fundamentaisdo ponto de vista dos “usuários” do sistema;

• Exemplo:– Papéis executados pelos “objetos” como o administrador e

pessoal de suporte, irão executar atividades internas comomudar valor da multa diária, alterar cotas de empréstimo,etc...;

Especificação e Modelagem de Requisitos com UML43

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Candidatos a Use Cases (2)

• Conjuntos de transações com um objetivo específico:– Pesquisar a existência de uma obra;

– Reservar título;

– Emprestar Obra;

– Devolver obra;

– Pagar multa;

– Cadastrar calouro;

– ...............

Especificação e Modelagem de Requisitos com UML44

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Cadastrador

Cadastrar Obra

atendente

Cadastrar Usuário

Emprestar de Obra

Devolver Obra UMLib

Diagrama preliminar dos Use Cases

Especificação e Modelagem de Requisitos com UML45

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Descrição detalhada do Use Case

• Nome:

• Atores que interagem:

• Ator que inicia:

• Pré-condições:

• Dados consumidos e produzidos:

• Resumo do curso principal:

• Sub-fluxos:

• Alternativas:

• Requisitos especiais:

Especificação e Modelagem de Requisitos com UML46

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Resumo curso principal

• “use case” Emprestar obra (curso principal):– Um usuário cadastrado após ter escolhido a obra que deseja levar como

empréstimo, e estando de posse da mesma, solicitará ao funcionário (atendente)que efetive o empréstimo desta. O atendente solicita ao usuário o seu código nosistema, e preenche (em um formulário na tela do seu computador deatendimento) o campo respectivo com o código do mesmo. Depois solicitaráao usuário que digite a sua senha no “keypad” .Posteriormente verifica naobra selecionada pelo usuário o número de tombo da mesmas entrando estenúmero no campo apropriado. Finalmente pressiona o botão para efetivar oempréstimo. Caso o usuário esteja habilitado ao empréstimo das obrassolicitadas, o sistema dará uma mensagem de sucesso. O atendente entãocarimbará as obras liberando as mesmas para o usuário.

Especificação e Modelagem de Requisitos com UML47

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Exercício proposto 6

• Com base na especificação de requisitos fornecida(espereq50_01.pdf) e no exemplo(UseCaseEmpObra.pdf) tente fazer um detalhamentosemelhante para o Use Case Reservar título.

Especificação e Modelagem de Requisitos com UML48

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Associações entre Use Cases

• Comunicação - relação entre um ator e um “usecase”;

• Extends - quando a funcionalidade embutida em um“use case” é uma opção de extensão dafuncionalidade de um outro “use case”;

• Include - indica que a funcionalidade de um “usecase” está incluída no outro, no curso principal.

Especificação e Modelagem de Requisitos com UML49

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Trabalho de pesquisa p/ casa

• Pesquise na norma UML e no livro texto do curso, asrelações Extend e Include entre Use Cases. Faça umresumo do significado de cada uma, cite em quecasos devem ser usadas e dê exemplos.

• Este trabalho deve ser feito até o dia 30/8 e enviadopor e-mail para [email protected] colocando na linhade assunto APSIIturmaTP1_matricula. Exemplo delinha de assunto APSIINKATP1_98123456. Colocarno corpo do trabalho o nome, matrícula e turma.

Especificação e Modelagem de Requisitos com UML50

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Protótipo das Interfaces

• Servem como complemento aos “use cases”;

• Pode ser utilizada a técnica de prototipação, para semostrar ao usuário uma sequência de telas ao se“executar” um “use case”.

Especificação e Modelagem de Requisitos com UML51

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Formulário Principal Emprestar Obra

Especificação e Modelagem de Requisitos com UML52

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

revisão das atividades

• Definição dos canditados a Use Cases e Atores;

• Elaborar diagrama preliminar com Use Cases e Atores;

• Descrição resumida dos atores, e descrição dos Use Cases

• Refinar o diagrama de Use Cases inicialmente elaborado;

• Elaborar protótipos visuais equivalentes aos Use Cases;

• Verificação geral dos diagramas.

Especificação e Modelagem de Requisitos com UML53

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Verificações e inspeções

• Verificar coerência entre os modelos gerados eespecificação de requisitos;

• Verificar coerência entre os use cases e as interfaces.

Especificação e Modelagem de Requisitos com UML54

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Iterações

• Na primeira iteração devem ser identificados emodelados os use cases mais significativos dosrequisitos, Ex: EmprestarObra, ReservarTitulo,DevolverObra, CadastrarTitulo, CadastrarObra eCadastrarUsuario,.......

• Deve-se também tentar nas primeiras iteraçõesidentificar os use cases que tenham maior interaçãocom os atores, que envolvam maiores riscos e quevenham a ter maiores impactos na arquitetura.

Especificação e Modelagem de Requisitos com UML55

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Exercício proposto 7

• No exemplo da biblioteca, qual Use Case você achaque teria um maior impacto na arquitetura dasolução? Explique sua escolha.

Especificação e Modelagem de Requisitos com UML56

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Prática de laboratório

• Após estudar no tutorial da ferramenta Rose comocriar um Use Case, um ator e um diagrama de usecases, criar (utilizando a versão 4.0 da ferramenta dolaboratório) um diagrama de use cases da biblioteca(como o da transparência 44) com pelo menos 8 UseCases da biblioteca. Descrever o resumo do fluxoprincipal de pelo menos 3 Use Cases.

• Obs: nesta fase não deve ser utilizada versão maisrecente da ferramenta.

Especificação e Modelagem de Requisitos com UML57

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Observações Finais

• Os use cases conduzem todo o desenvolvimento, oque permite uma coerência entre os modelos geradosnas diversas fases, pois todos estarão centrados emrefinar os use cases. Outras metodologias (ouprocessos) não têm esta abordagem, tentamidentificar todos os objetos, suas relações eposteriormente fazer algum tipo de modularização.

Especificação e Modelagem de Requisitos com UML58

Curso de A

nálise e Projeto O.O

. / Prof. Fábio Bianchi

Referências

• Jacobson, Ivar; Booch, Grady; Rumbaugh, James. TheUnified Software Development Process. Addison-WesleyLongman, Inc, 1999.

• Kruchten, Philippe. The Rational Unified Process - AnIntroduction. Addisson Wesley Longman Inc, 1999.

• Unified Modeling Language - Notation Guide - V. 1.3 R9January 1999. OMG.