Вы находитесь на странице: 1из 64

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCINCIAS, LETRAS E CINCIAS EXATAS DEPARTAMENTO DE CINCIAS DE COMPUTAO E ESTATSTICA

MODELOS PARA ESPECIFICAO DE SISTEMAS DE SOFTWARE


CCE 556- Engenharia de Software Profa. Ins Ap. G. Boaventura

Modelo de Sistema de Software


uma representao em miniatura de uma realidade completa, que reflete certas caractersticas especficas do sistema que est sendo representado.
til => se consegue retratar as caractersticas relevantes Diferentes caractersticas so examinadas pelo uso de vrios modelos do mesmo sistema

Modelos
Objetivos: auxiliar na organizao de informaes; descrever o que o cliente deseja; estabelecer uma base para a criao de um projeto de software; definir um conjunto de requisitos que pode ser validado quando o software for construdo; gerenciar a complexidade;

Especificao
Dados do domnio do problema
Abstrao Decomposio Especificao Propsito:criar uma ponte de comunicao entre as pessoas envolvidas no desenvolvimen to do sistema

Especificao de requisitos Cliente e desenvolvedor

Especificao de projeto geral Projetista e implementador

Especificao de projeto detalhado programadores


4

Tipos de Especificao
Especificao Descritiva: declara as propriedades desejadas do sistema de uma forma puramente descritiva
A trajetria T de um satlite um caminho composto de pontos que descrevem seu movimento, de forma que a distncia entre cada ponto de T e um ponto fixo P tem um valor constante. X2 + Y2 + C2 = 0 - mostra a trajetria como o conjunto de pontos T, cujas coordenadas x e y tem as propriedades desejada e a constante c depende da distncia do ponto P aos pontos de T. (representa de maneira formal as propriedades desejadas para o sistema)
5

Tipos de Especificao
Especificao Operacional: representa o comportamento desejado do sistema utilizando modelos abstratos que, de alguma forma, simulem seu comportamento. Auxilia na direta verificao dos requisitos.
T P Pode-se examinar visualmente se a figura satisfaz os requisitos que se tem em mente.
6

Estgios da especificao
Declarao de objetivos e restries do projeto. Especificao de requisitos (ou especificao de anlise) Especificao de projeto

Grau de formalidade da especificao


Especificaes informais - descritas em linguagem natural, fazendo uso de figuras, tabelas e outras notaes. Especificao semiformal notao padronizada sem uma semntica precisa.

Especificao formal - uso de rigor, notao sinttica e semntica bem definidas para descrever o problema.
8

Modelos e princpios da anlise de requisitos


Modelos so teis para se alcanar os princpios da abstrao e decomposio, alm de permitir uma formalizao relativa(semiformal) ou completa(formal) da especificao.

Modelos e princpios da anlise de requisitos


Abstrao. Modelos devem representar uma soluo para o problema, sem se deter em detalhes que cercam a realidade. Em geral, a construo de modelos segue o conceito descendente (top-down) - modelos com alto nvel de abstrao para modelos de baixo nvel de abstrao.
10

Modelos e princpios da anlise de requisitos


Decomposio. Dividir para conquistar. Os modelos
Permitem que problemas complexos sejam divididos em problemas menores. Permitem a representao do relacionamento entre partes do problema. Geralmente de forma hierrquica (hierarquias de programas, hierarquias de classes de objetos)
11

Modelos e princpios da anlise de requisitos


Formalidade.
Modelos formais e semiformais permitem instituir controles. Possibilitam a comunicao de idias entre pessoas de forma mais eficiente. Representao precisa de instrues a ser passadas de um estgio para outro.

12

Modelagem de sistemas
Modelagem de sistema ajuda o analista a entender a funcionalidade do sistema e modelos so usados para auxiliar a comunicao 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 13 ou estrutura de dados.

Mtodos estruturados
Mtodos estruturados fornecem formulaes para a modelagem detalhada de sistemas. Mtodos definem um conjunto de modelos, um processo para derivar esses modelos e regras e diretrizes que se aplicam aos modelos. As ferramentas CASE esto disponveis para dar apoio aos mtodos.

14

Deficincias dos mtodos de anlise estruturada


No modelam requisitos no funcionais No incluem informaes sobre se um mtodo apropriado para um determinado problema. Freqentemente produzem muita documentao. Os modelos produzidos so muito detalhados e de difcil compreenso pelos usurios.

15

Tipos de modelos
Modelos de processamento de dados mostram como os dados so processados em diferentes estgios no sistema. Modelos de composio mostram como as entidades so compostas de outras entidades Modelos de arquitetura mostram os subsistemas principais. Modelos de classificao mostram como as entidades tem caractersticas principais. Modelos de estmulo-resposta mostram como o sistema reage a eventos externos e internos.
16

Modelos de Contexto
(Perspectiva externa)
Modelos de contexto so usados para ilustrar os limites de um sistema. Preocupaes sociais e organizacionais podem afetar a deciso de onde ser posicionado os limites do sistema. Modelos de arquitetura descrevem o sistema e seu relacionamento com outros sistemas.
17

Contexto do sistema de ATM


Security Sistema de system proteo
Sistema de accounting contabilidade

Branch system

Account Banco de dados database de contas Auto-teller Sistema de system caixa automtico

Branch Sistema de counter Balco system Maintenance Sistema de system manuteno

Usage Banco de dados database de operao

18

Modelos (Perspectiva interna)


Modelos funcionais
Modelos de fluxo de dados

Modelos de comportamento
Modelos de mquinas de estado

Modelos de dados Modelos de Objeto


Modelos de herana Agregao de objetos Modelagem de comportamento de objetos

19

Modelos - um sistema exemplo


Subsistema de Consulta a bibliotecas O sistema recebe como entrada um ttulo ou um autor. Quando ttulo e autor so fornecidos pelo usurio, o sistema deve consultar o acervo da universidade e verificar se o par ttuloautor pertence ao acervo. Em caso afirmativo, o sistema deve verificar se h disponibilidade de exemplares correspondentes ao par ttulo-autor e, nesse caso encontrar a localizao desses exemplares. Em caso negativo, o sistema deve informar ao usurio que o par no pertence ao acervo. Quando apenas o ttulo fornecido, o sistema deve listar todas as ocorrncias do ttulo no acervo. Quando apenas o autor fornecido, o sistema deve informar ao usurio todos os ttulos daquele autor perten20 centes ao acervo.

Modelos do mundo real


Percepo de dados Percepo funcional Verificar acervo verificar disponibilidade localizar exemplar Bibliotecas exemplares ttulos autores

Aguardando consulta. Preparando resposta Percepo comportamental

Sistema

As trs percepes do mundo real num sistema de consulta a bibliotecas.


21

Modelos do mundo real


Modelo funcional do sistema Representa a percepo do que o sistema faz.
No exemplo da biblioteca, tem-se as seguintes funes: verifica acervo, verifica disponibilidade e localiza exemplar.

22

Modelos do mundo real


Modelo de dados Representa a percepo dos dados que o sistema mantm.
Para o subsistema de consulta a bibliotecas, os dados mantidos pelo sistema so: bibliotecas, exemplares, ttulos e autores.

23

Modelos do mundo real


Modelo comportamental
Representa a percepo de como o sistema se comporta em resposta a certos eventos externos. Focaliza os dados (objetos do sistema) ou as funes.
Para o subsistema de consulta a bibliotecas, identifica-se os seguintes estados para as funes do sistema: aguardando consulta do usurio e preparando resposta consulta. 24

O Modelo de Funo
ENTRADA Interface SADA Sistema

Interface

O modelo de contexto do sistema

25

O Modelo de Funo

conexo Funo2 ENTRADA Funo1 conexo

conexo Funo4 SADA

Funo3 conexo

Decomposio do modelo funcional

26

O Modelo de Funo
O modelo de funo est completo quando satisfaz as seguintes condies:
Descreve todo o sistema -mostra as transformaes de todas as entradas em sadas; decompe convenientemente o sistema de modo que todos os componentes no particionados sejam elementares; cada componente do sistema est ligado corretamente ao resto da rede, e nenhuma conexo necessria foi omitida; as conexes esto minimizadas cada conexo da rede est definida no dicionrio de dados. 27

Modelo de Funo - DFD Diagrama de Fluxo de Dados


Tcnica grfica que descreve o fluxo de informao e as transformaes que so aplicadas medida que os dados se movimentam da entrada para a sada

Um sistema baseado em computador representado como uma transformao de informao


28

Diagrama de Fluxo de Dados (DFD) Notao


Entidade externa Um produtor ou consumidor de informaes que reside fora dos limites do sistema a ser modelado Um transformador de informao (funo) que reside dentro dos limites do sistema a ser modelado Usada para representar conexo, chamada de fluxo de dados Depsito de dados Um repositrio de dados pode ser usado por um ou mais processos. Pode ser to simples quanto um buffer ou to sofisticado quanto 29 um banco de dados relacional

processo

Diretrizes Bsicas
1) O DFD de nvel 0 deve descrever o software como uma nica bolha 2) A Entrada e a sada iniciais devem ser cuidadosamente anotadas 3) O refinamento deve iniciar isolando-se possveis processos, itens de dados e depsitos de dados a serem representados no prximo nvel 4) Todas as setas e bolhas devem ser rotuladas com nomes significativos 5) A continuidade do fluxo de informao deve ser mantida entre nveis de refinamento 6) Deve ser refinada uma bolha de cada vez
30

DFD do subsistema de consulta a bibliotecas de uma universidade


ttulos e autores Verifica acervo
mensagem1 Ttulo, autor Nome da biblioteca Lista de ttulo-autor Informaes do acervo disponibilidade

exemplares

Verifica Exemplar disponvel disponibiLocaliza lidade exemplar


Mensagem 2 Informaes de biblioteca

bibliotecas

usurio
31

O modelo de Dados
Quais so os dados a serem armazenados pelo sistema? Qual a melhor organizao desses dados? Quais so os relacionamentos entre grupos de dados? Como os dados sero utilizados?

32

Componentes do Modelo de Dados


Entidade (ou objeto) entidade externa: algo que produz ou = consome informao; coisa: relatrio ou edio; ocorrncia ou evento : chamada telefnica, alarme; papel: vendedor; unidade organizacional: depto de contas; lugar: armazm; estrutura: arquivo;

33

Componentes do Modelo de Dados (cont.)


Atributos = definem as propriedades de uma entidade podem ser usados para: (1) nomear uma instncia de um objeto; (2) descrever uma instncia; (3) fazer referncia a outra instncia em outra tabela; um ou mais atributos precisam ser definidos como um identificador; so conexes relevantes entre os objetos; bidirecionais;
34

Relacionamentos =

Componentes do Modelo de Dados (Exemplo)


Mundo Real Cliente Entidade Cliente carro: carro Abstrao DENTRO do SISTEMA Propriedade nome endereo cic marca cor no. chassis Relacionamento Alugar

35

Componentes do Modelo de Dados(cont.)


Entidades, atributos e relacionamentos => base para o entendimento do domnio de informao do problema; CARDINALIDADE: a especificao do nmero de CARDINALIDADE ocorrncias de um objeto que pode ser relacionado com o nmero de ocorrncias de outro objeto;
um-para-um (1:1) => um marido pode ter somente uma esposa e vice-versa; um-para-muitos (1:N) => uma me pode ter muitos filhos, mas um filho tem apenas uma me; muitos-para-muitos (M:N) => um tio pode ter vrios sobrinhos, enquanto que um sobrinho pode ter vrios tios;

36

Componentes do Modelo de Dados (Diagrama E-R)


Cliente 1 aluga m Carro

nome

endereo

cic

marca

cor

no.chassis

Relacionamento, cardinalidade e Participao entre entre as entidades Cliente e Carro


37

Diagrama E-R do subsitema de consulta a bibliotecas


Biblioteca 1 Conter m no. item Exemplar n nome local cdigo ttulo editora Data public. rea 1 Acervo estado

Possuir autor edio


38

O modelo comportamental
Representa os estados e os eventos que alteram esses estados Eventos: representados atravs de condies e aes para mudanas de estado. Quando a condio verdadeira, a ao correspondente ativada. Quando a ao completada, o componente passa ao estado determinado pelo evento correspondente.
39

O modelo comportamental

Mquinas de estados finitos-MEF


MEF: Ferramenta grfica para especificaes semiformais que utiliza um grafo para representar o comportamento do sistema. Representa os estados; Representa os eventos que causam a mudana de estado. As setas podem ser rotuladas com as condies para a ocorrncia do evento, ou aes que devem ser realizadas quando h mudana de estado.
40

O modelo comportamental
exemplo da biblioteca
Registrar retirada

MEF para os ttulos de uma biblioteca (exemplar)

disponvel
Cancelar reserva (final do semestre)

emprestado
Registrar devoluo

Registrar reserva rea disciplina = rea exemplar)

Reservado para disciplina


41

O modelo comportamental
Trao de eventos
Ferramenta utilizada para representar cenrios em sistemas orientados a objetos. Cenrios descrevem como o sistema trabalhar quando estiver em ao. Mostra o comportamento do sistema, representando os objetos das classes envolvidas em um servio do sistema e suas interfaces

Notao:
Trao vertical: representa as classes envolvidas no servio seta horizontal: representa as mensagens trocadas entre as classes
42

O modelo comportamental
Trao de eventos - exemplo
Trao de eventos para o cenrio localizao do exemplar: Acervo Exemplar Ttulo e autor Verifica estado Procura nome Nome biblioteca Nome biblioteca Nome biblioteca
43

Biblioteca

O modelo de objetos
utilizado para representar tanto os dados como o seu comportamento. Permite tambm a representao da composio e a classificao de componentes(objetos) do sistema. Classe de objetos uma abstrao sobre um conjunto de objetos que possuem atributos e servios(operaes) comuns.
44

Modelo de Objetos
Descreve o sistema em termos de classes de objetos Vrios modelos podem ser produzidos:
Modelos de herana Modelos de agregao Modelos de interao

45

O modelo de objetos
O modelo representa os atributos das classes de objetos, seus servios, os relacionamentos entre as classes e a utilizao de servios de um objeto por outro.

46

O modelo de objetos
notao
Nome atributos operaes Representa classes de objetos

Classificao(generalizao/especializao)

Associao Composio de objetos de uma classe


47

O modelo de objetos
Exemplos de generalizao e agregao (composio)
pessoa pessoa

empregado

aluno

cabea

tronco

* membro

professor

funcionrio
48

O modelo de objetos
Exemplos de associao Associao: permite que um objeto de uma classe utilize um servio de outra classe, enviando mensagens a objetos da classe.

pessoa

faculdade *

49

O modelo de objetos

Diagrama de classes de objetos para o sistema de bibliotecas


Acervo Ttulo Data public Editora Assunto Autor Verifica titulo Verifica autor Verifica dispon

Exemplar No. Item * Estado Verifica estado Localiza item

Biblioteca Nome 1 Local Unidade Obtm nome Obtm local

50

Modelo de herana
Organiza as classes de objetos do domnio em uma hierarquia. Classes no topo da hierarquia refletem as caractersticas comuns de todas as classes Classes de objetos herdam seus atributos e servios de uma ou mais super-classes e so consideradas classes especializadas.

51

Library item Catalogue number Acquisition date Cost Type Status Number of copies Acquire () Catalogue () Dispose () Issue () Return ()

Hierarquia de classes para um sistema de biblioteca

Published item Title Publisher

Recorded item Title Medium

Book Author Edition Publication date ISBN

Magazine Year Issue

Film Director Date of release Distributor

Computer program Version Platform

52

Libr ary user Name Address Phone Registration # Register () De-r egister ()

Hierarquia de classe de usurio

Reader Affiliation

Borrower Items on loan Max. loans

Staff Department Department phone

Student Major subject Home address

53

Herana mltipla
Um sistema que suporta herana mltipla permite que classes de objetos herdem caractersticas de vrias super-classes Pode levar a conflitos semnticos onde atributos/servios com o mesmo nome em diferentes super-classes tem semnticas diferentes. Faz com que a reorganizao da hierarquia de classe seja mais complexa.
54

Herana mltipla
Bo ok Au th or Ed itio n Pu blicatio n d ate ISBN Vo ice record in g Sp eaker Du ratio n Record in g d ate

Talk in g bo ok # Tapes

55

Agregao de objetos
Modelo de agregao mostra como classes que so colees so compostas de outras classes. Semelhante ao relacionamento parte-de em modelos de dados semnticos.

56

Agregao de objetos
Study pack Course title Number Year Instructor

Assignment Credits

OH P slides Slides

Lectur e notes Text

Videotape Tape ids.

Exercises #Problems Description

Solutions Text Diagrams


57

Dicionrio de Dados (DD)

Proposto como gramtica quase formal para descrever de forma mais detalhada qualquer modelo do sistema. constitudo por uma lista em ordem alfabtica de suas entradas (componentes dos modelos).

58

Dicionrio de Dados

Notao para Descrio de Contedo

CONSTRUO DE DADOS

NOTAO

SIGNIFICADO

Sequncia Seleo Repetio

= + [|] { }n ( ) * *

composto de e ou ... ou n repeties de dados opcionais delimita comentrios

59

Exemplo: depsito de dados


exemplares
exemplares = {exemplar} exemplar = n_item + estado + nome_ttulo n_item = cod_biblioteca + n_exemplar estado = [emprestado/disponvel/reservado_para_disciplina] cod_biblioteca = String[2] n_exemplar = Integer nome_ttulo = String[60]
60

Dicionrio de Dados

Dicionrio de Dados
Descrio de Contedo

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 inequvocos

61

Pontos-chave
Um modelo uma viso abstrata de um sistema. Modelos de sistema complementares podem ser desenvolvidos, os quais apresentam informaes diferentes sobre o sistema. Os modelos de contexto mostram como o sistema est posicionado em um ambiente com outros sistemas. Existem vrias abordagens para representar um modelo de contexto. Os DFDs so utilizados para modelar o processamento de dados de um sistema, e modelam um conjunto de transformaes de dados, com funes que atuam sobre eles.

62

Pontos-chave
Os modelos de mquinas de estado so utilizados para modelar o comportamento de um sistema em resposta a eventos internos ou externos. Os modelos semnticos de dados descrevem a estrutura lgica dos dados que so importados e exportados pelo sistema. Os modelos de objetos descrevem as entidades do sistema lgico e sua classificao e agregao. Eles combinam um modelo de dados com um modelo de processamento. Ferramentas CASE do apoio ao desenvolvimento de modelos de sistema, fornecendo ferramentas de edio, verificao, relatrio e documentao. 63

64

Вам также может понравиться