Visão Geral TI
Cronograma

3o. Dia
 ● Desenvolvimento / Programação
     ○ Diferença: Linguagem estruturada, OO
     ○ Exemplos
     ○ MVC
     ○ Frameworks
     ○ Java
     ○ Palavras Chaves
 ● Banco de Dados
     ○ Exemplos (SQL)
     ○ Como usar e qual a vantagem
     ○ Banco de Dados relacional e não relacional
     ○ Linguagens de banco de dados (PL SQL / Forms)
Desenvolvimento / Programação

● Como se desenvolve?

● Binário?
Desenvolvimento / Programação


    Como trocar um pneu furado?
Desenvolvimento / Programação
Desenvolvimento / Programação
Desenvolvimento / Programação

● Baixo Nível
   ○ Assembly
● Não estruturada
   ○ Cobol, Basic
● Estruturada
   ○ C, Pascal
● Visual
   ○ Visual Basic, Delphi
● OO (Orientado a Objeto)
   ○ Java, PHP, C++, C# (concorrente do Java), Python,
     Ruby
Desenvolvimento / Programação

● Desktop:
○ Java
■ (ex: Swing)
○ C#
○ C++
○ C, etc....
● Web
○ Java
○ C#
○ ASP.NET
○ PHP
○ ASP, etc...
Desenvolvimento / Programação




              E HTML?
Desenvolvimento / Programação

  - Parte Visual
● HTML (Linguagem
  de marcação);
● Imagens;
● Flash



  - Lógica
● Linguagem de Programação
● ASP, Java, PHP, etc
Desenvolvimento / Programação

● Lógica / Desenvolvimento
Desenvolvimento / Programação

- Então é só saber uma linguagem de programação. Por
ex: JAVA?

                           Não!

 ● Conceitos. Ex: MVC

 ● Frameworks. Ex: Struts, EJB, Hibernate
Desenvolvimento / Programação

- MVC
  ● Conceito genérico, independente da linguagem
  ● Model, View, Controller
  ● Divide a Lógica de Negócio da lógica de exibição de dados
Desenvolvimento / Programação

MVC
Desenvolvimento / Programação

MVC
Desenvolvimento / Programação
Desenvolvimento / Programação

Framework

"Framework é um conjunto de classes que colaboram para
realizar uma responsabilidade para um domínio de um
subsistema da aplicação."
                                            Fayad e Schmidt

Framework conceitual é um conjunto de conceitos usado para
resolver um problema de um domínio específico
Desenvolvimento / Programação

  Framework:
● Exemplos Java
○ Struts
○ Struts 2
○ JSF (Java Server Faces)
○ Spring
○ EJB
○ EJB3
○ Hibernate
● Exemplo Javascipt:
○ JQuery
● Exemplo PHP
○ CakePHP
Desenvolvimento / Programação

Framework

 ● Combinação de Frameworks

 ● Projetos usam frameworks

 ● Struts é legado

 ● Já existe Struts 2, e outros frameworks melhores

 ● Java / Struts similar a Cobol
Desenvolvimento / Programação

Framework WEB

 ● Django (Python)

 ● Ruby on Rails
Desenvolvimento / Programação

● Framework Teste

○ JUnit

○ Log4J
Desenvolvimento / Programação

  JAVA
● JSE (Java Standard Edition)

● JEE (Java Enterprise Edition)
○ JDBC
○ JSP
○ Servlets

● JME (Java Mobile Edition)
Desenvolvimento / Programação

JAVA
 ● Exemplo de uso de framework e ex. vantagem MVC
Desenvolvimento / Programação

MVC
Desenvolvimento / Programação
Desenvolvimento / Programação

JAVA
 ● Certificados
Desenvolvimento / Programação

.NET
  ● Compreende em:

    ○ C#

    ○ C++

    ○ Visual Basic .NET ou VB.NET

    ○ ASP.NET
Desenvolvimento / Programação

JAVA x .NET

 ● Independente de plataforma x Windows

 ● Portabilidade

 ● Ferramentas de desenvolvimento, etc
Desenvolvimento / Programação

● Arquiteto de Software
   ○ Escolher um padrão de como desenvolver aplicações;

   ○ Definir/criar um framework para ser utilizado na
     aplicação;

   ○ Pensar na: Manutenibilidade, Reusabilidade,
     Escalabilidade, Portabilidade etc

   ○ Visão abrangente do sistema

   ○ Mão na massa
Desenvolvimento / Programação

● POG
   ○ Programação Orientada a Gambiarra
Banco de Dados

● Banco de Dados
Banco de Dados

● Banco de Dados
   ○ Armazenamento de Dados
   ○ SQL - Structured Query Language (Linguagem de
     Consulta Estruturada)
   ○ Padrão
   ○ Insere, Exclui, Atualiza, Consulta
   ○ Tabelas
Banco de Dados

● Banco de Dados

   ○ Exemplo

   ○ 4 Comandos Básicos SQL:
       ■ SELECT
       ■ UPDATE
       ■ DELETE
       ■ INSERT
Banco de Dados

● Banco de Dados
Banco de Dados

● Banco de Dados
   ○ DBA - Admistrador de Banco de Dados
      ■ parte física,
      ■ backup,
      ■ segurança,
      ■ espaço em disco, etc.

   ○ DA / AD - Admistrador de Dados
      ■ dados em si,
      ■ documentação,
      ■ integridade dos dados,
      ■ estrutura lógica etc
Banco de Dados

● Banco de Dados

   ○ Não relacional - NoSQL
Banco de Dados

● Banco de Dados (ex: Oracle)
   ○ Também tem sua interface
      ■ Oracle Forms
   ○ Também tem sua linguagem de programação:
      ■ PL/SQL
Desenvolvimento / Programação


● Exemplo CV:

  ○ http://www.webgoal.com.br/trabalhe-
    aqui/desenvolvedor/

  ○ http://blog.locaweb.com.br/recursos-humanos/vagas-
    para-desenvolvedores-dotnet-ruby-java-python/

  ○ http://www.gonow.com.br/trabalhe-conosco

Visao geral TI03 2-0