segunda-feira, 26 de março de 2012

Como Funciona o Processo de Desenvolvimento de Software

O Processo de Desenvolvimento de um Software
Nesse post vamos entender como funciona o processo de desenvolvimento de software de uma forma simples e sem metodologias nem modelos. O processo de desenvolvimento de um software é um conjunto de finalidades e atividades que visam a criação de um software bem estruturado e de qualidade, para um boa manutenção e reaproveitamento do software.
No processo de Desenvolvimento de Software, existem vários passos ou processos para se criar um software, seguindo modelos de desenvolvimento, são eles:


- Análise Econômica
Visa a estabelecer se o projeto de Software gerará lucro, e se a receita gerada será o suficiente para cobrir os custos. Este processo acompanha todas as demais etapas de desenvolvimento do Software, sendo sempre acompanhada de perto.
Análise de requisitos de software
A extração dos requisitos de um desejado produto de software é a primeira tarefa na sua criação. É a obtenção das informações necessárias para o desenvolvimento. 
Conceitualmente, a análise de requisitos inclui três tipos de atividades:
  • Elicitação dos requisitos: é a tarefa de comunicar-se com os usuários e clientes para determinar quais são os requisitos de sistema.
  • Análise de requisitos: determina se o estado do requisitos é obscuro, incompleto, ambíguo, ou contraditório e resolve estes problemas.
  • Registros dos requisitos: os requisitos podem ser documentados de várias formas, tais como documentos de linguagem natural, casos de uso, ou processo de especificação.
- Especificação
Uma especificação de programa é a definição do que se espera que um programa de computador faça. Ela pode ser informal, neste caso ela pode ser considerada como um blueprint ou manual de usuário do ponto de vista do desenvolvedor, ou formal, no caso de ela ser definida principalmente em termos matemáticos ou programáticos.
- Arquitetura de Software 
Remete a uma representação abstrata daquele sistema. Arquitetura é concernente à garantia de que o sistema de software irá ao encontro de requisitos do produto, como também assegurar que futuros requisitos possam ser atendidos. A etapa da arquitetura também direciona as interfaces entre os sistemas de software e outros produtos de software, como também com o hardware básico ou com o sistema operacional.
- Implementação/Codificação
É a transformação da sua especificação para o código fonte executável do seu projeto.
- Teste
A etapa de teste deve ser a mais intensiva póssivel, afim de eliminar qualquer vestigio de erro de implementação ou de especificação, precisa tomar um grande foco nessa hora de testes porque vai ser comum aparecer muitos "bugs" e eles vão precisar ser reparados para um bom funcionamento do software.
- Documentação
Uma importante tarefa é a documentação do projeto interno do software para propósitos de futuras manutenções e aprimoramentos. As documentações mais importantes são das interfaces externas.
- Suporte e Treinamento de Software
Uma grande porcentagem dos projetos de software falham pelo fato de o desenvolvedor não perceber que não importa quanto tempo a equipe de planejamento e desenvolvimento irá gastar na criação do software se ninguém da organização irá usá-lo. As pessoas ocasionalmente resistem à mudança e evitam aventurar-se em áreas pouco familiares. Então, como parte da fase de desenvolvimento, é muito importante o treinamento para os usuários de software mais entusiasmados, alternando o treinamento entre usuários neutros e usuários favoráveis ao software. Usuários irão ter muitas questões e problemas de software os quais conduzirão para a próxima fase.
- Manutenção
A manutenção e a melhoria do software fazem parte da necessidade e de descoberta do novos itens, necessidades ou erros no software.

Processo e Modelo
Este é o processo para o desenvolvimento de um software, cumprir todas as etapas independente da sua metologia de desenvolvimento acarretará em um software de qualidade, as fases são relativamente simples se organizadas e feitas em conjunto com uma equipe disposta a trabalhar em cima de cada requisito do projeto, os princípios básicos do processo de desenvolvimento foram apresentados aqui nesse post, no post anterior eu falei sobre os modelos, eu quis falar sobre os modelos primeiro, pra explicar como funciona de uma forma geral o modelo pra então sim poder mostrar como funciona de uma forma integral o processo, mas não se esqueçam, o processo é diferente do modelo, o processo é a necessidade que todos os projetos tem para começarem a ser desenvolvidos de forma completa e satisfatória, o modelo é a forma como você vai escolher trabalhar em cima desses requisitos mostrados acima, se é da forma do modelo de Cascata ou Iterativo, isso já fica a sua escolha, dependendo das suas necessidades e do seu projeto.

Acesse o nosso site YaW Tecnologia, para mais informações sobre assuntos na área de desenvolvimento e veja os cursos disponíveis.