Upload
charles-miranda
View
387
Download
3
Embed Size (px)
Citation preview
Introdução à modelagem de software com UML
Professor Charles Miranda - [email protected]
Instituto Federal de Educação, Ciência e Tenologia do Tocantins - IFTO Campus Araguatins - http://araguatins.ifto.edu.br
ObjetivosApresentar os conceitos básicos de Programação Orientada a objetos bem como os princípios da modelagem de sistemas com a Unified Modeling Language (Linguagem de Modelagem Unificada) e sua relevância para o desenvolvimento de softwares complexos.
Realidade no mundo do software...
Por que fazer a modelagem de software?A modelagem é a parte central de todas as atividades que levam à implantação de um bom software.
Construimos modelos para visualizar e controlar a arquitetura do sistema, para compreender melhor o sistema que estamos elaborando.
O que é UML?A UML (Unified Modeling Language) é uma linguagem padrão para a elaboração da estrutura de projetos de software.
No contexto do projeto de softwares a UML pode ser usada para
● Visualização
● Especificação
● Construção
● Documentação
UML é uma linguagem visual utilizada para modelar sistemas computacionais por meio do paradigma da Orientação a Objetos.
A UML não é uma linguagem de programação!
Ferramenta de Apoio
Diagramas UML
Neste módulo veremos os conceitos e a estrutura dos seguintes diagramas UML:
● Diagrama de classes
● Diagrama de casos de uso
● Diagrama de atividades
● Diagrama de sequência
Modelagem de classes
Neste tópico:
● Classes
● Atributos
● Operaçoes
● Construção do diagrama de classes
Classes
As classes são os blocos de construção mais importantes de qualquer sistema orientado a objetos.
Uma classe é uma descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamentos e semântica.
A classes podem ser usadas para representar itens de software, de hardware e itens que sejam puramente conceituais
A modelagem de um sistema envolve a identificação de itens considerados importantes de acordo com uma determinada visão.
Estes itens formam o vocabulário do sistema a ser modelado.
Por exemplo, se você está construindo uma casa, paredes, portas, janelas, cômodos e luzes são alguns dos itens que serão importantes para você como propríetário da casa.
Em UML, todos estes itens são modelados como classes.
Uma classe é uma abstração de itens que fazem parte de seu vocabulário. A classe não é um objeto individual mas representa um conjunto inteiro de objetos.
Atributos
Um atributo é uma propriedade nomeada de uma classe que descreve um intervalo de valores que as instâncias da propriedade podem apresentar. Representa alguma propriedade do item que está sendo modelado, compartilhado por todos os objetos dessa classe.
Por exemplo, poderíamos modelar uma classe chamada Cliente, de modo que cada cliente tenha um nome, endereço, número de telefone e data de nascimento. Estes seriam os atributos da classe cliente.
Uma classe pode ter qualquer número de atributos ou mesmo nenhum atributo
Operações
Uma operação é a implementação de um serviço que pode ser solicitado por algum objeto da classe para modificar o comportamento.
É uma Abstração de algo que pode ser feito com um objeto e que é compartilhado por todos os objetos dessa classe.
Por exemplo, poderíamos modelar uma classe chamada Lâmpada, com as operações acender, e desligar.
Uma classe pode ter qualquer número de operações ou mesmo nenhuma operação.
Representando classes na UML
Diagrama de classes
É o diagrama mais utilizado e mais importante da UML, servindo e apoio para a maioria dos outros diagramas.
Como o próprio nome diz, ele define a estrutura de classes utilizadas pelo sistema, determinando os atributos e métodos possuídos por cada classe
Estabelece como as classes se relacionam e trocam informações entre si.
Continua...
Bibliografia
Booch, G.; Rumbaugh J.; Jacobson I.; UML Guia do Usuário; Ed. Campus; 2006
Guedes, Gilleanes T.A. UML 2: Uma Abordagem Prática. 1ª Edição. São Paulo: Novatec, 2009
Bibliografia complementar
Sommerville I. Engenharia de Software. 9 ed. Pearson, 2011
Pressman, R. S. Engenharia de Software: uma abordagem profissional. 7 ed. Artmed, 2011