Modelagem de Software

Documentos relacionados
Revisão Diagrama de Caso de Uso. Rodolfo Adamshuk Silva 30/08/2013

Diagramas de Sequência e Contrato das Operações

Modelo conceitual Aula 08

Análise de Requisitos

Análise de Sistemas 3º Bimestre (material 2)

Engenharia de Software II

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Programação Orientada a Objetos SANTOS, Rafael

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

ENGENHARIA DE SOFTWARE

VERSÃO RESPOSTAS PROVA DE MARKETING

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Desenvolvimento de Software

Sérgio Luisir Díscola Junior

Manual do usuário Certificado Digital

DOCUMENTAÇÃO SISTEMA DE ADMINISTRAÇÃO DE CONSULTÓRIO MÉDICO

Fundamentos de Teste de Software

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

II Semana de Ciência e Tecnologia do IFMG campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009

Gestão de Actas Escolares. Manual Utilizador. (Versão 4)

ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Modelo Comportamental

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

Ayuda Sua ONG na mão

Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP

Introdução à orientação a objetos

Tutorial de utilização do Sistema de Abertura de Chamado Sumário

Banco de Dados I. Prof. Edson Thizon

Exercício Prático. Modelagem UML. Givanaldo Rocha de Souza

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Diagrama de Componentes e Implantação

Formas de Pagamento Resumida Vendas Vendedor Vendas Vendedor Resumido Vendas Vendedor Caixa Vendas por Artigos...

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

O que é um banco de dados? Banco de Dados. Banco de dados

Os salários de 15 áreas de TI nas cinco regiões do Brasil

Centro de Hematologia e Hemoterapia do Paraná HEMEPAR Farm. Elvira Rosa Folda DVGQB Jul/2012

Disciplina: Unidade III: Prof.: Período:

Manual de Utilização. Ao acessar o endereço chegaremos a seguinte página de entrada: Tela de Abertura do Sistema

3 Metodologia de pesquisa

COMO CRIAR UM PEDIDO DE COMPRAS

Fundamentos de Programação. Diagrama de blocos

MODELAGENS. Modelagem Estratégica

Modelagem De Sistemas

Certificado Digital Modelo e-conecte. Manual do Usuário

Impressora Latex série 300. Garantia limitada

Software PHC com MapPoint 2007

Solicitação de Autorização Intercâmbio

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com

Gerenciamento dos Riscos do Projeto (PMBoK 5ª ed.)

MODELAGEM DO SISTEMA INTEGRADO DE GESTÃO ADMINISTRATIVA E PREVIDENCIÁRIA DO RIOPREVIDÊNCIA

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

Manual do Usuário. VpetConverter Ferramenta para adequação de documentos para Petições Eletrônicas.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

Objetivo do Portal da Gestão Escolar

DOCUMENTO DE REQUISITO DE SOFTWARE

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

SOS digital Gestão de dados de investigação

Relação de Disciplinas

Arquitetura de Software

REGULAMENTO INTERNO DA BIBLIOTECA CENTRAL

UNIMED LITORAL MANUAL DE PROCESSOS E SISTEMAS DE INFORMAÇÃO

ATuLCo. Manual de Instruções. Gestor de Agência de Viagens. ATuLCo Gestor de Agencia de Viagens. Horário Abreu Nr António Felgueiras Nr.

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Treinamento de e-commerce

Processo de Desenvolvimento de Software

Orientações para Inscrição do Grupo e Projeto de Pesquisa

TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE PESSOA FÍSICA

Gestão da Qualidade. Aula 13. Prof. Pablo

Portal dos Convênios - Siconv

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Sistema de Gestão Avícola SYSAVES. O sistema SYSAVES controla todo o processo, desde a saída dos

Veeam Endpoint Backup FREE

CATÁLOGO DE APLICAÇÕES Rateio CC Contas a Pagar

WEBDESK SURFLOG. MANUAL DO USUÁRIO VERSÃO 2.0.1

DF-e Manager Manual de uso Manifestação do destinatário Setembro de 2015

Minuta Circular Normativa

2 Workshop processamento de artigos em serviços de saúde Recolhimento de artigos esterilizados: é possível evitar?

DIMENSÕES DE PESQUISA EM ENGENHARIA DE SOFTWARE

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

Como utilizar a tecnologia a favor da sua central de atendimento

PROCEDIMENTOS PARA INCLUSÃO DE PERIÓDICOS NO PORTAL DE PERIÓDICOS FCLAR UNESP

Iniciação Científica no INATEL

3.2. Bibliotecas. Biblioteca Professor Antônio Rodolpho Assenço, campus Asa Sul: Os espaços estão distribuídos da seguinte forma:

Transcrição:

Modelagem de Software Engenharia de Software Rosana T. Vaccare Braga Material adaptado a partir de material da Profa. Simone Senger Souza ICMC/USP São Carlos

Modelagem Construção de modelos abstratos Auxílio para extração de requisitos Comunicação com a equipe modelo técnico Engenharia dirigida a modelos -> código

Modelagem Objetivos: Descrever o que o cliente deseja. Estabelecer a base para a criação de um projeto de software. Definir um conjunto de requisitos que possa ser validado quando o software for construído.

Modelagem - perspectivas Perspectiva externa Perspectiva de interação Perspectiva estrutural Perspectiva comportamental

Modelagem - modelos Perspectiva externa Modelo de contexto Perspectiva de interação Casos de uso, diagrama de sequencia... Perspectiva estrutural Classes, objetos, colaboração Perspectiva comportamental Diagrama de estados e derivados

Modelo de Contexto

Modelagem Perspectiva Interação

Modelagem Perspectiva Interação

Modelagem Perspectiva estrutural

Modelagem Perspectiva estrutural

Modelagem Perspectiva estrutural

Modelos Perspectiva Comportamental Modelos de comportamento são usados para descrever o comportamento geral de um sistema. Representa o sistema reagindo a eventos Informais Formais

Modelos Perspectiva Comportamental

Modelos Perspectiva Comportamental Exemplo: Forno de microondas simples Funções: ativar/desativar/pausar, acertar potência, acertar tempo de prepare Eventos?

Exemplo Modelo de Estados

Modelagem comportamental Necessário identificar: Estados do sistema Eventos que podem modifica-los (humanos, sensores, etc) Modelo formal: representar todos os possíveis eventos que podem afetar ou não o comportamento do sistema.

Modelagem comportamental Modelos Formais MEF e variações Redes de Petri Statecharts Linguagens de especificação formal (SDL, Estelle, Circus...)

Modelagem comportamental Exemplo Statecharts Estados Eventos Condições

Modelagem comportamental Aplicações de Statecharts Modelagem de sistemas reativos e tempo real Redes de comunicação, sistemas operacionais, sistemas críticos (aviões, trens...), interfaces homemxmáquina

Modelagem comportamental Exemplo Statecharts

Modelagem comportamental Statecharts vantagens Notação rica em relação a MEFs Modela processos paralelos e concorrentes Fácil de entender Facilita a validação do modelo

Abordagens de Análise e Projeto Análise Estruturada Considera dados e processos que transformam dados Análise Orientada a objetos (OO) Define classes e como elas colaboram para prover o comportamento que atende os requisitos Outras abordagens: aspectos, linha de produtos de software, componentes,

Análise estruturada DFD (diagrama de fluxo de dados)

Processo Unificado (PU) Considera análise e projeto OO Baseado na UML As Fases do PU

Abordagem de Larman para APOO in a nutshell Baseada no PU Uso de padrões GRASP (padrões para atribuição de responsabilidades aos objetos) Principais modelos: Casos de Uso, Conceitual, Diagrama de Sequencia do Sistema, Diagramas de Comunicação e Diagrama de Classes

Análise do Sistema Casos de Uso Diagrama de Casos de Uso Casos de Uso Completo Abstrato Caso de Uso: Emprestar Livro Ator Principal: Atendente Interessados e Interesses: Atendente Emprestar Livro Devolver Livro Leitor - Atendente: deseja registrar que um ou mais livros estão em posse de um leitor, para controlar se a devolução será feita no tempo determinado. - Leitor: deseja emprestar um ou mais livros, de forma rápida e segura. - Bibliotecário: deseja controlar o uso dos livros, para que não se percam e para que sempre se saiba com que leitor estão no momento. Pré-Condições: O Atendente é identificado e autenticado. Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no Sistema. Os livros emprestados possuem status emprestado Cenário de Sucesso Principal: Bibliotecária Incluir Livro Comprar Livro Consultar Livro 1. O Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja emprestar um ou mais livros da biblioteca. 2. O Atendente seleciona a opção para realizar um novo empréstimo. 3. O Atendente solicita ao leitor sua carteira de identificação, seja de estudante ou professor. 4. O Atendente informa ao sistema a identificação do leitor. 5. O Sistema exibe o nome do leitor e sua situação. 6. O Atendente solicita os livros a serem emprestados. 7. Para cada um deles, informa ao sistema o código de identificação do livro. 8. O Sistema informa a data de devolução de cada livro. 9. Se necessário, o Atendente desbloqueia os livros para que possam sair da biblioteca. 10. O Leitor sai com os livros. VISÃO DE INTERAÇÃO Fluxos Alternativos: (1-8). A qualquer momento o Leitor informa ao Atendente que desistiu do empréstimo. 3. O Leitor informa ao Atendente que esqueceu a carteira de identificação. 1. O Atendente faz uma busca pelo cadastro do Leitor e pede a ele alguma informação pessoal para garantir que ele é mesmo quem diz ser. 4. O Leitor está impedido de fazer empréstimo, por ter não estar apto. 1.Cancelar a operação. 7a. O Livro não pode ser emprestado, pois está reservado para outro leitor. 1. O Atendente informa ao Leitor que não poderá emprestar o livro e pergunta se deseja reservá-lo. 2. Cancelar a operação (se for o único livro) 7b. O Livro não pode ser emprestado, pois é um livro reservado somente para consulta. 1. Cancelar a operação (se for o único livro) 26

Análise do Sistema: Modelo Conceitual Casos de Uso com substantivos e verbos sublinhados Caso de Uso 1 1. O Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja emprestar um ou mais livros da biblioteca. 2. O Atendente seleciona a opção para adicionar um novo empréstimo. 3. O Atendente solicita ao leitor sua carteirinha, seja de estudante ou professor. 4. O Atendente informa ao sistema a identificação do leitor. 5. O Sistema exibe o nome do leitor e sua situação. 6. O Atendente solicita os livros a serem emprestados. 7. Para cada um deles, informa ao sistema o código de identificação do livro. 8. O Sistema informa a data de devolução de cada livro. 9. O Atendente desbloqueia os livros para que possam sair da biblioteca. 10. O Leitor sai com os livros. Caso de Uso n 1. O Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja emprestar um ou mais livros da biblioteca. 2. O Atendente seleciona a opção para adicionar um novo empréstimo. 3. O Atendente solicita ao leitor sua carteirinha, seja de estudante ou professor. 4. O Atendente informa ao sistema a identificação do leitor. 5. O Sistema exibe o nome do leitor e sua situação. 6. O Atendente solicita os livros a serem emprestados. 7. Para cada um deles, informa ao sistema o código de identificação do livro. 8. O Sistema informa a data de devolução de cada livro. 9. O Atendente desbloqueia os livros para que possam sair da biblioteca. 10. O Leitor sai com os livros. Atendente nome Bibliotecaria nome 1..1 0..n registra refere-se a > 1..1 Modelo Conceitual 1..1 Leitor nome tipo : char registra 0..n 0..n ^ faz 1..1 0..n faz Reserva período situacao : char 0..1 Empréstimo/Devolução data do empréstimo 1..1 0..n situação : Char 1..1 Livro titulo : String[30] autor : String[30] ano : int ISBN : string[20] editora : int tipo : char possui 0..n 0..1 corresponde a corresponde a CopiaDoLivro 0..1 nro sequencial situacao : char liberadoparaemprestimo : char 1..1 possui 1..n 0..1 LinhaDoEmpréstimo data_prevista_devolução data_entrega_real 1..1 0..n < refere-se a 27

Análise do Sistema Diagrama de Sequencia do Sistema (DSS) Modelo Conceitual + Casos de Uso Diagrama de Seqüência do Sistema (para cada caso de uso) :Atendente 1: iniciarempréstimo(id_leitor) Sistema 2: emprestarlivro(id_livro) * mais livros a emprestar 3: encerrarempréstimo() 28

Análise do Sistema: contratos Diagrama de Seqüência do Sistema (para cada caso de uso) Contrato da Operação (para cada operação) :Atendente Sistema Operação: encerrarempréstimo() 1: iniciarempréstimo(id_leitor) 2: emprestarlivro(id_livro) * mais livros a emprestar 3: encerrarempréstimo() Referências Cruzadas: Caso de uso: Emprestar Livro Pré-Condições: Um leitor apto a emprestar livros já foi identificado; pelo menos um livro já foi identificado e está disponível para ser emprestado. Pós-Condições: um novo empréstimo foi registrado; o novo empréstimo foi relacionado ao leitor já identificado na operação iniciar o empréstimo ; a situação dos livros emprestados foi alterada para emprestado. 29

Projeto do Sistema: Diagrama de Comunicação Contrato da Operação (para cada operação) Diagrama de Comunicação (para cada operação) Operação: encerrarempréstimo() Referências Cruzadas: Caso de uso: Emprestar Livro emprestafita(fcodigo)----> :Videolocadora 5: associaitem() Pré-Condições: Um leitor apto a emprestar livros já foi identificado; emprestimocorrente: Emprestimo pelo menos um livro já foi identificado e está disponível para ser emprestado. 1: fita:=get(fcodigo) 2: empresta(fita) 4: criar() Pós-Condições: um novo empréstimo foi registrado; o novo empréstimo foi relacionado ao leitor já identificado na operação iniciar o empréstimo ; a situação dos livros emprestados foi alterada para emprestado. fitas: Fita clientecorrente: Cliente 3: adiciona(fita) 6: associafita(fita) item: ItemDeEmprestimo 30

Projeto do Sistema: Diagrama de Classes Diagramas de Comuncação (para todas as operações) Diagrama de Classes de Projeto emprestafita(fcodigo)----> 1: fita:=get(fcodigo) fitas: Fita :Videolocadora 5: associaitem() emprestimocorrente: Emprestimo 2: empresta(fita) 4: criar() 3: adiciona(fita) 6: associafita(fita) clientecorrente: Cliente item: ItemDeEmprestimo +Modelo Conceitual nome tipo Leitor calculardatadevolucao( ) 1..1 0..* faz possui Emprestimo data_do_emprestimo situacao : char adicionarcopia( ) devolvercopia( ) 1..1 adicionarcopia(copialivro)---> : Emprestimo 1: d:=calculardatadevolução() 2: criar(d, copialivro) LinhaDoEmprestimo data_prevista_devolução data_entrega_real codcopia( ) atualizardatadev( ) 1..* 0..* refere-se a 1..1 CopiaDoLivro nro_sequencial situacao : char liberadoparaemprestimo : cha mudarsituacao( ) codcopia( ) sinalizardevolucao( ) :Leitor linh: LinhaDoEmprestimo 31