Escolar Documentos
Profissional Documentos
Cultura Documentos
ario de An
apolis - UniEVANGELICA
Cursos Superiores de Computac
ao
RONIE
DE
NOGUEIRA
ANAPOLIS
JUNHO 2011
JESUS
Anapolis - UniEVANGELICA.
Orientador: Luciana Nishi
ANAPOLIS
JUNHO 2011
Termo de Aprova
c
ao
Trabalho de conclusao de curso I aprovado como requisito parcial para obtencao do grau
de Bacharel em Sistemas de Informacao do Programa de Graduacao dos cursos superiores
UniEVANGELICA
UniEVANGELICA
UniEVANGELICA
Dedicat
oria
A quem eu dedico,
Dedico esse trabalho primeiramente a Deus que sempre me deu forcas pra lutar nos momentos de adversidade, minha mae que nao se faz mais presente mas
que se nao fosse por ela eu nao estaria aqui hoje, meu
pai e a toda minha familia e amigos.
Agradecimentos
ii
Sum
ario
Lista de Siglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Referencial Te
orico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1
Engenharia de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OpenUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1
4.1.1.1
4.2
4.2.1
4.3
4.4
Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.5
5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Refer
encias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
iii
Ap
endice A -- Primeiro ap
endice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
iv
Lista de Siglas
UML
MVC
W3C
SGBD
XHTML
HTML
XML
CSS
Resumo
Este projeto propoe a criacao de um sistema que tem como objetivo simplificar e facilitar a
administracao de horas complementares dos discentes dos cursos superiores de computacao
2.1
Objetivos
Objetivos Gerais
2.2
Objetivos Especficos
Desenvolver um software que solucione o problema da administracao das horas complementares dos discentes;
Buscar e usar uma metodologia de desenvolvimento que melhor se encaixe no contexto do software;
Produzir os artefatos, documentacao, arquitetura e modelagem de negocio do sistema;
Desenvolver o sistema seguindo o padrao de desenvolvimento web W3C para facil
manutencao;
Aplicar o conceito do padrao de arquitetura de software MVC durante toda a fase
de analise e desenvolvimento do software.
Justificativa
no fracasso do sistema.
Procurar uma metodologia de desenvolvimento para um projeto real e algo que
faz parte de qualquer projeto de software e no caso deste projeto nao e diferente. Tem
se o proposito de construir uma aplicacao que auxilie a secretaria de cursos superiores de
computacao quanto ao registro de horas complementares dos discentes, e o uso de uma
metodologia de desenvolvimento e uma arquitetura apropriada sao itens necessarios para
o sucesso desse sistema.
Este trabalho sera de grande ajuda as pessoas que se interessam ou trabalham na
area de desenvolvimento e analise de sistemas, e tambem para demonstrar a importancia
de se utilizar um padrao de arquitetura de software e um padrao de desenvolvimento para
facil manutencao do sistema apos sua conclusao.
Referencial Te
orico
Apresentacao do embasamento teorico necessario para o desenvolvimento do projeto, dissertando os conceitos de engenharia de software, ciclos de vida, banco de dados
e padroes de desenvolvimento web passando por todas as etapas do desenvolvimento de
software. Conceitos de varios autores sobre o assunto.
4.1
Engenharia de Software
A engenharia tem o significado de maquinar, inventar e produzir, ou seja, usar
o conhecimento para construir algo, seja um software, casa, predio com base cientifica e
emprica. A engenharia e a arte das construcoes aliando a teoria e pratica. E a engenharia
de software nao e diferente ela surgiu para auxiliar em todos os aspectos na construcao
de um software.
A engenharia de software e uma disciplina da engenharia que se ocupa de todos os
aspectos da producao de software, desde os estagios iniciais de especificacao do sistema ate
a manutencao desse sistema, depois que ele entrou em operacao (SOMMERVILLE, 2007).
Engenharia de software e metodologia para desenvolvimento de solucoes de software, ou seja, roteiro que pode utilizar diversas tecnicas (REZENDE, 2006).
A engenharia de software tem como objetivo sistematizar a criacao, a manutencao,
a evolucao e a recuperacao de produtos intensivos de software, de modo que os prazos
estipulados sejam cumpridos e os custos estimados tambem.
A engenharia de software e os seus metodos proporcionam os detalhes de como
construir um software e todos esses metodos envolvem um conjunto de tarefas como:
planejamento de projeto, analise de requisitos de software e de sistemas, projetos da
estrutura de dados, arquitetura de software, codificacao, testes e manutencao do sistema.
Um metodo de engenharia de software e uma abordagem estruturada para o
4.1.1
OpenUP
O OpenUP e um processo unificado de desenvolvimento no qual se e aplicado
10
Fonte: http://epf.eclipse.org/wikis/openup/
Nota: Fases do ciclo de vida do OpenUp
Na figura 1 uma ilustra como a iteracao funciona, o plano de projeto primeiramente define o ciclo de vida, e definido o ciclo de cada iteracao e cada iteracao gera um
micro incremento.
O Open UP, assim como o RUP e um processo iterativo incremental de desenvolvimento de software e esta estruturado em 3 camadas distintas ciclo de vida de projeto,
ciclo de vida de iteracao e ciclo de vida de micro incremento (OpenUP Processo Unificado,
2010).
11
Fonte: http://epf.eclipse.org/wikis/openup/
Nota: Fases do ciclo de vida do OpenUp
12
2010).
Os testes sao feitos por cada iteracao e acontecem logo apos os desenvolvedores
terem desenvolvido a solucao e integrado na base do codigo. Os testes ajudam a garantir
que a versao que foi recem implementada e estavel e disponvel, e assim que o desenvolvimento evolui.
Um dos objetivos do OpenUP e a reducao dos riscos no inicio do ciclo de vida.
Todo trabalho esta listado, controlado e atribudo atraves de uma lista de itens de trabalho. Os membros da equipe devem usar um repositorio de tarefas que precisam ser registradas e monitoradas, incluindo todas as solicitacoes e bugs (epf.eclipse.org/wikis/openup/,
2010).
4.2
4.2.1
13
Fonte: http://epf.eclipse.org/wikis/openuppt/
Nota: Interaca
o dos atores com o sistema
14
4.3
como objetivo separar logica de negocio da logica de apresentacao permitindo que desenvolvimento, manutencao e testes sejam feitos de forma independente um do outro.
O MVC foi originalmente descrito em 1970 por Trygve Reenskaug, que no momento estava trabalhando na plataforma smalltalk.
Basicamente uma aplicacao que segue o padrao Model View Controller e dividida
em tres camadas. As letras que compoem o nome desse padrao representam cada um
desses aspectos (DALLOGLIO, 2007).
Model tem como significado modelo pois ele define e gerencia o domnio de informacao e tambem notifica aos observadores quando ha mudanca nos dados. Representa
o modelo que e responsavel pela forma que
toda a informacao que a aplicacao controla. E
o dado e armazenado e pela interacao com o banco de dados.
Figura 4: Diagrama de Caso de Uso
Fonte: http://epf.eclipse.org/wikis/openuppt/
Nota: Interaca
o dos atores com o sistema
O modelo (model ), esta camada tem como objetivo definir a interface com o
usuario, como serao distribudos e organizados todos os elementos na tela na interface do
15
usuario.
A camada de visualizacao deve ser responsavel pela visualizacao, nao exercendo
qualquer tipo de controle de fluxo da execucao da aplicacao, tampouco devera conter
logica de negocios (DALLOGLIO, 2007).
O controller tem a funcao de receber e encaminhar todos os dados e ele que
inicia a resposta ao utilizador ao invocar objetos do modelo. Ele tambem responsavel por
toda a validacao e filtragem de dados. Os controladores sao formados por um conjunto
de objetos que recebem informacoes das views e tem a responsabilidade de atualizar os
models de acordo com as requisicoes dos usuarios.
Segundo (DALLOGLIO, 2007) na camada do controlador teremos a manipulacao
dos inputs dos usuarios, sua interpretacao e a execucao das tarefas correspondentes.
4.4
Banco de Dados
Um banco de dados e projetado, construdo e povoado por dados atendendo a
16
jetista entrevista o possvel usuario do banco de dados para entender e documentar seus
requisitos de dados.
O esquema conceitual e uma descricao dos requisitos de dados dos usuarios e
inclui descricoes detalhadas de tipos de entidade, relacionamento e descricoes. (ELMASRI,
2004)
O ultimo passo e a fase do projeto fsico, durante a qual sao definidas as estruturas
de armazenamento interno, ndices, caminhos de acesso e organizacoes de arquivos para
arquivos do banco de dados.
4.5
Padr
oes Web W3C
Chamamos de padroes web o conjunto de documentos e normas que tem como
17
18
Metodologia
computacao da UniEVANGELICA.
A pesquisa bibliografica sera realizada a partir de meios disponveis como livros,
artigos, web sites, teses, entre outros, tornando se fonte de pesquisa para o trabalho a ser
feito, colaborando entao para a criacao do referencial teorico.
E para a elaboracao desse projeto algumas etapas foram criadas para a realizacao
da pesquisa bibliografica do mesmo, sao elas:
O entendimento do tema do projeto com suas delimitacoes sobre quais assuntos
serao mais pertinentes `a serem abordados, e se desenvolvendo uma visao primaria,
delimitando no escopo do projeto quais assuntos serao abordados no referencial
teorico e quais artefatos serao desenvolvidos junto com o projeto;
Identificacao de teorias que abordam o tema do projeto, tais como livros de engenharia de software, banco de dados, UML, analise de projetos, sistemas de informacao,
buscando entao obras relacionadas ao tema do projeto proposto.
Criacao do documento que apresentara as etapas do trabalho e seus respectivos
produtos com os seus respectivos topicos tais como: introducao, referencial teorico,
desenvolvimento e consideracoes finais;
Elaboracao do documento do plano de projeto de software especificando todo o
planejamento da construcao do prototipo, desde a fase de levantamento de requisitos
ate sua implementacao;
Construcao e implementacao do prototipo de software, seguindo as regras da Engenharia de Software, e tendo como apoio as referencias teoricas citadas.
19
Justificando que todo o processo tera revisoes, correcoes a fim de mostrar a clareza
de tal processo.
Por isso tal metodologia mostrou metodos para o desenvolvimento de software
de forma clara, objetiva e cientfica, passando pelas etapas tracadas em meio a varias
opinioes sobre o projeto e sempre embasando nos conceitos e princpios das ciencias computacionais.
20
Cronograma
21
Refer
encias
22
APENDICE
A -- Primeiro ap
endice
Documento de Visao.