Escolar Documentos
Profissional Documentos
Cultura Documentos
de Sistemas
Material Teórico
Especificação de projeto de software
Revisão Textual:
Profa. Ms. Luciene Oliveira da Costa Santos
Especificação de projeto de software
• Introdução
• Crise do Software
• Análise: o que é?
5
Unidade: Especificação de projeto de software
Contextualização
6
Introdução
Crise do Software
Explore
http://www.youtube.com/watch?v=EbTo14jSJ6Y
7
Unidade: Especificação de projeto de software
Análise: o que é?
O ser humano é dotado de uma capacidade interessante que é a de decidir. Decidir significa
definir o que deve ser feito diante de uma situação qualquer. Entretanto, nem sempre as decisões
que tomamos são as mais acertadas e, quando isso acontece, as consequências podem trazer
complicações extremas.
Quando falamos de análise, estamos nos referindo ao estudo de uma situação de modo
que tenhamos uma compreensão do problema antes que uma decisão seja tomada. Tal estudo
possibilitará que os riscos de algo dar errado, ou de a decisão ser inadequada, diminuam.
No contexto de análise de sistemas, podemos dizer que se refere ao estudo das necessidades
identificadas para o desenvolvimento de um sistema para que as expectativas de um usuário
sejam atendidas.
Análise estruturada de sistemas se refere ao conjunto de técnicas e/ou ferramentas que servem
como fundamento para desenvolvimento de modelos de sistemas. Os modelos apresentam as
informações inseridas nos sistemas e também o fluxo delas. São representados graficamente
para que seu entendimento seja simples. Além disso, deve procurar reduzir ao máximo as
redundâncias e prever o comportamento geral do sistema.
Algumas técnicas de análise estruturada de sistemas serão descritas a seguir.
Os DFD são constituídos de elementos básicos utilizados para se estabelecer certo padrão de
visualização de uma situação a ser analisada. Os elementos gráficos básicos de um DFD são:
8
Processos: os processos são representados por um círculo associado a um nome e descrevem
o que o sistema deverá fazer, ou seja, qual deverá ser o resultado de uma transformação de dados.
Fluxo de dados: serve para demonstrar como ocorre o fluxo de dados ou pacote de
informações entre os processos existentes no modelo. É simbolizado por uma seta que sai de
um processo (fluxo de saída), ou chega nele (fluxo de entrada). Além disso, há a possibilidade
de o fluxo ser de entrada e saída ao mesmo tempo (fluxo dialógico).
Imagine que você decida acessar a página da Internet de uma empresa que vende DVDs.
Começa a navegar nesse ambiente e encontra um produto que chama a sua atenção, desperta
seu interesse até que a compra seja inevitável.
Para que o pedido seja feito, um cadastro deve ser preenchido através de um formulário
disponibilizado no próprio site. Seus dados pessoais deverão ser inseridos por você para
que o processo seja continuado. A etapa seguinte será a seleção do DVD, podendo ainda
escolher outros, se desejar. Cumprida essa tarefa, você deve registrar o pedido, que será
armazenado em um banco de dados, para que a ordem de pagamento seja liberada.
9
Unidade: Especificação de projeto de software
Assim que o produto for pago, o departamento de vendas da empresa valida o processo
e solicita a entrega. Todo o status do pedido, ou seja, onde se encontra ou quando será
entregue, poderá ser acompanhado pela empresa ou por você, cliente da loja.
O processo descrito acima quando apresentado em forma de diagrama de fluxo de dados
permite melhor visualização e entendimento das ocorrências de cada etapa e de seu fluxo. A
figura 5 apresenta o diagrama de fluxo de dados da situação acima.
Para que um DFD represente de maneira adequada uma situação passível de análise, deverá
seguir regras básicas descritas abaixo:
• Os objetos inseridos na estrutura de um DFD devem, sem exceção, possuir uma
nomenclatura.
• Os fluxos de dados não podem aparecer “soltos” no modelo, ou seja, eles devem ser
transmitidos por um objeto e recebidos por outro.
• Os processos deverão possuir mais do que um fluxo de dados, podendo, no mínimo, ser
um de entrada e outro de saída ou dois de entrada.
• Os fluxos de dados devem ter início ou término em um processo.
• Redundâncias de objetos no modelo devem ser minimamente apresentadas ou eliminadas.
10
Um DER possui, basicamente, três classificações de objetos ou componentes. Os principais
componentes de um diagrama ER são:
Entidades: as entidades são elementos do mundo real em que se pretende armazenar
informações de interesse.
Figura 6: Entidades.
Figura 7: Atributos.
11
Unidade: Especificação de projeto de software
Figura 8: Relacionamentos.
Para que esse conceito fique mais bem definido e contribua para o entendimento mais preciso,
considere uma entidade Cliente e outra Dependente, conforme abaixo. Elas possuem ligações
entre si que possibilitam a visualização de quais são as ocorrências de uma entidade que estão
associadas à outra.
Desse modo, podemos observar que o cliente João possui dois dependentes cadastrados,
que são o Rivaldo e a Beatriz. Luís é dependente de Paulo, e Ricardo de Maria. O cliente José
não possui dependente.
Vamos agora considerar o exemplo da loja de DVDs do item Diagrama de Fluxo de Dados
apresentado anteriormente. Um modelo Entidade-Relacionamento, escrito da maneira mais
simples possível, dessa situação, poderia ser representado da seguinte maneira:
12
A quantidade de entidades associadas a um único relacionamento determina o grau de
relacionamento existente. Um grau de relacionamento pode ser: binário, quando duas entidades
estão associadas a um relacionamento; ternário, quando três entidades estão associadas a um
relacionamento; e-nário, quando mais de três entidades estão associadas a um relacionamento.
DD - Dicionário de Dados.
É uma técnica apresentada de maneira textual que complementa as definições dos modelos
gráficos elaborados para expressar o funcionamento de um sistema.
Busca exibir através de documentação a descrição detalhada de, por exemplo, tabelas,
identificando características específicas de campos, tipos de dados restrições de integridade,
dentre outros.
Verbete
Restrição de integridade são características atribuídas a determinados atributos de entidades,
visando garantir padrões de armazenamento de dados em um sistema gerenciador de banco de
dados (SGBD). Por exemplo: o atributo idade, em uma entidade cliente, deverá receber somente
valores inteiros e positivos; o atributo nome, na mesma entidade, não poderá receber um valor nulo
(vazio); o atributo CPF não poderá possui valores repetidos em seus registros etc.
Tabelas
Tabela Descrição
Cliente Tabela com informações sobre clientes da loja de DVDs.
Produto Tabela com informações dos produtos que a loja de DVDs comercializa.
Vendas Tabela com informações sobre localização e contato do departamento de vendas.
Tabela com informações sobre os produtos que foram comprados, bem como qual cliente
Pedido
comprou e em qual data e hora.
Entidade Cliente
Atributo Descrição Tipo Tamanho Domínio Formato Restrições
Identificação de um cliente
Deve ser um
Código específico do banco de Inteiro 8 - -
valor único
dados
Nome Nome completo do cliente String 25 - - -
13
Unidade: Especificação de projeto de software
Endereço contendo
Endereço logradouro, número, String 40 - - -
complemento e cep
Cidade de lotação do
Cidade String 15 - - -
cliente
UF Estado de lotação do cliente String 2 - - -
Número do telefone do
(99)
cliente, que pode ser
Telefone String 15 - 9999- -
comercial, celular ou
9999
residencial
Endereço de e-mail do
E-mail String 20 - - -
cliente
Entidade Produto
Atributo Descrição Tipo Tamanho Domínio Formato Restrições
Identificação de um
Deve ser um
Registro produto específico do Inteiro 8 - -
valor único
banco de dados
Descrição Nome dado ao produto String 4 - - -
Nome do fabricante do
Fabricante String 20 - - -
produto
Entidade Vendas
Atributo Descrição Tipo Tamanho Domínio Formato Restrições
Setor da empresa
Localização que abriga este String 20 - - -
departamento
Ramal Ramal do departamento String 4 - - -
Entidade Pedido
Atributo Descrição Tipo Tamanho Domínio Formato Restrições
Identificação de um
Tabela
Código cliente que fez uma Inteiro 8 - -
Cliente
compra
Identificação de um
Tabela
Registro produto comprado por Inteiro 8 - -
Produto
um cliente
Data e hora em que o Deve ser
DD-MM-
Data produto foi comprado Data - - uma data
AAAA
pelo cliente válida
Preço unitário do
Preço produto comprado Valor 6,2 - 9999,99 -
pelo cliente
14
À medida que o sistema estiver sendo desenvolvido, outras informações serão acrescentadas
ao dicionário de dados; porém, o mesmo padrão deverá ser obedecido. Desse modo, mesmo
que exista a necessidade de “no meio do caminho” substituir um desenvolvedor por determinada
razão, o seguinte terá plenas condições de entender o que foi feito e como deverá continuar,
sem acarretar prejuízos ao projeto.
15
Unidade: Especificação de projeto de software
Em síntese
A análise de projeto de software envolve um trabalho minucioso e detalhista, uma vez que
todo o desenvolvimento de um sistema dependerá das informações levantadas acerca de um
determinado problema sob o qual se deseja uma solução.
Quando utilizamos o termo especificação de projeto de software, estamos nos referindo a
formas de obtenção de informações relevantes que permitirão que os desenvolvedores construam
sistemas que atendam às necessidades dos futuros usuários. A especificação deve ser elaborada
de maneira clara, buscando sempre precisão na proposta.
Especificar um projeto de software exige detalhamento de uma situação através de diversas
técnicas e métodos, como por exemplo:
Levantamento de requisitos:
• de usuário: descrevem os elementos necessários para que os usuários do sistema possam
compreender com facilidade, já que não possuem detalhes técnicos envolvidos. Requisitos
funcionais: o sistema implementado em uma drogaria deve identificar medicamentos com
data de validade a expirar e possibilitar a listagem deles através de relatórios. Requisitos
não funcionais: o sistema deve ser compatível com navegadores x e y; o tempo de resposta
a uma consulta pelo usuário não deve ultrapassar 3 segundos;
• de sistema: descrevem os elementos necessários para atender as necessidades de usuários,
contando com detalhes técnicos que serão projetados pela equipe de desenvolvimento.
Indicam quais serão as funções do sistema, com quais outros sistemas haverá a interação,
hardware específico sob o qual irá funcionar etc.
16
Além dessas técnicas existem outras que podem ser utilizadas no desenvolvimento de um
projeto estruturado de sistemas, por exemplo: o Modelo de Caso de Uso e o Português
Estruturado.
Explore
O capítulo 4, Identificando Requisitos, do livro Engenharia de Software: teoria e prática, de Shari Lawren-
ce Pfleeger, apresenta um estudo sobre técnicas em um projeto de software. Vale a pena estudá-lo.
No momento em que esses procedimentos tiverem sido realizados e estiverem de acordo com
as exigências dos usuários, desenvolver o software será uma tarefa bem mais simples do que se
possa imaginar. Ao final dessa etapa, é esperado que os clientes tenham uma visão bem clara
e ampla do sistema como um todo, mesmo que não entendam perfeitamente detalhes técnicos
que serão utilizados no desenvolvimento do projeto.
17
Unidade: Especificação de projeto de software
Material Complementar
• SILBRSCHATZ, A. et. al. Sistema de banco de dados. Rio de Janeiro: Elsevier, 2006.
18
Referências
SILBRSCHATZ, A. et. al. Sistema de banco de dados. Rio de Janeiro: Elsevier, 2006.
19
Unidade: Especificação de projeto de software
Anotações
20
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvão Bueno, 868
CEP 01506-000
São Paulo SP Brasil
Tel: (55 11) 3385-3000