Memória de Aula 04: Desenvolvimento de Sistemas Introdução a UML Diagramas de Caso de Uso Profª Eliane Costa Santana.

Slides:



Advertisements
Apresentações semelhantes
(Unified Modeling Language)
Advertisements

Análise e Projeto de Sistemas
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Revisão 2º Bimestre Engenharia de Software I
UML e a Ferramenta Astah
Modelo de Caso de Uso Wedson Quintanilha da Silva
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Arquitetura de Sistemas de Software
Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de dados Oracle Wagner da Silva Orientando Prof. Alexander Roberto Valdameri.
07/06/ João Paulo Pizani Flor ( Síntese comportamental de componentes de um Sistema Operacional em hardware João Paulo Pizani.
COMPONENTE DE GERAÇÃO DE BOLETOS BANCÁRIOS EM DELPHI Aluno: Jonas Ricardo Viel Prof. Adilson Vahldick - Orientador.
EA976 – Engenharia de Software AULA 19 Pré-Projeto e Modelagem de Negócios.
Recuperação de Arquitetura de software Servidores de aplicação J2EE Michelet del Carpio 22/9/ DSL.
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Diagrama de Implementação Professor Sandro Carvalho.
Ambiente Virtual de Avaliações Utilizando Certificados Digitais Fernando Gevard – Acadêmico Paulo Fernando da Silva - Orientador.
DIAGRAMA DE SEQUENCIA Sandro Carvalho. OBJETIVO DO DIAGRAMA Apresentar as interações entre objetos na ordem temporal em que elas acontecem.
Análise de Sistemas ll Profª Andrea Padovan Jubileu Daiane Oliveira Daniele Pires Izabele Messias.
Diagramas Dinâmicos Diagramas de Interação Diagramas de Sequência Diagramas de Colaboração Diagramas de Estado (Statechart) Diagramas de Atividade.
SISTEMA DE GESTÃO E DIVULGAÇÃO DE IMÓVEIS
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 10
Valéria Maria Lauande Março/2010
UNIVERSIDADE REGIONAL DE BLUMENAU
Criação: Caroline Brasileiro Atualização: Laura Matos
Introdução OO.
UML : Unified Modeling Language
Introdução ao RUP – Rational Unified Process
Processos Desenvolvimento de Software Tradicionais
Análise e Projeto de Sistemas II
Orientanda: Ana Paula Joslin de Oliveira
Especificação de Caso de Uso
Modelagem de Processos Usando SPEM e BPMN
Tema 4 - Modelagem ER: Técnicas e Ferramentas
UML – Visão Geral.
Diagrama de Estado Prof. Thales Castro.
UML: Casos de Uso.
Diagrama de Atividade Prof. Thales Castro.
Introdução à programação orientada por objetos
UML – Visão Geral.
Modelagem de Sistemas I Aula 1 – Introdução à UML
Modelagem Orientada a Objetos com UML
Modelagem de Banco de Dados através do ERwin
Revisão Requisitos e Casos de Uso
Desenvolvimento em Camadas
BANCO DE DADOS I.
Projeto Orientada a Objetos
UML Diagrama de Classes
Modelagem de Objetos de Domínio com Diagrama de Classes
GSI030 – engenharia de software
Requisitos e UML Prof Msc Wollace Picanço. / Agenda Requisitos –O que é ? –Objetivos? –Atividades? –... UML –O que é ? –Modelos –... Casos de Uso –O que.
Produto UFAM em UML Universidade Federal do Amazonas
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 09
Trabalho de Conclusão de Curso I
MER – Modelo de Entidade Relacionamento
Aula 5 – Ferramentas de Modelagem
Título do Trabalho Trabalho de Conclusão de Curso (1 ou 2)
DIAGRAMA DE CASOS DE USO
Prof. Luís Fernando Garcia
UML : Unified Modeling Language
Soluções Inteligentes para ONGs Esportivas
GSI030 – engenharia de software
Visão Geral do RUP.
Módulo III Capítulo 2: SQLite
Modelagem Entidade-Relacionamento (MER)
Paradigma de Orientação a Objetos
Prof. Marcio Ferreira Modelagem de dados II
Metodologias de Desenvolvimento de Sistemas
Análise e Projeto de sistemas Profa. Cynara carvalho
Modelagem de Banco de Dados
Transcrição da apresentação:

Memória de Aula 04: Desenvolvimento de Sistemas Introdução a UML Diagramas de Caso de Uso Profª Eliane Costa Santana

3)Referenciais Bibliográficos BÁSICAS: GUEDES, Gilleanes T. A. UML 2 - Uma Abordagem Prática. Editora Novatec. BOOCH, Grady; RUMBAUGH, James, JACOBSON, Ivar UML – Guia do Usuário. Editora Campus. Profª Eliane Costa Santana

UML – Unified Modeling Language Desenvolvida por Grady Booch, James Rumbaugh, e Ivar Jacobson que são conhecidos como "os três amigos“ A UMLé a junção de três metodologias: Booch, OMT e OOSE/Objectory Profª Eliane Costa Santana

UML – Unified Modeling Language VersãoAnoPrincipais Fatos Ocorridos. UML Lançamento do primeiro esboço da UML. UML Integração de Jacobson à equipe da Rational Software, e seu método OOSE à expansão do escopo da UML; formação de um consórcio de empresas, com o objetivo de apoiar a definição da UML. UML A UML foi submetida como candidata a linguagem-padrão de modelagem à OMG (Object Management Group, uma entidade de padronização estabelecida pela indústria de software). UML Expansão do consórcio formado por empresas para apoiar a definição da UML, e aceitação da UML pela OMG. UML Revisões e novas padronizações UML Revisões e novas padronizações UML 1.4, Revisões e novas padronizações UML a 2003Várias novidades em relação as versões anteriores UML Versão oficial adotada pelo OMG ( Profª Eliane Costa Santana

UML – Unified Modeling Language A UML não é uma linguagem, mas sim uma família de linguagens gráficas para modelar e construir sistemas – Inclui modelos para diferentes fases de desenvolvimento A UML foi pensada para o desenvolvimento de sistemas orientado a objetos, mas é independente da linguagem de programação a utilizar – Permite explorar o paradigma orientado a objetos Profª Eliane Costa Santana

UML – Unified Modeling Language UML não é uma metodologia – Não diz quem deve fazer o quê, quando e como A UML possibilita a trabalhar em diferentes níveis de abstração facilitando a comunicação e a análise Profª Eliane Costa Santana

UML – Unified Modeling Language A UML não é um processo de desenvolvimento de software, mas pode ser utilizada em diferentes processos A UML é suportada por ferramentas : – Rational Rose (IBM), Together (Borland), Visual Paradigm, Poseidon, Jude, Umbrela, etc.... Profª Eliane Costa Santana

O que a UML não é Uma linguagem de programação visual e sim uma linguagem para modelagem visual A UML não é um processo de desenvolvimento de software, mas pode e deve ser aplicado a um Profª Eliane Costa Santana

Objetivos da UML Auxiliar engenheiros de software a definir características do software como: – Requisitos – Comportamentos – Estrutura lógica – Dinâmica dos processos – Necessidades físicas – Etc... Profª Eliane Costa Santana

Propósitos da UML A UML é uma linguagem destinada a: – Documentar – Visualizar – Especificar – Construir Profª Eliane Costa Santana

Documentar Artefatos como requisições de negócios, modelo de arquitetura, código fonte, modelo de análise, protótipo e outros documentos, pode ser documentados com a UML. Profª Eliane Costa Santana

Visualizar No processo de desenvolvimento de sistemas, é quase impossível a visualização de toda a sua estrutura sem um modelo que o represente. Dessa forma, a UML disponibiliza símbolos gráficos para a representação de artefatos de software Profª Eliane Costa Santana

Especificar Especificar significa: construir modelos precisos, sem ambigüidades e completos. A UML atende todos os requisitos de especificação dentro de um processo, desde a fase de análise até a fase de testes e implementação do sistema concluído

Construir Na UML é possível realizar um mapeamento dos modelos gerados, para as linguagens de programação e até mesmo para banco de dados relacionais ou orientados a objetos

Diagramas da UML Por que tantos diagramas??? – Fornecer múltiplas visões do sistema a ser modelado, analisando-o e modelando-o sob diversos aspectos. – Procurar atingir a completitude da modelagem, permitindo que cada diagrama complete o outro.

Diagramas da UML (continuação) Por que tantos diagramas??? – Cada diagrama da UML analisa o sistema, ou parte dele, sob uma determinada ótica. – A utilização de vários diagramas permite que falhas sejam descobertas, diminuindo a possibilidade da ocorrência de erros futuros.

Diagrama na UML Um diagrama é a apresentação gráfica de um conjunto de elementos, geralmente representados como gráficos de vértice (itens) e arcos (relacionamentos) (Booch, et al). Um diagrama constitui uma projeção de um determinado sistema.

Blocos de construção da UML Itens – Itens estruturais (estáticos) – Itens comportamentais (dinâmicos) – Itens de agrupamento (pacotes) – Itens anotacionais (notas) Relacionamentos – Dependência – Associação – Generalização – Realização Diagramas – Os 13 diagramas (serão vistos mais a frente)

Itens Os itens são blocos de construção da modelagem orientada a objetos. Existem quatro tipos de itens na UML. São eles: – Itens estruturais (estáticos): representam a estrutura do modelo, elementos conceituais e físicos (classes, colaborações, caso de uso, etc.) – Itens comportamentais (dinâmicos): definem o comportamento do modelo (interações e estados dos objetos)

Itens (continuação) Os itens são blocos de construção da modelagem orientada a objetos. Existem quatro tipos de itens na UML. São eles: – Itens de agrupamento (pacotes): são partes organizacionais da UML. – Itens anotacionais (notas): são as partes explicativas da modelo na UML (comentário e observações de esclarecimentos no modelo

Itens estruturais (estáticos) São partes estáticas do modelo, representando elementos conceituais ou físicos. Ex: classe Caso de uso

Itens Comportamentais (dinâmicos) Os itens dinâmicos representam as partes de um sistema que possam ter alguma alteração. Ex: Mensagem

Itens de Agrupamento (Pacotes) Partes organizacionais dos modelos da UML. São blocos em que os modelos podem ser decompostos. Ex:

Itens Anotacionais (Notas) São partes explicativas dos modelos. São comentários, incluídos pra descrever, esclarecer e fazer alguma observação sobre qualquer elemento do modelo. Ex:

Relacionamentos na UML Associação Generalização Dependência Realização

Relacionamento Associação Associação: relacionamento estrutural entre classes que descreve um conjunto de ligações, em que as ligações são conexões entre objetos que são instâncias das classes Ex:

Relacionamento e Generalização Generalização: é um relacionamento de especialização/generalização, no qual os objetos dos elementos especializados (filhos) são substituíveis por objetos do elemento generalizado (os pais). Desta maneira, os filhos compartilham a estrutura e o comportamento dos pais (herança). Ex:

Relacionamentos Dependência Dependência: é um relacionamento semântico entre itens, nos quais a alteração de um (o item independente) pode afetar a semântica do outro (o item dependente) Ex:

Relacionamento de Realização Relacionamento especial que mistura características dos relacionamentos de generalização e dependência, utilizada no Diagrama de Classes por identificar classes que executam funções para as classes que representam interfaces. Ex:

Diagramas da UML Diagrama de Caso de Uso 2.Diagrama de Classe 3.Diagrama de Objetos 4.Diagrama de Estrutura Composta 5.Diagrama de Seqüência 6.Diagrama de Colaborações (Comunicação na UML 2.0) 7.Diagrama de Gráfico de Estados (Máquina de Estados na UML 2.0) 8.Diagrama de atividades 9.Diagrama de componentes 10.Diagrama de implantação 11.Diagrama de Pacotes 12.Diagrama de Interação Geral 13.Diagrama de Tempo UML 2.0

Síntese Geral dos Diagramas – UML 2.0 Diagrama Diagrama Estrutural (estáticos)Diagrama Comportamental (dinâmicos) Diagrama de Classes Diagrama de Objetos Diagrama de Implantação Diagrama de Caso de Uso Diagrama de Atividades Diagrama de Máquina de Estados Diagrama de Estrutura Composta Diagrama de Componentes Diagrama de Pacotes Diagrama de Interação Diagrama de Seqüência Diagrama Interação Geral Diagrama de Comunicação Diagrama de Tempo

Diagramas de Caso de Uso Apresenta uma visão externa das funcionalidades que o sistema deverá oferecer aos usuários. Auxilia para a compreensão dos requisitos do sistema, ajudando a especificar, visualizar e documentar as características, funções e serviços do sistema desejados pelo usuário. Tenta identificar os tipos de usuários que irão interagir com o sistema, quais papéis esses usuários irão assumir e quais funções um usuário especifico poderá requisitar. O diagrama de Casos de Uso concentra-se em dois itens principais: atores e casos de uso. Prof. Eliane Costa Santana

Atores Representam os papéis desempenhados pelos diversos usuários que poderão utilizar, de alguma maneira, os serviços e funções do sistema; pode representar algum hardware especial ou mesmo outro software que interaja com o software. Prof. Eliane Costa Santana

Casos de Uso Referem-se aos serviços tarefas ou funcionalidades que podem ser utilizados de alguma maneira pelos atores que interagem com o sistema. São classificados como: – Casos de Uso primários – Casos de Uso secundários Prof. Eliane Costa Santana

Documentação de Casos de Uso Descrever a função em linhas gerais do caso de uso, quais atores interagem com ele, quais etapas devem ser executadas pelo ator e pelo sistema para que o caso de uso execute sua função, quais parâmetros devem ser fornecidos e quais restrições e validações o caso de uso deve ter. Prof. Eliane Costa Santana

Sugestão de como documentar o caso de uso Prof. Eliane Costa Santana

Associações Representam as interações ou relacionamentos entre os atores que fazem parte do diagrama, entre atores e casos de uso ou os relacionamentos entre casos de uso e outros casos de uso. Os relacionamentos entre casos de uso recebem nomes como inclusão, extensão e generalização. Prof. Eliane Costa Santana No exemplo o Ator Cliente utiliza a funcionalidade de Abrir Conta, representada pelo caso de uso, e que a informação trafega nas duas direções.

Generalização/Especialização É uma forma de associação entre casos de uso na qual existem dois ou mais casos de uso com características semelhantes, apresentando pequenas diferenças entre si. Define-se um caso de uso geral que descreve as características compartilhadas por todos os casos de uso em questão e então relacioná- lo com os outros casos de uso envolvidos, cuja documentação conterá apenas as características especificas de cada um. Prof. Eliane Costa Santana

Exemplo 1 Nesse exemplo há três opções de abertura de conta muito semelhantes entre si: abertura de conta comum, abertura de conta especial e abertura de conta poupança, cada uma representado por um caso de uso diferente. Prof. Eliane Costa Santana

Exemplo 2 O relacionamento de generalização/especialização pode ser aplicado sobre atores. Nesse exemplo existe um ator geral chamado Pessoa e dois atores especializados chamados respectivamente Pessoa Física e Pessoa Jurídica. Prof. Eliane Costa Santana

Inclusão Costuma ser utilizada quando existe um cenário, situação ou rotina comum a mais de um caso de uso, a documentação dessa rotina é colocada em um caso de uso especifico para que outros casos de uso utilizem esse serviço, evitando-se descrever a mesma sequência de passos em vários casos de uso. Os relacionamentos de inclusão indicam uma obrigatoriedade. É representada por uma reta tracejada contendo uma seta em uma de suas extremidades, a qual aponta para o caso de uso incluído no caso de uso posicionado na outra extremidade da reta. Prof. Eliane Costa Santana

Exemplo 3 Nesse exemplo sempre que um saque ou depósito ocorrer deve ser registrado para fins de histórico bancário. Prof. Eliane Costa Santana

Exemplo 4 Nesse outro exemplo, o cliente pode solicitar a visualização de seu carrinho sempre que quiser, mas no momento em que decidir concluir o pedido, obrigatoriamente deverá verificar ainda uma vez os livros por ele escolhidos e fornecer ainda uma última confirmação. Prof. Eliane Costa Santana

Extensão São utilizadas para descrever cenários opcionais de um caso de uso, casos de usos estendidos descrevem cenários que apenas ocorrerão em uma situação especifica se determinada condição for satisfeita. Prof. Eliane Costa Santana

Exemplo 5 Um caso de uso pode ter muitos relacionamentos de extensão, esse exemplo de extensão refere-se ao processo de encerramento de conta do sistema de controle bancário. Prof. Eliane Costa Santana

Restrições em Associações de Extensão Restrições são compostas por um texto entre chaves e utilizadas para definir validações, consistências, condições etc., que devem ser aplicadas a um determinado componente ou situação. Prof. Eliane Costa Santana

Pontos de Extensão Um ponto de extensão identifica um ponto no comportamento de um caso de uso a partir do qual esse comportamento poderá ser estendido pelo comportamento de outro caso de uso, se a condição para que isso ocorra for satisfeita. Prof. Eliane Costa Santana

Documentação do Caso de Uso Encerrar Conta Prof. Eliane Costa Santana

Multiplicidade no Diagrama de Casos de Uso A multiplicidade em uma associação entre um ator e um caso de uso basicamente especifica o número de vezes que o ator pode utilizar um determinado caso de uso. Prof. Eliane Costa Santana

Fronteira do Sistema Identifica um classificador que contém um conjunto de casos de uso; permite identificar um subsistema ou mesmo um sistema completo, além de destacar o que está contido no sistema e o que não está. Prof. Eliane Costa Santana

Estereótipos Possibilitam certo grau de extensibilidade aos componentes ou associações da UML, além de permitir a identificação de componentes ou associações que, embora semelhantes aos outros, tenham alguma característica que os diferenciem, dando-lhes mais destaque no diagrama. Prof. Eliane Costa Santana