Buscar

Desenvolvimento de Software com C# e SQL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Desenvolvimento de Software 
Prof. Henrique Mota 
mota.henrique@gmail.com 
http://www.henriquemota.com.br 
Ementa	
  
§  preparação	
  de	
  formulários	
  usando	
  a	
  ferramenta	
  visual	
  
§  interpretação	
   e	
   classificação	
   de	
   informações	
   e	
   das	
  
caracterís9cas	
  principais	
  dos	
  sistemas	
  
§  sequência	
  do	
  desenvolvimento	
  
§  instalação	
  e	
  configuração	
  de	
  	
  um	
  sistema	
  
§  desenvolvimento	
  de	
  prá9cas	
  de	
  acesso	
  a	
  banco	
  de	
  dados	
  
§  interfaces	
  gráficas	
  dos	
  sistemas	
  
Obje9vos	
  gerais	
  
§  solucionar	
  problemas	
  computacionais	
  u9lizando	
  
linguagem	
  de	
  programação	
  
§  interpretar	
  e	
  construir	
  códigos	
  de	
  linguagem	
  de	
  
programação	
  estruturada	
  
§  diferenciar	
  e	
  construir	
  adequadamente	
  métodos	
  
(funções	
  e	
  procedimentos)	
  parametrizadas	
  
Obje9vos	
  específicos	
  
§  construir	
  sistemas	
  u9lizando	
  ferramenta	
  de	
  programação	
  
em	
  ambiente	
  visual	
  
§  construir	
  módulos	
  (classes)	
  parametrizados	
  para	
  
execução	
  de	
  instruções	
  SQL	
  
§  iden9ficar	
  banco	
  de	
  dados	
  apropriado	
  para	
  o	
  
desenvolvimento	
  da	
  aplicação	
  
§  examinar	
  e	
  interpretar	
  estruturas	
  de	
  banco	
  de	
  dados	
  
§  aplicar	
  lógica	
  no	
  desenvolvimento	
  do	
  soIware.	
  
Base	
  Tecnológica	
  
§  conceitos	
  de	
  programas,	
  paradigmas	
  
§  conceitos	
  de	
  objetos,	
  propriedades	
  eventos	
  e	
  métodos	
  
§  aplicações	
  Console	
  x	
  Forms	
  
§  estrutura	
  da	
  linguagem	
  C#	
  
§  9pos	
  e	
  escopo	
  de	
  variáveis	
  
§  estruturas	
  de	
  seleção/decisão	
  IF	
  e	
  SWITCH	
  
§  estruturas	
  de	
  laço/repe9ção	
  FOR,	
  FOREACH,	
  WHILE	
  e	
  DO	
  
§  principais	
  classes	
  e	
  suas	
  propriedades	
  
§  estruturas	
  de	
  mensagens	
  (Messagebox)	
  
Base	
  Tecnológica	
  
§  validação	
  de	
  campos	
  
§  ambiente	
  de	
  design	
  e	
  programação	
  
§  estrutura	
  dos	
  arquivos,	
  depurador,	
  executáveis	
  
§  programas	
  com	
  variáveis	
  
§  programas	
  com	
  estrutura	
  de	
  repe9ção	
  
§  menus	
  
§  telas	
  de	
  cadastro	
  e	
  telas	
  de	
  consulta	
  
§  classes	
  (conceito	
  e	
  criação)	
  
§  métodos	
  com	
  e	
  sem	
  parâmetros	
  
Base	
  Tecnológica	
  
§  conexão	
  com	
  base	
  de	
  dados,	
  string	
  de	
  conexão;	
  
§  principais	
  Objetos	
  do	
  ADO.NET	
  
§  OLEDB:	
  idbConnec9on,	
  idbCommand,	
  idbDataReader	
  
§  ADO:	
  DataTable,	
  DataRow,	
  DataColumn	
  
§  ro9nas	
  de	
  Insert,	
  Update,	
  Delete,	
  Select	
  
Avaliação	
  
Avaliações:	
  AV1	
  +	
  (AV2	
  +	
  Proj.)	
  +	
  AV3	
  
AV1:	
  Conteúdo	
  parcial	
  
AV2	
  e	
  AV3:	
  Todo	
  conteúdo	
  ministrado	
  
	
  
O	
  projeto	
  deve	
  ser	
  desenvolvido	
  
durante	
  a	
  disciplina,	
  nas	
  aulas	
  de	
  
laboratório	
  	
  
Bibliografia	
  
§  ROBINSON,	
  Simon,	
  Professional	
  C#,	
  4	
  ed.,	
  Wrox	
  
§  C#	
  Use	
  a	
  Cabeça	
  
§  DAMAS,	
  L.,	
  SQL:	
  STRUCTURED	
  QUERY	
  LANGUAGE,	
  6.	
  ed.,	
  
Rio	
  de	
  Janeiro:	
  LTC,	
  2007.	
  
§  SEBESTA,	
  Robert.	
  Conceitos	
  de	
  Linguagens	
  de	
  
Programação.	
  4.	
  ed.	
  Porto	
  Alegre:	
  Bookman,	
  2000.	
  
§  VILLAS,	
  Marcos	
  Vianna.	
  Programação:	
  conceitos,	
  técnicas	
  
e	
  linguagens.	
  Rio	
  de	
  Janeiro:Campus,	
  1997.	
  195p	
  
INTRODUÇÃO	
  
O	
  que	
  é	
  um	
  programa?	
  
Linguagem	
  de	
  Programação	
  
x	
  
Linguagem	
  de	
  Máquina	
  
Explicando...	
  
§  computadores	
  entendem	
  apenas	
  linguagem	
  de	
  máquina	
  
§  linguagem	
  de	
  máquina	
  são	
  muito	
  complexas	
  
§  linguagem	
  de	
  programação	
  são	
  mais	
  próximas	
  das	
  
linguagens	
  naturais	
  
§  compiladores	
  fazem	
  o	
  processo	
  de	
  “tradução”	
  para	
  a	
  
linguagem	
  de	
  máquina	
  
§  programas	
  em	
  linguagem	
  de	
  programação	
  são	
  
conhecidos	
  como	
  código	
  fonte	
  
§  programas	
  em	
  linguagem	
  de	
  máquina	
  são	
  conhecidos	
  
como	
  código	
  executável	
  ou	
  simplesmente	
  executável	
  
A	
  PLATAFORMA	
  .NET	
  
Linguagem	
  ou	
  framework?	
  
§  plataforma	
  de	
  desenvolvimento	
  com	
  foco	
  em	
  serviço	
  -­‐	
  
Web	
  Service	
  
§  Web	
  Service	
  –	
  permite	
  que	
  as	
  aplicações	
  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	
  
Base Class Library 
Common Language Specification 
Common Language Runtime 
ADO.NET: Data and XML 
VB C++ C# 
Visual Studio.N
ET 
ASP.NET: Web Services 
and Web Forms 
JScript … 
Windows 
Forms 
Windows 
Forms 
Termos	
  da	
  Plataforma	
  
§  CLR:	
  Common	
  Language	
  Run9me	
  
§  FRAMEWORK:	
  modelo	
  para	
  construir,	
  instalar	
  e	
  rodar	
  
qualquer	
  aplicação,	
  desktop	
  ou	
  Internet	
  
§  IDE:	
  ambiente	
  de	
  desenvolvimento	
  integrado	
  
§  MSIL:	
  MicrosoI	
  Intermediate	
  Language	
  
§  JIT:	
  Just	
  In	
  Time	
  Debugger	
  
VB Código 
Fonte 
Compiler 
C++ C# 
Compiler Compiler 
Assembly 
IL Code 
Assembly 
IL Code 
Assembly 
IL Code 
Operating System Services 
Common Language Runtime 
JIT Compiler 
Native Code 
Código 
Gerenciável 
CONCEITUANDO	
  
Paradigma:	
  De	
  acordo	
  com	
  o	
  dicionário	
  
Michaelis	
  é	
  um	
  Modelo,	
  padrão,	
  protó9po.	
  
“Conjunto de unidades suscetíveis de aparecerem num 
mesmo contexto, sendo, portanto, comutáveis e mutuamente 
exclusivas. No paradigma, as unidades têm, pelo menos, um 
traço 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,	
  padrão	
  ou	
  es9lo	
  de	
  programação	
  suportado	
  
pelas	
  linguagens	
  de	
  programação	
  que	
  agrupam	
  certas	
  
caracterís9cas	
  comuns	
  
§  ajuda-­‐nos	
  a	
  organizar	
  e	
  a	
  coordenar	
  a	
  maneira	
  como	
  
olhamos	
  o	
  mundo	
  
§  possível	
  fornecer	
  e	
  determinar	
  como	
  o	
  programador	
  irá	
  
ver	
  a	
  estruturação	
  e	
  execução	
  de	
  um	
  programa	
  
Paradigma	
  de	
  programação	
  
Orientado a Aspectos 
OO	
  -­‐	
  História	
  
§  Alan	
  Kay	
  -­‐	
  na	
  década	
  de	
  60	
  (início)	
  
§  maior	
  u9lização	
  na	
  década	
  de	
  90	
  
§  Simula	
  67,	
  primeira	
  linguagem	
  a	
  u9lizar	
  algumas	
  das	
  
ideias	
  de	
  Kay	
  
§  1970	
  criamo	
  Smalltalk	
  linguagem	
  dita	
  “puramente	
  OO”	
  
§  termo	
  an9go,	
  uso	
  “recente”	
  
Mo9vos	
  que	
  influenciaram	
  
§  avanço	
  das	
  arquiteturas	
  de	
  hardware	
  (permitem	
  melhor	
  
suporte	
  a	
  sofis9cados	
  ambientes	
  de	
  programação	
  e	
  
interfaces	
  homem-­‐máquina)	
  
§  avanços	
  nos	
  paradigmas	
  e	
  nas	
  linguagens	
  de	
  
programação,	
  como	
  modularização,	
  ocultamento	
  de	
  
informações,	
  etc	
  
§  crise	
  do	
  soIware	
  (como	
  o	
  soIware	
  era	
  desenvolvido,	
  
manutenção	
  e	
  demanda)	
  
Vantagens	
  da	
  OO	
  
§  reu9lização	
  do	
  código	
  
§  modelos	
  ilustram	
  com	
  maiores	
  detalhes	
  o	
  mundo	
  real	
  
§  pequenas	
  mudanças	
  de	
  requisitos	
  não	
  acarretam	
  em	
  
grandes	
  alterações	
  no	
  desenvolvimento	
  
§  há	
  um	
  aumento	
  na	
  produ9vidade	
  das	
  empresas	
  
§  concentrar	
  as	
  responsabilidades	
  nos	
  pontos	
  certos,	
  
encapsulando	
  a	
  lógica	
  
Desvantagens	
  da	
  OO	
  
•  Para	
  desenvolvedores	
  acostumados	
  com	
  linguagens	
  
estruturadas	
  há	
  uma	
  certa	
  dificuldade	
  no	
  aprendizado	
  
•  Exige	
  formas	
  de	
  pensar	
  rela9vamente	
  complexas	
  
	
  
O	
  que	
  é	
  OO?	
  
Paradigma	
  para	
  o	
  desenvolvimento	
  de	
  soIware	
  
que	
  baseia-­‐se	
  na	
  u9lização	
  de	
  componentes	
  
individuais,	
  chamados	
  objetos,	
  apresentando	
  
comportamentos	
  específicos.	
  
	
  
O	
  que	
  é	
  OO?	
  
Baseia-­‐se	
  nos	
  seguintes	
  conceitos	
  
	
  
§  Classes;	
  
§  Objetos;	
  
§  Herança;	
  
§  Polimorfismo;	
  
§  Encapsulamento.	
  
	
  
Verdades	
  sobre	
  OO	
  
•  A	
  OO	
  não	
  garante	
  sistemas	
  com	
  interfaces	
  amigáveis,	
  ou	
  
seja,	
  o	
  paradigma	
  não	
  está	
  necessariamente	
  ligada	
  a	
  
interface	
  gráfica	
  
•  A	
  OO	
  não	
  elimina	
  a	
  necessidade	
  de	
  implementar	
  os	
  
sistemas	
  e	
  nem	
  está	
  relacionada	
  APENAS	
  a	
  fase	
  de	
  
implementação	
  
•  A	
  OO	
  não	
  garante	
  a	
  reu9lização,	
  ela	
  oferece	
  mecanismos	
  
para	
  que	
  isso	
  ocorra,	
  mas	
  sempre	
  será	
  função	
  do	
  
desenvolvedor	
  garan9r	
  isso	
  
Desenvolvimento OO 
§  Análise	
  Orientada	
  a	
  Objetos	
  (AOO):	
  Modelagem,	
  
avaliação	
  e	
  documentação	
  dos	
  requisitos	
  
§  Projeto	
  Orientado	
  a	
  Objetos:	
  Definição	
  da	
  
plataforma	
  de	
  implementação	
  
§  Refinamentos	
  até	
  chegar	
  a	
  parte	
  da	
  
implementação	
  
§  Programação	
  Orientada	
  a	
  Objetos:	
  Tradução	
  de	
  
um	
  projeto	
  para	
  uma	
  linguagem	
  de	
  programação	
  
Prog.	
  OO	
  x	
  Estruturada	
  
Programação	
  Estruturada:	
  	
  
•  foco	
  em	
  métodos;	
  
•  Composto	
  por	
  sequências,	
  decisões	
  e	
  iterações;	
  
•  Na	
  linguagem	
  C,	
  a	
  unidade	
  de	
  programação	
  é	
  a	
  função.	
  
	
  
Programação	
  Orientada	
  à	
  objetos:	
  
•  foco	
  em	
  classes	
  (atributos	
  e	
  métodos)	
  e	
  comunicação	
  
entre	
  classes;	
  
•  No	
  C#,	
  a	
  unidade	
  de	
  programação	
  é	
  a	
  classe.	
  
	
  
Prog.	
  Estruturada	
  
Prog.	
  OO	
  
Pessoa	
  
+Nome:	
  string	
  
+Idade:	
  int	
  
+CorOlhos:	
  string	
  
+Altura:	
  float	
  
+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	
  orientação	
  a	
  objetos	
  significa	
  
organizar	
  o	
  mundo	
  real	
  como	
  uma	
  coleção	
  
de	
  objetos	
  que	
  incorporam	
  estrutura	
  de	
  
dados	
  e	
  um	
  conjunto	
  de	
  
operações	
  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	
  
•  instância	
  	
  de	
  uma	
  classe;	
  
•  armazena	
  estados	
  através	
  de	
  seus	
  atributos	
  e	
  reage	
  a	
  
mensagens	
  enviadas	
  a	
  ele;	
  
•  envia	
  mensagens	
  a	
  outros	
  objetos.	
  
	
  
Exemplo	
  de	
  objetos	
  da	
  classe	
  Humanos:	
  João,	
  José,	
  Maria.	
  
Atributos	
  
•  caracterís9cas	
  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:	
  	
  
Funcionário:	
  nome,	
  endereço,	
  telefone,	
  CPF;	
  	
  
Carro:	
  nome,	
  marca,	
  ano,	
  cor;	
  	
  
Livro:	
  autor,	
  editora,	
  ano.	
  
Métodos	
  
•  definem	
  as	
  habilidades	
  dos	
  objetos;	
  
•  em	
  uma	
  classe	
  é	
  apenas	
  uma	
  definição,	
  a	
  ação	
  só	
  ocorre	
  
quando	
  o	
  método	
  é	
  invocado;	
  
•  a	
  u9lização	
  de	
  um	
  método	
  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.

Outros materiais