Análise e Projeto Orientados a Objeto com UML e Padrões

Slides:



Advertisements
Apresentações semelhantes
Modelo de Casos de Uso Diagrama de Casos de Uso
Advertisements

Análise e Projeto Orientado a Objetos
Gerenciamento de Projetos
Requisitos de Software
Aula 8 Contratos.
APSOO Aula 03.
APSOO Aula 05.
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Rational Unified Process(RUP)
Centrado na arquitetura
Técnicas eTipos de Requisitos
Cartões CRC (Class Responsibility Card)
Casos de Uso.
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Análise e Projeto Orientados a Objeto com UML e Padrões
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB 9. Modelo conceitual (diagrama.
Documento de Requisitos Documento de Requisitos. Processo de Engenharia de Requisitos ELICITAR ANALISAR MODELAR UdeI Documento de Requisitos do Sistema.
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Projeto Final - APGS Adriana P. de Medeiros
Selma Shin Shimizu Melnikoff 2006
Especificação de Requisitos de Software com Casos de Uso
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 9. Complemento de AOO 9.4 Comportamentos 9.5 Visibilidade 9.6.
Objetivo: compreender e aplicar um modelo conceitual
Expansão dos Casos de Uso
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Treinamento do Microsoft® Access® 2010
Expansão dos Casos de Uso
IEEE Std IEEE Melhores Práticas para Especificações de Requisitos de Software (ERS)
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Caso de Uso - Definição Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema.
MODELO ESSENCIAL Modelo Ambiental
Análise e Projeto Orientados a Objeto com UML e Padrões
Análise e Projeto Orientados a Objeto com UML e Padrões
Análise e Projeto Orientados a Objeto com UML e Padrões
Análise e Projeto Orientados a Objeto com UML e Padrões
Fase de Concepção (Início, Planejamento)
Analises de sistemas ESTRUTURADA Analise de sistema estruturada.
Levantamento de Requisitos
Levantamento de Requisitos
UML Diagrama de Caso de Uso Profª. Marcelo Siedler
Engenharia de Software
A Linguagem de Modelagem Unificada — UML
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Gestão de defeitos.
Capturando Requisitos com Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientacao: Augusto Sampaio Paulo Borba.
Laboratório de Programação
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Requisitos de Software
Fase de Concepção Levantamento de Requisitos, Organização de Requisitos, Planejamento dos Ciclos Iterativos.
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Modelando Sistemas em UML
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Especificação de Requisitos de Software
Fase de Concepção (Início, Planejamento)
Requisitos Não funcionais
Expansão dos Casos de Uso
Fase de Concepção (Início, Planejamento)
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Engenharia de Software com o RUP - Workflow de Requisitos
Aula 04 – Analise de Sistemas Profª Rita de Cassia Gaieski
UML (Unified Modeling Language) A linguagem unificada de modelagem
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Análise e Projeto Orientados a Objeto com UML e Padrões Parte II Planejamento e Elaboração Prof. Msc. Emerson Silas Dória

Estudo de Caso: Ponto de Venda Um sistema para um terminal de ponto de venda (POST) Usado para registrar vendas e processar pagamentos de clientes em lojas de varejo Inclui componentes de hardware (computador, leitora de código de barras) e o software para rodar o sistema Tarefa: criar o software para um POST Prof. Msc. Emerson Silas Dória

-> objetos de domínio -> objetos de serviço Ênfase do Estudo de Caso: Camada de Lógica da Aplicação Object Store Enter Item End Sale UPC Make Payment Total Quantity Tendered Balance Apresentação foco menor Lógica da Aplicação foco principal -> objetos de domínio Venda Pagamento BD Segurança foco secundário -> objetos de serviço Armazenamento SGBD Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Estratégia Aprendizado e desenvolvimento iterativos APOO aplicada ao sistema POST em dois ciclos de desenvolvimento: Ciclo 1: Funcionalidades básicas Introdução das habilidades de análise e projeto Ciclo 2 Funcionalidades expandidas Introdução de habilidades adicionais de análise e projeto Prof. Msc. Emerson Silas Dória

Definição de Requisitos Plan. & Elaboração Construção Implantação 1. Definir Plano Inicial 2. Criar Rel. Prel. de Investigação 3. Definir Requisitos 4. Reg. Termos no Glossário 5. Implementar Protótipo 6. Definir Casos de Uso a. contínua b. opcional c. adiável d. ordem variada Notas a b, d 7. Definir Mod. Conc. Inicial 8. Definir Arquit. Inicial 9. Refinar Plano c a, c, d Prof. Msc. Emerson Silas Dória

Definição de Requisitos Especificações de requisitos corretas e abrangentes são essenciais para um projeto bem sucedido. Especificações corretas requerem habilidades e técnicas para sua construção. Objetivo: Capacitar o analista para expressar requisitos, utilizando artefatos da APOO. Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória O que são Requisitos? Descrição das necessidades ou dos desejos para um produto (software) Objetiva identificar e documentar o que é realmente necessário, de forma clara tanto para clientes como para desenvolvedores Desafios: Evitar ambigüidades Identificar riscos Para mais detalhes consultar: Padrão IEEE Std 830-1993 Prof. Msc. Emerson Silas Dória

Descrição de Requisitos Alguns artefatos básicos: Visão geral Sumário descrevendo o propósito geral do projeto Clientes Quem encomendou ou está pagando pelo sistema Objetivos Objetivos a serem alcançados com o sistema Funções O que o sistema deve fazer Atributos Aspectos não funcionais relevantes Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Funções do Sistema Devem ser documentadas e listadas em grupos logicamente coesos Categorias de funções: Evidente Deve ser executada, e o usuário deve estar ciente da execução (Ex.: Registrar Venda, Processar Pagamento) Oculta Deve ser executada, mas de modo transparente para o usuário (Ex.: Guardar informações no BD) Opcional Função não afeta os custos ou as outras funções do sistema de maneira significativa Prof. Msc. Emerson Silas Dória

Requisitos Não-Funcionais Características não funcionais do sistema Ex.: facilidade de uso, tolerância a falhas, tempo de resposta. Podem estar relacionados com todas as funções, ou ser específicos para uma função ou um grupo de funções Deveriam estar presentes no documento de requisitos Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Sistema POST Visão geral O propósito deste projeto é criar um sistema para um terminal de ponto de venda a ser usado em lojas de varejo. Clientes ObjectStore, Inc., uma cadeia de lojas de venda de componentes de software reutilizáveis. Objetivos Redução do tempo de espera dos clientes nos caixas. Análise rápida e apurada das vendas. Controle automático de estoque. Prof. Msc. Emerson Silas Dória

Sistema POST Funções Básicas Ref # Função Categoria R1.1 Registrar a venda corrente (itens de compra). Evidente R1.2 Calcular o total da venda corrente, incluindo imposto e descontos. Evidente R1.3 Capturar informação do código de barras dos itens de compra (UPC), via uma leitora de código de barras ou digitação manual. Evidente R1.4 Reduzir as quantidades em estoque quando uma venda é confirmada. Oculta R1.5 Registrar as venda realizadas. Oculta R1.6 O operador do caixa deve digitar um ID e senha para usar o sistema. Evidente R1.7 Oferecer um mecanismo de armazenamento persistente. Oculta Prof. Msc. Emerson Silas Dória

Sistema POST Funções Básicas Ref # Função Categoria R1.8 Oferecer mecanismos para comunicação entre processos e entre sistemas. Oculta R1.9 Mostrar descrição e preço do item de compra registrado. Evidente Prof. Msc. Emerson Silas Dória

Sistema POST Funções de Pagamento R2.1 Processar pagamentos em dinheiro, capturando quantia recebida e calculando o troco. Evidente R2.2 Processar pagamentos com cartão de crédito, capturando dados do cartão via uma leitora de cartões ou digitação manual, e autorizar o pagamento junto a um serviço de autorização de crédito (externo à loja) via modem. Ref # Função Categoria R2.3 Processar pagamentos com cheque, capturando dados de identificação do cliente via digitação manual, e autorizando o pagamento junto a um serviço de autorização de cheque (externo à loja) via modem. R2.4 Registrar pagamentos de prestações para o sistema de contas a receber, uma vez que o serviço de autorização de créditos (operadoras de cartão) deve à loja o valor a ser pago. Oculta Prof. Msc. Emerson Silas Dória

Sistema POST Requisitos Não Funcionais Tempo de Resposta (restrição de limites) Durante o registro de um item de compra, a descrição e o preço do produto aparecerão em até 5 segundos. Atributo Detalhes e Restrições de Contorno Interface (detalhe) Janelas e caixas de diálogo baseadas na metáfora de formulários. (detalhe) Maximizar facilidade de navegação via teclado ao invés de via mouse. Tolerância a Falha (restrição de limites) Deve registrar os pagamentos autorizados com cartão de crédito junto ao sistema de contas a receber dentro de 24 horas, mesmo se houver falha de energia ou nos equipamentos. Plataformas de S.O. (detalhe) Microsoft Windows 95/98/2000/NT. Prof. Msc. Emerson Silas Dória

Outros Artefatos Importantes Equipes de Trabalho Grupos Afetados Pré-suposições Dependências Glossário * Casos de Uso * Modelo Conceitual Inicial * * serão apresentados posteriormente Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Casos de Uso Plan. & Elaboração Construção Implantação 1. Definir Plano Inicial 2. Criar Rel. Prel. de Investigação 3. Definir Requisitos 4. Reg. Termos no Glossário 5. Implementar Protótipo 6. Definir Casos de Uso a. contínua b. opcional c. adiável d. ordem variada Notas a b, d 7. Definir Mod. Conc. Inicial 8. Definir Arquit. Inicial 9. Refinar Plano c a, c, d Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Casos de Uso Descrições narrativas de processos do domínio da aplicação Documentam a seqüência de eventos de um ator (um agente externo) usando o sistema para completar, do início ao fim, um determinado processo Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Casos de Uso Exemplo de um caso de uso de alto-nível: Caso de uso: Atores: Tipo: Descrição: Comprar Itens Cliente, Operador Primário (Será apresentado posteriormente) Um Cliente chega no caixa, com itens que deseja comprar. O Operador registra os itens de compra e recebe o pagamento. Ao final, o Cliente deixa a loja com os itens. A UML não especifica um formato rígido para os cabeçalhos e a estrutura de Casos de Uso Podem ser alterados de acordo com as necessidades de documentação Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Casos de Uso Exemplo de um caso de uso expandido: Caso de uso: Atores: Finalidade: Visão Geral: Comprar Itens com Dinheiro Cliente, Operador Capturar uma venda e seu pagamento em dinheiro. Um Cliente chega no caixa, com itens que deseja comprar. O Operador registra os itens de compra e recebe um pagamento em dinheiro. Ao final, o Cliente deixa a loja com os itens. Tipo: Referências Cruzadas: Primário e Essencial Funções: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1 Prof. Msc. Emerson Silas Dória

Seqüência Típica de Eventos Casos de Uso Seqüência Típica de Eventos Ação do Ator Resposta do Sistema 1. Este caso de uso começa quando um Cliente chega no caixa (equipado com um POST) com itens que deseja comprar. 2. O Operador registra o identificador de cada item. Se houver mais de um exemplar do mesmo item, o Operador também pode informar a quantidade. 3. Determina o preço do item e adiciona informação sobre o item à transação de venda corrente. Mostra a descrição e o preço do item corrente. 4. Após processar o último item, o Operador indica ao POST que a entrada de itens terminou. 5. Calcula e mostra o valor total da venda. 6. O Operador informa o total ao Cliente. Prof. Msc. Emerson Silas Dória

Seqüência Típica de Eventos Casos de Uso Seqüência Típica de Eventos Ação do Ator Resposta do Sistema 7. O Cliente entrega um pagamento em dinheiro, possivelmente maior do que o valor total. 8. O Operador registra o valor recebido em dinheiro. 9. Mostra o troco devido e emite um recibo. 10. O Operador deposita o dinheiro e retira o troco devido. O Operador entrega o troco e o recibo ao Cliente. 11. Registra a venda no log de vendas completadas 12. O Cliente sai com os itens comprados. Seqüências Alternativas Linha 7: Cliente não tem dinheiro suficiente. Cancelar transação. Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Casos de Uso Se complexas, seqüências alternativas podem ser expandidas para formar os seus próprios casos de uso Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Tipos de Caso de Uso Primário Representam os processos principais ou mais comuns Secundário Representam processos menos importantes ou mais raros Opcional Representam processos que podem ser ignorados ou incluídos em futuras versões do sistema Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Atores Entidades externas ao sistema que de algum modo participam da história do caso de uso Estimulam o sistema com eventos de entrada, ou recebem alguma coisa dele Designados pelo papel que exercem no caso de uso Ex.: Cliente, Operador, etc. Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Atores Um caso de uso possui um ator iniciador, que gera o estímulo inicial e, possivelmente, vários atores participantes O ator iniciador deve ser indicado explicitamente na descrição do caso de uso Tipos de atores incluem: papéis exercidos por pessoas sistemas de computação dispositivos elétricos e mecânicos Prof. Msc. Emerson Silas Dória

Enganos com Casos de Uso Um erro comum é representar como casos de usos passos individuais, operações, ou transações Ex: Comprar Itens x Imprimir Recibo Um caso de uso é uma descrição de ponta a ponta, de um processo relativamente grande, que inclui, muitos passos ou transações Prof. Msc. Emerson Silas Dória

Identificando Casos de Uso Método baseado em atores 1. Identificar os atores relacionados a um sistema ou organização 2. Para cada ator, identificar os processos que eles iniciam ou dos quais eles participam Método baseado em eventos 1. Identificar os eventos externos aos quais o sistema deve responder 2. Relacionar os eventos a atores e casos de uso Prof. Msc. Emerson Silas Dória

Identificando Casos de Uso Exemplos para o sistema POST de alguns atores possivelmente relevantes e os processos que ele iniciam: Operador: Login, Registrar Retirada de Dinheiro Cliente: Comprar Itens, Devolver Itens Digitar Senha? Imprimir Recibo? Prof. Msc. Emerson Silas Dória

Casos de Uso, Funções e Rastreabilidade Todas as funções do sistema identificadas na especificação dos requisitos deveriam ser alocadas a casos de usos Alocação documentada através da seção Referência Idealmente, funções e casos de uso devem ser rastreáveis até a implementação e teste do sistema Prof. Msc. Emerson Silas Dória

Diagramas de Casos de Uso Ilustram um conjunto de casos de uso e atores para um sistema, os atores e os relacionamentos entre eles. Caixa POST Comprar Itens Cliente Log In Reembolsar Itens comprados Prof. Msc. Emerson Silas Dória

Sistemas e suas Fronteiras Identificar os atores e casos de uso de um sistema requer a definição de seu limite de atuação Alguns limites típicos incluem: o software/hardware de um dispositivo ou sistema de computação um departamento de uma organização uma organização inteira Limites diferentes podem resultar em diferentes conjuntos de atores e casos de uso Prof. Msc. Emerson Silas Dória

Sistemas e suas Fronteiras Exemplo de um diagrama de caso de uso para o sistema POST, quando o limite de atuação é a loja inteira (Figura 1). Loja Comprar Itens Cliente Reembolsar Itens comprados Caixa POST Comprar Itens Cliente Log In Reembolsar Itens comprados Figura 1 Prof. Msc. Emerson Silas Dória Figura 2

Formatos de Casos de Uso Alto nível Breve descrição de um processo, normalmente em duas ou três frases, e deliberadamente vago sobre decisões de projeto Criados na fase inicial de requisitos Expandido Descrição passo a passo dos eventos de um processo Durante a fase de requisitos, apenas os casos de uso mais importantes devem ser escritos nesse formato Existência da seção Seqüência Típica de Eventos Prof. Msc. Emerson Silas Dória

Formatos de Casos de Uso Essencial Descrição de um processo em termos das suas atividades essenciais e motivação Expressos relativamente livres de detalhes de implementação, decisões de projeto, e uso de tecnologias Real Descrição de um processo em termos de seu projeto real, comprometido com tecnologias de desenvolvimento, interfaces de entrada e saída Prof. Msc. Emerson Silas Dória

Formatos de Casos de Uso Trecho do caso de uso essencial Comprar Itens Seqüência Típica de Eventos Ação do Ator Resposta do Sistema 2. O Operador registra o identificador de cada item. Se houver mais de um exemplar do mesmo item, o Operador também pode informar a quantidade. 3. Determina o preço do item e adiciona informação sobre o item à transação de venda corrente. Mostra a descrição e o preço do item corrente. 4. ... 5. ... Prof. Msc. Emerson Silas Dória

Formatos de Casos de Uso Trecho do caso de uso real Comprar Itens Seqüência Típica de Eventos Ação do Ator Resposta do Sistema 2. Para cada item, o Operador digita o código universal de produto (UPC) no campo de entrada UPC da Janela 1. Ele então pressiona o botão “Entra Item” com o mouse ou pressiona a tecla <Enter>. 3. Determina o preço do item e adiciona informação sobre o item à transação de venda corrente. Mostra a descrição e o preço do item corrente na Caixa de Texto 2 da Janela 1. 4. ... 5. ... Prof. Msc. Emerson Silas Dória

Casos de Uso com Subseções Caso de uso Comprar Itens expandido Seção: Principal Seqüência Típica de Eventos Ação do Ator Resposta do Sistema 1. Este caso de uso começa quando um Cliente chega no caixa (equipado com um POST) com itens que deseja comprar 2. (passos intermediários excluídos) 3. O Cliente escolhe o tipo de pagamento: Se pagamento em dinheiro, ver seção Pagar com Dinheiro. Se pagamento pro crediário, ver seção... Prof. Msc. Emerson Silas Dória

Casos de Uso com Subseções Caso de uso Comprar Itens expandido Seção: Pagamento com Dinheiro Seqüência Típica de Eventos Ação do Ator Resposta do Sistema 1. O cliente fornece um pagamento em dinheiro – “valor fornecido” – possivelmente maior que o total da venda. 2. O Operador registra o valor fornecido 3. Mostra o troco a devolver ao Cliente 4. O Operador deposita o valor recebido e retira o troco. O Operador dá o troco ao Cliente. Prof. Msc. Emerson Silas Dória

Casos de Uso com Subseções Caso de uso Comprar Itens expandido Seção: Pagamento por Crediário Seqüência Típica de Eventos Ação do Ator Resposta do Sistema 1. O cliente fornece um pagamento ... Seção: Pagamento por Cheque Seqüência Típica de Eventos Ação do Ator Resposta do Sistema 1. O cliente fornece um pagamento ... Prof. Msc. Emerson Silas Dória

Casos de Uso dentro de um Processo de Software Passos da fase de Planejamento e Elaboração 1. Após as funções do sistema terem sido descritas, defina a fronteira de atuação do sistema e identifique atores e casos de uso. 2. Escreva todos os casos de uso no formato alto-nível, categorizando-os como primário, secundário ou opcional. 3. Desenhe um diagrama de casos de uso. 4. Relacione casos de uso e ilustre seus relacionamentos no diagrama de casos de uso. (*) 5. Escreva os casos de uso mais importantes ou críticos no formato essencial expandido. 6. Se estritamente necessário, escreva alguns casos de uso no formato real. 7. Ordene os casos de uso por prioridade de desenvolvimento. (*) * Será apresentado posteriormente Prof. Msc. Emerson Silas Dória

Passos do Processo para o Sistema POST Escrever casos de uso no formato alto nível Caso de uso: Atores: Tipo: Descrição: Comprar Itens Cliente (Iniciador), Operador Primário Um Cliente chega no caixa, com itens que deseja comprar. O Operador registra os itens de compra e recebe o pagamento. Ao final, o Cliente deixa a loja com os itens. Caso de uso: Atores: Tipo: Descrição: Inicializar Gerente Primário Um Gerente liga um POST para ser usado pelos Operadores. O Gerente certifica-se de que a data e hora estão corretas, após o sistema está pronto para uso. Prof. Msc. Emerson Silas Dória

Passos do Processo para o Sistema POST Operador POST Comprar Itens Cliente Log In Reembolsar Itens Comp. Gerente Administrador do Sistema Iniciar Gerenciar Usuários ETC Desenhar Diagrama de Casos de Uso Prof. Msc. Emerson Silas Dória

Passos do Processo para o Sistema POST Escrever casos de uso mais importantes no formato essencial expandido Exemplo Completo Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória Diagrama da UML Consulte na página www2.unoeste.br/~emerson documentos específicos com os detalhes sintáticos da UML. Prof. Msc. Emerson Silas Dória