UML - Unified Modeling Language



Documentos relacionados
UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Engenharia de Requisitos Estudo de Caso

UML Linguagem de Modelagem Unificada

Wilson Moraes Góes. Novatec

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

guia prático 2a Edição Gilleanes T.A. Guedes Novatec

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

2 Diagrama de Caso de Uso

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

1 UML (UNIFIED MODELING LANGUAGE)

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Modelagem de Casos de Uso (Parte 1)

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

Ricardo Roberto de Lima UNIPÊ APS-I. Históricos e Modelagem Orientada a Objetos

Sumário. Uma visão mais clara da UML

Análise e Projeto de Sistemas

Projeto de Sistemas I

Modelagemde Software Orientadaa Objetos com UML

Engenharia de Software I: Análise e Projeto de Software Usando UML

O modelo unificado de processo. O Rational Unified Process, RUP.

CASO DE USO. Isac Aguiar isacaguiar.com.br

Engenharia de Software III

UML. Uma Abordagem Prática. Gilleanes T. A. Guedes. Novatec Editora

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

UML: Casos de Uso. Projeto de Sistemas de Software

A Linguagem de Modelagem Unificada (UML)

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas.

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Análise e Projeto Orientados a Objeto

Rock In Rio - Lisboa

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

Fase 1: Engenharia de Produto

REQUISITOS DE SISTEMAS

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Diagrama de Caso de Uso e Diagrama de Sequência

O Processo Unificado: Captura de requisitos

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Introdução à Engenharia de Software

Documento de Arquitetura

Lógica e Programação Java

MODELAGEM DE SISTEMAS

Requisitos. Sistemas de Informações

Orientação à Objetos. Aécio Costa

Unified Modeling Language UML - Notações

Orientação a Objetos I

Casos de Uso - definições

Desenvolvimento estruturado versus orientado a objetos.

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Levantamento, Análise e Gestão Requisitos. Aula 04

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências

Processo de Desenvolvimento Unificado

FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva

Uma Abordagem usando PU

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

O Processo Unificado

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Padrões de projeto 1

Resolução da lista de exercícios de casos de uso

Notas de Aula 04: Casos de uso de um sistema

Feature-Driven Development

rosefib.webnode.com.br

Tarciane Andrade.

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistemas Casos de Uso

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Uma visão mais clara da UML Sumário

02/10/2012. Padronização de interfaces. Referências

Fundamentos de Banco de Dados e Modelagem de Dados

Professor: Rômulo César BPMN

PROJETO DE FÁBRICA DE SOFTWARE

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

Análise e Projeto Orientados por Objetos

Transcrição:

UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril de 2008

Agenda 1 Introdução Conceitos básicos 2 UML Características Gerais da UML 3 Diagramas da UML Diagramas Estruturais Diagramas Comportamentais Ferramentas 4 Diagrama de Casos de Uso Definições 5 Exemplo Exercício 1

Agenda 1 Introdução Conceitos básicos 2 UML Características Gerais da UML 3 Diagramas da UML Diagramas Estruturais Diagramas Comportamentais Ferramentas 4 Diagrama de Casos de Uso Definições 5 Exemplo Exercício 1

Conceitos básicos Por que modelar Software? Melhorar a comunicação entre desenvolvedores, arquitetos e clientes Diminuir inconsistências no projeto Diminuir o tempo total de desenvolvimento Aumentar legibilidade Melhorar documentação e facilitar manutenção...

Conceitos básicos Levantamento e análise de requisitos Compreender as reais necessidades dos usuários Entrevistas Análise dos requisitos Garantir que as necessidades foram bem compreendidas Auxílio de uma linguagem de modelagem Quanto mais cedo uma inconsistência for identificada, menor o custo para corrigi-la

Conceitos básicos Prazos e custos Qual o real prazo de entrega Quantos profissionais deverão trabalhar? Qual o custo? Qual a complexidade?

Conceitos básicos Prazos e custos Qual o real prazo de entrega Quantos profissionais deverão trabalhar? Qual o custo? Qual a complexidade? Uma boa modelagem pode auxilar a responder essas perguntas Tempo: difícil precisar tempo total de desenvolvimento Custo: diretamente relacionado ao escopo e ao tempo previsto de desenvolvimento

Conceitos básicos Manutenção Autores afirmam que representa entre 40% e 60% do custo total de desenvolvimento de um software Modelagem diminui erros de especificação e compreensão dos requisitos Facilita a evolução do software Dinamicidade do ambiente Direção da empresa Leis ou alíquotas

Conceitos básicos Manutenção Autores afirmam que representa entre 40% e 60% do custo total de desenvolvimento de um software Modelagem diminui erros de especificação e compreensão dos requisitos Facilita a evolução do software Dinamicidade do ambiente Direção da empresa Leis ou alíquotas

Conceitos básicos Reuso Novos projetos podem se beneficiar do conhecimento gerado pela empresa em projetos anteriores Modelagem facilita a difusão do conhecimento gerado nos projetos Melhora as estimativas em novos projetos Diminui o custo e o prazo de desenvolvimento através da reutilização de rotinas, funções, algoritmos, documentos, casos de testes,...

Agenda 1 Introdução Conceitos básicos 2 UML Características Gerais da UML 3 Diagramas da UML Diagramas Estruturais Diagramas Comportamentais Ferramentas 4 Diagrama de Casos de Uso Definições 5 Exemplo Exercício 1

Características Gerais da UML UML - Unified Modeling Language Linguagem visual utilizada para modelar sistemas computacionais Definir características do software Requisitos Comportamento Estrutura lógica Dinâmica dos processos Arquitetura

Características Gerais da UML UML - Unified Modeling Language Linguagem visual utilizada para modelar sistemas computacionais Definir características do software Requisitos Comportamento Estrutura lógica Dinâmica dos processos Arquitetura

Características Gerais da UML UML - Unified Modeling Language Linguagem visual utilizada para modelar sistemas computacionais Definir características do software Requisitos Comportamento Estrutura lógica Dinâmica dos processos Arquitetura Definição Linguagem visual para especificar, visualizar, construir e documentar os artefatos gerados durante o processo de desenvolvimento de um sistema de software

Características Gerais da UML Histórico UML Primeira versão criada em 1996 a partir da união de três metodologias Booch OMT - Object Modeling Technique OOSE Object-Oriented Software Engineering Contou com o amplo apoio da Rational Software Adotada em 1997 pela OMG (Object Management Group) como a linguagem padrão de modelagem

Características Gerais da UML Histórico UML Primeira versão criada em 1996 a partir da união de três metodologias Booch OMT - Object Modeling Technique OOSE Object-Oriented Software Engineering Contou com o amplo apoio da Rational Software Adotada em 1997 pela OMG (Object Management Group) como a linguagem padrão de modelagem Recentemente lançada a versão 2.0 Melhoramento e criação de novos diagramas

Características Gerais da UML Para que servem os diagramas? Cada diagrama apresenta uma visão diferente do sistema. Cada diagrama é útil em um determinado estágio de desenvolvimento do sistema. Alguns enfocam uma visão mais geral como os Diagramas de Caso de Uso Enfoques mais específicos como os Diagramas de Seqüencia Outros níveis de detalhes apresentados pelos diagramas Organização estrutural do sistema Comportamento de um processo específico Necessidades físicas do sistema

Agenda 1 Introdução Conceitos básicos 2 UML Características Gerais da UML 3 Diagramas da UML Diagramas Estruturais Diagramas Comportamentais Ferramentas 4 Diagrama de Casos de Uso Definições 5 Exemplo Exercício 1

Diagramas Estruturais e Comportamentais Diagramas Estruturais Diagrama de Classes Diagrama de Objetos Diagrama de Componentes Diagrama de Implantação Diagrama de Pacotes Diagramas Comportamentais Diagrama de Casos de Uso Diagrama de Seqüencia Diagrama de Colaboração Diagrama de Gráfico de Estados Diagrama de Atividades

Diagramas Estruturais Diagrama de Classes Diagrama mais utilizado e importante da UML Define a estrutura das classes do sistema Determina atributos e métodos de cada classe, além de mostrar como as classes se relacionam

Diagramas Estruturais Diagrama de Classes Diagrama mais utilizado e importante da UML Define a estrutura das classes do sistema Determina atributos e métodos de cada classe, além de mostrar como as classes se relacionam

Diagramas Estruturais Diagrama de Implantação Necessidades de hardware Características físicas como servidores, estações, topologias Apresentar características de alto nível relevantes Identificar os elementos arquiteturais relevantes

Diagramas Estruturais Diagrama de Implantação Necessidades de hardware Características físicas como servidores, estações, topologias Apresentar características de alto nível relevantes Identificar os elementos arquiteturais relevantes

Diagramas Comportamentais Diagrama de Caso de Uso Diagrama mais geral e informal Levantamento e análise de requisitos Consultado durante todo o processo de modelagem

Diagramas Comportamentais Diagrama de Caso de Uso Diagrama mais geral e informal Levantamento e análise de requisitos Consultado durante todo o processo de modelagem

Diagramas Comportamentais Diagrama de Seqüencia Ordem temporal em que as mensagens são trocadas entre os objetos Identifica o evento gerador do processo, o ator responsável e como o processo irá se desenrolar

Diagramas Comportamentais Diagrama de Seqüencia Ordem temporal em que as mensagens são trocadas entre os objetos Identifica o evento gerador do processo, o ator responsável e como o processo irá se desenrolar

Ferramentas Ferramentas CASE - Computer-Aided Software Engineering Ferramentas que de alguma forma colaboram para a execução de uma ou mais atividades realizadas durante o processo de Engenharia de Software. 1 Rational Rose Mais conhecida e utilizada www.rational.com 2 Umbrello, JUDE, Visual Paradigm for UML, Poseidon for UML Ferramentas livres 3 Enterprise Architect Bastante completa www.sparxsystems.com.au

Agenda 1 Introdução Conceitos básicos 2 UML Características Gerais da UML 3 Diagramas da UML Diagramas Estruturais Diagramas Comportamentais Ferramentas 4 Diagrama de Casos de Uso Definições 5 Exemplo Exercício 1

Definições Diagrama de Casos de Uso Definição Os diagramas de caso de uso capturam o comportamento do sistema, de uma forma geral e informal, durante a fase de levantamento e análise de requisitos. Representam os requisitos funcionais do sistema

Definições Diagrama de Casos de Uso Definição Os diagramas de caso de uso capturam o comportamento do sistema, de uma forma geral e informal, durante a fase de levantamento e análise de requisitos. Representam os requisitos funcionais do sistema Apresenta uma visão geral externa das funções e serviços Não se preocupa como serão implementadas Identifica os usuários, os seus papéis e as funções que serão requisitadas por cada usuário específico

Definições Utilidade Servir como base para toda a modelagem do sistema Ilustrar o comportamento do sistema Facilitar compreensão Auxiliar na identificação de mal-entendidos

Definições Atores Papéis desempenhados por todos que de alguma forma utilizarão ou irão interagir com os serviços e funções do sistema Não são parte do sistema Usuários Hardware especial Software externo É qualquer elemento externo que interaja com o sistema

Definições Atores Papéis desempenhados por todos que de alguma forma utilizarão ou irão interagir com os serviços e funções do sistema Não são parte do sistema Usuários Hardware especial Software externo É qualquer elemento externo que interaja com o sistema

Definições Casos de Uso Serviços, tarefas ou funções que podem ser utilizados pelos atores Expressar e documentar os comportamentos pretendidos Representado por uma elipse e uma descrição sucinta e representativa

Definições Casos de Uso Serviços, tarefas ou funções que podem ser utilizados pelos atores Expressar e documentar os comportamentos pretendidos Representado por uma elipse e uma descrição sucinta e representativa Documentação fornece linhas gerais sobre seu funcionamento Evento gerador, atores ou restrições Formalismo fica à critério do engenheiro de software

Definições Relacionamentos entre Casos de Uso Especialização Dois ou mais casos de uso com características semelhantes Herança

Definições Relacionamentos entre Casos de Uso Especialização Dois ou mais casos de uso com características semelhantes Herança

Definições Relacionamentos entre Casos de Uso - Cont. Inclusão Serviço, situação ou rotina comum a mais de um Caso de Uso Evitar reescrita de trechos semelhantes Relação de obrigatoriedade (comparado a uma sub-rotina)

Definições Relacionamentos entre Casos de Uso - Cont. Inclusão Serviço, situação ou rotina comum a mais de um Caso de Uso Evitar reescrita de trechos semelhantes Relação de obrigatoriedade (comparado a uma sub-rotina)

Definições Relacionamentos entre Casos de Uso - Cont. Extensão Descrever cenários opcionais Situações específicas onde determinadas condições são satisfeitas

Definições Relacionamentos entre Casos de Uso - Cont. Extensão Descrever cenários opcionais Situações específicas onde determinadas condições são satisfeitas

Definições Documentação de Casos de Uso Descrever por meio de uma linguagem simples, e em linhas gerais, a função do Caso de Uso Não existe um formato padrão Flexível Ideal é que seja simples, de tal forma que qualquer pessoa possa entendê-la

Definições Documentação de Casos de Uso - Cont. É aconselhável que cada documentação contenha os seguintes campos: Pré-Condições: o sistema admite que tais condições são verdadeiras Ex. Para utilizar uma determinada função o usuário deve estar logado e autenticado Pós-Condições: descreve o que mudou com a execução do caso de uso Ex. Um usuário foi adicionado no sistema Fluxo Principal: descreve a seqüencia normal de eventos Representa as ações dos atores e a resposta do sistema para tais ações Fluxo Alternativo: qualquer seqüencia de eventos diferente do fluxo principal.

Agenda 1 Introdução Conceitos básicos 2 UML Características Gerais da UML 3 Diagramas da UML Diagramas Estruturais Diagramas Comportamentais Ferramentas 4 Diagrama de Casos de Uso Definições 5 Exemplo Exercício 1

No início de cada semestre os alunos devem requisitar um catálogo de cursos contendo os cursos oferecidos no semestre. Este catálogo deve conter informações a respeito de cada curso tais como: professor, departamento e pré-requisitos. Desse modo, os alunos podem tomar suas decisões mais apropriadamente. O novo sistema permitirá que os alunos selecionem quatro cursos oferecidos para o próximo semestre. Além disso, o aluno indicará dois cursos alternativos, caso o aluno não possa ser matriculado na primeira opção. Cada curso terá o máximo de 10 e o mínimo de 3 alunos. Um curso com o número de alunos inferior a 3 será cancelado. Para cada matrícula feita por um aluno, o sistema envia informação ao sistema de cobrança para que cada aluno possa ser cobrado durante o semestre. Os Professores devem acessar o sistema on- line, indicando quais cursos irão lecionar. Eles também podem acessar o sistema para saber quais alunos estão matriculados em cada curso. Em cada semestre, há um prazo para alteração de matrícula. Os alunos devem poder acessar o sistema durante esse período para adicionar ou cancelar cursos. Exercício 1 Especificação do problema

Exercício 1 Diagrama de Casos de Uso

Exercício 1 Diagrama de Casos de Uso

Exercício 1 Obrigado! marcio@great.ufc.br