portfolio unopar
TRANSCRIPT
1
SISTEMA DE ENSINO PRESENCIAL CONECTADOANAISE E DESENVOLVIMENTO DE SISTEMAS
MARCOS AUGUSTO MOURA JORGE FILHO
PRODUÇÃO TEXTUAL INDIVIDUAL INTERDISCIPLINAR
Seabra - BA2012
2
MARCOS AUGUSTO MOURA JORGE FILHO
PRODUÇÃO TEXTUAL INDIVIDUAL INTERDISCIPLINAR
Trabalho apresentado ao Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistema da UNOPAR - Universidade Norte do Paraná, para as disciplinas - Análise de Sitemas III, Desenvolvimento Orientado a Objeto II, Ética e Responsabilidade Social, Comunicação de Dados e Teleprocessamentos, Linguagem e Técnicas de Programação III e Seminário IV.
Professores. Polyanna Pacheco, Paulo Kiyoshi, Sérgio de Goes, Anderson Emidio e Marcio Roberto Chiaveli.
Seabra - BA
2012
3
SUMÁRIO
1. Introdução --------------------------------------------------------------------- 04
2. Objetivo ------------------------------------------------------------------------- 05
3. Desenvolvimento ------------------------------------------------------------ 06
3.1 Diagrama de Classe ---------------------------------------------------- 06
3.2 Ética ------------------------------------------------------------------------- 08
3.3 Fibra Óptica --------------------------------------------------------------- 10
3.4 Aplicações Desktop Visual C# -------------------------------------- 12
3.5 ORM (Object Relacional Mapping) --------------------------------- 21
4. Conclusão ---------------------------------------------------------------------- 23
5. Referencias --------------------------------------------------------------------- 24
4
INTRODUÇÃO
Com base no cenário proposto “Nossa Locadora de Livros”, uma
empresa privada com fins lucrativos, apresenta a necessidade de contratar uma
empresa de TI (Tecnologia da Informação) para informatizar as primeiras rotinas de
escritório. Com a criação desse software a empresa possibilitará controlar os
empréstimos e devoluções dos livros com mais precisão e controle sobre os
mesmos.
Sendo assim, essa produção de texto interdisciplinar busca realizar
alguns passos de como se implementar tecnologia da informação em uma empresa.
Foi criado um Diagrama de Classe onde serão colocadas em prática as
funcionalidades no projeto do software, apresentando sua importância, mas sem
esquecer como é trabalhar na prática as questões éticas e as características de uma
empresa responsável socialmente.
Outro ponto analisado é sobre as fibras ópticas, uma tecnologia
muito usada nos dias de hoje para a comunicação de dados, identificando as
vantagens na sua utilização. Será apresentado como é um processo de construção
de uma aplicação desktop utilizando o Visual Studio com C# para uma conexão com
o banco de dados e um breve tutorial para descrever esse processo que estará
presente no software da empresa “Nossa Locadora de Livros”.
Para fortalecer ainda mais essas informações foi levantado um
estudo sobre ORM (Object Relational Mapping) mapeamento objeto relacional,
citando as ferramentas usadas para auxiliar neste processo, onde será proposto as
vantagens e desvantagens na utilização dessa técnica.
5
OBJETIVO
A referida produção textual proposta neste quarto semestre de
análise e desenvolvimento de sistemas tem por objetivo aplicar os conceitos de
todas as disciplinas apresentadas nesse semestre de forma interdisciplinar, com o
proposito comum de fazer a interação de todos os assuntos para um melhor
entendimento dos alunos do mesmo.
6
DIAGRAMA DE CLASSE
Na linguagem de programação, o diagrama de classe é uma
importante ferramenta para a documentação de um sistema de software, sendo ele o
mais importante diagrama da UML. Segundo FOWLER (2000, p. 57), “Um diagrama
de classe descreve os tipos de objetos no sistema e os vários tipos de
relacionamentos estáticos que existem entre eles”.
O modelo de classe resulta de um processo de abstração onde são
identificados os objetos relevantes do sistema em estudo. Um objeto é uma
ocorrência que tem interesse para o sistema em estudo e que se pretende descrever
no seu ambiente, contendo identidade e comportamento.
Partindo desse cenário temos os conceitos de diagrama de classe:
Classe: A classe é um elemento abstrato que representa um conjunto de
objetos, contendo as especificações do objeto e suas características: atributos
e métodos (ações / comportamentos).
Atributo: Características da classe:
Visibilidade: Pública, onde outras classes tem acesso aos
atributos; Privada, o atributo só pode ser acessado diretamente
pela própria classe e Protegida, que é acessado pelo
relacionamento da classe como a classe externa.
Nome: Identificação do atributo.
Tipo de dados: Tipo de dados do atributo.
Multiplicidade: Os relacionamentos.
Valor inicial: Depende muito da linguagem de programação.
Propriedade: Características do elemento.
Operação: Função requerida a um objeto.
Nome.
Visibilidade.
Parâmetros.
Associação: Relacionamento entre as classes.
Nome: Nome da associação.
Multiplicidade.
Navegação: De onde vêm as informações da classe e para onde
vai.
7
Com base nas informações sobre o diagrama de classe será
desenvolvido a modelagem do cenário proposto “Nossa Locadora de Livros”, para
um melhor entendimento sobre o assunto:
8
ÉTICA
A gestão socialmente responsável abrange temas que vão desde
códigos de ética, práticas de boa governança corporativa, compromissos públicos
assumidos pela empresa, gestão e prevenção de riscos, até mecanismos
anticorrupção, diversidade, bem como a extensão desses compromissos por toda a
cadeia produtora envolvida na relação com os fornecedores.
Segundo Rodrigues e Souza (1994, p. 13), “a Ética é um conjunto de
princípios e valores que guiam e orientam as relações humanas”. Ser ético,
portanto, é buscar sempre estar de bem consigo mesmo, combater vícios e
fraquezas, cultivar virtudes, proteger e preservar a vida e a natureza é buscar ser
feliz. O mesmo requer nas empresas, onde a prática da ética nas organizações
exige convicção, vontade política e competência adequada para tornar as ações
empresariais concretas e objetivas, minimizando as resistências e as
incompreensões.
A organização pautada na gestão da responsabilidade social
necessita assumir determinados tipos de compromisso, direcionados a garantir o
bem-estar dos seus colaboradores ou dos grupos sociais impactados direta ou
indiretamente com suas atividades. A responsabilidade social corporativa reflete a
necessidade de as empresas devolverem benefícios às comunidades nas quais
estão instaladas e podemos citar como exemplo: campanhas de arrecadação de
alimentos e agasalhos, ou doações materiais ou financeiros.
LIMA, (2002) afirma que a cidadania empresarial corresponde ao
exercício pleno da responsabilidade social pela empresa. O exercício da cidadania
empresarial é resultante das ações internas e externas de responsabilidade social
desenvolvida pelas empresas. Com isso, a empresa torna-se cidadã quando retribui
para o desenvolvimento da sociedade por meio de ações sociais direcionadas para
suprir ou atenuar as principais carências dela em termos de serviços e infraestrutura
de caráter social, não que isso seja uma obrigação, mas que seja de forma
involuntária, tendo apenas o sentimento de ajudar ao próximo.
O atendimento ao cliente é sem dúvida um dos grandes diferenciais,
referindo à competitividade no mercado. A principal causa é a crescente exigência
do público consumidor, e a concorrência acirrada entre as empresas do mesmo
9
ramo onde o menor preço nem sempre é o principal diferencial. Nesse contexto
englobam aspectos que determinam os direitos e deveres de ambas as partes, mas
o mais importante é manter o bom relacionamento com o cliente, reconhecendo as
eventuais falhas ou erros da empresa no processo e agir sempre de forma ética.
Como dizia Santos (1999, apud Ourives, 2006. p6), nos dias de hoje é preciso
pensar e pensar rápido, com coragem e ousadia, numa nova ética, para o
desenvolvimento.
Como produto deste programa, são coletadas as sugestões de todos
os empregados e seus dependentes com relações às ações sociais prioritárias a
serem implementadas pela empresa, firmando um compromisso entre empresa e
funcionário, confirmado por Nash (1993, p.6): “a ética dos negócios é o estudo da
forma pela quais normas morais pessoais se aplicam às atividades e aos objetivos
da empresa comercial”, ou seja, a ética empresarial estabelece as normas de
conduta humana dentro das organizações e também determina o bom
relacionamento entre empresa, funcionário e cliente.
Portanto, os profissionais envolvidos no sistema devem sempre
manter preocupação e atenção com a ética, concentrando-se em dois grandes
pontos: estar cumprindo suas obrigações legais, dentro das normas
preestabelecidas; e que mesmo que os clientes não tenham seus desejos atendidos,
ter a preocupação para com os próximos, para não acontecer os eventuais erros.
Dessa forma, o empresário poderá fornecer programas para o desenvolvimento
administrativo que incorpore a ética nos treinamentos internos da empresa, pode
assim, alcançar todos os níveis hierárquicos, fazendo com que a ética seja praticada
amplamente por todos, sem distinção, prevalecendo o respeito mútuo.
10
FIBRA ÓPTICA
A fibra óptica é um tipo de meio de transmissão, geralmente
composto por silício amorfo, capaz de conduzir a luz. O princípio de funcionamento é
bem simples e de fácil entendimento. Trata-se de um guia de onda de luz formado
por um núcleo e uma casca com índices de refração diferentes.
Sendo assim, para que ocorra o efeito da reflexão interna total, é
obrigatório que o índice de refração do núcleo seja maior que o índice de refração da
casca, fazendo com que a onda luminosa curve-se para o interior da casca e
prolongue ao longo da fibra óptica, assim, através de reflexões sucessivas, a luz
trafega de um equipamento para o outro em fibras monomodo e multimodo.
As fibras ópticas são divididas em dois tipos: A fibra óptica
multimodo está diretamente relacionada ao diâmetro no núcleo, já as fibras ópticas
do tipo monomodo possuem diâmetros de núcleo muito menores de ordem de 10
micrômetros que as fibras ópticas multimodo, sendo de 50 micrômetros.
Um bom exemplo a ser citado é das grandes redes de operadoras
de telecomunicações, onde são construídas a partir de cabos com fibra óptica do
tipo monomodo. Isso se dá pelo fato que as fibras ópticas monomodo apresentam
melhor desempenho na característica de atenuação do sinal, pois permite que a
rede seja mais abrangente, melhor dizendo, que o sinal possa ser levado a
distâncias bem maiores.
É de grande importância ressaltar que a contratação de dados gera
um certo custo, e o valor cobrado pelas operadoras de telecomunicações não segue
uma regra especifica, pois não existe uma tabela de preços de acordo com a taxa de
dados requerida, o valor de um circuito será determinado pelo mercado. Por
exemplo: Possui uma região onde várias operadoras de telecomunicações atuem, o
valor dos circuitos serão mais baixos por uma questão óbvia de concorrência direta,
mas se em uma determinada localidade apenas uma operadora atue, o custo do
mesmo circuito (mesma taxa) será maior.
Levando em conta essas informações acima e ainda a facilidade de
acesso a fibra óptica ao cliente final, pode ter variações de até uns 900% no preço
final de um circuito. Sendo assim, considerando link óptico e equipamentos inclusos
os preços podem variar:
11
Circuito de 2048 Kbps -> de R$ 700,00 à R$ 1.500,00.
Circuito de 64 Kbps -> de R$ 100,00 à R$ 1.000,00
No geral, possuem várias taxas possíveis entre as citadas acima,
bem como taxas superiores a 2048 Kbps, porém estas são as mais comuns. De fato
essa solução pode não ser a mais barata, mais se apresenta extremamente viável
em situações que exigem confiabilidade aliada à garantia de banda de transmissão,
onde o circuito do cliente nunca irá ficar inoperante, mesmo sabendo que qualquer
sistema está sujeito a falhar, mais com essas condições as falhas se tornam quase
nulas.
Exemplo de fibra óptica:
12
APLICAÇÃO DESKTOP VISUAL C#
Por meio de pesquisa será desenvolvida passo-a-passo uma
aplicação de cadastro simples de Cliente em Windows Forms usando a linguagem
C# e a conexão SQL com o banco de dados. Esse pequeno tutorial apresentará,
com exceção da criação do banco de dados e das tabelas, todo o resto será via
código, desde a criação dos métodos de acesso aos dados, até os métodos de
inclusão, exclusão, consulta e atualização dos dados.
Será dado inicio com a criação de um novo projeto do tipo Windows
Forms. O nome dado será CadastrodeClientes e clique em “OK”.
O Próximo passo é abrir o Server Explorer (CTRL + W + L), clique
com o botão direito em cima Data Connections e clique em Create New SQL
Server Database:
13
Em Server Name, escolha o nome do seu servidor SQL, em Log on
the Server, deixe como Use Windows Authentication, dê o nome de Clientes ao
seu DataBase e clique em “OK”. Em seguida, dará pra ver que o database foi
criado. Expandindo-o, clique com o botão direito em Table e clique em Add New
Table.
A tabela cliente foi criada como exemplo, onde IDCliente será a
Primary Key clicando em Set Primary Key no menu acima:
Salve a tabela com o nome tbCliente. Lembre-se de especificar que
a coluna IDCliente é Identity, terá um número próprio, assim não precisará
especificá-lo na hora da inserção dos dados. Só alterar a opção, Is Identity, como
mostra a imagem abaixo:
De inicio será ciada 3 botões no formulário:
Inserir, Excluir e Atualizar e fazer as instruções SQL via código. Mais a frente
14
faremos a consulta aos dados inseridos por meio do controle DataGridView, do
Visual Studio.
Nas propriedades dê os nomes de btnInseris, btnExcluir e btn
Atualizar. A Partir de agora entrará a linha de comando do código do botão Inserir,
será necessário também passar a string de conexão do banco de dados.
Segue abaixo todo o código comentado do botão Inserir:
private void btnInserir_Click(object sender, EvantArgs e)
{
try
}
//Instancio o SqlConnection, passando como parâmetro a string de conexão ao banco
SqlConnection conn = new SqlConnection (@”Data Source=FULANO-505050\SQLEXPRESS;
Initial Catalog=Clientes; Integrated Security=True; Polling=False”);
// Instancio o SqlConnection, responsável pelas instruções SQL e
//Passo ao SqlCommand que a conexão que ele usará é o SqlConnection
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
//No CommandText do SqlCommand, passo a instrução SQ referente à inserção dos dados
comm.CommandText = “INSERT INTO tbCLIENTES (NOMECLIENTE,
ENDERECOCLIENTE, “ + BAIRRO, ESTADO, TELEFONECLIENTE, CELULARCLIENTE,
EMAILCLIENTE) “ +
//Nos Values, passo os valores parametrizados usando @ para garantir a segurança dos
dados
“VALUE (@NOMECLIENTE, @ENDERECOCLIENTE, @BAIRRO, @ESTADO, “ +
“ @TELEFONECLIENTE, @CELULARCLIENTE, @EMAILCLIENTE) “+
//Agora passo os valores parametrizados por meio do método AddWithValue
comm.Parameters.AddWithValue (“@NOMECLIENTE”, Marcos”);
comm.Parameters.AddWithValue (“@ENDERECOCLIENTE”, Rua A, 00”);
comm.Parameters.AddWithValue (“@BAIRRO”, Centro”);
comm.Parameters.AddWithValue (“@ESTADO”, Bahia”);
comm.Parameters.AddWithValue (“@TELEFONECLIENTE”, 0000-0000”);
15
comm.Parameters.AddWithValue (“@CELULARCLIENTE”, 0000-0000”);
comm.Parameters.AddWithValue (“@EMAILCLIENTE”, [email protected]”);
//Abro a concexão e uso o método ExecuteNonQuery, após fecho a conexão
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
//Exibo uma mensagem no usuário de inserção realizada com sucesso
MessageBox.Show(“Dados inseridos com sucesso!”, “Mensagem”,
MessagerBoxButtons.OK, MessagerBoxIcon. Information);
}
Se tudo foi feito como no exemplo, aparecerá a mensagem dizendo
que a inclusão foi realizada com sucesso quando você for executar o programa.
Agora vamos codificar o botão Excluir.
private void btnExcluir_Click(object sender, EvantArgs e)
{
try
}
SqlConnection conn = New SqlConnection (@Data Source FULANO-505050\
SQLEXPRESS; Initial Catalog=Cliente;Integrated Security=True;Pooling=False”);
SqlCommand comm = new Sql Command();
comm.Connection = conn;
comm.CommandText = “DELETE FROM tbCLIENTE WHERE IDCLIENTE =
@IDCLIENTE”;
comm.Parameters.AddWithValue (“@IDCLIENTE”, 1);
conn.Open();
comm.ExecuteNonquery();
conn.Close();
MessageBox.Show(“Dados atualizados com sucesso!”, “Mensagem”,
MenssageBoxButtons.OK, MenssagerBoxIcon.Information);
}
catch (Exception)
{
throw;
}
}
Neste exemplo alteramos somente o Endereço, Telefone e Email,
mais você pode alterar todos os campos se assim achar necessário. Salve, compile
e veja o resultado na sua tabela.
16
Antes do Update:
Depois do Update:
A partir de agora iremos customizar o formulário de Cadastro de
Clientes, adicionaremos texbox e usaremos o controle dataGridview, do C#. Ficará
assim:
Como se pode perceber, foram colocados os campos referentes às
colunas da tabela, com exceção da coluna ID, que é Identity (tem uma contagem
pré-definida) e não precisa ser informada. Os nomes dos controles usados na
propriedade (NOME) ficarão assim:
Labels: lblMensagem, lblNome, lblEndereco, lblBairro, lblEstado, lblTelefone,
lblCelular e lblEmail.
TextBoxes: txtMensagem, txtNome, txtEndereco, txtBairro, txtTelefone,
txtCelular e txtEmail.
ComboBox (também chamado de DropDownlist): ddlEstado.
Button: btnGravar, btnNovo e btnVerCadastros.
Voltando ao formulário, pode-se perceber que foi alterado também
os 3 botões que antes eram Inserir, Excluir e Atualizar e que agora passam a se
17
chamar Gravar Cadastro, Novo Cadastro e Ver Cadastro. Como os campos tem
um limite de caracteres, temos que fazer o mesmo nos texboxes que receberão os
dados. Por exemplo, na coluna Nome, foi atribuído o valor máximo de 50 caracteres.
Para que façamos
o mesmo no txtNome, devemos alterar a propriedade MaxLength (que está com o
valor padrão, que é 32767) para 50. Faça isso com os demais controles, com
exceção do ComboBox de Estado que já terá os valores atribuídos a ele e o usuário
só precisará escolher um valor. Finalmente adicionaremos os códigos do botão de
gravar:
try
{
//Instancio o SqlConnection, passando como parâmetro a string de conexão ao banco
SqlConnection conn = new SqlConnection (@Data Source=FULANO-505050\SQLEXPRESS;
Inicial Catalog=Clientes;Integrated Security=True;Pooling=False”);
//Instancio o SqlCommand, responsável pelas instruções SQL e
//Passo ao SqlCommand que a conexão que ele usará é o SqlConnection
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
//No CommandText do SqlCommad, passo a instrução SQL referente a inserção dos dados
comm.CommandText = “INSERT INTO tbCLIENTE (NOMECLIENTE, ENDERECOCLIENTE,”
+ “BAIRRO, ESTADO, TELEFONECLIENTE, CELULARCLIENTE, EMAILCLIENTE) “ +
//Nos Values, passo os valores referentes aos controles digitados pelo usuário
“ VALUE (@NOMECLIENTE, @ENDERECOCLIENTE, @BAIRRO, @ESTADO, “ +
“ @TELEFONECLIENTE, @CELULARCLIENTE, @EMAILCLIENTE) “ ;
comm.Parameter.AddWithValue (“@NOMECLIENTE”, txtNome.Text);
comm.Parameter.AddWithValue (“@ENDERECOCLIENTE”, txtEndereco.Text);
comm.Parameter.AddWithValue (“@BAIRRO”, txtBairro.Text);
comm.Parameter.AddWithValue (“@ESTADO”, ddlEstado.SelectedItem.Tostrig());
comm.Parameter.AddWithValue (“@TELEFONECLIENTE”, txtTelefone.Text);
comm.Parameter.AddWithValue (“@CELULARCLIENTE”, txtCelular.Text);
18
comm.Parameter.AddWithValue (“@EMAILCLIENTE”, txtEmail.Text);
//Abro a conexão, uso o método ExecuteNonQuery e fecho a conexão
conn.Open( );
comm.ExecuteNonQuery( );
conn,Close( );
//Exibo ao usuário a mensagem de inserção efetuada com sucesso
MessagerBox.Show (“Dados atualizados com sucesso!”, “Mensagem”,
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Logo acima de nosso código, dentro do Try/Catch, coloque este If,
que verifica se os controles estão diferentes de string.Empty (que significa que não
há valores inseridos). Se estão, o processamento normal de gravação continua.
Senão, eles entram no Else abaixo, que exibe uma mensagem de erro ao usuário:
Será criado o método do botão Novo, que irá limpar os dados dos
campos para o usuário fazer um novo cadastro. Insira o seguinte código:
private void btnNovo_Click(object sender, EventArgs e)
{
try
{
if (MessagerBox.Show(“Deseja cancelar o cadastro e fazer um novo?”, “Mensagem do
Sistema”,
MessagerBoxButtons.YesNo, MessegeBoxIcon.Question) == DialogResult.Yes)
{
txtNome.Text = “ ”;
txtEndereco.Text =” ”;
txtBairro.Text = “ ”;
txtEstado.SelectedIndex = -1;
txtTelefone.Text = “ “;
txtCelular.Text = “ “;
txtEmail.Text = “ “;
}
}
catch (Expextion)
{
19
throw;
}
Agora vamos ao método do botão Ver Cadastros, que nos vai
mostrar um DataGridView com todos os cadastros criados. Antes disso, temos que
criar um novo form. Para isso, abra a Solution Explorer (CTRL + W + S), clique com
o botão direito no projeto, clique emAdd > Windows Form e dê o nome
de VerCadastros. Agora abra a ToolBox (CTRL + W + X), vá ao submenu Data e
arraste ao seu form o controle DataGridView. Precisamos adicionar
um DataSource ao nosso Grid. Para isso, clique na seta ao lado do Grid e clique
em Choose Data Source > Add Project Data Source, como mostra a imagem:
Na tela que aparece, escolha Database como fonte de dados e
clique em Next. Na próxima tela, selecione o Database referente a sua tabela de
Clientes, clique para ver a string de conexão e clique em Next.
20
Na próxima tela, deixe selecionada a opção para salvar sua string de
conexão, troque o nome dela se desejar e clique em Next. Na próxima tela escolha
os objetos do banco que você deseja importar para seu Grid, dê um nome a seu
DataSet e clique em Finish:
O
Grid agora está com as informações provenientes da nossa tabela
de Clientes. Salve seu form e volte ao for de Cadastro. Dê dois cliques no botão Ver
Cadastro e apenas insira o código abaixo para ver o form criado com o grid:
private void btnVerCadastros_Click(object sender, EventArgs e)
{
try
{
VerCadastros frmVercadastros = new VerCadastros();
frmVerCadastros.Show();
}
catch (Exception
{
throw;
}
}
Agora compile o projeto, clique no botão Cadastro e veja o grid
preenchido, como mostra a imagem:
21
ORM (Object Relacional Mapping)
Um ORM (Mapeamento Objeto Relacional) é um método poderoso
para concepção e consulta de modelos de dados no nível conceitual, onde a
aplicação é descrita em termos facilmente compreendidos pelos usuários não
técnicos. Podendo ser descrito também como um Framework ou um conjunto de
classes que permite fazer esse trabalho sem precisar escrever códigos de conexão
com o banco de dados, querys de SQL a todo o momento, preservando as
características de orientação a objetos da linguagem face à natureza relacional dos
bancos de dados atuais.
Na prática, os modelos de dados ORM normalmente captam mais
regras de negócio, e são mais fáceis de validar e evoluir do que os modelos de
dados em outras abordagens. Sendo assim, o mapeamento objeto-relacional é uma
técnica que visa diminuir a chamada impedância entre o modelo de objetos e o
modelo relacional em Banco de Dados.
As ferramentas ORM, fornecem funcionalidades através do
mapeamento entre o modelo de negócio lógico e o modelo físico de
armazenamento, facilitando a implementação do modelo de domínio padrão.
Contudo, as ferramentas fornecem uma série de serviços, assim, permitindo que os
desenvolvedores se concentrem na lógica de negócio do aplicativo ao invés de
CRUD repetitivo (Ler, Criar, Atualizar e Deletar) lógico.
Vantagem de se usar um ORM
Escreve-se menos código e programa com muito mais produtividade;
Melhora a padronização da sua aplicação;
Gerenciamento de transações e isolamento. Todas as mudanças ocorrem
de objetos com escopo de uma transação. Toda a transação pode ser
confirmada ou revertida. Operações múltiplas podem ser ativas na
memória ao mesmo tempo;
É mais fácil de dar manutenção no projeto;
Navegação. Pode se navegar relações de objeto transparente. Objetos
relacionados são carregados automaticamente quando necessário.
22
Desvantagem de se usar um ORM
Dados e comportamento não são separados;
Cada tecnologia ORM / produto tem um conjunto diferente de APIs e
portar códigos entre eles não é fácil.
Exemplo de um código em .Net usando ORM:
Usuario.AddNew();
Usuario.FirstName = this.txtFirstName.Text;
Usuario.LastName = this.txtLastName.Text;
Usuario.Save();
Ferramentas que auxiliam no processo do ORM:
Gentle.NET – Características: Persistência, Querys, Cache e
Relacionamento;
Subsonic – Características: Persistência, Coleções, Suporte a alguns
bancos, Querys, Configuração rápida, Releases Rápidos;
NHibernate – Características: Persistência, Herança, Relacionamento,
Querys, Suporte a vários bancos, Transações e muito mais;
CODUS – Características: Persistência, Herança, Relacionamento,
Suporte a vários bancos, Querys, NUnit, WebServices, Coleções, Suporte
a Nhibernate/Ibatis,Gentle;
ObjectMapper – Características: IDE UML que mapeia para o ORM
(Npersist e Nhibernate);
DataObjects.NET – Características: Persistência, Herança,
Relacionamento, Querys, Suporte a vários bancos, Transações,
Segurança, Remoting.
23
CONCLUSÃO
Em virtude dos fatos mencionados, este trabalho interdisciplinar
buscou enfatizar de forma clara a necessidade que muitas empresas têm em
desenvolver software para informatizar seus serviços, com o objetivo de atender a
demanda que cresce a cada dia mais. Foi proposto ainda, a criação de um diagrama
de classe e suas características, mostrando como seriam implementadas as
funcionalidades no projeto, identificando no contexto a noção de uma empresa
responsável socialmente. Sendo assim, o texto buscou familiarizar o leitor, das
práticas de como se desenvolver passo-a-passo um software.
24
REFERENCIAS
CALDEIRÃO, Denise Morselli Fernandes – Ética e responsabilidade social :
sistemas IV / Denise Morselli Fernandes Caldeirão, Thiago Nunes Bazoi, Nádia
Brunetta. – São Paulo : Person Prentice Hall, 2009.
Disponível em: http://www.devmedia.com.br/
Disponível em: http://pt.wikipedia.org/wiki/Fibra_%C3%B3ptica
Disponível em: http://gilmarborba.com.br/?p=184
Disponível em: http://www.youtube.com/watch?v=bqU0JSWOHbU
DENNY, Ercílio A. Ética e sociedade. Capivari: Opinião E., 2001
FLORES, Emerson Ricardo – Linguagens e técnicas de programação III :
sistemas / Emerson Ricardo Flores. – São Paulo : Person Prentice Hall, 2009.
NASH, Laura, Ética nas Empresas: boas intenções a parte. São Paulo: Makron
Books, 2001.
TANAKA, Simone Sawaski – Análise de sistemas III : sistemas / Simone Sawaki
Tanaka. – São Paulo ; Person Prentice Hall, 2009.