Project Builder Últimos posts por Project Builder (exibir todos)
Compartilhar:
- Clique para compartilhar no Facebook(abre em nova janela)
- Clique para compartilhar no LinkedIn(abre em nova janela)
- Clique para compartilhar no Twitter(abre em nova janela)
- Clique para compartilhar no WhatsApp(abre em nova janela)
- Clique para compartilhar no Skype(abre em nova janela)
Curtir isso:
Curtir Carregando...
Relacionado
- Anterior
- Próximo
Como discutido anteriormente, uma metodologia de processo genérica para o desenvolvimento de software estabelece cinco atividades metodológicas: comunicação, planejamento, modelagem, construção e entrega. Por outro lado, é possível perceber que um importante aspecto do processo de desenvolvimento de software ainda não foi discutido: o fluxo de processo. Este aspecto descreve como as atividades metodológicas são organizadas, bem como as ações e tarefas que ocorrem em cada atividade em relação à sequência e ao tempo. Sabendo disso, existem quatro tipos de fluxos de processos: fluxo de processo linear, fluxo de processo iterativo, fluxo de processo evolucionário e o fluxo de processo paralelo.
O processo linear é caracterizado por executar cada uma das cinco atividades metodológicas em sequência, iniciando com a comunicação e culminando no emprego. O fluxo de processo iterativo tem como característica a repetição de uma ou mais atividades antes de prosseguir para a seguinte. Já o fluxo de processo evolucionário executa as atividades de um modo circular, ou seja, cada uma das voltas pelas cinco atividades metodológicas conduz a uma versão mais completa do software. Por fim, o fluxo de processo paralelo é caracterizado por executar uma ou mais atividades em paralelo antes de prosseguir para a seguinte. Um exemplo para este fluxo é a execução da modelagem de uma funcionalidade do software em paralelo com a construção de uma outra funcionalidade deste mesmo software.
Deste modo, um modelo de processo consiste em um conjunto de atividades metodológicas e de apoio, ações e tarefas a realizar. Cada modelo de processo, entre os vários existentes, pode ser descrito por um fluxo de processo diferente, ou seja, a descrição de como as atividades metodológicas, ações e e tarefas são organizadas sequencial e cronologicamente. Além disso, padrões de processos são utilizados para resolver problemas comuns encontrados como parte do processo de software.
“Estrutura contendo processos, atividades e tarefas envolvidas no desenvolvimento, opera��o e manuten��o de um produto de software, abrangendo a vida do sistema, desde a defini��o de seus requisitos at� o t�rmino de seu uso.”
Uma defini��o mais simples declar : "O Ciclo de Vida de Desenvolvimento de Sistemas (CVDS) � um processo utilizado por um analista de sistemas para desenvolver um sistema de informa��o."(wikip�dia)
De maneira menos formal o CVDS � um processo reconhecido pela ind�stria como uma s�rie de atividades ou etapas para o desenvolvimento de um novo produto software ou para modificar um software existente.
A principal fun��o do ciclo de vida do desenvolvimento de software � indicar as fases, atividades, entregas e responsabilidades de cada envolvido no processo de desenvolvimento de software.
Por dentro das principais fases
De forma geral o CVDS possui cinco fases principais em qualquer um dos modelos de desenvolvimento adotados.
A seguir temos essas fases representadas em um diagrama:
2- Fase de projeto : Envolve atividades de concep��o, especifica��o, design da interface, prototipa��o, design da arquitetura;
3- Fase de implementa��o : tradu��o para uma linguagem de programa��o das funcionalidades definidas durante as fases anteriores;
4- Fase de testes : realiza��o de testes no que foi desenvolvido de acordo com os requisitos;
5- Fase de produ��o : implanta��o em produ��o do produto final;
Nota: Se voc� quiser ser mais suscinto pode reduzir as fases a apenas tr�s : Defini��o, desenvolvimento e opera��o.
Principais modelos do ciclo de vida de desenvolvimento de software
Existem diversos modelos que podem se adotados para o processo de desenvolvimento de software. Os principais s�o:
1- Modelo em Cascata
Divide todo o processo de desenvolvimento de software em fases separadas e sequenciais onde o desenvolvimento movimenta-se somente num sentido, de modo que as etapas n�o podem ser repetidas.Somente quando uma fase estiver conclu�da a outra fase poder� iniciar.
Neste modelo nenhum componente do sistema ser� entregue at� a proximidade final do projeto.
2- Modelo Espiral
� uma combina��o dos modelos interativo e sequencial com �nfase na an�lise de riscos e no planejamento.O sistema de software � entregue em vers�es, onde cada vers�o passa por cada etapa do ciclo de desenvolvimento. Dessa forma o produto final � entregue rapidamente.
Determina um ciclo de atividades dividido em 4 est�gios:
- Determina objetivos, solu��es alternativas e restri��es.
- An�lisa os riscos do est�gio anterior
- Atividades da fase de desenvolvimento : design, especifica��o, codifica��o e verifica��o
- Revis�o das etapas anteriores e o planejamento da pr�xima fase
3- Modelo Incremental
Desenvolve v�rias partes do sistema em paralelo, e as integra quando estiverem completas.O desenvolvimento � dividido em 'incrementos' que produzem o sistema de forma incremental at� a sua vers�o final.
Cada incremento passa por todo o ciclo de desenvolvimento do software produzinto um sistema funcional embora n�o atenda todos os requisitos.
4- Prototipagem
Constr�i um prot�tipo do produto de software para mostrar suas funcionalidades de forma limitada.
� usado para permitir que os usu�rios avaliem propostas de desenvolvedores testando-as antes da implementa��o final do produto.
Ajuda a compreender as exig�ncias especificas do usu�rio que n�o podem ter sido consideradas pelos desenvolvedores durante a fase de concep��o do produto.
Nota: Prot�tipo � um produto de trabalho da fase de testes e/ou planejamento de um projeto.
5- Metodologias �geis
Utiliza uma abordagem de planejamento incremental e muito iterativa.Cada itera��o � um mini-projeto, que normalmente dura de 1 a 4 semanas, e inclui todas as fases para implement�-lo como levantamento de recursos e requisitos, projeto, desenvolvimento de c�digo, testes e documenta��o.
Ao final de cada itera��o deve haver uma entrega ao cliente, que inclua um conjunto de novas funcionalidades, uma nova vers�o de software.
Ap�s essa entrega h� um novo processo de comunica��o com o cliente e ent�o s�o definidas quais dever�o ser as novas entregas.
O gerenciamento do ciclo de vida da aplica��o - ALM (Application Lifecycle Management)
Assim a ALM representa um �nico processo que abrange todos elementos envolvidos no processo de desenvolvimento de software, oferecendo um trabalho cont�nuo e sempre com novos recursos.
O Application Lifecycle Management (ALM) atua no acompanhamento de todo o processo de vida �til de uma aplica��o, seja a constru��o de novos softwares ou altera��es nos softwares j� existentes, integrando todas as fases da engenharia de software – como an�lise de requisitos, modelagem de arquitetura, desenvolvimento de c�digo, gerenciamento de mudan�as, gerenciamento de testes e gerenciamento de vers�es de produtos realizados – com as necessidades do mercado.
Podemos dividir a ALM em 3 �reas distintas:
Governan�a - A governan�a engloba toda a tomada de decis�es e gerenciamento de projetos em toda a empresa.
Desenvolvimento - O desenvolvimento � definido como o processo de cria��o da aplica��o real.
Opera��es - Uma opera��o � o trabalho necess�rio para executar e gerenciar o aplicativo. Come�a pouco antes implanta��o e depois � executado continuamente
� comum equiparar ALM com o CVDS pois o ALM � constru�do em torno das seguintes fases principais do ciclo de vida de desenvolvimento de software(CVDS):
Fase de requisitos
Fase de projeto
Fase de implementa��o
Fase de testes
Fase de produ��o
Praticamente, qualquer ciclo de vida de desenvolvimento de software � iniciado somente ap�s a aprova��o do caso de neg�cios.
Com a evolu��o da ind�stria de TI, as metodologias de desenvolvimento de software foram transformadas em v�rios n�veis. A mudan�a principal se concentra em itera��es mais curtas e m�ltiplas, em vez de um grande e completo ciclo �nico.
Como resultado, este processo moderno exibe o desenvolvimento de software como uma s�rie de itera��es. Cada subprocesso/itera��o, cont�m sua pr�pria defini��o de requisitos, design, desenvolvimento, qualidade e atividades de teste de seguran�a.
Esta solu��o n�o � a bala de prata todos os projetos de software. No entanto, esta abordagem iterativa � ainda melhor do que o m�todo de execu��o tradicional.