sábado, 27 de dezembro de 2008

Visual Basic for Aplications(VBA)


Por Adriano

Toda suite Microsoft (a partir do Office 97) possui VBA como linguagem embutida. Com o VBA aplicações como Word, Excel, PowerPoint, Access podem disponibilizar funcionalidades e interagir com outras aplicações, por exemplo.
Através do VBA procedimentos repetitivos do Word podem ser simplificados.Para ter acesso a linha de código abra o Word, clique em ferramentas – Macros – Gravar nova macro.





Um menu surgirá:

Depois que clicar em OK um menu suspenso de gravação aparecerá. realize uma operação simples: Escreva uma palavra e aperte Enter, depois pare a gravação.


Agora em ferramentas – Macros – Macros, selecione a macro que você acabou de criar e clique em executar.
A cada vez que você repetir este mesmo processo uma palavra será adicionada automaticamente ao texto (Também é possível vincular uma tecla para tornar o processo mais dinâmico).

Agora em ferramentas – Macros , selecione a macro que você criou e clique em editar. Apague o código que aparece e digite o exemplo a seguir:

Sub macor1
Function Macro1()
Dim fala As Balloon
Dim txt As String
Dim cabecalho As String
Set fala = Assistant.NewBalloon
With fala
.Heading = " Título "
.Text = " Opções "
.Labels(1).Text = "Opção1."
.Labels(2).Text = "Opção2."
.BalloonType = msoBalloonTypeButtons
.Button = msoButtonSetNone
Macro1 = .Show
End With
End Function


Quando executar esta macro novamente você verá o assistente do office com um balão de opções.

Framework .Net


Por Adriano

Common Language Runtime(CLR)
A base da plataforma .Net responsável pela criação do ambiente das aplicações.Ela gerencia a execução de códigos e componentes das aplicações simplificando o desenvolvimento e a comercialização.
Gerencia memória e manipula processos de baixo nível.
Esse componente é utilizado por todas as linguagens que suporta o framework(C#,J#,VB.Net, JavaScript.Net).


Common Type System(CTS)
Define os tipos suportados pela CLR( ex: valor(byte, Int16, Doublé) e referencia(classes,objetos) e operações suportadas por esses tipos.
Tipos por valor: armazenam valores diretamente:
Exemplo em C# e Java;
Int x;
x = 10;
Obs: Todos os objetos herdam de System.Object.


Common Language Specification(CLS)
Pertencente a CTS define a forma como as linguagens compartilham bibliotecas. Tornando possível uma herdar classes escritas em outra linguagem.

sábado, 29 de novembro de 2008

Encapsulamento,Classes Abstratas,Herança,Interfaces,Polimorfismo

Por: Adriano
Encapsulamento

É a habilidade de um objeto em esconder dados da visão exterior, permitindo acesso somente por meio de métodos públicos.
Ex: (getters, setters).
Consiste em usar modificadores de acesso privados e fornecer métodos que possam acessá-los de forma segura. Ajuda a prevenir problemas de acesso indevido a dados.
Ex: Sistemas bancários.

Classes Abstratas

São aquelas que não criam instâncias e possuem métodos sem implementação. São como um molde para serem manipulados por subclasses.
Estas subclasses sobrecarregam os métodos abstratos.

Herança

Permite criar novas classes a partir de classes já existentes, sendo elas filhas da classe principal. Permite a reutilização de código e o compartilhamento de características que poder ser especificadas nas classes que as herdam.
Ex:
Classe Pessoa
Classe Funcionário: Pessoa
Classe Cliente: Pessoa

Como podemos observar a classe pai (Pessoa) tem suas características herdadas pelas classes Funcionário e Cliente, pois ambos podem ser pessoas.
OBS: Em C# herança é determinada com dois pontos. O que em Java seria extends.

Interfaces

Interfaces definem métodos que as classes têm de implementar, não implementam métodos, mas determinam a forma que eles serão implementados. É muito útil quando há a necessidade de um grupo de classes compartilharem um conjunto de características.

Polimorfismo

Polimorfismo (várias formas), Em OO e a situação na qual um objeto pode adquirir maneiras diferentes dependendo de como foi criado. As superclasses (classes pai) tem seus métodos sobrecarregados por subclasses (classes filhas) podendo elas implementá-los da forma que for conveniente.
Ex:
Classe Veículo (Superclasse)
Classe carro: Veículo (subclasse)
Classe Bicicleta: Veículo (subclasse)

sexta-feira, 21 de novembro de 2008

Introdução ao XNA 3.0

Por: Adriano


Nova iniciativa da Microsoft para desenvolver jogos
Objetivo: simplicidade de desenvolvimento
Tanto em Windows como Xbox 360 e também em dispositivos móveis.

A Microsoft traz para o mundo dos games sua nova plataforma, XNA Game Studio(plataforma gráfica apresentada em 2006). Facilitando a comunicação entre APIs do DirectX e o programador ele possui procedimentos já compilados , diminuindo as dificuldades na hora de desenvolver um projeto (Carrega modelos de sons, texturas com apenas uma linha ) .

A linguagem padrão é o C# (C Sharp), mas como utiliza o. NET Framework, qualquer linguagem. NET é capaz de rodar o XNA.

Ferramentas: Microsoft Visual C# e XNA Game Studio.


Com a IDE carregada, vá até o menu “File -> New Project”. Na janela que aparecer, selecione o item “Windows Game”.

Solution Explorer
Game.ico – Ícone do jogo. Aparecerá no topo da janela e no arquivo executável.
Game1.cs – Este arquivo contém o código da classe do jogo.
Program.cs – Arquivo básico do jogo. É o ponto de partida.

No código gerado pelo programa podemos observar:

Método Initialize() é chamado quando o jogo é carregado.
Método LoadContent() quando necessário carregar recursos gráficos. Exemplo texturas, SpriteBatch e etc.
Método UnloadContent() necessário para descarregar os recursos gráficos.
Método Update(GameTime gameTime) onde se coloca a lógica do jogo.
Objeto gameTime mostra o tempo que passou desde a última chamada para atualização.
Método Draw(GameTime gameTime) onde se insere as rotinas para renderizar.
Objeto gameTime mostra o tempo que passou desde a última chamada para renderização.

Baixe a vídeo-aula:
Inserindo uma imagem na tela
Vídeo-aula1 Xna 3.0

Obs.: Esta página sempre será atualizada quando for publicada uma nova aula.Para visualizar as aulas você deve usar o Flash player ou seu navegador , pois estão em formato swf.

sexta-feira, 14 de novembro de 2008

Empresas que contratam

Necessário conhecimento em .Net e java.

Stefanini
www.stefanini.com
BRQ
www.brq.com
DBA
www.dba.com.br
Atos Origin
rh.rj@atosorigin.com
Nasajon
www.nasajon.com.br
easyCae
jobs@easycae.com
UbiSoft
jobs.brazil@ubisoft.com


Estágios:
SOS computadores
Microlins

Recrutamento:
CIEE
Mundis
AERJ
Provedor de Talentos


Eventos:
imagine cup
sb games
campus party
xna challenger
Telemig celular games
Olimpiada brasileira de informática
Stuents to business

sábado, 1 de novembro de 2008

Introdução ao Asp.Net

Por: Adriano


Uma nova forma de criar aplicações web ,um framework para criação de páginas HTML dinâmicas. Ultiliza XML para troca de dados. Aplicações Asp. Net são hospedados no Microsoft IIS e usam protocolos da internet como http e SOAP.

Funcionamento da arquitetura Cliente/Servidor:

Navegador (Cliente) ->Internet (http) ->Servidor Web -Banco de dados

Exemplo de uma página asp.net:

<%@ Page Language= “VB” %><% OlaMundo %>
Asp.Net
Sucessor da tecnologia Active Server Pages (ASP)
Independente de linguagem (CLR).
Os processamentos dos formulários web são feitos do lado do servidor.
Proteção do código fonte (Deployment).

Ciclo de vida de um formulário Asp.Net:
Page_Init ->Page_Load ->Validation ->Event Handling ->Page_Unload -> Page_Init …

IIS
Conjunto integrado de serviços de rede que permite a publicação de conteúdo em ambiente Internet/Intranet, integrado ao sistema operacional, permite uma interface administrativa gráfica.
-------------------- Controles -----------------------
Alguns controles Asp.Net usados na IDE Microsoft Visual Studio:

AdRotator Cria imagens aleatoriamente (quando a página é carregada).

BoundColumn Colunas com valores de uma base de dados

Button Botão

Calendar Calendário

CheckBox Caixa para seleção de um item

CheckBoxList Caixas de seleções relacionadas

CompareValidator Compara valores determinados pelo usuário com uma constante

CustomValidator Validação personalizada

DataGridExibem dados em linhas e colunas

DataList Semelhante ao DataGrid

DropDownList Lista de opções

HiperLink Link

Image Exibir uma imagem

Label Rótulo

LinkButton Botão semelhante a um link

ListBox Lista para escolhas de opções

Panel Agrupamento de outros controles

Table Tabela simples

TextBox Caixa de inserção de dados

XML Exibe um documento xml na página
-----------------------------------------------------------

Server controls
Componentes programáveis com processamento no lado do servidor
Possui propriedades, métodos, eventos e etc.
Client controls
Processado no lado do cliente
Validators(controles de validação)
RequiredFieldValidator
CompareValidator
RangeValidator
RegularExpressionValidator
Tratamento de exceções:
Bloco try/catch

Manutenção de estados
Global. asax
Arquivo de texto com as mesmas características de um arquivo. aspx. Responsável pela configuração de eventos de aplicação e de sessão. Opcional, localizado no diretório raiz da aplicação e compilado para Intermediate Language(IL).

Session
Dados que persistem são armazenados em sessões mantendo o estado da aplicação.
Quando uma variável de sessão armazena um dado ele permanecerá visível apenas a quem foi atribuída, assim ela pertence a uma única sessão.
Ex:
Session[“Nome”] = TxtNome.text;
string nome = Session[“Nome”];

Eventos
protected void Session_Start(Object sender, EventArgs e){ //Evento disparado quando a uma sessão é iniciada.}

protected void Session_End(Object sender, EventArgs e){ //Evento disparado quando a sessão é finalizada.}

Application

Estado da aplicação todos os usuários podem ver.
Ex: Chat, Contador de Acessos.

Exemplo:
Application[“ContadorAcessos”] = 0;


Application (Eventos associados)

protected void Application_Start(Object sender, EventArgs e){ //Evento disparado quando a aplicação é iniciada.}

protected void Application_End(Object sender, EventArgs e){ //Evento disparado quando uma aplicação é finalizada.}

ViewState
Os valores são mantidos entre um postback e outro automaticamente.

Ele funciona internamente, sendo oculto.

Ex:
ViewState.Add("Nome“, “João“);
String nome = (string) ViewState[“Nome”];



*Nos próximos artigos irei mostrar como construir um website no Visual Studio 2008.

sexta-feira, 24 de outubro de 2008

Student to business

Simulado da prova do S2B
Aviso: Esse material é baseado nas edições anteriores do programa.

Criamos cinco questões (na prova oficial normalmente são 40 questões):

1-Como podemos criar um objeto?
a) Usando delegates.
b)Criando o método main.
c)Através do uso da palavra reservada “new”.
d)O objeto é criado automaticamente no Visual Studio 2008.

2-Qual o primeiro estágio básico do ciclo de um formulário ASP.NET?
a)PAGE_INIT.
b)VALIDATION.
c)PAGE_LOAD.
d)PAGE_UNLOAD.

3-O que é um método?
a) Atribuição da classe.
b) Definição da classe.
c) Ação que um objeto da classe pode executar.
d) Nenhuma das anteriores.

4-Qual modificador permite acesso limitado à classe, seus membros e seus derivados?
a)Private.
b)Public.
c)Protect.
d)Public void

5-Sobre providers é correto afirmar:
a)Somente é compatível com SQL Server.
b)Conjunto de classes especializadas que implementam a interface de acesso ao dados.
c)Conjunto de códigos de programação que incluem a definição dos atributos.
d) Nenhuma das anteriores.

Gabarito: 1(c);2(a);3(c);4(c);5(b);

Conteúdo para estudo
Plataforma .Net
Programando em C#
Asp.Net

terça-feira, 21 de outubro de 2008

Uma pincelada em Visual Basic

Por Marcio R.


Vamos falar um pouco sobre Visual Basic e sua trajetória.

Alguns de vocês devem conhecer o Basic (Beginner´s All-purpose Symbolic Instruction Code) em português “código de instrução de uso geral para iniciantes”. Uma linguagem antiga, bolada originalmente na década de 60 como algo fácil de ser usado, até por iniciantes.

Um interpretador BASIC foi desenvolvido por Bill Gates foi o produto que levou a fundação da Microsoft. Quando o Microsoft 3.0 foi lançado, a maneira oficial de programá-lo era usando a linguagem C e o “Windows SDK”.

Se dependesse apenas da linguagem C, o sucesso do Windows teria sido bem mais limitado. De forma a facilitar o desenvolvimento de software para a nova plataforma, a Microsoft criou o Visual Basic, que sem duvida nenhuma foi muito bem mais sucedido. O mecanismo de ser utilizar formulários com “pecinhas” em cima e escrever códigos para processar “eventos“ nas pecinhas foi uma excelente idéia amplamente copiada posteriormente. Era comum pessoas sem nenhum conhecimento técnico de programação pegar o Visual Basic 1.0 e um tempo depois estar criando programas úteis.

O Visual Basic fazia diversas simplifi­cações e permitia coisas que causavam nojo aos desenvolvedores profissionais, como por exemplo, não exigir declaração de variáveis ou ter um tipo que aceita qualquer coisa. Do ponto de vista estrito de engenharia de software, o Vi­sual Basic era um horror. No entanto, essa mesma linguagem teve um grande suces­so exatamente por essas simplificações, permitindo que pessoas sem formação em desenvolvimento de software se tornas­sem programadores bem sucedidos.

Quando a Microsoft desenvolveu a plataforma .NET(DotNet), a linguagem principal era o C# e não o BASIC. O VB perdeu sua alma. Seus novos recursos oscilaram entre “facilitar a vida dos programadores iniciantes” e “dar mais poder aos programadores profissionais”.

Acredito que as linguagens e as ferramentas de desenvolvimento em geral sigam o caminho da complexidade. É uma tarefa impossível tentar gerenciar as variações do desenvolvimento atual sem ter grandes conhecimentos técnicos. A época do amadorismo acabou. As chances de um iniciante pegar o Visual Studio 2008 e um mês depois estar desenvolvendo profissionalmente são minúsculas, independente da linguagem que ele escolha. Aliás como podemos ver navegando pelas postagens anteriores a linguagem é uma das muitas coisas que o desenvolvedor deve conhecer.

Caso alguns de vocês queiram se aprofundar mais no assunto aqui vai umas dicas de livros que encontrei na internet:

Pro VB 2008 and the .NET 3.5 Platform

The Book Of Visual Basic 2005 - .NET Insight For Classic VB Developers


Até a próxima pessoal.

quinta-feira, 9 de outubro de 2008

Programando em C#: Variáveis e Tipos Primitivos

Por César Amorim: cesaramorim2005@gmail.com


Quando se estuda algoritmos computacionais umas das primeiras lições é o uso de variáveis. Você sabe o que é uma variável?

Uma variável é um espaço reservado de memória, no qual é possível guardar dados para uso posterior.

Em C# (Lê-se “cê charpi”), para uma variável ser útil, é necessário definir 4 coisas:

1.Tipo

Você tem que informar que tipo de dados espera-se receber na variável. Podem ser:

  • Números Inteiros: 0, 1, 2, 3… 1.000.000.000.000, etc.…;
  • Números Fracionários: 0,5, 3,33333 1,12, etc.…;
  • Caracteres Alfanuméricos: a, b, 1, 2, etc.…;
  • Valores lógicos: Verdadeiro ou Falso.

Lembrando que a quantidade de tipos é virtualmente ilimitada, se levarmos em conta que o programador pode definir seus próprios tipos. Nesse tópico, nos ateremos aos tipos básicos (Também conhecidos como tipos primitivos).

2.Tamanho

É necessário também, definir-se qual o tamanho da porção da memória será reservada para o armazenamento de seus dados. Esse aspecto é decisivo na programação para dispositivos móveis e aplicações embarcadas e onde mais o espaço de armazenamento pode ser uma questão crítica. Quanto maior a diferença entre o mínimo e o máximo esperado, maior será o espaço necessário.

3.Identificador

Será o meio como referenciar à sua variável. (Em outras palavras, seu nome) Não sendo permitido o uso de caracteres numéricos no início, assim como o uso de espaços. (1a, 2c, 3t, var 1, são exemplos de identificadores inválidos) É aconselhável usar identificadores claros e significativos que auxiliem a manutenção do código, devido à natureza dinâmica do valor das variáveis, um identificador claro ajuda na depuração de possíveis erros.

4.Valor

É o que se quer guardar, é normal o valor e a variável propriamente dita se confundam às vezes, principalmente quando se tem pouca prática de programação. Essa confusão normalmente gera erros de lógica comuns e deve ser evitada.

Abaixo segue a tabela dos tipos primitivos em C#:

Tipo

Tamanho (bits)

Valores

bool (Lê-se Bûl)

8

Verdadeiro ou falso

char

16

'\u0000' to '\uFFFF'

byte (Lê-se baite)

8

0 até 255

sbyte (Lê-se éssbaite)

8

-128 até +127

short

16

-32,768 até +32,76

ushort (Lê-se iûlchorti)

16

0 até 65,535

int

32

-2,147,483,648 até 2,147,483,647

uint (Lê-se iûl-int)

32

0 até 4,294,967,295

long

64

-9,223,372,036,854,775,808 até +9,223,372,036,854,775,807

ulong (Lê-se iûl-long)

64

0 até 18,446,744,073,709,551,615

Decimal (Lê-se dêcimal)

128

1.0 x 10-28 até 7.9 x 1028

float(Lê-se flôut)

32

±1.5 × 10-45 até ±3.4 × 1038

double (Lê-se dobôul)

64

±5.0 × 10-324 até ±1.7 × 10308

Exemplo

Declarar uma variável do tipo inteiro que tenha 16 bits de tamanho de nome nota1 com valor 5:

Int nota1 = 5;

Declarar uma variável do tipo lógico com valor verdadeiro, de nome log2:

Bool log2 = true;

domingo, 5 de outubro de 2008

Introdução ao C# parte1

por Adriano


Características do C#
_ Simplicidade: Tão fácil de programar e poderosa quanto C++ e Visual Basic respectivamente.
_ Completamente orientada a objetos. "System.Object" é a base de todos os programas.
_ Fortemente tipada.
_ Gera código gerenciado.
_ Controle de versões: O assembly gerado informa sobre a versão do código, permitindo a coexistência de dois assemblies homônimos, mas de versões diferentes no mesmo ambiente.
_ Suporte a código legado: interage com código de objetos escrito em uma linguagem não-gerenciada.
_ Flexibilidade.
_ Linguagem gerenciada: ambiente gerenciado, reduzindo erros de programação onde o gerenciamento da memória é feito pelo programador.

“Olá Mundo”: A estrutura em C#
using System;
class Exemplo
{
static void Main( )
{
// escrevendo no console
Console. WriteLine("Olá mundo ");
Console. ReadLine( );
}
}

Observação:
“Using Sistem” é uma biblioteca “.Net” básica para iniciar uma aplicação, a linha “class Exemplo” determina que o nome da classe é “ Exemplo”. “static void Main( )”, o método estático inicial vazio. “Console. WriteLine("Olá mundo ");”, escreve a frase “olá mundo” na tela. “Console. ReadLine( );”,ativa outra linha após ter escrito a anterior.

Comentários
// comentário de uma linha

/*
Comentários em várias linhas
*/
Delimita um bloco de códigos organizando a programação
#region Grupo
public int matematica(int x, int y){

}
#endregion

domingo, 28 de setembro de 2008

Projeto: Software para deficientes visuais

Por : Adriano Francisco da Silva

Técnico em programação de computadores(Colégio Pedro II)
Líder da Célula acadêmica:Equipe Free Style

É grande o número de pessoas com alguma limitação física, para isso ao longo da minha vida venho desenvolvendo soluções para inclusão deste perfil de usuário:
Foi desenvolvido um sistema comum no qual apresenta uma função que engloba os deficientes visuais. Um mecanismo simples, mas que pode diminuir as barreiras que existem atualmente.
Utilizando o Visual Studio 2008(com a linguagem de programação C# ), um sistema simples de controle de estoque (para servir como modelo), esse sistema foi utilizado na final do Microsoft Student to Busisness 2008, mas não apresentava a função para deficientes visuais.
O sistema está concorrendo ao prêmio “Jovem Cientista” 2008. Aqui apresento apenas uma pequena parte do projeto:

Trata-se de um sistema no qual a caixa de texto (TEXTBOX) emite sons que guiam o usuário desde o momento do Login do sistema até o preenchimento e a utilização de recursos adicionais, como inclusão de registro em um banco de dados. No login é feita a verificação no banco para saber se o usuário é ou não deficiente, tornando o sistema universal.


Método para executar o som quando o usuário passar o mouse no TEXTBOX (no evento do mouse).O mesmo acontece com os botões do programa.
private void login(object sender, EventArgs e)
{
// Diz a localização do WAV
SOM. SoundLocation = ("Sons/login.wav");
//Colocando o foco no TEXTBOX
tbLogin.Focus();
// Executa o WAV
SOM. Play ();
}
Quando o mouse sair do TEXTBOX o som é desligado (SOM. Stop ();) em outro evento.
O mouse será os olhos do usuário, caso ele esqueça algum campo em branco será alertado e direcionado para corrigir o erro.


Conclusão:
O próximo passo será criar um WebForm (Asp.Net) para cadastros online de clientes, vestibular ou serviço de atendimento ao cliente(SAC). Além do projeto final de curso que estou desenvolvendo com meus colegas: Marcio Ribeiro, Thiago Macedo e César Amorim.Um software para escolas utilizando esse mesmo conceito.

Acesso a dados com C#

Por Adriano

Adicionando conteúdo do textbox no banco com C#

Utilizados:
2 Textbox(nome.Text,telefone.Text)
1 Label(confirma.Text)
1 Button(button1)
Banco access:
tabela:agenda
campos:nome,telefone


//Evento do botão
private void button1_Click(object sender, EventArgs e)
{
//criando uma conexão

OleDbConnection oConexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DataDirectory\\bd1.mdb");
//Abrindo a conexão
oConexao.Open();


OleDbCommand sql = new OleDbCommand();
//Inserindo comandos SQL
sql.CommandText = "insert into agenda(nome,telefone) values('" + nome.Text + "','" + telefone.Text + "')";

sql.CommandType = CommandType.Text;
sql.Connection = oConexao;
OleDbDataReader rs = sql.ExecuteReader();

//fechando conexão
oConexao.Close();
rs.Close();

//Limpando caixas de textos
nome.Text = "";
telefone.Text = "";

//mensagem de confirmação em um Label
confirma.Text = "Pedido Salvo!";
}

sábado, 27 de setembro de 2008

Tecnologia.Net

Por Adriano


.NET é a plataforma de desenvolvimento da Microsoft que tem como foco principal o desenvolvimento de Serviços WEB (Web Service), permite que as aplicações, sejam elas da Web ou Desktop, ou ainda middleware, se comuniquem Independente do sistema operacional ou da linguagem de programação.

Características. NET:
_ Independência de linguagem de programação.
_ Reutilização de código.
_ compartilhamento de tempo de execução.
_ Sistemas com controle de versões.
_ Simplicidade na resolução de problemas complexos.

Arquitetura:
CLR (Commom Language Runtime)
CTS (Common Type System)
CLS (Common Language Specification)
BCL (Base Classe Library)

Namespaces. NET:
System Contém algumas classes de baixo nível usadas para trabalhar com tipos primitivos, operações matemáticas, gerenciamento de memória etc.
System.Collections Implementar suas próprias pilhas, filhas,
System.Data,
System.Data.Commom,
System.Data.OleDb,
System.Data.SqlClient

Necessário para lidar com bases de dados.
System.Diagnostics Log de Event, medição de performance, classes para gerenciamento de processos, depuração.
System.Drawing trabalhar com gráficos, chamada GDI+.
System.IO Biblioteca para lidar com entrada e saída,gerenciamento de arquivos etc.
System.NET para programação de redes, sockets etc.
System.Reflection gerar código em tempo de execução, descobrir tipos de variáveis etc.
System.Runtime.InteropServices e System.Runtime.Remoting interagir com código não-gerenciado.
System.Security Criptografia.
System.Threading desenvolvimento de aplicações multithread.
System.Web Desenvolvimento web(ASP.NET, Web services).
System.Windows.Forms Desenvolvimento de aplicações Windows tradicionais.
System.XML interação com documentos XML.

A MSIL (IL) interpretador dos programas. NET.

sábado, 20 de setembro de 2008

Diagrama de Caso de Uso

Por Thiago Macedo Lima

Olá Pessoal,
estou aqui para apresentar a idéia de como se elaborar um software através
de um diagrama de caso de uso espero que vocês aproveitem o tópico.

UML – Diagrama de Caso de Uso

1- Modelo de casos e uso

• O modelo de casos é um modelo inicial de um projeto não se preocupando com o a funcionalidade do programa


2- Diagrama de casos de uso

• Um diagrama de Casos de uso possue como primitivas Atores, Casos de uso, Relacionamentos
• Também possuem primitivas Pacote e Notas.



3- Atores

• Atores representam entidades externas que interagem com o sistema em tempo de execução.
• Atores em um diagrama UML podem ser -> Pessoas, Hardware, Software, Dispositivos
Em um Diagrama UML pode haver Atores que agem de Forma implícida que não
influênciam no diagrama em si então pode aparecer ou não no diagrama.

Exemplo -> Hardware e Software.

• A forma de representação de Atores pode ser atráves de um retângulo ou ícones humanos que são equivalentes.


Figura 1. Representação do ator no diagrama






4- Casos de uso

• A descrição dos serviços oferecidos pelo sistema é feita na UML discriminado pelos Casos de uso do Sistema

• Os Casos de usos podem descrever uma aplicação ou Uso completo de um software ou mesmo uma funcionalidade.

• Os Casos de usos são serviços que o sistema oferece, que

serve para se ter uma visão mas abrangente dos processos de seu sistema.

• Os Casos de Uso são representados por um círculo na UML.







Figura2 .Representação do caso de uso no diagrama


5- Relacionamentos

• Existem três relacionamentos entre Atores

1- Dois Atores

2- Dois Casos de Uso

3- Um Caso de Uso e Um Ator

5.1- Relacionamentos entre
Atores

• São Relacionamentos Externos que podem ser desprezados em nosso diagrama de caso de uso por serem externos ao programa, como também podem ser adicionados ao seu sistema, por fazer parte indiretamente do seu sistema.

• Duas relações comuns entre Atores -> especialização e comunicação

• Comunicação -> Trata-se de uma comunicação explícita entre Atores, que representa algo concreto entre eles.


Exemplo -> (troca de informações ou uma mensagem)

• Especialização -> Trata-se de uma comunicação genérica em que o Ator gené
rico, passa todas suas características ao Ator especializado mais alguns atributos adicionais.

Exemplo -> Usúario -> Ator genérico

Administrador -> Ator especializado.



A ideia é o seguinte:

O Administrador no sistema irá fazer tudo que um usúario normal faria porém com funções
adicionais de Administrador.



Figura 3. Representação dos Relacionamentos entre atores por comunicação





Figura 4. Representação dos Relacionamentos entr

e atores por especialização



5.2- Relacionamento entre Ator e Casos de Uso

• Expressa sempre uma comunicação entre o Ator e o Caso de uso, pelo fato do Ator ser
uma Entidade externa.

• A forma de representação do Relacionamento entre o Ator e o Caso de Uso é através de uma
Reta.

• Um Ator pode ter Relacionamentos com vários outros Casos de Uso e da mesma forma

Um caso de uso pode ter Relacionamentos com vários Atores.

•Uma Seta na Relação entre um Ator com o caso de uso pode ter duas
interpretações distintas:

a- Para indicar qual Ator ativa o Caso de Uso.

b- Indica o fluxo de dados nas comunicações (Neste caso então todos os Relacionamentos teriam de ser com setas).


Figura 5. Representação dos Relacionamentos entre Atores e Casos de uso





5.3- Relacionamentos entre Casos de Uso

• O Relacionamento entre Casos de Uso sempre será estruturada por pertencerem ao Sistema, não possuindo ações externas.

• São divididos em três tipos -> inclusão, extensão e generalização.



5.3.1-Relacionamento de Inclusão

• O Relacionamento de Inclusão insere um Caso de Uso dentro dointerior de outro Caso de uso, que seria um 'Sub-Caso'.

• O Relacionamento de Inclusão só podera ser criado, se houver um Caso de Uso em que poderá ser inserido.

• O Relacionamento de Inclusão poderá ser usado em duas situações:

a- Extraíndo partes significativas de um Caso maior e colocá-los em várias partes menores.

b- Colocar em evidência partes comuns entre Dois ou mais Casos de Uso.

A ideia desse Relacionamento e como se fosse um Procedimento ou Módulo em uma linguagem estruturada.

Figura 6. Representação dos Relacionamentos entre Atores de Inclusão




5.3.2-Relacionamento de Extensão

Relacionamento de extensão é quando um Caso de Uso Menor extende os serviços de um Caso Maior.

A ideia de extensão vem de que o Caso menor irá possuir uma extensão do Programa Maior, e inclui serviços especiais, e a chamada desse Caso Menor deverá ser atráves de uma condição

• O Relacionamento de Extensão serve para o Caso Menor só ser chamado se houver uma determinada condição no Caso Maior.






Figura 7. Representação dos Relacionamentos entre Atores de Extensão





5.3.3-Relacionamento de Generalização

• Relacionamento de Generalização é quando se tem uma Relação de um Caso de Uso Geral com um Específico

• Nesse caso então o Caso Específico representa o Caso Geral incluindo elementos adicionais isso é chamado de especialização.

• Generalização pode também ser chamada de herança pelo Caso mais específicos receber todos os atributos do Caso Geral.





Figura 8. Representação dos Relacionamentos de Generalização





Neste pequeno tutorial foi apresentado a base geral de um diagrama de Caso de Uso
Bem aqui está um link de um programa de modelagem de dados UML.

Star UML

http://baixaki.ig.com.br/download/StarUML.htm

Existem vários outros na Internet, mas esse eu recomendo por ser leve e gratuito.
Estou indo embora desejo bons estudos a todos até uma próxima oportunidade!!!!





quinta-feira, 18 de setembro de 2008

Programação orientada a objetos

Programação orientada a objetos
Por Adriano.gauss@yahoo.com

Algumas vantagens:
-Não revela dados
-Projeto Modular
-Reutilização de código

Classes
• Grupo de códigos que definem (instanciam) atributos e métodos utilizados para criar um ou mais objetos.

Objeto
• É uma entidade singular contendo métodos (ações) e atributos (características).
• Ele interage com o programa e sofre ações dos mesmos.
• As propriedades de um objeto são chamadas de atributo.

Atributos
• Os atributos das classes são utilizados para todos os objetos.
• Os atributos dos objetos são utilizados individualmente nos próprios objetos.

Modificadores de acesso
• São utilizados para definir níveis de acesso aos membros da classe
Ex: Private, Public, Protected...

Métodos
• Ações dos objetos. São definidos na classe e alteram seus atributos.

Construtores
• São métodos especiais que implementam ações necessárias para a existência de um objeto.

Herança
• É o mecanismo em que uma classe herda automaticamente todos os métodos e atributos de outra classe.

Tipos de herança
Simples
• São herdadas as propriedades de uma única classe.
Múltipla
• Quando tem mais de uma classe geradora.
• C# não utiliza herança múltipla e sim interfaces.

Encapsulamento
• Esconder do usuário informações que não são de seu interesse.

Classes abstratas
• São classes “ocas” servem de molde para outras classes, a implementação será feita pela classe que herdar o método.
• As classes abstratas não podem ser instanciadas através da palavra chave New.

Interfaces
• Uma interface possui somente métodos que não estão implementados e que devem ser implementados pela classe que usar a interface.