Você está na página 1de 21

A N L I S E S I S T E M A

U.M.L.

S
3 ANO

Prof. Edu Benjamin

edu.sbenjamin@gmail.com

http://twitter.com/EduBenjamin

A N L I S E S I S T E M A

Conceitos bsicos
A Unified Modelling Language (UML) uma linguagem ou notao de diagramas para especificar, visualizar e documentar modelos de 'software' orientados por objetos.

S
3 ANO

OUML no um mtodo de desenvolvimento, o que significa que no lhe diz o que fazer primeiro ou o que fazer depois ou como desenhar o seu sistema, mas ajuda-o a visualizar o seu desenho e a comunicar com os outros. O UML controlado pelo Object Management Group (OMG) e a norma da indstria para descrever graficamente o 'software'.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

Prof. Edu Benjamin

A N L I S E S I S T E M A

Conceitos bsicos
Softwares Orientados a Objeto

No um mtodo de desenvolvimento, o que significa que no lhe diz o que fazer primeiro ou o que fazer depois ou como desenhar o seu sistema. Ajuda-o a visualizar o seu desenho e a comunicar com os outros. o 'software'.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Software Orientado a Objeto


Os conceitos OO comearam a se solidificar nos anos 60/70 - sistemas comerciais tornaram-se disponveis na segunda metade dos anos 80, quando Smalltalk e C++ tornaram-se realidade, vindo logo a seguir os bancos de dados e as tcnicas OO, das quais h hoje uma grande variedade, como se ver mais frente. Mais a ttulo de curiosidade, pode-se dizer que o termo OO foi criado nos anos 70, durante o desenvolvimento do SmallTalk, no centro de pesquisas da Xerox em Palo Alto, Califrnia.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

S
3 ANO

Objeto Um objeto qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados - um animal, uma organizao, um avio, uma parte desse avio ou uma reserva num vo desse avio - um objeto inclusive pode ser constitudo por outros objetos.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

Prof. Edu Benjamin

A N L I S E S I S T E M A

Tipo de Objeto
uma categoria de objeto e um objeto uma instncia de um tipo de objeto. Utilizando o jargo de bancos de dados: Aluno, Professor e Disciplina seriam tipos de entidade, havendo muitas instncias de cada tipo de entidade, como por exemplo, instncias de Aluno seriam os alunos Joo, Jos e Pedro, instncias de Disciplina seriam Matemtica, Latim, etc. Cabe observar no entanto que objeto diferente de entidade, pois essa preocupa-se apenas com os dados, enquanto objeto preocupa-se tanto com os dados como com os mtodos com os quais os dados so manipulados.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Tipo de Objeto

Aluno ENTIDADE
Instncias (Joo, Pedro, Carlos)

Professor ENTIDADE
Instncias (Edu, Csar, Ricardo)

Disciplina ENTIDADE
Instncias (Matemtica, Fsica, Cincias)
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Classe A classe "descreve"um grupo de objetos com propriedades semelhantes (atributos), o mesmo comportamento (operaes), os mesmos relacionamentos com outros objetos e a mesma semntica (Hirama, 1998).
Ao construirmos uma classe, estamos implementando um tipo de objeto. Ela especifica uma estrutura de dados e os mtodos que se aplicam a cada um de seus objetos.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Classe
Uma classe um tipo definido pelo usurio que contm o molde, a especificao para os objetos, assim como o tipo inteiro contm o molde para as variveis declaradas como inteiros. A classe envolve, associa, funes e dados, controlando o acesso a estes, defin-la implica em especificar os seus atributos (dados) e suas funes membro (cdigo).
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Classe
Por exemplo, um programa que utiliza uma interface controladora de nossa vida provavelmente definiria a classe VOC. Os atributos desta classe seriam seus sentimentos e formas de expresso que, na imagem, temos as funes membro desta classe que definem a forma de expresso necessria.

S
3 ANO

No caso do primeiro, seu chefe, voc expressa de uma forma. Com sua namorada, esposa, amante, gambiarra, ou outros, voc tambm expressa de uma forma, e consequentemente com seu amigo de outra.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

Prof. Edu Benjamin

A N L I S E S I S T E M A

Mtodos
Os mtodos especificam a maneira pela qual os dados de um objeto so manipulados. Assim, um objeto tem suas propriedades representadas pelos tipos de dados e seu comportamento representado pelos mtodos.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Entendendo melhor
Classe Veculo com duas classe derivadas, Automvel e Bicicleta:

Essas classes tm trs mtodos, definidos para veculos de forma geral e redefinidos mais especificamente para automveis e bicicletas:
checkList(), para verificar o que precisa ser analisado no veculo; adjust(), para realizar os reparos e a manuteno necessria; e cleanup(), para realizar procedimentos de limpeza do veculo.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Encapsulamento
o ato de ocultar do usurio os detalhes da implementao de um objeto, atravs do empacotamento simultneo dos dados e mtodos a idia bsica deixar visvel a um usurio apenas o que ele necessita ver e acessar. O objeto esconde seus dados de outros objetos e permite que estes sejam acessados por intermdio de seus prprios mtodos - se todos os programas pudessem acessar os dados de quaisquer maneiras que os usurios desejassem, os dados poderiam ser facilmente corrompidos ou usados de forma inadequada.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Encapsulamento

O encapsulamento oculta os detalhes de um objeto de seus usurios, que conhecem quais operaes do objeto podem ser solicitadas, mas no conhecem os detalhes acerca de como uma operao executada.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Mensagens
Um objeto reage a uma solicitao. Esta faz com que uma operao execute o mtodo apropriado e, se o sistema assim determinar, envie resposta. A mensagem que constitui a solicitao contm o nome do objeto, o nome da operao e, frequentemente, parmetros - note-se que uma operao pode envolver mais de um objeto. O usurio no precisa conhecer os detalhes do objeto, apenas como se comunicar com ele e como ele responde. No avio, ao acionar o comando dos flaps, o piloto v uma ao sendo executada e recebe resposta atravs de seu painel de controle - todos os objetos "Avio" so controlados dessa forma (ao menos didaticamente), mas o piloto no poder mudar a temperatura do cockpit usando o comando dos flaps, porque aqui outro tipo de mensagem ser necessria.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Herana
O conceito de herana um dos que fazem com que a tecnologia OO tenha como grande atrativo a acelerao do processo de desenvolvimento. Se j existir uma classe que pode responder a diferentes mensagens, por que construir uma nova classe, quase sempre semelhante j existente, para responder a algumas novas mensagens - ou ento reescrever a classe? As linguagens OO mais comuns permitem que se crie uma subclasse, que herda todas as caractersticas da classe-me - isso permite que ao se escrever um novo programa, pode-se simplesmente utilizar classes j existentes, quando estas tem um comportamento anlogo s exigidas pelo novo programa
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Herana

S
3 ANO

Prof. Edu Benjamin

edu.sbenjamin@gmail.com

http://twitter.com/EduBenjamin

A N L I S E S I S T E M A

Polimorfismo
Pode ser definido como a capacidade de duas ou mais classes responderem mesma solicitao, cada uma a seu modo. Note-se que passar a mesma mensagem a dois objetos de classes diferentes pode produzir resultados completamente diferentes. Por exemplo, fazendo analogia com um automvel, a mensagem "pise no pedal" ter efeitos completamente diferentes quando o pedal for o do freio ou o do acelerador. Voltando ao nosso meio, a mensagem "imprima", pode gerar efeitos diferentes dependendo da impressora qual for enviada.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Polimorfismo

S
3 ANO

Prof. Edu Benjamin

edu.sbenjamin@gmail.com

http://twitter.com/EduBenjamin

A N L I S E S I S T E M A

Por que O O
Empresas simplesmente abandonam investimentos de porte em software, hardware e treinamento; novos produtos, em especial de empresas da rea financeira, deixam de ser lanados, etc., tudo enquanto a empresase movimenta para adotar a ltima novidade, a "salvao da lavoura"... Foi assim com o downsizing, com o Natural, etc. Por tudo isso, os profissionais da rea devem ver sempre com muita cautela essas novidades, sem no entanto se aferrarem ao que j existe ou considerarem tudo que novo intil. Dentro dessa perspectiva, surge a pergunta: por que OO? Evidentemente, porque essa tecnologia pode trazer benefcios aos seus usurios, gerando a possibilidade de mudar drasticamente a maneira pela qual se administra as equipes de desenvolvimento e a prpria forma pela qual se desenvolve sistemas.
edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

S
3 ANO

Prof. Edu Benjamin

A N L I S E S I S T E M A

Conceitos iniciais sobre UML


A UML incorpora as noes do desenvolvimento de software totalmente visual. Ela se baseia em diagramas que so modelados e classificados em vises de abstrao. O desenvolvimento de um sistema em UML divide-se em 5 fases:

S
3 ANO

1. 2. 3. 4. 5.

Anlise de requisitos; Anlise; Design; Implementao (programao); Testes.


edu.sbenjamin@gmail.com http://twitter.com/EduBenjamin

Prof. Edu Benjamin