PROJETO
ESTRUTURADO
Prof° Mozart de Melo Alves Jr.
EMENTA


Metodologia de Desenvolvimento de Sistemas.
Análise da Situação Atual e dos Requisitos do
Sistema. Ciclo de Vida de Sistemas. Análise
Essencial de Sistemas. Diagrama de Fluxo de
Dados. Dicionário de Dados. Descrição de
Funções Primitivas. Estudo de Casos com a
aplicação da Análise Essencial de Sistemas.
caracterização e aplicação de metodologias e
ferramentas de modelagem de sistemas
orientados a objetos - UML
O PAPEL DE UM ANALISTA


Ser o elo entre o usuário e o computador
Deverá entender e avaliar as
necessidades e expectativas de cada
usuário, a fim de que estas sejam
organizadas e especificadas segundo
uma formalidade técnica.
ADMINISTRADOR
(Respostas sempre e para ontem, geralmente é o dono)
Analista de Sistema
Usuário
(Dinamizar o Serviço)
tem influência na direta
derruba ou ajuda o sistema
Pessoal Técnico
(Performance Plataforma)
elo técnico entre o analista
e a empresa
O REQUISÍTOS DE UM
ANALISTA








Iniciativa
Criatividade
Concentração
Persuasão
Autoconfiança
Ação conciliadora
Espírito de Grupo
Sensibilidade







Persistência
Determinação
Flexibilidade
Percepção
Clareza de
Raciocínio
Simplicidade
Comunicativo
A Maior desvantagem
em estabelecer uma
lista de requisitos, é
que jamais encontrase alguém que venha
a possuir todos eles.
OBSERVAR ALGUMAS DIRETRIZES







Procure ser aceito profissionalmente, do nível mais
alto ao mais baixo da empresa.
Tente entender o que o cliente “Quer Dizer” e não o
que “Você Pensa” que ele quer dizer.
Escute muito primeiro, fale muito pouco depois
(desenvolva grandes orelhas e boca pequena)
Esteja sempre familiarizado com os últimos
progressos da tecnologia de informação e
compreenda como aplicá-los.
Seja capaz de explicar conceitos complexos em
termos simplificados fale a linguagem da empresa.
Conheça a área de negocio, para a qual
desenvolverá sistemas.
Analise sempre a relação custo (Benefício, Utilizando
alternativas viáveis).
Sistemas de Informações

A necessidade é a mãe das invenções

Em conseqüência do crescimento da
importância da informação, surgiu a
necessidade de gerenciar informações de uma
forma adequada e eficiente e, desta
necessidade, surgiram os denominados
sistemas de informações.
Sistemas de Informações



Um SI é uma combinação de pessoas, dados,
processos, interfaces, redes de comunicação e
tecnologia que interagem com o objetivo de dar
suporte e melhorar o processo de negócio de
uma organização com relação às informações.
Gerando Vantagens do ponto de vista
competitivo.
Objetivo principal e final da construção de um
SI: adição de valor – Aumentando a
produtividade ,
Sistemas de Software


Um dos componentes de um SI é denominado
sistema de software.
Compreende os módulos funcionais
computadorizados que interagem entre si para
proporcionar a automatização de diversas
tarefas.
Modelagem de sistemas

Característica intrínseca do desenvolvimento
de sistemas de software: complexidade de
desenvolvimento.
Sistemas de Software

Uma analogia...
Casa de
Cachorro
Casa
Aumento da complexidade
Arranha-Ceús
Complexidade


Na construção de sistemas de software,
assim como na construção de sistemas
habitacionais, também há uma gradação
de complexidade.
A construção desses sistemas necessita de
um planejamento inicial.
Modelos


De uma perspectiva mais ampla, um
modelo pode ser visto como uma
representação idealizada de um sistema a
ser construído.
Maquetes de edifícios e de aviões e
plantas de circuitos eletrônicos
são apenas alguns exemplos
de modelos.
Razões para construção
de modelos




Gerenciamento da complexidade inerente
ao desenvolvimento de software (pode
haver modelos de um mesmo sistema,
cada modelo descrevendo uma
perspectiva do sistema a ser construído).
Comunicação entre as pessoas envolvidas.
Redução dos custos no desenvolvimento(
é muito mais fácil destruir uma maquete
do que uma parede).
Predição do comportamento futuro do
sistema(laboratório).
Diagramas



No contexto de desenvolvimento de
software, correspondem a desenhos
gráficos que seguem algum padrão lógico.
Esses desenhos são normalmente
denominados diagramas.
Um diagrama é uma apresentação de uma
coleção de elementos gráficos que
possuem um significado predefinido.
Diagramas



Diagramas fornecem uma representação concisa
do sistema. “uma figura vale por mil
palavras”.
No entanto, modelos também são compostos de
informações textuais.
Dado um modelo de uma das perspectivas de
um sistema, diz-se que o seu diagrama,
juntamente com a informação textual associada,
formam a documentação deste modelo.
Modelagem de Software
A modelagem de sistemas de software
consiste na utilização de notações gráficas
e textuais com o objetivo de construir modelos
que representam as partes essenciais de um
sistema, considerando-se diversas perspectivas
diferentes e complementares
O Processo de
Desenvolvimento
de Software
Sendo um sociólogo, constatei que o
desenvolvimento de software é um processo
social altamente cooperativo.
Jorg Strubing, 1991
“Software is hard…”




Porcentagem de projetos que terminam
dentro do prazo estimado: 10%
Porcentagem de projetos que são
descontinuados antes de chegarem ao
fim: 25%
Porcentagem de projetos acima do custo
esperado: 60%
Atraso médio nos projetos: um ano.
Chaos Report (1994)
“Software is hard…”





Software pago mas não entregue: 29.7%
Software que pode ser usado quando
entregue: 2%
Software entregue mas nunca usado:
47%
Software usado mas posteriormente
modificado ou abandonado: 19%
Software que podia ser usado após feitas
mudanças: 3%
GAO Survey (1992)
Processo de Desenvolvimento


Compreende as atividades necessárias
para definir, desenvolver, testar e manter
um produto (sistema) de software.
Tentativas de lidar com a complexidade e
de minimizar os problemas envolvidos no
desenvolvimento de software.
Objetivos de um Processo de
Desenvolvimento




Definir quais as atividades a serem
executadas ao longo do projeto;
Quando, como e por quem tais atividades
serão executadas;
Prover pontos de controle para verificar o
andamento do desenvolvimento;
Padronizar a forma de desenvolver
software em uma organização.
Atividades típicas






Levantamento de requisitos
Análise de requisitos
Projeto
Implementação
Testes
Implantação
Participantes do processo







Gerentes de projeto
Analistas
Projetistas
Arquitetos de software
Programadores
Clientes
Avaliadores de
qualidade
Participantes do usuário

A participação do usuário é importante.
Modelos de ciclo de vida
Modelo de Ciclo de Vida


Um ciclo de vida corresponde a um
encadeamento específico das fases para
construção de um sistema.
Dois modelos de ciclo de vida:


modelo em cascata
modelo iterativo e incremental.
Modelo de Ciclo de Vida em
Cascata

Tendência na progressão seqüencial
entre uma fase e a seguinte.
Modelo de Ciclo de Vida em
Cascata


Projetos reais raramente seguem um
fluxo seqüencial.
Assume que é possível declarar
detalhadamente todos os requisitos antes
do início das demais fases do
desenvolvimento.


propagação de erros pelas as fases do
processo.
Uma versão de produção do sistema não
estará pronta até que o ciclo do projeto
de desenvolvimento chegue ao final.
Modelo de ciclo de vida iterativo e
incremental




Divide o desenvolvimento de um produto
de software em ciclos.
Em cada ciclo de desenvolvimento,
podem ser identificadas as fases de
análise, projeto, implementação e testes.
Cada ciclo considera um subconjunto de
requisitos.
Esta característica contrasta com a
abordagem clássica, na qual as fases são
realizadas uma única vez.
Modelo de ciclo de vida iterativo e
incremental

Desenvolvimento em “mini-cascatas”.
Modelo de ciclo de vida iterativo e
incremental


Iterativo: o sistema de software é
desenvolvido em vários passos similares.
Incremental: Em cada passo, o sistema
é estendido com mais funcionalidades.
Modelo iterativo e incremental –
Vantagens e Desvantagens
Incentiva a participação do usuário.
 Riscos do desenvolvimento podem ser
mais bem gerenciados.
 Um risco de projeto é a possibilidade de

ocorrência de algum evento que cause
prejuízo ao processo de desenvolvimento,
juntamente com as conseqüências desse
prejuízo.
 Influências: custos do projeto,cronograma,
qualidade do produto, satisfação do cliente,
etc.
 Mais difícil de gerenciar
Ataque aos riscos

“Se você não atacar os riscos [do
projeto] ativamente, então estes irão
ativamente atacar você.” (Tom Gilb).


Ou seja, a abordagem incremental e iterativa
aconselha que as partes mais arriscadas sejam
consideradas inicialmente.
Não se esconda dos riscos (como um avestruz).
Análise Essencial
Desenvolver sistemas de informação não é
desenvolver programas
Motivado,
normalmente
por
“necessidades
de
última
hora”,
situações de emergência, necessidades
não antecipadas, (enfim ingerências,
desorganização,
falta
de
planejamento)
as
empresas
se
lançam na aventura de construir
remendos para alicerçar suas bases
para
tomadas
de
decisão,
e
normalmente, tornam-se reféns dos
aspectos que seguem:
38





Não
há
planejamento
de
qualquer
natureza,
isto
compromete,
futuras
expansões, integrações e visão corporativa.
Apenas uma pessoa detém o “conhecimento”
sobre determinado desenvolvimento
Esta “memória do conhecimento” começa
a apresentar problemas quando há um
crescimento do sistema.
Normalmente há problemas quando se
trata de efetuar manutenção naquilo que
foi desenvolvido
Em geral não há qualquer documentação
sobre o desenvolvimento, assim, qualquer
intervenção no mesmo, requer a leitura dos
programas fontes para se entender o que o
sistema faz exatamente
39
“ o objetivo básico do estabelecimento de
um
método
padronizado
no
desenvolvimento de sistemas é obter
maior consistência no trabalho, melhor
qualidade oferecida ao usuário, maior
facilidade no treinamento de novos
Analistas,
eliminação
das
perdas
acarretadas por caminhos sem saída
e,
sem dúvida, melhor controle dos
resultados obtidos no desenvolvimento de
sistemas.”
BALLESTERO ALVAREZ (1990)
40
O método que revela o estado da prática atual
é a chamada Análise Essencial. Na Análise
Essencial, deve-se considerar perfeito o ambiente
tecnológico onde será implementado o software a
ser
projetado
(princípio
da
neutralidade
tecnológica). Isto significa considerar que a
memória do computador é infinita, seu tempo de
resposta é instantâneo, ele não para (não trava),
não
tem
custo,
ou
seja,
é
infalível.
Este aspecto propicia a análise pensar em uma
solução ideal, no desenho do software, fazendo
com que não sejam considerados certos requisitos
impostos pelas restrições tecnológicas.
41
O método da Análise Essencial é uma evolução
da Análise Estruturada, a qual o antecedeu. Pode-se
sublinhar alguns fatores de seu uso:


Um dos mais
atualmente.
utilizado
métodos
Princípio da Abstração
– Este aspecto permite resolver o problema,
separando os aspectos que estão ligados a
certa realidade, visando representá-los de
forma simplificada e geral.

Princípio da divisão.
– Para resolver um problema, o mesmo é
dividido em um conjunto de problemas
menores, que são mais fáceis de serem
compreendidos e resolvidos.
42
O caminho da
Análise Essencial
43
Domínio do Problema

O primeiro momento, de altíssima importância é
delimitar exatamente o que se espera do sistema
a ser desenvolvido. Trata-se de estabelecer seus
limites fronteiriços, exatamente o que deverá ser
feito.
Por exemplo, alguém pode solicitar seus serviços para
informatizar
um hotel. Mas veja, um hotel é sem
dúvida um macro problema. Ele é composto de várias
facetas que podem ser informatizadas, como o controle
da locação de quartos, o controle financeiro (contas a
pagar/receber), a folha de pagamento dos funcionários,
a contabilidade do hotel, enfim, é necessário que você
verifique se a expectativa de quem o contratou é
realmente informatizar todas estas facetas.
44
Todos os aspectos envolvidos no
problema
devem
ser
levantados,
pessoas
devem
ser entrevistadas,
documentos devem ser avaliados, o
fluxo de trabalho deve ser entendido.
Você deverá sair desta fase sendo
quase
um
especialista
sobre o
assunto que deverá informatizar, ou
seja, no mínimo saberá todos os
eventos e dados essenciais relativos ao
assunto.
45
Vantagens da
Análise Essencial
A Análise Essencial começa pelo modelo
essencial, o que equivale, na Análise
Estruturada, começar diretamente pelo
modelo lógico proposto.
A
Análise
Estruturada
aborda
duas
perspectivas do sistema - função e dados -,
ao passo que a Análise Essencial aborda três
perspectivas - função, dados e controle.
 Na Análise Estruturada o particionamento é
feito através da abordagem top-down,
enquanto
na
Análise
Essencial,
o
particionamento é por eventos

Componentes da
Análise Essencial
Modelo
Ambiental
Declaração de
Objetivos
Diagrama de
Contexto
Análise
Essencial
Modelo
Comportamental
Lista de Eventos
DFD
Particionado
Diagrama ER
Normalização
Dicionário
de
Dados
Especificação dos Requisitos

Modelo Ambiental
– Você poderá definir qual a relação do sistema a ser
desenvolvido com o ambiente no qual ele estará
inserido.
– Define a fronteira entre o sistema e o resto do mundo

Modelo Comportamental
– Trabalho se volta para definição interna do sistema.
Serão
especificados todos os processos que irão
compor o sistema. Haverá também a definição do
modelo de dados que será utilizado para armazenar as
informações por ele manipuladas.

Projeto ( Design)
– Esta parte do trabalho cuidará das especificações
referentes as limitações impostas pela tecnologia, a
distribuição dos processos de acordo com os lugares
onde serão executados.
48
Ferramentas
O Analista de Sistemas,
deverá utilizar algumas
ferramentas que o
ajudarão a trilhar o seu
caminho.
Entrevistas


A reunião pode ter um momento de
questionamentos, na busca de
informações; ou seja, uma entrevista,
normalmente sem qualquer conotação de
rigor ou formalidade como o termo pode
sugerir.
Entrevistas portanto, são situações inseridas
nas relações humanas que não estão sujeitas
a regras ou fórmulas exatas. Mas, pode
ser útil que o Analista de Sistemas tenha
em mente alguns aspectos, relacionados a
esta atividade que poderão ajudar na sua
execução.
50
O objetivo de uma entrevista (para a
análise de sistemas) é o de coleta de
informações sobre o sistema a ser desenvolvido.
Talvez, seja esta a fonte mais rica de
conhecimentos
sobre o sistema que deverá
ser feito. Ajuda nos aspectos chaves do
sistema
bem
como esclarece
pontos
contraditórios do mesmo, ou, em alguns
casos, torna o aspecto mais contraditório, o
que é algo também importante de se conhecer.
Verifica-se posicionamentos pessoais acerca das
questões envolvidas (omissões, medo, desvios).
 Não
raro, haverá a necessidade de se
entrevistar diversas vezes uma ou várias
pessoas, para se chegar a informação desejada.

51
Como Preparar uma Entrevista
Alguns cuidados devem ser tomados:
 Clareza
de sua finalidade
 Identificação de perguntas chaves
 Repasse de documentação formal (se
houver)
52


Quando se tratar de aspectos gerais sobre um
assunto, a pessoa mais indicada para se buscar esta
informação é a gerência. Quando o interesse for
para assuntos que exijam maior riqueza de
detalhes, o ideal
é
entrevistar
uma
pessoa
operacional, que esteja no seu dia a dia, envolvida com
aquele aspecto. Mas, lembre-se da hierarquia da
empresa, primeiro fale com o supervisor a quem a
pessoa estiver locada. Isto envolve desde aspectos
políticos até um fator de motivação para que a
pessoa fale melhor sobre o assunto, visto que “o
chefe a indicou por ser a melhor funcionária que
domina aquela questão...”.
Programe a entrevista de acordo com a disponibilidade
do entrevistado.
53
Toda entrevista bem conduzida,
formal ou não, possui três aspectos:

Abertura
– procure estabelecer uma atmosfera amigável
para a comunicação, informe sobre o objetivo.

Corpo
– se caracteriza por ser a entrevista propriamente dita.
– Certifique-se de que entendeu o que lhe foi
transmitido. Um meio indicado é o repasse (deixa
ver se entendi, então quer dizer que...).

Fecho
– procure manter a atmosfera de comunicabilidade.
Esteja atento ao horário para evitar qualquer
transtorno ao entrevistado. Agradeça a colaboração,
mesmo que o encontro tenha sido infrutífero e
54
distante do planejado.
Entrevista
não
é
julgamento,
disputa do saber ou concorrência
com o entrevistado. Lembre-se
sempre
que
a
pessoa
é
a
especialista
no
que
faz
e
você apenas busca informações.
Procure distinguir fatos de opiniões
pessoais.
55
Modelo de entrevista segundo
Gaus e Weinberg (1989)
1. O primeiro conjunto de questões de
contexto livre focaliza o cliente, as metas
globais e os benefícios. Por exemplo o
analista poderia perguntar
a. Quem está por trás da solicitação deste trabalho ?
b. Quem vai usar a solução?
c. Qual será o benefício econômico ?
d. Há outra fonte para solução ?
56
Modelo de entrevista segundo
Gaus e Weinberg (1989)
2. O conjunto de questões a seguir permite
ao analista entender melhor o problema
e ao cliente verbalizar suas percepções
sobre a solução :
a. Quais problemas a solução vai resolver ?
b. Você pode me mostrar o ambiente ( estrutura
física) ?
57
Modelo de entrevista segundo
Gaus e Weinberg (1989)
3. O conjunto final de questões focaliza a
efetividade da reunião (metaquestão)
a. É a pessoa adequada para responder as questões ?
b. As repostas são oficiais ?
c. Eu estou fazendo pergunta demais ?
d. Alguém mais pode me dar informação adicional ?
e. Eu deveria perguntar mais alguma coisa ?
58
Download

Análise Essencial