modelos de sistema - disciplinas.lia.ufc.br · chapter 7 slide 1 modelos de sistema slides do livro...
TRANSCRIPT
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1
Modelos de sistema
Slides do Livro do Sommerville, 2000Disponíveis em inglês em www.software-engin.com
Traduzidos por Jacinta PereiraGraduando do Curso de Letras da UFC
Alterados e Apresentados por Rossana AndradePh.D, SITE, University of Ottawa, Canadá
Profa. Departamento de Computação, Centro de Ciências,Universidade Federal do Ceará
[email protected]://great.ufc.br
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 2
Modelos de sistema� Descrições abstratas de sistemas cujos
requisitos estão sendo analisados
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 3
Objetivos
� Explicar porque o contexto de um sistema deve ser modelado como parte do processo ER
� Descrever modelagem de comportamento, de dados e de objetos
� Introduzir algumas das notações usadas na Linguagem de Modelagem Unificada (UML)
� Mostrar como áreas de trabalho CASE suportam modelagem de sistema
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 4
Tópicos abordados
� Modelos contextuais
� Modelos comportamentais� Modelos de dados
� Modelos de objeto� Áreas de trabalho CASE
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 5
Modelagem do sistema
� Modelagem do sistema auxilia o analista a entender a funcionalidade do sistema e os modelos são usados para se comunicar com os clientes
� Diferentes modelos apresentam o sistema de diferentes perspectivas• Perspectiva externa mostrando o contexto do sistema ou ambiente• Perspectiva comportamental mostrando o comportamento do sistema
• Perspectiva estrutural mostrando a arquitetura do sistema ou dosdados
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 6
Métodos estruturados
� Métodos estruturados incorporam modelagem do sistema como uma parte herdada do método
� Métodos definem um conjunto de modelos, um processo for derivar esses modelos e regras e diretrizes que devem ser aplicadas aos modelos
� Ferramentas CASE suportam modelagem de sistema como parte de um método estruturado
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 7
Fraquezas do método
� Não modelam requisitos não-funcionais do sistema
� Geralmente não informam se um método é ou não apropriado para um determinado problema
� Pode produzir muitos documentos� Os modelos de sistema são, às vezes, muito
detalhados e difíceis de serem entendidos pelos usuários
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 8
Tipos de modelo� Modelo de processamento de dados mostra como
os dados são processados em diferentes estágios� Modelo de Composição mostra como as entidades
são compostas de outras entidades� Modelo Arquitetural mostra os principais sub-
sistemas� Modelo de Classificação mostra entidades que
possuem características em comum� Modelo Estímulo/resposta mostra a reação do
sistema a determinados eventos
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 9
Modelos contextuais
� Modelos contextuais são usados para ilustrar os limites de um sistema
� Preocupações sociais e organizacionais podem afetar a decisão de onde posicionar os limites do sistema
� Modelos arquiteturais mostram o sistema e sua relação com outros sistemas
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 10
O contexto de um sistema ATM
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 11
Modelos processuais
� Modelos processuais mostram o processo geral e os processos que são suportados sistema
� Modelos de fluxo de dados podem ser usados para mostrar os processos e o fluxo de informação de um processo para outro
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 12
Processo de aquisição de equipamentos
Get costestimates
Acceptdelivery ofequipment
Checkdelivered
items
Validatespecification
Specifyequipmentrequired
Choosesupplier
Placeequipment
order
Installequipment
Findsuppliers
Supplierdatabase
Acceptdelivered
equipment
Equipmentdatabase
Equipment
spec.Checked
spec.
Deliverynote
Deliverynote
Order
notification
Installationinstructions
Installationacceptance
Equipmentdetails
Checked andsigned order form
Orderdetails +
Blank orderform
Spec. +supplier +estima te
Supplier listEquipment
spec.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 13
Modelos comportamentais
� Modelos comportamentais são usados para descrever o comportamento geral de um sistema
� Dois tipos de modelos comportamentais são mostrados aqui• Modelos de processamento de dados que mostram como os dados
são processados a medida que se move pelo sistema
• Modelos de máquinas de estado que mostram como os sistemas respondem a eventos
� Ambos os modelos são requeridos para uma descrição do comportamento do sistema
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 14
Modelos de processamento de dados
� Diagramas de fluxo de dados são usados para modelar o processamento de dados do sistema
� Mostram os passos do processamento como fluxo de dados pelo sistema
� Parte intrínseca de muitos métodos de análise� Notação Simples e intuitiva que os usuários
podem entender� Mostra o processamento de dados de um
extremo a outro
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 15
DFD de um Processamento de pedido
Completeorder form
Orderdetails +
blank
order form
Valida teorder
Recordorder
Send tosupplier
Adjustavailablebudget
Budgetfile
Ordersfile
Completedorder form
Signedorder form
Signedorder form
Checked andsigned order
+ ordernotification
Orderamount
+ accountdetails
Signedorder form
Orderdetails
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 16
Diagramas de fluxo de dados (DFDs)
� DFDs modelam o sistema de uma perspectiva funcional
� Rastreando e documentando como os dados associados com um processo são úteis para o desenvolvimento de um entendimento geral do sistema
� Diagramas de fluxo de dados também pode ser usado para mostrar a troca de dados entre um sistema e outros sistemas em seu ambiente
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 17
DFD de um Conjunto de ferramentas CASE
Designeditor
Designcross checker
Designanalyser
Reportgenerator
Designdatabase
Code skeletongenerator
Designdatabase
Inputdesign
Validdesign
Checkeddesign
Designanalysis
Userreport
and
Referenced
designs
Checked
design Output
code
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 18
Modelos de máquina de estado
� Modelam o comportamento de um sistema em resposta a eventos internos e externos
� Mostram as respostas do sistema a estímulos, de forma que são geralmente utilizados para modelar sistemas em tempo real
� Modelos de máquina de estado mostram os estados do sistema como nós e eventos como arcos entre os nós. Quando um evento ocorre, o sistema muda de um estado para outro
� Diagramas de Estado são parte integrantes da UML
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 19
Modelo de microondasFull power
Enabled
do: operateoven
Fullpower
Halfpower
Halfpower
Fullpower
Number
TimerDooropen
Doorclosed
Doorclosed
Dooropen
Start
do: set power = 600
Half power
do: set power = 300
Set time
do: get numberexit: set time
Disabled
Operation
Timer
Cancel
Waiting
do: display time
Waiting
do: display time
do: display 'Ready'
do: display 'Waiting'
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 20
Descrição do estado de um forno microondas
Estado Descrição Em espera O forno está esperando por entradas. O display mostra
a hora atual. Meia potência A potência do forno está ajustada para 300 watts. O
display mostra ‘Meia potência’. Potência total A potência do forno está ajustada para 600 watts. O
display mostra ‘Potência total’. Ajustar tempo O tempo de cozimento é ajustado de acordo com o
valor colocado pelo usuário. O display mostra o tempo de cozimento selecionado e atualiza quando o tempo é determinado.
Desativado A operação do forno está desativada por segurança. A luz do interior do forno está acesa. O display mostra ‘Não está pronto’.
Ativado O forno está em operação. A luz do interior do forno está apagada. O display mostra ‘Pronto para cozinhar’.
Operação O forno está em operação. A luz do interior do forno está acesa. O Display mostra a contagem do timer. Ao completar o cozimento, um alarme soa por cinco segundos. A luz do forno está acesa. O display mostra ‘Cozimento completo’ enquanto o alarme soa.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 21
Estímulo do Microondas
Estímulos Descrição Média potência
O usuário pressionou o botão de media potência
Potência total O usuário pressionou o botão de potência total Timer O usuário pressionou um dos botões do timer Número O usuário pressionou um botão numérico Porta aberta A porta do forno não está fechada Porta fechada A porta do forno está fechada Iniciar O usuário pressionou o botão de iniciar Cancelar O usuário pressionou o botão de cancelar
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 22
Gráficos de estado
� Permitem a decomposição de um modelo em sub-modelos (ver slide seguinte)
� Uma breve descrição das ações é incluída em seguida ao ‘do’ em cada estado
� Pode ser complementada por tabelas descrevendo os estados e os estímulos
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 23
Operação de forno de microondas
C o o k
d o : r u n g e n e r a t o r
D o n e
d o : b u z z e r o n f o r 5 s e c s.
W a it in g
A l a r m
d o : d i sp la y ev e n t
d o : c h e c ks ta tu s
C h ec k in g
T u rn ta b lef a u l t
E m i tt e rf a u l t
D i s ab le d
O K
T i m eo u t
T i m eO p e r a t i o n
D o o ro p e n
C a n c e l
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 24
Modelos de dados semânticos
� Utilizados para descrever a estrutura lógica dos dados processados pelo sistema
� Modelo de atributos relacionados a entidades estabelece as entidades no sistema, as relações entre essas entidades e seus atributos
� Amplamente usado em projetos de base de dados. Pode rapidamente ser implantado usando bases de dados relacionais
� Nenhuma notação específica fornecida no UML mas os objetos e associações podem ser usados
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 25
Modelo de projeto semântico de Software
Design
namedescriptionC-dateM-date
Link
nametype
Node
nametype
links
has-links
12
1 n
Label
nametexticon
has-labelshas-labels
1
n
1
n
has-linkshas-nodes is-a
1
n
1
n1
1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 26
Dicionários de dados
� Dicionários de dados são listas de todos os nomes usados nos modelos de sistema. Também incluem descrições das entidades, relacionamentos e atributos
� Vantagens• Suporta gerenciamento de nomes e evita duplicação• Armazenagem de conhecimento organizacional conectando
análise, projeto e implementação
� Muitas áreas de trabalho CASE suportam dicionários de dados
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 27
Entradas de dicionários de dados
Nome Descrição Tipo Data Ter Rótulo
1:N relação entre entidades do tipo Nó ou Link e entidades do tipo Rótulo.
Relação
5.10.1998
Rótulo
Guarda informações estruturadas ou não-estruturadas sobre nós ou links. Rótulos são representados por um ícone (que pode ser uma caixa transparente) e o texto associado.
Entidade
8.12.1998
Link
A 1:1 relação entre entidades de projeto representada como nós. Links são digitados e podem ser nomeados.
Relação
8.12.1998
Nome (rótulo)
Cada rótulo tem um nome que identifica seu tipo. O nome deve ser único dentre o conjunto de rótulos utilizados em um projeto.
Atributo
8.12.1998
Nome (nó)
Cada nó possue um nome que deve ser único em um projeto. O nome pode conter até 64 caracteres.
Atributo
15.11.1998
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 28
Modelos de objeto
� Modelos de objeto descrevem o sistema em termos de classes de objetos
� Uma classe de objeto é uma abstração sobre um conjunto de objetos com atributos em comum e os serviços(operações) fornecidos por cada objeto
� Vários modelos de objetos podem ser produzidos• Modelos de herança
• Modelos de agregação
• Modelos de interação
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 29
Modelos de objetos
� Maneiras naturais de refletir entidades do mundo real manipuladas pelo sistema
� Entidades mais abstratas são mais difíceis de modelar usando esta abordagem
� A identificação de classes de objetos é reconhecida como um processo difícil que requer um denso entendimento do domínio da aplicação
� Classes de objetos que refletem entidades do domínio são reutilizáveis através dos sistemas
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 30
Modelos 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 os atributos e serviços de uma ou mais super-classes. Isso pode então ser especializado caso necessário
� O projeto de hierarquia de classes é um processo difícil caso a duplicação em diferentes ramos deva ser evitada
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 31
A linguagem de modelagem unificada (UML)
� Formulada pelo programadores de análises orientadas por objetos e métodos de projeto amplamente utilizados
� Tornou-se um padrão efetivo para modelagem orientada pelo objeto
� Notação• As classes de objetos são retângulos com o nome no alto, atributos na
seção do meio e operações na seção de base• As relações entre as classes de objetos (conhecidas com
associações) são mostradas como linhas ligando os objetos• Herança refere-se a uma generalização e é mostrada ‘de baixo para
cima’ ao invés de ‘de cima para baixo’ em uma hierarquia
Hierarquia de classes para biblioteca
Catalogue numberAcquisition dateCostTypeStatusNumber of copies
Library item
Acquire ()Catalogue ()Dispose ()Issue ()Return ()
AuthorEditionPublication dateISBN
Book
YearIssue
Magazine
DirectorDate of releaseDistributor
Film
VersionPlatform
Computerprogram
TitlePublisher
Published item
TitleMedium
Recorded item
Hierarquia de classe de usuário
NameAddressPhoneRegistration #
Library user
Register ()De-register ()
Affiliation
Reader
Items on loanMax. loans
Borrower
DepartmentDepartment phone
Staff
Major subjectHome address
Student
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 34
Herança múltipla
� Ao invés de herdar os atributos e serviços de uma única classe parente, um sistema que suporta herança múltipla permite que classes de objetos herdem de várias
� Pode levar a conflitos semânticos onde atributos/ serviços com o mesmo nome em diferentes super-classes tem semânticas diferentes
� Torna a reorganização da hierarquia de classes mais complexa
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 35
Herança múltipla
# Tapes
Talking book
AuthorEdition
Publication dateISBN
Book
SpeakerDurationRecording date
Voice recording
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 36
Agregação do objeto
� O modelo de agregação mostra como classes que são coleções são compostas de outras classes
� Similar relacionamento parcial em modelos de dados semânticos
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 37
Agregação do objeto
Videotape
Tape ids.
Lecturenotes
Text
OHP slides
Slides
Assignment
Credits
Solutions
TextDiagrams
Exercises
#Problems Description
Course titleNumberYearInstructor
Study pack
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 38
Modelagem de comportamento de objeto
� Um modelo comportamental mostra as interações entre objetos para produzir algum comportamento do sistema em particular que está especificado como um caso de uso
� Diagramas de seqüência (ou diagramas de colaboração) no UML são usados para modelar a interação entre objetos
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 39
Edição de itens eletrônicos
:Library User
Ecat:Catalog
Lookup
Issue
Display
:Library Item Lib1:NetServer
Issue licence
Accept licence
Compress
Deliver
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 40
Áreas de trabalho CASE
� Um conjunto coerente de ferramentas que é projetada para suportar atividades de processamento de softwares relacionados como análise, projeto ou teste
� As áreas de trabalho de análise e projeto suportam modelagem do sistema tanto durante a engenharia de requisitos quanto no projeto do sistema
� Essas áreas de trabalho podem suportar um método de projeto específico ou pode dar suporte para criar vários tipos diferentes de modelos de sistema
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 41
Uma análise e área de trabalho do projeto
Centralinformationrepository
Codegenerator
Querylanguagefacilities
Structureddiagramming
tools
Datadictionary
Reportgenerationfacilities
Design, analysisand checking
tools
Formscreation
tools
Import/exportfacilities
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 42
Análise de componentes da área de trabalho
� Editores de diagramas
� Análise de modelo e verificação de ferramentas� Repositório e linguagem de consulta associada
� Dicionário de dados� Definição de relatórios e ferramentas de geração
� Ferramentas de definição de formas� Tradutores de importação/exportação
� Ferramentas de geração de códigos
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 43
Pontos-chave
� Um modelo é uma visão abstrata do sistema. Tipos complementares de modelos proporcionam diferentes informações sobre o sistema
� Modelos contextuais mostram a posição de um sistema em seu ambiente com outros sistemas e processos
� Modelos de fluxo de dados podem ser usados para modelar o processamento de dados em um sistema
� Modelos de máquina de estado modelam o comportamento do sistema em resposta a eventos internos ou externos
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 44
Pontos-chave
� Modelos de dados semânticos descrevem a estrutura de dados lógicas que éimportada ou exportada pelos sistemas
� Modelos de objeto descrevem as entidades lógicas do sistema e suas classificações e agregações
� Áreas de trabalho CASE suportam o desenvolvimento de modelos de sistema