Você está na página 1de 7

O Ciclo de Vida do Desenvolvimento de Sistemasi

O Ciclo de Vida do Desenvolvimento de Sistemas ( SDLC Systems Development Life Cycle), conhecido tambm com o
ciclo de vida do software refere-se aos estgios de concepo, projeto, criao e implementao de um SI. Um
desdobramento possvel para SDLC mostrado a seguir:

Levantamento das
Neessidades

Manuteno Anlise de
Alternativas

Implementao Projeto

Desenvolvimento

O levantamento das necessidades tambm chamado de anlise de requisitos , identifica as necessidades de


informaes da organizao.
A anlise de alternativas consiste na identificao e avaliao de sistemas alternativos.
Projeto trata da construo das especificaes detalhadas para o projeto selecionado. Essas especificaes incluem
o projeto das interfaces, banco de dados, caractersticas fsicas do sistema, tais como nmero, tipos e localizaes das
estaes de trabalho, hardware de processamento, o cabeamento e os dispositivos de rede. Deve especificar os procedimentos
para testar o sistema completo antes da instalao
Desenvolvimento inclui o desenvolvimento ou aquisio do software, a provvel aquisio do hardware e o teste do
novo sistema.
Implementao ocorre aps o sistema ter passado satisfatoriamente por testes de aceitao. O sistema transferido
do ambiente de desenvolvimento para o ambiente de produo. O sistema antigo (se existir) deve migrar para o novo.
Manuteno refere-se a todas as atividades relacionadas a um sistema depois que ele implementado. Deve incluir
atividades tais como a correo de software que no funcione corretamente, a adio de novos recursos aos sistemas em
resposta s novas demandas dos usurios,...
No h modelo de SDLC uniformemente aceito. Alguns modelos combinam desenvolvimento e implementao em
uma nica etapa. Outros combinam o levantamento e a anlise das necessidades tambm em uma nica etapa. Alguns
modelos dividem o projeto em projeto lgico e projeto fsico.

Desenvolvimento de Sistemas como um Processo

Muitas organizaes vem cada iniciativa de desenvolvimento de sistemas como um projeto. As organizaes mais
sofisticadas, entretanto, tratam o do desenvolvimento de sistemas como um processo. Elas reconhecem que, embora os
sistemas possam diferir substancialmente uns dos outros, seu desenvolvimento segue um roteiro previsvel, bem definido e
manejvel. Estas organizaes aprendem com seus sucessos e erros. Elas criam manuais de instrues sobre temas que
auxiliam os administradores e os desenvolvedores a repetir o xito obtido em atividades bem-sucedidas e a evitar as
malsucedidas. Eles gradualmente acumulam um conjunto de ferramentas que auxiliam a institucionalizar, automatizar e
auditar as atividades associadas com o desenvolvimento de sistemas. Eles podem medir o sucesso de suas iniciativas de
desenvolvimento de sistemas usando mtricas e indicadores, tais com tempo para concluso, a mo-de-obra necessria e as
falhas no produto final relacionadas com as caractersticas ou complexidade do novo sistema.
As organizaes podem usar ferramentas de software de gesto de processos comerciais para auxili-las na
padronizao e melhoria dos seus processos de desenvolvimento de sistemas. A maioria dos produtos de software de gesto
de processos enfatiza uma metodologia de desenvolvimento especfica. Uma metodologia um conjunto prescrito e
documentado de prticas, ferramentas, documentos, relatrios e, frequentemente, anotaes. Os pacotes comerciais de
software de gesto de processos fornecem suporte para vrias metodologias populares, tais como o RUP (Rational Unified
Process). Este software normalmente inclui gabaritos ou modelos para guiar os desenvolvedores na criao de produtos
intermedirios, tais como esboos, especificaes e quaisquer outras sadas associadas com a metodologia que ele suporta.
As organizaes s vezes designam um administrador de processos ou bibliotecrio de processos para customizar
templates ou modelos e tutoriais conforme os padres da organizao e para reunir as mtricas e as melhores prticas para a
customizao da biblioteca de processos.
As organizaes que tratam o desenvolvimento de sistemas como um processo frequentemente esforam-se para
aplicar aos seus mtodos os princpios da gesto de qualidade total e da melhoria do processo. O Software Engineering
Institute (SEI) desenvolveu e popularizou um modelo chamado CMM (Capability Maturity Model) que auxilia estas
organizaes a medir quo bem elas alcanam estes objetivos e as guia na melhoria de seus processos de desenvolvimento de
sistemas.
O software de gesto de projetos complementa o software de gesto de processos com ferramentas que os lderes de
projetos podem usar como auxlio na administrao de um projeto de desenvolvimento de software complexo. O MS Project
um exemplo destas ferramentas.

Caminhos no Desenvolvimento de Sistemas

O SDLC pode parecer sugerir que os novos sistemas sempre progridem de modo regular e seqencial de um estgio
para o seguinte. Na prtica, os sistemas nem sempre seguem esta progresso. Os administradores e os profissionais de
informtica podem mover-se atravs do SDLC usando o modelo em cascata, a abordagem em espiral, a prototipagem ou a
programao gil.

O Modelo em Cascata

O modelo em cascata segue o SDLC em sequncia (como mostra a figura a seguir). Como a gua que flui numa
cascata, o desenvolvimento movimenta-se somente num sentido, de modo que as etapas no podem ser repetidas.

Levantamento das
Necessidades

Anlise das
Alternativas

Projeto

Desenvolvimento

Implementao

Implementao

A estrutura linear da abordagem em cascata e a ausncia da reviso a tornam relativamente fcil de administrar. O
administrador do projeto pode determinar prazos finais e monitorar o progresso na direo destes prazos. Ao mesmo tempo
este modelo muito inflexvel. Se, por exemplo, as necessidades dos usurios mudarem durante o projeto, no existe nenhum
mecanismo formal para ajustar o processo de desenvolvimento. O uso deste modelo significa, tambm, que nenhum
componente do sistema ser entregue at a proximidade final do projeto. Frequentemente esta demora na entrega conduz a
tenses entre usurios e desenvolvedores, especialmente se os prazos finais so ultrapassados.
A Abordagem em Espiral

Anlise das Alternativas


Levantamento das Necessidades

Verso 4

Verso 3
Projeto

Verso 2

Implementao

Verso 1

Desenvolvimento

A abordagem em espiral implementa os sistemas baseado no conceito de maior necessidade. Ela entrega o sistema
em verses. Cada verso passa por todas as etapas do SDLC, exceto a implementao que pode ser adotada por algumas
verses, e a manuteno que se aplica somente a ltima verso.
A regra 80/20 dirige a abordagem em espiral: 80% das necessidades dos usurios podem ser satisfeitos por 20%
das funes que eles desejam. A primeira verso teta obter um sistema bsico que satisfaa a maioria das necessidades do
usurio.
Os partidrios da abordagem em espiral frequentemente usam um conceito de time-box (caixa de tempo) para
regular o desenvolvimento. Um time-box um perodo determinado, frequentemente, de trs meses, dentro do qual os
desenvolvedores devem completar cada verso. No h especificaes de produtos, porque satisfazer a estas especificaes
pode ser impossvel dentro do tempo permitido. Em vez disso, os desenvolvedores agregam caractersticas pela ordem de
prioridade at que o tempo se esgote. Ento eles liberam a nova verso.
Uma alternativa para o time-box envolve o planejamento de cada verso, tanto quanto possvel, no comeo do
projeto. De fato, isto divide o projeto em subprojetos menores, cada um administrado mais facilmente do que o projeto
principal e cada um fornecendo um produto em funcionamento e pronto para a entrega. Ao final de cada projeto, os
subprojetos restantes so redefinidos considerando o feedback do usurio.
A abordagem em espiral entrega o produto rapidamente. No h documentao trabalhosa das especificaes,
porque os usurios podem revisar o produto em verses posteriores. Os usurios podem ver o progresso e julgar quanto
tempo passar at que o sistema em desenvolvimento satisfaa suficientemente suas necessidades para que possa substituir o
sistema existente.
Prototipagem

A prototipagem descreve uma abordagem que tenta satisfazer as necessidades do usurio focalizando a interface do
usurio. Os estgios do projeto e de desenvolvimento, no que concerne interface de usurios, repetem-se at que o usurio
esteja satisfeito. A figura abaixo ilustra isso:

Levantamento das Necessidades

Anlise de Alternativas

Projeto

Desenvolvimento

Implementao

Manuteno

Uma variao de prototipagem chamada Desenvolvimento Conjunto de Aplicaes (JAD Joint Application
Development) funciona, basicamente com segue:
Os usurios encontram-se com os desenvolvedores periodicamente, normalmente a cada dia, no incio do projeto. Os
usurios descrevem suas necessidades durante as reunies iniciais. Os desenvolvedores de software usam software de
prototipagem para cria um prottipo de um sistema que parea satisfazer estas necessidades antes da prxima reunio
conjunta. O prottipo criado pode incluir telas de entrada de dados, relatrios, telas de consulta e outras partes de interface de
usurio, mas raramente executa o processamento. Os desenvolvedores as vezes criam dados fictcios para dar a impressao
de um sistema em funcionamento.
A prototipagem oferece diversas vantagens sobre a abordagem em cascata:
Diminui o tempo entre a anlise e a implementao
Assegura que o novo sistema satisfaa as necessidades do usurio
Mostra os benefcios de um novo sistema antes que o esforo e os custos se tornem excessivos
Explora as potencialidades que os usurios tm em articular mais facilmente aquilo de que no gostam em um
sistema do que aquilo que apreciam nele.

A prototipagem tem tambm desvantagens em relao ao modelo em cascata:


Ela tende a elevar as expectativas dos usurios a nveis que os desenvolvedores no podem atender dentro de seu
oramento.
Os programas de software que permitem aos desenvolvedores de software desenvolver rapidamente a interface de
um novo sistema e de customiz-la rapidamente em atendimento s solicitaes do usurio, atualmente, custam caro
Ela atrasa a demonstrao da funcionalidade do sistema. Metade da funcionalidade pode no aparecer at que se
atinjam os 10% finais do cronograma de desenvolvimento
Programao gil

Programao gil um nome dados s diversas metodologias que se concentram na reao rpida s mudanas nos
requisitos do usurio e que visam a pequenos grupos de desenvolvimento e projetos que requeiram um mnimo de
documentao. Um exemplo de programao gil que recentemente tornou-se popular a programao extrema ( XP
eXtreme Programming), uma metodologia que junta dois programadores com um dos clientes para o qual o software est
sendo desenvolvido. Apesar de contradizer antigas crenas sobre o desenvolvimento de software, a experincia mostra que a
XP pode reduzir o tempo de desenvolvimento e os defeitos de software, ao mesmo tempo que aumenta a satisfao entre
desenvolvedores e usurios.

A Seleo de um Caminho

A melhor abordagem para um determinado projeto depende, em grande parte, da natureza do projeto e da natureza
da organizao. A abordagem em cascata funciona melhor com projetos de grande porte, complexos, que tm numerosos
interessados, afetam a empresa toda e no podem ser facilmente divididos em subprojetos. Ela tambm funciona bem com
organizaes que tm uma cultura formal e uma estrutura hierrquica.
A abordagem em espiral e a programao gil funcionam bem nas organizaes dinmicas, que podem tolerar a
ambiguidade e necessitam obter resultados rapidamente. O caminho em espiral pode apresentar melhores resultados quando
adotado para projetos que se dividem facilmente em subprojetos e para projetos mais simples, em especial o desenvolvimento
de sistemas de usurio nico ou que afetam um pequeno departamento. A programao gil bem-sucedida em ambiente
onde as necessidades do usurio so difceis de especificar ou mudam rapidamente.
A prototipagem funciona melhor para projetos de pequeno e mdio portes. Ela funciona bem onde a cultura suporta
equipes funcionalmente mistas. A prototipagem pode ser combinada com a abordagem em espiral e ser usada para um ou
mais dos subprojetos em um desenvolvimento em espiral.

Modelagem de Sistemas

Os desenvolvedores de sistemas usam dados, processos e modelos de objeto para compreender os sistemas
existentes e projetar os novos. Estes modelos fornecem uma linguagem que os analistas, os projetistas e os desenvolvedores
podem usar para comunicar-se eficientemente. Os administradores de equipes de desenvolvimento de sistemas se
beneficiaro da compreenso destes modelos de modo que possam melhor comunicar suas necessidades.
Os produtos de software que geram programas de computador diretamente dos modelos de sistemas podem acelerar,
de maneira acentuada, o desenvolvimento de software. Os softwares que geram modelos de sistemas a partir dos programas
existentes podem auxiliar os desenvolvedores a compreender e manter estes programas. Muitos produtos suportam, tambm,
a traduo entre modelos do mesmo tipo, por exemplo, de um modelo de dados para outro.

Modelos de Dados
Os modelos de dados descrevem os relacionamentos entre os elementos de dados que uma organizao usa. O
modelo E-R (Entidade Relacionamento) um dos modelos de dados mais extensamente usados. A figura abaixo ilustra um
modelo de dados E-R:
Nome Telefone

Repres. de Vendas
Regio ID_rep
1

representa

ID_cli
m Nome

Clientes

Celular
Endereo
Modelos de Processos
Os modelos de processos dividem um processo em suas partes, mostram como estas partes se relacionam entre si e
indicam quais sadas de um processo so entradas para outros processos. Os modelos de processos mais populares incluem
diagramas de estrutura e diagramas de fluxos de dados.
Os diagramas de estrutura mostram o relacionamento entre os programas (ou mdulos de programas) e
subprogramas que compreendero o sistema acabado. A figura abaixo exibe o diagrama de estrutura de um sistema de folha
de pagamento, enfatizando o projeto modular do sistema. A execuo de uma determinada tarefa, como o clculo do
pagamento lquido, requer o encerramento de todas as tarefas abaixo (por exemplo , clculo do pagamento bruto e o clculo
das dedues)

Processo de
Folha de
Pagamento

Ler Entrada Calcular Gerar Sada


Pagamento
Lquido

Ler registro Ler carto Gerar relatrio Gerar Contra-


do ponto de pagamento cheque
empregado

Calcular Calcular
pagamento Dedues
bruto

Calcular Calcular Calcular Calcular


pagamento horas extras impostos outros
normal descontos

Diagrama de Fluxo de Dados (DFD)


Os DFDs modelam o fluxo de dados entre processos. Eles no modela a ordem em que as tarefas so executadas. A
figura abaixo ilustra um sistema simplificado de folha de pagamento, modelado com DFD. As setas indicam o fluxo dos
dados; os retngulos abertos lateralmente representam dados armazenados (repositrio de dados); os crculos indicam
processos e os retngulos fechados representam as fontes das entrada ou os usurios das sadas.

Pagamento Bruto
Carto ponto
Empregado Calcular Calcular
Pagam. Dedues
Bruto

Empregados Pagamento e Dedues


Contra-cheque

Emitir Pgt lquido


Contra- Calcular
Cheque Pagamento
lquido

Histrico de Pagamentos Tabela de Impostos


Modelos de Objeto

Os modelos de objetos descrevem as propriedades dos objetos, seus relacionamentos entre si e as funes que
executam. Os modelos de objetos incluem, normalmente, os diagramas de herana, que mostram como s objetos herdam suas
propriedades de outros objetos. Os modelos de objeto podem incluir diagramas de estado para mostrar como as
caractersticas do objeto mudam medida que os eventos externos afetam um objeto e como o objeto responde
diferentemente s mensagens, dependendo do seu estado.
Os objetos incorporam tanto os dados quanto as operaes que podem ser executadas sobre os dados. Os
relacionamentos entre objetos, dados e processos motivaram o desenvolvimento de modelos que incorporam todos os trs
elementos. Entre os mais populares est a Linguagem de Modelagem Unificada (UML Unified Modeling Language).

i
Texto extrado do livro Sistemas de Informao Uma Abordagem Gerencial
Autores: Steven R Gordon & Judith R Gordon
LTC 2006

Você também pode gostar