Baixe o app para aproveitar ainda mais
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.
Compartilhar