PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura



Documentos relacionados
Análise e Projeto de Software

Modelos de Sistemas Casos de Uso

Desenvolvimento de uma Etapa

DESENVOLVENDO O SISTEMA

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza

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

MODELAGEM DE SISTEMAS

Engenharia de Software II

Diagrama de Fluxo de Dados (DFD)

Engenharia de Software II

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES CAPÍTULO ATIVIDADES, PAG. 138 A 150

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

04/07/2015 UML. Prof. Esp. Fabiano Taguchi DEFINIÇÃO DE REQUSIITOS

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

UML: Diagrama de Casos de Uso, Diagrama de Classes

Professor: Curso: Disciplina: Aula 4-5-6

Especificação dos Requisitos do Software. Sistema de Controle e Gerenciamento de Loja de Vestuários e Acessórios

Processos de gerenciamento de projetos em um projeto

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Projeto de Arquitetura

Qualidade de Software

exercícios - cap Construa uma máquina de estados que ilustre os requisitos de uma máquina multibanco (levantamento de dinheiro)

Modelos de Sistemas. Leitura: Cap7: Sommerville; Cap: 7-8 Pressman; Cap3: Ariadne

G-Bar. Módulo Básico Versão 4.0

Guia de utilização da notação BPMN

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

Mauricio Barbosa e Castro

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

GERÊNCIA DE PROJETOS DE SOFTWARE. Introdução

Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP

Lista de Exercícios 3 Estruturas de Controle Profa Susana M Iglesias

Versão Setembro/2013. Manual de Processos. Módulo Protocolo

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

2015 GVDASA Sistemas Patrimônio 1

4- PROJETO DE BANCO DE DADOS

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 2.1

Fase de Análise de Requisitos. Engenharia de Software ANÁLISE DE REQUISITOS. Tipos de Requisitos. Tipos de requisitos. Tipos de requisitos

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

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

Modelagem Dinâmica com UML

Figura 5 - Workflow para a Fase de Projeto

Perfil Chefe de Transporte

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Primeiros passos das Planilhas de Obra v2.6

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

Para os demais formatos, o relatório será gerado mas virá com configurações incorretas.

Separação de Interesses Programação Estruturada e Programação Orientada a Objetos Entrelaçamento de Código Espalhamento de Código

Programa Analítico. Introdução. Origens da programação Orientada a Objetos. Paradigma procedural. Paradigma Orientado a Objetos.

ATIVIDADES PRÁTICAS SUPERVISIONADAS

LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA VERSÃO 2

PROCEDIMENTOS DE AUDITORIA INTERNA

Gerenciamento de Projetos Modulo VIII Riscos

Versão Comissão Sobre Produtos Atualização Automática nas estações de Trabalho... 6

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

SISTEMA BRENA DE AUTOMAÇÃO COMERCIAL

Leitura. Capítulo 7 (Prog. Orient. a Obj. usando Java - 4th Edition)

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

Engenharia de Requisitos Estudo de Caso

2. Corrigida a pesquisa e filtro por grupo de estoque nível 1 que em alguns casos fazia com que o relatório fosse exibido em branco.

MODELO DE NEGÓCIOS - CANVAS. Slides Autor: Thiago Oliveira de Paiva Blog:

Engenharia de Software I

Exercícios Diagrama de Casos de Uso. Disciplina: Engenharia de Requisitos

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

Treinamento do Sistema RH1000 = Entrevista de Desligamento =

O Processo de Engenharia de Requisitos

CDV. GID Desmanches. Manual do Usuário. Praça dos Açorianos, s/n - CEP Porto Alegre, RS (051)

SISTEMA INTEGRADO DE GESTÃO PÚBLICA

Guia para elaboração do Modelo de Domínio Metodologia Celepar

Averbação eletrônica

Administração de Sistemas de Informação Gerenciais

Manual do Utilizador

Modelo Ambiental: Define as fronteiras entre o sistema e o resto do mundo.

Rastreabilidade de requisitos através da web

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

IMPLEMENTAÇÃO DE UM SISTEMA DE SELEÇÃO DE PEÇA USANDO CONCEITOS DE PROGRAMAÇÃO DE SISTEMA DE AUTOMAÇÃO. João Alvarez Peixoto*

Componentes do modelo ambiental

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

ITIL v3 - Operação de Serviço - Parte 1

Notas de versão. Versão

Sistema de Gerenciamento de Projetos V 1.01 MANUAL DO COORDENADOR

Casos de uso Objetivo:

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

Tema 1: Modelo Estático

PORTABILIDADE NUMÉRICA UMA SOLUÇÃO ORIENTADA PELA SIMPLICIDADE, QUALIDADE E BAIXO CUSTO

Requisitos de Software

Plano de Aula - Access cód Horas/Aula

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

O Gerenciamento de Documentos Analógico/Digital

Cartas de Cobrança: Acesse o sistema informando seu usuário e senha : Acesse o módulo FINANCEIRO. Acesse o menu CARTAS (lado esquerdo da tela) :

Transcrição:

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1

PROJETO (OU DESIGN) DO SOFTWARE Na fase de projeto (ou design) do software, a preocupação é propor uma solução arquitetônica viável para cumprir os objetivos do sistema. O processo do projeto converte o que o sistema deve fazer (os requisitos levantados na fase de análise) para o como os requisitos serão projetados (ou desenhados ), de uma forma a serem construídos na fase de implementação. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 2

PROJETO (OU DESIGN) DO SOFTWARE Principais conceitos Abstração - É a descrição de um problema com um nível de generalização que permite concentrar nos aspectos principais do problema, sem se perder nos detalhes. Uma boa abstração esconde os detalhes desnecessários. Ponto de vista de quem irá utilizar ponto de vista do seu comportamento de funcionamento Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 3

PROJETO (OU DESIGN) DO SOFTWARE Principais conceitos Refinamento - Diz respeito à forma de modelar as abstrações do projeto em sucessivos níveis de refinamento de detalhes. Para a modelagem de sistema usando casos de uso, dois diagramas em níveis de detalhes são utilizados: o contexto do sistema e o modelo de casos de uso. Modularidade - É a divisão do software em partes menores, normalmente chamadas de módulos. Entretanto, dependendo do nível de granularidade (tamanho) dessas partes podem ser chamadas também de sistema (o maior módulo), subsistemas (os submódulos ) e componentes (as unidades de implementação). As partes devem ser integradas para atenderem aos requisitos do problema. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 4

INDEPENDÊNCIA FUNCIONAL Um produto direto da modularidade e dos conceitos de abstração e ocultação da informação. Um software com módulos independentes é mais fácil de ser desenvolvido e mais fácil de ser mantido; fundamental para um bom projeto. Critérios de qualitativos: ALTA COESÃO e BAIXO ACOPLAMENTO. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 5

Acoplamento (baixa) DIAGRAMA DE ESTRUTURA COESÃO x ACOPLAMENTO Cidade A A B Cidade B B Cidade A Cidade B Coesão (alta) A B Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 6 B

Módulos de Pequenos Tamanho Independência Modular Característica de Caixa-Preta Modelagem Conceitual Isolamento de Detalhe Refinar o projeto e corrigir suas falhas antes da implementação Servir de referência aos programadores no estágio de implementação Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 7

O gráfico de DE mostra : O particionamento em módulos. A hierarquia e organização dos módulos. Interface ( entrada e saída) entre módulos. Funções dos módulos. Por outro lado o gráfico não mostra : Procedimento interno dos módulos. Os dados internos dos módulos. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 8

ACOPLAMENTO Mede o grau de interdependência entre os módulos Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 9

ACOPLAMENTO No projeto seguindo a abordagem orientada a objetos, o acoplamento é o nível de ligação do objeto com objetos fora de suas fronteiras, por meio de chamada de operações (entre métodos) e troca de dados (atributos públicos e passagem por referência de objetos). O baixo acoplamento pode ser alcançado ao se evitar chamar métodos de outras classes e evitando a troca de dados (atributos) de outros objetos externos de forma direta, a não ser por meio de métodos públicos de acesso, definidos na interface da classe. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 10

ACOPLAMENTO TIPOS DE ACOPLAMENTO Acoplamento de Dados Acoplamento de Imagem Acoplamento de Controle Acoplamento Comum Acoplamento de Conteúdo (melhor) (pior) Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 11

ACOPLAMENTO ACOPLAMENTO BAIXO : eliminando relações desnecessárias. reduzindo o número de relações necessárias. enfraquecendo a dependência das relações necessárias. VANTAGENS : menor a chance do efeito cadeia. trocar um módulo com um mínimo de risco de ter de trocar outro módulo Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 12

ACOPLAMENTO DE DADOS Comunicam-se por parâmetros Qte_emprestada Calcular Total Conta prazo Calcular Reembolso taxa_reembolso passar para um módulo somente os dados necessários. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 13

ACOPLAMENTO DE IMAGEM Mais dados do que precisa Reg._aluguel de carro Calcular Taxa de Aluguel Básico Gerar Conta de Aluguel de Carro taxa_aluguel_básico Reg_aluguel_cliente consumo_gasolina Calcular Consumo de Gasolina Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 14

ACOPLAMENTO DE IMAGEM Reduzir o acoplamento de imagem não criar itens de dados compostos contendo muitas partes de dados não relacionadas logicamente. Agrupe em uma estrutura de dados apenas itens relacionados. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 15

ACOPLAMENTO DE CONTROLE Controla lógica interna O que fazer Juntar Registro Cliente Reg_mestre Controle E/S do Sistema Reg_transação eliminar sinalizadores. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 16

nome_material DIAGRAMA DE ESTRUTURA ACOPLAMENTO COMUM Encontrar Número de Material Tabelas de Materiais Usam a mesma área de dados novo_ núm_unid núm_ unid_anterior não_existe Controle E/S do Sistema Flag. de Erro estoque_ insuficient e evite dados compartilhados. é preciso ter-se definido, e muito bem, que somente um módulo pode fazer manutenção na área de dados. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 17

ACOPLAMENTO CONTEÚDO Faz referência ao interior do outro A B Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 18

Qualidade dos Tipos de Acoplamento Tipo de Acoplamento Suscetib. ao Erro Possibilidade de Alteração Compreensão Util. Módulo Outros Sist. Conteúdo Ruim Ruim Ruim Ruim Comum Fraco Média Ruim Ruim Controle Média Fraco Fraco Fraco Imagem Variavel Média Média Média Dados Variavel Boa Boa Boa Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 19

COESÃO mede a força de ligação entre os módulos Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 20

COESÃO TIPOS DE COESÃO : Coesão Funcional Coesão Sequencial Coesão Comunicacional Coesão Procedural Coesão Temporal Coesão Lógica Coesão Coincidental (melhor) (pior) Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 21

COESÃO FUNCIONAL É quando o módulo possui elementos diferentes, porém todos eles são necessários e suficientes para executar uma e somente uma função. Calcular o coseno de um ângulo Ex. LEIA registro de cliente CALCULE prêmio normal de seguro DEDUZA taxas federais Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 22

COESÃO SEQUENCIAL É quando o módulo possui funções diferentes, executadas seqüencialmente, e o resultado do processamento da primeira, será a entrada para o processamento da segunda. X A Y B Z Ex. CALCULAR salário bruto; CALCULAR deduções; CALCULAR salário liquido. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 23

COESÃO COMUNICACIONAL É quando o módulo executa varias tarefas e se utiliza da mesma entrada ou da mesma saída. X A B Y Z Ex. OBTER preço do livro; OBTER titulo do livro; OBTER autor do livro; OBTER editora do livro Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 24

COESÃO PROCEDURAL É quando o módulo possui elementos que cumprem funções diferentes, e muitas vezes não relacionadas, nas quais o controle é passado de uma a outra. LER GRAVAR Neste tipo de coesão só ocorre a passagem de controle, sem nenhuma passagem de dados. EDITAR Ex. Verificar se o limite de crédito do cliente foi atingido; e Se o limite foi atingido, bloquear o pedido Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 25

COESÃO TEMPORAL Quando os procedimentos que executa estiveram relacionados com o tempo, e não com o tipo de função que executam. imprimir fechar arquivo Neste módulo, as instruções necessitam ser executadas ao mesmo tempo, sem portanto, a necessidade de ordem ou vinculo entre elas. encerrar execução Ex. FORMATAR e imprimir totais gerais; FECHAR arquivos; ENCERRAR execução. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 26

COESÃO LÓGICA Quando os elementos que formam um módulo, destinam-se ao tratamento de uma mesma categoria. R1 A R1 A1 R1 A2 Ex. Tratamento de Erros EMISSÃO de Mensagem; EXECUÇÃO de processo especifico; Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 27

COESÃO COINCIDENTAL Este tipo ocorre quando os procedimentos internos dos módulos estão dispostos de tal forma que não existe nenhuma ligação lógica entre eles. C1 C A1 A B1 B Ex. Tratamento de Erros LER Pedido GERAR aviso de cobrança; ATUALIZAR dados cadastrais de cliente; EMITIR tabela de preço aos vendedores; Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 28

O módulo pode ser considerado como executando uma função relacionada ao problema? COESÃO USANDO A ÁRVORE DE DECISÃO relacionamento das atividades dados controle nenhuma SIM A seqüência é importante? A seqüência é importante? 1. Funcional 2. Seqüencial 3. Comunicacional 4. Procedural 5. Temporal NÃO Mesma categoria? 6. Lógica 7. Coincidente Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 29

Qualidade dos Tipos de Coesão Tipo de Coesão Grau Indep. Outros Módulos Suscetibilidade a erros Compreensão Util. Módulo Outros Sist. Coincidental Baixo Alto Baixo Baixo Lógica Médio Alto Médio Médio Temporal Baixo Médio Médio Baixo Procedural Medio Baixo Baixo Baixo Comunicac. Medio Baixo Médio Médio Sequencial Alto Médio Médio Alto Funcional Alto Baixo Alto Alto Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 30