Sei sulla pagina 1di 31

1

CAP I - Conceitos Bsicos do Desenvolvimento de Sistemas de Software


Sistema de Software
Sistema de Software um conjunto de unidades de programa e de dados que funcionam interligadas para realizar uma ou mais tarefas de processamento. Exemplos: - Sistema Acadmico - Sistema de conta corrente bancria - Sistema de um caixa automtico bancrio - Sistema de controle de satlites

Prog 1

Prog 2

Prog n

Dados 1

Dados 2

Dados n

Complexidade dos sistemas de software: Conjuntos dos problemas, informaes, pessoas, coisas, eventos, polticas das instituies, custos, benefcios etc. relacionados com sistemas de software.

Abstrao
a capacidade que o homem tem de considerar (descrever, representar, imaginar) somente o que interessa no momento. Ex: Uma cidade para sua Prefeitura : Tamanho e tipo do imvel Se tem ou no gua encanada Se tem ou no coleta de lixo Se tem ou no calamento na rua Ex.: Uma cidade para a Clnica Veterinria : Qual o tipo de animal domstico Nome e endereo do dono

Modelo
a representao de algo de interesse com a utilizao da abstrao e de um conjunto de regras e critrios (tcnicas). Ex. Aeromodelo (miniatura de avio) Maquete de um edifcio Planta baixa de uma cada Desenho da fachada da casa Observe-se que o modelo ser diferente se o interesse mudar ou se as regras mudarem.

Modelos de sistema de software


a) Modelo Descritivo um texto que descreve o sistema (regras da linguagem usada) b) Modelo Conceitual Representa quais as informaes so importantes ao sistema usando um conjunto de regras e critrios (de uma determinada tcnica). Exemplos: - Diagrama de Fluxos de Dados (DFD) - Diagrama de Entidades e Relacionamentos (DER) c) Modelo Lgico (Operacional) Representa a estrutura e a forma de manipulao das informaes. Exemplos: - Fluxograma; - Tabela. d) Modelo Fsico Representa como se realiza o processamento propriamente dito. Exemplos: - Programas (seqncias de instrues, cdigos, etc); - Arquivos de dados.

Processo de Desenvolvimento / Modelos


De forma simplificada, um processo de desenvolvimento consiste das etapas (ou atividades) que devem ser realizadas para o desenvolvimento de sistemas de software.

Informaes do Mundo Real

Modelo Descritivo

Modelo Conceitual

Modelo Lgico

Modelo Fsico

Menos Detalhes

Mais Detalhes

Modelo X Foco de Interesse


EVENTOS Ex .: Chegada de Dados dos Alunos Nvel de Detalhes

Nvel Conceitual

Nvel Lgico

Nvel Fsico

DADOS Ex.: Nome e Notas

FUNES Ex.: Calcular a mdia das Notas

Ciclo de Vida do Sistema de Software (abordagem clssica simplificada)


O que Especificao e Anlise Como Projeto e Implementao

Uso e Manuteno

Ciclo de vida de um sistema de software o perodo que vai desde o incio do desenvolvimento do sistema at o instante que ele deixa de ser usado e substitudo por um novo sistema. Um sistema chega ao seu fim de vida til porque: a) poder se tornar obsoleto porque as adaptaes no conseguiram acompanhar as alteraes e necessidades do mundo real; b) tantos remendos forma feitos no sistema que no compensa mais fazer novos remendos, porque a cada remendo fica mais difcil fazer novos remendos.

Custo das alteraes e correes


Custo

Anlise

Projeto

Implementao

Uso

Fases

Portanto, interessante gastar um esforo maior nas fases de anlise e de projeto.

O Princpio Dividir para conquistar


Dividir um problema em partes, para que resolvendo cada uma delas, o todo possa ser resolvido.

Parte 2 Parte 1 Parte 4 Parte 3

Observaes: 1 - As interfaces entre as partes devem ser simples. 2 - As partes devem compor o todo, sem falta e sem excesso. 3 - Se dividir pouco, as partes resultantes podem ser to complexas como o todo. 4 - Se dividir demais, o conjunto das interfaces entre as partes poder se tornar muito complexo e a tarefa de gerenciar as partes tambm. Exemplo: Sistema para gerenciar uma empresa Partes: Subsistemas de produo

6 Subsistema de pessoal Subsistema de contabilidade e finanas Subsistema de compra e almoxarifado Subsistema de vendas e marketing

Exemplo: Modelo de um sistema de software Partes: Modelo Descritivo Modelo Conceitual Modelo Operacional Modelo Fsico

Participantes (envolvidos) do Projeto


Equipe de Desenvolvimento: Gerente de Projeto Analistas/Projetista Programador Cliente ( o patrocinador, quem paga as contas, ou um representante seu) Usurios (So as categorias de pessoas que iro utilizar diretamente o sistema de software)

CAP 2 Modelagem Funcional


Para desenvolver um sistema de software necessrio definir o que o sistema dever realizar considerando que poder realizar tarefas de processamento tais como: Receber dados externos Armazenar dados e depois recuperar Manipular dados (comparar, calcular, selecionar, alterar, apagar, etc) Visualizar dados Enviar dados para outros sistemas Se as fronteiras do sistema e o que ele dever fazer forem definidos com um primeiro nvel de quebra (com partes bem definidas) todos os demais trabalhos seguintes de desenvolvimento ficaro facilitados porque os trabalhos podero estar concentrados em cada uma das partes e no necessariamente no sistema todo. Inicialmente essas partes podem ser definidas no nvel conceitual, ou seja, sem a preocupao de detalhes de como elas sero implementadas (codificadas e fisicamente armazenadas) abstraindo-se desses detalhes e ficando num nvel mais alto de abstrao. A modelagem funcional objetiva representar a quebra do sistema nas principais funes de processamento e nas principais entidades de dados que sistema dever ter para realizar as suas tarefas. Alm disso, representar os principais dados de entrada e de sada do sistema e de onde viro e para onde iro esses dados. Portanto representar as fronteiras do sistema e a suas partes mais importantes para o seu funcionamento. A tcnica utilizada neste captulo consiste na utilizao de DFDs para representar o sistema. DFD significa Diagrama de Fluxos de Dados, uma tcnica baseada em DFDs bastante antiga e consolidada e ainda hoje usada por muitas empresas de desenvolvimento de software. uma tcnica do tipo estruturada porque mantm uma organizao hierrquica entre funes de processamento onde cada funo parte de outra funo do DFD de nvel mais alto. O DFD um modelo conceitual que representa os aspectos do sistema (ou uma parte dele) relacionados com o software, mostrando-os sob a forma de: entidades externas, os fluxos de dados, as funes de processamento e os depsitos de dados. Caractersticas: a) Simplicidade; b) Pode ser usado para representar todo o sistema como tambm parte dele;

8 c) Pode ser usado para representar diferentes nveis de abstrao (com menos ou com mais detalhes).

- Notao / Elementos
Fluxo de Dados:
Seta no DFD representa o caminho de um (ou mais) conjunto de dados que flui da origem para o destino. Nome do conj. de dados O nome deve representar os dados que fluem no fluxo. (Obs. no pode ser verbo). comum representar vrios conjuntos de dados em um mesmo fluxo: Por exemplo: Nome 1 Nome 2 Nome 3

Onde cada nome representa um conjunto de dados que flui no fluxo de acordo com o sentido da seta. OBS: Quando bvio qual conjunto de dados que flui pelo fluxo costuma-se no escrever o nome desse conjunto para melhorar a clareza do modelo. O fluxo de dados ter sempre como origem ou destino dos dados uma funo de processamento.

Funo de Processamento (ou processo DFD):


Representa uma parte do processamento do sistema (tarefa de processamento de dados) que futuramente ser transformado em cdigos de programa. Normalmente uma funo representa as transformaes de dados que chegam a ela para produzir os dados que saem dela atravs dos fluxos de dados. No DFD a funo de processamento ser denotada pela figura:

Identificador(Nmero ou cdigo ) Nome da Funo (verbo+ complemento )

O nome da funo deve representar a tarefa de processamento mais importante (para a regra do negcio) que ela representa e estar sob a forma de verbo + complemento (porque representa aes). Por exemplo: Receber pedido ( porque representa as aes de visualizar dados de produtos, ajudar o cliente selecionar e montar a relao dos produtos que interessam alm de armazenar o pedido )

Depsito de dados
Representa os dados que o sistema ter que manter armazenado a respeito de um tipo de entidade ( e que futuramente sero implementados como uma tabela do BD ou eventualmente um arquivo de dados do disco).

Nome do depsito de dados Identificador (nmero ou cdigo) O nome do depsito de dados poder ser o nome da entidade (ou tipo das entidades) cujos dados esto armazenados no depsito. Exemplos: Livros

Entidades externas
Representam entidades do domnio do problema (externa ao sistema) que interagem diretamente com o sistema, ou seja, recebem dados e/ou enviam dados para o sistema. Poder ser uma pessoa (cliente, funcionria, gerente, vendedor), outro sistema, ou um equipamento.

Nome (da entidade externa)

10

- Diagrama de Contexto do Sistema


No diagrama de contexto um modelo inicial onde sistema como um todo representado por uma moldura semelhante representao de uma funo de processamento. Alm disso, so representadas tambm as entidades externas e os fluxos de dados entre o sistema e essas entidades externas e os nomes dos dados que fluem por esses fluxos.

Objetivos do Diagrama de Contexto:


a) Representar uma viso externa global do sistema de software a ser desenvolvido b) Definir as fronteiras do sistema de software. c) Representar os dilogos entre o sistema e as entidades externas, ou seja, os dados que entram e saem do sistema. d) Ser o primeiro passo para a construo do DFD_Sistema.

2.2.1 - Exemplo: Diagrama Contexto Sistema de Software de uma Livraria


Misso do Sistema de Software : Auxiliar a venda de livros para clientes remotos, recebendo pedidos pela Internet e enviando os livros por reembolso postal

DESCRIO DO SISTEMA
Atravs da Internet o cliente poder visualizar a relao dos livros disponveis na Livraria e fazer o pedido de compra de um ou mais livros. Para fazer o pedido o cliente fornecer os dados pessoais para ser cadastrado como um novo cliente ou para atualizar o cadastro se j for cliente. Posteriormente o pedido ser analisado por uma funcionria que dever verificar se os livros relacionados no pedido existem no estoque da livraria e verificar no cadastro se o cliente no tem problema de dvidas anteriores O pedido aceito ser tratado pelo setor de expedio onde ser impressa a nota fiscal. Os livros relacionados no pedido sero embalados e enviados para o correio juntamente com a nota fiscal. O pedido que apresentar problema ser rejeitado e posteriormente examinado pelo gerente para tomar uma deciso sobre o caso. Se o problema for por motivo de falta de pagamento o gerente poder consultar o SERASA atravs da Internet e obter informaes adicionais respeito do cliente ou, at mesmo, falar com cliente pelo telefone. Se o gerente decidir por aceitar o pedido, este seguir seu processamento normal. Caso contrrio, o pedido ser descartado. Os casos de falta de livro no estoque da Livraria sero registrados pelo sistema e posteriormente examinados pelo gerente. Atravs da Internet o gerente enviar os pedidos

11 de aquisio dos livros em falta junto s editoras fornecedoras. Os livros recebidos das editoras daro entrada no estoque onde o fato ser registrado no sistema por um funcionrio e os dados dos livros atualizados.

OBS: A figura abaixo mostra como exemplo o diagrama de contexto do software da livraria. Os critrios prticos para construir diagramas de contexto sero apresentados no item 2.2.2. Aplicao desses critrios na construo do diagrama de contexto da livraria ser mostrada no item 2.2.3.

12 Diagrama de Contexto Sistema de Software de uma Livraria

CLIENTE

Liv Cli

Ped

Resu_P Ped

Cli

FUNC VENDAS

SERASA

Consu R_Consu

GERENTE

Ped_Rej Cli R_Consu Consu Resu_F

Ped_Ok Data

FUNC_ EXPEDI O

Liv_F Edit Ped_Aq Ped_Aq Ped_Aq Liv_Rec


FUNC_ES TOQUE

EDITORA

LEGENDA DOS CONJUNTOS DE DADOS QUE ENTRAM E SAEM DO SISTEMA ATRAVS DOS FLUXOS: LIV : Relao de livros com nome, autor, editora, ano, preo e qtde PED : Pedido de livros desejados e quantidades CLI : Dados do Cliente RESU_ P : Resultado da anlise do pedido (OK ou rejeitado) CONSU : Consulta ao Serasa sobre um cliente R_CONSU : Resposta da Serasa consulta feita PED_REJ : Pedido rejeitado RESU_F : Resultado final de um pedido rejeitado LIV_F : Livros em falta

13 EDIT : Editoras PED_AQ : Pedido de aquisio de livros junto s editoras LIV_REC : Dados dos livros recebidos da editora DATA : Data da emisso da nota fiscal

2.2.2 - Critrios prticos para a confeco do Diagrama Contexto


1) Desenhar a moldura que representa os limites do sistema de software de maneira que o diagrama resultante venha a ocupar bem toda a pgina. 2) Identificar as entidades externas e os dilogos entre essas entidades e o Sistema. 3) Conte a quantidade total de dilogos. Se for maior do que 10 verificar quais dilogos podero ser agrupados de modo que essa quantidade total fique num valor desejado. 4) Cada dilogo corresponder, em princpio, a um fluxo de dados (exceto quando dilogos forem agrupados). 5) Desenhar os fluxos de dados e as entidades externas maneira espalhada ao redor da moldura do sistema (evitando a parte superior) para que o resultado seja um diagrama fcil de ser entendido. OBS: Usando papel de tamanho A4, a quantidade total de fluxos entre entidades externas e o sistema no deve ultrapassar a quantidade de 10 fluxos porque quando o diagrama de contexto for transformado em um DFD-Sistema poder resultar em um diagrama difcil de ser entendido.

2.2.3 - EXEMPLO: Dilogos e fluxos no Sistema de Software de uma Livraria


a) Entre Cliente e o Sistema : 1 dilogo: O sistema mostrar a relao de livros e o cliente retornar com os dados de pedido de livros. Liv Ped

2 dilogo: O cliente enviar seus dados para o Sistema, ou se ele j for cadastrado, receber os seus dados do Sistema e retornar com eles atualizados. Cli

14 b) Entre Serasa e o Sistema 1 dilogo: O sistema envia a consulta ao Serasa e recebe uma resposta consulta feita. Consu R_Consu

c) Entre o Gerente e o Sistema 1 dilogo: O Gerente recupera no sistema o pedido rejeitado, os dados do cliente que fez esse pedido e envia para o sistema a sua deciso sobre o pedido rejeitado como um resultado final. Ped_Rej Cli Resu_F

2 dilogo: O gerente envia atravs do sistema uma consulta ao Serasa e recebe uma resposta. R_Consu Consu

3 dilogo: O Gerente recupera do Sistema os livros em falta e a relao das Editoras para retornar ao Sistema o pedido de aquisio de novos livros. Liv_F Edit Ped_Aq

d) Entre Editora e o Sistema 1 dilogo: A Editora recebe do Sistema o pedido de aquisio dos livros em falta Elaborado pelo gerente Ped_Aq . e) Entre a funcionria de vendas e o Sistema 1 dilogo: A Funcionria de vendas visualiza pelo Sistema o pedido, os dados dos livros e os dados do cliente para produzir e enviar para o Sistema o resultado da anlise do pedido. Ped Liv, Cli Resu_P

f) Entre o funcionrio de expedio e o Sistema 1 dilogo: O Funcionrio de expedio visualiza pelo Sistema o pedido aprovado, os dados do cliente e fornece ao Sistema a data para a emisso da nota fiscal.

15 Ped_ok Cli

data

g) Entre o funcionrio do estoque e o Sistema 1 dilogo: O Funcionrio do estoque visualiza pelo Sistema o pedido de aquisio para conferir os livros recebidos da editora e fornece ao Sistema os dados dos livros recebidos para atualizar a relao dos livros. Ped_Aq Liv_Rec

TOTAL DE FLUXOS Como foram 10 os dilogos identificados poderamos manter a correspondncia de de um fluxo para cada dilogo. Entretanto, para este exemplo alguns dilogos sero agrupados para a formao dos fluxos ( a ttulo de exemplo e para obter no final um diagrama menos detalhado). Dessa forma: a) Os dois dilogos entre Cliente e Sistema sero agrupados para forma um nico fluxo considerando-se esses dois dilogos so muito relacionados, ou seja, para o pedido ser feito ser sempre necessrio que os dados do cliente estejam atualizados. Liv Cli Os dois primeiros dilogos entre o gerente e o Sistema tambm sero agrupados considerando que ambos se referem ao tratamento do pedido rejeitado na anlise. Ped_Rej Cli R_Consu Resu_F Consu Resu_F Ped

Desenhando as entidades externas e os fluxos espaados ao longo da moldura obtm-se o diagrama de contexto do Sistema de Software da Livraria, como mostrado em 2.2.1 OBS: Para sistemas grandes pode-se ter 15 fluxos, ou mais, usando um papel maior para facilitar o entendimento do diagrama.

16

- DFD do Sistema (DFD-Sistema)


O DFD-Sistema um DFD que representa o sistema como um todo. Deve representar somente os aspectos do Sistema que iro ser transformados em software, ou seja, em programas e em dados que o sistema dever armazenar. O DFD-Sistema representa a primeira quebra do processamento que o sistema dever realizar, onde cada parte desse processamento representada por uma funo de processamento (e que ir ser transformada em cdigos de programa). Deve ser considerado como uma base para o planejamento (semelhante a uma planta baixa de uma casa). O DFD-Sistema deve representar o mximo de detalhes, mas deve ser fcil de ser entendido, portanto no incluir detalhes em excesso. Se ocorrer excesso de detalhes a serem representados, os aspectos de tratamento de erros, de excees e transitrios podero ser excludos com prioridade do DFDSistema.

2.3.1 - Passos para desenvolver um DFD Sistema


1) Construir o Diagrama de Contexto do Sistema seguindo os critrios prticos mostrado em 2.2.2, ou seja: 1 a) Desenhar a moldura que representa os limites do sistema de software de maneira que o diagrama resultante venha a ocupar bem toda a pgina. 1 b) Identificar as entidades externas e os dilogos entre essas entidades e o Sistema. 1 c) Conte a quantidade total de dilogos. Se for maior do que 10 verificar quais dilogos podero ser agrupados de modo que essa quantidade total fique num valor desejado. 1 d) Cada dilogo corresponder, em princpio, a um fluxo de dados (exceto quando dilogos forem agrupados). 1 e) Desenhar os fluxos de dados e as entidades externas maneira espalhada ao redor da moldura do sistema (evitando a parte superior) para que o resultado seja um diagrama fcil de ser entendido. 2) Para cada fluxo entre uma entidade externa e o Sistema, desenhar uma funo de processamento dentro da moldura, deixando-a inicialmente sem nome. 3) Para cada fluxo, e para cada um dos conjuntos de dados do fluxo perguntar: a) De onde vem o conjunto de dados que a funo envia para a entidade externa ? a. A funo obtm esse conjunto de dados de um depsito? b. ou o obtm de uma outra funo? b) Se a funo recebe um conjunto de dados da entidade externa, para onde ela dever encaminh-lo ?

17 a. A funo dever armazen-lo em um depsito de dados ? b. ou dever envia-lo para uma outra funo? c) medida que as questes acima vo sendo respondidas desenhar os depsitos de dados (e funes) que se fizerem necessrios 4) Aps considerar todos os conjuntos de dados tratados por uma funo pode-se ter a noo das tarefas que ela dever realizar, e portanto, pode-se dar um nome a essa funo sob a forma de VERBO + COMPLEMENTO (que represente a tarefa mais importante para os objetivos do Sistema). 5) Desenhar o DFD a mo livre evitando os cruzamentos de fluxos. Mesmo que para isso tenha que duplicar depsitos de dados e cuidando sempre para que o DFD seja fcil de ser entendido. (Assinalar os depsitos duplicados, por exemplo atravs de dois traos paralelos) 6) Aps a reviso, pode-se redesenhar o DFD e enumerar as funes (e depsitos de dados) se houver necessidade. 7) Confeccionar o Dicionrio de Dados registrando os dados que compem cada conjunto de dados dos fluxos, os tipos de dados que estaro nos depsitos de dados e descrever cada funo do DFD (com informaes disponveis at o momento).

OBS: Seguir rigorosamente a seqncia dos passos acima, pelo menos at o 4 passo, para obter de maneira eficiente um DFD de qualidade. (Qualquer outro caminho, se adotado, provavelmente ser mais difcil e menos eficiente).

18

2.3.2 Exemplo de DFD_Sistema Software da Livraria

1
CLIENTE

2
RECEBER PEDIDO

LIVROS

LIVROS FALTA

15
CLIENTES PEDIDOS ANALISAR PEDIDO FUNC VENDAS

14

4
SERASA

5
CONSULT AR SERASA CLIENTES

12 6
GERENTE

TRATAR PEDIDO REJEITAD O

EMITIR NOTA FISCAL

132

FUNC EXPEDI O

8 9
ADQUIRIR LIVROS

LIVROS FALTA LIVROS PED AQUIS

10 EDITORA ENVIAR PEDIDO AQUIS

CAD EDITORAS

10
ATUALIZA R LIVROS FUNC_ES TOQUE

11

FLUXOS QUE ENTRAM E SAEM DO SISTEMA: [ 1 ] LIV : Relao de livros com nome, autor, editora, ano, preo, quantidade em estoque [ 2 ] PED : Pedido de livros desejados e quantidades [ 3 ] CLI : Dados do cliente como nome, endereo, RG, CPF, telefone [ 4 ] CONSU : Consulta ao Serasa de um dado cliente [ 5 ] R_CONSU : Retorno do Serasa consulta feita [ 6 ] PED_REJ : Dados de pedido rejeitado CLI : Informaes sobre o cliente R_CONSU : Resposta da Serasa consulta feita [ 7 ] CONSU : Consulta ao Serasa sobre um cliente RESU_F : Resultado final de um pedido rejeitado [ 8 ] LIV_F : Relao dos livros em falta EDIT : Relao das editoras [ 9 ] PED_AQ : Pedido de aquisio de livros junto s editoras [ 10 ] PED_AQ : Pedido de aquisio de livros, ou seja, relao dos livros desejados da editora e as quantidades

19
[ 11 ] LIV_REC : Dados dos livros recebidos da editora [ 12 ] DATA : Data da emisso da nota fiscal [ 13 ] PED : Pedido de livros desejados e quantidades CLI : Dados do cliente como nome, endereo, RG, CPF, telefone [ 14 ] RESU_P : Resultado da anlise do pedido (OK ou rejeitado) [ 15 ] PED : Pedido de livros desejados e quantidades LIV : Relao de livros com nome, autor, editora, ano, preo, quantidade em estoque

OBS: No utilizar nmeros substituindo os nomes de dados como no exemplo acima porque torna o DFD mais difcil de ser entendido. Sempre que possvel escreva os nomes dos dados (como foi feito no diagrama de contexto do item 2.2.1).

20

Exerccios
EXERCCIOS DA DISCIPLINA DE ANLISE DE SISTEMAS PARTE A : DIAGRAMAS DE CONTEXTO
DESCRIO: SISTEMA DE SOFTWARE PARA UMA OFICINA MECNICA Em uma oficina mecnica o cliente, aps estacionar o seu carro, dirige-se recepo para relatar os problemas e servios a serem realizados no carro. Atravs de um terminal a recepcionista preenche, ou atualiza, o cadastro do cliente e os dados do veculo. Em seguida, ela digita a relao dos problemas/servios relatados pelo cliente. Seguindo a ordem de chegada, o veculo inspecionado por um dos mecnicos que, visualizando em um terminal o relato do cliente, relaciona os consertos e os servios que sero necessrios, bem como, o custo de cada um dos itens, compondo assim o oramento. Para facilitar essa tarefa, o sistema disponibiliza ao mecnico a relao de servios comumente realizados, os materiais utilizados, e os custos unitrios para cada um deles. Disponibiliza ainda a relao de peas, e preo unitrio, referente ao tipo do veculo com a finalidade de facilitar a determinao do custo de cada conserto necessrio. Se um servio a ser realizado no constar da relao, o mecnico poder acrescent-lo livremente no oramento em questo. Aps elaborao dos itens do oramento, o sistema far o clculo do custo de cada item e do custo total. Uma estimativa do tempo gasto para execuo dos trabalhos far parte do oramento. Atravs do seu terminal a recepcionista tem acesso ao oramento elaborado pelo mecnico e comunica ao cliente por telefone os seus resultados. No prprio terminal em que estar visualizando o oramento ela poder habilitar os itens do oramento que forem sendo aprovados pelo cliente e que devero ser executados pelo mecnico. Para fazer o seu trabalho, o mecnico dever observar no seu terminal a relao dos itens aprovados pelo cliente, incluir comentrios que se fizerem necessrios e assinalar o trmino de execuo de cada item. A qualquer instante, atravs do seu terminal, a recepcionista poder ter acesso informao do andamento dos trabalhos do mecnico atravs do oramento em execuo e, naturalmente, quando eles tiverem sido terminados. A concluso dos trabalhos ser comunicada ao cliente por telefone. A emisso da nota fiscal ser feita pelo caixa com o auxlio do sistema que mostrar os itens realizados do oramento e o pagamento efetuado pelo cliente ser registrado no sistema. Tendo a informao do pagamento realizado, a recepcionista poder providenciar a liberao e a entrega do veculo ao cliente.

21

DESCRIO : SISTEMA DE SOFTWARE PARA UMA TRANSPORTADORA


Uma transportadora possui um conjunto de caminhes de diversos tipos e realiza viagens de transporte de carga para qualquer parte do Pas. As solicitaes de viagens so recebidas por um funcionrio do escritrio via e-mail ou por telefone. O cliente dever fornecer: o tipo de carga, volume, peso, data desejada para o carregamento, origem e destino, alm de seus dados como nome, endereo e telefone. O sistema de software dever auxiliar o funcionrio do escritrio a: a) fazer a alocao do caminho para uma viagem observando a sua disponibilidade e de acordo com o volume e o peso da carga; b) estimar o tempo de durao fornecendo a distncia entre diferentes cidades; c) estabelecer o custo da viagem e o valor a ser cobrado mantendo o consumo para os diferentes tipos de caminho, o custo do combustvel e de estimativas de despesas de viagem; d) designar o motorista de acordo com a disponibilidade e o rodzio de escala. Aps a viagem, o funcionrio do ptio dever registrar no sistema eventos ocorridos durante a viagem, tais como, problemas com o caminho, atrasos, etc. Dever tambm registrar os valores das despesas da viagem, tais como, combustvel, consertos, pedgios e refeies. Ao final de cada ms o gerente ir acionar o sistema para obter um relatrio que resume as viagens realizadas, indicando as despesas e os valores recebidos pelo transporte, e outro relatrio que, para cada caminho, relaciona os quilmetros rodados e as despesas referentes aos consertos e manuteno.

22

DESCRIO : SISTEMA DE SOFTWARE PARA UMA CLNICA MDICA


O paciente poder agendar horrio de consulta diretamente no sistema via internet ou pelo telefone por intermdio da secretria. Para isto, deve ser possvel verificar no sistema os horrios disponveis do mdico desejado, e aps a escolha do horrio mais conveniente, o sistema solicitar o nome e telefone do paciente. Quando o paciente chegar a clnica, a secretria verificar no sistema o horrio da consulta e se o mesmo constar na agenda do sistema, ela cadastrar os dados do paciente (ou atualizar os seus dados se j for um paciente cadastrado), receber o valor da consulta e solicitar ao sistema a emisso do respectivo recibo. No caso de ser apresentado o comprovante de convnio, o sistema possibilitar secretria inserir as devidas informaes para posterior processamento. O mdico poder visualizar no sistema a agenda de pacientes e verificar o prximo paciente que dever atender. Quando estiver pronto, ele poder enviar um aviso pelo sistema para que a secretria providencie a entrada do paciente para a sala de atendimento. Durante a consulta, o mdico poder acessar a ficha histrica de tratamento do paciente e tambm prescrever uma nova receita baseando-se em tratamentos e remdios pr-cadastrados, ou quando necessrio, cadastrar novos. Quando solicitado pelo paciente, o mdico poder emitir um atestado atravs de facilidades do sistema.

23

CAP. 3 - EXPANSO DE DFD


3.1 - Como fazer uma expanso 3.2 - Critrios para fazer as expanses de DFDs 3.3 - Exemplo de expanso de DFD Locadora de Fitas Quando se tem um grande sistema de software a ser desenvolvido o DFD-Sistema poder no representar todas as informaes necessria para o projeto lgico do Sistema. Nesse caso a soluo fazer a expanso do DFD, ou seja, representar um prximo nvel de detalhes do Sistema, transformando cada funo de processamento que no estiver suficientemente detalhada em um novo DFD. A expanso poder ser aplicada a cada novo nvel de DFDs, sempre que houver funes que no estejam no nvel de detalhes desejado. 3.1 - Como fazer uma expanso Para cada funo do DFD que deve ser expandida para dar origem a um DFD de nvel mais baixo: 1) Desenhar a moldura do novo DFD que corresponder a funo a ser expandida. 2) Para cada fluxo que entra e/ou sai da funo a ser expandida desenhar um fluxo correspondente cruzando a moldura do novo DFD. Para cada fluxo desenhado denotar os nomes dos conjuntos de dados que fluem atravs do fluxo. 3) Se um fluxo de dados da funo estiver representando mais de um dilogo, no novo DFD ele poder ser desmembrado em mais de um fluxo (por exemplo, um fluxo por dilogo). 4) Se houver necessidade, adicionar novos fluxos correspondentes s situaes de erros e excees (que podero no aparecer no DFD de nvel mais alto). 5) Aps considerar todos os fluxos representando dados que entram e saem do DFD, verificar se a quantidade e a distribuio dos fluxos ao longo da moldura esto dentro do razovel. 6) Desenhar uma funo de processamento para cada fluxo, deixando inicialmente sem nome e continuar de forma semelhante aos passos para desenvolver um DFD-Sistema (Vide no Cap 2 Passos para desenvolver um DFD-Sistema )

24

3.2 - Critrios para fazer as expanses de DFDs a) Balanceamento de fluxos 1) Os dados que entram e saem de uma funo a ser expandida devem corresponder aos fluxos que entram e saem do DFD resultante da expanso. 2) Essa correspondncia no pela quantidade de fluxos, mas pelo significado dos dados envolvidos. 3) Para verificar o balanceamento no se deve considerar os fluxos relacionados com erros e excees (pois so aspectos que devem ser representados medida que se detalha o Sistema). b) Extenso do particionamento 1) Expandir (detalhar) o mais possvel, ou seja, representar o mximo de informaes a cada DFD. Porm, produzir sempre DFDs legveis e estticos. 2) Os DFDs de nvel mais baixo podem ter menos funes do que os nveis mais alto. (Porque um DFD carregado de informaes detalhadas tender a ficar mais difcil de ser entendido). 3) Uma referncia: 5 + ou 2 funes de processamento em cada DFD. c) Nvel mais baixo da expanso 1) Limite prtico: at 4 nveis de DFDs (se a cada nvel a expanso produzir DFDs contendo o mximo de informaes) 2) Quando a Mini-especificao da funo couber em 1 pgina (narrativa da funo usando fluxograma ou portugus estruturado) um indcio que a funo j est num nvel de detalhes suficiente. 3) Quando uma funo possuir mais de 1 fluxo com sadas de dados dessa funo um indcio de que talvez seja necessrio fazer a expanso dessa funo.

25

3.4 - Exemplo de expanso de DFD Considere um sistema de software para uma locadora de vdeo, sua descrio e o DFD_Sistema compondo o seu nvel o1.

Misso do Sistema:
Fornecer conforto aos clientes no acesso s informaes sobre as fitas disponveis e dar suporte s atividades das funcionrias e do gerente da Locadora.

DESCRIO NVEL 01
No hall de recepo da Locadora o cliente poder ter acesso s informaes sobre as fitas atravs de um terminal e montar o seu pedido de locao. No balco de atendimento ele ser atendido por uma funcionria que, com o auxlio do sistema verificar o seu pedido e far (ou atualizar) o cadastro do cliente e depois ir apanhar as fitas relacionadas nas prateleiras. Para devolver as fitas o cliente dever dirigir-se ao balco de atendimento e entrega-las para uma das funcionrias. O sistema auxiliar a funcionria a calcular o valor a ser pago pelo cliente e, se necessrio, dar a indicao do local nas prateleiras onde cada fita dever ser recolocada. Atravs da Internet os fornecedores enviaro periodicamente para a Locadora informaes sobre os lanamentos de novas fitas. O sistema auxiliar o gerente a fazer os pedidos de aquisio de novas fitas e envi-las aos fornecedores. Recebendo novas fitas, elas sero conferidas com o respectivo pedido de aquisio e as informaes das fitas existentes na Locadora sero atualizadas no sistema.

26

DFD-SISTEMA DA LOCADORA DE VDEO (Nvel 01)


Fitas_Nov
FITAS

CLIENTE

Fitas Ped
ELABORAR PEDIDO

PED_FITAS

RECEBER FITAS NOVAS

Fitas_Nov Ped_Aq

FUNC_ES TOQUE

Ped_F Ped_F Cli


TRATAR PEDIDO

Fitas_Dev
PED_AQ

Ped_Aq
ADQUIRIR R NOVAS FITAS

GERENTE

Lana

FITAS

Ped
FUNC_BA LCO LANAMENTOS CLIENTES

Sit_Cli Ped_F Fitas_Dev

Sit_Cli

RECEBER _LANAM ENTOS

Lana

FORNECE DORES

RECEBER DEVOLU O

Ped_F Ped_Aq

FORNECEDORES

ENVIAR PEDIDO DE AQUIS

LEGENDA DOS CONJUNTOS DE DADOS QUE FLUEM ATRAVS DOS FLUXOS: Fitas : Relao das fitas da Locadora Ped : Pedido de fitas contendo a relao de fitas Ped_F : Pedido final contendo as informaes completas alm da relao de fitas que ir levar Sit_Cli : Situao do Cliente Fitas_Dev : Informaes sobre fitas devolvidas pelo cliente Lana : Relao de novos lanamento de fitas Ped_Aq : Pedido de aquisio de novas fitas Fitas_Nov : Novas fitas recebidas pela Locadora

DESCRIO DO SISTEMA DE SW DA LOCADORA DE FITAS - NVEL 02

27

DESCRIO NVEL 02 DA FUNO: ELABORAR_PEDIDO A locadora possui um hall de entrada com diversos terminais onde os clientes podero obter informaes sobre as fitas existentes para locao (sem a necessidade de percorrer as prateleiras). Atravs de um desses terminais o cliente poder elaborar seu pedido selecionando uma, ou mais, fita da relao de fitas disponveis. O sistema mostrar no terminal as informaes sobre as fitas de diferentes maneiras de acordo com a opo do cliente: lista dos nomes dos filmes em ordem alfabtica; lista de nomes de filmes por assunto; lista por artista e pelos mais recentes lanamentos. Caso o cliente deseje, ele poder optar por ver informaes detalhadas de uma dada fita, tais como: descrio resumida do filme, a relao dos principais artistas, a figura da capa da fita, o nome do diretor e da produtora. O sistema mostrar ainda a quantidade de exemplares existentes de cada fita, a quantidade de exemplares disponveis para locao no momento, bem como, o preo por dia de locao. O sistema permitir ao cliente fazer uma pr-seleo das fitas que eventualmente teria interesse de locar e posteriormente fazer a escolha final das fitas que iro compor o pedido final de locao. Alm do seu nome, na elaborao do pedido de locao o cliente digitar para cada fita o perodo de locao que ele deseja e o sistema mostrar o valor a ser pago por fita e o total. Assim que as fitas forem sendo selecionadas pelo cliente o sistema ir marcando que elas esto reservadas e ir atualizando o nmero de exemplares disponveis para locao. Aps o cliente ter concludo a elaborao do pedido, ele se dirigir recepo da loja para pegar as fitas.

28

ELABORAR PEDIDO - NVEL 02


DETALHES_ FITAS Fitas_Pre Op_visu Fitas Det_Fitas PRE_SE LECIONA R_FITAS Fitas RECUPER AR_FITAS FITAS

Fitas

CLIENTES

FITAS_PRE_SELEC

Ped

ATUALIZAR _QTDE_DIS PONIVEL

Fitas Qtde_disp_at

Fitas_Pre Val_Aloc Ped Nome_Cli

FAZER_ PEDIDO _ FINAL

Ped Nome_Cli

GRAVAR_ PEDIDO

Ped

PED_FITAS

LEGENDA DOS CONJUNTOS DE DADOS QUE FLUEM PELOS FLUXOS: 1 2 3 4 5 6 7 FITAS = Relao de fitas contendo: Nome do filme, Tipo do filme, Preo da locao, Qtde_disponvel DET_FITAS = Detalhes de fitas : Descrio do filme, Artistas principais, Figura da capa, Diretor, Produtora OP_VISU = Opo para visualizao : (Relao em ordem alfabtica dos filmes, Por assunto, Por artista, Lanamentos) FITAS PRE = Fitas pr-selecionadas : Nomes das fitas que o cliente tem interesse e que podero fazer parte do pedido de locao PED = Pedido : Fitas que faro parte do pedido final de locao, perodo de locao, valor da alocao VAL_ALOC : Valor a ser pago pela alocao das fitas do pedido QTDE_DISP_AT = Quantidade disponvel atual : Relao de fitas com qtdes disponveis atualizadas

OBS: a) b) c)

O fluxo de dados entre o cliente e o sistema do nvel 1 foram desmembrados no nvel 2 para representar com mais detalhes os dilogos para a elaborao do pedido de locao (O qual passou a ser realizada em duas etapas: primeiro para uma seleo prvia e depois a seleo final para definir o pedido). De maneira semelhante o fluxo para acessar os dados do depsito de fitas tambm foram desmembrados para representar os diferentes dilogos para os acessos. A entidade externa Clientes e os depsitos de dados Fitas e Ped_Fitas, externos funo, foram desenhados na parte externa ao DFD para facilitar o entendimento, mas no seriam necessrios desenha-los.

29 DESCRIO DE NVEL 02 DA FUNO: TRATAR_PEDIDO Pelo seu terminal, a recepcionista ver no vdeo a relao de fitas do pedido elaborado pelo cliente e a indicao do local nas prateleiras onde as fitas podero ser encontradas. A recepcionista verificar se os dados do cliente precisam ser atualizados e se existe alguma pendncia na devoluo de fitas alocaes anteriores. O sistema dar a ela a opo de confirmar o pedido, deix-lo suspenso ou ento cancel-lo. No caso de cancelamento, as informaes correspondentes as disponibilidades das fitas devero ser atualizadas na relao de fitas da locadora e o pedido apagado do sistema. Caso haja pagamento antecipado, a recepcionista registrar no sistema o valor pago e este mostrar o valor da diferena, se houver, a ser pago pelo cliente no ato da devoluo das fitas. DESCRIO DE NVEL 02 DA FUNO: RECEBER_DEVOLUO DAS_FITAS Ao receber as fitas do cliente, a recepcionista recuperar no sistema as informaes referentes alocao atravs no nome do cliente e verificar se as fitas devolvidas so aquelas locadas. Se houver alguma fita no devolvida ela dever registrar essa pendncia no sistema. Verificar ainda se houve diferena entre o perodo de locao constante no pedido e o perodo que o cliente ficou com as fitas. Se for o caso, ela digitar essa informao para que o sistema possa refazer o clculo do valor a ser pago pelo cliente. Por uma opo da funcionria o sistema emitir o recibo a ser entregue ao cliente. O sistema registrar o resumo da transao no cadastro do cliente: Identificao das fitas locadas, o valor da locao e o valor pago, a data, e o nmero do pedido se houver pendncia. Se no houve nenhuma pendncia o pedido ser ento apagado do sistema aps o seu pagamento e as informaes das fitas do pedido sero atualizadas.

OBS: No usar nmeros para nomear os conjuntos de dados dos fluxos. Ser sempre melhor dar nomes que lembrem os dados (use abreviaes dos nomes e faa a legenda).

30

Exerccio - SISTEMA DE SOFTWARE PARA UM HOTEL FAZENDA


Misso do sistema: O sistema de software dever facilitar o controle de despesas e de emprstimo de materiais de cada hospede nas diversas unidades do hotel e agilizar o fechamento da conta ao trmino da estadia. Descrio: No atendimento a um pedido de reserva um funcionrio verificar no sistema as vagas existentes, far a alocao dos apartamentos e registrar o nome e o telefone da pessoa responsvel pela reserva, alm do nmero de pessoas e perodo da estadia. Na chegada dos hospedes no hotel, aps verificar a reserva, o funcionrio da recepo digitar os dados de cada hospede e passar o carto magntico na leitora para que o sistema registre qual o carto que est sendo entregue a um dado hospede. O hotel possui diversas unidades de atendimento aos hospedes. Eles podero consumir alimentos e bebidas no restaurante e no bar, na loja eles podero adquirir materiais como vestimentas e souvenires, no salo de jogos, piscina, e praa de esportes eles podero fazer emprstimos de materiais. Em cada unidade existir um microcomputador com seus perifricos normais e uma leitora de cartes magnticos atravs da qual ser feita e identificao do hospede e a validao das operaes. Por exemplo, no restaurante, o consumo de cada mesa ser registrado nos sistema pelos funcionrios. Aps a refeio, o hospede poder verificar na tela do micro a relao dos alimentos e bebidas consumidos e passar o seu carto na leitora para confirmar as despesas. Ao emprestar uma toalha no vestirio da piscina o hospede dever observar a descrio do material na tela do micro e passar o seu carto na leitora para confirmar a operao. No ato de devoluo do material emprestado ele passar novamente o carto para registrar essa operao. Os micros computadores das unidades tero, em princpio, independncia no processamento e armazenamento de dados, mas devero transmitir atravs da rede para um computador central todas as operaes de consumo e de emprstimos efetuadas pelos hospedes. Dessa forma no computador central, denominado servidor, ficaro registrados todos os dados para o acerto de contas na sada dos hospedes. Para o acerto de contas na sada, o carto magntico de cada hospede dever ser passado na leitora para o sistema recuperar todos os gastos do hospede, calcular o valor total a ser pago e emitir o relatrio de despesas. O funcionrio registrar no sistema o valor pago e a devoluo do carto.

31