Escolar Documentos
Profissional Documentos
Cultura Documentos
SUMRIO
1 INTRODUO............................................................................................................
3
2 OBJETIVOS................................................................................................................
4
2.1 Geral.........................................................................................................................
4
2.1.1 Especificos............................................................................................................
4
3 ENGENHARIA E PROJETO DE SOFTWARE..............................................................
5
3.1. Engenharia e Projeto de Software - Proposta de projeto (desafio 1) ...................
5
3.1.2 Engenharia e Projeto de Software - projeto gerencivel baseado no PMBoK
(desafio 2) ......................................................................................................................
5
3.2 PROGRAMAO PARA WEB II Desafio 3.............................................................
6
3.3 PROJETO ORIENTADO A OBJETOS Desafio 4..................................................
6
4 CONCLUSO.............................................................................................................
7
5 REFERNCIAS...........................................................................................................
7
1 INTRODUO
Este trabalho visa apresentar um pouco sobre a Engenharia e Projeto de
Software como meio para promover o desenvolvimento de aplicativos para os
diversos usos corporativos e institucionais e suas implicaes no desenvolvimento
de projetos focando no gerenciamento por meio da ferramenta PMBOK. Tambm
ser abordada a programao voltada para Web II, com uso de framework para
linguagem Java. Cabe ressaltar que a engenharia de software e o gerenciamento
de projetos so elementos indispensveis no bom desenvolvimento de aplicativos e
manuteno dos existentes, que em alguns casos podem vir a ser substituidos por
outros ou ter sua vida prolongada devido ao seu grande valor para a empresa
possuidora.
2 OBJETIVOS
2.1 GERAL
Analisar o ambiente da empresa China Telecom propondo uma
abordagem com foco nas tecnologias mais recentes na area de gesto
de projetos e programo Web.
2.1.1 ESPECFICOS
Criar um modelo de projeto utilizando a ferramenta PMBOK.
Propor a utilizao de tecnologia framework para Java na
programao para Web.
Criar diagramas de um projeto orientado a Objetos.
uma arquitetura de sistema aberto que permite que novos recursos sejam
adicionados.
3.10 Corba.
O Corba considera um objeto como se fosse um encapsulamento de
atributos e servios, como normal em objetos. O Corba deve ter uma definio de
interface separada que define atributos e operaes publicas do objeto. as interfaces
so definidas por uma linguagem de definio de interface padronizada independe
de linguagem. Os objetos corba tem um nico identificador chamado de referencia
de objeto interoperavel. Esse IOR usado quando um objeto solicita servios de um
SOP. Define uma organizao para troca estruturada de dados entre WEB
SERVICES.
- Arquitetura de aplicaes.
3.12 Sistemas de processamento de dados.
So aplicaes voltados a dados. Elas Processam dados em lotes
sem intervenes explicitas do usurio durante o processamento. As Aes
explicitas tomadas pela aplicao dependem dos dados que so processados. Os
sistemas de processamento em lotes so normalmente usados em aplicaes de
negcios nas quais as operaes similares so realizadas sobre uma grande
quantidade de dados. Eles tratam de uma grande variedade de funes
administrativas, como folha de pagamento, cobrana, contabilidade e publicidade.
Essas aplicaes enfocam os dados. Os bancos de dados so geralmente maiores
que os sistemas de informaes (SI). Os sistemas de processamento de dados
selecionam os dados de registros de entrada e, dependendo do valor dos campos
nos registros, tomam algumas aes especificadas no programa. Eles podem,
ento, enviar o resultado novamente do processamento ao banco de dados e
formatar a entrada e a sada processada para impresso. Os sistemas de
processamento de dados possuem 3 componentes principais:
1. Entrada. A entrada coleta as entradas de uma ou mais fontes.
2.
3.
essas entradas.
banco de dados e ou impressas.
Os componentes de entrada , processamento e de sada podem ser
decompostos ainda em uma estrutura entrada-processamento-sada. Exemplo: Um
componente de entrada pode ler algum dado de um arquivo ou banco de
dados(entrada) e corrigir alguns erros (processo) e, depois enfileirar os dados
validos para processamento (sada).
So sistemas orientados a funes, pois os registros e as
transaes so processados em serie, sem necessidade de manter o estado entre
as transaes.
3.13 Sistemas de processamento de transaes.
Os sistemas de transaes so projetados para processar
solicitaes de informaes por usurios de um banco de dados. Tecnicamente uma
sequencia de operaes tratada como uma unidade simples (uma unidade
atmica). Todas as operaes tem que ser realizadas antes que as mudanas
tornem-se permanentes no banco de dados. Os sistemas de processamento de
transaes so geralmente sistemas interativos nos quais os usurios enviam
solicitaes assncronas de servio. Primeiro um usurio faz uma solicitao para o
sistema atravs de um componente de processamento de entrada/sada. A
solicitao processada por alguma lgica especifica da aplicao. Uma transao
criada e passada para um gerenciador de transaes, que em geral incorporado
10
11
12
13
14
que descreve a mudana necessria para o sistema. Uma vez que o formulrio de
solicitao de mudana enviado, ele deve ser registrado no banco de dados de
configurao. A solicitao de mudana ento analisada para verificar se a
mudana solicitada necessria. Para mudanas validas, o estagio seguinte a
avaliao da mudana e o custo. O impacto da mudana no restante do sistema
deve ser verificado. Isso envolve todos os componentes afetados pela mudana. Se
realizar a mudana significa que mudanas adicionais em alguma parte do sistema
so necessrias, isso aumenta claramente o custo de sua implementao. Em
seguida as mudanas necessrias para os mdulos do sistema so avaliadas.
Finalmente, o custo para realizar a mudana estimado, considerando os custos de
mudana nos componentes relacionados.
3.19 Gerenciamento de verses e releases.
Os processos envolvidos no gerenciamento de verses e relases
preocupam-se com a identificao e a manuteno da rastreabilidade das verses
de um sistema. Gerentes de verses idealizam procedimentos para assegurar que
as verses de um sistema possam ser recuperadas quando solicitadas e no sejam
alteradas acidentalmente pela equipe de desenvolvimento. Para produtos, os
gerentes trabalham com a equipe de marketing, e , para sistemas feitos sob
encomenda, com os clientes, para planejar quando novos releases de um sistema
devem ser criados e distribudos para implantao. Um release do sistema uma
verso distribuda aos clientes. Cada release deve incorporar novas funcionalidades
ou ser planejado para uma plataforma diferente de hardware.
3.19.1 Identificao de verses.
Para criar uma verso especifica de um sistema, voc precisa
especificar as verses dos componentes de sistema que devem ser includas nele.
Voc no pode usar o nome do item de configurao para identificar a verso,
porque ele pode ter muitas verses para cada item de configurao identificado. A
trs tcnicas bsicas para identificao da verso de componentes.
1. Numerao de verses. O componente recebe um numero
explicito e nico de verso. Isso o mais comumente usado no esquema de
identificao.
2.
15
16
ndice Analtico
1. Introduo 4
1.1 Finalidade 4
1.2 Escopo 4
1.3 Definies, Acrnimos e Abreviaes 4
1.4 Referncias 4
1.5 Viso Geral 5
2. Viso Geral do Projeto 5
2.1 Finalidade, Escopo e Objetivos do Projeto 5
2.2 Suposies e Restries 5
2.3 Produtos Liberados do Projeto 5
2.4 Evoluo do Plano de Desenvolvimento de Software 5
3. Organizao do Projeto 5
3.1 Estrutura Organizacional 5
3.2 Interfaces Externas 6
3.3 Papis e Responsabilidades 6
4. Processo de Gerenciamento 7
4.1 Estimativas do Projeto 7
4.2 Plano de Projeto 7
4.2.1 Plano de Fase 7
4.2.2 Objetivos das Iteraes 7
4.2.3 Releases 7
17
ARTEFATO
Tudo que produzido e documentado em qualquer atividade de qualquer fluxo do
projeto. Por exemplo: documento de requisitos, diagrama de casos de usos e glossrio.
A EAP fundamental para o projeto, pois, fornece uma viso estruturada do que
ser entregue facilitando o entendimento das partes interessadas em relao ao que deve ser
feito (escopo) no projeto, alm, de servir de base para o planejamento das outras reas de
conhecimento.
Entradas, Ferramentas e Sadas do Processo 5.4 Criar a EAP (Guia PMBOK)
O processo de subdiviso das entregas e do trabalho do projeto em
componentes menores e mais facilmente gerenciveis. J o principal benefcio desse
processo o fornecimento de uma viso estruturada do que deve ser entregue.
Os objetivos do desenvolvimento de uma EAP e do Dicionrio da EAP servem
1 Para a equipe do projeto planejar de forma proativa e logicamente o projeto at a
concluso.
2 Para coletar as informaes sobre o trabalho que precisa ser feito para um projeto, e
3 Para organizar as atividades em componentes gerenciveis que iro atingir os objetivos do
projeto . A EAP e Dicionrio da EAP no so o cronograma , mas os blocos de construo
para ele.
18
19
20
Clientes e usurios;
Acionistas e investidores;
Gerentes funcionais;
Concorrentes;
21
Para criao do projeto Java Web foi selecionado a IDE Eclipse e foi estruturado
assim:
2.
3.
4. Foi criado os seguintes arquivos:
5. portfoliogrupo5 > src > banco > BancoDeClientes.java
6. portfoliogrupo5 > src > banco > HibernateUtil.java
7. portfoliogrupo5 > src > bean > ClienteBean.java
8. portfoliogrupo5 > src > modelo > Cliente.java
9. portfoliogrupo5 > src > hibernate.cfg.xml
10. portfoliogrupo5 > WebContent > tema > template.xhtml
11. portfoliogrupo5 > WebContent > views > cliente.xhtml
12. portfoliogrupo5 > WebContent > WEB-INF> lib > [ colocado
aqui ]
13. portfoliogrupo5 > WebContent > WEB-INF> faces-config.xml
14. portfoliogrupo5 > WebContent > WEB-INF> web.xml
15. portfoliogrupo5 > WebContent > index.html
16. portfoliogrupo5 > WebContent > index.xhtml
17.
18.
19.
20.
21.
22.
23.
24. Arquivo BancoDeClientes.java:
25. package banco;
26.
27. import modelo.Cliente;
28.
29. import org.hibernate.Session;
30. import org.hibernate.Transaction;
31.
32. public class BancoDeClientes {
33.
as *.jar necessrias
22
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
sessao = HibernateUtil.getSession();
tx = sessao.beginTransaction();
sessao.save(u);
tx.commit();
System.out.println("ENTREI =======================>
AQUI = COMMIT");
} catch (Exception ex) {
System.out.println("ENTREI =======================>
AQUI = ROLLBACK");
49.
50.
tx.rollback();
51.
ex.printStackTrace();
52.
} finally {
53.
if (sessao != null) {
54.
try {
55.
sessao.close();
56.
} catch (Exception e) {
57.
e.printStackTrace();
58.
}
59.
}
60.
}
61.
return null;
62.
}
63.
64. }
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80. Arquivo HibernateUtil.java:
81. package banco;
82.
83. import org.hibernate.Session;
84. import org.hibernate.SessionFactory;
85. import org.hibernate.Transaction;
86. import org.hibernate.cfg.AnnotationConfiguration;
87. import org.hibernate.cfg.Configuration;
88.
89. public class HibernateUtil {
90.
private static SessionFactory sessionFactory;
23
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
Arquivo ClienteBean.java:
package bean;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import banco.BancoDeClientes;
import modelo.Cliente;
@ManagedBean(name = "beanCliente")
@SessionScoped
public class ClienteBean {
BancoDeClientes bdc = new BancoDeClientes();
Cliente cliente = new Cliente();
public String salvar(){
bdc.salvar(cliente);
// ------ tesete - visualiza no console -------------System.out.println(cliente.getTelefone());
System.out.println(cliente.getCPF());
System.out.println(cliente.getNome());
System.out.println(cliente.getDataCadastro());
return "sucesso";
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
}
Arquivo Cliente.java:
package modelo;
24
150. import java.util.Date;
151.
152. import javax.persistence.*;
153.
154. @Entity
155. @Table(name = "ct_cliente")
156. public class Cliente {
157.
@Id
158.
private String telefone;
159.
@Column
160.
private String CPF;
161.
@Column
162.
private String nome;
163.
@Column
164.
private Date dataCadastro;
165.
166.
public String getTelefone() {
167.
return telefone;
168.
}
169.
public void setTelefone(String telefone) {
170.
this.telefone = telefone;
171.
}
172.
public String getCPF() {
173.
return CPF;
174.
}
175.
public void setCPF(String cPF) {
176.
CPF = cPF;
177.
}
178.
public String getNome() {
179.
return nome;
180.
}
181.
public void setNome(String nome) {
182.
this.nome = nome;
183.
}
184.
public Date getDataCadastro() {
185.
return dataCadastro;
186.
}
187.
public void setDataCadastro(Date dataCadastro) {
188.
this.dataCadastro = dataCadastro;
189.
}
190. }
191.
192.
193. Arquivo hibernate.cfg.xml:
194. <?xml version="1.0" encoding="utf-8"?>
195. <!DOCTYPE hibernate-configuration PUBLIC
196.
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
197.
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
198. <hibernate-configuration>
199.
<session-factory>
200.
201.
<!-- Configuraes da conexo -->
202.
<property
name="connection.driver_class">com.mysql.jdbc.Driver</property>
203.
<property
name="connection.url">jdbc:mysql://localhost:3306/bddados</property>
204.
<property name="connection.username">root</property>
205.
<property name="connection.password">root</property>
206.
25
207.
<!-- Impresso do SQL na sada padro -->
208.
<property name="show_sql">true</property>
209.
<property name="format_sql">true</property>
210.
211.
<!-- Dialeto utilizado -->
212.
<property
name="dialect">org.hibernate.dialect.MySQLDialect</property>
213.
<property name="hbm2ddl.auto">update</property>
214.
215.
<!-- Classes anotadas -->
216.
<mapping class="modelo.Cliente" />
217.
218.
</session-factory>
219. </hibernate-configuration>
220.
221. Arquivo template.xml:
222. <?xml version='1.0' encoding='UTF-8' ?>
223. <!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
224. <html xmlns="http://www.w3.org/1999/xhtml"
225.
xmlns:h="http://java.sun.com/jsf/html"
226.
xmlns:ui="http://java.sun.com/jsf/facelets"
227.
xmlns:p="http://primefaces.org/ui">
228. <h:head>
229.
<title>Portflio em Grupo 5 Semestre</title>
230. </h:head>
231. <h:body>
232. <p:layout fullPage="true">
233. <p:layoutUnit position="north" size="0"
234. header=":: Desafio 3 ::" resizable="false"
235. closable="false collapsible="false"
236. style="font-size: 20px; font-family: Vedana">
237. </p:layoutUnit>
238. <p:layoutUnit position="west" size="200" header="Menu"
239. resizable="false" closable="false"
240. collapsible="false">
241.
<p:menu style="width: 180px">
242.
<p:submenu label="Administrativo">
243.
<p:menuitem value="Pgina Inicial"
244. url="/index.jsf" />
245.
</p:submenu>
246.
<p:submenu label="Cadastros">
247.
<p:menuitem value="Clientes"
248.
url="/views/cliente.jsf" />
249.
</p:submenu>
250.
</p:menu>
251. </p:layoutUnit>
252.
<p:layoutUnit position="center" header="Sistema">
253.
<ui:insert name="content"></ui:insert>
254.
</p:layoutUnit>
255.
<p:layoutUnit position="south" size="50"
256. header="China Telecom" resizable="false"
257. closable="false" collapsible="false">
258.
</p:layoutUnit>
259.
</p:layout>
260. </h:body>
261. </html>
262.
263. Arquivo cliente.xml:
26
264. <?xml version='1.0' encoding='UTF-8' ?>
265. <!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
266. <html xmlns="http://www.w3.org/1999/xhtml"
267.
xmlns:h="http://java.sun.com/jsf/html"
268.
xmlns:ui="http://java.sun.com/jsf/facelets"
269.
xmlns:p="http://primefaces.org/ui">
270. <h:head>
271.
<title>Portflio em Grupo 5 Semestre</title>
272. </h:head>
273.
274. <h:body>
275. <ui:composition template="/tema/template.xhtml">
276.
<ui:define name="content">
277.
<p:growl id="avisos" showDetail="true" life="3000" />
278.
<p:fieldset legend="Cadastro de Clientes"
279. toggleable="true">
280.
<h:form>
281.
<p:focus for="nome" />
282.
<h:panelGrid columns="2">
283.
<h:outputText value="Telefone:" />
284.
<p:inputMask mask="(999)9999-9999"
285. value="#{beanCliente.cliente.telefone}" />
286.
287.
<h:outputText value="CPF:" />
288.
<p:inputMask mask="999.999.999-99"
289. value="#{beanCliente.cliente.CPF}" />
290.
291.
<h:outputText value="Nome:" />
292.
<p:inputText id="nome"
293. value="#{beanCliente.cliente.nome}" />
294.
295.
<h:outputText value="Dt cadastro:" />
<p:calendar
296. value="#{beanCliente.cliente.dataCadastro}" />
297.
</h:panelGrid>
298.
<p:separator style="width: 100%;
299. height: 5px" />
300.
<h:commandButton value="Salvar"
301. action="#{beanCliente.salvar}" />
302.
</h:form>
303.
</p:fieldset>
304.
<p:messages id="mensagens" showDetail="true" />
305.
</ui:define>
306.
</ui:composition>
307. </h:body>
308. </html>
309. Arquivo index.html:
310. <meta http-equiv="REFRESH" content="0;url=index.jsf">
311.
312. Arquivo index.xhtml:
313. <?xml version='1.0' encoding='UTF-8' ?>
314. <!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
315. <html xmlns="http://www.w3.org/1999/xhtml"
316.
xmlns:h="http://java.sun.com/jsf/html"
317.
xmlns:f="http://java.sun.com/jsf/core"
318.
xmlns:p="http://primefaces.prime.com.tr/ui"
319.
xmlns:ui="http://java.sun.com/jsf/facelets">
27
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
<h:head>
<title>Portflio em Grupo 5 Semestre</title>
</h:head>
<h:body>
<ui:composition template="/tema/template.xhtml">
<ui:define name="content">
Seja bem vindo!
</ui:define>
</ui:composition>
</h:body>
</html>
Frameworks usados:
PrimeFaces
Hibernate
28
Modelo Fsico
Classe de Dominio
29
Classe persistencia
Diagrama de componentes
30
Diagrama de Pacotes
31
32
5 CONCLUSO
O trabalho proporcionou ao grupo uma maior integrao entre os
conhecimentos estudados e a atividade prtica. As empresas tem necessidades
muitas vezes genricas cabe aos profissionais identificarem tais necessidades para
mehor desempenharem seu papel no desenvolvimento de solues em escala,
customizando-as conforme a peculiaridade de cada cliente. Tambm possivel
desenvolver um projeto exclusivo para um cliente, conforme sua vontade.
33
5 REFERNCIAS