Escolar Documentos
Profissional Documentos
Cultura Documentos
DESENVOLVIMENTO DE SISTEMAS II
CORNLIO PROCPIO
2015
DESENVOLVIMENTO DE SISTEMAS II
Trabalho interdisciplinar:
Anlise Orientada a Objetos II
Banco de Dados II
Programao Orientada a Objetos
Programao Web I
Seminrio IV
Apresentado a Universidade Norte do Paran UNOPAR
Professores:
Luis Claudio Perini
Roberto Y. Nishmura
Mrcio Roberto Chiaveli
Veronice de Freitas
Adriane Ap. Loper
CORNLIO PROCPIO
2
3
4
4.1
4.2
4.3
4.4
5
6
INTRODUO...........................................................................
OBJETIVO.................................................................................
DESENVOLVIMENTO...............................................................
Anlise Orientada a Objetos II...................................................
Banco de Dados II.....................................................................
Programao Orientada a Objetos............................................
Programao Web I...................................................................
CONCLUSO............................................................................
REFERNCIAS..........................................................................
2015
SUMRIO
3
4
5
5
11
15
26
32
33
LISTA DE ILUSTRAES
5
Figura1 Diagrama de Caso de Uso...........................................
Figura2 Diamagrama de Classes..............................................
Figura3 Diagrama de Objetos....................................................
Figura4 Diagrama de Colaborao............................................
Figura5 Diagrama de Sequncia...............................................
Figura6 Diagrama de Atividades................................................
Figura7 Diagrama de Estados...................................................
Figura8 Diagrama de Componentes..........................................
Figura9 Diagrama de Depurao...............................................
Figura10 Diagrama de Pacotes.................................................
Figura11 Modelo Relacional Normalizado.................................
Figura12 Polimorfismo...............................................................
6
6
7
7
8
9
9
10
10
14
22
2-INTRODUO
Seguindo o conceito das orientaes apresentadas para o trabalho,
e baseando-se nas matrias do atual semenstre, aplicarei o conceito envolvendo os
seguintes tpico, Anlise Orientada a Objetos II, Banco de Dados II, Programao
Orientada a Objetos e Programao Web I, explicando e exemplificando o contedo
de modo que supra as persepectivas.
3 OBJETIVO
Com base nos materiais disponveis para pesquisa como, ambiente
online, web aulas, livros do semestre e pesquisa na internet, farei um levantamento
de Diagramas da UML, apresentarei um DER aplicando o conceito de Modelagem
Relacional Normalizada, passarei por tpicos como Programao Orientada a
Objetos e descreverei as principais ferramentas no auxilio a Criao Web,
tecnologias essenciais na programao e customizao de pginas web.
4- DESENVOLVIMENTO
Seguindo a linha de pensamento traado, a baixo apresento o
resultado do estudo feito encima de cada tpico, apresentando um resultado que
espero suprir as necessidades pleiteadas.
Figura 1
Diagrama de Classes
Representa uma coleo de classes e seus inter-relacionamentos.
Figura 2
Diagrama de objetos
Representa um retrato, em tempo de execuo, dos objetos do
software e seus inter-relacionamentos.
Figura 3
Diagrama de Colaborao
Representa uma coleo de objetos que trabalham em conjunto para
atender algum comportamento do sistema.
Figura 4
Diagrama de Sequncia
Representa uma perspectiva, orientada por tempo, da colaborao
entre os objetos.
Figura 5
Diagrama de Atividades
Representa o fluxo de tarefas que podem ser executadas pelo
sistema ou por um ator.
10
Figura 6
Diagrama de Estados
Representa um conjunto de estados que um objeto pode estar e os
gatilhos que estimulam a transio do objeto de um estado para outro.
11
Figura 7
Diagrama de Componentes
Representa uma coleo de componentes de software e seus interrelacionamentos.
Figura 8
Diagrama de Depurao
Representa uma coleo de componentes e mostra como esses so
distribudos em um ou vrios ns de hardware.
12
Figura 9
Diagrama de Pacotes
Representa uma coleo de outros elementos de modelagem e
diagramas
Figura 10
4.2 Banco de Dados II
MODELO RELACIONAL NORMALIZADO - MRN
Num projeto de banco de dados necessrio identificar os dados
e fazer com que estes representem eficientemente o mundo real.
13
Modelo
Entidade
Relacionamento
apresenta
algumas
14
que a anterior na lista. mas para a maioria dos efeitos prticos. considera-se que as
bases de dados esto normalizadas se aderirem Terceira Forma Normal.
Outro ponto a notar que os projetistas de um banco de dados no
precisam normalizar at a forma normal mais alta possvel. As relaes podem
permanecer em um estado de normalizao mais baixo. como 2FN, por razes de
desempenho." (ELMASRI; NAVATHE. 2005 apud NISHIMURA. 2009. p. 81).
O processo sequencial, iniciando pela 1 FN. No possvel "pular' uma forma
normal, assim como no possvel fazer uma forma normal errada e passar para
a prxima. Se uma tabela obedece s regras de uma forma normal, esta obedece
igualmente s regras das formas normais anteriores.
Uma tabela est na Primeira Forma Normal quando seus atributos no
contm grupos de Repetio, ou tambm, a 1 FN requer que todos os valores de colunas em
uma tabela sejam atmicos (indivisveis).
necessrio
identificar
atributos
que
representam
15
16
Figura 11
17
18
receber, e tambm qual a ao que aquele objeto deve realizar ao receber aquela
mensagem em especfico.
Uma mensagem um pequeno texto que os objetos conseguem entender e, por
questes tcnicas, no pode conter espaos. Junto com algumas dessas
mensagens ainda possvel passar algumas informaes para o objeto
(parmetros), dessa forma, dois objetos conseguem trocar informaes entre si
facilmente.
Ficou confuso? Vamos a um exemplo prtico: imagine que voc est desenvolvendo
um software para uma locadora e esta locadora tem diversos clientes. Como
estamos tentando modelar um sistema baseado no sistema real, nada mais obvio do
que existirem objetos do tipo Clientes dentro do nosso programa, e esses Clientes
dentro do nosso programa nada mais sero do que objetos que "simulam" as
caractersticas e aes no mundo virtual que um cliente pode realizar no mundo real.
Vamos apresentar exemplo mais detalhadamente mais para frente, mas antes
precisamos especificar mais alguns conceitos.
O que uma Classe, Atributo e Mtodo? E pra que serve o Construtor?
Uma classe uma abstrao que define um tipo de objeto e o que
objetos deste determinado tipo tem dentro deles (seus atributos) e tambm define
que tipo de aes esse tipo de objeto capaz de realizar (mtodos).
normal no entender isso logo de cara, mas os conceitos de
classes e subclasses so relativamente simples: Tente pensar no conceito de
Classes utilizado na Biologia: um animal uma classe, e tem suas caractersticas:
um ser vivo capaz de pensar, precisa se alimentar para viver, etc, etc. O Ser
Humano uma sub-classe dos animais. Ele tem todas as caractersticas de um
animal, mas tambm tem algumas peculiaridades suas, no encontradas nas outras
sub-classes de animais. Os pssaros tambm so animais, mas possuem
caractersticas prprias.
Note que uma Classe no tem vida, s um conceito. Mas
os Objetos (animais, serem humanos, pssaros, etc) possuem vida. O seu cachorro
rex umObjeto (ou instncia) da classe Cachorro. A classe Cachorro no pode latir,
no pode fazer xixi no poste, ela apenas especifica e define o que um cachorro.
19
Mas Objetos do tipo Cachorro, estes sim podem latir, enterrar ossos, ter um nome
prprio, etc.
A criao de uma nova Classe dividida em duas partes: os
seus atributos e os seus mtodos. Os atributos so variveis que estaro dentro de
cada um dos objetos desta classe, e podem ser de qualquer tipo. Por exemplo, a
classe Cachorro poder ter o atributo nome que ser do tipo String. Assim,
cada Objetodesta classe ter uma varivel prpria chamada nome, que poder ter
um valor qualquer (Rex, Frodo, Atila, ...).
Mtodos sero as aes que a Classe poder realizar. Quando um
objeto desta classe receber uma mensagem de algum outro objeto contendo o nome
de um mtodo, a ao correspondente a este mtodo ser executada. Por exemplo,
caso um objeto da classe Dono envie uma mensagem para um objeto do tipo
Cachorro
falando "sente",
cachorro
ir
interpretar
esta
mensagem
20
Nome
Data de Nascimento
Profisso
Mas um cliente mais do que simples dados. Ele pode realizar
AlugarFilme
DevolverFilme
ReservarFilme
Note o tempo verbal empregado ao descrever os mtodos. Fica fcil
Atributos so dados.
21
uma
especializao
(ou subclasse)
da
Nome
Idade
Em seguida, criamos 2 classes que so filhas da classe Pessoa,
22
Nome
Idade
RG
E todos os objetos da classe PessoaJuridica tero os seguintes
atributos:
Nome
Idade
CNPJ
Os mtodos so anlogos: poderamos criar alguns mtodos na
forma,
um
objeto
da
23
Herana nos j definimos previamente, mas o que uma classe abstrata? E o que
esse tal de casting?
Uma classe abstrata uma classe que representa uma coleo de
caractersticas presentes em vrios tipos de objetos, mas que no existe e no pode
existir
isoladamente.
Por
exemplo,
podemos
criar
uma
classe
abstrata
24
Figura 12
Essa
uma
representao
na
notao
UML
(Unified Modeling Language) que nos informa que existe a definio de trs classes
em nosso sistema: existe a classe abstrata Animal (note que ela est em itlico, isso
significa na notao UML que trata-se de uma classe abstrata) e existem tambm
outras duas classes chamadas Cachorro e Gato, que so filhas da classe Animal.
Ou seja, todo objeto das classes Cachorro e Gato vo ter todas as caractersticas
(atributos e mtodos) presentes na classe Animal, e mais algumas caractersticas
prprias.
Imagine que vamos criar um sistema de cadastro de animais. Vamos, por questes
didticas, supor que todos os animais de nosso sistema fiquem armazenados em
um array. Ento existiria um array contendo objetos dos tipos Gato e do tipo
Cachorro.
Mas
armazenar
diversos
tipos
diferentes
de
objetos
em
um
nicoarray no uma boa idia, pois depois, para extrair essas informaes de volta
bastante complicado. Mas pare e pense por um instante: objetos do tipo Cachorro
e objetos do tipo Gato so tambm objetos do tipo Animal, correto? Bom, ento
podemos criar um array capaz de armazenar Animais! Assim nossa vida fica bem
mais fcil, bastando atribuir ao array os objetos (do tipo Cachorro e Gato - que
estendem a classe Animal) que queremos guardar. Em forma algortmica, seria mais
ou menos:
Animal[] listaDeAnimais = new Animal[100]; // Criamos um array com 100 posies
que armazena objetos do tipo Animal.
listaDeAnimais[0] = new Cachorro("Frodo"); // Criamos um novo objeto do tipo
Cachorro com o nome Frodo e armazenamos no array
25
Classe Animal {
mtodo fale() {
imprimaNaTela(" Eu sou mudo! ");
}
}
Desta forma, todo objeto que de alguma classe que estenda a classe
Animal vai ter automaticamente o mtodo "fale", e isso inclui todos os objetos das
classes
Cachorro
Gato.
Mas
todos
eles,
atualmente,
ao
receber
26
Classe Gato {
Mtodo fale() {
imprimaNaTela(" Miaaaaaauuuuuu! ");
}
}
Para a classe Cachorro, poderamos fazer de forma semelhante:
Classe Cachorro {
Mtodo fale() {
imprimaNaTela(" Au au au! ");
}
}
Agora, se fizermos um looping entre todos os objetos contidos em
nosso array criado anteriormente enviando para cada objeto a mensagem "fale",
cada um deles ir ter um comportamento diferente, dependendo se um Cachorro
ou um Gato. Nosso looping entre todos os animais cadastrado no nosso sistema
seria mais ou menos assim:
int cont;
para cont de 0 a 100 faa {
listaDeAnimais[cont].fale();
}
Isto polimorfismo! Uma mesma mensagem enviada para
diferentes objetos da mesma classe (Animal) e o resultado pode ser diferente, para
cada caso. :-)
27
Vantagens da POO
28
outra
pgina
deve
ser
apresentada).
Ser
uma linguagem
de
29
principal (delimitada
pelas
etiquetas
<HTML>
</HTML>),
PHP/FI 2.0: Esta verso passou muito tempo como Beta, com vrios bugs
para serem resolvidos. Foi lanado em 1997.
e foram
30
Zend Engine, esta Engine foi utilizada como base de criao do PHP 4, que
foi lanado em maio de 2000. Esta verso do PHP foi criada com alguns
mtodos que permitiram a interao entre a linguagem e outros componentes
da WEB, como Sesses HTTP e Buffers de sada. Esta verso popularizou
ainda mais o PHP, pois permitiu interao com outras funes.
PHP 5: Lanado em 2004, o PHP 5 foi projetado com base na Zend Engine
2.0, e trouxe vrias inovaes. A orientao de Objetos desta verso do PHP
foi totalmente reescrita, para atender s novas necessidades.
O PHP tem cdigo fonte disponvel para qualquer pessoa, sem
CSS
Cascading Style Sheets (CSS) uma "folha de estilo" composta por
camadas e utilizada para definir a apresentao (aparncia) em pginas da internet
que adotam para o seu desenvolvimento linguagens de marcao (como XML,
HTML e XHTML). O CSS define como sero exibidos os elementos contidos no
cdigo de uma pgina da internet e sua maior vantagem efetuar a separao entre
o formato e o contedo de um documento.
Com a evoluo dos recursos de programao as pginas da
internet estavam adotando cada vez mais estilos e variaes para deix-las mais
elegantes e atrativas para os usurios. Com isto, linguagens de marcao simples
como o HTML, que era destinada para apresentar os contedos tambm precisou
ser aprimorada.
31
Foram criadas novas tags e atributos de estilo para o HTML e em resumo ele passou
a exercer tanto a funo de estruturar o contedo quanto de apresent-lo para o
usurio
final.
Entretanto,
isto
comeou
trazer
um
problema
para
os
desenvolvedores, pois no havia uma forma de definir, por exemplo, um padro para
todos os cabealhos ou contedos em diversas pginas. Ou seja, as alteraes
teriam que ser feitas manualmente, uma a uma.
A partir destas complicaes, nasceu o CSS. Primariamente, foi
desenvolvido para habilitar a separao do contedo e formato de um documento
(na linguagem de formatao utilizada) de sua apresentao, incluindo elementos
como cores, formatos de fontes e layout. Esta separao proporcionou uma maior
flexibilidade e controle na especificao de como as caractersticas sero exibidas,
permitiu um compartilhamento de formato e reduziu a repetio no contedo
estrutural de uma pgina.
Com isto, as linguagens de marcao passaram novamente a
exercer sua funo de marcar e estruturar o contedo de uma pgina enquanto o
CSS encarregou-se da aplicao dos estilos necessrios para a aparncia dela. Isto
feito por meio da criao de um arquivo externo que contm todas as regras
aplicadas e, com isto, possvel fazer alteraes de estilo em todas as pginas de
um site de forma fcil e rpida.
O CSS tambm permite que as mesmas marcaes de uma pgina
sejam apresentadas em diferentes estilos, conforme os mtodos de renderizao
(como em uma tela, impresso, via voz, baseadas em dispositivos tteis, etc.). A
maioria dos menus em cascata, estilos de cabealho e rodap de pginas da
internet, por exemplo, atualmente so desenvolvidos em CSS.
Adobe Flash
Originalmente desenvolvido pela Macromedia e hoje pertencente Adobe, o Flash
uma plataforma multimdia de desenvolvimento de aplicaes que contenham
animaes, udio e vdeo, bastante utilizada na construo de anncios publicitrios
e pginas web interativas.
32
JavaScript
uma linguagem interpretada, que pode ser usada junto com o
HTML e permite inserir vios efeitos, permitindo que o site (ou uma mensagem de
correio eletrnico) fique mais dinmico, e uma maior interao com o leitor.
O cdigo JavaScript, no compilado, e deve ser colocado,
no cdigo fonte, junto com os comandos da linguagem HTML. Quando se acessa
um "site" alguns exemplos de scripts so: aparecimento da data / horrio atual,
saudaes como "bom dia", "boa tarde" ou "boa noite", efeitos onde uma imagem
muda quando se passa o mouse sobre ela.
33
34
5 - CONCLUSO
Chegando ao fim do trabalho, aps muita pesquisa e empenho espero ter
tido xito na fidelidade com que tentei expor os resultados dentre os tpicos
elaborados, analisando todo o vasto contedo exposto, pode-se dizer que foi muito
proveitoso e enriquecedor fazer esta anlise sobre os temas e contedos estudados.
Por fim o presente trabalho foi de absoluta e necessria experincia nesta
nova etapa do curso, garantindo ainda mais conhecimento e perspectivas
necessrias ao um futuro analista e desenvolvedor de sistemas.
35
6 REFERNCIAS
Ambiente On-Line Colaborar
Livros do Semestre
Web-Aulas das Disciplinas
http://www.profissionaisti.com.br/2011/07/os-principais-diagramas-da-uml-resumorapido/
http://hleranetworks.com.br/tecnologias-utilizadas.htm
http://www.hardware.com.br/artigos/programacao-orientada-objetos/
http://www.luis.blog.br/normalizacao-de-dados-e-as-formas-normais.aspx