• Nenhum resultado encontrado

ES1 07 Projeto OO

N/A
N/A
Protected

Academic year: 2021

Share "ES1 07 Projeto OO"

Copied!
44
0
0

Texto

(1)

Engenharia de Software 1

07 - Projeto Orientado a Objetos

Alexandre de Andrade Barbosa

alexandre.barbosa@arapiraca.ufal.br

(2)

Objetivos

Explicar como um projeto de software pode ser representado como um conjunto de

objetos que interagem e que gerenciam seu estado e opera¸

oes.

(3)

Diferentes etapas no ciclo de vida de um software O.O.

An´

alise - Identifica¸

ao e representa¸c˜

ao do dom´ınio/esocpo do

problema/projeto

Projeto - Cria¸

ao de modelos O.O. que ir˜

ao compor a solu¸

ao de

software

Codifica¸

ao - Implementa¸c˜

ao do software com uma linguagem de

programa¸

ao O.O.

Verifica¸

ao e Valida¸c˜

ao - Inspe¸

oes e testes sobre a implementa¸

ao

A transi¸

ao entre as etapas do ciclo de vida deve ser cont´ınua

Passar para o pr´

oximo est´

agio pode envolver a melhoria dos

artefatos das fases anteriores

(4)

Projeto Orientado a Objetos

Introdu¸

ao - An´

alise e Projeto

(5)

Vis˜ao geral de uso da UML

(6)

Projeto Orientado a Objetos

Classes e objetos

Objetos s˜

ao abstra¸

oes do mundo real ou entidades de sistema e

gerenciam a si pr´

oprios

Os objetos s˜

ao independentes, eles englobam estados e

(7)

A funcionalidade do sistema ´

e expressa em termos de servi¸

cos de

objetos.

Colabora¸

oes entre objetos ocorrem atrav´

es de troca de

(8)

Projeto Orientado a Objetos

Classes e objetos

“Um objeto ´

e uma entidade que possui um estado e um

conjunto de opera¸c˜

oes definidas para funcionar nesse estado.

O estado ´

e representado como um conjunto de atributos de

objeto. As opera¸

oes associadas ao objeto fornecem servi¸

cos

a outros objetos (clientes) que solicitam estes servi¸

cos

quando alguma computa¸c˜

ao ´

e necess´

aria.”

(9)

“Os objetos s˜

ao criados de acordo com uma defini¸

ao de

classe de objeto. Uma defini¸

ao de classe de objeto funciona

tanto como uma especifica¸c˜

ao quanto como um template

para cria¸c˜

ao de objetos. Essa defini¸

ao inclui declara¸

oes de

todos os atributos e opera¸

oes que devem ser associadas a

um objeto dessa classe.”

Sommerville, 2007

(10)

Projeto Orientado a Objetos

Classes e objetos

(11)

Os objetos se comunicam por meio da passagem de mensagens

Mensagens:

nome do servi¸

co solicitado;

informa¸

oes necess´

arias para executar o servi¸

co.

Mensagens s˜

ao implementadas pelas chamadas de m´

etodos

nome = nome do m´

etodo;

informa¸

oes = lista de parˆ

ametros.

(12)

Projeto Orientado a Objetos

Classes e objetos

Objetos s˜

ao membros de classes que definem tipos de atributos e

opera¸

oes

As classes sempre est˜

ao relacionadas a outras classes, pois seus

objetos precisam se comunicar

(13)

As classes podem ser organizadas em uma hierarquia onde uma

classe (uma classe-pai) ´

e uma generaliza¸

ao de uma ou mais

classes (classes-filho).

Uma classe-filho herda os atributos e as opera¸

oes da classe-pai e

pode adicionar novos m´

etodos ou atributos para si

Hierarquia de generaliza¸c˜ao

(14)

Projeto Orientado a Objetos

Classes e objetos

Objetos e classes de objeto participam de relacionamentos com

outros objetos e classes de objeto

Na UML, um relacionamento generalizado ´

e indicado por uma

associa¸

ao

(15)

Outros elementos de um relacionamento:

multiplicidade

nome da associa¸c˜

ao

pap´

eis

dire¸

ao de leitura

visibilidade (modificadores de acesso)

(16)

Projeto Orientado a Objetos

Processo de Projeto Orientado a Objeto (PPOO)

Como representar os diferentes aspectos relacionados a um

software O.O.?

arias nota¸

oes diferentes para a descri¸c˜

ao de projetos orientados

a objetos foram propostas nas d´

ecadas de 1980 e 1990.

UML surgiu da unifica¸

ao das nota¸c˜

oes (uniu o melhor dos

mundos)

Descri¸

ao da estrutura - Diagrama de classes, diagrama de

componentes, ...

Descri¸

ao do comportamento - Diagrama de estados, diagrama de

atividade, ...

Descri¸

ao das intera¸

oes - Diagrama de seq¨

encia, diagrama de

colabora¸

ao, ...

(17)

Existem diversos processos de projeto O.O.

Relembrando...

ao existe o melhor processo

Existe o processo mais adequado

Sommerville descreve um processo gen´

erico que engloba as

atividades comuns aos processos de projeto O.O. (OOD

-Object-Oriented Design)

(18)

Projeto Orientado a Objetos

Processo de Projeto Orientado a Objeto (PPOO)

Processos de projeto envolvem o desenvolvimento de uma s´

erie

de diagramas diferentes para o sistema

O desenvolvimento de diagramas aumenta a visibiliadde do

processo, contudo exige uma grande quantidade de esfor¸

co (criar

diagrama > codificar > atualizar diagrama)

Para sistemas pequenos isto pode n˜

ao ser adequado

Para sistemas maiores os modelos de projeto s˜

ao um mecanismo

(19)

Desenvolver uma compreens˜

ao dos relacionamentos entre o

software que est´

a sendo desenvolvido e seu ambiente externo

Contexto do sistema - modelo est´

atico que descreve outros

sistemas no ambiente

Modelo de uso do sistema - modelo dinˆ

amico que descreve como

o sistema interage com seu ambiente

(20)

Projeto Orientado a Objetos

PPOO - Contexto de sistema

(21)

Modelo de uso do sistema, casos de uso (Sommerville, 2007)

(22)

Projeto Orientado a Objetos

PPOO - Projeto de arquitetura

Uma vez que as intera¸c˜

oes entre o sistema e seu ambiente

tenham sido compreendidas, vocˆ

e pode usar essas informa¸

oes

para projetar a arquitetura do sistema

(23)

Sommerville descreve que:

“...arquitetura ´

e uma representa¸c˜

ao de alto-n´ıvel do sistema...”

Pressman descreve que:

“...arquitetura ´

e a estrutura hier´

arquica dos componentes (m´

odulos)

do programa, e a maneira como estes componentes interagem...”

(24)

Projeto Orientado a Objetos

PPOO - Projeto de arquitetura

Uma analogia...

(25)

Uma analogia...

Divis˜ao do software

(26)

Projeto Orientado a Objetos

PPOO - Projeto de arquitetura

Uma analogia...

(27)

Uma analogia...

Divis˜ao do software

(28)

Projeto Orientado a Objetos

PPOO - Projeto de arquitetura

Uma analogia...

(29)

“Um sistema de mapeamento meteorol´

ogico ´

e necess´

ario

para gerar mapas meteorol´

ogicos regularmente usando dados

coletados de esta¸

oes remotas, sem funcion´

arios, e de outras

fontes de dados, como observat´

orios, bal˜

oes e sat´

elites. As

esta¸c˜

oes meteorol´

ogicas transmitem seus dados para um

computador local em resposta `

a solicita¸

ao dessa m´

aquina

O sistema de computador local valida os dados coletados e

integra os dados a partir de diferentes fontes. Os dados

integrados s˜

ao arquivados e, usando dados desse arquivo e

um banco de dados de mapas digitalizados, um conjunto de

mapas meteorol´

ogicos locais ´

e criado. Os mapas podem ser

impressos para distribui¸c˜

ao em uma impressora de mapas

especial e ser apresentados em diversos formatos.”

(30)

Projeto Orientado a Objetos

PPOO - Projeto de arquitetura

(31)

ao h´

a ‘f´

ormula m´

agica’ para a defini¸

ao dos objetos que

comp˜

oem o sistema

Esta defini¸c˜

ao ´

e um processo iterativo

criar vers˜

ao inicial

revisar

modificar

(32)

Projeto Orientado a Objetos

Identifica¸

ao de objetos

(33)

Modelos de projeto mostram os objetos ou as classes de objetos e

os relacionamentos entre essas entidades

Os modelos est´

aticos descrevem a estrutura est´

atica do sistema

em termos de classes de objeto e seus relacionamentos

Modelos dinˆ

amicos descrevem as intera¸c˜

oes dinˆ

amicas entre os

objetos.

(34)

Projeto Orientado a Objetos

Modelos de projeto

A UML inclui um conjunto de modelos para representar os

aspectos est´

aticos e dinˆ

amicos do sistema

Diagrama de pacotes

Diagrama de seq¨

encia

(35)

Pacotes da esta¸c˜ao metereol´ogica

(36)

Projeto Orientado a Objetos

Modelos de projeto

(37)

Diagrama de estados para esta¸c˜ao metereol´ogica

(38)

Projeto Orientado a Objetos

Especifica¸

ao de interface entre objetos

As interfaces de objeto tˆ

em de ser especificados, de tal modo que

os objetos e outros componentes possam ser projetados em

paralelo

(39)

Interfaces abstraem a complexidade

(40)

Projeto Orientado a Objetos

Especifica¸

ao de interface entre objetos

Os objetos podem ter v´

arias interfaces que s˜

ao pontos de vista

sobre os m´

etodos fornecidos.

Em Java a especifica¸c˜

ao da interface pode ser realizada

utilizando o conceito com mesmo nome

(41)

Exerc´ıcio

1

Em grupos, discutam e descrevam o projeto O.O. para um sistema de

gerenciamento acadˆ

emico

(42)

Resumo

O projeto OO ´

e uma abordagem de projeto de software onde as partes fundamentais

do projeto representam objetos com seus estados privativos, e suas opera¸

oes

A UML fornece um conjunto de diagramas que possibilita a documenta¸

ao do

projeto OO

(43)

Ian Sommerville.

Engenharia de Software, 8

a

ed., 2007.

Cap´ıtulo 14: Projeto orientado a objetos

Eduardo Bezerra

Princ´ıpios de an´

alise e projeto de sistema com UML. Campus, 2

a

edi¸

ao, 2007.

Cap´ıtulo 5 - Modelagem de classes de an´

alise

Cap´ıtulo 6 - Passando da an´

alise ao projeto

(44)

Perguntas?

Alexandre de Andrade Barbosa

alexandre.barbosa@arapiraca.ufal.br

Referências

Documentos relacionados

Para entender o supermercado como possível espaço de exercício cidadão, ainda, é importante retomar alguns pontos tratados anteriormente: (a) as compras entendidas como

No caso de uma apresentação de Artigo em formato Áudio, o arquivo deverá ser enviado em CD por correio postal para:.. Comitê Editorial INFEIES - RM

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Em 14.10.2014, foi publicada a Solução de Consulta nº 261, da Coordenação-Geral de Tributação (COSIT), que versa acerca da tributação, pelo Imposto sobre

As evidências empíricas analisadas deram conta das questões levantadas a partir desta pesquisa: a divisão sexual de poder aparece claramente manifesta no interior da

Para massa seca da parte aérea, na condição de estresse salino e ausência de halo-priming, foi observado maior média na cultivar Canapu, comprovando sua tolerância ao estresse

Para tanto, os hábitos alimentares de Urotrygon microphthalmum capturada no litoral de Pernambuco, e de Rhinobatos percellens, capturada em Caiçara do Norte RN foram analisados de

Segundo o mesmo autor, a animação sociocultural, na faixa etária dos adultos, apresenta linhas de intervenção que não se esgotam no tempo livre, devendo-se estender,