Enfatizando a importância do software em nossas vidas, podemos mencionar, a título de exemplos, compras online, conversas com nossos parentes de longa distância ou fazendo tarefas simples, como fazer chamadas telefônicas ou jogar jogos. O software desempenha um papel fundamental para tornar tudo isso possível.
No desenvolvimento de software, existem diferentes sistemas empregados no processo de desenvolvimento, conhecidos como Modelos de Desenvolvimento de Software.
Exemplos desses modelos são o modelo Spiral, modelo V e o modelo Agile, entre outros. Esses modelos seguem um método definido para garantir a conclusão do desenvolvimento de software.
Os modelos de desenvolvimento são empregados dependendo da equipe de desenvolvimento e do projeto a ser concluído.
O processo envolvido nesses modelos define claramente as etapas do ciclo de vida de desenvolvimento de software. Cada passo no ciclo de vida do desenvolvimento dá origem ao produto final necessário para o próximo estágio do ciclo. O design do layout do produto é feito a partir dos requisitos coletados. O projeto determina os códigos a serem escritos. Esta etapa é a fase de desenvolvimento. O teste confirma o produto resultante da fase de desenvolvimento e verifica se ele atende aos requisitos.
Seis etapas básicas definem o processo de desenvolvimento de software. São eles:
- Coleta de Análises Gerais e Requisitos
- Design do produto
- codificação
- teste
- Implantação de produto
- Manutenção e Operações do Produto
1. Análise geral e coleta de requisitos
No desenvolvimento de software, os requisitos para que os produtos sejam projetados são originários nesta etapa. Para a maioria dos projetos, essa etapa passa a ser o foco principal. Gerentes de projetos, interessados se reúnem para atender e montar os requisitos. Perguntas como "Quem pode usar o produto? Utilização do produto, que tipo de dados entra no produto? E que tipo de dados é devolvido pelo produto como saída?" são todos respondidos nesta etapa.
Após a coleta dos requisitos, e como perguntas acima foram respondidas, a análise das condições vem em seguida. A plausibilidade de colocar os elementos montados no produto final é analisada e cuidadosamente estudada em detalhes. Um documento de especificação de exigência é criado. Após a conclusão da análise dos requisitos, a equipe de desenvolvimento pode então passar para o próximo nível de elaboração de um design de produto a ser seguido durante todo o processo de desenvolvimento.
2. Design do produto
Durante esta etapa, a criação do design do produto a partir da documentação dos requisitos se segue. O design do produto auxilia na especificação do hardware necessário para executar o produto, ou seja, a implantação. Também ajuda a marcar claramente a arquitetura geral do produto, representando os módulos de software necessários para serem desenvolvidos e seus relacionamentos.
Também é hora de fazer uma escolha de plataforma de desenvolvimento, por exemplo, .NET, Java, Laravel, Ruby on Rails ou FileMaker. Essa escolha depende dos próprios requisitos, mas também de qual plataforma é comumente utilizada dentro da empresa.
Além disso, a Interface do Usuário e a Experiência do Usuário são projetadas nesta etapa. Levando em conta os usuários-alvo do aplicativo de software e os principais recursos, uma interface de usuário amigável e moderna é projetada.
Os layouts de design do produto servem ainda mais como base para o próximo passo no ciclo de desenvolvimento. No próximo passo, que envolve codificação, a equipe de desenvolvimento teria que apresentar um plano para implementar a linguagem de programação.
3. Codificação
Após a fase de design do produto, a equipe de desenvolvimento passa para o estágio de codificação e implementação. Uma vez que a equipe de desenvolvimento tenha a especificação de requisitos e os documentos de design em mãos, os desenvolvedores de software podem iniciar a programação. Além da codificação, os desenvolvedores também realizam testes de unidade ou módulo nesta fase, para detectar possíveis problemas o mais cedo possível na fase de desenvolvimento.
Algumas empresas preferem terceirizar as atividades de codificação, e muitas vezes também a etapa anterior do Product Design, para uma empresa de desenvolvimento de software de terceiros. As razões para essa terceirização variam de simplesmente não ter os recursos ou habilidades necessários disponíveis ou querer se concentrar com sua própria equipe nos principais produtos e serviços da empresa.
Após a fase de codificação, a equipe pode então passar para o próximo passo de desenvolvimento, que é o teste.
4. Teste
Após a etapa de codificação e implementação, a equipe pode então prosseguir para testes de integração e validação. As equipes de serviços de desenvolvimento de software estão em constante processo de liberação de diferentes aplicativos de software para diversos fins, pois tal processo é necessário, pois é importante testar o produto contra todos os parâmetros disponíveis vigorosamente. Esta fase expõe possíveis bugs no produto e, se houver, estes são corrigidos.
Como vimos na etapa anterior, os próprios desenvolvedores de software realizarão testes de unidade ou módulo. A próxima etapa dos testes seria o teste de Integração. Aqui é testada a interação entre os módulos individuais e/ou sistemas externos. Após o teste de integração, serão realizados testes de validação, testando o produto de software final com base nos requisitos e design, do ponto de vista do usuário final.
Uma abordagem diferente para testar é o chamado método TDD (Test Driven Development, desenvolvimento orientado por teste). Usando este método, os desenvolvedores de software primeiro escreveriam um script de teste para requisitos específicos e somente depois disso escreveriam o código para cumprir esses requisitos. Em seguida, o teste é executado e o código é ajustado até que o teste passe.
Se o aplicativo de software não contiver mais problemas (não aceitáveis), o aplicativo será implantado.
5. Implantação do Produto
Uma vez que o produto de software passe na fase de teste, a implantação do produto pode ocorrer. Uma vez que o produto está pronto, o primeiro lote é lançado e aberto ao público. Isso é conhecido como teste Beta. Se alguma alteração for necessária devido ao feedback do cliente, ou quaisquer bugs não vistos durante a fase de teste surgirem, eles podem ser corrigidos e implementados durante esta fase de desenvolvimento de software.
A implantação normalmente envolve a criação de um servidor chamado 'Produção' no qual o software será executado. Esse servidor pode ser um dos servidores próprios da empresa ou pode estar na 'nuvem' usando, por exemplo, amazon web services ou Microsoft Azure.
Após a implantação, a próxima fase é manutenção e operações.
6. Manutenção e Operações
Uma vez que todas as etapas acima tenham sido aprovadas com sucesso, e o produto de software seja totalmente lançado no mercado, o produto deve ser mantido operacional e a manutenção do produto é necessária. Isso envolve corrigir problemas, manter os sistemas atualizados com os patches mais recentes do sistema operacional ou atualizações de software de terceiros usado. Caso a base de usuários do produto de software aumente significativamente, a expansão na forma de poder de processamento adicional, memória e/ou capacidade de banco de dados pode precisar ser feita para manter o sistema funcionando sem problemas.
Passamos pelas 6 etapas básicas de desenvolvimento de software. Como provavelmente é compreensível, as etapas utilizadas variam em cada empresa, para acomodar o ambiente e as situações em cada empresa e para cada projeto de desenvolvimento de software individual.
Fonte: MANIFERA SOFTWARE DEVELOPMENT PTE LTD, acessado em 14 de julho de 2021.
|
AQC - Otimizando Processos |
Nenhum comentário:
Postar um comentário