aula 6 -_casos_de_uso

37
UML FUNDAMENTOS DE UML Profs: Edgar Gemo Zeferino Saugene

Upload: portaldoestudanteads

Post on 26-Dec-2014

493 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Aula 6 -_casos_de_uso

UML

FUNDAMENTOS DE UML

Profs: Edgar GemoZeferino Saugene

Page 2: Aula 6 -_casos_de_uso

UML

A Linguagem de Modelagem Unificada (Unified Modelling Language - UML) é uma linguagem de representação diagramática ou notação paraespecificar, visualizar e documentar modelos de sistemas de software Orientados à Objecto.

A UML não é um método de desenvolvimento, o quesignifica que ela não diz para você o que fazer primeiroe em seguida ou como desenhar seu sistema, mas elelhe auxilia a visualizar seu desenho e a comunicaçãoentre objectos.

A UML é controlada pelo Grupo de Gestão de Objecto(Object Management Group - OMG) e é um padrão daindústria para descrever graficamente software.

FUNDAMENTOS DE UMLFUNDAMENTOS DE UML

Page 3: Aula 6 -_casos_de_uso

UML

A UML é voltada para o desenho de software Orientado àObjecto e tem um uso limitado para outros paradigmas de programação.A UML é composta por muitos elementos de modelo querepresentam as diferentes partes de um sistema de software. Os elementos UML são usados para criar diagramas, querepresentam um determinada parte, ou um ponto de vista do sistema.

Os seguintes tipos de diagramas são suportados:

Diagrama de Caso de Uso mostra actores (pessoas ou outrosusuários do sistema), casos de uso (os cenários onde eles usam o sistema), e seus relacionamentos;

Diagrama de Classe mostra classes e os relacionamentos entre elas;

FUNDAMENTOS DE UMLFUNDAMENTOS DE UML

Page 4: Aula 6 -_casos_de_uso

UML

Diagrama de Sequência mostra objectos e uma sequência das chamadas do método feitas para outros objectos;

Diagrama de Colaboração mostra objectos e seus relacionamentos, colocando ênfase nos objectos que participam na troca de mensagens;

Diagrama de Estado mostra estados, mudanças de estado e eventosnum objecto ou uma parte do sistema;

Diagrama de Actividade mostra actividades e as mudanças de umaactividade para outra com os eventos ocorridos em alguma parte do sistema;

Diagrama de Componente mostra os componentes de programaçãode alto nível (como KParts ou Java Beans);

Diagrama de Distribuição mostra as instâncias dos componentes e seus relacionamentos.

FUNDAMENTOS DE UMLFUNDAMENTOS DE UML

Page 5: Aula 6 -_casos_de_uso

UML

Diagramas Use Cases

Profs: Edgar GemoZeferino Saugene

Page 6: Aula 6 -_casos_de_uso

UML

Use Cases• Os Uses Cases ou ”casos de utilização”

constituem em UML uma técnica para representar o levantamento de requisitos do sistema (Nunes, 2001)

• Desde sempre que o correcto levantamento de requisitos no desenvolvimento de sistemas de informação tenta garantir que o sistema seráútil para o utilizador final, estando de acordo com as suas necessidades (Nunes, 2001:13)

Page 7: Aula 6 -_casos_de_uso

UML

Requisito

• O requisito num sistema é uma funcionalidade ou característica considerada relevante na óptica do utilizador (Nunes, 2001).

Page 8: Aula 6 -_casos_de_uso

UML

Requisitos

• Os requisitos podem ser classificados em 3 categorias, de acordo com Bennet (2003):– Funcionais– Não funcionais– Facilidades de Utilização (Usability)

Page 9: Aula 6 -_casos_de_uso

UML

Requisitos Funcionais

• Descrevem o que o sistema faz ou éesperado que faça.

• Estes são os requisitos que inicialmente serão levantados, abrangendo a descrição de processamentos a efectuar pelo sistema, entradas e saídas de informação em papel ou em écran que derivam da interacção com pessoas e outros sistemas.

Page 10: Aula 6 -_casos_de_uso

UML

Requisitos Não Funcionais

• Relacionados com as características qualitativas do sistema, descrevendo a qualidade com que o sistema deverá fornecer os requisitos funcionais.

• Abrange medidas de desempenho como por exemplo, tempos de resposta, volume de dados ou considerações de segurança.

Page 11: Aula 6 -_casos_de_uso

UML

Requisitos de Facilidade de Utilização (Usability)

• Garantem que existirá uma boa ligação entre o sistema desenvolvido, utilizadores do sistema e também as tarefas que desempenham utilizando o sistema

Page 12: Aula 6 -_casos_de_uso

UML

Diagrama de Use Case

• Os diagramas de Use Case são utilizados para a apresentação de requisitos e para assegurar que tanto o utilizador final como o analista/desenvolvedor possuam um entendimento comum dos requisitos.

• O seu objectivo é mostrar o que um sistema deve efectuar e não como o vai fazer.

Page 13: Aula 6 -_casos_de_uso

UML

Diagramas de Use Cases

• São usados para modelar o contexto de um sistema, subsistema ou classe

• São uma das maneiras mais comuns de documentar os requisitos do sistema– Delimitam o Sistema– Definem a funcionalidade do sistema

Page 14: Aula 6 -_casos_de_uso

UML

Diagrama de Use Case

• Estes diagramas utilizam as seguintes abstracções de modelação:– Use Cases– Actores– Relações

• Uses• Extends• Generalização

Page 15: Aula 6 -_casos_de_uso

UML

Use Case

• Um Use Case deve definir o uso de uma parte da funcionalidade de um sistema,sem relevar a estrutura e o comportamento interno desse sistema

Page 16: Aula 6 -_casos_de_uso

UML

Use Case

• Contém sequências de acções, interagindo com os actores que usam a aplicação

• Inclui variantes, rotinas de erro, etc. que o sistema executa para produzir um resultado observável para um actor

Page 17: Aula 6 -_casos_de_uso

UML

Use Case: Representação Gráfica

Matricular estudante Solicitarhistórico

Verificarpré-requisitos

• A colecção dos use cases deverá especificar todas as formas existentes de uso do sistema

Page 18: Aula 6 -_casos_de_uso

UML

Actores

• O sistema será descrito através de vários use cases que são executados por um número de actores.

• Um actor representa uma entidade externa ao sistema que interage de alguma forma com um Use case.

• Estes podem ser pessoas ou outros subsistemas que interagem com o sistema em desenvolvimento

Page 19: Aula 6 -_casos_de_uso

UML

Actores - Notação

Sistema de controlede pre-requisitos

EstudanteSecretáriaDocente

Page 20: Aula 6 -_casos_de_uso

UML

Actores: Especialização

• É possível definir tipos gerais de actores e especializá-los usando o relacionamento de especialização

Cl ient e

Cli enteE s pec ial

Page 21: Aula 6 -_casos_de_uso

UML

Comunicação Actor – Use Case

• A representação da comunicação entre um actor e os use cases pode ser uma simples linha recta ou recta cujas pontas indicam a direcção da comunicação:

• Linha Recta Simples• Seta Unidireccional

É normal usarmos tanto a primeira como a segunda alternativa. A primeira usa-se para casos mais simples, enquanto que a segunda para mais complexos.

Page 22: Aula 6 -_casos_de_uso

UML

Diagrama de Use Case

Gerar Relatório

Retornar Item

Mudar ItemCliente

Operador

Page 23: Aula 6 -_casos_de_uso

UML

Organizando Use Cases

• Generalização• Inclusão - <<uses>> ou

<<includes>>• Extensão - <<extends>>

Page 24: Aula 6 -_casos_de_uso

UML

Relação de <<uses>>

• Os use cases podem estar relacionados entre si.

• <<Uses>> significa que um determinado use case utiliza a funcionalidade disponibilizada num outro use case.

• Alguns autores utilizam a relação <<includes>> em vez de <<uses>>

Page 25: Aula 6 -_casos_de_uso

UML

Relação de <<extends>>

• A relação <<extends>> ocorrequando existe um comportamentoopcional que deve ser incluído num use case. Este comportamento édefinido num segundo use case e invocado pelo use case base, atravésde um mecanismo de pontos de extensão.

Page 26: Aula 6 -_casos_de_uso

UML

Generalização

• A relação de generalização é utilizada quando existe um use case particular de um outro use case.

• A generalização usufrui das mesmas propriedades que uma relação pai/filho, onde o use case “filho” herda ou substitui por completo o comportamento do use case “pai”

Page 27: Aula 6 -_casos_de_uso

UML

Estruturação Use Case

<<extends>>

Fazer PedidoPontos de extensãoset prioridade

Fazer Pedido Urgente

Use Case Fazer Pedido Fluxo principal de eventos: inclui (Validar usuário). Receber do usuário os itens do pedido. (set prioridade). Submeter o pedido para processamento

<<include>>

Validarusuário

Verificar senha

Teste deretina

é-um

é-um

Page 28: Aula 6 -_casos_de_uso

UML

Comparação entre Relacionamentos

• A vantagem comum dos relacionamentos de inclusão, extensão e generalização é que eles possibilitam manter a descrição dos use cases o mais simples possível.

• Porém, não se recomenda o uso em excesso destes relacionamentos, sob o risco de se obter um modelo de use case com vários relacionamentos e de difícil entendimento.

Page 29: Aula 6 -_casos_de_uso

UML

• Uma dúvida comum é saber que tipo de relacionamento utilizar numa dada situação. Na verdade, não existem regras para saber quando utilizar um ou outro relacionamento; existem somente heurísticas:– Use inclusão quando o mesmo

comportamento se repete em mais de um use case. Esse comportamento deve ser definido num novo use case, o chamado include use case.

Comparação entre Relacionamentos

Page 30: Aula 6 -_casos_de_uso

UML

Comparação entre Relacionamentos

– Use extensão quando o comportamento opcional de um caso de uso tiver de ser descrito. Note que alguns cenários estendidos podem não usar esse comportamento opcional. O extensor faz referência ao estendido; o estendido não sabe que o extensorexiste.

– Use herança quando quiser identificar 2 casos de uso com comportamento semelhante e um deles for uma forma especial do outro. O caso de uso mais específico herda todo comportamento e relacionamento mais genérico, porém pode adicionar mais comportamento e ter seus próprios relacionamentos. O específico faz referência ao geral e o geral não sabe que ele existe.

Page 31: Aula 6 -_casos_de_uso

UML

Diagramas de Use Cases

Estudante

Secretária

<<extends>> Solicitar histórico dosemestre atual

Solicitar histórico detodos os semestres

Solicitarhistórico

<<extends>>

Verificardependências

Matricularaluno<<includes>>Sistema de controle

de pré-requisitos

Page 32: Aula 6 -_casos_de_uso

UML

Cenários

• Cada use case identificado deve ser detalhado em termos de cenários de utilização.

• Estes cenários são os possíveis caminhos seguidos dentro do use case, de forma a fornecer ao actor uma resposta (Sheneider e Winters, 1999)

Page 33: Aula 6 -_casos_de_uso

UML

Cenários• Um Cenário é uma execução específica de um use

case; pode ser visto como uma instância de um use case.

• Para cada use case podem existir diversos cenários

• Estes cenários podem estar representados de 2 formas: • Forma Descritiva – descrição dos cenários usando um

texto livre• Forma Estruturada – conjunto de passos numerados.

Não existe uma estrutura padrão para esta forma, encontrando-se diversas formas diferentes de acordocom cada autor.

• Esta descrição deve incluir todos os detalhes encontrados na análise (actores, dados, processo) de forma a aumentar a informação disponível

Page 34: Aula 6 -_casos_de_uso

UML

Descrição EstruturadaUse case:

Actor:

Descrição:

Pré-Condição:

Variações:

Pós-Condição:

Descrição Estruturada de acordo com Larman (2001)

Page 35: Aula 6 -_casos_de_uso

UML

Exemplo de Descrição EstruturadaUse case: Registar Inscrição

Actor: Estudante, Secretaria

Descrição: 1 – Estudante/secretaria solicita a realização dainscrição2 – o sistema apresenta as disciplinas disponiveispara o semestre corrente3 – o estudante/secretaria selecciona as disciplinaspretendidas e as submte-as para a inscrição4 – O sistema valida a informação5 – O sistema envia os dados do estudante para o sistema de facturação e envia mensagem de sucesso

Pré-Condição: Estudante está identificado pelo sistemaEstudante requer inscrição

Variações: 4.1 – Informação Correcta4.2 – Informação Incorrecta4.3 – Informação Incompleta

Pós-Condição: Estudante inscrito ou Mensagem de Erro

Page 36: Aula 6 -_casos_de_uso

UML

Exercicios• Considerando o sistema de registo académico do Ustm,

descreva de forma estruturada o use case responsável pelainscrição de um estudante e o que regista um estudante no sistema e faca o diagrama de use case correspondente.

• Suponha que existe um caso de uso Pagar Pedido num sistema, que é realizado por um actor Cliente. Neste caso de uso, o cliente realiza o pagamento de um pedido em algummomento do passado. Considerando este caso de uso, poderá pensar em algum outro caso de uso para estesistema?

Page 37: Aula 6 -_casos_de_uso

UML

Bibliografia

• Bennett, S. et all (2002) object-oriented systems analysis and design using uml, U.S., Mc Graw-Hill Education

• Bezerra, E. (2003), Princípios de Análise e Projecto de Sistemas com UML, Rio de Janeiro, Editora Campus Ltda

• Neto, A.C. (2001), Análise e Projeto de Sistemas I, http://www.dcce.ufs.br

• Nunes, M. e O´Neill (2001), Fundamental de UML, Lisboa, FCA - Editora de Informática

• Larman, C. (2001); Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design andthe Unified Process, USA, Prentice Hall PTR – 2ª Edição

• Shneider, G. e winters, J. P. (1999), Applying Use Cases – A pratical guide, Addison Wesley