You are on page 1of 50

Prof. Eliseu Castelo Branco Jr.,PMP,MSc.

ecastelob@gmail.com











Conceitos de Orientao a Objetos


Viso Geral da UML
Diagrama de Caso de Uso
Diagrama de Classes
Diagrama de Objetos
Diagramas de Interao
Diagrama de Estado
Diagrama de Atividades
Diagramas de Implementao

FEVEREIRO

MARO
2
9
23

ABRIL
2
9
16
23
30
5

MAIO

JUNHO

6
AV1 - 13
20
27

4
11
18
25

1
8
AV2-15
22
AV3 - 29
5
TOTAL
FREQ MIN

21
17







Provas sobre contedo terico da disciplina


(Av1, Av2, Av3)
Trabalhos de pesquisa publicados na Internet
Documentos de Anlise e Projeto de software
entregues
Exerccios realizados em sala de aula
OBS: mnimo de 75% de presena em sala de
aula necessrio para aprovao na disciplina.




Sistemas de software so complexos.


O uso de modelos auxilia na compreenso de
conceitos complexos.

O desenvolvimento de um sistema envolve


grande quantidade de atividades e pessoas
Erros so inevitveis e se identificados nos
modelos sua correo mais fcil e barata.

O uso de modelos reduz o custo do


desenvolvimento de sistemas.
O modelo permite prever o comportamento
do sistema no futuro.

A modelagem de sistemas de software


consiste na utilizao de notaes
grficas e textuais com o objetivo de
construir modelos que representam as
partes essenciais de um sistema,
considerando-se diversas perspectivas
diferentes e complementares.

Paradigma a forma de abordar um


problema
Princpios:
1. Qualquer coisa um objeto
2. Objetos realizam tarefas atravs da requisio de
servios a outros objetos
3. Cada objeto pertence a uma classe
4. A classe um repositrio para comportamento
associado ao objeto
5. Classes so organizadas em hierarquias

O paradigma da orientao a objetos


visualiza um sistema de software
como uma coleo de agentes
interconectados chamados OBJETOS.
Cada objeto realiza tarefas
especficas. atravs da interao
entre objetos que uma tarefa
computacional realizada.







Classe
Classe
Classe
Classe
Classe

Movimentao Financeira
Bancos
Rendas Diversas
Contas a Pagar
Receitas Diversas

Atributos
Mtodos

Anlise o qu

Projeto como

Investigao do problema e
dos requisitos

Descrio de uma soluo


lgica

Requisitos

Objetos

Casos de uso

Arquitetura

Restries

Instalao & Operao

Vocabulrio

Interface do usurio

Conceito
de domnio

Representao
na anlise

Livro

Ex.: O conceito
Livro em um
sistema de
biblioteca

Livro
ttulo

ttulo

Representao
no projeto

imprimir()

Representao
no cdigo

public class Livro


{
public void imprimir();
private String titulo;
}

Analogia

APOO

Quais so os processos Anlise de requisitos


de negcio?

Documentos
Associados
Casos de uso

Quais so os papeis
dos empregados?

Anlise do domnio

Modelo conceitual

Quem responsvel
por o qu? Como eles
interagem?

Atribuio de
responsabilidades,
projeto das interaes

Diagramas de classes
de projeto, diagramas
de colaborao




Objetivo: ganha o jogo o jogador que rolar


dois dados e tirar sete
Modelagem na APOO
Casos de uso
 Descries narrativas de processos do domnio no
formato de prosa estruturada
 Ex.:
Caso de uso:
Atores:
Descrio:

Jogar
Jogador
Este caso de uso comea quando
o jogador rola os dados. Se o total
dos dados for sete, o jogador ganha;
do contrrio, ele perde.

Modelagem na APOO (cont.)


Modelo conceitual

 Conceitos, atributos, e associaes


que so considerados importantes no
domnio da aplicao
 Ex.:
Jogador
Dado
1 Rola 2
nome

valor
2

1
Joga
1
JogoDeDados

Inclui

Um modelo conceitual descreve conceitos do


mundo real, no componentes de software!

Modelagem na APOO (cont.)


Diagramas de colaborao
 Alocao de responsabilidades para objetos
ilustrando como eles interagem via mensagens
 Mostram o fluxo de mensagens entre instncias e
a invocao de mtodos
 Ex.:
joga()

:Jogador

1: r1 := rola()

2: r2 := rola()

d1 : Dado

d2 : Dado

Modelagem na APOO (cont.)


Diagramas de classes de projeto
 Como os objetos (de software) se conectam?
 Quais so os mtodos de uma classe?
 Ex.:

Jogador
nome

joga()

Dado

Rola
2

inicializa()

rola()
2

Joga
1
JogoDeDados

valor

Inclui

Metodologias mais antigas, como Anlise


e Projeto Estruturados, baseiam-se em
outras dimenses de decomposio
Sistema de
Biblioteca

Decomposio por objetos ou conceitos


A&P Orientados a Objeto

Catlogo

Bibliotecrio

Livro

Biblioteca

Decomposio por funes ou processos


A&P Estruturados
Sistema

Registra
Emprstimos

Adiciona
Recursos

Reporta
Multas




A UML a linguagem padro de


diagramao para visualizar os resultados
da anlise e projeto
A notao (a prpria UML) relativamente
trivial
Muito mais importante: habilidade para
modelar com objetos
S aprender a notao UML no ajuda

A UML no

um processo ou metodologia
APOO
regras de projeto

Parceiros
da UML

UML 1.1

Industrializao
(Set97)

UML 1.0

Padronizao
(Jan97)

UML 0.9 & 0.91

Unificao II
(Out96)

Unified Method 0.8


Booch93
Outros
mtodos

Booch91

Unificao I
(Out95)

OMT-2
OMT-1

OOSE

Fragmentao

Organizao das atividades relacionadas


produo e manuteno de sistemas de
software

til, mas um fator de segunda ordem


O principal:

equipe qualificada

Boa equipe + bom processo = menor risco

O processo racional unificado (RUP), baseado


no modelo iterativo, o processo padro na
indstria

Uma srie de pesquisas


(www.embeddded-forecast.com) tem
mostrado que muitos projetos de
software embarcados so entregues
com atraso ou cancelados.
 Em mdia, observou-se que mais de
50% dos projetos tm seus
cronogramas atrasados em pelo
menos quatro meses e cerca de 11%
so cancelados.


O custo dos atrasos pode ser significativo.


Por exemplo, no setor de avinicos o custo
dos atrasos estimado de 50.000 a
300.000 dlares por ms.
Outro problema apontado o nvel de
conformidade do produto final com as
especificaes.
Identificou-se que pelo menos 30% dos
projetos no alcanavam 50% das
especificaes propostas de performance
ou funcionalidade.

medida que os sistemas


embarcados aumentam em
complexidade, esta situao tende a
piorar.
 A pesquisa mostrou tambm que
adoo de UML (Unified Modeling
Language)
Language) ainda no uma prtica
comum.














Aes (*) : unidade bsica de especificao de


comportamento. Aes esto contidas em atividades
Artefatos (*) : Pedao fsico da informao usado ou
produzido durante o desenvolvimento do sistema
Atividades
Casos de Uso
Classes
Classes ativas
Colaborao
Componente
Estado
Interao
Interface










No
Nota
Pacote
Partes (*)
Portas (*)
Esteretipos (*)
Valores de etiqueta (*)
Restries (*)

You might also like