Вы находитесь на странице: 1из 6

ATPS PROGRAMAO COMERCIAL

ETAPA 1
-Passo 1
Microsoft .NET (comumente conhecido por .NET Framework - em ingls: dotNet) uma
iniciativa da empresaMicrosoft, que visa uma plataforma nica para desenvolvimento e
execuo de sistemas e aplicaes. Todo e qualquer cdigo gerado para .NET pode ser
executado em qualquer dispositivo que possua um frameworkde tal plataforma.Com idia
semelhante plataforma Java, o programador deixa de escrever cdigo para um sistema
ou dispositivo especfico, e passa a escrever para a plataforma .NET. O foco principal o
desenvolvimento Web XML, tambm conhecido como Web Service, que tambm conhecida
como pginas dinmicas, que podem ser acessadas a partir de qualquer browser,
independentes de sistema operacional. .NET possui um conjunto de ferramentas para o
desenvolvimento destes servios, como Visual Basic .NET, JSCRIPT.NET, MANAGED C++, e
tambm o C#.
O C# (pronuncia-se C Sharp) uma nova linguagem criada pela Microsoft em conjunto com a
arquitetura .NET. O smbolo # significa que a nota deve ser meio tom mais aguda. O C# traz este smbolo,
pois possui uma linguagem com toda a robustez e cientificidade de sintaxe do C, s que agora "meio tom"
melhorado.
Nas ltimas duas dcadas, C e C++ foram as linguagens mais amplamente usadas para o desenvolvimento
de software comercial e de negcios. Embora as duas linguagens proporcionem ao programador uma
quantidade enorme de controle granular, esta flexibilidade possui um custo para a produtividade.
Comparadas com uma linguagem como o Microsoft Visual Basic, aplicaes C e C++ equivalentes
frequentemente demoram mais para serem desenvolvidas. Devido a complexidade e longos tempos de ciclo
associados a essas linguagens, muitos programadores C e C++ vm procurando uma linguagem que
oferea um melhor balanceamento entre poder e produtividade.
A soluo Microsoft para este problema foi a criao da linguagem C#. Ele uma moderna linguagem
orientada a objeto que habilita os programadores a construir rapidamente uma ampla gama de aplicaes
para a nova plataforma Microsoft .NET, a qual proporciona ferramentas e servios que exploram totalmente
a computao e as comunicaes.
Devido ao seu elegante projeto orientado a objeto, C# uma escolha excelente para arquitetar uma ampla
gama de componentes de objetos de negcio de alto nvel a aplicaes no nvel do sistema. Usando
construes de linguagem C# simples, estes componentes podem ser convertidos em servios Web,
permitindo que eles sejam invocados pela Internet, a partir de qualquer linguagem rodando em qualquer
sistema operacional.
Principalmente, C# projetado para trazer desenvolvimento rpido para o programador C++ sem sacrificar
o poder e o controle que tm sido a caracterstica fundamental do C e C++. Devido a esta herana, C#
possui um alto grau de fidelidade com C e C++. Desenvolvedores familiarizados com estas linguagens
podem se tornar produtivos em C# rapidamente. Porm o C# modifica bastante o C++ e no tem a
pretenso de manter a compatibilidade, apenas a familiaridade.
Os fontes em C# tem extenso cs. Todos os fontes em um projeto so compilados diretamente para um
nico assembly (.EXE ou .DLL). No existe um arquivo intermedirio (.OBJ ou .DCU) como no Delphi.
Todo programa criado pelo compilador C# dito verificvel. Isto quer dizer que o compilador JIT (Just In
Time Compiler) pode, em tempo de execuo / compilao, verificar e garantir que o programa no faa
nenhuma operao que possa comprometer a segurana e integridade do sistema.
Pode parecer estranho, mas existem instrues MSIL (Microsoft Intemediate Language) capazes de abrir
brechas na segurana do sistema, como por exemplo, para manuseio direto de ponteiros ou casts
inseguros. Estas instrues so necessrias em alguns casos, como por exemplo para que a prpria
biblioteca chame a API do Windows. Programas que contm estas instrues so ditos no-verificveis.
O compilador C# pode criar programas no-verificveis, incluindo manipulao direta de ponteiros, com a
opo /unsafe. J o compilador C++ sempre gera cdigo no-verificvel. Evidentemente necessrio um
privilgio especial de segurana para rodar programas no-verificveis.
perfeitamente possvel criar programas bastante teis sem violar os critrios de verificabilidade e,
conseqentemente, segurana.
Embora compartilhe caractersticas com o Java, o C# uma linguagem que traz vrios recursos muito
interessantes que no ou existem no Java ou do muito trabalho para implementar ou tm performance
ruim. Porem o Java possui uma grande preferncia por seu uma linguagem multiplataforma facilitando muito
o servio de muitos programadores. O C# um grande candidato a se tornar uma linguagem utilizados pela
maioria dos programadores, mas ainda necessrio analisar e efetuar muitos teste.

-Passo 2
Codificao das classes do sistema
Classe Departamento
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cadastro_Materiais{
class Departamento{
private String codigo;
private String descricao;
public void departamento(String codigo){
this.codigo = codigo;
}
public String descricao(){
return this.descricao;
}
}
}
Classe Material
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Cadastro_Materiais{
class Material{
private String codigo;
private String codigo_departamento;
private DateTime data;
private String titulo;
private String conteudo;
private String codigo_usuario;
public void usuarioLogado(String codigo, String nome, int tipo){
Departamento dept = new Departamento();
dept.departamento(this.codigo_departamento);
this.codigo_usuario = codigo;
if(tipo == 0){ // Permiti executar cadastro
MessageBox.Show(Usuario+codigo+-+nome+ pode realizar cadastro e
consultas!!);
}
}
}
}
Classe Usuario
using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Cadastro_Materiais{
class Usuario{
private String codigo;
private String nome;
private String login;
private String senha;
private int tipo;
public void setLogin(String login){
this.login = login;
}
public void setSenha(String senha){
this.senha = senha;
}
public String getNome(){
return this.nome;
}
public String getCodigo(){
return this.codigo;
}
public Int getTipo(){
return this.tipo;
}
public void consultarDadosUsuario(){
//Sql que retorna nome,codigo,tipo
if(this.usuario == admin && this.senha == admin){
this.nome = Admin
this.codigo = 10;
this.tipo = 0;
}else if(this.usuario == user && this.senha == user){
this.nome = Usuario;
this.codigo = 11;
this.tipo = 1;
}else{
this.nome = Outros;
this,codigo = 99;
this.tipo = 3;
}
}
}
}

Classe login using System;


using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using.System.Drawing;
using System.Linq;
using System.Text;
using System.Windows,Form;
namespace Cadastro_Materiais{
public partial class Login;Form{
public Login(){
InitializeComponent();
}
private String login;
private String senha;
private Int tipo; //0=Admin 1=Comum
private void button1_click(object sender,EventArgs e){
if(verificaCampoNull(login.Text,senha.Text) == false){
MessageBox.Show(Voc deve informar usurio e senha para acessar o sistema);
}else{
Usuario user = new Usuario();
user.setLogin(login.Text);
user.seSenha(senha.Text);
user.consultarDadosUsuario();
Material mater = new Material();
mater.usuarioLogado(user.getCodigo(),user.getNome(),user.getTipo());
}
}
private Boolean verificaCampoNull(String username, String senha){
if(username == ){
return false;
}else if(senha == ){
return false;
}else{
return true;
}
}
}
}

Passo 3
A sintaxe do C# altamente expressiva, mas ela tambm simples e fcil de aprender. A sintaxe do C# ser
instantaneamente reconhecida por qualquer pessoa familiarizada com C, C++ ou Java. Os desenvolvedores que sabem
qualquer uma dessas linguagens so geralmente capazes de comear a trabalhar de forma produtiva com C# dentro de
um tempo muito curto. A sintaxe do C# simplifica muitas das complexidades do C++ e fornece recursos poderosos,
como tipos de valor nulo, enumeraes, delegaes, expresses lambda e acesso direto a memria, que no so
encontrados no Java. O C# suporta mtodos e tipos genricos, que fornecem uma melhor segurana de tipo e
desempenho, e iteradores, que permitem implementadores de colees de classes para definir comportamentos de
iterao personalizados que so simples de usar pelo cdigo cliente. Expresses LINQ (consulta integrada linguagem)
fazem a consulta fortemente tipada uma linguagem de construo de primeira classe. Como uma linguagem orientada
objetos, o C# suporta os conceitos de encapsulamento, herana e polimorfismo. Todas as variveis e mtodos, incluindo
o mtodo principal (Main), o ponto de execuo de uma aplicao, so encapsuladas em definies de classes. Uma
classe derivada pode herdar diretamente somente de uma classe pai, mas pode herdar de qualquer quantidade de
interfaces. Mtodos da classe derivada que substituem mtodos virtuais de uma classe pai exigem a utilizao da
palavra-chave override como forma de evitar a redefinio acidental. Em C#, uma struct como uma classe
simplificada; um tipo alocado em pilha que pode implementar interfaces mas no suporta herana.
Alm desses princpios bsicos orientados a objeto, o C# facilita o desenvolvimento de componentes de software por
meio de vrios constructos de linguagem inovadores, inclusive os seguintes:
-Assinaturas de mtodos encapsulados, chamadas delegates, que permitem notificaes de evento de tipo seguro.
-Propriedades, que servem como acessadores para variveis de membro particular.
-Atributos, que fornecem metadados declarativos sobre tipos em tempo de execuo.
-Comentrios Embutidos da Documentao XML.
-LINQ (Consulta Integrada Linguagem) que fornece recursos internos de consulta atravs de vrias de fontes de
dados.
Programas escritos em C# so executados no .NET Framework, um componente do Windows que inclui um sistema de
execuo virtual chamado Common Language Runtime (CLR) e um conjunto unificado de bibliotecas de classes. O
CLR a implementao comercial da Microsoft da infraestrutura de linguagem comum (CLI), um padro internacional
que a base para a criao e execuo de ambientes de desenvolvimento em que as linguagens e as bibliotecas
trabalham juntos sem problemas.
O cdigo-fonte escrito em C# compilado em uma linguagem intermediria (IL) que est em conformidade com a
especificao CLI. O cdigo IL e recursos, como bitmaps e strings, so armazenados no disco em um arquivo
executvel chamado de um assembly, normalmente com uma extenso .exe ou .dll. Um assembly contm um manifesto
que fornece informaes sobre os tipos do assembly, verso, cultura e requisitos de segurana.
Quando o programa C# executado, o assembly carregado para o CLR, que pode tomar vrias aes com base nas
informaes do manifesto. Ento, se os requisitos de segurana so aprovados, o CLR executa a compilao just in time
(JIT) para converter o cdigo IL em instrues de mquina. O CLR tambm oferece outros servios relacionados
coleta de lixo automtica, tratamento de excees e gerenciamento de recursos. Cdigo que executado pelo CLR
muitas vezes referido como "cdigo gerenciado", em contraste com o "cdigo no-gerenciado", que compilado em
linguagem de mquina nativa e que foca um sistema especfico. O diagrama a seguir ilustra as relaes entre o tempo de
compilao e de execuo de arquivos de cdigo-fonte C#, bibliotecas do NET Framework, assemblies e o CLR.

A interoperabilidade entre linguagens um elemento chave do .NET Framework. Como o cdigo IL gerado pelo
compilador C# est de acordo com a CTS (Especificao de Tipo Comum), cdigo IL gerado de C# pode interagir com
o cdigo que foi gerado das verses .NET do Visual Basic, Visual C++, ou qualquer uma das outras 20 linguagens
compatveis com CTS. Um nico assembly pode conter vrios mdulos escritos em diferentes linguagens .NET, e os
tipos podem referenciar uns aos outros como se eles tivessem sido escritos na mesma linguagem.
Como adicional aos servios de execuo, o .NET Framework tambm inclui uma extensa biblioteca de mais de 4000
classes organizadas em namespaces que oferecem uma grande variedade de funcionalidades teis para tudo, desde
manipulao de arquivos, manipulao de strings, manipulao de arquivos XML at utilizao de controles Windows
Forms. Uma tpica aplicao C# utiliza a biblioteca de classes do .NET Framework extensivamente para lidar com o
comum "trabalho braal".

Bibliografia:
http://pt.wikipedia.org/wiki/Microsoft_.NET
http://infolp.wordpress.com/category/diferenca-entre-aslinguagens/http://www.coladaweb.com/informatica/comparativo-entre-c-e-java
http://msdn.microsoft.com/pt-br/library/z1zx9t92.aspx

Вам также может понравиться