O sistema começa com um usuário. O usuário tem necessidades de apoio técnico, mas não sabe o suficiente a respeito do computador para fazer ele o próprio trabalho. Em outro ponto da organização ficam os programadores. Eles sabem muita coisa a respeito do computador, mas muitas vezes não compreendem exatamente quais são as necessidades do usuário. O usuário conhece o problema, mas não o pode resolver. Os programadores talvez fossem capazes de solucioná-lo, caso o compreendessem. Para complicar, há um intervalo de comunicação: às vezes tem-se a impressão de que os programadores e suários falam línguas diferentes. (Fig. 1.1)
Imagem:Analise 1.1.png
Entra em cena o analista de sistemas, profissional cuja responsabilidade básica é traduzir as necessidades do usuário em especificações técnicas necessárias aos programadores (Fig. 1.2). O analista de sistemas começa desenvolvendo uma descrição lógica das necessidades do usuário.
Embora a abordagem puramente criativa de "projetar à medida em que se progride" possa funcionar para projetos pequenos ou relativamente simples, ela pode ser um desastre para um sistema grande e complexo. A análise de sistemas é uma área relativamente nova; sua metodologia ainda está evoluindo e muitas diferentes versões da abordagem "correta" existem. No entanto, podemos definir um processo amplamente aceito conhecido como análise e projeto estruturado de sistemas.