Você está na página 1de 9

METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS

Professores: Ana Paula Gonalves Serra Andr Luiz Ribeiro

Metodologia Orientada a Objetos


1. Metodologia
Metodologia a forma explcita de estruturar pensamentos e aes. Define: o que fazer; como fazer; quando fazer; porque deve ser feito.

2. Conceito de Orientao a Objetos


O conceito de orientao a objetos surgiu no fim da dcada de 80, e significa que o sistema organizado em uma coleo de objetos separados que incorporam tanto a estrutura quanto o comportamento dos dados. A Orientao Objeto pode ser aplicada na modelagem e no desenvolvimento de sistemas. Na modelagem, a orientao objeto pode ser aplicada atravs das notaes para modelagem de sistemas orientados a objetos, essas notaes (UML, OMT, Booch, etc) so regras, conceitos e representaes grficas do sistema. E no desenvolvimento de sistemas atravs de linguagens de programao orientada a objetos (Java, C++, Delphi, etc). A Orientao a Objetos uma metodologia de desenvolvimento de software.

3. Objetos e Classes
No dicionrio pode-se encontrar as seguintes definies de objetos:

Tudo que manipulvel e/ou manufaturvel; Tudo que perceptvel por qualquer dos sentidos; Coisa, pea, artigo de compra e venda; Matria, assunto, Agente; motivo, causa.

Metodologia de Desenvolvimento de Sistemas - Conceito de OO Prof Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro

Pelo conceito de Orientao a Objeto, pode-se definir objeto como uma abstrao, com limites e significados bem definidos, em relao ao problema considerado. Cada objeto tem sua prpria identidade, que lhe inerente. Exemplos:

Carro Zimba

Computador do LAB SIM I

Sof da sala de estar do Joo

Objetos com a mesma caracterstica (atributos) e mesmo comportamento (operaes ou mtodos) so agrupados em uma classe. Cada classe descreve um conjunto possivelmente infinito de objetos individuais. Cada objeto chamado de instncia de sua classe.

Objetos carros (instncia da classe carro)

Classe CARRO

Atributos Marca Modelo Ano Cor Chassi

Operaes Liga Desliga Anda Para

4. Metodologia Estruturada X Metodologia Orientada a Objetos


Na metodologia estruturada o foco na especificao e decomposio da funcionalidade do sistema enquanto que na metodologia orientada a objetos, primeiro identificam-se os objetos contidos no domnio do sistema e depois os procedimentos relativos a ele.
Metodologia de Desenvolvimento de Sistemas - Conceito de OO Prof Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro 2

Em resumo: Metodologia estruturada = o foco na especificao e decomposio da funcionalidade do sistema Metodologia orientada a objetos = primeiro identificam-se os objetos contidos no domnio do sistema e depois os procedimentos relativos a ele.

Exemplos: 1) De Grady Booch; Object-Oriented Analysis e Design with Applications 1994.

Metodologia de Desenvolvimento de Sistemas - Conceito de OO Prof Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro

2) Jogo de Futebol Anlise de um campo de futebol utilizando metodologia estruturada Passe da bola; Fazer gol; Cobrar lateral; Cobrar tiro de meta; Driblar o jogador; Cobrar falta; Marcar penault; Passar a bola.

Anlise de um campo de futebol utilizando metodologia orientada a objetos Jogador; Juiz; Bola; Campo.

5. Alguns Conceitos Utilizados na Orientao a Objetos


Durante o curso conceitos como abstrao, atributo, entre outros sero utilizados para a elaborao dos modelos Orientados a Objetos. Para uma viso inicial e geral so apresentados esses conceitos a seguir. Abstrao: o termo abstrao significa ressaltar os aspectos essenciais de uma entidade e ignorar os aspectos no relevantes para o enfoque considerado; Atributo: caracterstica da classe que pode ter valor diferenciado para

cada objeto instanciado; Operao: uma ao ou transformao realizada por um objeto ou sofrida por um objeto; Propriedade: a implementao de um atributo para uma classe; Mtodo: a implementao de uma operao para uma classe; Polimorfismo: a implementao de uma mesma operao em diversas classes. Atravs do polimorfismo, a mesma operao se comporta de forma distinta em classes distintas. Exemplo: operao incluir, pode possuir mtodos distintos, como: incluir cliente, incluir fornecedor, ... Herana: o compartilhamento de atributos e operaes entre as classes que possuem relacionamento de hierarquia. Exemplo: um cliente pode ser pessoa fsica ou pessoa jurdica; Superclasse/Subclasse: Ao evidenciar os atributos e as operaes de um conjunto de classes, identifica-se uma superclasse (generalizao) refinada em subclasses

(especializao). Uma subclasse herda atributos e operaes das superclasses e possui seus atributos e operaes especficas;

Metodologia de Desenvolvimento de Sistemas - Conceito de OO Prof Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro

Encapsulamento: um pacote de atributos e operaes o qual representa um estado em um tipo de objeto, de tal forma que o estado acessvel ou modificado somente pela interface provida pelo encapsulamento.

Cardinalidade: quantidade de instncias determinada para o relacionamento entre duas classes. Por exemplo: 1 para n, 1 para 1, m para n.

6. Notao UML
A UML (Unifield Modeling Language) uma linguagem padro para a elaborao da estrutura de projetos de software, que surgiu em meados da dcada de 90 visando unificar as diversas notaes de modelagem orientadas a objetos, como por exemplo: OMT (Object Modeling Technique Rumbaugh), OOSE (Object-Oriented Software Engineering Jacobson), Booch, entre outras. Cada uma dessas notaes citadas possui suas qualidades e deficincias, o OMT forte em anlise e mais fraco em projeto, Booch forte em projeto e mais fraco em anlise, Jacobson forte em comportamento de anlise e mais fraco em outras reas. Com isso, a UML uma notao unificada e padro de todas as notaes mais utilizadas na modelagem de sistemas. Pode-se definir UML como uma linguagem de modelagem usada para especificar, visualizar, construir e documentar sistemas orientados a objetos. Durante o curso o UML ser utilizado como notao principal para a metodologia orientada a objetos em conjunto com a ferramenta Rational Rose.

6.1. Evoluo da UML

Metodologia de Desenvolvimento de Sistemas - Conceito de OO Prof Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro

6.2. Contribuies:

6.3. O que a UML ? Linguagem visual para a especificao de sistemas orientados a objetos; Visa: Visualizar Especificar Construir Documentar

independente de: Fases de desenvolvimento de software Processo de software utilizado Linguagens de programao

6.3. Objetivos da UML Modelar sistemas utilizando conceitos de Orientao a Objetos; Estabelecer uma clara ligao entre os modelos conceituais e de implementao; Explicitar os pontos notveis em sistemas complexos ou de misso crtica; Definir uma linguagem de modelagem passvel de uso por pessoas e mquinas.

6.4. Aspectos da UML Funcional Casos de Uso

Esttico (Estrutural)
6

Metodologia de Desenvolvimento de Sistemas - Conceito de OO Prof Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro

Diagrama de Classes

Dinmico (Comportamental) Diagrama de Seqncia, Atividades e Estados

7. Viso Geral dos Modelos da UML


Diagrama de Casos de Uso: descreve as funcionalidades do sistema e os usurios e entidades externas, organizando o comportamento do sistema. Alm do diagrama h toda a descrio de atores e casos de uso. Diagrama de Classes: descreve a estrutura de soluo do sistema, atravs de um conjunto de classes (compostas de atributos e operaes), e relacionamentos. Geralmente dividido em diagrama de classes de anlise (domnio) e diagrama de classes de projeto (implementao). Diagrama de Objetos: descreve um conjunto de objetos e seus relacionamentos. Esse diagrama ilustra as estrutura de dados e instncias do diagrama de classes. Diagrama de Seqncia: faz parte do conjunto de diagramas de interao, descreve o comportamento do sistema, enfatizando a comunicao dos objetos atravs da passagem de mensagem entre os mesmos; Diagrama de Colaborao ou Comunicao (na UML 2.0): faz parte do conjunto de diagramas de interao, descreve o comportamento do sistema, enfatiza a organizao estrutural dos objetos que enviam e recebem mensagens; Diagrama de Atividades: descreve o comportamento do sistema, atravs do fluxo de controle de funes. Diagrama de Estados: descreve o comportamento do sistema, enfatizando os estados que o objeto pode possuir. Diagrama de Componentes: descreve os componentes que iro ser criados no sistema e a comunicao entre eles; Diagrama de Distribuio: descreve a arquitetura fsica e os componentes utilizados no sistema. Diagrama de Pacotes (na UML 2.0): fornece um mecanismo de organizao para os elementos da UML. O pacote utilizado para agrupar elementos da modelagem. Diagrama de Interao Viso Geral (na UML 2.0): faz parte do conjunto de diagrama de interao, apresenta a viso geral, de congregao, dos outros diagramas de interao (seqncia, comunicao e tempo). Diagrama de Tempo (na UML 2.0): faz parte do conjunto de diagrama de interao, descreve o comportamento de um ou mais objetos em dado perodo de tempo, mostrando suas alteraes de estados.

Metodologia de Desenvolvimento de Sistemas - Conceito de OO Prof Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro

Diagrama de Composio de Estrutura (na UML 2.0): descreve a composio de diversos elementos de modelagem, como: interfaces, objetos ou classes, mas que no perdem suas caractersticas em combinao com outras.

8. Vises Arquiteturais

Lgica

Processo

Casos de Uso

Implementao

Distribuio

Viso de Casos de Uso Descreve as funcionalidades do sistema o qu; Facilita o entendimento dos usurios; Base para as demais vises; Representada pelos diagramas de casos de uso e diagrama de atividades (eventual).

Viso Lgica Descreve como as funcionalidades sero fornecidas; Define o comportamento do sistema; Representada pelos diagramas de classes, seqncia, estados e atividades.

Viso de Processo Descreve a diviso do sistema em processos; Centrado na viso no funcional do sistema, como desempenho, segurana e concorrncia; Representada pelos diagramas seqncia, estados e atividades.

Viso de Implementao Descreve os mdulos de implementao, suas estruturas e dependncias; Utilizada pelos desenvolvedores;
8

Metodologia de Desenvolvimento de Sistemas - Conceito de OO Prof Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro

Representada pelo diagrama de componentes.

Viso de Distribuio Exibe a distribuio fsica do sistema atravs de ns e suas conexes; Mapeia quais programas e objetos so executados em cada computador; Representada pelo diagrama de distribuio.

9. Algumas Ferramentas:
Rational Modeler / Rational Rose OMondo ArgoUML Astah Enterprise Architect StarUML

10. Bibliografia Complementar


UML Essencial Martin Fowler e Kendall Scott Editora Bookman Captulo 1

UML Guia do Usurio Rumbaugh, J., Booch, G., Jacobson, I.; Editora Campus, 2006;

Java Como Programar 4 Edio H. M. Deitel, P.J. Deitel Editora Bookman Captulo 2 Estudo de Caso Item 2.9

Copyright 2002-2013 Profa. Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro Todos direitos reservados. Reproduo ou divulgao total ou parcial deste documento expressamente proibido sem o consentimento formal, por escrito, da Profa. Ana Paula Gonalves Serra e do Prof. Andr Luiz Ribeiro .

Metodologia de Desenvolvimento de Sistemas - Conceito de OO Prof Ana Paula Gonalves Serra e Prof. Andr Luiz Ribeiro

Você também pode gostar