Sunteți pe pagina 1din 80

Modulul: Managementul proiectelor

informatice complexe
Constanta Bodea
Gheorghe Sabau
Claudia Georgeta Cirstea
Obiectivul modului
Obiectivul modului este de a pregati
studentii in managmentul unui proiect
informatic complex, alegerea modelului de
dezvoltare, organizarea proiectului, a
echipei, elaborarea planului proiectului,
cunoasterea consturilor, stabilirea pretului
pentru produsul software.
Tematica
Notiunea de proiect si de proiect
complex
Tipuri de proiecte informatice
Ciclul de viata al unui proiect informatic
Managementul unui proiect informatic
Maturitatea organizatiilor de realizare a
produselor software
Notiunea de proiect.
Proiect complex
Proiect complex

Mai multe entitati organizationale


Mai multe tipuri de expertiza tehnica, mai multe categorii
de specialisti in echipa de proiect


Reclama utilizarea unei multitudini de metode si
instrumente de managementul proiectelor


Un buget si o perioada de executie semnificative.
Tipuri de proiecte informatice - exemple

Proiecte organizationale (organizarea/ reorganizarea unui
departament IT, infiintare companie IT)

Proiecte de dezvoltare software

Proiecte de implementare pachete software

Proiecte de realizarea retea locala de calculatoare

Proiecte de audit informatic

Proiecte de achizitie calculatoare
Ciclul de viata al unui
proiect informatic


Dezvoltarea sistemelor software
modele de realizare
Programare & Testare
Cascada
Cu suprapunere
Cu subproiecte
Realizare evolutiva
Pe baza de prototip
stadiala
Realizare secventiala
Realizare in spirala
Modelul Programare & Testare
Development/QA
Release
Requirements
Avantaje
-birocratie scazuta
-ciclu rapid de realizare
-cerinte scazute de planificare
-complexiate scazuta
Modelul in cascada (normal)


Requirements
Design
Development
QA/Test
Release
Requirements Document
Design Document
Code
Test Plans
Test Cases
Avantaje:
-se potriveste pentru proiecte mari
-se asigura o buna documentare a procesulelor
Dezavantaje
-srtuctura birocratica de coordonare
-ciclu lent
Modelul in cascada cu subproiecte
Requirements
Design
Development
QA/Test
Release
Requirements Document
Design Document
Code
Test Plans
Test Cases
Module1
Development
QA/Test
Module2
Development
QA/Test
Module3
Modelul in cascada cu
suprapunerea fazelor
Requirements
Design
Development
QA/Test
Release Requirements Document
Design Document
Code
Test Plans
Test Cases
Modelul de dezvoltare pe baza de
prototip
Requirements
Design


Development
Release
Requirements Document
Code
Design Document
Modelul stadial
Requirements
Design
Development
Alpha Release
Requirements Document
Design Document
Code
Test Plans
Test Cases
QA/Test
Beta Release
QA/Test
Final Release
Modelul de realizare secventiala
Requirements
Design
Development QA/Test Release
Requirements Document
Design Document
Code
Test Plans
Test Cases
Development
Development
QA/Test Release
QA/Test Release
Modelul in spirala
Design
Development
QA/Test
Release
Requirements
Design
Development
QA/Test
Design
Development
QA/Test
Design
Development
QA/Test
Design
Development
QA/Test
Compararea modelelor
C&F Waterfall RAD Spiral
Overhead L H M M/H
Size S L M M
Time S L S/M M
Complexity S L M M/L
Budget S L M M
Managementul
cerintelor
Documentarea cerintelor
Pentru clienti/pentru echipa de dezvoltare
Specificatii functionale
Pentru echipa de dezvoltare
Documentarea cerintelor-structura
1. Introduction
- need for the software program, context, brief functionality.
2. Hardware
-special hardware, minimal, optimal configurations.
3. Conceptual model
- high level view of the software program
4. Functional Requirements
-services provided to the user
5. Database Requirements
-logical organization of the data
6. NonFunctional Requirements
-other functionality that the software program should have (speed, size, ease of use,
reliability,rebustness, portability)
7. Maintenance/evolution
-anticipated changes due to hardware evolution, changing user needs
8. Glossary
-technical terms used
9. Index
Documentarea cerintelor-stilul de
redactare
Propozitii scurte
Numar de referinta si descriere
Diagrame pentru descrieri complexe
Termeni precis definiti
Paragrafe scurte
Titluri si subtitluri
Corect gramatical
Comunicare -
Raportare
Ocuparea timpului de lucru a
dezvoltatorului de software
50
35
15
Programare
Comunicarea cu
membri echipei
Instruire/Dezvolt
are
Raportare/Comunicare
PM
Management executiv
Reports, presentations, meetings, Q&A
Echipa
Meetings, Action Items, CC, Minutes, Q&A
Clienti
Requirements, visits,
demos, Q&A,
development updates,
tests
Proiectare software
Architectura
De ansamblu
Functionala
Orientata obiect
Documentarea proiectarii
De detaliu
UML
Generalitati
Diagrame
Diagrama de architectura
HTML GUI
W
M
L

G
U
I

SQL Database
Server
WAP
Terminal
Web
Terminal
J DBC
HTML
WML
Template
files
ASCI I
Arii functionale standard
Interfete externe
Interfata utilizator
Organizarea bazei de date
Memorarea datelor
Algoritmi cheie
Managementul memoriei
Concurenta
Securitate
Localizare
Distribuire in retea
Portability
Limbaje de programare
Tratarea erorilor
Proiectarea detaliata
Formal
Design Approach
Formal
Design Approach
Very Formal
Design Approach
Informal
Design Approach
Pe fiecare subrogram/modul
Complexitate
proiect
Experienta
programator
HIGH LOW
HIGH
LOW
Diagrame UML
Diagrama cazurilor de utilizare
Diagrame statice de structura
Class/Object Diagram
Diagrame de comportament
Interaction Diagrams
Sequence diagram
Statechart Diagrams
Activity Diagrams
Diagrame de implementare
Component Diagram
Deployment Diagram
Use Case Diagram
Check
Grade
Register
Classes
Database
Query
Authorize
Student
Input
Grades
Student
Professor
Registrar
Staff
Max
Credits
<<include>>
<<include>>
<<include>>
<<include>>
Include
Generalization
Use Case
Class Diagram
Student
name : String
address : String
ID : Long Integer
isCurrent():String
Graduate
department: String
isCurrent():String
Catalog Entry
exam date : Date
grade : String
passed():Boolean
Class
subject : String
professor : String
gradedPNP():String
1
*
*
1
If CatalogEntry.Student.isCurrent is n
then Catalog.Entry.grade must be N
Multiplicity: mandatory
Association
Generalization
Class
Constraint
Undergraduate
major: String
isCurrent():String
Job
0..1 Multiplicity:
optional
Attribute
Operation
Multiplicity:
Many-valued
Navigability
Object/Class Diagrams
Employee
name
Male
Female
Developer
QA/Test
Design
Job
<<dynamic>>
Sex
{complete}
Discriminator
Manager Software: MGMT
name = Name
MGMT
*
1
Software PM: MGMT
name = Name
QA Manager: MGMT
name = Name
Software PM: MGMT
name = Name
Engineer: Developer
name = Name
Engineer: Design
name = Name
Engineer: QA/Test
name = Name
Engineer: Developer
name = Name
Object Diagram
showing instances of
the above class diagram
Class Diagram
with Multiple and
Dynamic Classification
Sex: M/F
Sex: M/F
Sex: M/F Sex: M/F Sex: M/F Sex: M/F
Sex: M/F Sex: M/F
Statechart Diagram
State C
State B
State A
State D
Trigger
condition
A to B
Trigger
condition
B to D
Trigger
condition
C to A
Trigger
condition
C to B
Trigger
condition
B to C
start
self-transition
transition
state
Sequence Diagram
Initiate
request
Init servlet
new Gdocument();
Connect to the database
servlet.setDomaine();
servletgetConnection();
HTTP request on the server
TCP/IP port 80
Database call
prepareStatement()
executeQuerry()
Response to the
SQL request
Database
call return
Read data
getString();
Generate HTML output
doc.p();
HTML return
return();
Display
WEB page
Web Client Web Server Database
Activity Diagram
Present
lecture
Prepare
slides
Turn on
the projector
Tune the
projector
[found projector]
[no projector]
Use
blackboard
Begin
lecture
Start
Fork
Join
End
Component Diagram
WML Interface
Search Engine
Database
query
Deployment Diagram
WAP Terminal
WML Interface
Server
Search Engine
Database
query
Component
Communication
Interface
Application
Connection
Contained object(s)
Node
Planificarea
calendaristica si a
costurilor
Work Breakdown Structure WBS
Analiza drumului critic - ADC
Tehnica diagramelor GANTT
Jaloane
Tehnici pentru identificarea si
documentarea rolurilor in proiecte
Metode si instrumente de baza
Work Breakdown Structure WBS

Analiza drumului critic - ADC

Tehnica diagramelor GANTT

Jaloane

Metoda Earned Value
WBS
Tehnica de grupare a activitatilor pe pachete in raport de
rezultate pe diferite niveluri de detaliere prin care se asigura
organizarea si definirea completa a sferei de cuprindere a
proiectului.
Are asociata o reprezentare grafica de tip arbore si un
dictionar al specificatiilor pachetelor.

Nivelul 0: un pachet, reprezentand intregul proiect.
Nivelul 1: Uzual, 5-7 pachete de activitati, care acopera, de
regula, diferitele faze din ciclul de viata al proiectului. Exista,
in mod obligatoriu, un pachet pentru managementul
proiectului.
Nivelul 2: Fiecare pachet din nivelul 1 se detaliaza in 5-7
pachete de nivel 2, dupa rezultatele activitatilor s.a.m.d.
0. Implementare de sistem
1. Analiza 2. Proiectare si
Constructie
3. Tranzitia catre
Productie
4. Managementul
proiectului
1.1 Definire cerinte
de Business
1.2 Definire
Arhitectura Tehnica
1.2 Definire Acces la
date
2.1 Colectarea datelor
din sistemele GL
2.2 Proiectarea si
realizarea accesului la
date
2.3 Proiectarea si
Constructia BD
Consolidate
2.4 Documentatie
3.1 Testare
3.2 Instruire
3.3 Pregatire Platforma
Productie / Lansare
Productie
4.1Demarare
4.2 Planificare
4.3 Coordonare
4.4 Control
4.5 Terminare
WBS -exemplu
0. Implementare de sistem
1. Analiza 2. Proiectare si
Constructie
3. Tranzitia catre
Productie
4. Managementul
proiectului
1.1 Definire cerinte
de Business
1.2 Definire
Arhitectura Tehnica
1.2 Definire Acces la
date
2.1 Colectarea datelor
din sistemele GL
2.2 Proiectarea si
realizarea accesului la
date
2.3 Proiectarea si
Constructia BD
Consolidate
2.4 Documentatie
3.1 Testare
3.2 Instruire
3.3 Pregatire Platforma
Productie / Lansare
Productie
4.1Demarare
4.2 Planificare
4.3 Coordonare
4.4 Control
4.5 Terminare
WBS -exemplu
Esalonare calendaristica diagrame
GANTT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Start





P

CLU

E

OS

R

CM

D

M

Finish


Planul jaloanelor
Denumire jalon Data planificat
Demararea proiectului 1.06.2004
Obinerea schielor de proiect 31.08.2004
Finalizarea reelelor tehnice 31.05.2005
Terminarea proiectului 31.10.2005
Managementul costurilor
Managementul costurilor proiectelor presupune:

- Estimarea costurilor, prin tehnici de estimare
- Planificarea costurilor, prin tehnici de bugetare
- Controlul costurilor, prin metoda Earned Value

Indicatorii metodei Earned Value
Costul planificat al activitilor programate
(BCWS - Budget Cost of Work Scheduled)
Suma estimrilor de cost aprobate, pentru activitile sau
prile de activitate planificate a fi realizate ntr-o
perioad dat. Se utilizeaz i denumirea de cost
conform bugetului pentru activitile programate.

Costul planificat al activitilor realizate
(BCWP - Budget Cost of Work Performed)
Suma estimrilor de cost aprobate pentru activitile sau
prile de activitate realizate ntr-o perioad dat. Se
utilizeaz i denumirea de cost conform bugetului pentru
activitile realizate.

Costul total estimat la terminare
(EAC - Estimate at completion)
Costul total estimat pentru o activitate, grup de activiti sau
proiect, la momentul finalizrii sale. De regul, se recurge la
ajustarea estimrii iniiale a costului, pe baza nivelului de
execuie al proiectului la momentul respectiv.
Costul estimat pentru terminare
(ETC - Estimate to complete)
Costul adiional la costul curent preconizat a fi necesar pentru
finalizarea unei activiti, grup de activiti sau a unui proiect.
Cele mai multe tehnici pentru realizarea acestei estimri
includ ajustri ale estimrii iniiale a costului pe baza nivelului
de execuie a proiectului la momentul respectiv.
Costul efectiv al activitilor realizate
(ACWP - Actual cost of work performed)
Costurile totale (directe i indirecte) ocazionate de realizarea
unor activiti pe parcursul unei perioade date.
EAC
BAC
Diferen datorat
costului
BCWS
ACWP
Momentul actual
Unitate monetar
Timp
BCWP (EV)
Diferen datorat
ntrzierii
Diferen final
estimat
Indice de performan a costului
(CPI - Cost Performance Index)
Raportul dintre costul planificat i costul efectiv. Exprim
mrimea relativ a depirii costurilor.


Indice de performan a planului
(SPI - Schedule performance index -)
Raportul dintre costul planificat al activitilor realizate i
costul planificat al activitilor programate.
Analiza
timp
c
o
s
t
u
r
iBCWS
ACWP
BCWP
timp
c
o
s
t
u
r
iBCWS
ACWP
BCWP
timp
c
o
s
t
u
r
iBCWS
ACWP
BCWP
Metode de estimare
Estimari ale expertilor/echipei
Algoritmice
Pe baza de regresie: COCOMO
Estimari COCOMO
Organic mode
-small teams
-familiar environment
-familiar applications
Semi-detached mode
-experienced and
inexperienced staff
Embedded mode
-tight constraints
-complex projects
PM = 2.4(KDSI)
1.05

TDEV = 2.5(PM)
0.38

PM = 3.4(KDSI)
1.12

TDEV = 2.5(PM)
0.35

PM = 3.6(KDSI)
1.20

TDEV = 2.5(PM)
0.32

KDSI = number of thousands delivered instructions
PM = number of persons month
TDEV = development time (months)
N = (PM/TDEV) number of personnel
Exemplu
Pentru un proiect de 50.000 instructiuni,
modul organic:

PM = 2.4(50)
1.05
= 146 p.m.
TDEV = 2.5(146)
0.38
= 17 luni
N = (PM/TDEV) = (146/17) = 9 persoane

Asigurarea calitatii
software /Testare
Aspecte organizatorice ale testarii
Asigurarea calitatii
Planuri de testare
Cazurile de test
Procesul de testare
Function testing
Module testing
Subprogram testing
Program testing
Acceptance testing
Echipa redusa pentru asigurarea
calitatii
TL/QA Lead
Test Engineer
Developer Developer
PM
-QA/Test este parte a echipei de dezvoltare
Echipa de dimensiuni medii pentru
asigurarea calitatii
Developer Developer
PM
Development Team Leader
Test Engineer Test Engineer
QA leader
Echipa de dimensiuni mari pentru
asigurarea calitatii
QA Manager
Test Engineer Test Engineer
PM PM
Development
Manager
Procesul de asigurare a calitatii
Unit testing Developer Subroutine, module, class,
informally
Source-code testing
Technical reviews
Program testing
Developer
Development team
Test/QA team
Line by line in a debugger
Walk through inspection,
code reading
Test plan/Test cases
Integration testing Developer of the
new code
Process Responsabil Descriere
Test of the module after the
insertion of the new code
Plan de testare - template
Overview - architecture of the program under test, test approach, goals, methodologies,
arguments
Definition - table: terms and acronyms related to the testing plan
Bounds
Scope- what will be tested and what not
Setting- location where the test will be performed
Quality risks
Component testing - states, transactions, data flow, functionality, UI
Integration testing - APIs, error handling, functionality, UI, performance
System and acceptance testing - states, transactions, data flow coverage, functionality, UI,
error handling, operations, reliability, date/time, localization, installation and configuration
options, compatibility, documentation
Proposed schedule/milestones - milestones from the Gantt chart (high level
deliverables)
Test Development and Configuration - Test plan complete, Test lab configured, Test suite
complete
Testing - Phases - Test cycles
Tracking
test tracking - list to manage the test cases, and the way the process is
documented
Test suites table- sequence of test case for all the test suites
defect tracking - tool/database, classification and the way communication
occurs (dev team, QA, mgmt)
Phases (1,2,3,4,5) - for each phase, the criteria essential for
beginning/completing various test phases
Release management - how a software component should be identified
release (revision) number- compatibility, os version, tested/not testes, test
phase/cycle
Risks and contingencies
training needs
availability of additional development support
Change history - changes and revisions made to the test plan
Referenced documents
Cazurile de test
Use Case Test - against a/several given usage/s
System & Acceptance Test - program as a whole,
real data
Functional Test - functionality (module, program)
Structural Test - driven by the structure of the
program
Boundary Test - test the boundary conditions
Requirements-based Test - test against the original
requirements
Behavioral Test - a set of possible user actions
Fault-based Test - error input response
Regression Test - re-testing
Testare distribuita
A
B
A B
A
B
B
A
A and B test
different
conditions
A and B test
the same
conditions
A and B test
some similar
conditions and
some
independent
A test
conditions
cover
B tests
conditions
Echipa de
dezvoltare software
Avantajele lucrului in echipa
furnizeaz opinii i cunotine pentru probleme
complexe ;
reprezint un bun mediu de nvare;
sunt mult mai orientate ctre obiective;
valorific mai bine resursele individuale;
pot fi mai uor formate, dizolvate, reorganizate;
cultiv loialitatea;
favorizeaz delegarea;
controleaz comportamentul prin norme proprii.
Neajunsurile lucrului in echipa
consum timp;
par confuze, dezordonate, scpate de sub control;
pot cauza confuzii de roluri;
sunt percepute negativ de cei care apreciaz
ordinea i controlul;
necesit transformarea oamenilor;
au nevoie de timp pentru a produce efecte.

Tipuri de echipe
echipe specializate n rezolvarea unor
probleme;
echipe autoconduse;
echipe interfuncionale.

Ciclul de viata al unei echipe
Modelul Tuckman:

constituirea (formarea);
furtuna (rbufnirea);
normalizarea (normarea);
funcionarea (performana);
suspendarea (desfiinarea).
Roluri in echipa
conductorul;
adjunctul;
nonconformistul;
evaluatorul;
muncitorul;
investigatorul;
coechipierul;
finalizatorul.

Matricea de asignare a
responsabilitatilor
Tehnica prin care elementele din structura
organizatorica a proiectului sunt asociate
cu elemente din structura detaliat
orientat pe activiti, astfel incat sa se
garanteze faptul c exist o persoan
responsabil pentru fiecare pachet de
activitati.
Matricea de asignare a
responsabilitatilor - exemplu
Roluri si elemente de mediu
Denumirea pachetului de activitati P
r
o
p
r
i
e
t
a
r
u
l

P
r
o
i
e
c
t
u
l
u
i
M
a
n
a
g
e
r
u
l

p
r
o
i
e
c
t
u
l
u
i
A
r
h
i
t
e
c
t

d
e

S
i
s
t
e
m
A
n
a
l
i
s
t

P
r
o
g
r
a
m
a
t
o
r
A
n
a
l
i
s
t

F
i
n
a
n
c
i
a
r

S
u
p
o
r
t

T
e
h
n
i
c

1.Analiza
1.1 Definire Cerinte de Business
C C R
1.2 Definire Arhitectura Tehnica
R C
1.3 Definire Acces la Date
R C
2. Proiectare si Constructie
2.1 Colectare date din sistemele GL
R C
2.2 Proiectarea si Constructia Accesului la Date
R C
2.3 Proiectarea si Constructia BD Consolidate
R C
2.4 Documentatie
R C
3. Tranzitia catre Productie
3.1 Testare
C R
3.2 Instruire
R
3.3 Pregatire Platforma Productie / Lansare Productie
R
4. Management de proiect C R
Versiune:1.1
Managerl Executiv
client
Coordonator Proiect din partea clientului
Manager Financiar
client
Manager IT / MIS
client
Analist Financiar Suport Tehnic
Manager de Proiect
Arhitect de sistem
Analist Programator
Manager partener
Echipa de proiect
Manager echipa consultanti
implementator
Manager executiv
implementator
Referinte
References
Sabau Gh, Lungu I Sisteme
informatice pentru conducere, Editura
Economica, bucuresti 2004
Asociaia Project Management Romnia
Managementul proiectelor. Glosar,
Editura Economic, Bucureti, 2002.
PMI PMBOK Guide, A Guide to the
Project Management Body of
Knowledge, draft 2003.
References
IPMA International Competence
Baseline, 2000,
http://ipma.kingsquare.nl/?page=155.

S-ar putea să vă placă și