Você está na página 1de 28

SUMRIO

INTRODUO...................................................................................................3

OBJETIVOS GERAIS.........................................................................................4

2.1

OBJETIVOS ESPECIFICOS..............................................................................4

3 DESENVOLVIMENTO................................................................................................5
3.1

Engenharia e Projeto de Software..................................................................5

3.1.1 Desafio 1 China Telecom..............................................................................5


3.1.1.1 Ricos...............................................................................................................5
3.1.1.2 Escopo............................................................................................................5
3.1.1.3 Fornecedores..................................................................................................7
3.1.1.4 Partes Interessadas........................................................................................7
3.1.2 Desafio 2 Optando no Desenvolvimento Prprio......................................8
3.1.2.1 Projeto de Arquitetura.....................................................................................8
3.1.2.2 Arquitetura de Sistemas Distribudos.............................................................8
3.1.2.3 Arquitetura de Aplicaes.............................................................................10
3.1.2.4 Gerenciamento de Configurao..................................................................12
3.2

Programao para WEB II.............................................................................16

3.2.1 Desafio 3 Pesquisa envolvendo os assuntos temticos........................16


3.2.1.1 Comparao de frameworks para o desenvolvimento web (Java)..............17
3.2.1.2 Relacionando

os

custos/benefcios

de

se

usar

frameworks

no

desenvolvimento web..................................................................................................17
3.2.1.3 Programao Java web (Plataforma de Desenvolvimento).........................18
3.3

Projeto Orientado a Objetos..........................................................................20

3.3.1 Desafio 4 Documentao que descreve o modelo de arquitetura do


sistema.......................................................................................................................20
3.3.1.1 Modelo que atende aos requisitos do sistema e framework adotado..........20
3.3.1.2 Descrevendo as funcionalidades e aplicaes dos padres de Criao, e os
quais sero usados.....................................................................................................20
3.3.1.3 O modelo a ser usando para manter a Persistncia dos Dados..................22
3.3.1.4 As ferramentas utilizadas para elaborao dos artefatos do Projeto..........22
4

CONCLUSO...................................................................................................25

REFERNCIAS...........................................................................................................26

1 INTRODUO
Este trabalho possvel identificar os conceitos elencado durante o
presente semestre, aonde posto em prtica os conhecimentos assimilados, do
ponto de vista tcnico e prtico.
Nesta atividade individual ser possvel visualizar por meio de uma
pesquisa, como o PMBok, estabelece as competncias na faze de riscos, como
projetado o escopo, como feito a comunicao com os fornecedores e partes
interessadas em um projeto de software.
Alm disso, possvel ver as caractersticas de projetos de software
por meio de uma situao hipottica China Telecom e a implantao de ERP
focada no desenvolvimento prprio, para isso ser feito uma resenha do livro lan
Sommerville.
Ver tambm a compreenso de como feito a comparao entre
frameworks no desenvolvimento web (Java), focando na identificao do framework
se de persistncia ou de interfaces. Em seguida, ser estabelecida a relao de
custos e benefcios no uso de frameworks na planta forma web. Na planta forma de
desenvolvimento usado a programao Java Web, estabelecendo assim uma
relao dos requisitos para implementar e disponibilizar um aplicativo online.
No mesmo ir ser mostrado a importncia de se criar um documento
que descreve o modelo arquitetnico visando dar qualidade e estrutura no
desenvolvimento de software. Logo em seguida ser mostrando o framework que
ser implementado no estudo de caso.
No padro de projeto, tendo em vista as funcionalidades e
aplicaes, mostrado como os padres de Criao e os que foram selecionados
no projeto.
Para manter a persistncia dos dados ser usando um determinado
modelo, seguindo de justificativas da adoo para o projeto, tambm relatado
quais ferramentas sero usadas para os artefatos da fase do projeto.

2 OBJETIVO GERAL
A finalidade do trabalho mostra a importncia de se planejar,
projeta e documentar um software, onde os meios fins tecnolgicos do sustentao
na engenharia de software para os profissionais e engenheiro desse ramo.
Fortalecendo conceitos do gerenciamento de projetos, por meios de tcnicas e
princpios slidos de arquitetura e desenvolvimentos de Software.
2.1 OBJETIVOS ESPECIFICOS.

Compreender as competncias estabelecidas pelo PMBoK nas fases: Riscos,


Escopo, Comunicao com os fornecedores e partes interessadas.

Compreender os tipos de arquiteturas de sistemas para identificar o


custo/benefcio do desenvolvimento de software.

Identificar se o framework de persistncia ou interfaces por meio de uma


comparao, visando o melhor custos/benefcios no seu uso.

Conhecer os padres de Criao em Padro de Projeto e a importncia do


projeto na organizao e construo de software,

O uso da documentao para fortalecer a qualidade no desenvolvimento.

Entender como o uso dos artefatos auxilia o projeto no processo de construo


de software.

3 DESENVOLVIMENTO

3.1 ENGENHARIA E PROJETO DE SOFTWARE

3.1.1 Desafio 1 China Telecom


O PMBoK um documento contendo tcnicas, mtodos e processos
com relao a Gerncia de Projetos que tem por significado: Project Management
Body of knowledge. A gerencia de projetos na viso do PMBoK uma atividade que
aplica conhecimentos por meio de habilidades atravs de ferramentas e formas
prontas para um projeto com o desejo de realizar seus objetivos, hoje tem-se 10
reas de conhecimentos como um todo, segundo o PMBok na sua 5 edio porm
sero mostrados apenas 4 delas o qual mencionado logo adiante.

Ricos
A Gerencia de Riscos um procedimento que serve para identificar,

analisar e dar respostas aos riscos nos projetos, onde so aumentados os eventos
de forma positiva e diminudo os eventos que so negativos. Nesta faze os riscos
so descritos nos processos que possui relao com a execuo do gerenciamento
de riscos em um projeto.
Existem cinco processos de planejamento e um de controle
totalizando 6 processos. Os objetivos nos processos da rea de riscos tm a
finalidade de determinar como os riscos sero identificados, de que forma sero
analisados e como que as respostas sero organizadas e planejadas.
Assim feito uma lista de todos os riscos identificados no projeto
com diversas tcnicas que auxiliam a gerar essa lista de riscos. Onde buscada
uma maneira de dar prioridades os riscos com base na intensidade de suas
criticidade. Que permite atribuir uma probabilidade numrica dos mesmos, e defini
as melhores estratgias e atitudes para gerenciar-los seja de forma negativa ou
positivo, monitorando assim os prprios riscos com novos riscos que sero
identificados, revisando a anlises de riscos, e dando definio de outras prioridades
de riscos, etc. Os processos dessa rea so:

Planejar o Gerenciamento dos Riscos.

Identificar os Riscos.

Realizar a Anlise Qualitativa de Riscos.

Realizar a Anlise Quantitativa dos Riscos.

Planejar as Respostas aos Riscos.

Monitorar e Controlar os Riscos.

Escopo
O escopo do produto so detalhes das funes que exprime os
aspectos fsicos do produto ou servio. Sendo a atividade que ser realizada para
produzir um determinado produto, Ento quando se fala em gerenciar o escopo do
projeto est desejando garantir que o projeto faa todo e s o trabalho suficiente
para a sua concretizao. Precisamos ser cautelosos, principalmente com os riscos.
Para que o projeto no fuja do foco, e assim possamos manter o projeto conforme
foi nos passados, ou seja, integro aos seus requisitos funcionais. Minimizando erros
e seguindo o escopo. Onde identificado, o que vai ser feito, como vai funcionar,
qual tipo de cliente vai atender. Precisamos verificar a documentao sempre, tendo
cuidado pra no acrescentar nada alm do que j est projetado no escopo, caso
contrrio podemos correr o risco de desviar a funo do projeto.
H dois processos de monitoramento (os dois ltimos) e trs
processos de planejamento (trs primeiros). Nos processos do planejamento
criado um plano que responsvel por fazer o gerenciamento do escopo. J os
processos de controle e monitoramento, so formas de controle de escopo para
analisar se est sendo cumprido da maneira como foi definido nos processos do
planejamento. Depois a verificao confirmada com o cliente se realmente est
tudo correto.
Esses processos so:

Coletar Requisitos.

Definir o Escopo.

Cria a EAP.

Verificar o Escopo.

Controlar o Escopo.

Fornecedores
de quem o comprador recebe bens ou servios, sendo uma
organizao, ou at mesmo uma parte que fornece e entrega de produtos, ou presta
servios ao mesmo mediante um valor monetrio. O Fornecedor compreendido
como externo organizao executora do projeto. Aonde contratado, subcontratado,
vendedor, prestador de servios, uma forma de denominao.
Sua essncia est na responsabilidade, no prazo de entrega, na
qualidade do produto e servio, onde a relao com o cliente, para fornecer
subsdios na identificao de problemas e causas que possam vir a surgir, entre
outros auxlios essenciais, que reconhea o cliente como um parceiro, que planeje
junto ao mesmo, isso extremamente importante para o prestgio do fornecedor.

Partes Interessadas
No gerenciamento das partes interessadas deve-se inclui a
forma necessria para identificar pessoas, grupos ou organizaes que do
impactos ou recebem impactos do projeto. Criar mtodos estratgicos de gerencia
eficazes para as partes interessadas nos objetivos e na aplicao do projeto.
Alm disto, precisa-se estabelecer a comunicao progressiva
com as mesmas com a finalidade de compreender suas necessidades e anseios,
focando nos seus desejos, esse o objetivo essencial do projeto.
E com isso deve-se fornece um entendimento no todo dos
processos de gerenciamento, onde devesse adicionar o seguinte:

Identificar as partes interessadas

Planejar o gerenciamento das partes interessadas

Gerenciar o engajamento das partes interessadas

Controlar o engajamento das partes interessadas

3.1.2 Desafio 2

3.1.2.1 Projeto de Arquitetura


As principais vantagens de projetar e documentar uma arquitetura de
software est ligado com a comunicao de Stakeholders, Anlise de Sistema,
Gerente de Projetos, ou seja, toda a equipe volta para o desenvolvimento de
sistemas.
O

projeto

de

Arquitetura

esta

diretamente

ligado

com

documentao da arquitetura de software. Onde a documentao da mesma fornece


facilidades na comunicao entre os stakeholders, podendo registra as decises
desde o inicio do projeto at o mais elevado-nvel, permitindo a reutilizao do
projeto e dos componentes at mesmo dos padres entre projetos.
Os conceitos de definio da arquitetura do projeto de software
essencial e ao mesmo tempo fundamental no processo de criao, sendo que uma
arquitetura precisa ser consistente e bem compreendida na sua essncia, isso
algo fundamental na implementao do projeto que tem como priori a eficincia.
O papel desempenhado pela arquitetura de software fundamental
no que diz respeito a gerenciar e a complexidade que um software a ser criado
possui pois dar facilidades no processo de manutenibilidade, organiza e evolui o
mesmo a uma estrutura bem gerencivel. A qualidade no processo de arquitetura
possibilita que um sistema satisfaa exigncias principais de um projeto, exemplo:
desempenho, confiabilidade, portabilidade, manutenibilidade, interoperabilidade.
3.1.2.2 Arquitetura de Sistemas Distribudos
A forma em que se compartilha diversa informaes seja ela por
meio de dispositivos como: impressoras, cabo de rede, at mesmo a distribuio de
um banco de dados em que seja distribudo em diversos pontos ou locais dar se o
nome de Sistema Distribudos.
Sistema distribudo quando as informaes em fase de
processamento so destinadas para vrios computadores, ao invs de ficarem em
uma nica maquina.

10

Outra definio e que sistema distribudo aquele em que os


componentes de hardware ou software, localizam-se em computadores interligados
por meio de rede, se comunicando e coordenando suas atividades enviando
mensagens uns para os outros. Em um conceito simples abrangente todo e
qualquer sistema, nos quais os computadores interligados entre redes tenham a
possibilidade de ser distribudo de maneira til para uma determinada organizao.
Os dispositivos interligados atravs de uma rede pode estar
separados por qualquer tipo de distncia. Podendo est localizado em um geocontinente ou em continentes separados, em um mesmo local ou mesma sala. Hoje
em dia h trs tipos de sistemas principais:
Sistemas Pessoais
Pode ser um workstation um computador pessoal uma forma de
sistema distribuidos.
Sistemas embutidos
So executados em apenas um nico processador ou at em um
grupo de computadores integrados.
Sistemas destrudos
um sistema conectado em uma rede, onde exista a capacidade de
interagir uns com os outros em um determinado ambiente, seja apenas em um
software de sistema executado ou at mesmo em um grupo de processadores
fracamente interligados.
Caractersticas do sistema distribudo:
Compartilhamento de recursos
A distribuio de um sistema que permita o compartilhamento dos

11

seguintes

recursos:

hardware,

software,

discos,

impressoras,

arquivos

compiladores, estando associados em diferentes computadores em uma rede.


Abertura
responsvel para dizer at que ponto o sistema pode ser
ampliado, adicionando- se novos recursos no proprietrios a ele.
Concorrncia
Vrios processos podem operar ao mesmo tempo em diferentes
computadores na rede.
Escalabilidade
Os

sistemas

distribudos

so

escalonveis,

no

sentido

de

capacidade do sistema, pode ser aumentado pelo acrscimo de novos recursos, a


fim de atender as novas demandas, relacionadas ao sistema.
A razo de construir ou de usar um sistemas distribudo se dar
atravs do desejo de distribuir e compartilhar recursos.

3.1.2.3 Arquitetura de Aplicaes


Os

sistemas de

aplicaes foram

projetados para

atender

necessidades de negcios ou de organizaes. Existe uma semelhana em comum


a todos os negcios como: contrato de pessoas, emisso de faturas, administrao
de contas entre outras. Na maioria das vezes possuem arquiteturas semelhantes,
diferenciando-se apenas alguns detalhes de funo desempenhada.
H vrios tipos de sistema de aplicaes, e podem parecer muito
diferentes. No entanto, ao examina a organizao de arquitetura das aplicaes,
varias dessas aplicaes no que parecem ser diferentes, tm muito coisa em
comum.

12

As arquiteturas dos quatro tipos mais abrangentes de sistemas de aplicaes so:


Aplicaes de processamento de dados.
Esto relacionadas com os dados. Onde o processamento ocorre
por meio de lotes e h semintervenes do usurio durante o processamento. Suas
aes especificadas na aplicao dependem dos tipos de dados que sero
processados.
Os sistemas de processamento em lotes nas aplicaes de negcio
normalmente so usados por meio de operaes semelhantes e so realizadas
sobre uma grande quantidade de dados que trata de uma variedade de funes,
sejam administrativas, como pagamento de folha, cobrana, contabilidade e ou at
de publicidade.
Aplicaes de processamento de transaes.
O processamento de transao mais voltado para banco de dados,
que ao processarem as informaes que foram solicitadas dos usurios, atualizam
as no banco de dados. tpico mais voltado para sistemas de negcios interativos.
Onde so organizadas de forma que os usurios no poo interferir umas nas
outras mantendo assim integridade do banco de dados. Exemplo: sistemas
bancrios interativos, sistema de e-commerce, sistemas de informaes e sistemas
de reservas.
Sistemas de processamento de eventos.
Os eventos deste seguimento ocorrem na entrada de um comando,
ou do usurio, sendo um grupo bem extenso de aplicaes aonde as aes do
sistema precisa da interpretao dos eventos em um ambiente do prprio sistema.
Muitas dessas aplicaes so baseadas em computador como:
jogos, processadores de texto, planilhas, todos so sistemas de processamento de
eventos.
Sistemas de processamento de linguagens.

13

Diria que so os famosos interpretadores de cdigos ou linguagens


como queiram chamar. Pois o mesmo pega um determinado cdigo e transforma em
uma execuo de sua representao. Os mais conhecidos so: compiladores que
traduzem programas em linguagem de alto nvel para cdigo de mquina.
Alm disso, so usados para interpretar linguagens de comandos
para banco de dados, sistemas de informaes e linguagens de marcao, como:
XML (Harold e Means, 2002).
.
Gerenciamento de Configurao
O gerenciamento de configurao (CM - Configuration Management)
o desenvolvimento e o uso de padres e procedimentos para o gerenciamento de
sistemas de software. importante compreender que sistemas esto sempre em
processo de mudanas durante o processo de desenvolvimento ou at mesmo no
seu uso, sendo assim preciso incorporar os novos requisitos a esses sistemas,
sendo feito por meio de novas verses do sistema.
O dever de se gerenciar os sistemas em desenvolvimento se origina
porque existe uma facilidade de perca da rastreabilidade das mudanas que foram
incorporadas em determinadas verses do sistema.
As verses surgem porque existe uma necessidade de incorporar
propostas de mudanas: seja elas correes de defeitos e/ou at mesmo
adaptaes para diferentes hardware e sistemas operacionais.
Como h muitas verses em desenvolvimento e em uso ao mesmo
tempo. necessrio que se tenha procedimentos eficientes de gerenciamento de
configurao bem definidos, para assim no desperdiar tempos e esforos
modificando verses erradas de um sistema, e no final entregar a verso errada ao
cliente, vindo assim a perder a rastreabilidade de onde o cdigo-fonte do software
est localizado.
A definio dos procedimentos de gerenciamento de configurao se
dar em como registrar e processar mudanas de sistema, como relacion-Ias aos
componentes do sistema e os mtodos usados para identificar diferentes verses.
Assim existem ferramentas de gerenciamento de configurao que
so usadas para armazenar as verses de componentes do sistema. Esses
sistemas so considerados como parte de gerenciamento de qualidade (QA).

14

Planejamento de gerenciamento de configuraes.


O plano de gerenciamento de configuraes so padres que
descreve os procedimentos que devem ser usados para o gerenciamento. O mais
importante no plano, definir as responsabilidades. Onde e feito a escolha de quem
ser responsvel por uma determinada entrega no processo seja ela; documentos,
ou uma parte de software, tudo visando garantir a qualidade. Tambm pode definir
os revisores de cada documento. Tendo vista que o responsvel pela entrega do
documento no necessariamente precisa ser a mesma pessoa que produziu um
documento.
Gerenciamento de mudanas
A gerencia de mudanas est voltado para garantir que as
mudanas que so solicitadas por clientes sejam por que os sistemas esto em
constante fase de transformao e adaptabilidade, ou at mesmo como correo
sejam atendidas e implementadas em um determinado sistema, visando garantia
de mudanas de forma controlada, onde existe um gerenciamento orgnico e
aprimorado por meio de ferramentas de apoio. Onde os processos elucidam anlise
de custo/benefcios das mudanas, focando na aprovao de mudanas viveis e na
rastreabilidade dos componentes que foram alterados. Sendo que os efeitos surgem
quando um software so postos em uma baselines.
Gerenciamento de verses e releases
Os processos envolvidos no gerenciamento de verses e releases
tm a preocupao de identificar a manuteno da rastreabilidade das verses de
um sistema. Sendo que os gerentes de verses precisam idealizar procedimentos
que possam assegurar que as verses possam ser recuperadas quando solicitadas
impedindo que seja alterada acidentalmente pela equipe de desenvolvimento.
Um release do sistema trata-se de uma verso distribuda para os
clientes. Sendo que cada release tem que incorporar novas funcionalidades ou ser
projetado para um sistema diferente de hardware.

15

Para criar uma verso especfica de um sistema, preciso saber


quais as verses dos componentes de sistema que devem ser includas nele. Nos
sistemas mais parrudos de software, como existem muitos componentes no
software; cada um pode existir em vrias verses diferentes. Portanto, deve haver
uma forma no ambgua para identificar cada verso do componente a fim de
assegurar que os componentes corretos sejam includos no sistema. Entretanto, no
se deve usar nomes de itens de configurao na identificao de verses, pois
podem conter muitas verses de cada item de configurao identificado.
Os gerentes de releases de sistemas so responsveis por decidir
quando um sistema pode ser liberado para os clientes, focando no gerenciamento
do processo de criao do release e de meios de distribuio e de documentao do
mesmo.
Compreende-se a criao de um release como um processo de
criao de arquivos e documentos, que inclui seus componentes. Onde o cdigo
executvel do programa e todos os arquivos que contenham dados associados a ele
precisam ser coletados e identificados e suas descries de configurao podem ter
que ser escritas para hardwares diferentes e para instrues e sistemas
operacionais preparados para clientes que necessitem configurar seus os prprios
sistemas.
Quando um release de sistema produzido, ele deve ser
documentado para assegurar que possa ser recriado no futuro.
Construo de sistemas
A construo de sistemas tem como base o processo de compilao
e ligao de componentes de software em um programa que executa determinada
configurao definida.
Ferramentas CASE para gerenciamento de configuraes
O uso de ferramentas CASE como apoio fundamentas para o
gerenciamento de configurao. Desde 1970, muitas ferramentas de software que
abrangem diferentes reas de gerenciamento de configurao foram criadas. Notase a grande importncia no seu uso, dentre elas est evitar erros ou falhas. H dois

16

tipos de warkbech de CM: Workbenches abertos. Workbenches integrados.


Interessante saber que os workbenches integrados so difices de
entender e ao mesmo tempo dispendiosos, por isso muitas organizaes preferem
usar ferramentas de apoio individuais, que so mais baratas e bem mais simples.
Tem

muitas

ferramentas

comerciais

de

cdigo-fonte

aberto

disponveis para propsitos especficos. Sendo assim o gerenciamento de


mudanas pode ser apoiado pelas ferramentas para rastrear defeitos.

17

3.2 PROGRAMAO PARA WEB II

3.1.3 Desafio 3 Pesquisa envolvendo os assuntos temticos.


Inicialmente faz-se necessrio compreender um pouco sobre os
principais frameworks JAVA, para que seja feito uma melhor comparao entre eles,
preciso tambm entender que h vrios frameworks que ajudam no
desenvolvimento, mas no so capazes de prover a criao no todo de um projeto
exemplo: Frameworks AJAX.
JSF (Java Server Faces)
Desenvolvido pela Sun e lanado em 2005, tem por finalidade fazer
com que o desenvolvedor no crie as pginas JSP como se fossem pginas HTML e
sim como se fossem telas de um programa. O Framework que transforma a tela em
uma pgina HTML. O grande poder deste Framework est nos aplicativos que do
suporte ao seu uso, pois tornam a criao das telas (JSPs) bem rpida e de maneira
visual com o uso do drag and drop, ou seja, clica e arrasta e do WYSIWYD - What
You See is What You Do, ou seja, O que Voc V O que Voc Faz.
Spring MVC
Parte do projeto Spring Framework (que muito grande, oferecendo at
um Framework para persistncia de dados). Tem como principais vantagens o uso do
IoC (Inverso de controle) do Spring e a facilidade na renderizao de diversos tipos de
sadas (JSP, Tiles, Velocity, Freemaker, Excel, PDF, etc.).
Struts 2
Nascido em meados de 2006, a partir da unio dos Frameworks WEB
Struts [Husted 2004] e WebWork [Lightbody 2005], baseado em Actions e j vem com
um conjunto de Taglibs (bibliotecas de tags) prontas para o desenvolvimento AJAX de
maneira bem transparente. um projeto da Apache Software Foundation [Apache
2007].

18

Tapestry
Projeto da Apache Software Foundation, um Framework no qual se
tem muito trabalho no inicio do desenvolvimento de um novo projeto. A partir da verso
4.1 j vem com suporte nativo a AJAX. um projeto da Apache Software Foundation.

3.1.3.1

Comparao de frameworks para o desenvolvimento web (Java).


Fazendo uma breve comparao entre os framework compreende-

se que eles so ferramentas que possuem e do agilidade no desenvolvimento,


fazendo com que haja uma reduo de custos, tempo e desenvolvimento.
Analisando os frameworks Ajax, JSF (Java Server Faces), Spring MVC, Struts 2, Struts
2, tempos o seguinte:
JSF tira do programador a responsabilidade de criar cdigo na mo de
um determinado evento, tornando possvel a criao do mesmo por meio de telas, esse
tipo de Framework faz a transformao da tela em pginas HTML. Tornando assim
bem mais rpido no desenvolvimento visual. J o Spring MVC tem como principais
vantagens o uso do IoC (Inverso de controle) do Spring e a facilidade na renderizao
de diversos tipos. As caracteriscas do Struts 2 sua base ser projetada em Actions e
que vem com um conjunto de Taglibs (bibliotecas de tags) prontinhas para o
desenvolvimento AJAX. O Tapestry um projeto do Apache Software Foundation tendo
como caracterstica que a partir da verso 4.1 j vem com suporte nativo a AJAX.
Nota-se que dos frameworks do JAVA em sua maioria possuem
caractersticas prprias de cada ferramenta cabendo aos programados a sua utilizao
conforme sua necessidade.

3.1.3.2 Relacionando os custos/benefcios de se usar frameworks no


desenvolvimento web.
A relao de custos benefcios no uso vai bem mais alm do que
facilitar o desenvolvimento de aplicaes web. Hoje isso se expandiu de forma que
no seja bom ou eficiente deixar de us-los no desenvolvimento, como se dizem:
no se pode inventar a roda duas vezes.

19

Termos os seguintes benefcios no uso de framework:


Benefcios

Diminuio de custos.

Maximizao na produo.

Reduo de erros.

Entendimento em auto nvel de abstrao.

Integrao entre aplicaes de forma compatvel.

Segurana no desenvolvimento.

Relao de custos:
Custos

Maior dedicao na construo;

Os programas so mais difceis de depurar;

A documentao da manuteno e apoio essencial.

3.1.3.3 Programao Java web (Plataforma de Desenvolvimento).


Inicialmente preciso compreender que a linguagem JAVA voltada
a Programao Orientada a Objetos. Logo em seguida necessrio conhecer as
principais caractersticas do Java. Onde sua projeo seguiu os seguintes objetivos:
Na orientao a objetos foi idealizada no modelo de Smalltalk e
simula67. Com portabilidade no dependente de plantaforma e seus recurso de
internet possuem biblioteca de rotinas extensas que do facilidades a interao com
protocolos TCP/IP, como HTTP e FTP. De forma s egura executa programas via rede
restringindo algumas execues, O Bytecode totalmente interpretado, ao invs de ser
compilado,
Outras vantagens so pela linguagem como: A sintaxe similar a

20
Linguagem C e C++; possuindo facilidades de internacionalizao, onde h suporte
nativo de caracteres Unicode, existindo simplicidade na especificao, tanto da linguagem
como no ambiente de sua execuo (JVM); sendo distribuda com um vasto conjunto de
bibliotecas (ou APIs); que possui facilidades para criao de programas distribudos e
multitarefa; Na desalocao de memria, tudo feito de forma automtica atravs do
processo de coletor de lixo; A carga dinmica de cdigo - Programas em Java so feitos
por uma coleo de classes armazenadas no dependentes e que podem ser carregadas
no momento de utilizao.
Para se poder criar uma aplicao em JAVA necessrio instalar
algumas ferramentas exemplo: JRE, JDK e NETBEANS ou ECLIPSE.

21

3.2 PROJETO ORIENTADO A OBJETOS.

3.2.1 Desafio 4 Documentao que descreve o modelo de arquitetura do


sistema.

3.2.1.1 Modelo que atende aos requisitos do sistema e framework adotado


A arquitetura de software considerada como um mapa entre o que
um componente de software deve realizar e os detalhes da implementao como
cdigo. A realizao da arquitetura ideal garantir a combinao ideal entre
requisitos e resultados. Um software que idealizado com uma arquitetura bem
projetada sem sobra de dvida ter capacidade de executar as tarefas especificadas
seguindo os parmetros dos requisitos originais e far isso de um modo que se
tenha um grande desempenho, uma boa segurana, e confiabilidade isso e muitos
outros fatores.
Arquitetura cliente/servidor a mais importante e continua sendo
amplamente empregada. Sendo que cliente/Servidor vem sendo desenvolvida h
vrios anos, porm em pequenos passos. Primeiro, a realocao de aplicaes em
Mainframe para as chamadas plataformas abertas rodando sistema operacional
UNIX.
Um framework uma abstrao que une cdigos comuns entre
vrios projetos de software provendo uma funcionalidade genrica. Um framework
pode

atingir

uma

funcionalidade

programao de uma aplicao.

especfica,

por

configurao,

durante

O framework adotado so os Frameworks

horizontais, pois no dependem do domnio da aplicao e podem ser usados em


diferentes domnios. Exemplos: Interfaces grficas, persistncia, transao.

3.2.1.2 Descrevendo as funcionalidades e aplicaes dos padres de Criao,


e os quais sero usados.
Os padres de criao so aqueles que abstraem e ou adiam o
processo de criao dos objetos. Sendo que eles ajudam a tornar um sistema

22

independente de como seus objetos so criados, compostos e representados. O


padro de criao de classe usa a herana para variar a classe que instanciada,
enquanto que um padro de criao de objeto delegar a instanciao para outro
objeto.

Aplicabilidade
O uso do padro Abstract Factory deve estar restrito as seguintes
situaes: Um sistema deve ser independente de como seus produtos so criados,
compostos ou representados;

Um sistema deve ser configurado como um produto de uma famlia de


mltiplos produtos;

Uma famlia de objetos for projetada para ser usada em conjunto, e voc
necessita garantir esta restrio;

Voc quer fornecer uma biblioteca de classes de produtos e quer revelar


somente suas interfaces, no suas implementaes.
Os padres de criao tm a finalidade de tornar os sistema

independente de como os objetivos so criados e compostos a partir da abstrao


do processo de instancia dos objetos.
Padres de criao
Os padres de criao tornam-se importantes medida que os
sistemas evoluem no sentido de dependerem mais da composio de objetos do
que a herana de classes.
Padres estruturais
Esto ligados na preocupao com a forma como classes e objetos
so compostos para formar estruturas maiores.

23

Padres de comportamento
Concentram-se nos algoritmos e atribuies de responsabilidades
entre os objetos. Eles no descrevem apenas padres de objetos ou de classes,
mas tambm os padres de comunicao entre os objetos.

3.2.1.3 O modelo a ser usando para manter a Persistncia dos Dados.


O JDO significa Java Data Objects e os principais objetivos da
arquitetura de JDO fornecer uma viso transparente de persistncia de dados aos
desenvolvedores e permitir implementaes de armazenamento de dados em
servidores de aplicao.
Alm disso, importante observar que JDO no dar definio ao tipo
do Banco de Dados. Onde utilizada a mesma interface para persistir objetos Java
em bases de dados relacional. O objeto-relacional. XML ou qualquer outra base
[Sun09c].
A especificao de JDO [Sun09c], JSR12 [Web09b], dar definio a
uma API de padronizao chamada de ORM e define a persistncia transparente de
POJO e acesso a BD. Ao usar o JDO, os desenvolvedores de aplicaes em Java
tm autonomia de escrever cdigo para acessar os dados armazenados no Banco
de Dados sem usar qualquer tipo de linguagem especfica para este fim.
Alguns dos benefcios de se usar o JDO so [Sun09c]:

Portabilidade
Aplicaes escritas usando a API de JDO podem operar com vrias

implementaes disponveis de diferentes distribuidores sem precisar mudar uma


linha de cdigo ou recompilar;

Acesso transparente base de dados


Desenvolvedores de aplicao escrevem cdigo para acessar dados

armazenados sem precisar utilizar cdigo de acesso base de dados especfico;

24

Facilidade de uso
A API JDO permite que desenvolvedores de aplicao foquem em

seus esquemas de objetos e deixem os detalhes de persistncia implementao


de JDO;

Alto desempenho
Esta tarefa delegada s implementaes Java que podem

melhorar os padres de acesso a dados para obter um melhor desempenho; e

Integrao com EJB


Aplicaes podem tirar vantagem dos recursos de EJB como

processamento remoto de mensagens, coordenao de transaes automticas


distribudas e segurana.

3.2.1.4 As ferramentas utilizadas para elaborao dos artefatos do Projeto.


Pencil Project
uma aplicao que monta projetos de interfaces grficas para
elaborao de prottipos, aonde facilita na criao de telas em ambientes desktop.
Astah
Com o ASTAH possvel criar diagramas da UML facilitando na
documentao, o mesmo uma dos artefatos mais executados em termo de
diagramas, suas verses variam de acordo com suas funes, pois as verses
pagas disponibilizam mais funes do que as verses free.
Xmind:
XMind tem como finalidade a criao de mapas mentais, sendo
ferramenta de cdigo, usado para representar uma espcie de diagrama que faz
relao com aspectos distintos de uma projeto ou idia a ser executado.
Gannt Project
Sua origem se deu na Frana, tendo como base a linguagem Java,
destacando na exibio dos agendamentos das tarefas em diagrama. O Gantt,

25

verifica o desenvolvimento das tarefas em grficos de barras horizontal, fornecendo


diferena entre as cores de tempo sugerido para as tarefas e a de tempo real.

26

4 CONCLUSO
A obteno de um software com qualidade est ligado diretamente
com os aspectos tcnicos no desenvolvimento de software, toda a estrutura de um
bom produto deve conter laos que direcionem seja qual for rea para meios de se
projetar, planejar e documentar, isso na rea de software imprescindvel, digo que
dificilmente se consegui qualidade, eficincia na entrega de um bom produto, sem
que nele se tem vestgios das tcnicas de processo de desenvolvimento de
software.
A elaborao do trabalho baseado no caso de uso fez com que o
conhecimento na rea de desenvolvimento de software, fosse mais aprofundado e
pude perceber que criar software muito mais que criar programas capaz de
executar rotinas, Fez-me perceber que o que dar qualidade, eficincia,
manuntenibilidade e fornece estrutura e organizao em qualquer sistema a
documentao, os processos de desenvolvimentos. Por isso que se deve perceber
que existe uma ateno no que diz respeito qualidade de produto de software.
A qualidade de software um processo de controle constante, isso
no simples, pois depende de toda uma equipe bem treinada e capacitada, com as
melhores tcnicas e as mais apropriadas para cada caso, pois nem todo caso o
mesmo caso. Sendo assim faz necessrio compreender que existe vrias atividade
dentro do projeto, que se utilizam os meios tcnicos e ferramentas que precisa estar
ligado com planejamento, existindo assim um acompanhamento contnuo em todas
as fazes do projeto.
Ento um produto que gere confiana ao cliente, que satisfaa as
expectativas, prevenindo de riscos. Que rode com eficincia, que use o mnimo dos
recursos de hardware. Sem sombra de dvida garanti qualidade e conseguintemente
motivo de boas expectativas a quem quer que seja.

27

REFERNCIAS
FALBO, Ricardo de Almeida. Engenharia de Software. Disponvel em:<
http://www.inf.ufes.br/~falbo/download/aulas/es-g/2005-1/NotasDeAula.pdf>. Acesso
em 31 de abril de 2015.
LEITE, Alessandre Ferreira. Frameworks e Padres de Projeto. Disponvel em:
<http://www.devmedia.com.br/frameworks-e-padroes-de-projeto/1111>. Acesso em
18 de abril de 2015.
NASCIMENTO, Natlia de Lima do. Persistncia em Banco de Dados: Um estudo
prtico sobre as API JPA E JDO. Recife, Novembro de 2009.
OLIVEIRA, Eduardo Gomes de. As principais prticas no Gerenciamento de
aquisies
em
projetos.
Disponvel:
http://www.techoje.com.br/site/techoje/categoria/detalhe_artigo/712 >. Acesso em 25
de abril de 2015.
PERINI, Lus Claudio. Engenharia de software: Sistemas II /Lus Claudio Perini,
Marco Ikuro Hisatomi, Wagner Luiz Berto. So Paulo: Pearson Prentice Hall, 2009.
PRADO, Alexandro Dos Anjos. O que a Plataforma Java. Disponvel:
<http://www.devmedia.com.br/o-que-e-a-plataforma-java/6044> Acesso em 11 de
maio de 2015.
PINTO, Hudson Lamounier. Atividades bsicas ao processo de desenvolvimento
de software. Disponvel em: www.devmedia.com.br/atividades-basicas-ao-processode-desenvolvimento-de-software/5413. Acesso em 05 de maio de 2015.
RAMOS, Jos Yoshirir Ajiska. Comparao entre os principais Frameworks Java
para o desenvolvimento de aplicao Web. Disponvel: <http://www3.iesampa.edu.br/ojs/index.php/sistemas/article/viewFile/585/424 >. Acesso em 6 de maio de
2015.
SOMMERVILLE, Ian. Engenharia de Software/ Ian Sommerville: traduo Andr
Mauricio de Andrade Ribeiro: reviso tcnica Kechi Hirama. So Paulo: Addison
Werley, 2003.

Você também pode gostar