Você está na página 1de 11

Modelos

Um modelo uma simplificao da realidade. Modelos so construdos para permitir um melhor entendimento sobre o sistema que esta sendo construdo. Modelos de sistemas complexos so importantes porque no temos capacidade de compreende-los inteiramente.

Booch, G. et al. UML Users Guide, 1999. Engenharia de Software, 2007 Jair C Leite

Modelagem na Engenharia Civil

Figura de Jair C G. Engenharia de Software, 2007 Booch,Leite

Objetivos da Modelagem
Abstrao
Melhor entendimento e maior compreenso

Visualizao
Visualizao antecipada antes da implementao Vises complementares do software

Especificao
Descrio precisa do que deve ser feito

Construo
Gerao automtica com ferramentas baseadas em modelos

Documentao
Comunicao entre equipes na diferentes fases do ciclo de vida
Engenharia de Software, 2007 Jair C Leite

Princpios da modelagem
A escolha de qual modelo construir tem uma profunda influncia em como um problema atacado e como uma soluo delineada. Todo modelo pode ser expresso em diferentes nveis de preciso. Os melhores modelos esto conectados realidade. Nenhum modelo nico suficiente. Todo sistema no trivial melhor abordado atravs de um conjunto pequeno de modelos proximamente independentes.
Booch, G. et al. UML Users Guide, 1999. Engenharia de Software, 2007 Jair C Leite

Formas do software
Cdigo fonte
Class a { int x; char v; Func(a,b } Class b...

Cdigo objeto Produto final Cdigo executvel

Codificao

Compilao e Ligao

Instalao

Import java.awt.Graphics; Import java.awt.Graphics; Class HelloWorld extends java,applet.Applet { { Class HelloWorld extends java,applet.Applet public void paint (Graphics g) { { public void paint (Graphics g) g.drawString(Hello, World!, 10, 10); g.drawString(Hello, World!, 10, 10); }} }}

Cdigo executando

Engenharia de Software, 2007 Jair C Leite

Modelagem de software
Class a { int x; char v; Func(a,b } Class b...

Produto final

Codificao

Compilao e Ligao

Instalao

Modelo abstrato do Modelo abstrato do programa em termos de programa em termos de componentes componentes interconectados entre si interconectados entre si

Modelo abstrato Modelo abstrato dos componentes dos componentes fsicos que fsicos que formam o produto formam o produto final final
Designer ou arquiteto de software Engenharia de Software, 2007 Jair C Leite

Exemplo de modelagem usando UML


...
Panel java Applet applet HelloWorld Graphics paint() awt lang

Diagrama de Classes

Pacotes

Engenharia de Software, 2007 Jair C Leite

Exemplo de modelagem usando UML

Hello.class

Hello.java

Netscape.exe

Hello.html Hello.jpg

Engenharia de Software, 2007 Jair C Leite

Modelagem diagramtica e textual


Modelos da Arquitetura do Software
Module ABC Module ABC provides a,b,c provides a,b,c requires x,y requires x,y composed-of functionYA, Module FG composed-of functionYA, Module FG Function YA Function YA provides xx provides .... .... Module FG Module FG provides b,c provides b,c requires a,y requires a,y .... .... Descrio de componentes e interfaces

Diagrama de arquitetura

Engenharia de Software, 2007 Jair C Leite

Tipos de modelagem
Quanto a linguagem
Diagramtica, grfica ou visual
Figuras e cones

Textual
Alfabeto, numerais e smbolos matemticos

Formalizao
Formal
sintaxe e semntica definidas formalmente

Semi-formal
Normalmente, sintaxe forma e semntica informal

Informal
Ambigidade e impreciso
Engenharia de Software, 2007 Jair C Leite

Principais linguagens de modelagem


Diagramtica Textual Informal Semi-formal
Diagrama de Fluxo de Dados D. EntidadeRelacionamento SADT, JSD Mquinas de estados finitos Redes de Petri Z, B, VDM Larch Enunciados Cenrios

Formal

Engenharia de Software, 2007 Jair C Leite

Modelos Clssicos
Modelagem de Negcios Modelagem de Sistemas Anlise e Projeto Estruturado (mtodos estruturados)
Tom de Marco, 1999 Gane & Sarson, 1999

Diagrama Entidade-RelacionamentoAtributos Diagrama de Estados


Engenharia de Software, 2007 Jair C Leite

Modelagem de Negcio
Foco nos processos de negcios da organizao Possibilita a modelagem e entendimento do domnio de aplicao. Possibilita a identificao de problemas e de que forma os sistemas computacionais podem resolve-los. Utilizados na re-engenharia de processos e de informao da organizao
Modelagem de processos de Modelagem de processos de negcios com ARIS negcios com ARIS

Engenharia de Software, 2007 Jair C Leite

Modelos de Sistema - Contexto


Descreve os sistemas externos que esto ligados ao sistema em desenvolvimento Permite visualizar o contexto no qual est inserido o sistema Exemplo: Sistema de vendas automticas (ATM)
Security system Branch accounting system Auto-teller system Branch counter system Maintenance system Usage database Account database

Fonte: Ian Sommerville, 2000.

Engenharia de Software, 2007 Jair C Leite

Contexto e Processos de negcios


Delivery note Equipment spec. Checked spec. Get cost estimates Spec. + supplier + estima te Supplier list Find suppliers Choose supplier Delivery note Specify equipment requir ed Validate specification Accept delivery of equipment Order notification Place equipment order Check delivered items Installation instructions Install equipment Installation acceptance Accept delivered equipment Equipment details Equipment database

Equipment spec. Supplier database

Order details + Blank order form

Fronteira do sistema na cadeia Fronteira do sistema na cadeia de processos de negcios de processos de negcios Indica processos de negcios Indica processos de negcios que vo ser automatizados pelo que vo ser automatizados pelo sistema sistema

Checked and signed order form


Figura: Ian Sommerville

Engenharia de Software, 2007 Jair C Leite

Mtodos Estruturados - DFD


Descreve o fluxo de informaes no sistema entre
Processos, Depsitos de dados, Entidades externas

Pode ser utilizado para modelagem de processos de negcios, embora possua limitaes. Perspectiva funcional, no adequada para modelagem de sistemas orientados-a-objetos
Inp ut d es ig n D e s ig n e di to r V a li d d es ig n D e s ig n c ro ss c he c ke r C h ec k e d d es ig n Co de s ke le t on g en e rat or Ch ec k e d des ig n a nd D e s ig n a na l y se r D e s ig n a na lys is Re po rt ge n e ra to r Us e r re po rt

Processos Processos

R e fe re nc e d d es ig ns D e s ig n d at ab as e

Ou t pu t c od e

Figura: Ian Sommerville

Depsitos Depsitos De Dados De Dados

D e s ig n d at ab as e

Engenharia de Software, 2007 Jair C Leite

Notaes para DFD

Entidades Externas

Processos (Yourdon)

Processos (Gane & Sarson)

Fluxos de Dados

Depsito de Dados (Yourdon)

Depsito de Dados (Gane & Sarson)

Engenharia de Software, 2007 Jair C Leite

Exemplo livraria
Livros detalhes de livros
CLIENTES

Editoras endereo
Preparar requisio p/ a editora

pedidos

Verificar validade do pedido

ordens de compra
detalhes de pedidos de compra

EDITORAS

situao de crdito Clientes

pedidos vlidos

pedidos agrupados

Pedidos Pendentes nota de remessa (com livros)


Preparar pedidos de cliente

pedidos para um ttulo


Associar detalhes remessa a dos pedidos pedidos individuais pendentes

Pedidos da Editora detalhes de pedido


nota de consignao das editoras

ttulos, a remessa quantidade est correta

Verificar se

Engenharia de Software, 2007 Jair C Leite

Diagrama Entidade-RelacionamentoAtributos
Design

Descrio dos elementos do domnio de aplicao atravs de:


Entidades Relacionamentos Atributos

name description C-date M-date 1

has-nodes n 1 Node name type 1

is-a

has-links n

has-links

n 1

Link name type

Descreve a semntica do domnio de aplicao Utilizado no projeto lgico de Banco de Dados

2 1 has-labels

links

1 has-labels Label n name text icon n

Engenharia de Software, 2007 Jair C Leite

Notaes para DER

Engenharia de Software, 2007 Jair C Leite

Exemplo de DER

Engenharia de Software, 2007 Jair C Leite

Diagrama de Estados
Full power Full power do: set power = 600

Descreve oocomportamento do Descreve comportamento do sistema ou de um componente do sistema ou de um componente do sistema sistema Descreve os estados do sistema ee Descreve os estados do sistema os eventos que modificam estes os eventos que modificam estes estados estados

Waiting do: display time Full power Half power

Timer Number Set time do: get number exit: set time Door closed Door open Half power do: set power = 300 Door closed Disabled do: display 'Waiting' Start Enabled do: display 'Ready' Door open Waiting do: display time Operation do: operate oven

Half power

Timer

Cancel

Engenharia de Software, 2007 Jair C Leite

Você também pode gostar