24
Projeto OO com UML

Projeto OO com UML - profalansantos.files.wordpress.com · como Programação Orientada a Objetos (POO), é um paradigma de análise, projeto ... É a atividade de construir modelos

Embed Size (px)

Citation preview

Projeto OO com UML

Tópicos da Aula

Conceitos de programação orientada a

objetos

Projeto orientado a objetos com UML

Orientação a objetos

A orientação a objetos, também conhecida

como Programação Orientada a Objetos

(POO), é um paradigma de análise, projeto

e programação de sistemas de software

baseado na composição e interação entre

diversas unidades de software chamadas

de objetos.

Classe / Atributo / Método/ Construtor

Pensar Orientado a Objetos

Onde quer que você olhe no mundo

real, você vê objetos

Pessoas, animais, plantas, carros, etc.

Humanos pensam em termos de

objetos

Portanto, POO é alto nível

i.e., mais próximo dos humanos que

dos computadores

Características de Objetos

Classificação

Animados: possuem vida, se movem...

Inanimados: não se movem por conta própria

Objetos possuem atributos

Tamanho, forma, cor, peso, etc.

Objetos exibem comportamentos

Uma bola rola, um avião voa

Uma pessoa anda, fala, pensa, etc.

Classe de Objetos

Uma classe é um “esqueleto” para

criação de objetos

Como a planta é um “esqueleto” para

criação de casas

Definições

Objeto:

Entidade que descreve uma realidade

Classe:

Abstração que define objetos

Instância:

Criação de um objeto a partir de uma

classe

Projeto Orientado a Objetos

Maneira natural de visualizar o software

Documentação e comunicação entre a

equipe

Modela o software semelhante ao mundo

real - usando objetos

Objetos são modelados em termos de

seus atributos e comportamento

(métodos)

Modelagem de Software

É a atividade de construir modelos que

expliquem as características ou o

comportamento de um software ou de

um sistema de software.

A modelagem de software

normalmente utiliza a construção de

modelos gráficos.

Modelagem de Software

Frequentemente a modelagem de

software usa algum tipo de notação

gráfica e são apoiados pelo uso de

Ferramentas CASE.

Ferramentas Case

Sistemas de software que são

utilizados para dar suporte ao

desenvolvimento são normalmente

chamados de ferramentas CASE.

Modelagem de Software

Programas procedurais (não

orientados a objeto) utilizam

fluxogramas.

Programas orientados a objeto

normalmente usam a linguagem

gráfica UML.

Por que projetar?

Tão essencial quanto ter uma planta antes

da construção de uma casa

Melhora a comunicação entre os membros da

equipe

A equipe entende melhor o sistema

Permite analisar o sistema sobre vários

aspectos

Facilita a programação e a manutenção

Diminui a possibilidade de erros

Projetar é Fundamental

O que é um modelo?

Construímos modelos para compreender

melhor o sistema que estamos

desenvolvendo.

Um modelo é uma simplificação

(representação) da realidade.

O que modelamos?

Dimensões: dados, função,

comportamento

© LES/PUC-Rio

O que é um modelo?

O que é um modelo?

O que é um modelo?

Por que modelar software?

Ajuda a ter uma visão geral do sistema

Permite especificar a estrutura e o comportamento

do sistema

Proporciona um guia para a construção do sistema

Documenta as decisões tomadas

Objetivos da Modelagem

Compreender melhor o sistema que

estamos desenvolvendo

Visualizar o sistema

Documentar decisões tomadas

Especificar comportamento ou a

estrutura de um sistema

Princípios da Modelagem

A escolha dos modelos a serem criados tem

profunda influência sobre a maneira como um

determinado problema é atacado e como uma

solução é definida

Cada modelo poderá ser expresso em diferentes

níveis de precisão

Os melhores modelos estão relacionados à

realidade

Nenhum modelo único é suficiente. Qualquer

modelo não-trivial será melhor investigado por meio

de um pequeno conjunto de modelos quase

independentes

Fases do Desenvolvimento

Modelo Cascata

Define atividades sequenciais

Outras abordagens são

baseadas nesta ideia

Definição de

Requisitos Projeto

Implementação

Testes

Manutenção

O processo de

desenvolvimento de software

Compreende as atividades necessárias para definir, desenvolver, testar e manter um produto (sistema) de software.

Tentativas de lidar

com a

complexidade e de

minimizar os

problemas

envolvidos no

desenvolvimento

de software.

Atividades de um processo de

desenvolvimento

Análise (ou levantamento) de

requisitos

Análise

Design (Projeto)

Programação (Implementação)

Testes

Implantação