Você está na página 1de 26

UNIDADE 3

Anlise estruturada
Objetivos de aprendizagem

Reconhecer objetivos e caractersticas inerentes ao uso da modelagem estruturada. Fazer uso de conceitos e diagramas da modelagem estruturada. Compreender e reconhecer uma estrutura que se utilize da modelagem estruturada. Empreender o uso da modelagem estruturada.

Sees de estudo
Seo 1 Seo 2 Seo 3 Seo 4 Anlise estruturada Diagrama de Fluxo de Dados (DFD) Dicionrio de dados Modelagem de dados

Universidade do Sul de Santa Catarina

Para incio de estudo


Quando se inicia o processo de desenvolvimento de um software, so realizadas tarefas especficas que podem ser estruturadas dentro de um modelo de desenvolvimento (como voc estudou na primeira unidade da disciplina). No incio do processo tem-se a etapa de engenharia de requisitos (assunto estudado na segunda unidade), na qual voc confrontado com as reais necessidades de seu cliente. Ainda que voc esteja ansioso por comear o processo de desenvolvimento e efetivamente iniciar a etapa de codificao, a etapa crucial do processo ainda est por vir: o projeto de desenvolvimento de software. O projeto est contido na etapa de desenvolvimento do software, e nela que voc vai desenhar o modelo da soluo que deve resolver as necessidades apontadas no levantamento de requisitos. Existem diferentes metodologias para cumprir essa etapa, mas as mais conhecidas so a anlise estruturada e a anlise orientada a objetos. Na anlise estruturada, o desenvolvimento do sistema voltado para as funes (processos) que ele deve realizar. Nesta unidade, voc conhecer as notaes e caractersticas especficas utilizadas em uma modelagem estruturada e que so fundamentais em sua documentao.

Seo 1 Anlise estruturada


A anlise estruturada foi desenvolvida nos anos 1970 por Gane, Sarson e De Marco. A tcnica baseada na utilizao de uma linguagem grfica para construir modelos de um sistema, incorporando tambm conceitos relacionados s estruturas de dados.
68

Metodologias e Projetos de Software

Yourdon (1992) discorre sobre as caractersticas da anlise estruturada: Nesta tcnica, preciso ter em mente que todo o desenvolvimento do sistema voltado para as funes que o sistema deve realizar. O que so essas funes? Imagine o sistema de uma videolocadora. Nele voc tem cadastro de clientes, cadastro de DVDs, relatrio de clientes da locadora, entre outras funes que o sistema deve executar. As funes utilizam e produzem informaes para o ambiente (na funo cadastro do DVD, o atendente faz a entrada de dados, digitando informaes sobre o DVD, como nome do filme, dos atores, do tipo de filme etc.). Essas informaes so repassadas s entidades externas (que pode ser o cliente ou o atendente da locadora) por meio de fluxos de dados ou armazenadas em depsitos de dados (so os depsitos que vo armazenar em seu HD as informaes do cliente, dos DVDs etc.). Retome o exerccio da Clnica Bem-Estar, apresentado na unidade anterior.

Empresa: Clnica Bem-Estar


1) Funo: fomos contratados para analisar seu processo atual e verificar como expandir suas operaes e melhorar seu nvel de servio. Histrico: A clnica, fundada h 5 anos, atua no atendimento clnico peditrico. A clnica possui 34 mdicos cadastrados em diferentes especialidades como: cardiologia, clnica geral, dermatologia etc. Todos os mdicos utilizam internet e e-mail. A faixa etria predominante de 30, 35, 40, 42, 44 e 48 anos. Todos os mdicos so aptos do ponto de vista fsico. O paciente pode ser atendido de forma particular ou por convnios. Os convnios atendidos so o Bruxtr, Vpfzm e UIOlk. Cada mdico faz 3 plantes semanais de 4 horas seguidas; as consultas possuem um intervalo de 30 minutos. Existe a possibilidade de a consulta ser de retorno, nesse caso so apenas 15 minutos.

Unidade 3

69

Universidade do Sul de Santa Catarina

A clnica 24 horas. Cada mdico possui uma agenda preta onde so marcadas as consultas. Na marcao da consulta colocado o nome do paciente, horrio e convnio. Trabalham h 3 anos na clnica com planilhas Excel. A clnica possui 2 atendentes que so responsveis por preencher o cadastro inicial do paciente, que contm nome, endereo, telefone, data de nascimento, convnio. O mdico, ao atender o paciente, preenche sua ficha manualmente, informando peso, altura, idade, motivo da consulta, queixa principal, doenas anteriores, diagnstico, prescrio. A prescrio pode ser a solicitao de exames ou medicamentos com posologia. A clnica possui de 700 a 800 fichas, sendo que cerca de 600 so de atendimento por convnio. O gerente da clnica est ansioso, pois no consegue controlar questes relacionadas ao nmero de pacientes atendidos por convnio e particular, mdicos mais procurados e picos de movimento. Volume de atendimentos: 56 por dia. Outra questo de interesse manter um controle de laboratrios conveniados, pois o mdico poderia indicar o laboratrio j no momento da prescrio.

Se voc fosse listar alguns dos requisitos funcionais, certamente listaria:

Cadastro de mdicos que possibilite inserir, alterar e excluir os dados dos mdicos da clnica. Cadastro de pacientes que permita inserir, alterar e excluir os dados dos pacientes da clnica. Agenda mdica onde deve ser possvel o agendamento, consulta e excluso do agendamento de consulta de um paciente, com um determinado mdico, em um determinado horrio. Ficha mdica que permita o lanamento e consulta de dados sobre a consulta do paciente.

70

Metodologias e Projetos de Software

Emisso de relatrio estatstico sobre o atendimento de convnios. Emisso de relatrio estatstico sobre o atendimento por mdicos. Emisso de relatrio estatstico sobre o nmero de atendimentos durante o ano. Cadastro de laboratrios conveniados clnica.

Se fssemos listar os requisitos no funcionais:

O sistema deve operar de forma confivel no lanamento de todos os dados de pacientes e consultas e sua gravao. O sistema deve proteger o acesso s informaes histricas da ficha do paciente, sendo que seu acesso deve ser exclusivo para a equipe mdica O sistema deve ser desenvolvido sobre uma plataforma open source permitindo portabilidade. O sistema deve seguir requisitos de usabilidade para as interfaces, sendo de fcil aprendizado, pois a rotatividade das atendentes grande.

A partir da lista de requisitos, voc pode iniciar o processo de modelagem. Para tanto, necessrio entender alguns conceitos bsicos. A notao da anlise estruturada composta pelos seguintes elementos:

Diagrama de Fluxo de Dados (DFD); dicionrio de dados; especificao dos processos; modelagem de dados (ER).

Nas prximas sees, voc conhecer detalhadamente cada um desses elementos.

Unidade 3

71

Universidade do Sul de Santa Catarina

Seo 2 Diagrama de Fluxo de Dados (DFD)


Segundo Gane (1983), um Diagrama de Fluxo de Dados (DFD) uma tcnica grfica de representao que permite explicitar os fluxos de informao e as transformaes que so aplicadas, medida que os dados se deslocam da entrada em direo sada.
O DFD permite particionar o sistema, demonstrando seus componentes ativos (como usurios, equipamentos, arquivos) e o interfaceamento de dados que ocorre entre eles.

Para realizar um DFD, so necessrios alguns smbolos que o compem. Conhea cada um:

A bolha ou crculo que representa o processo. O processo um executor de tarefas funes, atividades. Representa tarefas de processamento do sistema. Quando voc colocar nome em um processo, procure utilizar um nome que descreva o que o processo faz. Um exemplo de processo pode ser: Cadastrar Paciente, Cadastrar Mdico, Agendar Consulta. O retngulo representa entidades externas (EE), que representa origens e destinos dos dados que percorrem o sistema. Quando voc pensar em entidade externa, pense que so criadores e/ou consumidores de dados/ informao. Uma EE pode ser uma pessoa, organizao ou outros sistemas que interagem com o sistema para envio e/ou recebimento de informaes. Pode representar a interface entre o sistema e o mundo externo. A EE pode ser ento, no caso da Clnica Mdica, o Paciente, o Atendente, o Mdico. Se na clnica houver um laboratrio que de alguma maneira receba dados da clnica por meio do sistema, ento, neste caso, o Laboratrio pode ser considerado uma EE. A caixa aberta, ou linha dupla preenchida com um rtulo, representa o depsito de dados. Na verdade, so os locais onde ocorre o armazenamento de dados, um repositrio de dados (temporrios ou permanentes). Todas as informaes do paciente como nome, endereo, telefone sero armazenados em seu HD em um depsito de dados. Neste exemplo, um nome adequado para o depsito seria Paciente.

Processo

Entidades externas

Depsito de dados

72

Metodologias e Projetos de Software

O fluxo de dados expresso por setas rotuladas que interligam os processos e que permitem indicar o caminho seguido pelos dados. O fluxo de dados realiza a comunicao entre os processos, os depsitos e as entidades externas. O fluxo de dados no significa sequncia de um mdulo de programa para outro. Mas a seta indica o caminho pelo qual uma ou mais estruturas de dados devero passar. Quando estamos realizando o processo Cadastrar Paciente, deve existir um fluxo de dados, em que so repassadas do paciente ao processo Cadastrar Paciente as suas informaes cadastrais (nome, endereo etc.).

Fluxo de dados

Quadro 3.1 Smbolos que compem o DFD Fonte: Elaborao da autora (2008).

Acompanhe na figura 3.1, a seguir, o processo Cadastrar Paciente.

Figura 3.1 DFD (processo Cadastrar Paciente) Fonte: Elaborao da autora (2008).

So possveis perguntas que voc pode realizar: Por que Cadastrar Paciente (crculo) est representado como um processo? Resposta: Ele um processo porque representa uma execuo, uma funo que deve ser executada no sistema para que o usurio alcance seu objetivo, que fazer o cadastro do paciente para a clnica. Quem so as entidades externas (retngulo) para esse processo?

Unidade 3

73

Universidade do Sul de Santa Catarina

Resposta: So todos os consumidores e criadores das informaes que esse processo vai gerar. Observe que, para cadastrar um paciente, necessrio que o paciente informe seus dados. Alm dele, temos a atendente que vai inserir os dados do paciente no sistema. Assim, esse processo tem no mnimo duas entidades externas: Paciente e Atendente. Por que Dados Paciente um depsito de dados no diagrama? Resposta: Todas as informaes do paciente devem ser armazenadas no sistema (se no fosse assim, o paciente teria de informar seus dados a cada consulta na clnica). Para representar a armazenagem dos dados, a notao usada o depsito de dados. Portanto, nesse processo (figura 3.1) os dados do paciente representam um depsito de dados em que as informaes do paciente sero guardadas pelo sistema na clnica. Seria assim: a entidade externa informa seus dados para o processo Cadastrar Paciente (nome, endereo e telefone), a Atendente (entidade externa), por sua vez, informa os dados ao processo Cadastrar Paciente (por meio do fluxo de dados). Aps alimentarem o processo, essas informaes so transformadas e os dados do paciente so armazenados no depsito de Dados Paciente. Observe que na figura 3.1 h um nmero 1 no processo Cadastrar Paciente e um nmero 1 no depsito de Dados Paciente. Esses nmeros so utilizados apenas para organizar o DFD para facilitar sua leitura. Na verdade, so sequenciais e sua utilizao opcional. Na documentao, voc pode se referir ao processo por seu nmero no sendo necessrio escrever todo o nome do processo. Quando se elabora um DFD, faz-se necessria a observao de algumas diretrizes.

74

Metodologias e Projetos de Software

Lembre-se de que, quando usamos fluxos de dados, estamos representando o deslocamento de informaes. Isso pode acontecer somente entre: um processo e uma entidade externa; dois processos; um processo e um depsito de dados.

Quando voc nomear o processo, procure utilizar verbos no infinitivo. As entidades externas, os fluxos de dados e os depsitos devem ser identificados por substantivos. Existe um fator muito importante em um DFD: ele no um fluxograma, portanto ele jamais deve representar a sequncia em que os processos so ativados. O DFD que apresentado na figura 3.2 bastante genrico e pode deixar margens a dvidas. Quando isso acontece, possvel explodir o DFD em nveis de profundidade diferentes. A deciso do nmero de nveis necessrios depende da complexidade do projeto: quanto maior o nmero de nveis, melhor a descrio do comportamento do sistema.
Mas como ocorre essa exploso em nveis?

Os nveis podem ser descritos como: a) Nvel 0 (Topo) tambm chamado de Diagrama de Contexto. formado por um nico processo que representa o sistema inteiro.

Unidade 3

75

Universidade do Sul de Santa Catarina

Figura 3.2 DFD Nvel 0 Fonte: Elaborao da autora (2008).

b) Nvel n (Folhas): neste caso, os processos so primitivos, sua descrio fica em um nvel alto, pois as funes so simples, com poucas E/S. Nvel 1 a n-1 (Intermedirios): neste caso, os processos so decompostos em nveis. O n+i a decomposio/particionamento de processos, fluxos e depsitos do nvel i. Em outras palavras: voc pode decompor o DFD de forma granular, chegando a um detalhamento minucioso. Veja o exemplo do DFD Agendar Consulta. Ele pode ser apresentado em um nvel apenas:

Figura 3.3 Agenda Consulta Nvel 1 Fonte: Elaborao da autora (2008).

76

Metodologias e Projetos de Software

Mas, se voc quiser detalhar esses processos, o DFD oferece mais informaes para o desenvolvedor:

Figura 3.4 DFD Agendar Consulta Fonte: Elaborao da autora (2008).

A figura 3.4 um exemplo da exploso do DFD Agendar Consulta. Agora j possvel perceber que existem pelo menos quatro subprocessos envolvidos no agendamento da consulta:

solicitar agendamento (disparado pela entidade externa EE paciente). verificar cadastro paciente (onde ser verificada a existncia ou no de cadastro do paciente na clnica mdica).

Unidade 3

77

Universidade do Sul de Santa Catarina

verificar agenda (nela ser verificado o horrio solicitado, o mdico e suas disponibilidades para a consulta). realizar agendamento (processo que efetiva a marcao da consulta, armazenando a informao no depsito de dados).

Dicas para a construo de DFDs


Os DFDs so construdos a partir da lista de funcionalidades propostas para o sistema. a) Escolha nomes significativos para os processos, os fluxos, os depsitos e as entidades externas. Os nomes devem ser facilmente identificados, principalmente pelo vocabulrio do usurio. b) Numere os processos. Em um sistema grande, a numerao pode ser muito til. c) Sempre tenha em mente a facilidade de entendimento do DFD. Se o DFD estiver confuso, refaa-o at que lhe parea suficientemente claro.

A figura 3.5 apresenta um DFD que representa os processos a serem realizados para o controle e faturamento de um sistema de pedidos. Observe que nesse caso temos trs processos envolvidos para a realizao do pedido: dois depsitos de dados (Faturas e Pedidos) e apenas uma entidade externa (Clientes). A comunicao entre processos evolui pela passagem de dados por meio dos fluxos de dados.

78

Metodologias e Projetos de Software

Figura 3.5 DFD Controle de Pedidos Fonte: Yourdon (1992).

Que tal acompanhar mais um exerccio?

Observe a seguinte situao: voc recebe a misso de desenvolver a modelagem estruturada de um sistema o qual se pretende o desenvolvimento de um controle de pedidos para uma floricultura atacadista. A empresa em questo faz a revenda de flores e folhagens para floriculturas da cidade no tendo venda a varejo. Os requisitos funcionais da floricultura so:

manter o cadastro de seus produtos venda (a venda exclusivamente de flores e folhagens); manter o cadastro de seus clientes; manter o seu controle de pedidos; e controlar o pagamento de pedidos realizado por seus clientes.
79

Unidade 3

Universidade do Sul de Santa Catarina

O requisito no funcional da floricultura :

a manuteno da simplicidade do cdigo permitindo a facilidade na manuteno.

Cliente Gerente Gerenciar Floricultura

Atendente

Figura 3.6 DFD Nvel 0 Sistema Floricultura Fonte: Elaborao da autora (2008).

Gerente Atendente
Dados Produto Dados Pedido

Cliente

Dados Cliente / Produto

Gerenciar Cadastros
Dados Cliente

Dados Cliente / Produto Dados Produto

Gerenciar Pedidos
Dados Pedido Dados Produto

Dados Cliente

Dados Produto

Dados Pedido

Figura 3.7 DFD Nvel 01 Sistema Floricultura Fonte: Elaborao da autora (2008).

80

Metodologias e Projetos de Software

MSG Produto Indisponvel

Atendente

Cliente

nome Cliente

MSg Cliente Inexistente

Verificar Existncia Cliente

Dados do Cliente

Cadastrar Dados Cliente

Nome, Endereo, telefone, CPF, etc

Endereo, telefone, cpf, etc 2 Dados do Produto Imprime Pedido Entrega Pedido, produto Pedido, produto

Solicitar Produto

Dados do Produto Cadastrar Produto

Verifica existncia do Produto

cdigo, descrio, preo, quantidade, custo Saldo atual produto Preenche dados do Pedido

Dados do Pedido Detalhes do Pedido

Dados do Pedido

Figura 3.8 DFD Nvel 2 Sistema Floricultura Fonte: Elaborao da autora (2008).

Nome Cliente, tipo produto, quantidade

Unidade 3

81

Universidade do Sul de Santa Catarina

Seo 3 Dicionrio de dados


O dicionrio de dados uma descrio precisa de todas as informaes presentes no DFD para que usurios e analistas possam compreender todo o modelo de forma simplificada. Quando se constri um DFD, os componentes so identificados por um rtulo nico. Apenas o rtulo apresentado no DFD no define a estrutura dos dados que representaro a informao. Essa definio feita no dicionrio de dados.
Mas o que deve ser descrito no depsito de dados?

Pode-se definir o significado de depsitos, a descrio dos fluxos de dados, a estrutura dos arquivos e a especificao lgica dos processos. As notaes mais diversas podem ser utilizadas para definir as estruturas dos dados, sendo que uma proposta de notao possvel, de acordo com Mazzola (2011), inclui as seguintes informaes: nome o identificador principal do item de dados, do depsito de dados ou de uma entidade externa; e, eventualmente, outros nomes utilizados para o mesmo item; especificao numrico, alfanumrico, data, inteiro, tamanho mximo, formatao, domnio; utilizao em que contexto (onde e como) o item de informao utilizado; descrio uma notao que permita explicitar o contedo do item; informaes complementares a respeito do item de dados, como valores iniciais, restries etc.
82

Metodologias e Projetos de Software

Observe o exemplo de um dicionrio de dados para o depsito de dados Paciente (figura 3.9).

Depsito
Nome do depsito: Paciente. Especificao: banco de dados cadastrais do paciente, volume aproximado 3500 registros. Descrio: o depsito de dados Paciente deve armazenar todos os dados cadastrais do paciente da clnica tendo como chave o nome do paciente. Utilizao: o depsito ser usado no processo Cadastrar Paciente, Agendar Consulta. Atributos do depsito de Dados Paciente: Nome do atributo: Nome_Paciente. Especificao: campo alfanumrico, tamanho 50, chave primria do depsito de dados. Descrio: nome do paciente. Nome do atributo: Endereo_Paciente. Especificao: campo alfanumrico, tamanho 60 caracteres. Descrio: endereo do paciente. Nome do atributo: Telefone_Paciente. Especificao: campo alfanumrico, tamanho 12. Descrio: telefone do paciente. Nome do atributo: Sexo_Paciente Especificao: campo alfanumrico, tamanho 1, assume os valores F ou M. Descrio: sexo do paciente. Figura 3.9 Exemplo de dicionrio de dados para o depsito de dados do Paciente Fonte: Elaborao da autora (2008).

Seo 4 Modelagem de dados


A modelagem de dados tambm conhecida como diagrama ER (Entidade-Relacionamento). Essa tcnica foi desenvolvida originalmente para dar suporte ao projeto de bancos de dados (CHEN, 1990).
O modelo ER uma tcnica utilizada para representar os dados a serem armazenados em um sistema.

Unidade 3

83

Universidade do Sul de Santa Catarina

A simbologia utilizada em um diagrama ER composta pelos seguintes elementos:


Uma entidade representa um objeto concreto ou abstrato em que sero armazenadas as informaes. Uma entidade pode ser uma pessoa, uma instituio, elementos do domnio da aplicao (Paciente, Agenda). Quando voc cria uma entidade, ela composta por um conjunto de instncias. Cada instncia uma nica ocorrncia de uma determinada entidade. Em um depsito Paciente, Joo Dirceu uma instncia de Paciente. Os atributos so utilizados para descreverem caractersticas ou propriedades elementares de entidades e relacionamentos. Os atributos representam o contedo de uma entidade. Pensando no exemplo da clnica, alguns atributos so NomePaciente, TelefonePaciente, SexoPaciente etc. Um relacionamento uma abstrao de uma associao entre duas ou mais entidades. Pode haver mais de um relacionamento entre objetos. Um exemplo de relacionamento ocorre quando pensamos que o paciente Almir (uma instncia da entidade Paciente) possui n agendamentos (na entidade Agenda).

Entidade

Atributo

Relacionamento

Quadro 3.2 Simbologia utilizada em um diagrama ER Fonte: Elaborao da autora (2008).

Imagine o sistema da clnica. Quais entidades voc consegue identificar? Com certeza necessrio armazenar os dados do Paciente, os dados e as informaes do Mdico, os dados para o agendamento da consulta, o Agenda_Consultas e os dados da Consulta (informaes do mdico durante a consulta). Assim voc identificou grandes grupos de informao que necessariamente precisam ser armazenados para uso futuro na forma de consultas e relatrios (que so processos que atuaro sobre os dados). A entidade Paciente teria os seguintes atributos.

84

Metodologias e Projetos de Software

Nome da entidade: Paciente Chave identificadora: Nome Paciente Atributos da entidade: CPF Telefone Endereo Convnio Data de nascimento

Exemplos de instncias do objeto Paciente seriam: Nome: Paulo Lopes Telefone: 88890899 CPF: 483.432.546-65 Endereo: Rua do Pntano 120 Nome: Joana da Silva Telefone: 8887777 CPF: 488.444.449-35 Endereo: Rua do Rio 26

Na figura a seguir, voc pode ver um recorte de um diagrama ER. Observe que a relao entre a entidade paciente que realiza um agendamento na clnica.

Paciente
Figura 3.10 Recorte de um diagrama ER Fonte: Elaborao da autora (2008).

Realiza

Agenda

Se voc pensar na entidade Paciente existente na clnica, pode representar seus atributos por meio da notao grfica. O atributo Nome sublinhado porque considerado que ele uma chave nessa entidade. Cada um dos crculos representa um atributo.

Unidade 3

85

Universidade do Sul de Santa Catarina

Paciente

NomePaciente

CPF

DataNascimento

Convnio

Figura 3.11 Notao grfica entidade Paciente Fonte: Elaborao da autora (2008).

O que cardinalidade?

Observe os exemplos a seguir. So exemplos de relacionamento, porm sem a indicao do nmero de relacionamentos existentes entre eles.
Cliente Mdico Pedidos Cliente Aloca Atende Contm Tem Filmes Pacientes Produtos Carto

Figura 3.12 Exemplos de relacionamento Fonte: Elaborao da autora (2008).

86

Metodologias e Projetos de Software

Observe na figura 3.12 as entidades e o relacionamento entre elas:

Cliente (entidade que armazena os dados de um cliente de videolocadora) Aloca Filme (entidade que armazena os dados de filmes na locadora). Mdico (entidade que armazena os dados dos mdicos na clnica) Atende Paciente (entidade que armazena os dados de pacientes na clnica). Pedidos (entidade que armazena os dados de um pedido de compras) Contm Produtos (entidade que armazena os dados dos produtos). Cliente (entidade que armazena os dados de um cliente de um banco) Tem Carto (entidade que armazena os dados da conta e do carto que o cliente possui do banco).

Quando voc identifica quantas vezes cada instncia de uma entidade pode participar do relacionamento, voc est determinando a classe desse relacionamento. A cardinalidade indica o nmero mximo e mnimo de associaes possveis em um relacionamento. Voc pode ter classes de: a) Cardinalidade 1 para 1 (1:1) Quando a cardinalidade de 1 para 1, significa que cada instncia da primeira entidade pode ser relacionada com exatamente uma instncia da segunda entidade. Ou seja, cada cliente tem um carto, como no exemplo a seguir, em que Ana Lopes tem um, e apenas um carto, cujo nmero 23456-7, e o carto tem somente 1 cliente, a Ana Lopes.

Unidade 3

87

Universidade do Sul de Santa Catarina

Classe 1:1 Tem

Cliente Ana Lopes Jean Bondex Carlos Xion

Carto 234567-9 237987-9 335567-9

Figura 3.13 Cardinalidade 1 para 1 (1:1) Fonte: Elaborao da autora (2008).

b) Cardinalidade 1 para N (1:N) Se a cardinalidade for 1:N, tem-se ento uma situao como a ilustrao a seguir, na qual um cliente pode ter de zero (nenhuma) a n DVDs alocados. A instncia Joo tem trs DVDs (instncias) alocados.
Classe 1:N Aloca 1 (0,n)

Cliente

DVD

Joo Augusto

Tubaro II Madagascar Bob Esponja

Figura 3.14 Cardinalidade 1 para N (1:N) Fonte: Elaborao da autora (2008).

c) Cardinalidade N para N (N:N) A situao N para N representa uma situao de relacionamento de muitos para muitos. Nesse caso, uma instncia da primeira entidade se relaciona com uma ou mais instncias da segunda entidade, que tambm estabelece relacionamento com uma ou mais instncias da primeira entidade. No exemplo a seguir, o funcionrio Joo Augusto pode estar relacionado a diversos projetos. O projeto Folha de pagamento tem alocados vrios funcionrios.
88

Metodologias e Projetos de Software

Classe N:N Aloca N N

Funcionrios

Projetos Folha de Pagamento Estoque

Joo Augusto

Carlos Xim CRM Contas a Pagar

Figura 3.15 Cardinalidade N para N (N:N) Fonte: Elaborao da autora (2008).

Observe algumas dicas importantes. Identifique, primeiro, quais so as entidades do sistema. Identifique, ento, os atributos para cada entidade. Determine as chaves das entidades: lembre-se de que a chave deve ser um atributo que distinga a instncia de forma nica em relao s outras instncias da entidade: Um exemplo disso o registro do CPF. Cada cidado possui o seu, nico, no existe nenhum outro brasileiro que possua o mesmo nmero. Portanto, o CPF uma excelente chave. Identifique os relacionamentos entre as entidades. Por fim, determine a cardinalidade. Agora pense no caso da Clnica Bem-Estar visto na unidade 2, exerccio das atividades de autoavaliao. Vamos identificar pelos menos trs entidades: Paciente; Mdico; Agenda_Consultas.
89

Unidade 3

Universidade do Sul de Santa Catarina

Neste caso, o relacionamento seria:


Paciente (1) (0,n) Agenda Consulta (0,n) Mdico (1)

Figura 3.16 Exemplo de cardinalidade Clnica Bem-Estar Fonte: Elaborao da autora (2008).

Um paciente pode ter nenhuma, uma ou vrias consultas agendadas. Mas para cada consulta s haver um paciente e haver relacionado um mdico, mas um mdico pode ter vrias consultas agendadas. Agora, para praticar os conhecimentos conquistados nesta unidade, realize as atividades propostas a seguir.

Sntese
Nesta unidade, voc estudou os principais conceitos adotados nessa metodologia. Durante o estudo, o uso das ferramentas como o DFD, o dicionrio de dados, a descrio do processo e o diagrama ER foi abordado, evidenciando sua importncia na concepo do modelo previsto para a soluo do problema do cliente. O uso do DFD torna clara equipe de projeto e ao usurio a forma como as informaes transitaro nos futuros processos e a transformao sofrida durante sua evoluo. Foi possvel tambm abordar a importncia da normalizao, evitando redundncias na futura base de dados do sistema. A anlise estruturada foi um movimento inicial do uso de uma metodologia de projeto que permitisse documentar o futuro projeto de forma clara e consistente. A evoluo, no entanto, era inevitvel.

90

Metodologias e Projetos de Software

Atividades de autoavaliao
Leia com ateno os enunciados e, aps, realize as questes propostas. 1) Relacione os conceitos a seguir, observando que uma mesma opo pode se repetir. A. Diagrama de fluxo de dados ( ) Notao utilizada para descrever o contedo e significado de fluxos, entidades externas, processos e depsitos de dados. Notao que permite representar um processo em um DFD. Utilizado para representar o cliente em um DFD. Utilizado para representar um repositrio de dados em um DFD. Permite descrever os fluxos de informao e as transformaes sofridas pelos dados durante a execuo do processo. Utilizado para representar os dados que sero inseridos no processo em um DFD. Utilizado para representar em um DFD uma empresa que participa de alguma maneira no processo, por exemplo, uma instituio bancria em um processo de contas a receber.

B. Dicionrio de dados C. Descrio dos processos D. Fluxo de dados E. Fluxo de dados

( ) ( ) ( ) ( )

F. Depsito de dados

( )

G. Processo

( )

Unidade 3

91

Universidade do Sul de Santa Catarina

2) Defina a cardinalidade e as entidades existentes para as situaes propostas a seguir. a) Um professor leciona vrias disciplinas em sua universidade. b) A universidade emprega vrios funcionrios. c) Os funcionrios so lotados em um departamento. d) Um aluno pode estar matriculado em nenhuma ou vrias disciplinas e uma disciplina pode ter vrios alunos nela matriculados. Exemplo de resoluo: um equipamento de audiovisual alocado a um professor. Equipamento audiovisual Professor (0,1) (0,1)

Saiba mais
Para conhecer um pouco mais sobre a anlise estruturada, voc deve dar uma olhadinha nos seguintes livros: DEMARCO, Tom. Anlise estruturada e especificao de sistema. Rio de Janeiro: Campus, 1989. YOURDON, Edward. Anlise estruturada moderna. Rio de Janeiro: Campus, 1992.

92