UNI ARIOCA - UNI ADE B NTO RI EIRO CURSO DE NÁLISE E DESE VOLV MENTO DE SIS EMAS TURMA 36 – TEO IA DE NGENH RIA D SOFT ARE
Adriane Silva Bar os:201520 039 Alan César os Santos Rocha: 20 5202046 André Fr itas De Souza:20152 0447 C ntia Rodrigues De A meida:2015201649 uan Diego Da Costa Silva:2014 02313
ES UDO D CASO Professor: Wagner antre Tag rro
Rio de Janeiro, junho de 2017
ATIVIDADE SUPERVISIONADA 2017.1 TEORIA DE ENGENHARIA DE SOFTWARE
Trabalho de Atividade Supervisionada apresentado à Faculdade Unicarioca como requisito à obtenção de nota de grau da Segunda Avaliação (AV2). Orientador: Prof.º Wagner Xantre
Rio de Janeiro, junho de 2017
LISTA DE ILUSTRAÇÕES Ilustração 1. Ciclo de Vida do XP.
7
Ilustração 2. Tela do OpenProj
8
Ilustração 3. Tela XPlanner plus
9
Ilustração 4. Tela Ide Eclipse
10
SUMÁRIO
1. Introdução
4
2. Identificação do Problema
4
3.
5
A proposta de Solução
3.1 Tipo de Metodologia
5
3.2 O extreme program
5
4. Ferramentas opensource
6
4.1. O XPlanner
7
4.2. Openproj
8
5.3 Eclipse
10
5. Conclusão
10
7. Referências bibliográficas
10
4
1. INTRODUÇÃO Visando melhorar a qualidade dos produtos de software e aumentar a produtividade no processo de desenvolvimento, surgiu a engenharia de software. a engenharia de software trata de aspectos relacionados ao estabelecimento de processos, métodos, técnicas, ferramentas e ambientes de suporte ao desenvolvimento de software. Assim como em outras áreas, em uma abordagem de engenharia de software, inicialmente o problema a ser tratado deve ser analisado e decomposto em partes menores, em uma abordagem “dividir para conquistar”. Para cada uma dessas partes, uma solução deve ser elaborada, solucionados os subproblemas isoladamente, é necessário integrar as soluções. Para tal, uma
arquitetura deve ser estabelecida. para
apoiar a resolução de
problemas, procedimentos (métodos, técnicas, roteiros etc..) devem ser utilizados, bem como ferramentas para parcialmente automatizar o trabalho.
2. IDENTIFICAÇÃO DO PROBLEMA 2.1 Muitas Softhouses, classificadas como micro e pequenas empresas estão sentindo a necessidade de melhoria em seus processos internos. Como alternativa estão recorrendo a metodologias Ágeis para desenvolver seus produtos de software. A utilização desse tipo de metodologia pode evitar muitos problemas tais como: aumento de custos com retrabalho, manutenção e erros entregues com a versão final ao cliente, o que reflete em um aumento do nível de confiança por parte dos mesmos. 2.2 A empresa Porto Web, foco principal do estudo de caso a ser apresentado, enfrenta este mesmo impasse por contar com 4 programadores de PHP , um analista e dispondo apenas de ferramentas opensource ,o uso de software livres é a opção mais apropriada para o modelo citado.
5
3. PROPOSTA DE SOLUÇÃO 3.1 Tipo de Metodologia 3.2 A Extreme Programming é uma metodologia ágil de desenvolvimento de software. Alguns praticantes definem XP como a prática e a perseguição da mais clara simplicidade, aplicado ao desenvolvimento de software. XP é uma metodologia voltada para projetos cujos requisitos mudam com freqüência, que utilizem desenvolvimento orientado a objetos, equipes pequenas e desenvolvimento incremental (KUHN; PAMPLONA, 2007).
Características gerais de um projeto xp
● ● ● ●
Grupos de 2 a 10 programadores Projetos de 1 a 36 meses (calendário) De 1000 a 250 000 linhas de código Papéis: § Programadores § Testadores (que ajudam o cliente com testes de aceitação) § Analistas (que ajudam o cliente a definir requerimentos) § Gerente (garante os recursos necessários) § Coach (orienta a equipe, controla a aplicação do XP) § Tracker (coleta métricas)
II - Práticas da Metodologia Xp Kent Beck descreve doze práticas que devem ser seguidas na metodologia XP: Planejamento – O cliente escreve estórias (user stories) sobre as funcionalidades que ● ele deseja do sistema. Os programadores interagem com o cliente e discutem e experimentam diferentes tecnologias e arquiteturas para o sistema, estabelecendo então as estimativas de prazo e prioridades de cada tarefa.
6 ●
Fases pequenas – produzir rapidamente um sistema simples e 100% funcional e a seguir libere versões novas em um ciclo muito curto.
●
●
Metáfora – equipes XP mantém uma visão compartilhada do funcionamento do sistema inteiro. Isto serve de base para o estabelecimento dos padrões de codificação. Design simples - o sistema deve ser projetado o mais simples possível em todo o momento. A complexidade extra deve ser removida assim que for descoberta.
●
Testes - os programadores escrevem continuamente os testes de unidade, que devem funcionar como um guia para o desenvolvimento.
●
Reconstrução - os programadores reestruturam o sistema sem mudar seu comportamento, para remover a duplicação, melhorar a comunicação, simplificar, ou adicionar a flexibilidade.
●
Programação em pares - todo o código é escrito com dois programadores em uma máquina.
●
Propriedade coletiva - qualquer um pode mudar todo o código em qualquer lugar no sistema em qualquer hora.
●
●
Integração contínua – manter o sistema integrado continuamente, evitando preocupações futuras.. Semana de 40 horas - trabalhe 40 horas na semana em regra geral. Nunca trabalhe fora do tempo estipulado.
●
Cliente junto aos desenvolvedores - inclua pelo menos um cliente na equipe, disponível o tempo todo para responder a perguntas.
●
Padronização do código – os programadores escrevem todo o código de acordo com as regras adotadas pelo grupo inteiro.
7 Fig 1. iclo de vid
●
. ferram ntas open ource
OpenProj é um pode oso programa de gest o de proje os, de código aberto e gratuito, sendo um ótima alt rnativa e substituição ao Mic osoft Project e outro softwares similares. Não exist limites d utilização para este programa, e qualque platafor a poderá er uma est utura prep rada para esempenh r os mesmos serviço que o
icrosoft Pr oject dese penha, no entanto se o custo, o peso e as constante
afinações da aplica ão da Micr osoft.
8
Fig 2.Tela OpenProj
O XPlanner Ferramenta open source implementada em Java para auxiliar o planejamento de projetos de desenvolvimento tradicionais ou ágeis, onde todas as tarefas executadas durante o projeto são armazenadas. O XPlanner tem como principal objetivo fornecer aos times uma forma mais fácil de controlar o andamento do projeto. Suas principais características são as iterações, “users stories” e as tarefas, referentes ao projeto de software, que podem ser planejadas e posteriormente acompanhadas, dando maior visibilidade à equipe quanto a evolução das atividades. No XPlanner há apenas dois níveis de usuários: o System Administrator e o usuário comum. O primeiro nível tem a responsabilidade de criar os demais usuários que utilizarão a ferramenta, sendo recomendado, por medida de segurança, que este nível esteja centralizado em uma ou duas pessoas no máximo. O XPlanner é uma ferramenta de código livre utilizada para auxiliar no planejamento e
9 acompanhamento de projetos de software, podendo ser utilizada em processos de desenvolvimento tradicionais e ágeis. Ela fornece aos desenvolvedores uma forma mais fácil de acompanhar o andamento do projeto, possibilitando a comunicação de toda a equipe, mesmo sendo em diferentes tarefas, para todos terem controle do que está sendo feito dentro do projeto.
Fig 3: XPlanner plus
IDE Eclipse, que sem dúvida é uma das mais utilizadas ferramentas do mercado. Por ser livre, é a base de diversos outros IDE´s, possuindo plug-ins para os mais diversos segmentos e recursos como diagramas UML, desenvolvimento C, PHP entre outros.
10
Figura 4 . IDE Eclipse
6. Conclusão Pode-se, então, concluir que a proposta deste trabalho enquadra-se no contexto do problema apresentado, sendo a proposta, constituída por um conjunto de ferramentas opensource colaborativas construída especificamente para instituições e pessoas diretamente associadas ao desenvolvimento de software e que sua viabilidade tanto tecnológica quanto organizacional e compatível com micro e pequenas empresas .
7. REFERÊNCIAS BIBLIOGRÁFICAS SOMMERVILLE, Ian. Software Engineering. 9.. ed. Harlow, England: Addison-Wesley, 2010. ISBN 978-0-13-703515-1.