Você está na página 1de 11

Portflio Individual - Semestre 5 Unopar

1. 1. Teixeira de Freitas - BA 2015 ELENILTON DE SOUSA FREITAS SISTEMA DE


ENSINO PRESENCIAL CONECTADO CURSO SUPERIOR DE ANLISE E
DESENVOLVIMENTO DE SISTEMAS PRODUO TEXTUAL INDIVIDUAL CHINA TELECOM
2. 2. Teixeira de Freitas BA 2015 PRODUO TEXTUAL INDIVIDUAL - CHINA
TELECOM Trabalho de Anlise e Desenvolvimento de Sistemas apresentado
Universidade Norte do Paran - UNOPAR, como requisito parcial para a obteno
de mdia bimestral na disciplina De Projeto Orientado a Objetos, Engenharia e
Projeto de Software, Programao para Web II. Orientador: Mrcio Roberto
Chiaveli, Luis Claudio Perini, Marco Ikuro Hisatomi, Veronice de Freitas.
ELENILTON DE SOUSA FREITAS
3. 3. SUMRIO 1
INTRODUO...........................................................................................................3
2
OBJETIVO.................................................................................................................4
3
DESENVOLVIMENTO...............................................................................................5
4
CONCLUSO..........................................................................................................24
REFERNCIAS..........................................................................................................
25
4. 4. 1 INTRODUO O trabalho a seguir - China Telecom - prope que o aluno
entenda a demanda de recursos (pessoas especialistas, hardwares e softwares,
fornecedores, viagens, entre outros). Primeiramente devemos entender o que
PMBKO, um guia Project Management Body of Knowledge ou simplesmente
Guia PMBOK. Um conjunto de prticas na gesto de projetos organizado pelo
instituto PMI e considerado a base do conhecimento sobre gesto de projetos por
profissionais da rea. O livro Engenharia Software - Ian Sommerville 8 Edio
um ramo da engenharia com foco no desenvolvimento de softwares dentro de
curtos, prazos adequados e alta qualidade. Software abstrato, no h limitaes
fsicas. Essa falta de limitaes pode torn-lo extremamente complexo e de difcil
compreenso. Com isso podemos seguir com o contedo a seguir onde esta uma
resenha do PMBOK e do livro Engenharia de Software, de Ian Sommerville. Assim
poderemos entender porque a empresa decidiu contratar do que ela mesmo
desenvolver o software necessrio. 3
5. 5. 2 OBJETIVO Ao final desta pesquisa quero deixar o leitor ou a quem de alguma
forma tenha interesse no conhecimento de como normalmente so planejados e
documentados os programas, software e tudo que envolvem a tecnologia do sculo
XXI, tendo acesso a um breve relato de como funciona. Devo tambm salientar que
aqui s uma pesquisa superficial e de pouca profundidade, levando em
considerao de todo o contexto que envolve a complexidade dos programadores,
analistas e desenvolvedores modernos. Defendendo a tese de que o bem maior da

humanidade a informao, preciso ter dados bem normalizados de boa


qualidade e acima de tudo, bem protegidos. 4
6. 6. 3 DESENVOLVIMENTO 3.1 ENGENHARIA E PROJETO DE SOFTWARE O Guia

PMBoK um guia de boas prticas. O Guia PMBoK possui diversos processos,


ferramentas e tcnicas teis para a gerencia de qualquer projeto. O guia no determina
como ser gerenciado um projeto, ele apenas d boas prticas, deixando livre para o
gerente de projeto e a equipe escolherem aquilo que melhor se adapte ao seu projeto.
Alm disso, o PMBoK identifica um subconjunto do conjunto de conhecimentos em
gerenciamento de projetos. Ou seja, o guia possui informaes consensuais que foram
identificados por profissionais da rea e que se forem usados nos projetos, aumentam
as chances de sucesso nesses projetos. Os processos so organizados por reas de
conhecimento e podem ser organizados em nove reas que sero melhores detalhados
nas sees seguintes. Riscos Esta rea descreve os processos relativos

realizao do gerenciamento de riscos em um projeto. Temos cinco processos de


planejamento e um de controle. Os processos desta rea de conhecimento tem
como objetivo determinar como os riscos sero identificados, analisados e como as
respostas sero planejadas e como risco ser planejado, criam uma lista de riscos
identificados no projeto com diversas tcnicas que ajudam a gerar essa lista de
riscos, buscam priorizar os riscos com base no grau de criticidade, permitem
atribuir probabilidade numrica aos riscos, definem estratgias e aes para lidar
com os riscos negativos e positivos, monitoram os risco com novos risco sendo
identificados, reviso das anlises de riscos, definio de outras prioridades de
riscos, etc. Escopo Esta rea descreve os processos envolvidos na verificao de
que o projeto inclui todo o trabalho necessrio e apenas o trabalho necessrio,
para que seja concludo com sucesso. 5
7. 7. Existem trs processos de planejamento (trs primeiros) e dois processos de
controle e monitoramento (dois ltimos). Os processos de planejamento criam um
plano para o gerenciamento de escopo. Os processos de controle e monitoramento
controlam se que o escopo est sendo cumprido conforme foi definido nos
processos de planejamento e a verificao confirma com o cliente que est tudo
correto. Fornecedores A seleo de um fornecedor fruto de um contnuo
processo de refinamento, at que se chega ao fornecedor mais apto. Os critrios
de seleo envolvem definir os critrios a serem utilizados nesse processo de
refinamento. Algumas organizaes mantm listas com informaes sobre
fornecedores possveis e pr-qualificados. Por outro lado, muitas vezes, boa parte
dos possveis fornecedores j previamente conhecida seja atravs da mdia, de
contatos com consultorias, com concorrentes, com parceiros internos e de
mercado. Se for desejvel, as listas existentes de possveis fornecedores muitas
vezes podem ser ampliadas atravs da colocao de anncios em publicaes de
circulao geral, como jornais, ou em publicaes especializadas, como revistas
profissionais de modo a abrir uma concorrncia mais ampla. Partes Interessadas O
processo de identificar pessoas, grupos ou organizaes que podem impactar ou
serem impactados por uma deciso, atividade ou resultado do projeto e analisar e
documentar informaes relevantes relativas aos seus interesses, nvel de
engajamento, interdependncias, influncia, e seu impacto potencial no xito do
projeto. Normalmente, no incio do projeto as partes interessadas podem ter um
grau maior de influncia, mas o nvel de influncia diminui conforme o projeto

avana. E de forma inversamente proporcional temos que os custos associados s


mudanas aumentem ao longo do projeto. 6
8. 8. 3.2 RESENHA DO LIVRO CAPITULO 11 Projeto de Arquitetura A arquitetura
de software serve para negociar requisitos de sistema e estruturar discusses com
os clientes, desenvolvedores e gerentes. uma ferramenta essencial parra
gerenciamento de complexidade, ocultando detalhes e focando as abstraes
principais do sistema. O estilo e estrutura da aplicao dependem dos requisitos
no funcionais do sistema, por exemplo: Se o desempenho for um requisito crtico
a aplicao deve localizar operaes criticas dentro de subsistemas e usar
componentes de alta granularidade em detrimento dos de baixa granularidade para
reduzir a comunicao entre eles.H conflitos potenciais entre algumas dessas
arquiteturas, por exemplo se o desempenho que necessita de alta granularidade e
a facilidade de manuteno que necessita de baixa granularidade forem ambos
requisitos crticos ter que ser encontrada alguma soluo eficaz. Modelo Cliente
Servidor: A vantagem de um modelo cliente servidor que ele uma arquitetura
distribuda. O uso efetivo de sistemas em rede pode ser feito com muitos
processadores distribudos. fcil adicionar um novo servidor e integra- lo ao
restante do sistema. O Modelo em Camadas: Quatro conceitos Entidade: elemento
ativo em cada camada (ex.: processo ou placa de interface de rede) Servio: indica
o que a camada faz Interface: indica aos processos acima como acessar a camada
7
9. 9. Protocolo: regras e convenes usadas na conversao entre uma camada de
uma mquina e a mesma camada de outra. Demonstrao de comunicao com
dois computadores diferentes Estilos de decomposio modular:Estilos de
decomposio de subsistemas em mdulos.No h distino rgida entre
organizao de sistema e decomposio modular.Um mdulo um componente de
sistema que fornece servios para outros mdulos; no normalmente
considerado um sistema separado. Decomposio orientada a objetos: Esta forma
decomposio baseada na premissa que os DADOS e no as funes so a parte
mais importante do sistema. Este tipo de decomposio interpreta um software
como sendo uma quantidade de estruturas de dados isoladas que formam no seu
todo a estrutura base do sistema. Pipelining orientado a funes: No pipelining
orientado a funes ou modelo de fluxo de dados, as transformaes processam
suas entradas e produzem sadas. Os dados fluem de uma para outra funo e so
transformados ao moverem se sequencialmente. Modelos de controle: Diferente
do modelo de decomposio de sistema, os modelos de controle esto
relacionados ao fluxo de controle entre subsistemas. Controle centralizado: Um
subsistema de controle responsvel pelo gerenciamento da execuo de outros
subsistemas. 8
10. 10. Modelo chamada-retorno: Nesse modelo, um evento transmitido a todos os
subsistemas. Qualquer subsistema programado para manipular o evento pode
responder a ele. A vantagem dessa abordagem que a evoluo relativamente
simples, um novo subsistema para tratar classes especificas de eventos pode ser
integrado por meio do registro de seus eventos no tratador de eventos. A
desvantagem que os subsistemas no sabem se ou quando os eventos sero
manipulados. Arquitetura de referencia: As arquiteturas de referencia no so

geralmente consideradas um roteiro de implementaes. Em vez disso, sua


principal funo ser um meio de discusso de arquiteturas de domnio especifico
e de comparao de sistemas diferentes em um domnio. Um modelo de referencia
forenece um vocabulrio para comparao. um modelo para ambientes CASE
que identifica cinco conjuntos de servios que um ambiente CASE deve fornecer.
Ele deve tambm fornecer recursos de plug in para ferramentas CASE individuais
que usam esses servios. Servios de repositrio de dados.Servios de integrao
de dados.Servios de gerenciamento de tarefas. Servios de mensagem. Servios
de interface com o usurio. CAPITULO 12 Arquitetura de sistemas distribudos
Arquitetura de multiprocessadores De grande flexibilidade de utilizao permite
facilmente a utilizao de microprocessadores comerciais.Para aproveitar N
processadores necessrio ter pelo menos N fios de execuo (independentes
ou no): thread-levelparallelism. Fios podem ter dimenses muito diferentes (de
milhares a muitos milhes de instrues); problema de identificao do paralelismo
a alto-nvel (software). Duas classes: 1. Memria partilhada centralizada (a classe
mais comum). 2. Memria fisicamente distribuda. 9
11. 11. Arquitetura cliente-servidor Os clientes precisam estar informados sobre os
servios disponveis, mas geralmente no sabem da existncia de outros clientes.
Vrios processos de servios podem ser executados em um nico processador de
servio portanto no h mapeamento entre processos e processadores de um
sistema O projeto de sistemas cliente-servidor deve refletir a estrutura lgica da
aplicao que esta sendo desenvolvida. Corba O CORBA um padro criado pelo
OMG (Object Management Group) para permitir a interao entre aplicaes
heterogneas em ambientes tambm heterogneos, o que pode ser entendido
como permitir a interao entre aplicaes desenvolvidas em diversas linguagens
de programao que esto sendo executadas em diferentes mquinas (tambm
heterogneas) conectadas a uma rede de dados. 10
12. 12. Arquiteturas ponto a ponto So sistemas descentralizados em que as
computaes podem ser realizadas por qualquer n da rede, nenhuma distino
feita entre clientes e servidores. O sistema global projetado para beneficiar-se da
capacidade computacional e armazenamento disponveis em uma rede de
computadores potencialmente grande. 11
13. 13. Arquitetura de sistema orientado a servios Os provedores de servios podem
desenvolver servios especializados e oferec-los a uma gama de usurios de
servios de organizaes diferentes. A proposto WEB Service foi lanada pois o
acesso de servidores web, era somente por meio de navegar web, e o acesso
direto aos repositrios de informaes por outros programas no era pratico.
CAPITULO 13 Arquitetura de aplicaes uma srie de atividades
ordenadamente realizadas, que resultar em uma espcie de arranjo de
informaes, pois no incio da atividade feita a coleta de informaes, ou dados,
que passam por uma organizao onde no final ser passada para o usurio o
dado pertinente a sua busca. Para uma melhor definio usaremos o computador
como exemplo: ele uma mquina que possui um sistema de coleta de dados,
esses dados so manipulados e logo depois seus resultados so fornecidos de
acordo com as informaes coletadas no incio do processo. 12

14. 14. Um exemplo simples de processamento de dados Sistemas de processamento


de transaes Definies: SPTs so sistemas integrados bsicos que atendem ao
nvel operacional da organizao; um sistema computadorizado que realiza e
registra as transaes rotineiras; O arquivo-mestre composto de informaes
discretas elementos de dados; Os elementos so combinados para fornecer
relatrios de interesse da gerncia e fiscalizao; So necessrios para monitorar
o andamento das operaes internas e externas. Sistemas de gerenciamento de
informaes e recursos Um sistema de informaes permite acesso controlado de
uma grande base de informaes, tais como catalogo de bibliotecas, tabela de
horrios de voos ou registros de pacientes em um hospital. O desenvolvimento da
WEB fez com que um grande numero de sistemas de informaes migrasse de
sistemas organizacionais especializados para sistemas de propsito geral
acessveis universalmente. O componente de um sistema de alocao de recursos
inclui: 1- um banco de dados de recursos que mantm detalhes de recursos que
so alocados. Os recursos podem ser adicionados ou removidos do banco de
dados. 2- Um conjunto de regras que descreve as regras de alocao de recursos.
3- um componente de gerenciamento de recursos que permite que o provedor de
recursos adicione, edite ou elimine recursos do sistema. Sistemas de
processamento de eventos A principal caracterstica dos sistemas de
processamento de eventos que a sequencia de eventos imprevisvel e o
sistema deve ser capaz de trabalhar com esses eventos quando eles ocorrerem.
13
15. 15. Sistemas de processamento de linguagens Em engenharia de software, os
sistemas de processamento de linguagens mais amplamente usados so os
compiladores que traduzem uma linguagem artificial de programao de alto nvel
em cdigo de maquina. Mais outros sistemas de processamento de linguagens
traduzem uma descrio de dados XML em comandos para consultar um banco de
dados e sistemas de processamento de linguagem natural que tentam traduzir uma
linguagem em outra. CAPITULO 29 Gerenciamento de configuraes
Gerenciamento de configuraes o desenvolvimento e o uso de padres e
procedimentos para o gerenciamento de sistemas de software em
desenvolvimento.Ha muitas razes Por que os sistemas existem em diferentes
configuraes. Configuraes podem ser produzidas para diferentes
computadores, para diferentes sistemas operacionais, incorporando funes
especificas de clientes. Os gerentes de configuraes so responsveis por manter
a rastreabilidade das diferenas entre verses de software, para assegurar que as
novas verses sejam derivadas de maneira controlada e liberar novas verses para
clientes certos no momento certo. Ela permite minimizar os problemas decorrentes
ao processo de desenvolvimento, atravs de um controle sistemtico sobre as
modificaes. No objetivo da GCS evitar modificaes, mas permitir que elas
ocorram sempre que possvel, sem que hajam falhas inerentes ao processo. O
desenvolvimento com configuraes base pode, ento, ser resumido nos seguintes
pontos: Caracterizao do ciclo de vida, identificando-se as fases pelas quais o
desenvolvimento do software ir passar e, dentro delas, as atividades a serem
realizadas e os produtos a serem desenvolvidos. Definio do conjunto de
baselines. Para cada baseline planejada, deve-se estabelecer quais sero os ICs

que a iro compor e quais as condies impostas para seu estabelecimento;


Baselines representam marcos no processo de desenvolvimento: uma nova
baseline estabelecida no final de cada fase do ciclo de vida do software; 14
16. 16. Durante cada fase, o desenvolvimento dos ICs a ela referentes est sob total
controle de seus desenvolvedores, e realiza-se com ampla liberdade, podendo os
ICsserem criados e modificados com bastante facilidade; Durante cada fase,
entretanto, a modificao de uma configurao-base anteriormente estabelecida
somente pode ser feita de forma controlada, mediante um processo bem definido;
Ao ser estabelecida, cadabaseline incorpora integralmente a anterior. Desta forma,
em qualquer instante do desenvolvimento, a ltima baseline estabelecida
representa o estado atual do desenvolvimento como um todo; O estabelecimento
de cada baseline somente realizado aps ser aprovada por procedimentos de
consistncia interna, verificao e validao; Identificao de item de configurao
O esquema de identificao de itens de configurao deve atribuir um nico nome
para todos os documentos sob controle de configurao. Esse nome pode refletir o
tipo do item, uma parte do sistema ao qual ele se aplica, o criador do item. Banco
de dados de configurao um repositrio de informaes relacionadas a todos os
componentes de um sistema de informao. Ele contm os detalhes dos itens de
configurao (IC) na infraestrutura de TI. Apesar de repositrios similares aos
BDGCs terem sido utilizados por departamentos de TI durante muitos anos, o
termo BDGC resulta da ITIL. No contexto da ITIL, um BDGC representa a
configurao autorizada dos componentes significativos do ambiente de TI. Um
BDGC ajuda uma organizao a entender os relacionamentos entre estes
componentes e acompanhar suas configuraes. O BDGC um componente
fundamental do processo degerenciamento de configurao do framework ITIL. As
implementaes de BDGCs geralmente envolvem associao, a incluso de dados
no BDGC de outras fontes, comogerenciamento de ativos, de tal forma que a fonte
dos dados retenha o controle dos dados. Associao normalmente distinta de
solues de extrao, transformao e carga, nas quais os dados so copiados no
BDGC. O BDGC registra os ICs e os detalhes sobre os atributos importantes e os
relacionamentos entre ICs. Gerentes de configurao normalmente descrevem ICs
usando trs atributos configurveis: 15
17. 17. Tcnico Propriedade Relacionamento Release A criao de um release um
processo de criao de arquivos e documentos que inclui todos os componentes
do release do sistema. O cdigo executvel de programas e todos os arquivos de
dados associados devem ser coletados e identificados. Se os manuais a serem
lidos emcomputadores so distribudos, copias eletrnicas devem ser
armazenadas com o software. uma palavra em ingls que quando usada como
substantivo significa liberao ou lanamento. Tambm pode ser a forma abreviada
de referir press release, um instrumento da comunicao. Apesar de poder
significar uma libertao fsica, a maior parte das vezes a palavra usada no
sentido de lanamento de um determinado produto. No contexto da msica,
quando um artista grava um CD ou DVD, ele escolhe um dia para fazer o
lanamento (release) do seu trabalho. No ramo da tecnologia e dos videogames,
comum encontrar a expresso release date, que significa "data de lanamento". A
release date a data em que o jogo, software ou outro produto (como um celular,

por exemplo) fica disponvel para ser adquirido. 3.3 PROGRAMAO PARA WEB
II Frameworks, sejam elas escritas em PHP ou em qualquer outra linguagem,
oferecem ao programador um conjunto de cdigos prontos que permitem realizar
as tarefas mais bsicas no desenvolvimento de um aplicativo. Por oferecer essa
estrutura bsica, os frameworks tornam o desenvolvimento mais rpido e reduzem
o volume de cdigo repetitivo escrito pelo programador. Os frameworks tambm
ajudam aos programadores iniciantes a criar aplicativos mais estveis, mesmo que
eles ainda no dominem completamente a linguagem de programao e todas as
outras tecnologias necessrias para fazer o aplicativo funcionar. 16
18. 18. 3.3.1 Comparao de frameworks para desenvolvimento web (Java). Apache
Axis2 um framework open-source utilizado no desenvolvimento de Web services
para as linguagens Java e C. Na sua verso para Java, Axis2 suporta o
desenvolvimento de Web services baseados em XML e baseados em REST. 20. O
Apache Axis2 foi lanado em 2006 sendo considerado a terceira gerao de
frameworks para desenvolvimento de Web services da Apache. Seus antecessores
so Apache SOAP e Apache Axis 1.0. O Axis2 foi criado para atender os novos
padres de Web services, pois no era vivel alterar a arquitetura do Axis 1.0
(JAYASINGHE; AZEEZ, 2011. p. 19). Axis2 implementa vrios padres de Web
services. Essas implementaes podem ser nativas, como o padro WSAddressing ou implementadas a partir de mdulos. Os mdulos so plug-ins que
podem ser estendidos pelo Axis2 e que implementam padres de Web service, tais
como: Apache Sandecha2 que implementa o padro WS-ReliableMessaging,
Apache Kandula2 que implementa os padres WS-Coordination e WSAtomicTransaction e Apache Rampart que implementa o padro WS-Securit.
APACHE CXF Apache CXF um framework open-source para a linguagem Java
amplamente utilizado pelo mercado que prov suporte na criao e consumo de
Web services utilizando as especificaes JAX-WS e JAX-RS. Ainda oferece
suporte a vrios protocolos de mensagem e transporte. Balani e Hathi (2009, p. 20
Traduo nossa) afirmam que o CXF desenvolvido com a misso de prover
uma infraestrutura robusta para o desenvolvimento de Web services e facilitar o
processo de desenvolvimento. Apache CXF surgiu a partir de dois projetos: Celtix
e XFire e, por isso, o nome CXF. Celtix um projeto open-source ESB25 baseado
na linguagem Java desenvolvido pela ObjectWeb, uma empresa que desenvolve
solues open-source de middleware. J o XFire um framework open-source
baseado em Java para desenvolvimento de Web services baseados no protocolo
SOAP desenvolvido pela Codehaus. Durante as verses iniciais de ambos os
projetos, foi constatado que havia muitas caractersticas em comum entre eles e
que era possvel transform-los em um nico projeto. A partir dessa constatao,
foi desenvolvido com a ajuda da Apache Software Foundation, o Apache CXF 2.0
Outra caracterstica importante do CXF a sua integrao com o Spring 17
19. 19. framework. Essa integrao permite utilizar arquivos de configurao do Spring
framework para que a publicao de endpoints seja feita de forma mais simples.
Apache CXF conta ainda com vrias ferramentas de apoio para o desenvolvimento
de servios e/ou consumidores. Segundo Apache CXF (2013), existem ferramentas
para gerao de cdigo, gerao de documentos WSDL, adio de endpoints,
gerao de arquivos de suporte e validao de arquivos. Abaixo seguem alguns

dos principais frameworks Java: Struts (J2EE) - um dos frameworks mais usados
em ambientes corporativos para construo de aplicaes web. Usa o modelo
MVC e caracterizado por uma camada de controle com uso de J2EE e XML.
JavaServer Faces (J2EE) - baseado em tecnologia de servlets e JSP, pode ser
usado como uma opo ao Struts. Spring (POA) - framework baseado em
orientao a aspectos. Possibilidade de uso em conjuntos com outros frameworks
MVC, como o Struts e JSF. Hibernate (Persistncia de Dados) - conhecido
framework de persistncia de dados, que usa conceitos de banco de dados, alm
do mapeamento objeto-relacional (classes Java para tabelas de databases). JDO
(Persistncia de Dados) - interface que prov uma camada de abstrao aplicao
- armazenamento de dados. Prevayler (Persistncia de Dados) - outro famoso
framework que prega uma JVM invuneravel logicamente com uso de uma camada
de prevalncia de objetos. JUnit (testes) - talvez o mais usado framework Java,
includo em IDEs free ou comerciais. Para testes unitrios em geral. Cactus
(testes) - framework especfico para testes unitrios de aplicaes J2EE. Jbanana
(J2EE) - framework brasileiro e open-source para desenvolvimento web. Log4J
(log) - amplamente usado e tli para gerao de logs. 18
20. 20. Jakarta commons-log (log) - semelhante ao Log4J, sob o selo da Jakarta.
Ant (build e deploy) - framework tambm amplamente divulgado da Jakarta para
automatizao de processos de construo, alm de testes e distribuio. Jasper
Report / iReport (geradores de relatrio) - framework para gerao de modo
dinmico de relatrios. Compatvel com formatos xml, pdf e html. 3.3.2 Custo
Benefcio de frameworks no desenvolvimento Web Melhora a modularizao
encapsulamento dos detalhes volteis de implementao atravs de interfaces
estveis. Aumenta a reutilizao definio de componentes genricos que
podem ser replicados para criar novos sistemas. Extensibilidade favorecida pelo
uso de mtodos hooks que permitem que as aplicaes estendam interfaces
estveis. Inverso de controle IoC o cdigo do desenvolvedor chamado pelo
cdigo do framework. Dessa forma, o framework controla a estrutura e o fluxo de
execuo dos programas. Existem inmeros benefcios alcanados ao utilizar
frameworks, como o ganho de produtividade, a reduo da possibilidade de erros
(produtividade, de novo), maior nvel de abstrao (produtividade?),
compatibilidade e integrao entre aplicaes (produtividade!),desenvolvimento de
forma mais segura e prazerosa Alm destes benefcios, h a vantagem de contar
com o apoio da comunidade, j que os frameworks so usados em larga escala e
geralmente so comunitrios. Contra estes benefcios, existem poucas
desvantagens e muitos mitos. Em grande parte das discusses que envolvem o
uso de frameworks, percebe-se no time do contra muito preconceito, argumentos
recheados de mitos e, por vezes, confuses e concluses baseadas em
frustraes passadas. 19
21. 21. Frameworks web so utilizados em larga escala. No moda, uma
necessidade comprovada pela comunidade e pelo meio corporativo, e alguns mitos
tm que ser derrubados. 3.3.3 Programao Java Web (plataforma de
desenvolvimento). A plataforma Java constituda de um grande nmero de
tecnologias, cada uma prov uma poro distinta de todo o ambiente de
desenvolvimento e execuo de software. Os usurios finais, tipicamente,

interagem com a mquina virtual Java (Java Virtual Machine, ou JVM) e um


conjunto padro de bibliotecas de classe. Existe um grande nmero de maneiras
de se utilizar uma aplicao Java, incluindo applets embutidas em pginas web,
aplicativos de uso geral em desktops, aplicativos em aparelhos celulares e em
servidores de aplicaes para Internet(Apache Tomcat, Glassfish, JBoss etc). Os
desenvolvedores de aplicaes em Java utilizam um conjunto de ferramentas de
desenvolvimento, o JDK. Os requisitos so normalmente divididos em requisitos
funcionais e no- funcionais, alm de restries. Acontece que em sistemas para a
Internet a classificao dos requisitos pode ser muito mais ampla e abrangente,
haja vista a diversidade de requisitos que caracteriza uma aplicao Web. Pode-se
ter os seguintes tipos de requisitos para estas aplicaes: Requisitos Funcionais
Como foi visto, os requisitos funcionais especificam as capacidades e servios que
o sistema deve oferecer; Requisitos de Sumrio ou Contedo Estes so
requisitos que especificam o contedo da Web que a aplicao deve representar;
Requisitos de Qualidade Os requisitos de qualidade dizem respeito
caractersticas mensurveis do sistema e que agregam ou no valor a ele
(WIEGERS, 1999). Podese citar os nveis de confiabilidade, usabilidade e
portabilidade da aplicao; Requisitos de Ambiente de Sistema Estes requisitos
descrevem como uma aplicao Web est inserida em um ambiente. Isto inclui os
sistemas aos quais ela possa estar ligada, a outros sistemas j existentes,
componentes e hardwares; 20
22. 22. Requisitos de Interface do Usurio Requisitos associados interface que
ser apresentada pela aplicao ao usurio. Sabendo-se que uma aplicao Web
ter um pblico usurio diversificado e com diferentes conhecimentos e nveis de
instruo, geralmente requisitos relacionados a este tipo prezam por aplicaes
autoexplicativas e intuitivas, visando uma fcil aceitao por parte do usurio;
Requisitos de Evoluo Os softwares, de maneira geral, e de forma mais intensa
as aplicaes Web, evoluem com o passar do tempo. Os requisitos de evoluo
so 21 aqueles que identificam mudanas na qualidade do software que dever
ocorrer em um certo espao de tempo a frente. Mudanas estticas na aplicao
(visual) que devero ocorrer aps dois anos a partir da concluso do sistema um
exemplo; Restries Assim como visto no captulo anterior, as restries so
condies no negociveis que afetam o projeto, tais como oramento e
cronograma. 3.4 PROJETO ORIENTADO A OBJETOS Sendo assim para o
problema da China Telecon, a melhor soluo para esta empresa seria realmente
adotar um software de uma empresa especializada e com um bom suporte. Mas
nos baseando na hiptese de a empresa querer desenvolver seu prprio software,
para reduzir os custos seria necessrio tambm reduzir o tempo de
desenvolvimento do mesmo e manter a qualidade e produtividade no
desenvolvimento. Contando com uma equipe de profissionais capacitados, tambm
seria necessrio adotar padres e tcnicas que iro ajudar a desenvolver um bom
sistema para a empresa. Analisando entre os padres existentes, fcil chegar a
concluso que o melhor padro para ser adotado no desenvolvimento do software
em questo seria a arquitetura MVC. A arquitetura MVC foi desenvolvida para ser
usado em projetos de interface visual em Smalltalk, linguagem de programao
que juntamente com o C++ ganhou grande reconhecimento na poca, o MVC foi

criado na dcada de 70, e aps esses anos de sua criao ainda um pattern
aplicvel nas mais variadas aplicaes, principalmente em aplicaes web. 21
23. 23. Quando um software comea a ficar grande e complexo, muitos dados so
apresentados para os usurios, sentimos a necessidade de aplicar uma arquitetura
que facilite nosso trabalho, desde a organizao do projeto, as divises das
responsabilidades at as possveis modificaes que podero ser efetuadas ao
longo do desenvolvimento do software para isso precisaram dividir o projeto em
trs objetos para aplicar o MVC. O MVC tem como principal objetivo: separar dados
ou lgicos de negcios (Model) da interface do usurio (View) e o fluxo da
aplicao (Controller), a idia permitir que uma mensagem da lgica de negcios
possa ser acessada e visualizada atravs de vrias interfaces. Na arquitetura MVC,
lgica de negcios, ou seja, nosso Model no sabe quantas nem quais as
interfaces com o usurio esta exibindo seu estado, a view no se importa de onde
esta recebendo os dados, mas ela tem que garantir que sua aparncia reflita o
estado do modelo, ou seja, sempre que os estados do modelo mudam, o modelo
notifica as view para que as mesmas atualizem-se. MVC um conceito
(paradigma) de desenvolvimento e design que tenta separar uma aplicao em trs
partes distintas. Uma parte, a Model, esta relacionada ao trabalho atual que a
aplicao administra outra parte a View esta relacionada a exibir os dados ou
informaes dessa uma aplicao e a terceira parte, Controller, em coordenar os
dois anteriores exibindo a interface correta ou executando algum trabalho que a
aplicao precisa completar. (GONALVES, 2007, p. 141). Embora o MVC s
contenha trs camadas h outra camada fundamental para o bom andamento da
arquitetura, esta um mecanismo de eventos necessrio a comunicao entre
outros trs elementos, este elemento permite uma comunicao assncrona que
invocada quando algum evento interessante acontece, esta quarta camada contm
os beans de entidade onde se localizam os mtodos get e set das classes Design
Patterns aplicados na arquitetura MVC A arquitetura MVC utiliza padres de
projetos em suas camadas analisamos a arquitetura agora com os patterns. O
MVC usa outros padres de projeto, tais como Factory Method, para especificar
por falta (by default) a classe controladora para uma vista e Decarator, para
acrescentar capacidade de rolagem (scrolling) a uma vista. Mais os principais 22
24. 24. relacionamentos do MVC so fornecidos pelos padres Observer, Composite,
Strategy. (GAMMA et al. , 2000, p. 22). Os designs patterns nos ajuda explicar a
arquitetura MVC, e com eles podemos perceber que por traz do MVC pode conter
um conjunto de padres trabalhando juntos em uma mesma estrutura. Abordamos
agora os patterns Observer e Strategy que so padres comportamentais e o
Composite padro estrutural, o objetivo de abordar os patterns para facilitar a
compreenso de como a arquitetura MVC trabalha, sabendo que um padro de
arquitetural que confundem projetistas e desenvolvedores. Utilizando essa
arquitetura, o tempo de desenvolvimento do software diminuir sem perde a
qualidade e sem aumento de custos. Framework Uma das melhores opes seria o
Hibernate como framework de persistncia de dados. O Hibernate um framework
para mapeamento objeto/relacional em Java, que abstrai o cdigo SQL da
aplicao, permitindo, entre outra coisas, modificar a base de dados para outro
SGBD (Sistema Gerenciador de Banco de Dados) sem modificar uma linha de

cdigo. O Visual Studio muito bruto e bom de trabalhar. A IDE que se aproxima
mais o Netbeans e o framework que possui mais caractersticas semelhantes ao
Asp.NET o JSF onde se possui elementos na tela que "vinculam" com elementos
no cdigo daquela tela. Por esta razo este foi o framework escolhido. 23
25. 25. 4 CONCLUSO Este trabalho foi proveitoso no sentido de conhecer mais as
ferramentas para desenvolvimento de software, projetos e arquiteturas, bem como
o uso de frameworks, e persistncia de dados. Enfim, foi um apanhado de como
criterioso e analtico a confeco de um bom software onde entendi que um bom
software tem que ser bem planejado e estruturado para se tornar eficaz. 24
26. 26. REFERNCIAS LAHR Thiago Canozzo. Segurana em Aplicaes Web. Sep 3
2009. Dissertao (Analista de Segurana da Informao) - PUC-Campinas, 2002.
Disponvel em: <
https://www.ibm.com/developerworks/community/blogs/tlcbr/entry/seguranca_em_a
pl icacoes_web?lang=en>. Acesso em: 25 out. 2014. Wikipdia. Diagrama de
atividade. Wikipdia, a enciclopdia livre. Disponvel em: <
http://pt.wikipedia.org/wiki/Diagrama_de_atividade>. Acesso em: 25 out. 2014.
prof. OLIVEIRA Lucelia. Diagrama de atividade. Disponvel em: <
http://sistemas.riopomba.ifsudestemg.edu.br/dcc/materiais/2121423876_Diagrama
D eAtividades.pdf >. Acesso em: 23 out. 2014. prof. SOUSA Artur, LOUREIRO
Jorge. Modelo relacional Normalizao Diagramas E-R e Tabelas Originadas.
Dissertao (Departamento de informtica) Escola Superior de tecnologia de
viseu. Disponvel em: <
http://www.estgv.ipv.pt/paginaspessoais/steven/Disciplinas/II2/Bibliografia/Sebenta/
s eb_cap5_1.pdf>. Acesso em: 23 out. 2014. Wikipdia. Modelo entidade
relacionamento. Wikipdia, a enciclopdia livre. Disponvel em: <
http://pt.wikipedia.org/wiki/Modelo_entidade_relacionamento>. Acesso em: 24 out.
2014. PESSOA Mrcio. Segurana em PHP. Dissertao (Desenvolva programas
PHP com alto nvel de segurana e aprenda como manter os servidores web livres
de ameaas) - Novatec. Disponvel em: <
http://www.martinsfontespaulista.com.br/anexos/produtos/capitulos/254879.pdf>.
Acesso em: 25 out. 2014. SOMMERVILE, Ian. ENGENHARIA DE SOFTWARE. 8
Edio. So Paulo: Pearson Addison Wesley, 2007. 25

Você também pode gostar