Post on 15-Oct-2015
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
1/20
Palmas2012
ADSON JOS HONORI DE MELOGERISVALDO DA COSTA MACEDOMRIO CSAR CARNEIRO FRANCO
MAURO MARTINS LEAL
SISTEMA DE ENSINO PRESENCIAL CONECTADOANLISE DE DESENVOLVIMENTO DE SISTEMAS
PORTFLIO DE GRUPO 3 SEMESTREDiagrama de atividades, modelagem de dados e programao orientadaa objetos na linha de frente da construo de sistemas informatizados.
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
2/20
Palmas2012
PORTFLIO DE GRUPO 3 SEMESTREDiagrama de atividades, modelagem de dados e programao orientadaa objetos na linha de frente da construo de sistemas informatizados.
Trabalho apresentado s disciplinas Algoritmos eEstruturas de Dados, Anlise de Sistemas, Seminrio III,Desenvolvimento Orientado a Objetos I e Banco deDados II da Universidade Norte do Paran - UNOPAR
Prof(s). : Marcio RobertoRoberto Y. NishimuraPolyanna GomesMerris Mozer
ADSON JOS HONORI DE MELOGERISVALDO DA COSTA MACEDOMRIO CSAR CARNEIRO FRANCO
MAURO MARTINS LEAL
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
3/20
SUMRIO
1 INTRODUO.....................................................................................................32 DESENVOLVIMENTO .........................................................................................42.1 UML DIAGRAMA DE ATIVIDADES...............................................................42.1.1 CENRIO ATUAL .........................................................................................42.1.1.1 GERENCIAR DEVOLUO......................................................................42.1.1.2 GERENCIAR EMPRSTIMOS..................................................................52.1.1.3 MANTER LIVROS .....................................................................................62.1.1.4 MANTER USURIOS................................................................................72.1.2 NOVO CENRIO ..........................................................................................72.2
MODELO CONCEITUAL COM MRN APLICADO...........................................10
2.3 MAPEAMENTO OBJETO RELACIONAL .......................................................112.4 LISTA ORDENADA ........................................................................................163 CONCLUSO ....................................................................................................18REFERNCIAS.........................................................................................................19
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
4/20
3
1 INTRODUO
O analista de sistemas deve garantir o alinhamento entre tecnologia
e estratgias organizacionais, os projetos de software devem conhecer o cenrio
organizacional em um nvel suficiente, a ponto de avaliar e sugerir melhorias, ou
mesmo reengenharia nos processos de negcio.
Este trabalho mostrar na prtica a importncia das tcnicas e
conceitos da UML, atravs do diagrama de atividades, bem como a modelagem de
dados na utilizao dos consagrados bancos de dados relacionais juntamente com a
programao orientada a objetos, viabilizando o sucesso dos sistemas no que tange
o alinhamento dos objetivos aos processos das organizaes.
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
5/20
4
2 DESENVOLVIMENTO
2.1 UML DIAGRAMA DE ATIVIDADES
O diagrama de atividades, geralmente apresentado como parte da
descrio funcional de um sistema, devido ao fato de especificar processos lgicos
(atividades do sistema e dos fluxos de dados ou decises). Nele so apresentadas
as relaes entre cada atividade de um determinado processo, em que podem ser
vistas as relaes de dependncia entre essas atividades, e quem so os
responsveis pelas suas execues.
2.1.1 CENRIO ATUAL
Respeitando ao mximo o texto da proposta e abstraindo algumas
situaes do cenrio atual da empresa sobre sua rotina de trabalho, estipulamos
que o cliente chega loja e vai at as prateleiras, escolhe o exemplar que deseja e
leva at o atendente para efetivar a locao. Ou ento, se a inteno devolver o(s)
livro(s) na sua totalidade, solicita ao funcionrio a baixa do emprstimo.
2.1.1.1 GERENCIAR DEVOLUO
Figura 1 diagrama de atividades (gerenciar devoluo total)
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
6/20
5
2.1.1.2 GERENCIAR EMPRSTIMOS
Figura 2 diagrama de atividades (gerenciar emprstimos)
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
7/20
6
2.1.1.3 MANTER LIVROS
Figura 3 diagrama de atividades (manter livros)
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
8/20
7
2.1.1.4 MANTER USURIOS
Figura 4 diagrama de atividades (manter usurios)
2.1.2 NOVO CENRIO
Para o novo cenrio com as alteraes significativas no processo de
devoluo fracionada e no de emprstimos, faremos tambm mudanas no fluxo de
trabalho, abstrairemos que agora o cliente no tem mais acesso s prateleiras, e o
funcionrio dever consultar o sistema a procura dos exemplares disponveis, para
somente ento, buscar o livro.
Daremos nfase aos dois processos que sofreram alteraes
significativas: emprstimo e devoluo.
Emprstimo: o funcionrio autenticado e pertencente ao
departamento de locaes consulta se o cliente cadastrado. No h mais a
condio de pendncia, ou seja, havendo ou no emprstimos em aberto,
permitido realizar um novo sem que o ltimo tenha sido finalizado. A multa ou
relocao ser tratada no processo de devoluo, uma vez que no antigo processo o
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
9/20
8
cliente pagava na hora de efetivar o emprstimo e no h na proposta inicial aluso
a multas ou relocaes automticas. O funcionrio consulta o livro solicitado pelo
cliente, podendo faz-lo pelo ttulo ou autor. O sistema checa a disponibilidade e
exibe os resultados. Informar a data do emprstimo. O sistema realiza o emprstimo
e emite o comprovante.
Figura 5 diagrama de atividades (gerenciar emprstimo - reformulado)
Devoluo: funcionrio autenticado e do departamento de locaes
consulta o sistema e exibe o emprstimo. Dever selecionar os exemplares e o
sistema calcular e exibir o valor a pagar incluindo possveis atrasos. O funcionrio
receber o valor e o sistema encerrar o emprstimo se for entregue todos os
exemplares ou dar baixa nos itens de emprstimo.
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
10/20
9
Figura 6 diagrama de atividades (gerenciar devoluo - reformulado)
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
11/20
10
2.2 MODELO CONCEITUAL COM MRN APLICADO
O modelo relacional foi inventado pelo Dr. Codd e
subsequentemente mantido e aprimorado por Chris Date e Hugh Darwen como um
modelo geral de dados.
A normalizao de dados uma srie de passos que se segue no
projeto de um banco de dados que permite um armazenamento consistente e um
eficiente acesso aos dados em um banco de dados relacional. Esses passos
reduzem a redundncia de dados e as chances dos dados se tornarem
inconsistentes.
Procuramos obedecer e respeitar todas as regras de negcios
impostas na proposta, entretanto, depois de uma minuciosa anlise em grupo,
assumimos algumas adaptaes visando melhorar a utilizao do software pelo
usurio e nos preocupando em no engess-lo na modelagem.
Por exemplo, quanto ao cadastro de autores, a regra de negcio diz
que um livro deve ter 1 ou vrios autores. Significa dizer, que ao se cadastrar um
autor, obrigatoriamente, devemos relacion-lo a um livro pelo menos.
Imaginemos que um funcionrio comprou 200 livros de uma grande
livraria e deseja cadastr-los antes mesmo de receb-los. Para isso, solicitou a outro
funcionrio que fosse lanando os nomes dos autores para depois agilizar o trabalho
de cadastro dos livros. Pela regra original isso no seria possvel!
Portanto, na nossa concepo de modelagem, deixamos em aberto
esta possibilidade colocando a cardinalidade de (0,n) na entidade AUTOR, ou seja,pode-se cadastrar N autores e depois na tela de cadastro de livros ligamos livro a
autor(es). Essa adaptao no fere a regra de negcios, pois ainda sim, um livro no
pode ser includo sem um autor.
Utilizamos o mesmo raciocnio na entidade LIVROS em relao
entidade EXEMPLAR.
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
12/20
11
Figura 7 modelo conceitual do sistema com alteraes
2.3 MAPEAMENTO OBJETO RELACIONAL
Tcnica de desenvolvimento utilizada para reduzir a impedncia da
programao orientada aos objetos utilizando bancos de dados relacionais. As
tabelas do banco de dados so representadas atravs de classes e os registros de
cada tabela so representados como instncias das classes correspondentes.
Com esta tcnica, o programador no precisa se preocupar com os
comandos em linguagem SQL; ele ir usar uma interface de programao simples
que faz todo o trabalho de persistncia.
A seguir, relacionamos as classes e seus respectivos cdigos
gerados a partir de nosso DER.
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
13/20
12
Classe Pessoa===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;
namespaceUnopar{classclasse_Pessoa{
privateintcodigo;privatestringnome;privateDateTimedat_nasc;
publicintCodigo{
get{ returncodigo; }set{ codigo = value; }
}publicstringNome{
get{ returnnome.Trim().ToUpper(); }set{
if((value.Length > 70) || (value.Length < 5))throw new Exception("o tamanho para este campo de 5 a 70
caracteres.");else
nome = value;}
}publicDateTimeDat_nasc{
get{ returndat_nasc; }set{ dat_nasc = value; }
}} // fecha classe Pessoa
}
Classe Funcionario===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{
classclasseFuncionario: classe_Pessoa{
privateintfunc_codigo;
publicintFunc_codigo{
get{ returnfunc_codigo; }set{ func_codigo = value; }
}}
}
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
14/20
13
Classe Cliente===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;
namespaceUnopar{classclasseCliente: classe_Pessoa{
privateintcli_codigo;publicintCLi_codigo{
get{ returncli_codigo; }set{ cli_codigo = value; }
}}
}
Classe Autor
===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{
classclasseAutor: classe_Pessoa{
privateintaut_codigo;publicintAut_codigo{
get{ returnaut_codigo; }set{ aut_codigo = value; }
}}}
Classe Livro===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{
classclasse_Livro{
privateintliv_codigo;privatestringliv_titulo;
publicintLiv_codigo{
get{ returnliv_codigo; }set{ liv_codigo = value; }
}
publicstringLiv_titulo{
get
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
15/20
14
{returnliv_titulo.Trim().ToUpper();
}set{
if(value.Length > 60)
thrownewException("Tamanho do nome invlido.");elseliv_titulo = value;
}
} // fecha public Liv_Codigo
} // fecha classe livro}
Classe Exemplar===========================================usingSystem;usingSystem.Collections.Generic;
usingSystem.Linq;usingSystem.Text;
namespaceUnopar{
classclasse_Exemplar{
privateintexem_codigo;privatestringexem_status;
publicintExem_codigo{
get{ returnexem_codigo; }set{ exem_codigo = value; }
}
publicstringExem_status{
get{ returnexem_status; }set{
if(value.Length > 10)thrownewException("o Status deve ter no mximo 10 caracters.");
elseexem_status = value;
}}
} // fecha classe exemplar}
Classe Classificao===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{
classclasseClassificacao{
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
16/20
15
privateintcla_codigo;privatedoublecla_valor;privatestringcla_tipo;
publicintCla_codigo{
get{ returncla_codigo; }set{ cla_codigo = value; }}publicDoubleCla_valor{
get{ returncla_valor; }set{
if((cla_valor.GetType() == typeof(Double))){
cla_valor = value;}else
cla_valor = 0;}
}publicstringCla_tipo{
get{ returncla_tipo; }set{
if ((value != "diamante") || (value!= "ouro") ||(value != "prata")||(value!= "bronze") )
thrownewException("erro no tipo da classificao");else
cla_tipo = value;}
}}
}
Classe Classificao===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{
classclasseDepartamento{
privateintdep_codigo;privatestringdep_nome;
publicintDep_codigo{
get{ returndep_codigo;}set{ dep_codigo = value; }
}
publicstringDep_nome{
get{ returndep_nome; }
set{if(dep_nome.Length > 20)
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
17/20
16
throw new Exception("Excedeu o limite de caracteres. Tamanhomximo de 20");
elsedep_nome = value;
}}
}}
Classe Emprestimo===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar
{classclasseEmprestimo
{privateintemp_codigo;privateDateTimeemp_datalocacao;privateDateTimeemp_datadevolucao;
publicintEmp_codigo{
get{ returnemp_codigo; }set{ emp_codigo = value; }
}
publicDateTimeEmp_datalocacao{
get{ returnemp_datalocacao; }set{ emp_datalocacao = value; }
}
publicDateTimeEmp_datadevolucao{
get{ returnemp_datadevolucao.AddDays(5); }set{ emp_datadevolucao = value; }
}}
}
2.4 LISTA ORDENADA
Uma lista a coleo de elementos de mesmo tipo, dispostos
linearmente, que podem ou no seguir uma organizao.
O cdigo abaixo escrito em C# solicita do usurio o tamanho da lista
e depois ordena pela data de devoluo do filme.
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
18/20
17
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;
namespaceUnopar
{ classProgram{
staticvoidMain(string[] args){
Console.Write("Quantos registros deseja inserir? ");intqtd = Int32.Parse(Console.ReadLine());
inti = 0;string[] cliente = newstring[qtd];DateTime[] dataEmprestimo = newDateTime[qtd];
while(i < qtd){
Console.Write("\nDigite o nome do usuario que fez a locao: ");
cliente[i] = Console.ReadLine().ToUpper().Trim();Console.Write("Data de locao (dd/mm/aaaa): ");dataEmprestimo[i] = DateTime.Parse(Console.ReadLine());i++;
}
Console.WriteLine("\n\n===========================================");intq = (cliente.Length) - 1;while(q >= 0){
DateTimedataDevolucao = dataEmprestimo[q].AddDays(5);Console.WriteLine("Cliente: \t"+ cliente[q] + "\nData Empr: \t"+
dataEmprestimo[q] + "\nData Devol: \t"+ dataDevolucao + "\n");q--;
}Console.WriteLine("===========================================");Console.ReadKey();
}}
}
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
19/20
18
3 CONCLUSO
O processo de modelagem do banco de dados merece destaque em
nossa avaliao, pois exercemos a essncia de nossa profisso: a anlise. Foram
bastante interessantes as discusses, reunies e ponderaes, medida que o
modelo tomava forma. Ficou latente, que em projetos de sistemas, vrias cabeas
pensantes trabalhando em colaborao so uma tima receita para construo de
solues eficazes e consistentes.
Conclumos nosso trabalho com a certeza do dever cumprido.
Estamos convictos da importncia de conhecermos bem os diversos benefcios
trazidos pela correta aplicabilidade das ferramentas UML, bem como o domnio dosconceitos de banco de dados relacionais casados ao paradigma de orientao a
objetos. A programao da FILA nos proporcionou a prtica de programao, to
importante na concretizao dos sistemas modelados e pensados.
5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo
20/20
19
REFERNCIAS
ASCENSIO, Ana Fernanda Gomes. Estrutura de Dados: algoritmos, anlise dacomplexidade e implementaes em Java e C/C++. So Paulo: Pearson Prentice
Hall, 2010.
NISHIMURA, Roberto Yukio. Banco de Dados II: sistemas. So Paulo: PearsonPrentice Hall, 2009.
WIKIPEDIA: http://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional
Orientador Pedro Pedreira:https://sites.google.com/site/orientadorpedropereira/Home/fundamentos-de-orientacao-a-objetos-e-uml/diagramas-de-classes