330 likes | 536 Views
Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage. Análise e Projetos de Sistemas. Belém-2008. Resumo da Unidade. Objetivos Conceitos de Orientação a Objetos(OO) Breve Histórico da UML Diagramas da UML Diagrama de Caso de Uso Diagrama de Classes
E N D
Revisão de ConteúdoUML-Linguagem de Modelagem Unificada Professor: Armando Hage Análise e Projetos de Sistemas Belém-2008
Resumo da Unidade • Objetivos • Conceitos de Orientação a Objetos(OO) • Breve Histórico da UML • Diagramas da UML • Diagrama de Caso de Uso • Diagrama de Classes • Diagrama de Sequencia • Conclusão
Objetivos • Apresentar e praticar alguns principais modelos fornecidos pela principais modelos fornecidos pela UML. • Exercícios de modelagem Exercícios de modelagem. • Praticar algumas situações típicas de projeto de software projeto de software.
Referências • Bezerra,Projeto Orientados a Objetos. Campus, 2002. • Booch, G. et al. UML Booch, G. et al. UML Guia do Usuário. Campus, 2000. • COAD, P.; YOURDON, E. Análise Baseada em Objetos. 2.ed. Rio de Janeiro: Campus, 1996. (005.1 C652a) • DAVIS, William S. Análise e Projeto de Sistemas: uma abordagem estruturada. Rio de Janeiro: LTC, 1987.
Visão GeralDesnvolvimento de Software Atualmente • Uso de linguagens de programação Orientadas a Objeto (OO) • Delphi, Java, PHP • Linguagens compactas com bibliotecas de classes poderosas • Ambientes de programação • Sistemas de Banco de Dados Relacionais • Oracle, SQL Oracle, SQL-Server, mySQL, Firebird, Postgres
Conceitos de OO Modelos – São representações simplificadas de objetos do mundo real. Dados – Como o mesmo é uma simplificação do mundo real, os dados contidos no modelo são somente os relevantes à abstração do mundo real. Operações – Um modelo contém operações e procedimentos associados a ele. Abstração- Uma abstração descreve as características essenciais de uma entidade que a distingüe de todos os outros tipos de entidades. Pessoa como empregado de Empresa Dados (nome, cargo, salário e horasExtrasTrabalhadas) Operações(calcularSalário,aumentaSalário) Pessoa como paciente de uma clínica médica Dados(nome,sexo,altura,peso, histórico) Operações (AdicionaInformaçãoaoHistórico)
Conceitos de OO Classe São estruturas das linguagens de programação OO que contem, para determinado modelo, os dados que devem ser representados e as operações que devem ser efetuadas com estes dados. A classe envolve, associa, funções e dados, controlando o acesso a estes. Defini-lá implica em especificar os seus atributos (dados) e seus métodos (funções). Ex:Interface controladora de um motor elétrico. Classe:motor Atributos: temperatura, velocidade, tensão aplicada.
Conceitos de OO • Objeto ou instância • Representa uma materialização da classe. • É um pacote de software contendo dados e procedimentos(código)relacionado. • Possui estado,identidade única e comportamento. • Abstração de Dados • Processo mental através do qual nos concentramos nos aspectos relevantes de um conjunto de objetos desconsiderando as suas diferenças.
Conceitos de OO Na Orientação a Objetos, o mecanismo principal de abstração é a Classe. Uma Classe descreve um conjunto de Objetos que compartilham características comuns A Classe corresponde à noção de módulo em um sistema orientado a objetos Modularidade é importante pois torna o projeto de um sistema mais simples e reutilizável Classe “encapsula” dados e operações.
Conceitos de OOEncapsulamento de dados e operação • Encapsulamento de dados e operações • Ocultamento Ocultamento da Informação da Informação • O acesso aos dados internos de objetos só pode ocorrer a partir de mensagens • Independência de aplicação • Um método deve acessar informações internas do objeto objeto
Conceitos de OOEncapsulamento de dados e operação • Lei de Deméter • Para cada objeto para cada objeto o, e para cada um dos seus , métodos m, os objetos que podem receber , os objetos que podem receber mensagens de o são • o próprio o próprio o – especificamente especificamente self e super (em SmallTalk),this (em C++/Java)atributos de objeto de o
Conceitos de OOGeneralização/Especialização - Um objeto é composto por outro
Conceitos de OOGeneralização/Especialização - Um objeto é composto por outro É o mecanismo que permite a uma classe herdar todo o comportamento e os atributos de outra classe, adquirindo imediatamente toda a funcionalidade de uma classe existente. Uma classe que herda de outra classe é chamada de subclasse e a classe que fornece a herança é chamada de superclasse. Classe A Classe B Classe C Classe D Classe E
Comparações entre abordagem imperativas e OO Paradigma Procedural Tipos de dados Variável Função/Procedimento Chamada de função Paradigma Objetos • Classes • Objeto / Instância • Operação / Método • Envio de Mensagem
UML Unificada Linguagem de Modelagem Unificada Surgiu para apoiar OO Evolução a partir de linguagens C++ e SmallTalk Anos 80 Anos 80-90: diversidade de autores Anos 98-2000: unificação em torno de 2000: unificação em torno de UML.
UML Unificada Linguagem de Modelagem Unificada Grady Booch Um dos pioneiros da OO Um dos pioneiros da OO 1980: ênfase em técnicas de projeto para Ada 1992-1994: livros Object Object Design Design with Applications Projeto de programas em C++ e Ada 1998: Fundação da Rational
UML Unificada Linguagem de Modelagem Unificada Ivar Jacobson Modelagem OO baseado em Casos de Uso Objectory Basea-se na necessidades do usuário, o objetivo do sistema, sem preocupações com a ordem de ocorrência de cada fato e suas relações.
UML Unificada Linguagem de Modelagem Unificada James Rumbaugh Object Modeling Modeling(OMT) Desenvolvida na GE Metodologia baseada em notações pré-existentes (ER, DTE, DFD) Clara distinção entre as três visões do problema.
UML Unificada Linguagem de Modelagem Unificada Linguagem visual para especificação Linguagem(modelagem) de sistemas orientados a objetos objetos Fornece representação gráfica para os elementos essenciais do paradigma de objetos Classes, atributos, objetos, troca de mensagens, ...
UML Unificada Linguagem de Modelagem Unificada De propósito geral Não está presa a uma etapa do desenvolvimento software Análise Análise Projeto Projeto Implementação Testes Ciclo de vida em cascata Incremental Processo Unificado Não está presa a uma linguagem de programação
UML Unificada Linguagem de Modelagem Unificada UML apoia o desenvolvimento incremental
UML Unificada Linguagem de Modelagem Unificada De propósito geral Não se prende a nenhuma linguagem de programação
UML Unificada Linguagem de Modelagem Unificada Padrão OMG Toda a documentação disponível em http://www.omg.orgagem Privilegia a descrição de um sistemasegundo três perspectivas: Dados (estrutural) Diagrama de Classes Operações (funcional) Diagrama de Caso de Uso Eventos (temporal) Diagramas de Seqüência, Atividades, de Transição de Estados de Estados
UML Unificada Linguagem de Modelagem Unificada Ferramentas mais utilizadas RationalRose -http://www.rational.com Visual Paradigm - http://www.visual-paradigm.com/ Poseidon - http://www.gentleware.com/index.php Argo UML - http://argouml.tigris.org/ Umbrello - http://www.umbrello.org/