| Resumo
Em um projeto, o analista de sistemas deve ter habilidade
para lidar com grupo de usuários, profissionais técnicos
e administração da empresa. Os usuários estão
preocupados com facilidade de utilização e de resposta do
sistema, os programadores se preocupam com aspectos técnicos e
a administração se interessa pelo retorno do investimento.
O analista tem de acompanhar desenvolvimento de software, aspectos de
hardware, componentes da equipe e usuários, entrada de dados, segurança,
auditoria - em resumo, todos os componentes do sistema.
O processo de desenvolvimento de sistemas costuma ser chamado de ciclo
de vida de um sistema. É chamado assim porque as atividades são
cíclicas, sucedem uma a outra, e porque define a trajetória
de um sistema, desde a sua concepção até sua desativação.
A função do ciclo de vida de um sistema é definir
as atividades a serem executadas, estabelecer coerência entre as
diversas etapas, fornecer pontos de controle de progresso e pontos de
tomada de decisão.
De maneira geral, o ciclo de vida de um sistema consiste em um conjunto
de fases ao final das quais é finalizado um software pronto para
executar as atividades para as quais foi concebido. O ciclo de vida do
sistema é uma metodologia, que deve ser seguida pela equipe executora
que fará com que o sistema funcione a contento.
Existem diversos modelos do ciclo de vida: alguns enfatizam uma visão
gerencial, outros, uma visão técnica. De maneira geral,
o ciclo de vida de um sistema compreende:
• Estudo da Viabilidade: Verifica se o projeto
solicitado é factível. Divide-se em estudo de viabilidade
técnica e econômica.
• Análise: Levantamento detalhado das necessidades
do usuário, para determinar o que deve ser feito.
• Projeto: Planejamento detalhado das funções
que serão executadas no aplicativo que atenderá aos requisitos
estabelecidos na fase de análise.
• Implementação: Construção
do sistema projetado, com a codificação dos processos automatizados
que foram detalhados na fase de projeto. É a fase da programação.
• Testes: Teste do sistema, para verificação
de possíveis erros e incoerências.
• Instalação: Implantação
do sistema para utilização do usuário.
• Manutenção: Conservação
do sistema em condições de funcionamento.
O
ciclo de vida não é usado apenas no desenvolvimento de sistemas
computacionais, mas em diversas áreas, a fim de formalizar o processo,
buscando a redução de trabalho, de falhas e de atraso nos
cronogramas, propiciando uma maior produtividade.
Um fator
determinante para o sucesso de um projeto de desenvolvimento de SI é
a adoção de uma metodologia de desenvolvimento de sistemas,
conjunto de regras e padrões que orientam o trabalho em todas as
tarefas do ciclo de vida de sistemas. As metodologias são utilizadas
para estabelecer ordem, definir padrões e usar técnicas
de eficácia comprovada no desenvolvimento de sistemas, agilizando
o processo, reduzindo erros e garantindo maior qualidade ao desenvolvimento.
Atualmente existem dois tipos de metodologias: a estruturada e a orientada
a objetos. A análise estruturada tem igual preocupação
com processos e dados. Vê os dados como entidades dotadas de atributos
(campos), que serão representados no DER - diagrama de entidade-relacionamento.
Segundo a técnica da análise estruturada, bastam apenas
quatro tipos de elementos para retratar a especificação
de um modelo lógico: fluxo de dados, entidade (elemento externo),
processo (ou função) e depósito de dados (arquivo).
Esses elementos podem ser arranjados no DFD - diagrama de fluxo de dados.
O desenvolvimento estruturado de sistemas é modular: divide as
tarefas do desenvolvimento de sistemas em partes menores, mais fáceis
de administrar. Assim, é possível distribuir a tarefa de
análise e programação entre diferentes equipes ou
profissionais. Depois de concluídos, os módulos são
reunidos.
Já o desenvolvimento orientado a objetos difere das metodologias
tradicionais por mudar o foco do desenvolvimento de sistemas: de modelagem
de processos de negócios e dados à combinação
de dados e procedimentos dentro de objetos unificados. O sistema é
visto como uma coleção de classes e objetos e de suas relações.
Os objetos são definidos, programados, documentados e salvos em
blocos, e podem ser usados em futuros sistemas. Essa, aliás, é
a principal característica do desenvolvimento orientado a objetos:
a reutilização do software.
O CASE (Computer-Aided Software Engineering) é uma ferramenta que,
em linhas gerais, apoia a execução de atividades do desenvolvimento
de software de forma automatizada. Ferramentas CASE podem ser integradas
em ambientes de desenvolvimento de software, apoiando parte das atividades
previstas no processo. As ferramentas CASE fornecem facilidades automatizadas
para produzir gráficos e diagramas, telas e relatórios,
códigos e documentos. A maioria das ferramentas CASE é baseada
em metodologias estruturadas de desenvolvimento de sistemas, mas algumas
se baseiam em desenvolvimento orientado a objetos.
O JAD (Joint Application Design) é um conjunto de sessões
intensivas e mediadas entre usuários e analistas, com o objetivo
de explicitar os requisitos de um sistema. É usado como uma técnica
para definir requisitos de sistemas empresariais em desenvolvimento e
é tipicamente usado nas fases iniciais de um projeto de desenvolvimento
de sistemas. Algumas experiências no uso de JAD mostraram que sua
utilização otimiza significativamente o trabalho após
o término do sistema, e geralmente conduz a um nível mais
elevado de satisfação dos usuários.
O RAD (Rapid Application Development) é um processo que propicia
o desenvolvimento de sistemas em um período bastante curto. Isso
é possível com o uso de prototipação, de ferramentas
de quarta geração, equipe multidisciplinar de trabalho.
A meta do RAD é reduzir o tempo entre pedidos e entrega de sistemas
de aplicação empresariais. Uma característica bastante
positiva de RAD é que, assim como JAD, ele envolve profundamente
a comunidade de usuários, em todas as etapas do projeto. Os usuários
formam a maioria dos participantes que especificam exigências e
que revisam os protótipos. Dessa forma, a tendência é
chegar a um resultado mais próximo do esperado por todos. Um grande
envolvimento dos usuários com o sistema faz com que haja uma construção
de todos, não uma ‘imposição’ da equipe
de SI, o que aumenta as chances de sucesso na utilização
do sistema.
Prototipação é uma técnica de desenvolvimento
de sistemas que utiliza uma abordagem interativa, prevendo a execução
de vários ciclos de análise, especificação
e codificação de um sistema. No primeiro ciclo, gera-se
um produto simplificado – o protótipo –, de modo que
o usuário possa examiná-lo e refinar as suas demandas. Nos
ciclos seguintes, o produto é aperfeiçoado e novas funções
são sucessivamente implementadas, até se chegar ao produto
final.
|