You are on page 1of 20

SISTEMA DE ENSINO PRESENCIAL CONECTADO

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS.
André Filipe Rosa Marques
Gielton Noruel Leite Alves Ribeiro
Gileno Lopes da Silva
Giovanni Alvarenga Gajo
Raphael Gustavo do Nascimento
Raul Pereira Silva
Ricardi Tadeu de Carvalho

DESENVOLDIMENTO DE PROJETO DE EMPRESA

LAVRAS
2015

André Filipe Rosa Marques
Gielton Noruel Leite Alves Ribeiro
Gileno Lopes da Silva
Giovanni Alvarenga Gajo
Raphael Gustavo do Nascimento
Raul Pereira Silva
Ricardi Tadeu de Carvalho

DESENVOLDIMENTO DE PROJETO DE EMPRESA

Trabalho de Análise de Desenvolvimento de Sistemas
apresentado à Universidade Norte do Paraná - UNOPAR,
como requisito parcial para a obtenção de média
bimestral nas disciplinas do 5º Semestre.
Orientadores: Profs.: Prof. Márcio Roberto Chiaveli.
Luis Claudio Perini e Marco Ikuro Hisatomi.
Veronice de Freitas.

Lavras
2015

6 Cronograma das Atividades...........................10 3.............................1............14 3...........................3 2 OBJETIVO...........1............................................1......3 PROJETO ORIENTADO A OBJETOS...................................6 3................................1....................................1 Engenharia e projeto de software..........................................................................10 3.......................................................5 3............................................2 Arquitetura de sistema distribuído............................3 Arquitetura de aplicações.................................................................5 3................18 REFERÊNCIAS.......................................................11 3.............................................................................5 EAP – Estrutura Analítica do Projeto..........................4 3 DESENVOLVIMENTO......................................16 CONCLUSÃO.....................1 4 Visões de arquitetura de arquitetura...........................................1...........................................................5 3......................................................1..........3......8 3.2 PROGRAMA PARA WEB II..................................9 3......................................................................................1 Projeto de arquitetura.........................................................19 ............5 3.....................1............SUMÁRIO 1 INTRODUÇÃO...................................4 Gerenciamento de configuração..........................7 Relação dos envolvidos no projeto.................................................................................................

3 1 INTRODUÇÃO .

bem como apresentar proposta do projeto abordando o projeto de arquitetura. criar um projeto Java Web. criar um projeto gerenciável baseado no PMBoK. . gerenciamento de configurações. arquitetura dos sistemas distribuídos. arquitetura de aplicações. e por fim criar um diagrama para representar a arquitetura do sistema.4 2 OBJETIVO O presente trabalho tem por objetivo apresentar o projeto de uma empresa fictícia de representações.

1.1. a qual é composta de elementos de software.5 3 DESENVOLVIMENTO. é a abstração do sistema. disponibilidade e a facilidade de manutenção. previamente definidos. estilos. Utilizam-se frameworks. segurança. É importante reutilizar e adotar estratégias previamente validadas. Para o projeto em questão será utilizado a arquitetura modelo cliente-servidor. a divisão de responsabilidades entre outros fatores. O uso da arquitetura é baseado em componentes. A arquitetura cliente-servidor é modelo distribuído de sistema que mostra como os dados e processamentos são distribuídos por uma variedade de .1 Projeto de arquitetura A arquitetura de software é a estrutura (ou estruturas) do sistema. por isso avaliar essas arquiteturas e escolher a que mais se adéque as suas necessidades. 3. que define a relação entre componentes. A escolha certa dessa arquitetura pode influenciar e muito em um projeto de software. A definição está baseada na escolha de alternativas mais adequadas ao domínio da aplicação. das propriedades externamente visíveis desses elementos. Estabelecendo um processo criativo de organização de sistema que satisfaça os requisitos funcionais e não funcionais do sistema. Visando o desempenho. justamente por envolver uma abordagem orientada ao reuso de software em larga escala. 3. proteção.2 Arquitetura de sistema distribuído Um sistema distribuído é uma "coleção de computadores independentes entre si que se apresenta ao usuário como um sistema único e coerente". padrões e linguagens de descrição de componentes.1 Engenharia e projeto de software 3. e dos relacionamentos entre eles.

ainda foi a melhor escolha do modelo. onde ficarão os bancos de dados da aplicação. gerenciamento de dados.6 componentes. etc.1. Na figura 1 está representada o funcionamento da arquitetura de 3 camadas. assim. Os motivos da escolha dessa arquitetura foi que a distribuição de dados dela é direta. temos também a Camada de Lógica de Negócio (Servidor de Aplicação).3 Arquitetura de aplicações Uma arquitetura muito comum em aplicações Web é o Modelo Arquitetural 3 Camadas. onde rodará a aplicação Web (no nosso caso Java) e uma camada de apresentação. Nessa arquitetura temos uma Camada de Persistência (Servidor de Banco de Dados). e faz o uso efetivo dos sistemas em rede podendo assim utilizar um hardware mais barato outro fator que chamou a atenção é que é fácil adicionar novos servidores ou atualizar servidores existentes. apesar desse fato. os subsistemas usam diferentes organizações de dados. Funcionamento da Arquitetura 3 Camadas Separar as camadas em máquinas diferentes oferece um bom desempenho para aplicações que são acessadas por diversos clientes simultâneos. que é representada pela máquina cliente que acessa a aplicação. Estabelece servidores independentes que fornecem serviços específicos. 3. tais como impressão. Essa arquitetura pode apresentar desvantagens com nenhum modelo de dados compartilhado. . É uma rede que permite aos clientes acessar os servidores. Figura 1. Estabelece clientes que acessam esses serviços.

Microsoft SQL Server etc. A figura 2 representada abaixo mostra melhor o funcionamento de uma aplicação Web no Modelo Arquitetural 3 Camadas: Figura 2. é fundamental que os servidores estejam preparados para suportar a aplicação. Tendo em vista essa arquitetura. o Servidor de Aplicação e de Banco de Dados pode estar junto em uma mesma máquina. Para isso eles precisam estar equipados com softwares necessários para rodar a aplicação web. O servidor de aplicação deve possuir o interpretador da linguagem. Tal SGBD pode ser: MySQL. como por exemplo: Tomcat (Java). Modelo 3 Camadas . O servidor de banco de dados deverá ter o SGBD adequado para a aplicação. Oracle.7 Porém. PostGreeSQL.

Uma aplicação Web nada mais é do que a troca de mensagens entre um computador cliente e um Web Server. documento de requisitos.   Fase Prospecção o o o Roteiro de Prospecção Modelo de Negócio Plano de Ação Fase Concepção o o o Modelo de Negócio Documento de Requisitos Plano de Projeto .8 Web Server é o conjunto formado pelo Servidor de Aplicação e o Servidor de Banco de Dados. são importantes serem colocados sob a gerência de configuração para auxiliar em uma futura manutenção do sistema (seja ela corretiva. A seguir. 3. a equipe de qualidade tem a liberdade de definir quais outros artefatos. Os pontos mais fortes da escolha dessa arquitetura foram: Facilidade de reaproveitamento de código. programas (código-fonte). organizados pelas fases do processo de venda e desenvolvimento de software. Facilidade de manutenção e adição de recursos.Maior integração da equipe e/ou divisão de tarefas. evolutiva ou preditiva). Uma baseline serve como uma fotografia capaz de descrever um projeto em um determinado instante de sua execução. modelos de dados e casos de teste são mantidos como itens de configuração. Normalmente. o plano de projeto. bem como as iterações que ocorrem entre eles.1.4 Gerenciamento de configuração Devem ser selecionados pela Equipe de Qualidade da empresa os artefatos a serem controlados como itens de configuração do sistema a ser desenvolvido. desenvolvidos em meio ao processo de desenvolvimento de software.Facilidade em manter o seu código sempre limpo. Entretanto. são listados os itens de configuração que poderão compor a baseline de um projeto.

Estrutura Analítica do Projeto . Figura 3. organizada e pequena o suficiente para tornar possível a medição do progresso. mas não detalhada o suficiente para se tornar. um obstáculo à realização do projeto. A EAP deve ser completa. No presente projeto a estrutura analítica será realizada de acordo com a Figura 3.5 EAP – Estrutura Analítica do Projeto A EAP é uma decomposição hierárquica do escopo total do trabalho a ser executado pela equipe do projeto a fim de alcançar os objetivos do projeto e criar as entregas requeridas. ela mesma.9 o o o o o o o Projeto IHM Relatório de Análise dos Requisitos Arquitetura do Software Cronograma Relatório de Viabilidade do Projeto Fluxo de Caixa Plano de Ação 3.1.

Um bom projeto começa pelo consenso entre todos os envolvidos no sentido de trabalharem em prol de um objetivo comum.1.6 Cronograma das Atividades A essência do cronograma das atividades é a composição de uma lista de atividades interligadas por relações de dependência. O grande segredo do cronograma é a identificação do caminho crítico. Tabela 1 – Cronograma das atividades para desenvolvimento do projeto Atividades 1 2 3 4 5 6 7 8 1º Semestres de desenvolvimento 2º 3º 4º 5º 6º 7º 8º Definição Hospedagem Definição do Servidor Análise do Sistema Levantamento de Requisitos Desenvolvimento/Criação Testes Operacionais Implementação Finalização 3. Corrente crítica.7 Relação dos envolvidos no projeto Os principais envolvidos no desenvolvimento do projeto devem participar do planejamento do mesmo.1. possibilita a identificação e controle da data de realização de atividades. . etc. que aplicadas sobre um calendário e após a análise da disponibilidade de recursos humanos/matérias. A relação dos envolvidos deve ser atualizada no decorrer da execução.) que aumentem a probabilidade de entregar o projeto no prazo estipulado. pois apenas com essa técnica o gerente de projeto tem a possibilidade de aplicar técnicas de controle (Fast Track.10 3. Na Tabela 2 estão listados os envolvidos na execução do projeto e seus respectivos envolvimentos. O cronograma do presente projeto está representado na Tabela 1. Crashing. buffers.

está representado um exemplo de tela de cadastro e tela de listagem de usuários criada com o auxilio do PrimeFaces e seus respectivos códigos. A seguir. entre outros.Relação dos envolvidos no projeto I D 1 2 Nome José Silva João Pereira 3 Ana da Silva 4 Maria Assunção Organização/Carg o Gerente de Projetos Engenheiro Analista de Sistemas Analista de RH Envolvimento Gerente do Projeto Representante do departamento de engenharia Representante do departamento de T. seguindo o padrão Model View Controler (MVC). Atualmente existem diversos frameworks para construção de interfaces ricas com o JSFS.11 Tabela 2 . . que na época era o principal framework para implementar aplicações nesse padrão. nas figuras 3 e 4 . menus. Atualmente esse framework está na versão 5 e contém um grande número de componentes de formulários. ela surgiu como uma alternativa ao Struts. listagem.2 PROGRAMA PARA WEB II O JSF é uma referência para o desenvolvimento de aplicações Web com Java. Utilizando alguns dos principais componentes do PrimeFaces é possível criar telas e ajudar no reduzir grande parte gasto no tempo de desenvolvimento do sistema. Apoio acadêmico 3. Um dos principais é o PrimeFaces que disponibiliza diversos componentes.I.

nome}" /> <p:outputLabel for="senha" value="Senha:" /> <p:inputText id="nome" id="senha" .org/1999/xhtml" xmlns:h="http://java.id}" /> <p:outputLabel for="nome" value="Nome:" /> <p:inputText value="#{UsuarioMB.12 Figura 4.org/ui"> <h:head> </h:head> <h:body> <h:form> <p:messages id="messages" /> <p:panelGrid columns="2"> <p:outputLabel for="id" value="ID:" /> <p:spinner id="id" value="#{UsuarioMB.sun. Tela de Cadastro de Usuários Código fonte da tela representada na Figura 4: <html xmlns="http://www.usuario.sun.com/jsf/html" xmlns:f="http://java.usuario.com/jsf/core" xmlns:p="http://primefaces.w3.

org/ui"> <h:head> </h:head> <h:body> <h:form> .com/jsf/core" xmlns:p="http://primefaces.cadastraUsuario}" update="messages"> </p:commandButton> </p:panelGrid> </h:form> </h:body> </html> Figura 5.usuario.senha}" /> <p:outputLabel for="descricao" value="Descrição:" /> <p:inputTextarea id="descricao" value="#{UsuarioMB.descricao}" /> <p:commandButton value="Cadastrar" icon="ui-icon-star" action="#{UsuarioMB.13 value="#{UsuarioMB.usuario.org/1999/xhtml" xmlns:h="http://java.sun. Tela de Relatório de Usuários Código fonte da tela representada na Figura 5: <html xmlns="http://www.com/jsf/html" xmlns:f="http://java.sun.w3.

descricao}" /> </p:column> <p:column headerText="Data de Cadastro"> <h:outputText value="#{usuario. Basicamente. mas ela lhe auxilia a visualizar seu desenho e a comunicação entre os objetos.nome}" /> </p:column> <p:column headerText="Senha"> <h:outputText value="#{usuario.senha}" /> </p:column> <p:column headerText="Descrição"> <h:outputText value="#{usuario.dataCadastro}" /> </p:column> </p:dataTable> </h:form> </h:body> </html> 3. a UML permite que desenvolvedores visualizem os produtos de seus trabalhos em diagramas padronizados. isto é.usuarios}"> <p:column headerText="Id"> <h:outputText value="#{usuario.id}" /> </p:column> <p:column headerText="Nome"> <h:outputText value="#{usuario. semântica. mas o primeiro pode existir independentemente. a UML também especifica significados. Junto com uma notação gráfica. diagramas de componentes e diagramas . É uma notação independente de processos. É importante distinguir entre um modelo UML e um diagrama (ou conjunto de diagramas) de UML. a qual não é uma metodologia de desenvolvimento.Unified Modeling Language) é uma linguagem de modelagem que permite representar um sistema de forma padronizada. embora o RUP (Rational Unified Process) tenha sido especificamente desenvolvido utilizando a UML. o que significa que ela não diz para você o que fazer primeiro e em seguida ou como projetar seu sistema. UML .3 PROJETO ORIENTADO A OBJETOS Na área de Engenharia de Software. Os diagramas de classe.14 <p:dataTable var="usuario" value="#{UsuarioMB. O último é uma representação gráfica da informação do primeiro. a Linguagem de Modelagem Unificada (do inglês.

Diagrama de classe Figura 7.15 de pacotes do presente projeto estão representados nas Figuras 6. Diagrama de componentes . 7 e 8. Figura 6.

Normalização das estruturas de dados e derivação de relacionamentos de cardinalidade múltipla em entidades associativas são práticas inerentes a essa abordagem. Portanto. Como o próprio nome indica.3. além do estreito alinhamento a um modelo corporativo . que vem a ser um esquema da tecnologia de banco de dados utilizado para viabilizar a realização de um projeto de arquitetura de dados. Diagrama de pacotes 3. compondo um desenho detalhado a partir do qual líderes de projeto e desenvolvedores possam trabalhar com relativa independência.16 Figura 8. o plano tecnológico está focado em elementos reais e tangíveis a serem utilizados na implementação da arquitetura de dados do projeto. a sua concepção está ligada à necessidade de suportar a implementação de um modelo que visa ao atendimento das necessidades de um negócio e que direciona as decisões sobre as soluções de tecnologia a serem adotadas.1 Visões de arquitetura de arquitetura Uma arquitetura física de dados de um sistema de informação é parte de um Plano de Tecnologia. Uma arquitetura lógica de dados descreve com precisão as propriedades e os relacionamentos de cada uma das entidades de dados envolvidas em um domínio organizacional ou problema de negócio a ser resolvido com apoio de TI. Arquitetura Física de Dados engloba "arquitetura de banco de dados".

17 previamente concebido e de alguma preocupação com padrões de implementação da arquitetura de banco de dados. .

Foi desenvolvido a implementação de um sistema de cadastro e de consulta/relatório. garantindo assim a utilização eficiente dos recursos. Criar um projeto gerenciável baseado no PMBoK possibilita a padronização do gerenciamento do projeto. bem como a comunicação entre os integrantes da equipe e subcontratados. Por fim foram determinados os diagramas da UML. . a qual permite representar um sistema de forma padronizado. que auxilia a visualizar seu desenho e a comunicação entre os objetos. nas fases iniciais. arquitetura dos sistemas distribuídos. a qual se mostrou adequada para tal projeto. o que possibilitou colocar em prática o conhecimento de utilização de tal linguagem de programação.18 4 CONCLUSÃO Durante o desenvolvimento de um projeto de software se faz importante que a proposta contenha o projeto de arquitetura. através de um projeto Java Web. reduzindo a ocorrência de surpresas negativas e custos de desenvolvimento do mesmo. Fornece informações sobre o real andamento do projeto. redução consideravelmente o número de atividades que podem ser esquecidas. arquitetura de aplicações e o gerenciamento de configurações.

portalarquiteto. PORTAL DO ARQUITETO:<http://www.elirodrigues. Um Guia do Conhecimento em Gerenciamento de Projetos (Guia PMBOK®) — Quinta Edição PORTAL GERENCIAMENTO DE PROJETOS: <Www./490> acessado em 25 de maio de 2015.wikipedia. PORTAL ELI RODRIGUES.contecsi.fea.br/envio/index.19 REFERÊNCIAS Livro. ©2013 Project Management Institute..org/wiki/Computa %C3%A7%C3%A3o_distribu%C3%ADda> <Http://pt.com.COM: <Http://www. .wikipedia.br/arquitetura-desoftware/> acessado em 25 de maio de 2015. PORTAL MANDRADO.php/contecsi/2contecsi/.org/wiki/NetBeans> acessado em 25 de maio de 2015.usp.mandrado.COM: <Http://www.com/gerenciamento-do-ciclo-de-vida-de-software/1gerenciamento-de-configuracao-de-software> acessado em 25 de maio de 2015. PORTAL WIKIPEDIA: <http://pt.com/serie-como-fazer-um-cronograma/como-fazer-umcronograma-parte-1/> acessado em 25 de maio de 2015..