Livro 05 Análise e Projeto Orientado a Objetos HTML5

Documentos relacionados
Princípios de Análise e Projeto Orientados a Objetos com UML

Livro 10 Gerenciamento de Projetos com PMI SOA

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Livro 09 Verificação, Validação e Teste de Software Ajax

Livro 08 Governança de TI, ITIL, COBIT JavaScript

Livro 07 Qualidade de Software, Métricas e Swebok XML

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Análise de Sistemas. Visão Geral - Orientação a Objetos. Prof. José Honorato Ferreira Nunes

Pré-requisitos: Conhecimentos de informática gerencial e lógica de programação.

Programação Orientada a Objetos

Análise de Sistemas 3º Bimestre (material 2)

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

Levantamento, Análise e Gestão Requisitos. Aula 03

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Requisitos de sistemas

Gosta de acompanhar os rumos das linguagens de programação? Então não fique de fora dessa! Descubra o que é o HTML 5!

UML (Unified Modelling Language)

Prof. Esp. Fabiano Taguchi

Linguagem de Programação Visual. Estrutura Basica do HTML5 Prof. Gleison Batista de Sousa

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

UML. Modelando um sistema

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

ANÁLISE E PROJETO DE SISTEMAS

Como Modelar com UML 2

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

INF1013 MODELAGEM DE SOFTWARE

Orientação à Objetos. Aécio Costa

Laboratório de programação II

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)

Tecnologias de Desenvolvimento de Páginas web

AULA 01: APRESENTAÇÃO

Web I F R N I N S T I T U TO F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O LO G I A D O R I O G R A N D E D O N R T E.

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior

Conceitos de Programação Orientada a Objetos

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Aula 11 Introdução ao Java Script

Capítulo 2. Orientação a Objetos

UML. Rodrigo Leite Durães.

Processos de software

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

Introdução a UML (Unified Modeling Language)

HTML 5, UM ESTUDO SOBRE SEUS NOVOS RECURSOS

Nesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP

Introdução à Análise e Projeto de Sistemas

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Análise e projeto de sistemas

Lista de Exercícios AV1

Projeto de Desenvolvimento de Software

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Engenharia de Software. Projeto de Arquitetura

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Prof. Dr. Thiago Jabur Bittar

Engenharia de Software

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Linguagem de Programação I Apresentação da Disciplina

Rational Unified Process (RUP)

Aula 01 Conceito de Banco de Dados e SGBD

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

APLICATIVO PARA GERENCIAMENTO DA ENFERMAGEM HOSPITALAR

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Padrão para Especificação de Requisitos de Produto de Multimídia

CSS Organizado e simples. Cercomp Equipe Web Nícolas Lazarte -

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

Sistemas de Banco de Dados

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha.

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

CONCEITOS BÁSICOS E MODELO DE PROJETO

Engenharia de Software

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Orientação a objetos. Objetos ou Instâncias I

Aula 1.7 Introdução a APOO e UML

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

Programação Orientada a Objetos

Complexidade do Software

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Informática. Professor: Diego Oliveira. Conteúdo 04: Orientação a Objetos

Engenharia de Software

Transcrição:

1

Sumário Parte I Análise e Projeto Orientado a Objetos Modelagem de Sistemas Introdução. Orientação a Objetos Paradigma. Conceitos Classe, Abstração, Objeto, Mensagem. Princípios Encapsulamento, Polimorfismo, Generalização [Herança], Agregação [Composição]. Modelagem de Sistemas UML História, Fases de Desenvolvimento, Notação, Visões, Modelos de Elementos, Mecanismos Gerais, Diagramas. Parte II HTML5 HTML5 Introdução. História. Camadas de Desenvolvimento. Testando o Código w3schools. Visão Geral Doctype, Elementos para o Conteúdo, Categorias, Formulários, Armazenamento Local. Próximos Passos para o Aprendizado. 2

Diga não à pirataria O leitor que adquiriu o e-book legalmente no site AlbertEije.COM poderá imprimir o conteúdo para seu uso pessoal. A cópia do conteúdo do livro sem autorização configura crime. Além de contribuir para a criminalidade, a cópia ilegal desestimula o autor de realizar novos trabalhos. Todos saem perdendo com a pirataria. 3

Autor Apresentação Albert Eije é bacharel em Sistemas de Informação e especialista em Engenharia de Software. Possui larga experiência no desenvolvimento dos mais diversos tipos de sistemas. O autor iniciou sua investida no universo da informática nos idos de 1990. Na época seu interesse era por computação gráfica: CorelDRAW, PageMaker, Photoshop, etc. Com o tempo conheceu o mundo da programação, primeiro através do Clipper, seguido do Delphi e várias outras linguagens e ferramentas. Desenvolver sistemas passou a ser o seu negócio. No início focou em pequenas e médias empresas: condomínios, livrarias, construtoras, etc. Um desenvolvedor que trabalha por conta própria costuma ser o faz-tudo da empresa por um bom tempo: analista, programador, vendedor, suporte, etc. Como funcionário do Banco do Brasil, trabalhou nas Diretorias de Governo e Tecnologia. Teve contato com sistemas de grande porte e participou do desenvolvimento de vários módulos do sistema do Banco do Brasil, o maior banco da América Latina. Atualmente faz parte da Equipe T2Ti, que já formou milhares de profissionais para o mercado de desenvolvimento de software, criando treinamentos personalizados e exclusivos não encontrados em outras empresas de treinamento. Escreveu dois livros que foram publicados pela Editora Ciência Moderna e outros 20 e-books que estão disponíveis no seu site: AlbertEije.COM. Contate o autor através do site AlbertEije.COM. 4

PARTE I Análise e Projeto Orientado a Objetos 5

Modelagem de Sistemas Introdução Em consequência do crescimento da importância da informação, surgiu a necessidade de gerenciar informações de uma forma adequada e eficiente e, desta necessidade, surgiram os Sistemas de Informações. Um Sistema de Informação (SI) é uma combinação de pessoas, dados, processos, interfaces, redes de comunicação e tecnologia que interagem com o objetivo de dar suporte e melhorar o processo de negócio de uma organização com relação às informações. Para gerenciar a complexidade são criados modelos. No caso de um projeto de construção de uma casa ou de um edifício são criadas maquetes e/ou plantas da parte hidráulica e elétrica. Esses são exemplos de modelos. Isso também ocorre com o desenvolvimento de sistemas. O Principal objetivo da construção de um SI é a adição de valor à organização. O SI compreende os módulos funcionais computadorizados que interagem entre si para proporcionar a automatização de diversas tarefas. Uma característica intrínseca do desenvolvimento de sistemas de software é a complexidade. 6

Modelagem de Sistemas Introdução Alguns veem a construção de modelos como uma atividade que atrasa o desenvolvimento do software propriamente dito. Mas essa atividade propicia: O gerenciamento da complexidade inerente ao desenvolvimento do software. A comunicação entre as pessoas envolvidas. A redução dos custos no desenvolvimento. A predição do comportamento futuro do sistema. Quando tratamos da modelagem do software lidamos com digramas e documentação. No contexto de desenvolvimento de software, os diagramas correspondem a desenhos gráficos que seguem algum padrão lógico. Podemos também dizer que um diagrama é uma apresentação de uma coleção de elementos gráficos que possuem um significado predefinido. Diagramas normalmente são construídos de acordo com regras de notação bem definidas. Ou seja, cada forma gráfica utilizada em um diagrama de modelagem tem um significado específico. Diagramas permitem a construção de uma representação concisa de um sistema a ser construído. A modelagem não pode ser composta apenas por diagramas. É preciso que haja informações textuais. Assim sendo, a união dos diagramas com as informações textuais de um sistema formam a a documentação do modelo do sistema. A modelagem de sistemas de software consiste na utilização de notações gráficas e textuais com o objetivo de construir modelos que representam as partes essenciais de um sistema, considerando-se diversas perspectivas diferentes e complementares. 7

Orientação a Objetos Paradigma Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual esse sistema é entendido e construído. Alan Kay, um dos pais desse paradigma, formulou a chamada analogia biológica. Como seria um sistema de software que funcionasse como um ser vivo? A primeira abordagem usada para modelagem de sistemas de software foi o paradigma estruturado, que tinha as seguintes características: Uso da técnica de decomposição funcional. Divisão sucessiva de um problema complexo em subproblemas. No final dos anos 60 surgiu o paradigma da Orientação a Objetos. Levou um tempo até que esse paradigma suplantasse o estruturado, mas isso ocorreu e hoje é comum que os sistemas sejam construídos com o paradigma OO. 8

Orientação a Objetos Paradigma Cada célula interagiria com outras células através do envio de mensagens para realizar um objetivo comum. Adicionalmente, cada célula se comportaria como uma unidade autônoma. De uma forma mais geral, Kay pensou em como construir um sistema de software a partir de agentes autônomos que interagem entre si. 9

Orientação a Objetos Paradigma Através de sua analogia biológica, Alan Kay definiu os fundamentos da orientação a objetos. 1. Qualquer coisa é um objeto. 2. Objetos realizam tarefas através da requisição de serviços a outros objetos. 3. Cada objeto pertence a uma determinada classe. Uma classe agrupa objetos similares. 4. A classe é um repositório para comportamento associado ao objeto. 5. Classes são organizadas em hierarquias. 10

Orientação a Objetos Paradigma O paradigma da orientação a objetos visualiza um sistema de software como uma coleção de agentes interconectados chamados objetos. Cada objeto é responsável por realizar tarefas específicas. É através da interação entre objetos que uma tarefa computacional é realizada. Um sistema de software orientado a objetos consiste de objetos em colaboração com o objetivo de realizar as funcionalidades deste sistema. Cada objeto é responsável por tarefas específicas. É através da cooperação entre objetos que a computação do sistema se desenvolve. A Orientação a Objetos contém conceitos e princípios: Conceitos: Classe Objeto Mensagem Princípios: Encapsulamento Polimorfismo Generalização (Herança) Composição O bom entendimento desses conceitos e princípios fará com que o leitor compreenda o paradigma da orientação a objetos e domine a técnica de desenvolver sistemas dessa maneira. 11

Orientação a Objetos Conceitos Classe O mundo real é formado de coisas. Na terminologia de orientação a objetos, estas coisas do mundo real são denominadas objetos. Seres humanos costumam agrupar os objetos para entendê-los. A descrição de um grupo de objetos é denominada classe de objetos, ou simplesmente de classe. Objetos de estrutura e comportamento idênticos são descritos como pertencendo a uma classe, de tal forma que a descrição de suas propriedades pode ser feita de uma só vez, de forma concisa, independente do número de objetos idênticos. Uma classe é um molde para objetos. Diz-se que um objeto é uma instância de uma classe. Uma classe é uma abstração das características relevantes de um grupo de coisas do mundo real. Uma classe provê toda a informação necessária para construir e utilizar objetos de um tipo particular, ou seja, descreve a forma da memória privada e como se realizam as operações das suas instâncias. Os métodos residem nas classes, uma vez que todas as instâncias de uma classe possuem o mesmo conjunto de métodos. 12

Orientação a Objetos Conceitos Abstração Uma abstração é qualquer modelo que inclui os aspectos relevantes de alguma coisa, ao mesmo tempo em que ignora os menos importantes. Em termos de sistemas, o desenvolvedor abstrai um objeto quando ele sabe como ele se comporta, mas não precisa conhecer exatamente como funciona cada aspecto do comportamento do objeto. Se a classe FUNCIONARIO sabe como receber o salário e para isso espera apenas um valor, basta passar para o objeto dessa classe o valor do salário e deixar que ele realize o procedimento, sem precisar saber como ele faz isso. 13

Orientação a Objetos Conceitos Objeto O objeto é a instância de uma classe. Um objeto é composto por: Propriedades ou Atributos: são as informações, estruturas de dados que representam o estado interno do objeto. Em geral, não são acessíveis aos demais objetos. Comportamento: conjunto de operações, chamados de métodos, que agem sobre as propriedades. Identidade: é uma propriedade que diferencia um objeto de outro. É o seu nome. 14

Orientação a Objetos Conceitos Objeto Dessa forma, percebe-se que um objeto possui uma identidade, que é o seu nome e, além disso, é formado por métodos (comportamento) e atributos (propriedades). É fácil identificar os objetos no mundo real. Por exemplo, numa empresa podemos encontrar o objeto FUNCIONÁRIO ou COLABORADOR. Quais seriam o estado (atributos, propriedades, variáveis) e comportamento (métodos) desse objeto? Vejamos. 15

PARTE II HTML 5 16

HTML 5 Introdução HTML5 (Hypertext Markup Language, versão 5) é uma linguagem para estruturação e apresentação de conteúdo para a World Wide Web e é uma tecnologia chave da Internet originalmente proposto pela Opera Software. É a quinta versão da linguagem HTML. Esta nova versão traz consigo importantes mudanças quanto ao papel do HTML no mundo da Web, através de novas funcionalidades como semântica e acessibilidade. Página do W3C Possibilita o uso de novos recursos antes possíveis apenas com a aplicação de outras tecnologias. Sua essência tem sido melhorar a linguagem com o suporte para as mais recentes mídias, enquanto a mantém facilmente legível por seres humanos e consistentemente compreendida por computadores e outros dispositivos. O HTML5 será o novo padrão para HTML, XHTML, e HTML DOM. Atualmente, está em fase de esboço, porém diversos navegadores já implementam algumas de suas funcionalidades. 17

HTML 5 História O Web Hypertext Application Technology Working Group (WHATWG) iniciou o trabalho do novo padrão HTML em 2004, quando o World Wide Web Consortium (W3C) estava se concentrando no futuro desenvolvimento do XHTML 2.0, e o HTML 4.01 não tinha sido atualizado desde 2001. Em 2009, o W3C decidiu que o Grupo de Trabalho do XHTML 2.0 deveria parar seus trabalhos, e assim, descontinuar o padrão. Desta forma o W3C e o WHATWG passaram a trabalhar juntos no desenvolvimento do HTML5. Em abril de 2010 Steve Jobs emitiu uma carta pública intitulada Reflexões sobre o Adobe Flash, onde ele conclui o Adobe Flash não seria mais necessário para assistir vídeos ou mesmo exibir qualquer conteúdo web. No início de novembro de 2011 a Adobe anunciou que iria interromper o desenvolvimento de Flash para dispositivos móveis e redirecionar seus esforços para o desenvolvimento de ferramentas utilizando HTML5. 18

HTML 5 História No início de 2008 o W3C consórcio de empresas de tecnologia que coordena os padrões da internet quanto à linguagem anunciou a primeira especificação do HTML5. Foram feitas grandes alterações, que incluem: Novas API s, entre elas uma para desenvolvimento de gráficos bidimensionais. Controle embutido de conteúdo multimídia. Aprimoramento do uso offline. Melhoria na depuração de erros. Após dez anos sem atualizações, a forma como se escreve páginas na internet passa por uma boa transformação. O HTML5 oferece uma experiência web totalmente diferente para usuários e embora exista um longo caminho para ser finalizado, muitos navegadores importantes já implementaram grandes partes da linguagem, incluindo tags de vídeo e suporte à tecnologia Canvas. Com a evolução da linguagem, os navegadores passam da categoria mostradores de páginas para um renderizador de web software. 19

HTML 5 Camadas de Desenvolvimento O desenvolvimento no lado do cliente é baseado em 3 camadas principais: informação, formatação e comportamento. Embora sejam independentes, a evolução de cada camada influencia o caminho da outra. O CSS não consegue evoluir se o HTML manterse congelado no tempo. A camada de informação é a mais importante. Ela vem antes de todas as outras e fica sob o controle do HTML. O HTML marca a informação dando-lhe significado. A informação precisa ser acessível a qualquer hora, de qualquer lugar e principalmente, por qualquer dispositivo e meio de acesso. Informação é tudo o que o usuário consome. Desde o início, quando a internet foi planejada e criada, seu objetivo era claro: compartilhar informação com pessoas do mundo inteiro, de forma rápida e dinâmica. A informação deve ser entregue, não importa se o visual tenha sido prejudicado por falta do CSS ou se o Javascript está desligado no navegador do usuário. 20