Buscar

Pt - Ads - Sem 5 - Atividade Individual.doc

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

�PAGE �
LISTA DE FIGURAS
5Figura 1 - Fases do ciclo de vida de um projeto	�
7Figura 2 - Estágios do projeto e desenvolvimento	�
10Figura 3 - WBS - Locadora de carros	�
11Figura 4 - Cronograma do Projeto Locadora de Carros - Pág. 01	�
12Figura 5 - Cronograma do Projeto Locadora de Carros - Pág. 02	�
13Figura 6 - A disciplina Interação Homem-Computador. Adaptado de PREECE et al. (1994:16), In ACM SIGCHI 1992.	�
�SUMÁRIO
31	INTRODUÇÃO	�
42	OBJETIVO	�
53	DESENVOLVIMENTO	�
53.1	O CICLO DE VIDA DE UM PROJETO	�
63.1.1	ESCOLHA DO CICLO DE VIDA	�
63.1.2	A PROTOTIPAÇÃO COMO CICLO DE VIDA DO PROJETO LOCADORA DE VEÍCULOS	�
73.1.2.1	COMO FAZER A PROTOTIPAGEM DE UMA APLICAÇÃO	�
93.2	ESTRUTURA ANALÍTICA DO PROJETO (EAP)	�
113.3	CRONOGRAMA	�
123.4	INTERAÇÃO HUMANO-COMPUTADOR – IHC	�
143.5	SEGURANÇA WEB	�
164	CONCLUSÃO	�
17REFERÊNCIAS	�
��
INTRODUÇÃO
Gerenciamento de projeto é a aplicação de conhecimento, habilidades, ferramentas e técnicas à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 identificação das necessidades do usuário. 
A abordagem prototipação prevê a construção de um modelo do software que será implementado.
Com base em um cenário proposto de um sistema web “Locadora de Carros”, foram desenvolvidos tópicos 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 técnicas de gerenciamento com a escolha de um ciclo de vida para o projeto, o desenvolvimento de uma WBS, cronograma e relatório de validação de escopo e de requisitos para seu atendimento.
Também citamos alguns aspectos relacionados à interface gráfica que é uma parte importante do software, pois é por meio dela que o usuário se comunica. Quando mal construída compromete a utilização do software pelo usuário. Para solucionar este problema recomenda-se ter incorporado no processo de desenvolvimento de software técnicas de boas práticas para o projeto de interface homem-computador (IHC). Entre essas técnicas têm-se as regras heurísticas de usabilidade e critérios ergonômicos.
Outro aspecto diz respeito à política de segurança para o sistema onde foram abordados itens que são essenciais para sua implementação.
OBJETIVO
Esta produção textual interdisciplinar do 5º semestre do curso de Análise e Desenvolvimento de Sistemas tem como objetivo aplicar e exercitar os conteúdos assimilados no período, abordando os diversos conceitos, técnicas e práticas sobre ciclo de vida de um projeto, prototipação, WBS - work breakdown structure (em português: EAPs - Estruturas Analíticas de Projeto), cronograma, interface homem-computador (IHC) e segurança web.
DESENVOLVIMENTO
O CICLO DE VIDA DE UM PROJETO
O ciclo de vida do projeto (Project Life Cycle) consiste no conjunto de fases que o compõem, geralmente em ordem sequencial de execução.
Figura 1 - Fases do ciclo de vida de um projeto
Uma fase de um projeto é um grupo de atividades, relacionadas de forma lógica, e a sua conclusão é marcada pela entrega de um ou mais deliverables (entregáveis ou entregas). Um deliverable é qualquer produto ou serviço, tangível e verificável, que deve ser produzido para completar um projeto ou parte dele. Para ser verificável, ele deve atender a padrões predeterminados para sua conclusão, como especificações de desenho (design) de um produto ou uma lista de verificação das etapas concluídas como parte de um serviço.
A definição 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 razões:
Definição das atividades a serem executadas em um projeto.
Consistência entre muitos projetos de desenvolvimento da mesma organização.
Introdução de pontos de verificação para o controle gerencial de decisões.
Facilidades no gerenciamento de prazos.
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 versão operacional do sistema.
Não existe um modelo ideal. O perfil e complexidade do negócio do cliente, o tempo disponível, o custo, a equipe, o ambiente operacional são fatores que influenciarão diretamente na escolha do ciclo de vida de software a ser adotado. 
Da mesma forma, também é difícil uma empresa adotar um único ciclo de vida. Na maior parte dos casos, vê-se a presença 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 (divisão de escopo) e/ou iterativa (retroalimentação 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.
A PROTOTIPAÇÃO COMO CICLO DE VIDA DO PROJETO LOCADORA DE VEÍCULOS
Para o desenvolvimento do sistema requerido o ciclo de vida escolhido foi a Prototipação, em virtude deste se adequar melhor a situação do cliente. O ciclo escolhido serve como um mecanismo para identificação dos requisitos do software, e proporciona uma maior rapidez na implantação do sistema.
A Prototipagem vai nos ajudar a criar a estrutura de interface do usuário do sistema (Locadora de Veículos), sem realmente escrever qualquer código. Os problemas podem ser previstos antes que surjam, mesmo antes de escrever a lógica de negócios.
Porque usar a prototipagem? 
Antes de iniciar a construção do sistema é importante para a primeira avaliação do problema, entender exatamente o que o cliente necessita. O objetivo básico do protótipo de aplicativo é entender as necessidades do cliente de forma clara e obter a sua aprovação, antes de prosseguir com o pedido principal.
Figura 2 - Estágios do projeto e desenvolvimento
Dessa forma, são reduzidas as dificuldades e custos, que podem surgir enquanto a execução de trabalhos sem a compreensão dos requisitos.
COMO FAZER A PROTOTIPAGEM DE UMA APLICAÇÃO
Diretrizes e princípios
Seguem os passos básicos para a prototipagem:
Entender os requisitos do cliente;
Documentar o processo;
Viabilidade técnica;
Experimentação rápida de ideias diferentes;
Feedback do cliente;
Incorporação de Feedback.
Entender os requisitos
Quando o cliente chega até você com um problema e diz quais são 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 protótipo. Você precisa observar os requisitos, para que possa medir o sucesso depois do protótipo. O feedback do cliente na revisão do protótipo também deve ser registrado, para que você possa entender por que um determinado recurso foi incluído ou removido do protótipo. Isso reduz a chance de haver um mal-entendido entre o cliente e a equipe de desenvolvedores.
Viabilidade Técnica
O cliente pode exigir uma série de recursos que não são viáveis para implementar. Assim, o protótipo vai ser o juiz de viabilidade técnica ao desenvolver o aplicativo.
Se um recursonecessário está criando dificuldades na fase de protótipo, é possível que este seja um grande obstáculo no desenvolvimento de aplicações reais. Assim, a prototipagem ajuda a equipe a avaliar esse risco e encontrar um método alternativo, se necessário.
Requisitos de características vulneráveis 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 identificação de abordagens diferentes, que podem ser usadas a encontrar o caminho mais eficiente para a interação entre os componentes.
Experimentação rápida de ideias diferentes
Prototipagem nos ajuda a explorar rapidamente como um aplicativo deve funcionar. Diferentes métodos podem ser experimentados para observar como atingir resultados de maneira mais eficiente. O foco principal não é trabalhar sobre a lógica do negócio, mas a interface do usuário e o fluxo entre os principais componentes. Isso ajuda a equipe a identificar a melhor solução em uma quantidade limitada de tempo.
Feedback do Cliente
O feedback do cliente ajuda a equipe a melhorar o protótipo e manter o foco sobre os componentes principais. Como o feedback é aplicado nos estágios iniciais, há economia de tempo no desenvolvimento.
Melhorar o protótipo baseado no Feedback
O feedback do cliente deve ser incorporado no protótipo. Isso ajuda o cliente a identificar se atende suas necessidades. A equipe técnica pode verificar a viabilidade de aplicar aspectos particulares do feedback.
Protótipo deve ser muito próximo da aplicação real
Cuidados devem ser tomados para garantir que o protótipo permaneça próximo à aplicação concreta. Se uma funcionalidade não pode ser aplicada a aplicação real, não deve ser incluída no protótipo.
Comunicação
Assim como a documentação, a comunicação entre o cliente e a equipe de desenvolvimento é um fator importante para o sucesso da aplicação final. A comunicação reduz o risco de ocorrência de um mal-entendido.
ESTRUTURA ANALÍTICA DO PROJETO (EAP)
Também 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 através de suas partes e ajuda ainda a:
Fornecer uma ilustração detalhada do escopo do projeto;
Criar estimativas precisas de custos e cronograma;
Montar equipes de projeto;
Monitorar o progresso (cada tarefa é uma unidade mensurável do trabalho).
Cada elemento da estrutura do WBS recebe um peso equivalente ao que representa de progresso físico ou financeiro do total do projeto ou do empreendimento. Esse balanço de representação 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.
Figura 3 - WBS - Locadora de carros
CRONOGRAMA
O cronograma é um instrumento de planejamento e controle semelhante a um diagrama, em que são definidas e detalhadas minuciosamente as atividades a serem executadas durante um período estimado.
Em nível gerencial, um cronograma é um artefato de controle importante para levantamento dos custos de um projeto e, a partir deste artefato, pode ser feita uma análise de viabilidade antes da aprovação final para a realização do projeto.
Figura 4 - Cronograma do Projeto Locadora de Carros - Pág. 01
Figura 5 - Cronograma do Projeto Locadora de Carros - Pág. 02
INTERAÇÃO 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 segurança. O papel da IHC está presente em todos os tipos de sistemas, incluindo controle de tráfego aéreo e plantas nucleares, onde a segurança é imprescindível, planilhas eletrônicas e processadores de texto onde produtividade é fundamental, e até mesmo jogos eletrônicos, onde a satisfação e excitação são fundamentais.
Figura 6 - A disciplina Interação Homem-Computador. Adaptado de PREECE et al. (1994:16), In ACM SIGCHI 1992.
Para o Projeto Locadora de Carros, citaremos alguns aspectos básicos de usabilidade:
Clareza na arquitetura da informação - É essencial que o usuário consiga discernir o que é prioritário e o que é secundário no site.
- Um bom arranjo da informação.
- Usuários sempre terão dificuldades em encontrar o que procuram, portanto devem ser ajudados.
- Prover um senso de como a informação está estruturada e localizada. Ex: mapa do site.
Facilidade de navegação - O usuário deveria conseguir acessar a informação desejada no máximo em três cliques.
Simplicidade - Quem navega quer encontrar o mais rapidamente possível o objetivo da busca. A pirotecnia deve ser evitada, dando ao usuário paz e tranquilidade para que possa analisar a informação.
A relevância do conteúdo - Informações secundárias deverão ser deixadas para páginas de suporte. As páginas deverão ser bem curtas e objetivas enfocando o conteúdo atribuído.
Manter a consistência - Quando as coisas acontecem sempre do mesmo jeito, os usuários não precisam se preocupar a respeito do que irá acontecer.
Tempo suportável - O tempo de carregamento das páginas deve ser curto, 15 segundos é o máximo de tempo antes que as pessoas percam o interesse.
SEGURANÇA WEB
As falhas de segurança em servidores web é um assunto que está cada vez mais em evidência, e é necessário que os profissionais estejam sempre bem preparados e conhecendo as principais ameaças e as técnicas que ajudam a evita-las. Garantir a segurança de um sistema não é fácil, 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 segurança aos sistemas desenvolvidos com PHP ou qualquer outra linguagem:
Mensagens de erro: tome cuidado com a exposição de informações que as mensagens de erro provocam. Uma simples falha de conexão com um banco de dados pode exibir o nome do banco e usuário do mesmo, e isso pode ser um prato cheio para um indivíduo mal intencionado;
Criptografia: informações trafegam o tempo todo pra lá e pra cá e nada é mais fácil para um “hacker” do que interceptar esse tráfego na busca por informações sigilosas. Toda e qualquer informação considerada sigilosa deve trafegar com no mínimo uma criptografia básica;
Validação de dados: tendo seu aplicativo na web você nunca terá 100% de controle sobre tudo que seus visitantes vão preencher em seus formulários, que, diga-se de passagem, é a ferramenta mais importante de qualquer aplicação. Logo, filtre todas as informações a fim de evitar ataques, tais como: XSS, SQL Injection, Mail Injection, HTML Injection e outros;
Configurações de servidor: fique atento sempre as configurações dos servidores que pretende trabalhar, ainda mais se é novato na área. Existem diretivas que podem ser exploradas facilmente se não houver a devida preocupação por parte do programador na hora da codificação;
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 aplicações.
Para segurança do nosso sistema Locadora de Veículos citaremos um recurso que os programadores utilizam para prevenir ataques do tipo SQL Injection é a utilização de expressões regulares em seus códigos para “limpar” as variáveis enviadas para o sistema. No exemplo abaixo limpamos a variável de login de um post:
$_POST['login'] = preg_replace('/[^[:alpha:]_]/', '',$_POST['login']);
[:alpha:] é a mesma coisa que [a-zA-Z], portanto não são permitidossímbolos nem o (_), evitando aquele comando clássico utilizado nos logins como: or ‘ 1=’1 além de todos outros possíveis utilizando caracteres especiais e números.
Segurança da informação é muito importante nos sistemas de hoje, não somente na aplicação, mas também nos servidores físicos, rede de dados, etc. Lembre-se que com pequenas atitudes podemos evitar problemas futuros gigantescos. Existem muitos outros meios de aumentar a segurança na sua aplicação.
CONCLUSÃO
Para a confecção de uma aplicação são abordados diversos aspectos, não somente a confecção do código que será utilizado. A gerência do projeto deve ser bem elaborada e conduzida a fim de englobar todas as técnicas disponíveis a fim de uma melhor excelência do produto final, observando os requisitos funcionais e não funcionais. Outro aspecto extremamente importante nos dias atuais trata-se da política de segurança de uma empresa, mais especificamente no caso em estudo o da proteção da informação, cuja posição no mundo atual é de extrema importância, devendo existir um censo comum entre todas as partes que envolvem uma empresa, no sentido de preservá-la colocando em prática a maior parte dos conceitos que envolvem esta temática.
Foi bastante prazeroso e gratificante poder transformar em um documento prático e objetivo todos os conceitos ministrados no 5º período do curso de Análise e Desenvolvimento de Sistemas da UNOPAR e ter a certeza de que os mesmo nos ajudarão em nossas carreiras futuramente.
REFERÊNCIAS
DEVMEDIA. O Ciclo de Vida de um Projeto. Disponível em: < http://www.devmedia.com.br/o-ciclo-de-vida-de-um-projeto/24244 > Acessa em: 13/05/2014.
HISATOMI, Marco Ikuro. Projeto de Sistemas. São Paulo: Pearson Education do Brasil, 2010.
MENEZES, Hilton. A importância da prototipagem no processo de desenvolvimento de software. Disponível em: < http://blog.addtech.com.br/post/A-importancia-da-prototipagem-no-processo-de-desenvolvimento-de-software.aspx > Acessa em: 13/05/2014.
MORAIS, Everson Matias de; LOPER, Adriana Aparecida. Interação 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. Disponível em: < ftp://ftp.unicamp.br/pub/apoio/treinamentos/tutoriais/tut_UsabilidadeWeb.pdf > Acessa em: 15/05/2014.
São Paulo: Makron Books, 1995.
SOLER, Luciano; MORAIS, Everson Matias de. Desenvolvimento de aplicação Web. São Paulo: Pearson Education do Brasil, 2010.
 SOUZA, Alexsandro. Segurança em aplicações web com PHP. Disponível em: < http://imasters.com.br/infra/seguranca/seguranca-em-aplicacoes-web-com-php/ > Acesso em: 15/05/2014.
TANAKA, Simone Sawasaki. Análise de Sistemas I, II e III: Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas - 3. São Paulo: Person Prentice Hall, 2009.
YOURDON, Edward. Análise Estruturada Moderna. 3ª Ed. Trad. Dalton C. de Alencar. 
Sobral - CE
2014.1
PRODUÇÃO TEXTUAL INTERDISCIPLINAR:
Individual
JOSÉ VIDAL DE ARAÚJO
JOSÉ VIDAL DE ARAÚJO
PRODUÇÃO TEXTUAL INTERDISCIPLINAR:
Individual
Trabalho de Produção Textual Individual apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção de média semestral nas disciplinas de Programação Web I, Projeto de Sistemas e Interface Homem-Computador.
Orientador: Profs. Veronice de Freitas
 Marcos Ikuro Hisatomi
 Adriane Aparecida Loper
 
Sobral - CE
2014.1
Sistema de Ensino Presencial Conectado
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Outros materiais