Sunteți pe pagina 1din 39

Desenvolvimento de Software

Prof. Henrique Mota


mota.henrique@gmail.com http://www.henriquemota.com.br

Ementa
preparao de formulrios usando a ferramenta visual interpretao e classicao de informaes e das caracters9cas principais dos sistemas sequncia do desenvolvimento instalao e congurao de um sistema desenvolvimento de pr9cas de acesso a banco de dados interfaces grcas dos sistemas

Obje9vos gerais
solucionar problemas computacionais u9lizando linguagem de programao interpretar e construir cdigos de linguagem de programao estruturada diferenciar e construir adequadamente mtodos (funes e procedimentos) parametrizadas

Obje9vos especcos
construir sistemas u9lizando ferramenta de programao em ambiente visual construir mdulos (classes) parametrizados para execuo de instrues SQL iden9car banco de dados apropriado para o desenvolvimento da aplicao examinar e interpretar estruturas de banco de dados aplicar lgica no desenvolvimento do soIware.

Base Tecnolgica
conceitos de programas, paradigmas conceitos de objetos, propriedades eventos e mtodos aplicaes Console x Forms estrutura da linguagem C# 9pos e escopo de variveis estruturas de seleo/deciso IF e SWITCH estruturas de lao/repe9o FOR, FOREACH, WHILE e DO principais classes e suas propriedades estruturas de mensagens (Messagebox)

Base Tecnolgica
validao de campos ambiente de design e programao estrutura dos arquivos, depurador, executveis programas com variveis programas com estrutura de repe9o menus telas de cadastro e telas de consulta classes (conceito e criao) mtodos com e sem parmetros

Base Tecnolgica
conexo com base de dados, string de conexo; principais Objetos do ADO.NET OLEDB: idbConnec9on, idbCommand, idbDataReader ADO: DataTable, DataRow, DataColumn ro9nas de Insert, Update, Delete, Select

Avaliao
Avaliaes: AV1 + (AV2 + Proj.) + AV3 AV1: Contedo parcial AV2 e AV3: Todo contedo ministrado

O projeto deve ser desenvolvido durante a disciplina, nas aulas de laboratrio

Bibliograa
ROBINSON, Simon, Professional C#, 4 ed., Wrox C# Use a Cabea DAMAS, L., SQL: STRUCTURED QUERY LANGUAGE, 6. ed., Rio de Janeiro: LTC, 2007. SEBESTA, Robert. Conceitos de Linguagens de Programao. 4. ed. Porto Alegre: Bookman, 2000. VILLAS, Marcos Vianna. Programao: conceitos, tcnicas e linguagens. Rio de Janeiro:Campus, 1997. 195p

INTRODUO

O que um programa?

Linguagem de Programao x Linguagem de Mquina

Explicando...
computadores entendem apenas linguagem de mquina linguagem de mquina so muito complexas linguagem de programao so mais prximas das linguagens naturais compiladores fazem o processo de traduo para a linguagem de mquina programas em linguagem de programao so conhecidos como cdigo fonte programas em linguagem de mquina so conhecidos como cdigo executvel ou simplesmente executvel

A PLATAFORMA .NET

Linguagem ou framework?
plataforma de desenvolvimento com foco em servio - Web Service Web Service permite que as aplicaes se comuniquem e troquem dados de forma simples e transparente, independente de SO ou linguagem MicrosoI .NET conjunto de linguagens, compiladores, modelos de objetos (bibliotecas de classes) para desenvolver e executar programas

VB

C++

C#

JScript

Visual Studio.NET

Common Language Specification ASP.NET: Web Services and Web Forms Windows Windows Forms Forms

ADO.NET: Data and XML Base Class Library Common Language Runtime

Termos da Plataforma
CLR: Common Language Run9me FRAMEWORK: modelo para construir, instalar e rodar qualquer aplicao, desktop ou Internet IDE: ambiente de desenvolvimento integrado MSIL: MicrosoI Intermediate Language JIT: Just In Time Debugger

Cdigo Fonte Cdigo Gerencivel

VB Compiler Assembly IL Code

C# Compiler Assembly IL Code

C++ Compiler Assembly IL Code

Common Language Runtime


JIT Compiler
Native Code

Operating System Services

CONCEITUANDO

Paradigma: De acordo com o dicionrio Michaelis um Modelo, padro, prot9po.


Conjunto de unidades suscetveis de aparecerem num mesmo contexto, sendo, portanto, comutveis e mutuamente exclusivas. No paradigma, as unidades tm, pelo menos, um trao em comum (a forma, o valor ou ambos) que as relaciona, formando conjuntos abertos ou fechados, segundo a natureza das unidades.

Paradigma
conjunto de regras que estabelecem fronteiras e descrevem como resolver problemas dentro desta fronteira um modelo, padro ou es9lo de programao suportado pelas linguagens de programao que agrupam certas caracters9cas comuns ajuda-nos a organizar e a coordenar a maneira como olhamos o mundo possvel fornecer e determinar como o programador ir ver a estruturao e execuo de um programa

Paradigma de programao

Orientado a Aspectos

OO - Histria
Alan Kay - na dcada de 60 (incio) maior u9lizao na dcada de 90 Simula 67, primeira linguagem a u9lizar algumas das ideias de Kay 1970 criam o Smalltalk linguagem dita puramente OO termo an9go, uso recente

Mo9vos que inuenciaram


avano das arquiteturas de hardware (permitem melhor suporte a sos9cados ambientes de programao e interfaces homem-mquina) avanos nos paradigmas e nas linguagens de programao, como modularizao, ocultamento de informaes, etc crise do soIware (como o soIware era desenvolvido, manuteno e demanda)

Vantagens da OO
reu9lizao do cdigo modelos ilustram com maiores detalhes o mundo real pequenas mudanas de requisitos no acarretam em grandes alteraes no desenvolvimento h um aumento na produ9vidade das empresas concentrar as responsabilidades nos pontos certos, encapsulando a lgica

Desvantagens da OO
Para desenvolvedores acostumados com linguagens estruturadas h uma certa diculdade no aprendizado Exige formas de pensar rela9vamente complexas

O que OO?
Paradigma para o desenvolvimento de soIware que baseia-se na u9lizao de componentes individuais, chamados objetos, apresentando comportamentos especcos.

O que OO?
Baseia-se nos seguintes conceitos
Classes; Objetos; Herana; Polimorsmo; Encapsulamento.

Verdades sobre OO
A OO no garante sistemas com interfaces amigveis, ou seja, o paradigma no est necessariamente ligada a interface grca A OO no elimina a necessidade de implementar os sistemas e nem est relacionada APENAS a fase de implementao A OO no garante a reu9lizao, ela oferece mecanismos para que isso ocorra, mas sempre ser funo do desenvolvedor garan9r isso

Desenvolvimento OO
Anlise Orientada a Objetos (AOO): Modelagem, avaliao e documentao dos requisitos Projeto Orientado a Objetos: Denio da plataforma de implementao Renamentos at chegar a parte da implementao Programao Orientada a Objetos: Traduo de um projeto para uma linguagem de programao

Prog. OO x Estruturada
Programao Estruturada: foco em mtodos; Composto por sequncias, decises e iteraes; Na linguagem C, a unidade de programao a funo. Programao Orientada objetos: foco em classes (atributos e mtodos) e comunicao entre classes; No C#, a unidade de programao a classe.

Prog. Estruturada

Prog. OO
Pessoa +Nome: string +Idade: int +CorOlhos: string +Altura: oat +Comer() void +Beber() void +Andar() void

Carro +Marca: string +Tipo: string +Potencia: int +Acelerar() void +Freiar() void +Ligar() void +Desligar() void

Classes e Objetos
O termo orientao a objetos signica organizar o mundo real como uma coleo de objetos que incorporam estrutura de dados e um conjunto de operaes que manipulam estes dados.

Classe
em OO um 9po abstrato de dados; usado para representar objetos do mundo real. Exemplo da classe: Humanos, Animais.

Objeto
instncia de uma classe; armazena estados atravs de seus atributos e reage a mensagens enviadas a ele; envia mensagens a outros objetos. Exemplo de objetos da classe Humanos: Joo, Jos, Maria.

Atributos
caracters9cas de um objeto; estrutura de dados que vai representar a classe; o conjunto de valores dos atributos de um determinado objeto chamado de estado. Exemplos: Funcionrio: nome, endereo, telefone, CPF; Carro: nome, marca, ano, cor; Livro: autor, editora, ano.

Mtodos
denem as habilidades dos objetos; em uma classe apenas uma denio, a ao s ocorre quando o mtodo invocado; a u9lizao de um mtodo deve afetar apenas um objeto em par9cular.

Eventos
mensagem do soIware indicando que algo aconteceu. Exemplo: o pressionamento de uma tecla; um clique do mouse.