Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Informao
Vol. 1: Introduo
Uma Abordagem Prtica
Geraldo Xexo
Jos Antnio Moreira Xexo
Sumrio
CAPTULO I. DESENVOLVENDO SISTEMAS DE INFORMAO ..............................1
CAPTULO II. SISTEMAS DE INFORMAO ................................ ............................2
II.1
DEFINIO ...................................................................................................2
II.2
VANTAGENS E DESVANTAGENS ........................................................................3
II.3
A EVOLUO DOS SISTEMAS DE I NFORMAO ................................ ....................3
II.3.1 Quatro Dcadas de Software................................ ................................ .......3
II.3.2 Modelo das Trs Eras de Ward ................................ ................................ ....4
II.4
CLASSIFICAO DOS SISTEMAS DE I NFORMAES ................................................5
II.4.1 Classificao hierrquica: ................................ ................................ ..........5
II.4.2 Classificao funcional:.............................................................................6
II.4.3 Classificao de Laudan ................................ ................................ ............7
II.5
OS SISTEMAS DO MODELO HIERRQUICO...........................................................7
II.5.1 Sistemas de Processamento de Transaes.....................................................7
II.5.2 Sistemas de Planejamento e Controle Operacional................................ ..........8
II.5.3 Sistemas de Planejamento e Controle Gerencial.............................................8
II.5.4 Sistemas de Planejamento Estratgico ................................ ..........................9
II.6
TAXONOMIA RELACIONADA A CLASSIFICAO DE ANTHONY ............................... 10
II.6.1 Sistemas de Informao para Executivos................................ ..................... 10
II.6.2 Comparao dos SIE com os SAD e SIG...................................................... 10
II.7
SITUAO ATUAL DOS SI NAS EMPRESAS................................ .......................... 11
CAPTULO III. DESENVOLVIMENTO DE SISTEMAS DE INFORMAO ................ 13
III.1
OBJETIVOS DO DESENVOLVIMENTO ................................................................. 13
III.1.1 O Princpio da Ausncia de Surpresas................................ ........................ 13
III.1.2 Direitos do Cliente e do Desenvolvedor...................................................... 14
III.2
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE .............................................. 15
III.2.1 A Necessidade de Garantir a Qualidade...................................................... 15
III.3
CICLO DE VIDA ........................................................................................... 16
III.3.1 Ciclo de Vida em Cascata......................................................................... 16
III.3.2 Prototipagem ......................................................................................... 17
III.3.3 Ciclos de Vida Evolucionrios................................................................... 18
III.3.4 Ciclo de Vida Win- Win ............................................................................ 19
III.3.5 Desenvolvimento Acelerado ...................................................................... 19
III.4
PROCESSO E MELHORIA DO PROCESSO ................................ ............................. 20
III.4.1 Inicial................................................................................................... 20
III.4.2 Repetitvel ................................ ................................ ............................. 20
III.4.3 Definido................................ ................................ ................................ 20
III.4.4 Gerenciado............................................................................................ 21
III.4.5 Otimizado ................................ ................................ ............................. 21
III.5
A EQUIPE DE DESENVOLVIMENTO................................................................... 21
III.6
LEITURA COMPLEMENTAR................................ ................................ ............. 23
CAPTULO IV. QUAL O TAMANHO DO SOFTWARE .............................................. 24
IV.1
QUAL O TAMANHO DO SISTEMA ? ................................ ................................ ..... 24
IV.2
PREO E CUSTO ................................ ................................ .......................... 24
IV.3
ESFORO E T EMPO DE DESENVOLVIMENTO ....................................................... 25
IV.3.1 Uma viso reduzida do modelo COCOMO II ............................................... 25
IV.3.2 Distribuio do Esforo........................................................................... 27
IV.4
O TAMANHO DO SOFTWARE........................................................................... 27
IV.5
ESTIMANDO O TAMANHO.............................................................................. 28
IV.5.1 A Tcnica de Delfos ................................ ................................ ................ 28
II.1
Definio
II.2
Vantagens e Desvantagens
II.3
1970
1980
1990
Processamento de Transaes
Informaes Gerenciais
Informaes Estratgicas
Figura 1. As eras de Ward [90] (fonte: Ward [90])
II.4
NVEIS
ORGANIZACIONAIS
SISTEMAS DE INFORMAO
GERENCIAL
DE APOIO GERENCIAL
ADMINISTRAO
DE APOIO AO
DA INFORMAO
CONHECIMENTO
PRODUO
PROCESSAMENTO
DE TRANSAES
II.5
a interao com o usurio. Sendo assim, as decises nesse nvel carregam contedo de
julgamento e intuio do responsvel pela deciso.
A diferena mais significativa entre os sistemas de planejamento e controle
operacional e os sistemas de planejamento e controle gerencial parece estar exatamente
nas caractersticas que envolvem o processo decisrio, muito menos estruturado nesses
ltimos. A simulao descrita anteriormente para exemplificar o tipo de apoio dado
deciso por aqueles , na verdade, um processo de otimizao e a deciso no contm
julgamento. H uma anlise de alternativas nas quais vantagens e desvantagens esto
muito claramente explicitadas e quantificadas, proporcionando deciso muito bem
justificada.
Em resumo, as caractersticas principais de sistemas de planejamento e controle
gerencial so:
desenvolvimento em ambientes complexos e de baixa estruturao;
apoio ao processo de planejamento de nvel intermedirio - envolvendo perodos
futuros de at seis meses - detalhando informaes sobre o desempenho da empresa;
utilizao por gerentes de nvel intermedirio responsveis por planejamento e
controle;
envolvimento dos usurios em decises baseadas em julgamento independente;
considerao da incerteza no ambiente de planejamento;
trabalho com dados agregados, oriundos tanto da organizao com de fontes externas.
II.6
10
DIMENSO
SIE
SAD
SIG
Foco
Indicadores de
Anlise
Processamento
gerncia
Gerncia
Desempenho
Usurio
Executivos
intermediria
Intermediria
Objetivo
Estratgico
eficcia
Eficincia
Aplicao
Acompanhar FCS
tomada de deciso
Controle de
banco de dados
Diversos
especial
Do sistema
tratamento da
Filtra e resume
Relatrios
SIG e SIE
Resumidos
Produo
informao
II.7
11
tomada de decises so ainda necessrios outros produtos, cujo nome mais em voga no
mercado Business Intelligence.
12
13
14
15
6.
16
Anlise
Projeto
Codificao
Testes
III.3.2 Prototipagem
No Ciclo de Vida de Prototipagem (pura) o desenvolvedor interage diretamente
com o usurio, escutando seus pedidos e desenvolvendo, imediatamente, um prottipo do
produto desejado. O usurio ento utiliza esse prottipo e fornece ao desenvolvedor
novas informaes que o levam a modificar o prottipo, de maneira a atender todas as
necessidades do usurio.
claramente um processo de desenvolvimento baseado em um ciclo de
realimentao de informaes, com alta participao do usurio.
No existe uma fase formal de anlise ou projeto. Isso pode causar problemas
graves e difceis de corrigir no produto final, dificultando de sobremaneira a manuteno
dos produtos. Pouca nfase dada a documentao.
Atualmente quase todos os ciclos de vida utilizam prottipos, mas no um ciclo
de vida de prototipagem. Existem vrios tipos de ciclo de vida com prototipagem.
Usamos prottipos descartveis quando o prottipo usado apenas para levantar alguns
ou todos requisitos e depois abandonado, em troca de uma implementao mais
organizada. Um prottipo operacional um software feito rapidamente para atender
uma demanda do usurio e que usado, mais tarde, como modelo de especificao para
uma nova implementao do sistema.
Alguns autores diferenciam prottipos de mock-up. Um prottipo
apresentaria o comportamento correto, ou aproximadamente correto, e seria caracterizado
principalmente pela falta de rigor na implementao. Um mock-up apresentaria apenas
uma interface que serviria como prvia da interface final.
17
Contruo ou
Reviso do
Prottipo
Avaliao
do Prottipo
Escutar
o
Cliente
Anlise
Projeto
Anlise
Codificao
Projeto
Testes
Codificao
Anlise
Projeto
Codificao
Testes
Tempo
Testes
18
Avaliao
Comunicaao com
o Cliente
Planejamento
Construo
Engenharia
Anlise de
Riscos
Em contrapartida com o caso normal, onde um ganha e os outros perdem, ou, ainda pior, com os casos
onde a deciso tomada vista como uma situao onde todos perdem.
19
III.4.1 Inicial
O processo de software ad-hoc, ocasionalmente catico. Poucos processos so
definidos e o sucesso depende do esforo individual e herico
Melhoria: Disciplinar o processo
III.4.2 Repetitvel
Processos bsicos de gerenciamento so estabelecidos para controlar custos,
cronograma e funcionalidade. Existe uma disciplina necessria para repetir sucessos
anteriores com aplicaes similares.
Melhoria: existncia de um processo padro e consistente
III.4.3 Definido
Existe um padro de processo para engenharia e para gerncia, integrado para
toda a organizao
Todos os projetos usam uma verso aprovada e adaptada do processo padro
Melhoria: processo previsvel
20
III.4.4 Gerenciado
So coletadas medidas detalhadas do processo
Processo e produto so entendidos quantitativamente
Melhoria: Melhoria continua do processo
III.4.5 Otimizado
A melhoria continua do processo possvel, devido ao feedback do processo e do
uso de idias e tecnologias inovadoras
21
22
Brooks {Brooks Jr. 1982 ID: 34} prope uma equipe conhecida como Equipe do
Programador Chefe. Nesse tipo de equipe o desenvolvedor vai recebendo cada vez mais
responsabilidade em relao ao desenvolvimento, mas no em relao a tarefa diria de
administrao, que tratada a parte. Cada programador-chefe responsvel por parte do
projeto e delega tarefas aos programadores seniors, que por sua vez podem delegar
tarefas aos programadores jnior. Alguns desses programadores compe uma equipe de
teste.
Programadores
Secretria
Chefe
Administrador
Senior
Bibliotecria
Junior
Figura 10. Equipes do tipo programador chefe se baseiam na
capacidade do programador chefe
Existem muitas outras formas de organizar equipes. Cada tipo de produto exige
um tipo especial de equipe. Afinal, no desenvolveramos um software para controle de
vo de um avio com o mesmo tipo de equipe para o qual desenvolvemos um software
para controle de uma biblioteca, no ?
23
24
Nessa relao o cliente tenta pagar o menor preo possvel para o sistema e o fornecedor tenta cobrar o
maior preo possvel. Tanto fornecedores quanto clientes devem evitar fazer um acordo com risco de futuro
arrependimento.
5
25
TDEV = [ C ( PM NS ) ( D+ 0.2( E B )) ]
SCED%
100
E = B + 0.01 SFj
j =1
0 ,28
PM NS um valor de pessoas-ms sem considerar esforos de traduo automtica e ainda sem considerar
efeitos da necessidade de acelerar o desenvolvimento
26
2.94
0.91
3.67
0.28
Esforo %
Tempo %
Planos e Requisitos
7 (2-15)
16-24 (2-30)
Projeto do Produto
17
24-28
Programao
64-52
56-40
27-23
37-29
Integrao e Testes
19-31
20-32
Transio
12 (0-20)
Ou Delphi. Baseado no Orculo de Delfos, nica relao direta com a linguagem Delphi.
28
IV.5.2 Cenrios
Outra tcnica alternativa determinar cenrios de pior caso, caso mais provvel e
de melhor caso. O valor final da estimativa dado por:
Ve =
29
Um Ponto de Funo (PF) uma medida abstrata e relativa que conta o nmero
de funes de negcio entregues ao usurio. Um relatrio simples, por exemplo, pode
medir 4 Pontos de Funo. Da mesma forma que um metro ou um litro, Pontos de
Funo s fazem sentido quando comparados com um padro. Assim, um sistema com
1.000 PF entrega o dobro de funcionalidade de que um sistema com 500 PF. Com o
tempo, aprendemos a ter uma idia absoluta do tamanho de um sistema a partir da
contagem de seus PFs.
A maneira padronizada de contar pontos de funo fornecida pelo International
Function Points User Group (IFPUG), que fornece aos seus associados um manual
contendo detalhes do que deve e do que no deve ser contado. A associao de uma
pessoa ao IFPUG custa aproximadamente US$ 200,00 em 1999. Esse captulo apenas
uma introduo ao mtodo, servindo para fazer clculos aproximados do nmero de
pontos de funo de um sistema.
IV.7.1 Viso geral
Para contar pontos de funo, primeiramente identificamos as funes de negcio
como percebidas pelo usurio, divindo-as em 5 grupos:
sadas , que informaes de negcio que o usurio final pode receber,
representando relatrios, telas e mensagens de erro como um todo e no em suas
partes individuais;
consultas, que so sadas simples e imediatas, sem alterao na base,
usualmente caracterizveis por chaves simples de consulta
entradas, que so informaes de negcio enviadas para o sistema pelo
usurio final
arquivos lgicos, que so os dados de uma aplicao, na forma como
so vistos logicamente pelo usurio, ou ainda podem ser contadas a partir das
entidades de um grfico E- R conceitual, dos depsitos de dados de um DFD ou do
nmero de tabelas em um banco de dados relacional, e
interfaces, que so dados guardados em algum lugar por outra
aplicao, mas usados pela aplicao em questo.
O segundo passo determinar a complexidade de cada funo de negcio. A
complexidade fornece um peso para cada funo de negcio encontrada. O somatrio do
nmero de funes multiplicadas pelo seu peso fornece o nmero bsico de pontos de
funo. Esse nmero um indicador preliminar do tamanho do sistema.
Finalmente, o nmero bsico de pontos de funes corrigido em funo de
fatores que aumentam o diminuem a complexidade do sistema.
IV.7.2 Identificando Funes de Negcio
Para identificar as funes de negcio devemos partir de algum documento que
aponte as funes aprovadas e pelo usurio e teis para o negcio. No devem ser
contadas funes necessrias por causa da tecnologia aplicada. Basicamente, s
cobrado o que o usurio pode ver e est disposto a pagar. Tambm importante que as
30
Identificando Sadas
Para contar as sadas necessrio contar todos as informaes que o sistema gera
para o ambiente de forma procedural. Tipicamente, sadas so relatrios impressos, telas,
janelas e arquivos gerados para outras aplicaes.
Deve ser contadas como sadas distintas cada formato utilizado. Basicamente, se
for necessrio fazer outro procedimento para produzir a informao, contamos como uma
sada distinta. Tambm contamos cada tipo de lgica utilizada para fazer gerar a
informao. Assim, se um relatrio de vendas contm as vendas por vendedor e por loja,
contaremos como duas sadas, pois so necessrios procedimentos lgicos distintos para
calcular cada um desses valores. Linhas de sumrio e total, porm, no so contadas
como novas sadas.
Identificando Consultas
Ateno, consultas so sempre no monitor, no existe uma consulta em relatrio
de papel.
Uma consulta no pode calcular nenhum valor. Em caso de clculo de qualquer
valor, temos uma sada.
Identificando Entradas
Um comando especfi co para o sistema executar algo uma entrada.
Identificando Arquivos
Cada forma de acesso (chave) indica um arquivo.
Identificando Interfaces
Conta de novo as sadas que tem interface com outro sistema.
31
Arquivos
Referenciados
1-5
6-19
20+
0 1
Simples (4)
Simples (4)
Mdia (5)
2- 3
Simples(4)
Mdia(5)
Complexa(7)
4+
Mdia (5)
Complexa (7)
Complexa (7)
Consultas
Sada
Arquivos
Referenciados
1-5
6-19
20+
0 1
Simples (4)
Simplse (4)
Mdia (5)
2-3
Simples (4)
Mdia (5)
Complexa (7)
4+
Mdia (5)
Complexa (7)
Complexa (7)
Entradas
Arquivos
Referenciados
1-4
5-15
0 1
Simples (3)
Simples (4)
Mdia (4)
Simples (3)
Mdia (4)
Complexa (6)
3+
Mdia (4)
Complexa (6)
Complexa (6)
Entradas
16+
Arquivos
Referenciados
1-4
5-15
16+
0 1
Simples (3)
Simples (4)
Mdia (4)
Simples (3)
Mdia (4)
Complexa (6)
3+
Mdia (4)
Complexa (6)
Complexa (6)
32
Arquivos
Relacionamentos
1-19
20-50
Simples (7)
Simples (7)
Mdia (10)
2-5
Simples (7)
Mdia (10)
Complexa (15)
Mdia (10)
Complexa (15)
Complexa (15)
Interfaces
51+
Relacionamentos
1-19
20-50
51+
Simples (5)
Simples (5)
Mdia (7)
2-5
Simples (5)
Mdia (7)
Complexa (10)
Mdia (7)
Complexa (10)
Complexa (10)
6
Tabela 4. Como calcular o nmero de pontos de funo
IV.7.4 As Perguntas
So 14 as perguntas que devem ser feitas e ajudaram a determinar a quantidade de
PF relativa a um sistema. Cada uma deve ser respondida com um nmero, de 0 a 5,
indicando a importncia da caracterstica que se pergunta sobre o sistema, da seguinte
forma:
0 - No tem influncia
1 - Influncia incidental
2 - Influncia moderada
3 - Influncia mdia
4 - Influncia significativa
5 - Influncia essencial
Para as perguntas:
1.
O sistema necessita de backup e recuperao confivel?
2.
necessrio utilizar comunicao de dados?
3.
Existe processamento distribudo de funes?
4.
A performance crtica?
5.
O sistema vai funcionar em um ambiente operacional j existente e
fortemente utilizado?
6.
O sistema exige entrada de dados on-line?
7.
(Se existir) A entrada de dados exige que a transao seja realizada por meio
de vrias telas ou operaes?
8.
Os arquivos so atualizados on-line?
9.
As entradas, sadas e consultas so complexas?
10. O processamento interno complexo?
11. O cdigo deve ser projetado para ser reutilizvel?
12. A converso (se necessria) e instalao deve estar includa no projeto?
33
13.
14.
2.
3.
4.
IV.7.6 Os multiplicadores
A Tabela 1 indica os multiplicadores que devem ser dados a cada item, de acordo
com a complexidade do sistema.
Complexidade
Medida
Contagem
Simples
Mdia
Complexa
Total
Total
Nmero de sadas
Nmero de consultas
6?
7?
Nmero de entradas
Nmero de arquivos
10
15
10
Total
Tabela 5. Guia de clculo para os pontos de funo
34
Total de Pontos
de Funo
Sadas
Consultas
Entradas
Arquivos
Interfaces
Processamento
Carne
654
30
28
35
Compras de Aes
166
18
37
28
Contabilidade
2047
18
34
45
108
27
26
29
19
Comrcio varejista
662
17
22
21
40
Comrcio
Atacadista
714
23
20
18
39
Sistemas de Caixa
604
28
12
39
21
Transterncia
dinheiro
105
55
18
20
186
48
31
21
Sistemas
Compras
de
de
de
Bibliotecas
LANGUAGE LEVEL
1-3
5 to 10 Function Points
4-8
10 to 20 Function Points
9 - 15
16 to 23 Function Points
16 - 23
15 to 30 Function Points
24 - 55
30 to 50 Function Points
Above 55
40 to 100 Function Points
Tabela 7 Nveis de Linguagem, segundo Caper-Jones
LANGUAGE
1st Generation default
2nd Generation default
3rd Generation default
4th Generation default
5th Generation default
ABAP/4
ACCEL
Access
Ada 95
LEVEL
1.00
3.00
4.00
16.00
70.00
20.00
17.00
8.50
6.50
AVERAGE SOURCE
STATEMENTS PER
FUNCTION POINT
320
107
80
20
5
16
19
38
49
35
LANGUAGE
AI shell default
AI SHELLS
ALGOL 68
ANSI BASIC
ANSI COBOL 74
ANSI COBOL 85
ANSI SQL
APL 360/370
APL default
APL*PLUS
APPLESOFT BASIC
Application Builder
Application Manager
APS
APT
APTools
ARC
Arity PROLOG
Assembly (Basic)
Assembly (Macro)
Associative default
Autocoder
awk
BASIC
BASIC A
Basic assembly
C
C Set 2
C++
CICS
CLIPPER
CLIPPER DB
CLOS
COBOL
COBOL II
Cobol/400
Common LISP
Crystal Reports
Data base default
dBase III
dBase IV
DCL
Decision support default
DELPHI
DOS Batch Files
DSP Assembly
EIFFEL
English-based default
Ensemble
EPOS
EXCEL 1-2
EXCEL 3-4
EXCEL 5
Extended Common LISP
EZNOMAD
FileMaker Pro
FLEX
FlexGen
FORTH
FORTRAN 66
FORTRAN 77
FORTRAN 90
FORTRAN 95
FORTRAN
FORTRAN II
FOXPRO 1
FOXPRO 2.5
LEVEL
6.50
6.50
3.00
5.00
3.00
3.50
25.00
10.00
10.00
10.00
2.50
16.00
9.00
19.00
4.50
16.00
6.50
5.00
1.00
1.50
5.00
1.00
15.00
3.00
2.50
1.00
2.50
3.50
6.00
7.00
17.00
8.00
15.00
3.00
3.00
3.50
5.00
16.00
8.00
8.00
9.00
1.50
9.00
11.00
2.50
2.00
15.00
6.00
11.00
16.00
51.00
55.00
57.00
5.75
9.00
9.00
7.00
11.00
5.00
2.50
3.00
4.00
4.50
3.00
2.50
8.00
9.50
AVERAGE SOURCE
STATEMENTS PER
FUNCTION POINT
49
49
107
64
107
91
13
32
32
32
128
20
36
17
71
20
49
64
320
213
64
320
21
107
128
320
128
91
53
46
19
40
21
107
107
91
64
20
40
40
36
213
36
29
128
160
21
53
29
20
6
6
6
56
36
36
46
29
64
128
107
80
71
107
128
40
34
36
LANGUAGE
Golden Common LISP
GPSS
GW BASIC
Haskell
High C
HP BASIC
HTML 2.0
HTML 3.0
IBM CICS/VS
IBM Compiled BASIC
IBM VS COBOL
IBM VS COBOL II
IDMS
INFORMIX
INGRES
Interpreted BASIC
Interpreted C
JAVA
JCL
KSH
Lattice C
LISP
LOTUS 123 DOS
LOTUS Macros
LUCID 3D
macFORTH
Machine language
Macro assembly
MATHCAD
MDL
MENTOR
MESA
Microfocus COBOL
Microsoft C
MODULA 2
MOSAIC
MS C ++ V. 7
MS Compiled BASIC
muLISP
NATURAL 1
NATURAL 2
NATURAL Construct
Natural language
Non-procedural default
Nroff
Object-Oriented default
OBJECT Assembler
Object LISP
Object LOGO
Object PASCAL
Object Star
Objective-C
OPS5
ORACLE
Oracle Developer/2000
PARADOX/PAL
PASCAL
PDP-11 ADE
PERL
polyFORTH
Power BASIC
PowerBuilder
Pro-C
PRO-IV
Problem-oriented default
Procedural default
Professional PASCAL
LEVEL
5.00
7.00
3.25
8.50
2.50
2.50
20.00
22.00
8.00
3.50
3.00
3.50
8.00
8.00
8.00
3.00
2.50
6.00
1.45
15.00
2.50
5.00
50.00
3.00
51.00
5.00
0.50
1.50
60.00
9.00
6.00
3.00
4.00
2.50
4.00
50.00
6.00
3.50
5.00
6.00
7.00
13.00
0.10
9.00
6.00
11.00
5.00
11.00
11.00
11.00
20.00
12.00
5.50
8.00
14.00
9.00
3.50
6.00
15.00
5.00
6.50
20.00
12.00
5.50
4.50
3.00
3.50
AVERAGE SOURCE
STATEMENTS PER
FUNCTION POINT
64
46
98
38
128
128
16
15
40
91
107
91
40
40
40
107
128
53
221
21
128
64
6
107
6
64
640
213
5
36
53
107
80
128
80
6
53
91
64
53
46
25
3200
36
53
29
64
29
29
29
16
27
58
40
23
36
91
53
21
64
49
16
27
58
71
107
91
37
LANGUAGE
Program Generator default
PROLOG
QBasic
QUATTRO
QUATTRO PRO
Query default
QUICK BASIC 1
QUICK BASIC 2
QUICK BASIC 3
Quick C
Reuse default
REXX (MVS)
REXX (OS/2)
RM BASIC
RM COBOL
RM FORTRAN
RPG I
RPG II
RPG III
SAS
SCHEME
Screen painter default
SHELL
SIMSCRIPT
SIMULA
SIMULA 67
Simulation default
SMALLTALK 80
SMALLTALK/V
SNOBOL2-4
Spreadsheet default
SPSS
SQL
SQL-Windows
Statistical default
Strongly typed default
SYBASE
TCL
Turbo C
TURBO C++
TURBO EXPERT
Turbo PASCAL >5
Turbo PASCAL 1-4
Turbo PASCAL 4-5
Turbo PROLOG
UNIX Shell Scripts
Visible C
Visible COBOL
Visicalc 1
Visual 4.0
Visual Basic 1
Visual Basic 2
Visual Basic 3
Visual Basic 4
Visual Basic 5
Visual Basic DOS
Visual C++
Visual COBOL
Visual Objects
VisualAge
VisualGen
VS-REXX
WATCOM C
WATCOM C/386
Waterloo C
Waterloo PASCAL
WATFIV
LEVEL
20.00
5.00
5.50
51.00
51.00
25.00
5.00
5.25
5.50
2.50
60.00
4.00
7.00
3.50
3.00
3.00
4.00
5.50
5.75
10.00
6.00
57.00
15.00
7.00
7.00
7.00
7.00
15.00
15.00
2.50
50.00
10.00
25.00
27.00
10.00
3.50
8.00
5.00
2.50
6.00
6.50
6.50
4.00
4.50
4.00
15.00
6.50
8.00
35.00
11.00
7.00
7.50
8.00
9.00
11.00
8.00
9.50
16.00
20.00
15.00
18.00
10.00
2.50
2.50
2.50
3.50
3.75
AVERAGE SOURCE
STATEMENTS PER
FUNCTION POINT
16
64
58
6
6
13
64
61
58
128
5
80
46
91
107
107
80
58
56
32
53
6
21
46
46
46
46
21
21
128
6
32
13
12
32
91
40
64
128
53
49
49
80
71
80
21
49
40
9
29
46
43
40
36
29
40
34
20
16
21
18
32
128
128
128
91
85
38
LANGUAGE
WATFOR
YACC
YACC++
ZBASIC
ZIM
LEVEL
3.50
6.00
6.00
3.50
17.00
AVERAGE SOURCE
STATEMENTS PER
FUNCTION POINT
91
53
53
91
19
39
V.1
V.2
O Objetivo do Sistema
O Objetivo do Sistema descrito por uma sentena de poucas linhas que permite
identificar imediatamente a finalidade do sistema. A sentena deve ser clara, de forma a
permitir uma identificao rpida do escopo do sistema, isto , do que faz parte e do que
no faz parte do sistema.
40
V.3
Metas
Para cada para meta - mtrica, pode ser necessrio desenvolver um procedimento
de medida ou um procedimento de levantamento de dados passados. Isso no algo
comum no desenvolvimento de sistemas, porm algo desejvel.
A principal vantagem de associar metas ao sistema que no fazem parte dos
requisitos do sistema demonstrar a utilidade do sistema, isto , como o sistema faz o
cliente ganhar mais dinheiro ou realizar melhor sua tarefa.
Cuidado porm com as armadilhas que existem na escolha das metas. Primeiro,
muito comum que um cliente deseje uma meta que no pode ser alcanada por um
sistema com o objetivo definido. A questo, nesse caso, se resume a negociar a mudana
41
V.4
42
V.5
Restries
43
V.6
1. Resumo Executivo
2. Apresentao do Documento
2.1. Identificao do Projeto
2.2. Identificao do Cliente
2.3. Identificao do Prestador de Servio
3. Histrico do Apresentador de Servio
4. Pequena Descrio da Solicitao do Cliente
5. Descrio Sucinta do Sistema Atual
5.1. Descrio
5.2. Identificao de Problemas
5.3. Identificao de Oportunidades
6. Descrio do Sistema Proposto
6.1. Objetivo
6.2. Metas
6.3. Mtricas para avaliao das Metas
6.4. Requisitos Funcionais Iniciais
6.5. Requisitos de Informao Iniciais
6.6. Requisitos No Funcionais Iniciais
6.7. Restries
7. Cronograma Provisrio
8. Custo Provisrio
9. Outras Clusulas (opcionais)
9.1. Exclusividade
9.2. Forma de pagamento
9.3. Reajustes
9.4. Renegociao
9.5. Confidencialidade
V.7
O Resumo Executivo
O resumo executivo deve permitir que o leitor tenha uma viso completa do texto
do documento em uma pgina. Resumos executivos tm esse nome por partir da hiptese
44
que um executivo, ao tomar uma deciso, no tem tempo para ler longos documentos. Na
prtica eles leriam o resumo executivo e folheariam os documentos.
V.8
Exemplo de Documento
A seguir apresentamos um exemplo simples de uma proposta inicial.
45
Restaurante do Cabeo
Onde desenvolvemos um sistema de controle de estoque integrado com o sistema
de preparao de cardpios.
V.8.3 Solicitao do Cliente
A Movieland uma rede de locadoras de vdeo que utiliza um sistema comprado
pronto para gerenciar, separadamente, cada uma de suas lojas.
A rede deseja implementar um sistema integrado para todas as lojas, que permita
que os clientes peguem e entreguem fitas em qualquer loja. Alm disso, o sistema deve
permitir que seja feito o controle de estoque das fitas nas lojas, permitindo uma
redistribuio diria das fitas, de acordo com a demanda.
Alm disso o sistema deve reproduzir as opes j existentes no sistema atual,
porm utilizando no s o movimento de cada loja, mas tambm o movimento da rede
como fator de clculo.
V.8.4 Descrio Sucinta do Sistema Atual
O Sistema atual permite a manuteno de um estoque de fitas a serem alugadas e
o controle do aluguel dessas fitas por parte dos clientes filiados. Duas funes bsicas do
sistema so: o cadastro de fitas e o cadastro de clientes.
Quando um cliente pega uma fita, feita a digitao do nmero da fita e do
nmero do cliente. Se o cliente no sabe seu nmero esse pode ser verificado no cadastro.
Se a fita perdeu a etiqueta com o nmero no pode ser alugada at ser re-etiquetada pelo
gerente.
Quando o cliente devolve a fita calculado o nmero de dias que ficou com ela.
De acordo com a classificao de preo da fita calculado o valor do aluguel, cobrado
imediatamente do cliente.
O sistema fornece vrios relatrios, porm os mais importantes so: clientes em
atraso (mais de 3 dias com a fita), fitas perdidas, fitas mais alugadas, fitas menos
alugadas.
Identificao de Problemas
Algumas vezes o nmero da fita ou do cliente digitado errado e ningum
percebe.
Clientes s so conhecidos na loja em que esto cadastrados.
O Cliente no pode ter uma conta para pagar no fi m do ms.
Identificao de Oportunidades
Uso de cdigo de barras nas fitas
Uso de tecnologia Internet para integrar as lojas
46
47
48
49
ficar pronto. Cabe ao analista ajudar ao cliente descobrir como o sistema realmente
necessrio.
Dizemos ento que cabe ao analista desenvolver uma especificao do sistema
que contenha todos os requisitos verdadeiros e nada alm desses{Palmer &
McMenamim 1991 ID: 10}. Um requisito verdadeiro quando reflete uma caracterstica
do sistema que deve existir qualquer que seja a tecnologia utilizada para implementlo. Assim, uma especificao ser defeituosa se no contiver todos os requisitos
necessrios ou se contiver algum requisito falso ou esprio.
Um requisito falso ou esprio quando o sistema teoricamente capaz de
cumprir suas funes sem que esse requisito seja implementado. Requisitos falsos podem
ser gerados em funo da tecnologia ou por arbitrariedade do analista.
Cada requisito falso presente em uma especificao ir aumentar a complexidade,
o tempo de desenvolvimento e o custo de desenvolver um sistema, ao mesmo tempo
diminuindo as chances de que este sistema tenha qualidade suficiente para atender ao
usurio quando pronto, ou mesmo diminuindo as chances do sistema ficar pronto! Assim,
devemos evitar ao mximo incluir requisitos falsos em uma especificao. Para isso,
importante conhecer seus principais tipos:
Requisitos tecnolgicos includos pelo passado, quando inclumos na especificao
algo que existe na implementao existentes mas que no necessrio ao
funcionamento do sistema;
Requisitos tecnolgicos includos por antecipao, quando inclumos algo na
especificao em funo de alguma tecnologia escolhida para a implementao;
Requisitos arbitrrios includos por influncia da ferramenta de modelagem,
quando inclumos na especificao algo desnecessrio para fazer o sistema, mas
necessrio por alguma caracterstica da ferramenta de modelagem, e
Requisitos arbitrrios includos por preciosismo, quando inclumos uma funo
espria no sistema.
50
51
Coleta de
Informaes
Consolidao e
Conciliao
Registro
Validao
Adoo
Acompanhamento
52
53
qual fazem parte. Os autores recomendam a reviso dos requisitos sob o ponto de
vista organizacional, verificando o alinhamento dos requisitos com os objetivos da
organizao. Essa reviso est contemplada nas abordagens anteriores no momento
em que preconizam a elicitao, consolidao e conciliao dos pontos de vista dos
diversos interessados.
VI.4.2 Abordagens voltadas para grupos
Onde so colocadas as tcnicas que, de uma forma geral, endeream a
necessidade de estabelecer mecanismos apropriados de comunicao entre grupos e
pessoas como parte do processo de Elicitao de Requisitos. Segundo Goguen [93],
proporcionam uma interao mais natural entre as pessoas do que as entrevistas. Essa
interao , certamente, um fator facilitador da resoluo de conflitos. So citadas pela
autora:
JAD (Joint Application Design), usada desde a dcada de 70, quando foi introduzida
pela IBM, e apresentada, por exemplo, em JAD - Joint Application Design de Judy H.
August, McGraw Hill, 1991. Consiste de uma srie de reunies estruturadas entre
projetistas e usurios, conduzidas por um facilitador, para planejar, projetar ou
tomar decises em conjunto. Entre suas vantagens, esto o estmuloprovocado pelo
trabalho em grupo; o foco em qualidade e produtividade, provocado pela nfase dada
participao do usurio; e o alinhamento da tecnologia com os negcios, provocado
pelo envolvimento dos usurios com o estabelecimento dos requisitos. Para Macaulay
[96], entre outras caractersticas, a tcnica proporciona oportunidades para a anlise
do problema, cria possibilidades de identificao e conciliao de pontos de vista
divergentes, prov procedimentos para documentar requisitos e ajuda a desenvolver
conhecimento sobre opes tecnolgicas.
QFD (Quality Function Deployment ), originria da indstria automobilstica
japonesa, traduz requisitos de consumidores em requisitos tcnicos apropriados para
o desenvolvimento de produtos. QFD baseada em sesses nas quais os grupos de
interesse trabalham em torno de uma matriz (casa da qualidade) que relaciona
requisitos de usurios com os atributos desejados para o projeto. Isso permite a
identificao das relaes entre requisitos e os atributos da qualidade necessrios ao
processo de maximizao da satisfao do cliente com um projeto de engenharia. A
similaridade dos procedimentos da fase de planejamento do QFD com as atividades
de Elicitao de Requisitos justifica a afirmao contida em Christel [92] sobre a
facilidade de adaptao dos passos daquela em procedimento para essa. Como
caractersticas importantes dessa abordagem Macaulay [96] cita, entre outras, o apoio
s atividades de identificao e especificao de atributos de qualidade, s descries
de usurios e grupos de usurios tpicos e identificao de requisitos de produtos
genricos. O QFD usado em Brynjolfsson [96] para construir a Matriz de
Mudanas, ferramenta proposta para identificar as interaes - e o grau de
estabilidade existente nessas interaes - entre os processos que ocorrem durante a
mudana e assim detectar interferncias, pontos sensveis e otimizar o planejamento
das atividades de transio. Adiano [xx] prope um QFD Dinmico que vem ao
encontro de uma das necessidades mais importantes de um plano de implantao de
TQM: a incorporao ao processo em tempo real - da evoluo das expectativas e
necessidades dos usurios. A proposta implementa o QFD Dinmico como um
54
55
expressos por vrias vises, e que mesmo sendo possvel a consistncia e coerncia
interna, nem sempre h integrao, exigindo procedimentos de anlise, conciliao e
consolidao. Com base na proposta de Leite [91], e na adaptao da tcnica Delphi,
Werneck [95] prope a resoluo de pontos de vista no processo de elicitao de
conhecimento com a seqncia de procedimentos ilustrada pela Figura 12: identificar
o conhecimento, classificar e avaliar as divergncias e integrar os pontos de vista;
procedimentos diretamente aplicveis ao processo de qualidade.
Identificar
Classificar
Avaliar
Integrar
56
foram teis para obter a opinio dos usurios bem como para analisar as opes que
estariam disponveis em determinada fase do projeto.
Anlise de Protocolo. Situao durante a qual um especialista realiza uma tarefa ao
mesmo tempo em que a descreve passo a passo, em voz alta. H necessidade de
identificar as tarefas para as quais o processo adequado. Algumas vezes se torna
montono e demorado (Maiden[99]).
VI.5 A entrevista
Entre as tcnicas mais importantes de elicitao de requisitos est a entrevista.
Est constantemente presente dentro de outras as tcnicas porque, quase sempre, a
Elicitao de Requisitos em algum ponto - exige comunicao direta com os usurios e
outros interessados e a nica forma de comunicao, seja de que forma esteja disfarada,
a entrevista.
A entrevista procura explicitar o pensamento do entrevistado a respeito das suas
relaes com seu universo em determinada instncia, tanto como indivduo quanto como
profissional, revelando o conhecimento do entrevistado sobre as pessoas, objetos, fatos e
procedimentos com os quais interage.
Os objetivos so os mais diversos, por exemplo: estabelecer expectativas do
consumidor, verificar nveis de satisfao e necessidades atuais e futuras; estudar
tendncias na satisfao do cliente ao longo do tempo ou avaliar programas em
andamento.
O primeiro passo de uma entrevista determinar, entre outros aspectos: seus
propsitos ou objetivos; a informao necessria, e de quem obter, para alcanar esses
objetivos e os recursos disponveis para implementar e manter o processo de pesquisa.
Outros fatores merecem destaque: preciso na determinao da amostra; abrangncia e
relevncia do contedo da pesquisa e, essencial, a validao. Os resultados da entrevista
so sumariados em um relatrio interpretativo que inclui relato sobre os achados e as
recomendaes mais importantes. A anlise pode ser qualitativa ou quantitativa.
Normalmente, as entrevistas abertas esto no primeiro caso, enquanto que os
questionrios so analisados quantitativamente.
A responsabilidade do entrevistador tambm grande. Normalmente, alm das
entrevistas, ele que m integra as diferentes interpretaes, objetivos, metas, estilos de
comunicao, e o uso de terminologia. H tambm outras tarefas complexas como decidir
a oportunidade ou no de incluir certo tipo de informao no conjunto inicial de
requisitos. Finalmente, entrevistar e integrar toma tempo. Como os requisitos so
volteis, quanto mais longo o processo mais facilmente os requisitos deixam de atender
as necessidades e expectativas dos interessados. Todos esses encargos recomendam que o
analista conhea tanto as tcnicas de desenvolvimento quanto o domnio no qual se
insere.
Existem vrios tipos de entrevistas. Durante o processo de anlise, elas
normalmente seguem o seguinte processo:
Introduo inicial
Familiarizao com o ambiente
57
Busca de fatos
Verificao de informaes conseguidas de outras formas
Confirmao de informaes conseguidas com os candidatos
Acompanhamento, amplificao ou clarificao de entrevistas anteriores.
59
Marcao da entrevista
Preparao das questes ou do roteiro
A entrevista propriamente dtita
Documentao da entrevista, incluindo os fatos e a informao conseguida durante a
entrevista
Reviso da transcrio da entrevista com o entrevistado
Correo da transcrio
Aceitao por parte do entrevistado
Arquivamento
60
61
62
63
importante notar que o relatrio da entrevista deve ser aceito pelo entrevistado.
normal o entrevistado remover alguma coisa ou colocar algo a mais. O analista deve
ficar atento aos motivos do usurio em fazer modificaes.
Se houver discusso quanto a interpretao de algo e o analista achar essencial
manter sua verso no relatrio, deve tambm permitir que o entrevistado coloque sua
verso.
VI.5.10
As perguntas de concluso
VI.6 JAD
Outra tcnica importante, que merece um tratamento separado, o JAD.
Muitas vezes, quando um grupo de inform tica entrega um sistema de informao
aos seus clientes escuta a frase: no era isso que eu queria! Isto acontece porque os
desenvolvedores no conseguiram levantar com os usurios suas verdadeiras
necessidades.
Este problema de comunicao pode ter diversas causas: linguagem especializada
de ambas as partes, desconhecimento da rea de atuao pelos desenvolvedores,
preocupaes com a tecnologia empregada ao invs das necessidades dos usurios, etc.
Na fase inicial do projeto, conhecida como anlise, a dificuldade de comunicao entre
clientes e equipe de desenvolvimento a principal causa de defeitos que sero
encontrados no produto final.
64
65
VI.6.4 O Ambiente
O Ambiente fsico da reunio fundamental para a produtividade dos trabalhos.
Os seguintes aspectos devem ser considerados:
VI.6.5 O Consenso
A forma mais produtiva de deciso do grupo aquela obtida por consenso.
Consenso no a unanimidade de opinies, mas, sim, a situao em que cada membro
concorda que a soluo encontrada a melhor para o grupo e que possvel conviver
com ela sem ferir convices ou valores essenciais.
autor, a teoria W muito til para gerenciamento de produo de software, mas aplicvel
tambm em outras reas. Os procedimentos sugeridos por Boehm podem ser descritos da
seguinte forma:
compreender o que as pessoas julgam ser ganhar, identificando e ouvindo as pessoaschave de cada categoria interessada;
estabelecer expectativas razoveis, reunindo os interessados para que:
olhem as questes pelo ponto de vista dos outros;
procurem por critrios de soluo relevantes e objetivos para
todos;
identifiquem e resolvam suas divergncias de pontos de vista;
associar tarefas com condies de ganho;
proporcionar um ambiente de apoio;
estabelecer um plano de processo realstico ;
usar o plano para controlar o projeto;
identificar e gerenciar os riscos;
manter o envolvimento das pessoas em nvel elevado.
VI.7.2 O modelo de negociao
Boehm [98] apresenta um modelo de negociao que proporciona um instrumento
efetivo para o processo de conciliao de pontos de vista divergentes. O modelo
descrito da seguinte forma (Figura 13):
Qualquer condio no controversa coberta por um acordo.
Caso contrrio, gerada uma questo para registrar o conflito.
As opes permitem que os envolvidos sugiram solues alternativas, que endeream
as questes.
As opes so exploradas e refinadas via anlise, gerenciamento de expectativas e
negociao, eventualmente levando a um acordo.
condies
de ganho
questes
opes
acordos
Figura 13. O modelo de negociao de Boehm
67
Validar
definio
dos
processos
Rever os compromissos
de
Avaliar as alternativas.
Analisar os riscos
Definir prximo nvel de
processo
68