• Nenhum resultado encontrado

aula06

N/A
N/A
Protected

Academic year: 2021

Share "aula06"

Copied!
64
0
0

Texto

(1)

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 SoftwareEngenharia de Software

(2)

Modelo de Sistema de

Modelo de Sistema de

Software

Software

É 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

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

(3)

3

Modelos

Modelos

]

Objetivos:

\

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;

(4)

Especificação

Especificação

Dados do domínio

do problema

Abstração Decomposição Propósito:criar uma ponte de comunicação entre as pessoas envolvidas no desenvolvimen to do sistema Especificação Especificação de requisitos Especificação

de projeto geral de projeto detalhadoEspecificação Cliente e desenvolvedor Projetista e

(5)

5

Tipos de Especificação

Tipos 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 pontos que 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 c depende da distância do ponto P aos pontos de T. (representa de

(6)

Tipos de Especificação

Tipos 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)

7

Estágios da especificação

Estágios da especificação

]

Declaração de objetivos e restrições do

projeto.

]

Especificação de requisitos (ou

especificação de análise)

(8)

Grau de formalidade da

Grau de formalidade da

especificação

especificaçã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)

9

Modelos e princípios da

análise de requisitos

Modelos

Modelos 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)

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

(13)

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

(15)

15

Deficiências dos métodos

de análise estruturada

]

Não modelam requisitos não funcionais

]

Nã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

(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 entidades

] Modelos 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)

17

Modelos de Contexto

(Perspectiva externa)

]

]

Modelos de contexto são usados para

Modelos de contexto

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-teller system Security system Maintenance system Account database Usage database Branch accounting system Branch counter system 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 de manutenção

(19)

19

Modelos

(Perspectiva interna)

]

Modelos funcionais

\

Modelos de fluxo de dados

]

Modelos de comportamento

\

Modelos de máquinas de estado

]

Modelos de dados

]

Modelos de Objeto

\

Modelos de herança

\

Agregação de objetos

(20)

Modelos

Modelos

-

-

um sistema exemplo

um sistema exemplo

Subsistema de Consulta a bibliotecas

O sistema recebe como entrada um título ou um autor. Quando tí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 deve verificar se há disponibilidade de exemplares correspondentes ao par título-autor e, nesse caso encontrar a localização desses exemplares. Em caso negativo, o sistema deve informar ao usuário que o par não pertence ao acervo. Quando apenas o título é fornecido, o sistema deve listar todas as ocorrências do título no acervo. Quando apenas o autor é fornecido, o sistema deve informar ao usuário todos os títulos daquele autor

(21)

perten-21

Modelos do mundo real

Modelos do mundo real

Verificar acervo verificar disponibilidade localizar exemplar Bibliotecas exemplares títulos

autores Aguardando consulta. Preparando resposta Percepção de dados Percepção funcional Percepção comportamental Sistema

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)

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:

(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

(25)

25

O Modelo de Função

O Modelo de Função

Interface Sistema Interface

ENTRADA SAÍDA

(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ÍDA ENTRADA

(27)

27

O Modelo de Função

O 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 minimizadas

] cada 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ção

informação

e as

transformações

transformaçõ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)

29

Diagrama de Fluxo de Dados

(DFD)

Notação

Um produtor ou consumidor de informações que 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 por um ou mais processos. Pode ser tão simples quanto um buffer ou tão sofisticado quanto um banco de dados relacional

Depósito de dados

(30)

Diretrizes Básicas

1) O DFD de nível 0 deve descrever o software como

uma única bolha

2) A Entrada e a saída iniciais devem ser

cuidadosamente anotadas

3) 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 rotuladas

com nomes significativos

5) A continuidade do fluxo de informação deve ser

mantida entre níveis de refinamento

(31)

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 de biblioteca disponibilidade Informações do acervo

(32)

O modelo de Dados

] Quais 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?

(33)

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;

(35)

35

Componentes do Modelo de

Dados (Exemplo)

Mundo Real DENTRO do SISTEMA

Entidade Propriedade Relacionamento Cliente nome endereço cic Alugar carro: marca cor no. chassis carro 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

(37)

37

Componentes do Modelo de

Dados (Diagrama E-R)

1 m

aluga

Cliente Carro

nome endereço cic marca cor no.chassis

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

(38)

Diagrama E-R do subsitema

de consulta a bibliotecas

no. item

Biblioteca 1 Conter m Exemplar

Acervo

Possuir

n

1 nome local código

estado título editora Data public. autor edição

(39)

39

O modelo comportamental

]

Representa os estados e os eventos que

alteram esses estados

]

Eventos: 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

(40)

O modelo comportamental

Má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 de estado. As setas podem ser rotuladas com as

condições para a ocorrência do evento, ou ações que devem ser realizadas quando há mudança de estado.

(41)

41

O modelo comportamental

exemplo da biblioteca

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

Reservado para disciplina Cancelar reserva

(final do semestre)

Registrar reserva

área disciplina = área exemplar) Registrar devolução Registrar retirada

(42)

O modelo comportamental

Traç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

(43)

43

O modelo comportamental

Traço de eventos - exemplo

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

Nome

biblioteca Título e autor

Acervo Exemplar Biblioteca

Verifica estado

Procura nome Nome biblioteca Nome 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

(45)

45

Modelo de Objetos

]

Descreve o sistema em termos de

classes

de objetos

]

Vários modelos podem ser produzidos:

\

Modelos de herança

\

Modelos de agregação

\

Modelos 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)

47

O modelo de objetos

notação

Nome atributos operações

Representa classes de objetos

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

Associação

(48)

O modelo de objetos

Exemplos de generalização e

agregação (composição)

pessoa empregado aluno pessoa

cabeça tronco membro *

(49)

49

O modelo de objetos

Exemplos 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

.

faculdade pessoa

(50)

O modelo de objetos

Diagrama de classes de objetos para o

sistema de bibliotecas

Acervo Título Data public Editora Assunto Autor Verifica titulo Verifica autor Verifica dispon Exemplar No. Item Estado Verifica estado Localiza item 1 * * Biblioteca Nome Local Unidade Obtém nome Obtém local 1

(51)

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 classes

]

Classes de objetos herdam seus atributos e

serviços de uma ou mais super-classes e

são consideradas classes especializadas.

(52)

Catalogue number Acquisition date Cost Type Status Number of copies Library item Acquire () Catalogue () Dispose () Issue () Return () Author Edition Publication date ISBN Book Year Issue Magazine Director Date of release Distributor Film Version Platform Computer program Title Publisher Published item Title Medium Recorded item Hierarquia de classes para um sistema de biblioteca

(53)

53

Name Address Phone

Registration # Libr ary user

Register () De-r egister () Affiliation Reader Items on loan Max. loans Borrower Department Department phone Staff Major subject Home 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-classes

]

Pode 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

(55)

55

Herança múltipla

# Tapes Talk in g bo ok Au th or Ed itio n Pu blicatio n d ate ISBN Bo ok Sp eaker Du ratio n Record in g d ate Vo ice record in g

(56)

Agregação de objetos

]

Modelo de agregação mostra como classes que

são coleções são compostas de outras classes.

]

Semelhante ao relacionamento

parte-de

em

(57)

57

Agregação de objetos

Videotape Tape ids. Lectur e notes Text OH P slides Slides Assignment Credits Solutions Text Diagrams Exercises #Problems Description Course title Number Year Instructor 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

(59)

59

Dicionário de Dados

Notação para Descrição de Conteúdo

CONSTRUÇÃO DE DADOS NOTAÇÃO SIGNIFICADO = é composto de Sequência + e Seleção [ | ] ou ... ou Repetiçã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

(61)

61

Dicionário de Dados

Descriçã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

(63)

63

Pontos-chave

] Os 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)

Referências

Documentos relacionados

E1-OPS-WKS6P Estação de trabalho Rackmount com placa gráfica atualizada, que permite o uso de até 6 monitores que utilizem Decodificadores aprimorados (VX-A3- DEC); com cabos

A esse respeito, Coracini (2005) pontua que, a leitura com foco no leitor pode ser vista como a interação entre os componentes do ato da comunicação escrita. Nesse sentido,

No poema “Sonetilho do Falso Fernando Pessoa” de Claro Enigma, o poeta Drummond nos apresenta uma interpretação do fenômeno da heteronímia pessoana (“E das peles que visto /

Para estabelecer uma distinção básica entre relação de trabalho e relação de emprego será suficiente definir o que seja uma e outra coisa. 114),

acontecimento individual “como sendo uma medida de uma propensão.. objectiva – da força da tendência, inerente á situação física especifica, para concretizar o acontecimento

Ruth Rocha e Dora Lorch Salamandra Série “As Coisas Que Eu Gosto” Tem Umas Coisas Que

46 do Regimento Interno (Resolução nº 001/91), vêm, perante Vossa Excelência, PROPOR À CRIAÇÃO DE UMA COMISSÃO ESPECIAL DE INQUÉRITO – CEI, com finalidade de apurar

Na análise do local em que aconteceram os homicídios na cidade do Recife, no decorrer dos anos de 2004 a 2009 (Gráfico 47), podemos perceber um aumento nos casos ocorridos em