Você está na página 1de 20

LISTA DE FIGURAS

Figura 1 - Fases do ciclo de vida de um projeto...........................................................5


Figura 2 - Estgios do projeto e desenvolvimento........................................................7
Figura 3 - WBS - Locadora de carros.........................................................................10
Figura 4 - Cronograma do Projeto Locadora de Carros - Pg. 01..............................11
Figura 5 - Cronograma do Projeto Locadora de Carros - Pg. 02.............................12
Figura 6 - A disciplina Interao Homem-Computador. Adaptado de PREECE et al.
(1994:16), In ACM SIGCHI 1992.................................................................................13

SUMRIO
1

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

OBJETIVO.............................................................................................................4

DESENVOLVIMENTO...........................................................................................5

3.1

O CICLO DE VIDA DE UM PROJETO..............................................................5

3.1.1

ESCOLHA DO CICLO DE VIDA....................................................................6

3.1.2

A PROTOTIPAO COMO CICLO DE VIDA DO PROJETO LOCADORA

DE VECULOS..............................................................................................................6
3.1.2.1 COMO FAZER A PROTOTIPAGEM DE UMA APLICAO.........................7
3.2

ESTRUTURA ANALTICA DO PROJETO (EAP)..............................................9

3.3

CRONOGRAMA...............................................................................................11

3.4

INTERAO HUMANO-COMPUTADOR IHC.............................................12

3.5

SEGURANA WEB.........................................................................................14

CONCLUSO......................................................................................................16

REFERNCIAS...........................................................................................................17

1 INTRODUO
Gerenciamento de projeto a aplicao de conhecimento,
habilidades, ferramentas e tcnicas s atividades do projeto a fim de atender aos
seus requisitos (PMBOK, 2004).
A incerteza sobre os requisitos do sistema em desenvolvimento a
maior causa de erros ou custos em um projeto. Neste contexto, as abordagens para
desenvolvimento de sistemas, visam auxiliar o desenvolvedor na identificao das
necessidades do usurio.
A abordagem prototipao prev a construo de um modelo do
software que ser implementado.
Com base em um cenrio proposto de um sistema web Locadora de
Carros, foram desenvolvidos tpicos a fim de englobar alguns aspectos que
contemplam o desenvolvimento do mesmo.
Considerando o estudo de caso e o desenvolvimento de um sistema
para uma empresa, foram aplicadas algumas tcnicas de gerenciamento com a
escolha de um ciclo de vida para o projeto, o desenvolvimento de uma WBS,
cronograma e relatrio de validao de escopo e de requisitos para seu
atendimento.
Tambm citamos alguns aspectos relacionados interface grfica
que uma parte importante do software, pois por meio dela que o usurio se
comunica. Quando mal construda compromete a utilizao do software pelo
usurio. Para solucionar este problema recomenda-se ter incorporado no processo
de desenvolvimento de software tcnicas de boas prticas para o projeto de
interface homem-computador (IHC). Entre essas tcnicas tm-se as regras
heursticas de usabilidade e critrios ergonmicos.
Outro aspecto diz respeito poltica de segurana para o sistema
onde foram abordados itens que so essenciais para sua implementao.

2 OBJETIVO
Esta produo textual interdisciplinar do 5 semestre do curso de
Anlise e Desenvolvimento de Sistemas tem como objetivo aplicar e exercitar os
contedos assimilados no perodo, abordando os diversos conceitos, tcnicas e
prticas sobre ciclo de vida de um projeto, prototipao, WBS - work breakdown
structure (em portugus: EAPs - Estruturas Analticas de Projeto), cronograma,
interface homem-computador (IHC) e segurana web.

3 DESENVOLVIMENTO
3.1 O CICLO DE VIDA DE UM PROJETO
O ciclo de vida do projeto (Project Life Cycle) consiste no conjunto
de fases que o compem, geralmente em ordem sequencial de execuo.

Figura 1 - Fases do ciclo de vida de um projeto

Uma fase de um projeto um grupo de atividades, relacionadas de


forma lgica, e a sua concluso marcada pela entrega de um ou mais deliverables
(entregveis ou entregas). Um deliverable qualquer produto ou servio, tangvel e
verificvel, que deve ser produzido para completar um projeto ou parte dele. Para
ser verificvel, ele deve atender a padres predeterminados para sua concluso,
como especificaes de desenho (design) de um produto ou uma lista de verificao
das etapas concludas como parte de um servio.
A definio das fases do ciclo de vida de um projeto est
diretamente ligada ao tipo de produto a ser gerado.
Segundo Yourdon (1990), o ciclo de vida de um projeto de sistema
o modo como o projeto desenvolvido na empresa e uma maneira simples para
que qualquer pessoa da rea de desenvolvimento de sistemas possa entrosar-se
com o projeto a ser desenvolvido.
Ter um ciclo de vida de projeto de sistema importante pelas
seguintes razes:
Definio das atividades a serem executadas em um projeto.

Consistncia entre muitos projetos de desenvolvimento da mesma organizao.


Introduo de pontos de verificao para o controle gerencial de decises.
Facilidades no gerenciamento de prazos.
3.1.1 ESCOLHA DO CICLO DE VIDA
O modelo de ciclo de vida a primeira escolha a ser feita no
processo de software. A partir desta escolha definir-se- desde a maneira mais
adequada de obter as necessidades do cliente, at quando e como o cliente
receber sua primeira verso operacional do sistema.
No existe um modelo ideal. O perfil e complexidade do negcio do
cliente, o tempo disponvel, o custo, a equipe, o ambiente operacional so fatores
que influenciaro diretamente na escolha do ciclo de vida de software a ser adotado.
Da mesma forma, tambm difcil uma empresa adotar um nico
ciclo de vida. Na maior parte dos casos, v-se a presena de mais de um ciclo de
vida no processo.
Os ciclos de vida se comportam de maneira sequencial (fases
seguem determinada ordem) e/ou incremental (diviso de escopo) e/ou iterativa
(retroalimentao de fases) e/ou evolutiva (software aprimorado).
Neste contexto, apresentamos alguns modelos de ciclo de vida:
Cascata;
Modelo em V;
Incremental;
Evolutivo;
RAD;
Prototipagem;
Espiral;
Modelo de Ciclo de Vida Associado ao RUP;
Modelo em Cascata.

3.1.2 A PROTOTIPAO COMO CICLO DE VIDA DO PROJETO LOCADORA DE


VECULOS
Para o desenvolvimento do sistema requerido o ciclo de vida
escolhido foi a Prototipao, em virtude deste se adequar melhor a situao do
cliente. O ciclo escolhido serve como um mecanismo para identificao dos
requisitos do software, e proporciona uma maior rapidez na implantao do sistema.
A Prototipagem vai nos ajudar a criar a estrutura de interface do
usurio do sistema (Locadora de Veculos), sem realmente escrever qualquer
cdigo. Os problemas podem ser previstos antes que surjam, mesmo antes de
escrever a lgica de negcios.
Porque usar a prototipagem?
Antes de iniciar a construo do sistema importante para a
primeira avaliao do problema, entender exatamente o que o cliente necessita. O
objetivo bsico do prottipo de aplicativo entender as necessidades do cliente de
forma clara e obter a sua aprovao, antes de prosseguir com o pedido principal.

Figura 2 - Estgios do projeto e desenvolvimento

Dessa forma, so reduzidas as dificuldades e custos, que podem


surgir enquanto a execuo de trabalhos sem a compreenso dos requisitos.

3.1.2.1 COMO FAZER A PROTOTIPAGEM DE UMA APLICAO


Diretrizes e princpios
Seguem os passos bsicos para a prototipagem:
Entender os requisitos do cliente;
Documentar o processo;
Viabilidade tcnica;
Experimentao rpida de ideias diferentes;
Feedback do cliente;
Incorporao de Feedback.
Entender os requisitos
Quando o cliente chega at voc com um problema e diz quais so
suas necessidades, importante que voc entenda os requisitos fundamentais para
que o resultado final seja sempre o que o cliente quer.
Documentando o processo
Esta uma parte essencial do desenvolvimento do prottipo. Voc
precisa observar os requisitos, para que possa medir o sucesso depois do prottipo.
O feedback do cliente na reviso do prottipo tambm deve ser registrado, para que
voc possa entender por que um determinado recurso foi includo ou removido do
prottipo. Isso reduz a chance de haver um mal-entendido entre o cliente e a equipe
de desenvolvedores.
Viabilidade Tcnica
O cliente pode exigir uma srie de recursos que no so viveis para
implementar. Assim, o prottipo vai ser o juiz de viabilidade tcnica ao desenvolver o
aplicativo.
Se um recurso necessrio est criando dificuldades na fase de
prottipo, possvel que este seja um grande obstculo no desenvolvimento de
aplicaes reais. Assim, a prototipagem ajuda a equipe a avaliar esse risco e
encontrar um mtodo alternativo, se necessrio.
Requisitos de caractersticas vulnerveis devem ser abordados em
primeiro lugar, porque, se negligenciados, podem prejudicar o projeto durante o

desenvolvimento real. Superar dificuldades durante a prototipagem faz com que o


processo de desenvolvimento real seja mais suave.
Brainstorming
Brainstorming ajuda a equipe a classificar os principais componentes
do projeto, bem como, facilita a identificao de abordagens diferentes, que podem
ser usadas a encontrar o caminho mais eficiente para a interao entre os
componentes.
Experimentao rpida de ideias diferentes
Prototipagem nos ajuda a explorar rapidamente como um aplicativo
deve funcionar. Diferentes mtodos podem ser experimentados para observar como
atingir resultados de maneira mais eficiente. O foco principal no trabalhar sobre a
lgica do negcio, mas a interface do usurio e o fluxo entre os principais
componentes. Isso ajuda a equipe a identificar a melhor soluo em uma quantidade
limitada de tempo.
Feedback do Cliente
O feedback do cliente ajuda a equipe a melhorar o prottipo e
manter o foco sobre os componentes principais. Como o feedback aplicado nos
estgios iniciais, h economia de tempo no desenvolvimento.
Melhorar o prottipo baseado no Feedback
O feedback do cliente deve ser incorporado no prottipo. Isso ajuda
o cliente a identificar se atende suas necessidades. A equipe tcnica pode verificar a
viabilidade de aplicar aspectos particulares do feedback.
Prottipo deve ser muito prximo da aplicao real
Cuidados devem ser tomados para garantir que o prottipo
permanea prximo aplicao concreta. Se uma funcionalidade no pode ser
aplicada a aplicao real, no deve ser includa no prottipo.
Comunicao
Assim como a documentao, a comunicao entre o cliente e a
equipe de desenvolvimento um fator importante para o sucesso da aplicao final.
A comunicao reduz o risco de ocorrncia de um mal-entendido.

10

3.2 ESTRUTURA ANALTICA DO PROJETO (EAP)


Tambm conhecida por WBS (Work Breakdown Structure), uma
ferramenta importante para se identificar:
O que deve ser feito;
Quem vai fazer o que;
Quanto tempo leva para realizar;
Quanto custa a tarefa.
O WBS tem por finalidade entender o projeto como um todo atravs
de suas partes e ajuda ainda a:
Fornecer uma ilustrao detalhada do escopo do projeto;
Criar estimativas precisas de custos e cronograma;
Montar equipes de projeto;
Monitorar o progresso (cada tarefa uma unidade mensurvel do trabalho).
Cada elemento da estrutura do WBS recebe um peso equivalente ao
que representa de progresso fsico ou financeiro do total do projeto ou do
empreendimento. Esse balano de representao dos pesos um bom caminho
para verificar a usabilidade do WBS.
Existem diversas maneiras de se definir uma EAP de um projeto. A
figura a seguir apresenta o projeto Locadora de carros.

11

Figura 3 - WBS - Locadora de carros

3.3 CRONOGRAMA
O cronograma um instrumento de planejamento e controle
semelhante a um diagrama, em que so definidas e detalhadas minuciosamente as
atividades a serem executadas durante um perodo estimado.
Em nvel gerencial, um cronograma um artefato de controle
importante para levantamento dos custos de um projeto e, a partir deste artefato,
pode ser feita uma anlise de viabilidade antes da aprovao final para a realizao
do projeto.

12

Figura 4 - Cronograma do Projeto Locadora de Carros - Pg. 01

Figura 5 - Cronograma do Projeto Locadora de Carros - Pg. 02

13

3.4 INTERAO HUMANO-COMPUTADOR IHC


Preece (1994) afirma que IHC est relacionada com o design de
sistemas computacionais que apoiem as pessoas de forma que elas possam
conduzir suas atividades de forma produtiva e com segurana. O papel da IHC est
presente em todos os tipos de sistemas, incluindo controle de trfego areo e
plantas nucleares, onde a segurana imprescindvel, planilhas eletrnicas e
processadores de texto onde produtividade fundamental, e at mesmo jogos
eletrnicos, onde a satisfao e excitao so fundamentais.

Figura 6 - A disciplina Interao Homem-Computador. Adaptado de PREECE et al. (1994:16), In ACM


SIGCHI 1992.

Para o Projeto Locadora de Carros, citaremos alguns aspectos


bsicos de usabilidade:
Clareza na arquitetura da informao - essencial que o usurio consiga
discernir o que prioritrio e o que secundrio no site.
- Um bom arranjo da informao.
- Usurios sempre tero dificuldades em encontrar o que procuram, portanto
devem ser ajudados.
- Prover um senso de como a informao est estruturada e localizada. Ex: mapa

14

do site.
Facilidade de navegao - O usurio deveria conseguir acessar a informao
desejada no mximo em trs cliques.
Simplicidade - Quem navega quer encontrar o mais rapidamente possvel o
objetivo da busca. A pirotecnia deve ser evitada, dando ao usurio paz e
tranquilidade para que possa analisar a informao.
A relevncia do contedo - Informaes secundrias devero ser deixadas para
pginas de suporte. As pginas devero ser bem curtas e objetivas enfocando o
contedo atribudo.
Manter a consistncia - Quando as coisas acontecem sempre do mesmo jeito,
os usurios no precisam se preocupar a respeito do que ir acontecer.
Tempo suportvel - O tempo de carregamento das pginas deve ser curto, 15
segundos o mximo de tempo antes que as pessoas percam o interesse.
3.5 SEGURANA WEB
As falhas de segurana em servidores web um assunto que est
cada vez mais em evidncia, e necessrio que os profissionais estejam sempre
bem preparados e conhecendo as principais ameaas e as tcnicas que ajudam a
evita-las. Garantir a segurana de um sistema no fcil, existem milhares de
procedimentos que visam evitar acessos ou uso indevido de dados e recursos.
Abaixo listo algumas dicas incomuns que podem trazer um pouco mais de
segurana aos sistemas desenvolvidos com PHP ou qualquer outra linguagem:
Mensagens de erro: tome cuidado com a exposio de informaes que as
mensagens de erro provocam. Uma simples falha de conexo com um banco de
dados pode exibir o nome do banco e usurio do mesmo, e isso pode ser um
prato cheio para um indivduo mal intencionado;
Criptografia: informaes trafegam o tempo todo pra l e pra c e nada mais
fcil para um hacker do que interceptar esse trfego na busca por informaes
sigilosas. Toda e qualquer informao considerada sigilosa deve trafegar com no
mnimo uma criptografia bsica;
Validao de dados: tendo seu aplicativo na web voc nunca ter 100% de
controle sobre tudo que seus visitantes vo preencher em seus formulrios, que,

15

diga-se de passagem, a ferramenta mais importante de qualquer aplicao.


Logo, filtre todas as informaes a fim de evitar ataques, tais como: XSS, SQL
Injection, Mail Injection, HTML Injection e outros;
Configuraes de servidor: fique atento sempre as configuraes dos
servidores que pretende trabalhar, ainda mais se novato na rea. Existem
diretivas que podem ser exploradas facilmente se no houver a devida
preocupao por parte do programador na hora da codificao;
Fique atento: visitar um site como o http://www.milw0rm.com/ pode ser til para
que voc saiba quais as vulnerabilidades existentes em softwares, linguagens e
etc. Isso pode lhe ajudar a proteger suas aplicaes.
Para segurana do nosso sistema Locadora de Veculos citaremos
um recurso que os programadores utilizam para prevenir ataques do tipo SQL
Injection a utilizao de expresses regulares em seus cdigos para limpar as
variveis enviadas para o sistema. No exemplo abaixo limpamos a varivel de login
de um post:
$_POST['login'] = preg_replace('/[^[:alpha:]_]/', '',$_POST['login']);
[:alpha:] a mesma coisa que [a-zA-Z], portanto no so permitidos
smbolos nem o (_), evitando aquele comando clssico utilizado nos logins como: or
1=1 alm de todos outros possveis utilizando caracteres especiais e nmeros.
Segurana da informao muito importante nos sistemas de hoje,
no somente na aplicao, mas tambm nos servidores fsicos, rede de dados, etc.
Lembre-se que com pequenas atitudes podemos evitar problemas futuros
gigantescos. Existem muitos outros meios de aumentar a segurana na sua
aplicao.

16

4 CONCLUSO
Para a confeco de uma aplicao so abordados diversos
aspectos, no somente a confeco do cdigo que ser utilizado. A gerncia do
projeto deve ser bem elaborada e conduzida a fim de englobar todas as tcnicas
disponveis a fim de uma melhor excelncia do produto final, observando os
requisitos funcionais e no funcionais. Outro aspecto extremamente importante nos
dias atuais trata-se da poltica de segurana de uma empresa, mais especificamente
no caso em estudo o da proteo da informao, cuja posio no mundo atual de
extrema importncia, devendo existir um censo comum entre todas as partes que
envolvem uma empresa, no sentido de preserv-la colocando em prtica a maior
parte dos conceitos que envolvem esta temtica.
Foi bastante prazeroso e gratificante poder transformar em um
documento prtico e objetivo todos os conceitos ministrados no 5 perodo do curso
de Anlise e Desenvolvimento de Sistemas da UNOPAR e ter a certeza de que os
mesmo nos ajudaro em nossas carreiras futuramente.

17

REFERNCIAS
DEVMEDIA. O Ciclo de Vida de um Projeto. Disponvel em: < http://www.devmedia.com.br/ociclo-de-vida-de-um-projeto/24244 > Acessa em: 13/05/2014.

HISATOMI, Marco Ikuro. Projeto de Sistemas. So Paulo: Pearson Education do Brasil,


2010.
MENEZES, Hilton. A importncia da prototipagem no processo de desenvolvimento de
software. Disponvel em: < http://blog.addtech.com.br/post/A-importancia-da-prototipagem-noprocesso-de-desenvolvimento-de-software.aspx > Acessa em: 13/05/2014.

MORAIS, Everson Matias de; LOPER, Adriana Aparecida. Interao Humano-Computador.


Londrina: UNOPAR, 2014.
PRESSMAN, Roger S. Engenharia de Software. Trad. Jos Carlos Barbosa dos Santos.
Rio de Janeiro: Campus, 1990.
ROMANI, Roberto. Usabilidade na WEB. Disponvel em: <
ftp://ftp.unicamp.br/pub/apoio/treinamentos/tutoriais/tut_UsabilidadeWeb.pdf > Acessa em:
15/05/2014.

So Paulo: Makron Books, 1995.

SOLER, Luciano; MORAIS, Everson Matias de. Desenvolvimento de aplicao


Web. So Paulo: Pearson Education do Brasil, 2010.
SOUZA, Alexsandro. Segurana em aplicaes web com PHP. Disponvel em: <
http://imasters.com.br/infra/seguranca/seguranca-em-aplicacoes-web-com-php/ > Acesso em:

15/05/2014.

TANAKA, Simone Sawasaki. Anlise de Sistemas I, II e III: Curso Superior de


Tecnologia em Anlise e Desenvolvimento de Sistemas - 3. So Paulo: Person
Prentice Hall, 2009.
YOURDON, Edward. Anlise Estruturada Moderna. 3 Ed. Trad. Dalton C. de Alencar.