64
1 UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA MODELOS PARA ESPECIFICAÇÃO DE MODELOS PARA ESPECIFICAÇÃO DE SISTEMAS DE SOFTWARE SISTEMAS DE SOFTWARE CCE 556 CCE 556 - - Engenharia de Software Engenharia de Software Profa. Inês Ap. G. Boaventura

Modelo de Análise - dcce.ibilce.unesp.brines/cursos/eng_soft/aula06.pdf · É uma representação em miniatura de uma realidade completa, que reflete ... notação sintática e semântica

  • Upload
    vocong

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

1

UNIVERSIDADE ESTADUAL PAULISTAINSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

MODELOS PARA ESPECIFICAÇÃO DE MODELOS PARA ESPECIFICAÇÃO DE SISTEMAS DE SOFTWARESISTEMAS DE SOFTWARECCE 556CCE 556-- Engenharia de SoftwareEngenharia de Software

Profa. Inês Ap. G. Boaventura

2

Modelo de Sistema de Modelo de Sistema de SoftwareSoftware

É uma representação em miniatura de uma realidade completa, que reflete certas características específicas do sistema que está sendo representado.

Útil => se consegue retratar as características relevantes

Diferentes características são examinadas pelo uso de vários modelos do mesmo sistema

3

ModelosModelosObjetivos:

auxiliar na organização de informações;descrever o que o cliente deseja;estabelecer uma base para a criação de um projeto de software;definir um conjunto de requisitos que pode ser validado quando o software for construído;gerenciar a complexidade;

4

EspecificaçãoEspecificação

Dados do domíniodo problema

Abstração Decomposição

Propósito:criar uma ponte de comunicação entre as pessoas envolvidas no desenvolvimento do sistema

Especificação

Especificaçãode requisitos

Especificaçãode projeto geral

Especificaçãode projeto detalhado

Cliente e desenvolvedor Projetista eimplementador programadores

5

Tipos de EspecificaçãoTipos de Especificação

Especificação Descritiva: declara as propriedades desejadas do sistema de uma forma puramente descritiva

A trajetória T de um satélite é um caminho composto de pontosque descrevem seu movimento, de forma que a distância entre cada ponto de T e um ponto fixo P tem um valor constante.

X2 + Y2 + C2 = 0 - mostra a trajetória como o conjunto de pontos T,cujas coordenadas x e y tem as propriedades desejada e a constante cdepende da distância do ponto P aos pontos de T. (representa de maneira formal as propriedades desejadas para o sistema)

6

Tipos de EspecificaçãoTipos de Especificação

Especificação Operacional: representa o comportamento desejado do sistema utilizando modelos abstratos que, de alguma forma, simulem seu comportamento. Auxilia na direta verificação dos requisitos.

P

T Pode-se examinar visualmente se a figura satisfaz os requisitos que se tem em mente.

7

Estágios da especificaçãoEstágios da especificação

Declaração de objetivos e restrições do projeto.Especificação de requisitos (ou especificação de análise)Especificação de projeto

8

Grau de formalidade da Grau de formalidade da especificaçãoespecificação

Especificações informais - descritas em linguagem natural, fazendo uso de figuras, tabelas e outras notações.Especificação semiformal notação padronizada sem uma semântica precisa.

Especificação formal - uso de rigor, notação sintática e semântica bem definidas para descrever o problema.

9

Modelos e princípios da análise de requisitos

ModelosModelos são úteis para se alcançar os princípios da abstração e decomposição, além de permitir uma formalização relativa(semiformal) ou completa(formal) da especificação.

10

Modelos e princípios da análise de requisitos

Abstração. Modelos devem representar uma solução para o problema, sem se deter em detalhes que cercam a realidade. Em geral, a construção de modelos segue o conceito descendente (top-down) - modelos com alto nível de abstração para modelos de baixo nível de abstração.

11

Modelos e princípios da análise de requisitos

Decomposição. Dividir para conquistar. Os modelos

Permitem que problemas complexos sejam divididos em problemas menores.Permitem a representação do relacionamento entre partes do problema. Geralmente de forma hierárquica (hierarquias de programas, hierarquias de classes de objetos)

12

Modelos e princípios da análise de requisitos

Formalidade. Modelos formais e semiformais permitem instituir controles.Possibilitam a comunicação de idéias entre pessoas de forma mais eficiente.Representação precisa de instruções a ser passadas de um estágio para outro.

13

Modelagem de sistemas

Modelagem de sistema ajuda o analista a entender a funcionalidade do sistema e modelos são usados para auxiliar a comunicação com os clientes.Modelos diferentes apresentam o sistema de perspectivas diferentes

Perspectiva externa mostra o contexto ou o ambiente do sistema.Perspectiva comportamental mostra o comportamento do sistema.Perspectiva estrutural mostra a arquitetura do sistema ou estrutura de dados.

14

Métodos estruturados

Métodos estruturados fornecem formulações para a modelagem detalhada de sistemas.Métodos definem um conjunto de modelos, um processo para derivar esses modelos e regras e diretrizes que se aplicam aos modelos.As ferramentas CASE estão disponíveis para dar apoio aos métodos.

15

Deficiências dos métodos de análise estruturada

Não modelam requisitos não funcionaisNão incluem informações sobre se um método é apropriado para um determinado problema.Freqüentemente produzem muita documentação.Os modelos produzidos são muito detalhados e de difícil compreensão pelos usuários.

16

Tipos de modelos

Modelos de processamento de dados mostram como os dados são processados em diferentes estágios no sistema.Modelos de composição mostram como as entidades são compostas de outras entidadesModelos de arquitetura mostram os subsistemas principais. Modelos de classificação mostram como as entidades tem características principais.Modelos de estímulo-resposta mostram como o sistema reage a eventos externos e internos.

17

Modelos de Contexto(Perspectiva externa)

Modelos de contextoModelos de contexto são usados para ilustrar os limites de um sistema.Preocupações sociais e organizacionais podem afetar a decisão de onde será posicionado os limites do sistema.Modelos de arquitetura descrevem o sistema e seu relacionamento com outros sistemas.

18

Contexto do sistema de ATM

Auto-tellersystem

Securitysystem

Maintenancesystem

Accountdatabase

Usagedatabase

Branchaccounting

system

Branchcountersystem

Sistema de contabilidade

Sistema de Balcão

Sistema de proteção

Sistema de caixa automático

Banco de dados de contas

Banco de dados de operação

Sistema demanutenção

19

Modelos (Perspectiva interna)

Modelos funcionaisModelos de fluxo de dados

Modelos de comportamentoModelos de máquinas de estado

Modelos de dadosModelos de Objeto

Modelos de herançaAgregação de objetosModelagem de comportamento de objetos

20

Modelos Modelos -- um sistema exemploum sistema exemplo

Subsistema de Consulta a bibliotecasO sistema recebe como entrada um título ou um autor. Quandotítulo e autor são fornecidos pelo usuário, o sistema deve consultar o acervo da universidade e verificar se o par título-autor pertence ao acervo. Em caso afirmativo, o sistema deveverificar se há disponibilidade de exemplares correspondentes ao par título-autor e, nesse caso encontrar a localização dessesexemplares. Em caso negativo, o sistema deve informar ao usuário que o par não pertence ao acervo. Quando apenas otítulo é fornecido, o sistema deve listar todas as ocorrências dotítulo no acervo. Quando apenas o autor é fornecido, o sistema deve informar ao usuário todos os títulos daquele autor perten-

centes ao acervo.

21

Modelos do mundo realModelos do mundo real

Verificar acervoverificar disponibilidade

localizar exemplar

Bibliotecasexemplarestítulosautores

Aguardando consulta.Preparandoresposta

Percepção de dadosPercepção funcional

Percepção comportamentalSistema

As três percepções do mundo real num sistema de consulta a bibliotecas.

22

Modelos do mundo real

Modelo funcional do sistema

Representa a percepção do que o sistema faz.

No exemplo da biblioteca, tem-se as seguintes funções: verifica acervo, verifica disponibilidade e localiza exemplar.

23

Modelos do mundo real

Modelo de dados

Representa a percepção dos dados que o sistema mantém.

Para o subsistema de consulta a bibliotecas, os dados mantidos pelo sistema são: bibliotecas, exemplares, títulos e autores.

24

Modelos do mundo real

Modelo comportamental

Representa a percepção de como o sistema se comporta em resposta a certos eventos externos.Focaliza os dados (objetos do sistema) ou as funções.

Para o subsistema de consulta a bibliotecas, identifica-se os seguintes estados para as funções do sistema: aguardando consulta do usuário e preparando resposta à consulta.

25

O Modelo de FunçãoO Modelo de Função

Interface Sistema InterfaceENTRADA SAÍDA

O modelo de contexto do sistema

26

O Modelo de Função O Modelo de Função

Função1

Função2

Função4

Função3

conexão

conexão

conexão

conexão

SAÍDAENTRADA

Decomposição do modelo funcional

27

O Modelo de FunçãoO modelo de função está completo quando satisfaz as seguintes condições:

Descreve todo o sistema -mostra as transformações de todas as entradas em saídas;decompõe convenientemente o sistema de modo que todos os componentes não particionados sejam elementares;cada componente do sistema está ligado corretamente ao resto da rede, e nenhuma conexão necessária foi omitida;as conexões estão minimizadascada conexão da rede está definida no dicionário de dados.

28

Modelo de Função - DFD -Diagrama de Fluxo de Dados

Técnica gráfica que descreve o fluxo de fluxo de informaçãoinformação e as transformaçõestransformações que são aplicadas à medida que os dados se movimentam da entrada para a saída

Um sistema baseado em computador é representado como uma transformação de

informação

29

Diagrama de Fluxo de Dados (DFD) Notação

Um produtor ou consumidor de informaçõesque reside fora dos limites do sistema a ser modelado

Entidade externa

Um transformador de informação (função) que reside dentro dos limites do sistema a ser modelado

processo

Usada para representar conexão, chamada de fluxo de dados

Um repositório de dados pode ser usado porum ou mais processos. Pode ser tão simplesquanto um buffer ou tão sofisticado quantoum banco de dados relacional

Depósito de dados

30

Diretrizes Básicas1) O DFD de nível 0 deve descrever o software como

uma única bolha2) A Entrada e a saída iniciais devem ser

cuidadosamente anotadas3) O refinamento deve iniciar isolando-se possíveis

processos, itens de dados e depósitos de dados a serem representados no próximo nível

4) Todas as setas e bolhas devem ser rotuladascom nomes significativos

5) A continuidade do fluxo de informação deve ser mantida entre níveis de refinamento

6) Deve ser refinada uma bolha de cada vez

31

DFD do subsistema de consulta a bibliotecas de uma universidade

Verifica acervo

Verifica disponibi-

lidade Localiza exemplar

usuário

exemplares

bibliotecas

títulos e autores

Lista de título-autor

mensagem1

Título, autor

Mensagem 2

Nome da biblioteca

Exemplar disponível

Informações debiblioteca

disponibilidade

Informações doacervo

32

O modelo de DadosQuais são os dados a serem armazenados pelo sistema?Qual é a melhor organização desses dados?Quais são os relacionamentos entre grupos de dados?Como os dados serão utilizados?

33

Componentes do Modelo de Dados

=• entidade externa: algo que produz ou consome informação;

• coisa: relatório ou edição;• ocorrência ou evento :

chamada telefônica, alarme;• papel: vendedor;• unidade organizacional: depto de contas;• lugar: armazém;• estrutura: arquivo;

Entidade(ou objeto)

34

Componentes do Modelo de Dados (cont.)

Atributos = • podem ser usados para:(1) nomear uma instância de um objeto;(2) descrever uma instância;(3) fazer referência a outra instância em

outra tabela;• um ou mais atributos precisam ser definidos como um identificador;

definem as propriedades de

uma entidade

Relacionamentos = • são conexões relevantes entre os objetos;

• bidirecionais;

35

Componentes do Modelo de Dados (Exemplo)

Mundo Real DENTRO do SISTEMA

Entidade Propriedade RelacionamentoCliente nome

endereçocic Alugar

carro: marcacorno. chassiscarro

Cliente

Abstração

36

Componentes do Modelo de Dados(cont.)

Entidades, atributos e relacionamentosEntidades, atributos e relacionamentos => base para o entendimento do domínio de informação do problema;CARDINALIDADECARDINALIDADE: é a especificação do número de ocorrências de um objeto que pode ser relacionado com o número de ocorrências de outro objeto;

um-para-um (1:1) => ”um marido pode ter somente uma esposa e vice-versa”;um-para-muitos (1:N) => ”uma mãe pode ter muitos filhos, mas um filho tem apenas uma mãe”;muitos-para-muitos (M:N) => ”um tio pode ter vários sobrinhos, enquanto que um sobrinho pode ter vários tios”;

37

Componentes do Modelo de Dados (Diagrama E-R)

1 malugaCliente Carro

nome endereço cic no.chassiscormarca

Relacionamento, cardinalidade e Participação entreentre as entidades Cliente e Carro

38

Diagrama E-R do subsitema de consulta a bibliotecas

no. itemBiblioteca Conter

1 mExemplar

Acervo

Possuir

n

1

nome local código

estado

título

editora

Data public.

área

autor

edição

39

O modelo comportamentalRepresenta os estados e os eventos que alteram esses estadosEventos: representados através de condições e ações para mudanças de estado.Quando a condição é verdadeira, a ação correspondente é ativada.Quando a ação é completada, o componente passa ao estado determinado pelo evento correspondente.

40

O modelo comportamentalMáquinas de estados finitos-MEF

MEF: Ferramenta gráfica para especificações semiformais que utiliza um grafo para representar o comportamento do sistema.

Representa os estados;

Representa os eventos que causam a mudança deestado. As setas podem ser rotuladas com ascondições para a ocorrência do evento, ou ações quedevem ser realizadas quando há mudança de estado.

41

O modelo comportamentalexemplo da biblioteca

MEF para os títulos de uma biblioteca (exemplar)

Reservado paradisciplina

Cancelar reserva(final do semestre)

Registrar reservaárea disciplina = área exemplar)

Registrar devolução

Registrar retirada

disponível emprestado

42

O modelo comportamentalTraço de eventos

• Ferramenta utilizada para representar cenários em sistemas orientados a objetos.

• Cenários descrevem como o sistema trabalhará quando estiver em ação.

• Mostra o comportamento do sistema, representando os objetos das classes envolvidas em um serviço do sistema e suas interfaces

Notação:• Traço vertical: representa as classes envolvidas no serviço

• seta horizontal: representa as mensagens trocadas entre as classes

43

O modelo comportamentalTraço de eventos - exemplo

Traço de eventos para o cenário localização do exemplar:

Nomebiblioteca

Título eautor

Acervo Exemplar Biblioteca

Verifica estado

Procura nome

Nome bibliotecaNome biblioteca

44

O modelo de objetos

É utilizado para representar tanto os dados como o seu comportamento.Permite também a representação da composição e a classificação de componentes(objetos) do sistema.Classe de objetos é uma abstração sobre

um conjunto de objetos que possuem atributos e serviços(operações) comuns.

45

Modelo de Objetos

Descreve o sistema em termos de classesde objetosVários modelos podem ser produzidos:

Modelos de herançaModelos de agregaçãoModelos de interação

46

O modelo de objetos

O modelo representa os atributos das classes de objetos, seus serviços, os relacionamentos entre as classes e a utilização de serviços de um objeto por outro.

47

O modelo de objetosnotação

Nomeatributosoperações

Representa classes de objetos

Classificação(generalização/especialização)

Associação

Composição de objetos de uma classe

48

O modelo de objetosExemplos de generalização e agregação (composição)

pessoa

empregado aluno

pessoa

cabeça membrotronco*

professor funcionário

49

O modelo de objetosExemplos de associação

Associação: permite que um objeto de uma classe utilize um serviço de outra classe, enviando mensagens a objetos da classe.

faculdadepessoa*

50

O modelo de objetosDiagrama de classes de objetos para o sistema de bibliotecas

AcervoTítuloData publicEditoraAssuntoAutorVerifica tituloVerifica autorVerifica dispon

ExemplarNo. ItemEstado

Verifica estadoLocaliza item

1 * *

BibliotecaNomeLocalUnidade

Obtém nomeObtém local

1

51

Modelo de herança

Organiza as classes de objetos do domínio em uma hierarquia.Classes no topo da hierarquia refletem as características comuns de todas as classesClasses de objetos herdam seus atributos e serviços de uma ou mais super-classes e são consideradas classes especializadas.

52

Catalogue numberAcquisition dateCostTypeStatusNumber of copies

Library item

Acquire ()Catalogue ()Dispose ()Issue ()Return ()

AuthorEditionPublication dateISBN

Book

YearIssue

MagazineDirectorDate of releaseDistributor

Film

VersionPlatform

Computerprogram

TitlePublisher

Published itemTitleMedium

Recorded item

Hierarquia de classes para um sistema de biblioteca

53

NameAddressPhoneRegistration #

Library user

Register ()De-register ()

Affiliation

Reader

Items on loanMax. loans

Borrower

DepartmentDepartment phone

StaffMajor subjectHome address

Student

Hierarquia de classe de usuário

54

Herança múltipla

Um sistema que suporta herança múltipla permite que classes de objetos herdem características de várias super-classesPode levar a conflitos semânticos onde atributos/serviços com o mesmo nome em diferentes super-classes tem semânticas diferentes.Faz com que a reorganização da hierarquia de classe seja mais complexa.

55

Herança múltipla

# Tapes

Talk ing book

AuthorEd it ionPublicat ion dateISBN

Book

SpeakerDurationRecord ing date

Vo ice record ing

56

Agregação de objetosModelo de agregação mostra como classes que são coleções são compostas de outras classes.Semelhante ao relacionamento parte-de em modelos de dados semânticos.

57

Agregação de objetos

Videotape

Tape ids.

Lectur enotes

Text

OHP slides

Slides

Assignment

Credits

SolutionsTextDiagrams

Exercises

#Problems Description

Course titleNumberYearInstructor

Study pack

58

Dicionário de Dados (DD)

Proposto como gramática quase formal para descrever de forma mais detalhada qualquer modelo do sistema. É constituído por uma lista em ordem alfabética de suas entradas (componentes dos modelos).

59

Dicionário de DadosNotação para Descrição de Conteúdo

CONSTRUÇÃO DEDADOS

NOTAÇÃO SIGNIFICADO

= é composto deSequência + eSeleção [ | ] ou ... ouRepetição { }n n repetições de

( ) dados opcionais* * delimita comentários

60

Exemplo: depósito de dados exemplares

Dicionário de Dados

exemplares = {exemplar}

exemplar = n_item + estado + nome_título

n_item = cod_biblioteca + n_exemplar

estado = [emprestado/disponível/reservado_para_disciplina]

cod_biblioteca = String[2]

n_exemplar = Integer

nome_título = String[60]

61

Dicionário de DadosDescrição de Conteúdo

é ampliada (1) até que todos os itens de dados compostos tenham sido representados como itens elementares ou (2) até que todos os itens compostos sejam representados em termos conhecidos e inequívocos

62

Pontos-chave

Um modelo é uma visão abstrata de um sistema. Modelos de sistema complementares podem ser desenvolvidos, os quais apresentam informações diferentes sobre o sistema.Os modelos de contexto mostram como o sistema está posicionado em um ambiente com outros sistemas. Existem várias abordagens para representar um modelo de contexto. Os DFDs são utilizados para modelar o processamento de dados de um sistema, e modelam um conjunto de transformações de dados, com funções que atuam sobre eles.

63

Pontos-chaveOs modelos de máquinas de estado são utilizados para modelar o comportamento de um sistema em resposta a eventos internos ou externos.Os modelos semânticos de dados descrevem a estrutura lógica dos dados que são importados e exportados pelo sistema.Os modelos de objetos descrevem as entidades do sistema lógico e sua classificação e agregação. Eles combinam um modelo de dados com um modelo de processamento. Ferramentas CASE dão apoio ao desenvolvimento de modelos de sistema, fornecendo ferramentas de edição, verificação, relatório e documentação.

64