Você está na página 1de 11

UNIP Cincia da Computao AES Anlise Essencial de Sistemas O modelo Estruturado Uma sntese Todos os pedaos de vidas postos

tos juntos, todo esse mosaico de experincias acaba compondo um quadro coerente. esse quadro coerente que se torna objeto de anlise. Paulo Freire, educador (Freire et al., 1983) Conforme visto, uma inspeo histrica, envolvendo o desenvolvimento de software, nos leva a encontrar uma progresso de mtodos e tcnicas que passam a ser aplicados no transcorrer dos anos. Na tabela abaixo, que mostra o resumo histrico dos mtodos de desenvolvimento de software, tem-se de forma sinttica uma viso dos formalismos propostos. Tabela Resumo histrico dos mtodos de desenvolvimento de software.
Modelo Balbrdia (Informal) Desde o incio dos anos 50 (at hoje em muitos casos); porm, sem outra alternativa at o incio da dcada de 70. Estruturado O mtodo comeou efetivamente a ser empregado a partir de 1975 e dever ainda continuar sendo utilizado mais alguns anos pelas empresas que possuem estruturas de sistemas concebidas a partir desse modelo, que ainda se encontra ativos. Alguns metodologistas: Chris Gane Edward Yourdon Trish Sarson Tom de Marco Essencial Trata-se de um aprimoramento do modelo estruturado que teve incio em 1984. Alguns metodologistas: Sthepehn McMenamim John Palmer Orientado a objetos Decorrentes dos conceitos j existentes nas linguagens de programao, especialmente na Simula(67) e Smaltalk(70). A aplicao na anlise de sistemas teve incio na dcada de 90. Alguns metodologistas: Grady Booch Funcionalidades Objeto = Encapsulamento de Funes e Dados Contempla o estado de um objeto Viso esttica e dinmica Essncia Funcional e Dados Integrao Funcional e Dados DFD de Contexto Lista de eventos DFD particionado por eventos Diagrama Entidade Relacionamentos Diagrama de Estrutura de Dados Normalizao Dicionrio de dados Diagrama de Casos de Uso Diagrama de Classes e Objetos Diagrama de Seqncia Diagrama de Colaborao Diagrama de Componentes Diagrama de Distribuio Abordagem Funcionalidades (com enfoque) e dados. maior Ferramentas Textos Fluxogramas

Inicialmente a funcionalidade e depois os dados. Posteriormente, com a maturidade das ferramentas de SGBD, os dados ganham mais nfase.

Diagrama de Fluxo de Dados (DFD) Especificao dos processos Diagrama de Entidade Relacionamento (DER) Normalizao Diagrama de Estrutura de Dados (DED) Dicionrio de dados

Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas


James Rumbaugh Ivar Jacobson Peter Coad Sally Shlaer Stephen J. Mellor Scott W. Ambler

Como primeiro mtodo formal com ampla divulgao e alguma aceitao, tem-se a Anlise estruturada. O conceito fundamental embasado na Anlise Estrutura de Sistemas foi a construo de um modelo lgico (no fsico) de um sistema. Para tanto, buscou facilitar a comunicabilidade e a clareza dos objetivos do sistema, empregando tcnicas grficas, uma vez que at ento no havia como se visualizar graficamente as funes lgicas bsicas e os requisitos do sistema, pois logo de incio se adentrava aos detalhes de implementao fsica do software. 4.1 Anlise Estruturada O mtodo da Anlise Estruturada envolve a construo de um sistema de forma topdown (do geral para o particular, do topo para as partes) considerando-se os refinamentos sucessivos, produzindo-se em um primeiro momento uma fotografia global do sistema, por meio do emprego do DFD (Diagrama de Fluxo de Dados), em um nvel macro, chamado de DFD zero ou de contexto (Fournier, 1994), (Gane & Sarson, 1990). Com base nesse primeiro diagrama, faz-se sua decomposio funcional, criando-se outros fluxos que so um detalhamento do fluxo macro. Esses detalhamentos comeam a dar pistas sobre os dados requeridos, os quais, posteriormente, so objetos de uma estruturao empregando-se o Diagrama de Entidades Relacionamentos. O modelo estruturado apresenta o caminho exposto na figura abaixo, para que se possa construir um software. No modelo estruturado (como em todos os outros modelos existentes), tudo comea pela necessidade do usurio em resolver determinado problema (levantamento de requisitos) ou ainda pela oportunidade de antecipar a um problema, proporcionando funcionalidades que minimizaro os agravantes futuros.

Necessidade do usurio

Concepo do software

Anlise das viabilidades

Projeto lgico

Manuteno

Implantao

Projeto fsico

Desenvolvimento de software pelo mtodo da Anlise estrutura.

Segundo William S. Davis (Davis, 1987), a seqncia das atividades pertinentes ao modelo estruturado pode ser expressa de forma tabular, segundo as questes-chave e atividades principais das fases, conforme mostra a Tabela abaixo. Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas


ETAPA Concepo do software Estudo de viabilidade Projeto lgico Projeto fsico Implantao Manuteno QUESTO-CHAVE Quais so os problemas? H uma soluo vivel? Em geral, como os problemas devem ser resolvidos? Especificamente, como o projeto deve ser implementado? Os usurios e a organizao esto prontos para utilizar o sistema? Existem alteraes requeridas ATIVIDADES PRINCIPAIS Especificao da delimitao e objetivos. Identificao de mais de uma alternativa. Anlise geral custo/benefcio das alternativas. DFD DER Especificao dos processos Codificao dos programas Testes Treinamento Acompanhamento Modificar o sistema conforme necessrio. Ajustar documentao. Apoio ao usurio.

4.1.1 Concepo do software Uma vez identificados os problemas (realizado o levantamento de requisitos), o analista de sistemas passa a avaliar quais procedimentos comportam a adoo de alguma funcionalidade que deva ser contemplada por uma soluo informatizada. Deve delimitar o problema e levantar, a priori, eventuais alternativas diante da situao inicial verificada. Trata-se da fase de concepo do software. Nesta fase desenvolve-se as etapas de levantamento das necessidades, a coleta de documentos, as entrevistas e as observaes. Chris Gane e Trish Sarson (Gane & Sarson, 1990) sugerem que sejam empregados trs questes para a fase de concepo, as quais iro nortear a atuao do analista: Que h de errado com a situao atual? Que melhoramento possvel Quem ser afetado pelo novo sistema?

H melhorias contnuas sendo solicitadas em empresas, qualquer que seja sua dimenso e, muito embora realmente se possa contribuir via sistema com o aumento de funcionalidades ou maior performance, nem sempre tais solicitaes se revestem de uma real necessidade. No raro, algumas solicitaes podem ser derivadas de uma das seguintes situaes: Estratgias gerenciais de desvios de foco diante de situaes de turbulncia dentro das organizaes, visto que a solicitao para a rea de informtica passa a ser uma vlvula de escape. Por exemplo, em uma indstria, onde freqentemente ocorram faltas de matrias-prima gerando com isso atraso no processo de fabricao (turbulncia), pode ser solicitado para a informtica determinado relatrio mais adequado para o departamento de Compras, justificando-se que os recursos de informao existentes no so suficientes. Aspectos misteriosos do tipo deu um problema no sistema. Todos os envolvidos no contexto do problema conseguem uma camuflagem... menos a organizao (que detm, a partir da, dois problemas). de se esperar que os sistemas liberados para uso estejam livres de erros ( uma pr-condio de uso). Ocorre que em muitos lugares ainda existem os famosos sistemas Frankenstein (monstruosidade cheia de remendos e sem documentao) que realmente trabalham como bem entendem, pois, Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas de tanto remendo, adendos e anexos, ningum detm o conhecimento total de sua estrutura funcional; e, nesses casos, invariavelmente problemas acontecem. Para se precaver contra tais aspectos misteriosos que eventualmente possam vir tona, e que podem ser empregados para acobertar falhas operacionais em decorrncia do no cumprimento de procedimentos, sugere-se a criao de arquivos de log (registro de ocorrncias). Determina-se no sistema corporativo quais so as operaes mais estratgicas para a organizao e a potencialmente problemtica, passando-se a rastrear quem, quando, faz-se o qu. Filtrando essas questes, uma solicitao para a rea de informtica realmente pode tratar-se de uma grande oportunidade para aumentar os rendimentos da organizao, aperfeioar seus processos, melhorar qualidade de servios e efetivamente colaborar com os objetivos globais da empresa. Na fase de concepo, alm de reunir-se as informaes sobre os recursos que o novo software dever apresentar, espera-se que o analista de sistema elabora algumas alternativas de desenvolvimento do software, que pode ser at um descritivo em forma de texto. Essas alternativas iro figurar como diferentes solues para se fazer a mesma coisa. Por exemplo, mediante a solicitao da informatizao de uma Faculdade, vrias alternativas podem ser apresentadas, algumas mais simples (de menor custo), por exemplo, onde no seria contemplado a presena automtica do aluno pela leitura de um chip subcutneo e em outras isso estaria presente. 4.1.2 Estudo de viabilidade Para efeito de comparao e escolha entre solues previamente elaboradas (ainda de uma forma macro), baseadas nos levantamentos de requisitos aplica-se um estudo de viabilidade. Nesse estudo encontram-se trs etapas distintas: Anlise da viabilidade tcnica Sero avaliados os recursos tcnicos disponveis, prprios ou no, que podem viabilizar as solues que esto sendo analisadas. Esses recursos restringem-se ao hardware (configurao), software e pessoas qualificadas (peopleware). Se verificar pessoal tcnico disponvel, necessidade ou no de contratao ou treinamento. Viabilidade econmica Para as possveis solues, tecnicamente disponveis e utilizveis, se verificar o montante financeiro a ser empregado. Viabilidade operacional Aspectos das solues que implicaro em mudanas de rotinas existentes ou a serem criadas e seus impactos na organizao e sociedade, entram aqui discusses de ordem tica e moral tambm (apesar de tecnicamente funcional, seria uma soluo adequada a implantao de chip subcutneo para assinalar a presena de alunos?).

As solues elaboradas e as respectivas anlises de viabilidade devem ser apresentadas ao cliente. Naturalmente, quando da avaliao das solues por parte do cliente, o analista de sistemas dever ampar-lo quanto aos aspectos tecnolgicos envolvidos.

Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas Uma vez que se tenha decidido por determinada soluo, parte-se para a fase seguinte: chamado projeto lgico. 4.1.3 Projeto lgico No projeto lgico pode-se ter novos contatos com os usurios envolvidos no processo de criao de software. A soluo que foi escolhida comea a ser detalhada e vai sendo criteriosamente desenhada por meio do DFD (Diagrama de Fluxo de Dados). Ao iniciar este trabalho, que exige um detalhamento de todos os processos, os usurios podero ser convocados para esclarecimentos sob aspectos obscuros ou ainda que no sejam do completo domnio do analista. Para Tom DeMarco (DeMarco, 89), h trs tipos de usurios, cada qual tendo uma participao diferenciada no levantamento de requisitos inicial e nas fases posteriores em que se fazem necessrias, o que ir originar vises ou perspectivas diferentes de uma mesma informao: Usurio que pe a mo na massa. Essa pessoa aquela que estar diretamente envolvida com as interfaces do sistema, alimentando-o ou extraindo as informaes. Normalmente est preocupado com as facilidades de uso e velocidade dos processos, alm de detalhes operacionais que dizem respeito ao seu trabalho. Usurio chefe. Aquele que tem a incumbncia de gerenciar o ambiente e o procedimento cotidianos, zelando pelo bom andamento dos processos e o atendimento a novas necessidades. No est diretamente envolvido com os aspectos operacionais, porm depende deles para a obteno de informaes que ajudaro em processos de deciso. Usurio dono. Geralmente a diretoria ou o proprietrio, dependendo da dimenso e da organizao da empresa. Sua importncia reflete-se nos sistemas com relao ao planejamento estratgico e s vises sistemticas das informaes.

Ao desenhar um DFD pode-se retratar tanto os procedimentos manuais quanto os outros procedimentos que devero ser informatizados e que fazem parte do fluxo normal de trabalho (workflow) para o sistema. O DFD possui uma conveno simblica constituda de quatro representaes grficas que, juntas, permitem retratar uma abstrao da realidade, particularmente mostrando o que existe, sem se preocupar em como tais coisas so feitas.

Smbolos do DFD

Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas O smbolo de processo representa uma atividade de transformao. Ele alimentado com dados, provenientes de um meio externo (via entidade externa), ou pela leitura de dados armazenados em algum depsito de dados (tabelas ou arquivos). Todo processo tem um objeto claramente especificado, que, em geral, explicita o resultado oriundo de sua execuo (mas isso no regra). Seguem alguns exemplos de nomes de processos: Cadastrar Clientes, Emitir Pedido de Compra e Receber Materiais.

Processo Cadastrar cliente

Na figura acima, tem-se o exemplo grfico do processo Cadastrar cliente. No referido DFD, observa-se que uma entidade externa (retngulo), chamada de Cliente, envia dados do cliente ao processo. O envio dos dados est representado pelo fluxo de dados (seta) chamado de DadosCli, que parte do cliente em direo ao processo, implicando, portanto, que o processo possui uma alimentao, um input de dados. Observa-se tambm que existe um fluxo de dados (seta) bidirecional entre o processo e um depsito de dados (traos paralelos) chamado de CADCLI, onde haver o armazenamento dos dados do cliente. Portanto, o objetivo do processo Cadastrar cliente pegar os dados referentes aos clientes e depois armazenar esses dados no sistema (para que possam ser recuperados depois por algum outro processo).

Processo Emitir pedido de compra

Na figura acima, tem-se outro exemplo de processo, neste caso Emitir pedido de compra. Pela leitura que se faz no respectivo DFD, uma entidade externa chamada de Depto de Compra alimenta o processo com dados da compra, representados pelo fluxo de dados chamado Dados Com. H trs depsitos de dados envolvidos no Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas processamento. Um deles chamado de CADPROD, onde se considera existir o cadastro dos produtos. Percebe-se que do cadastro de produtos parte um fluxo de dados em direo ao progresso, mostrando que h uma operao de leitura. No processo existe algum comando que requisita dados de um determinado produto que est armazenado em CADPROD; ento, a seta indica a direo para a qual os dados esto fluindo. No caso desse depsito, s existe operao de leitura por parte do processo, pois no existe setas (fluxo de dados) partindo do processo em direo ao referido depsito de dados. A mesma operao de leitura executada para o depsito CADFORNEC, porm em CADPEDIDO existem duas operaes: a de leitura e a de operao de gravao (setas bidirecionais indicam a operao de Input-Output, ou seja, podem ocorrer regravaes alteraes em dados j gravados). Partindo do processo de Emitir pedido de compra em direo entidade externa Fornecedores, h um fluxo de dados chamado Pedido, representando que h um resultado gerado pelo processo com destino a uma entidade externa. Esse resultado sempre ser algo visvel em algum meio, tal como um relatrio ou uma consulta em vdeo; diferentemente do armazenamento de dados (fato no observvel a olho nu), que normalmente ocorre internamente no hardware. Uma operao de leitura de dados expressa em um DFD permite que se adicione a representao do chamado argumento de pesquisa. O argumento de pesquisa deve estar seguido de uma ponta de seta indicando que o argumento de pesquisa transmitido do processo ao depsito de dados. O argumento de pesquisa pode ser um dado, ou conjunto de dados, por meio dos quais se consiga encontrar um registro armazenado em um depsito (por intermdio da chave principal ou secundria).

Processo Receber materiais

No DFD do processo Receber materiais, a entidade externa Fornecedor alimenta o processo com os dados da nota fiscal (o fornecedor envia a nota, naturalmente com o respectivo material). No est retratado no DFD a conferncia fsica dos materiais que chegaram com a nota fiscal, o que certamente deve ser feito de forma manual. Contempla-se, contudo, pelo que se verifica expresso no DFD, a leitura do depsito de dados CADPEDIDO, o que nos leva a concluir que os dados da nota fiscal que chegou ter alguma confrontao com os dados do pedido que foi feito (produtos solicitados, condio de pagamento, preos, data de entrega combinada). Ainda no DFD referente ao processo Receber materiais, observa-se na parte inferior da bolha um trao (caracterstica essa da representao do processo), abaixo do qual tem-se o nome do departamento responsvel pela execuo do processo. Um erro muito

Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas comum visto em DFD imaginar que o executor do processo a entidade externa, quando na verdade ele representa apenas a origem da informao, e no quem executa o processo.
CodProd CLIENTE CADASTRAR PEDIDO CADESTOQUE CADPROD

CADCLIENTE

CADTRANSP

CADPEDIDO

Processo Cadastrar pedidos

Em geral, ao construir DFD constata-se que no documentado todo trmite de uma informao antes da mesma ser inserida no sistema, embora isso seja possvel e desejvel, uma vez que o DFD pode expressar processos manuais e aqueles que sero objetos da informatizao, de maneira que se vislumbre a totalidade das atividades. Na figura acima, pode-se observar a documentao lgica referente a um cadastro de pedido, cuja origem da informao foi o cliente, mas no est documentado como o pedido chegou at o sistema; por exemplo, todas as narrativas a seguir so situaes possveis de trmite do pedido, desde sua origem at o momento do armazenamento dos dados no sistema de informao da organizao: O cliente liga para a organizao e conversa com o departamento de Vendas. Algum vendedor toma nota dos dados do pedido, solicita que o cliente envie um fax confirmando os dados e a, de posse do fax, um auxiliar de vendas digita o pedido no sistema. O cliente recebe em sua loja um representante comercial, o qual preenche manualmente um pedido, que depois colocado em um malote e segue ara a organizao, onde algum do departamento de Vendas ir digita-lo no sistema. O cliente comparece no departamento de Vendas da organizao e faz um pedido. Uma pessoa do departamento de Vendas digita os dados no sistema. O cliente utilizando a Web entra nos sistema de vendas da organizao e digita os dados do pedido.

O ltimo tpico das narrativas anteriores revela que o cliente foi, alm da origem da informao, aquele que tambm inseriu os dados no sistema, diferentemente dos casos anteriores. Ainda com relao a simbologia de representao do processo, pode-se encontrar retngulos em p com os vrtices arredondados, opcionalmente divididos em trs reas (Gane & Sarson, 1990), conforme mostra a figura abaixo.

Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas

Notao do smbolo de processo

Com relao aos depsitos de dados, pode-se empregar na sua representao um par de linhas paralelas horizontais, podendo estar ou no ligadas em sua extremidade esquerda e devem ter um espao suficiente para que se possa escrever dentre as linhas o nome de identificao do depsito. O nome, tanto quanto possvel, deve ser auto-explicativo, significativo sob a tica dos dados que armazena. O depsito de dados designa um local onde os dados so persistidos, isto , h um armazenamento duradouro (ainda que temporrio) e no momentneo, entende-se que os dados permanecem armazenados mesmo que o equipamento onde estejam venha a ser desligado. Em geral, os depsitos de dados designam arquivos ou tabelas em banco de dados. A representao do depsito de dados tambm pode vir a ter uma identificao. Para que o recurso seja aplicado, necessrio uma pequena adequao em seu desenho grfico, conforme mostra a figura abaixo.

Notao do smbolo de depsito de dados

Quando um processo armazena dados, a seta do fluxo de dados aponta para o depsito de dados (Gane & Sarson, 1990). Quando se fala em armazenar dados, significa que esto gravando dados no depsito. Por outro lado, quando o acesso a um depsito de dados feito de forma a realizar-se apenas leitura, um fluxo de dados partir do depsito em direo ao processo, para o qual a seta deve apontar. Operaes de atualizao de dados, que se caracterizam por serem bidirecionais, isto , primeiro ocorre uma leitura dos dados armazenados em um depsito (seta aponta para o processo, porque a direo que seguem os dados); depois no processo pode ou no ocorrer alguma alterao e, na seqncia, h uma instruo de regravar os dados, ou seja, os dados saem do processo e so sobrepostos onde estavam e, neste caso, representa-se a seta do fluxo apontando para o depsito. Assim, a operao de atualizao exige uma representao I-O (Input-Output), para a qual pode ser empregado um nico fluxo (com setas bidirecionais), ou dois fluxos, um representando a leitura e o outro o armazenamento.

Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas

Representao de operao de input-output

Por ultimo, os fluxos de dados so representados por setas horizontais ou verticais que indicam a direo do fluxo. Nos casos necessrios, em que um mesmo conjunto de dados flua em dois sentidos, em vez de empregar-se duas setas, pode-se utilizar um mesmo fluxo com duas setas. 4.1.3.1 Como utilizar o DFD no projeto lgico No modelo estruturado, o DFD uma ferramenta aplicada para anlise top-down, na qual a soluo retratada inicialmente de uma forma macro, obtendo-se a chamada viso de alto nvel, ou viso contextual, ou, ainda, o chamado DFD zero. a demarcao inicial em que se esboa os limites da abrangncia do software. Posteriormente ocorre o detalhamento (exploso) dessa viso de alto nvel, de forma a obter representaes mais especficas dentro daquele contexto. A seguir, temos um exemplo que retrata um sistema de controle de consulta, reserva e locao do acero de uma biblioteca. O que exatamente se deseja informatizar por qu? Quais so os problemas existentes? Essas so algumas questes com as quais se poderia iniciar a investigao sobre a informatizao da biblioteca. Observa-se que em uma biblioteca vrias atividades pode ser objeto de informatizao, como, por exemplo, a folha de pagamento dos funcionrios. Assim, cabe a busca de um perfeito entendimento inicial sobre a abrangncia que se espera do software que ser projetado. No levantamento inicial deve-se explorar alguns requisitos macros pertinentes aos limites da informatizao, como no caso da biblioteca, que se supe que as funcionalidades requeridas pelo usurio devam incluir a consulta de disponibilidade de obras, a reserva de obras, a locao, devoluo, cobrana de obras em atraso e diversos relatrios ou consultas estatsticas, tais como: quais so as obras mais retiradas, quais so as obras solicitadas e que no existem no acervo, quais so os usurios em atraso, quais so as obras que esto emprestadas e quais so as obras reservadas. Vamos supor ainda que essa biblioteca fornea e possa solicitar obras de outras bibliotecas; para tanto, as funcionalidades exigidas para esse caso sero as mesmas que existiro para os usurios. Todo esse conjunto de solicitaes representaria um momento zero, no qual apenas se obteve uma viso genrica do que deve ser desenvolvido. No se pode dizer que houve um levantamento de requisitos. preciso explorar o escopo do software. Mesmo assim, o modelo estruturado permite que a partir de tais informaes se desenhe o DFD de contexto, ou DFD zero.

Prof. Marcelo Nogueira

UNIP Cincia da Computao AES Anlise Essencial de Sistemas

DFD de contexto

Esse modelo inicial, esboando uma sntese dos requisitos, objetiva a delimitao do problema a ser solucionado por meio de uma macro apresentao. Posteriormente, por meio de um processo sucessivo de refinamento, comea-se a detalhar partes do modelo desenhado, obtendo-se expanses do primeiro esboo, como por exemplo, na figura abaixo, na qual temos uma exploso do DFD de contexto. Esse processo de detalhamento do DFD ocorre mediante a chamada exploso de uma bolha do modelo j desenhado. Isso nada mais do que a expanso do significado de um processo. O DFD mostra o que deve ser previsto no software que ser desenvolvido. A construo do DFD independe da plataforma de hardware e software que ser utilizada na implementao do modelo; da o nome desta fase: projeto lgico.

Exploso do DFD de contexto

Paralelamente construo do DFD, pode estar sendo construdo uma modelagem dos dados que so utilizados pelos processos. Prof. Marcelo Nogueira

Você também pode gostar