Buscar

Engenharia de Software - Grupo 1


Prévia do material em texto

Engenharia de Software
Na pratica a engenharia de software capacita o profissional a respeito das teorias técnica e ferramentas aplicadas na ciência da computação. A partir desses conhecimentos o profissional tem recursos para planejar implementar e produzir sistemas na área de TI. Para isso o profissional tem que desenvolver suas habilidades de análise e o processamento de dados, para identificar, criar oportunidades e soluções.
Processos de Software
O processo de software pode ser definido como métodos para realização e atos de se desenvolver um software, sendo assim uma sequência de passos executados com um objetivo, geralmente englobando foco na qualidade. Existem algumas atividades básicas que podem se considerar comuns no meio, como: Levantamento; análise de requisitos; projeto; implementação; testes e implantação.
- No levantamento de requisitos, busca-se compreender a necessidade do projeto, dando a mesma perspectiva do que se é necessário para atender a demanda do projeto. É a etapa mais importante pois também define o retorno de investimentos do projeto. E por lidar por geralmente lidar com automatização de processos em uma organização, todos as demandas devem ser estudadas para que o desenvolvimento flua de acordo com a real necessidade dos usuários.
- A análise de requisitos é onde é realizado um estudo detalhado de todos os dados coletados no levantamento de requisitos, para assim pensar em modelos para representar o sistema que será desenvolvido. Sendo assim, se busca definir o que sistema precisa fazer antes de se definir como será feito. Nesta fase é realizada a validação e a verificação, onde a primeira tem como foco assegurar que, o que o sistema está fazendo, realmente atende as necessidades do cliente, e na segunda, verifica se os modelos construídos estão em conformidade com os requisitos.
- Na fase do projeto já se considera como o sistema irá funcionar internamente, ou seja, como irá aplicado na prática os requisitos do cliente. Nele também é considerado aspectos como: arquitetura de sistemas, linguagem de programação utilizada, sistemas de gerenciamento de bancos de dados a ser utilizado, interface gráficas e funções.
O projeto possui duas atividades básicas: projeto de arquitetura (alto nível), visando classes, sistemas, subsistemas e seus componentes; e o projeto detalhado (baixo nível), onde são modeladas as relações e funcionalidades de cada modulo, além de desenvolver a interface e o projeto de banco de dados.
- A implementação é a fase onde o sistema é codificado a partir das descrições na fase do projeto, tornando possível um código-executável para o desenvolvimento. 
- Nos testes diversas atividades são executadas com objetivo de validar o produto, testando cada funcionalidade e considerando todas as especificações feitas na fase do projeto. O principal resultado é o relatório, onde são mostrados os erros encontrados e o comportamento em todos os aspectos. Ao final são integrados todos os módulos do sistema, resultando no produto final.
- A implantação é o último passo, onde é instalado o software no ambiente do usuário. Isso inclui manuais do sistema, dados para treinamentos no modo de uso no novo sistema e em alguns casos ocorre a migração, quando se existe um software anterior, levando assim os dados para a nova aplicação.
O que é o método XP: 
 O XP é um método sistêmico para desenvolvimento de software. O processo inicia por um plano geral, ou seja, entender o problema como um todo, mas sem muitos detalhes e, posteriormente, reparte o problema em partes, para dar início ao seu desenvolvimento.
Podemos usar o método XP em 3 etapas, são elas:
· Escolha o pior dos problemas;
· Resolva-o da maneira XP;
· Quando ele não for mais seu problema, repita os passos 1 e 2 para o próximo problema.
As bases do método XP:
1. Comunicação: A má comunicação é motivo de insucesso em quase todo tipo de projeto, inclusive nos projetos de software. Logo, este é um dos valores mais importantes do XP, bem como das metodologias ágeis como um todo. Esta comunicação deve fluir constantemente através das técnicas a serem aplicadas no processo de desenvolvimento;
2. Simplicidade: Manter a simplicidade é difícil e é um dos princípios do XP advindos do JIT “JUST IN TIME”. Assim, faça a coisa mais simples que pode funcionar, mesmo assim, é um dos princípios mais difíceis de se alcançar, pois somos tentados a fazer algo complexo pensando no futuro, mas é importante lembrar que uma das filosofias do JIT é a eliminação de desperdício, assim, simplicidade é uma obrigação.
3. Feedback: Muito se fala em feedback na atualidade e aqui ele não é só necessário, como um dos princípios que fazem com que o XP tenha sucesso. Para isso, o uso do TDD “Desenvolvimento Orientado por Testes” passa a ser tão importante, além disso, é importante o feedback do cliente, por isso os ciclos curtos, a integração contínua etc.
4. Coragem: Este é o último valor do XP, mas não menos importante, pois é necessário ter coragem de jogar um código fora e iniciar do zero, coragem para mudanças. A comunicação nos dá coragem para a mudança, pois temos a noção das reais necessidades do cliente.
Referente ao tempo de vida do XP podemos dizer que depois de todos os alinhamentos, levantamento de dados escritas e história, vem a fase de planejamento da iteração e estimativas do sistema. Com o plano pronto, se segue para a próxima fase, que é a iteração. Ela dura de uma a quatro semanas, (alguns desenvolvedores preferem de uma a duas semanas).
Sobre os papéis no XP
· Cliente: Se o programador é quem implementa, o cliente é quem sabe o que deve ser implementado, ou seja, é quem conhece o produto. O título de cliente é dado a pessoa responsável por escrever as histórias de usuário, por defender os interesses do cliente, por saber dar valor as histórias.
· Testador: Como o programador já fez os testes unitários, a tarefa do testador está relacionada aos testes funcionais e por sua execução frequente.
· Rastreador: O rastreador é a consciência da equipe, sendo o responsável por finalizar a iteração, por uma visão global do andamento do sistema, etc. Este papel necessita de habilidade de coleta de informação e boa comunicação interpessoal.
· Treinador: Assim como no vôlei temos um treinador, equipes XP possuem um treinador que é o responsável pelo processo como um todo e por manter o XP funcionando.
· O Chefão: este é o manda chuva, quem manda em tudo...

Continue navegando