Você está na página 1de 22

Engenharia de Software

Planeamento e Gesto de Projectos

Hlia Guerra

Departamento de Matemtica
Universidade dos Aores

helia@uac.pt

cronograma do projecto
usual que os clientes queiram respostas para as
seguintes perguntas
Percebe os problemas e as minhas necessidades?
capaz de desenhar um sistema que resolva os meus
problemas e satisfaa as minhas necessidades?
Quanto tempo demorar?
Quanto custar?
2

cronograma do projecto
O cronograma do projecto descreve o ciclo de
desenvolvimento do software
enumerando as etapas do processo
dividindo cada etapa em tarefas/actividades
discretas para serem executadas
Considera as interaes entre as actividades e estima a
durao de cada actividades, indicando as datas
planeadas para a sua realizao
3

cronograma do projecto

Ajuda a perceber as necessidades do cliente atravs da


listagem de todas as entregas
Documentos
Demonstraes de funes, subsistemas, fiabilidade,
desempenho e segurana
Determina os marcos (milestones) e actividades para
produzir as entregas
4

marcos e actividades
Actividade: tem lugar durante um perodo de tempo
Marco: completao de uma actividade -- um ponto
particular no tempo
Percursor: evento (ou conjunto de) que tem que
ocorrer para que uma actividade se inicie
Durao: perodo de tempo necessrio para
completar uma actividade
Data de trmino: data em que uma actividade fica
pronta
5

cronograma do projecto
O desenvolvimento de um projecto pode ser separado
em sucessivas fases, cada uma das quais composta por
passos que so compostos por actividades

Wbs e grafos de actividade


Estrutura de Decomposio de Trabalho (Work
Breakdown Structure - WBS) o processo de dividir o
projecto em tarefas manuseveis e de as ordenar
logicamente, com o objectivo de assegurar uma
evoluo suave entre elas
Grafos de actividade mostram as dependencias entre as
actividades
Vrtices: marcos
Arestas: actividades envolvidas
Os grafos de actividade podem ter pesos com
informao sobre a durao7 das actividades

critical path method (cpm)


o menor tempo para completar um projecto
Revela as actividades mais crticas que condicionam a
entrega do projecto a tempo
Tempo real: durao estimada para a actividade
terminar
Tempo disponvel: tempo disponvel na
calendarizao para que a actividade seja completada
Tempo de folga: diferena entre o tempo disponvel e
o tempo real para a actividade
8

critical path method (cpm)


Caminho crtico:
- a folga em cada n zero.
a folga em cada vrtice zero
no nico
tempo de folga = tempo disponvel tempo real
= data de incio mais tarde data de incio mais cedo

grficos de gantt
Representao grfica do projecto que mostra cada
actividade como uma barra horizontal de comprimento
proporcional ao seu tempo de durao

10

histograma de recursos
Mostra as pessoas que esto afectas ao projecto e as que
so necessrias para cada etapa do ciclo de vida

11

curva das despesas

12

equipa de desenvolvimento
actividades
anlise de requisitos
desenho do sistema
desenho do programa
escrita do programa
testes
treino
manuteno
garantia da qualidade
H vantagens em afectar responsabilidades diferentes a
pessoas diferentes
13

equipa de desenvolvimento
escolha dos membros

Capacidade para executar o trabalho


Interesse no trabalho
Experincia com aplicaes, tcnicas, linguagens,
ambientes de desenvolvimento similares
Treino
Capacidade para comunicar com os outros
Capacidade para partilhar responsabilidades
14

EQuipa de desenvolvimento
Comunicao

O desenvolvimento de um projecto afectado por


grau de comunicao
capacidade de cada pessoa expressar as suas ideias

Muitas falhas de software resultam de comunicao e


entendimento deficientes
15

EQuipa de desenvolvimento
Comunicao

Para n pessoas no projecto existem n(n-1)/2 pares de


possveis comunicaes

16

reunies (defeitos)

(Dressler 1995)

objectivo pouco claro


participantes no esto preparados
elementos fundamentais chegam atrasados ou no comparecem
a conversa desvia-se do objectivo
participantes no discutem, apenas argumentam
decises tomadas no so implementadas
17

reunies mais produtivas


(Dressler 1995)

decidir bem quem dever estar presente na reunio


fazer uma agenda
ter algum a moderar as discusses
ter algum responsvel por colocar em prticas as medidas
tomadas na reunio
minimizar o nmero de reunies e de participantes
18

estilos de trabalho
Extrovertido: transmite os seus pensamentos
Introvertido: pede sugestes
Intuitivo: baseia as decises em sentimentos
Racional: baseia as decises em factos e opinies
19

estilos de comunicao e
de deciso

20

estilos de trabalho

O estilo de trabalho determina o estilo de comunicao

Afecta a interao entre clientes, equipa de


desenvolvimento e utilizadores

21

organizao do projecto

Depende de
conhecimentos e estilo de trabalho dos membros da
equipa
nmero de pessoas na equipa
gesto de estilos dos clientes e da equipa de
desenvolvimento
22

organizao do projecto
Chief Programmer Team

uma nica pessoa (chefe ou lder) responsvel pelo


desenvolvimento do trabalho e pela coordenao do
trabalho dos restantes membros da equipa
Cada membro da equipa comunica com frequencia com o
chefe mas no necessariamente com os outros membros

23

organizao do projecto
egoless( Democrtica ou plana)

No tem lder e todos os membros da equipa tm o


mesmo nvel de responsabilidade
todos os assuntos so votados democraticamente
o cdigo partilhado por todos

24

organizao do projecto
Que modelo de organizao se deve escolher?

Fazer uma boa gesto de projecto significa encontrar o


equilibrio entre a estrutura e a criatividade
25

estimao de custos
A estimao de custos um dos aspectos essenciais no
planeamento e na gesto do projecto
Tipos de custos
facilidades: espao, hardware, mobilirio, telefone,
papel, etc
mtodos e ferramentas: software, ferramentas CASE
pessoal (esforo): a maior componente dos custos
A estimao de custos deve ser feita durante o ciclo de
vida do projecto, o mais cedo possvel
26

estimao de custos

(Boehm 1995)

A incerteza logo no incio do projecto pode afectar as


estimativas de custos e da dimenso do projeto

27

causas de uma estimao


deficiente (Lederer e Prasad 1992)
Pedidos frequentes de alterao de requisitos
Pouca ateno prestada nas tarefas
Utilizadores no percebem os requisitos
Anlise insuficiente ao fazer a estimativa
Falta de coordenao entre os membros da equipa no
processo de desenvolvimento do sistema
Falta de orientao ou de mtodo adequado para
efectuar a estimativa
28

factores que influenciam a


estimao
Complexidade do sistema proposto
Integrao com outros sistemas j existentes
Complexidade do programa
Dimenso do sistema em termos de nmero de
funes ou de programas
Capacidade dos membros da equipa
Experiencia dos membros da equipa com a aplicao,
a linguagem de programao e o hardware
SGBD
Nmero de elementos da equipa
29

estimao do esforo
abordagens

Top-down
A estimao feita a partir do nvel do sistema, tendo
em conta a funcionalidade total

Bottom-up
A estimao feita a partir de uma decomposio do
sistema em componentes, adicionando a estimao
relativa ao desenvolvimento de cada componente
30

estimao do esforo
Tipo de mtodos

Experincia de peritos
Tcnica de Delphi
Modelo de Wolverton
Mtodos algoritmicos: E = (a + bSc) m(X)
Walston e Felix
Bailey e Basili
Construtive Cost Model (COCOMO): verso
COCOMO II a verso mais actual
Aprendizagem automtica

31

experiencia dos peritos

Top-down ou bottom-up
Analogia com outros projectos: pessimista (x),
optimista (y), mdia (z); estimao = (x + 4y + z)/6
Tcnica de Delphi: baseda na mdia de valores
secretos estimados por peritos

32

modelo de wolverton
Considera existirem dois factores que influenciam a
produtividade: o problema ser conhecido (O) ou novo
(N) e o grau de dificuldade ser fcil (E) ou moderado
(M)
a dimenso de cada mdulo estimada pelo nmero
de linhas de cdigo
Type of software
Control
Input/output
Pre/post processor
Algorithm
Data management
Time -critical

OE
21
17
16
15
24
75

OM
27
24
23
20
31
75

Difficulty
OH NE
30 33
27 28
26 28
22 25
35 37
75 75

NM
40
35
34
30
46
75

NH
49
43
42
35
57
75

33

modelo de waltson e felix


1. Customer interface complexity

Inclui um ndice
de produtividade
na equao
E = 5,25 S^0,91
Considera
existirem 29
factores que
podem afectar a
produtividade ( 1
aumenta, 0
diminui)

2. User participation in requirements


definition
3. Customer -originated program
design changes
4. Customer experience with the
application area
5. Overall personnel experience
6. Percentage of development
programmers who participated in the
design of functional specifications
7. Previous experience with the
operational computer
8. Previous experience with the
programming language
9. Previous experien ce with
applications of similar size and
complexity
10. Ratio of average staff size to
project duration (people per month)
11. Hardware under concurrent
development
12. Access to development computer
open under special request
13. Acc ess to development computer
closed
14. Classified security environment
for computer and at least 25% of
programs and data
34
15. Use of structured programming

16. Use of design and code


inspections
17. Use of top -down development
18. Use of a chief programmer team
19. Overall complexity of code
20. Complexity of application
processing
21. Co mplexity of program flow

22. Overall constraints on programs


design
23. Design constraints on the
programs main storage
24. Design constraints on the
programs timing
25. Code for real -time or interactive
operation or for execution under
severe time constraints
26. Percentage of code for delivery
27. Code classified as
nonmathematical application and
input/output formatting programs
28. Number of classes of items in the
database per 1000 lines of code
29. Number of pages of delivered
documentation per 1000 line s of code

modelo de bailey e basili


E = 5.5 + 0,73 S ^1,16
Cada valor na tabela classificado entre ausente (0) a
muito importante (5)
Total methodology
(METH)
Tree charts
Top -down design

Cumulative complexity
(CPLX)
Customer interface
complexity
Application complexity

Formal documentation

Program flo w complexity

Chief programmer
teams
Formal training
Formal test plans

Internal communication
complexity
Database complexity
External communication
complexity
Customer -initiated
program design changes

Design forma lisms


Code reading
Unit development
folders

Cumulative experience
(EXP)
Programmer
qualifications
Programmer machine
experience
Programmer language
experience
Programmer application
experience
Team experience

35

cocomo II
A equao do esforo (E) calcula o nmero de pessoasmeses necessrias para o projecto
E = b S^c m(X), onde bS^c o valor estimado inicial e
m(X) o vector de informao cost driver
O modelo de custos tem trs grandes etapas (prottipo
de interfaces, desenho, programao)
Assenta na premissa de que a granulosidade do
modelo de estimao de custos precisa ser consistente
com a granulosidade da informao disponvel para
suportar a estimao(USC 1997)
36

cocomo ii
Pontos de aplicao calculados com base no nmero
de ecrns e relatrios
For Screens

For Reports
Number and source of data tables

Number and source of data tables

Number of

Total < 4

Total < 8

Total 8+

Number of

Total < 4

Total < 8

Total 8+

views

(<2

(2-3

(>3

sections

(<2

(2-3

(>3

contained

server,

server,

server, >5

contained

server,

server, 3-

server,

<3

3-5

client)

<3

5 client)

>5

client)

client)

<3

simple

simple

medium

0 or 1

simple

simple

medium

3-7

simple

medium

difficult

2 or 3

simple

medium

difficult

Object type

client)

Simple

Medium

Screen

Report

3GL component

10

client)

Difficult
3

37

cocomo ii
Calcula o factor de produtividade com base na
experiencia e na capacidade de trabalho
Category
Very low
Low
Nominal
High
Very high

Meaning
Edit, code, debug
Simple front -end, back -end CASE, little integration
Basic life -cycle tools, moderately integrated
Strong, mature life -cycle tools, moderately
integrated
Strong, mature, proactive life-cycle tools, well integrated with processes, methods, reuse

38

modelo de aprendizagem com rede


neuronal
Rede neuronal utilizada por Shepperd para estimar o
esforo
Rede treinada com dados conhecidos de projectos
anteriores

39

gesto de riscos
Um risco um evento indesejado que causa prejuzo
Impacto do risco: prejuzo associado ao risco
Probabilidade do risco ocorrer
Controlo do risco: o que se pode fazer para
minimizar o impacto do risco
Exposio do risco = (prob. risco) x (impacto risco)
Fontes de risco: genricos e especfico do projecto
40

Actividades de gesto de riscos

Avaliar o risco
- Identificar o risco
- Analisar o risco
- Atribuir prioridade aos riscos

Controlar o risco
- reduzir o risco
- planear a gesto do risco
- resolver o risco
41

os 10 maiores riscos

(Boehm et al. 1995)

1.Falhas na equipa
2.Cronogramas e oramentos irrealistas
3.Desenvolvimento de funes incorrectas
4.Desenvolvimento interfaces incorrectas
5.Tentar a soluo ideal
6.Alteraes contnuas aos requisitos
7.Falhas nas tarefas subcontratadas
8.Falhas na reutilizao de componentes
9.Falhas no desempenho em tempo real
10.Exceder a capacidade da 42tecnologia actual

Plano do projecto

mbito do projecto
Cronograma do projecto
Organizao da equipa de desenvolvimento
Descrio tcnica do sistema
Procedimentos e standards do projecto
Plano de garantia de qualidade
Plano de gesto da configurao
Plano de documentao
Plano de gesto dos dados
Plano de gesto dos recursos
Plano de testes
Plano de treino
Plano de gesto dos riscos
43
Plano de manuteno

Resumo
Conceitos importantes na gesto de projectos
Planificao do projecto
Estimao dos custos e cronograma
Gesto dos riscos
Organizao da equipa
A planificao do projecto envolve sugestes de todos
os membros da equipa
Ao fazer o cronograma preciso ter em conta que ao
aumentar a dimenso da equipa, as comunicaes entre
os membros tambm aumentam
44

Você também pode gostar