Post on 11-Nov-2018
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.