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.

Copyright © 2010 AIEC.