Professional Documents
Culture Documents
Thöông tröôøng ñoøi hoûi naâng Khoâng ñuû nhaân löïc coù
cao naêng suaát & chaát löôïng trình ñoä
vaø giaûm thôøi gian
Các kinh nghi?m quí trong CNPM
Duong Anh Ð?c 3
Phaùt trieån phaàn meàm laø coâng vieäc taäp theå
Release
Engineer
Tester
Release
Engineer
Root Causes
Symptoms
insufficient requirements
end-user needs
ambiguous communications
changing
brittle architectures
requirements
overwhelming
modules dont fit
complexity
hard to maintain
undetected inconsistencies
late discovery
poor testing
poor quality
subjective
poor performance assessment
colliding waterfall
developers development
build-and-release uncontrolled change
Diagnose insufficient automation
Söû duïng
Quaûn trò Moâ hình hoùa Kieåm ñònh
kieán truùc tröïc quan
Caùc y/c chaát löôïng
Component
Keát quaû
Performance
• Nhieàu döï aùn thaønh Engineer
coâng hôn Analyst
Project
Manager
Developer
Develop Iteratively
Tester
Use
Manage Component Model Verify
Requirements Architectures Visually Quality
Release
Engineer
Control Changes
Develop Iteratively
Use
Manage Model Verify
Component Visually
Requirements Quality
Architectures
Control Changes
$$$
Thôøi gian vaø tieàn baïc chi ra ñeå caøi ñaët moät
thieát keá
sai laø khoâng theå buø ñaép
Các kinh nghi?m quí trong CNPM
Duong Anh Ð?c 14
Qui trình thaùc nöôùc truyeàn thoáng
Requirements
Analysis
Design
Subsystem
Testing
System Testing
T I M E
Requirements
R Analysis
I
Design
S
K Code & Unit
Testing
Subsystem
Testing
System Testing
T I M E
T I M E
? Caùc voøng laëp ñaàu daønh cho caùc v/ñ nhieàu ruûi ro
? Moãi voøng laëp sinh ra moät phieân baûn vôùi moät söï boå
sung cho heä thoáng
? Moãi VL bao goàm caû vieäc tích hôïp vaø kieåm chöùng
K Iterative Waterfall
Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
Supporting Workflows
Configuration & Change Mgmt
Project Management
Environment
Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1
Iterations
Các kinh nghi?m quí trong CNPM
Duong Anh Ð?c 20
Qui trình laëp giaûi quyeát caùc vaán ñeà
Nguyeân nhaân coát loõi Caùch giaûi quyeát
? Khoâng ñuû caùc yeâu caàu Nhaän vaø khuyeán khích caùc
ñ/v heä thoáng feedback töø ngöôøi duøng
? Trao ñoåi TT mô hoà Caùc hieåu laàm nghieâm troïng
ñöôïc laøm roõ sôùm
? Kieán truùc keùm beàn vöõng
Taäp trung phaùt trieån caùc khaùi
? Ñoä phöùc taïp quaù cao nieäm chöùa nhieàu ruûi ro tröôùc
? Ñaùnh giaù chuû quan
Ñaùnh giaù khaùch quan thoâng qua
? Caùc maâu thuaãn khoâng test
ñöôïc phaùt hieän
Maâu thuaãn ñc phaùt hieän sôùm
? Kieåm chöùng keùm
? QT thaùc nöôùc Baét ñaàu test sôùm
? Caùc thay ñoåi khoâng ks Caùc ruûi ro ñöôïc xaùc ñònh vaø giaûi
quyeát sôùm
? Thieáu ccuï töï ñoäng
Các kinh nghi?m quí trong CNPM
Duong Anh Ð?c 21
Kinh nghieäm 2: Quaûn lyù yeâu caàu ñ/v heä thoáng
Develop Iteratively
Use
Model Verify
Component Visually
Manage Quality
Requirements Architectures
Control Changes
Ñích
Develop Iteratively
Control Changes
User Interface
Mechanisms
Key:
- Purchased Oracle Vantive
- Built
- New
Develop Iteratively
Use
Manage Verify
Component
Requirements Model Quality
Architectures Visually
Control Changes
? Naém baét caáu truùc vaø haønh vi cuûa caùc thaønh phaàn
kieán truùc
? Theå hieän caùch maø caùc phaàn töû heä thoáng khôùp vôùi
nhau
? Che daáu hoaëc phôi baøy chi tieát theo nhu caàu coâng
vieäc
? Duy trì tinhd nhaát quaùn giöõa thieát keá vaø caøi ñaët
? Taêng cöôøng trao ñoåi thoâng tin roõ raøng
Scenario
Scenario State
State
Scenario
Scenario
Diagrams State
State
Diagrams
Sequence
Diagrams
Sequence
Diagrams State
Diagrams
State
Diagrams
Diagrams
Diagrams Models Diagrams
Diagrams
Diagrams Diagrams
Scenario
Scenario
Component
Component
Scenario
Scenario
Diagrams
Component
Diagrams
Component
Component
Diagrams
Collaboration
Diagrams
Collaboration
Diagrams Deployment
Deployment Component
Diagrams
Diagrams
Diagrams
Diagrams Diagrams Diagrams
Diagrams
Diagrams Diagrams
DocumentList
FileMgr Document
add( )
name : int
fetchDoc( ) delete( )
docid : int
sortByName( )
numField : int
add file [ numberOffile==MAX ] / Writing
get( )
read() fill the
flag OFF
open( )
code..
close( )
FileList read( )
use-case 1
sortFileList( ) Openning
fList create( )
fillDocument( )
add( )
delete( )
Actor A
1 close file
Actor B
close file
Reading Closing
use-case 2
rep
File
Repository
<<entity >>
(from Persistence) GrpFile
Customer
name
read( )
name : char * = 0
addr
read( )
readDoc( )
open( )
readFile( )
receive ()
create( )
fillFile( )
withdraw ()
Domain
use-case 3
Deployment
fetch ()
send()
Expert UI
RogueWave
Repository DocumentList
Persistence
Windows9 5
Window 9 5
9 : sortByName( )
Windows9 5
global
FileManager
User Interface
oùAÌØ . E X E
AÕ
Package
mainWnd : MainWnd W i n d o w s
N T
Definition
1: D o c view request ( )
Document
L
Solaris
2 : fetchDoc ( )
Diagram
gFile : GrpFile
.AÙ E X E
4: c r e a t e )(
Alpha
8 : f i l l F i l(e) U N I X
A Ø A Ø . EXE
Windows
fileMgr : FileMgr
IBM
File FileList
Mainframe
3: c r e a t e )(
6 : f i l l D o c u m e n( )t
AØÌAØÌ
7 : readFile( )
5 : readDoc ( )
document : Document
repository : Repository
2 : fetchDoc ( )
3: c r e a t e )(
4: c r e a t e )(
5 : readDoc ( )
EØ A Ø A Ø U Ù A Â AØAÂ 6 : f i l l D o c u m e n( )t
A Ø AÙ
A Õ AÙAØ AÕU.Ø
7 : readFile( )
8 : f i l l F i l(e)
Sequence Diagram
Executable System
risk targeting
deployment
risk targeting
deployment
Develop Iteratively
Use
Manage Model
Component Visually
Requirements Verify
Architectures Quality
Control Changes
Chi phí tìm kieám vaø söûa chöõa caùc vaán ñeà cuûa
phaàn meàm seõ taêng haøng 100, haøng 1000 laàn
sau khi PT
Cost
Development Deployment
MoäOne
t chu
Manual
trình test
Testthuû
Cycle
coâng
13,000 laànTests
13,000 Test 2 Weeks
2 Tuaàn 6 People
6 Ngöôøi
Test
töï ñoäng
13,000Test
13,000 Test
66giôø
giôø
Ch?y ngày càng nhi?u test ho n
11ngöôø
ngöôøi i
Ñoä tin caäy Ö/d cuûa toâi coù laøm maát boä Caùc coâng cuï phaân tích vaø
nhôù? caùc thieát bò coding
Hieäu naêng öùng Ö/d cuûa toâi coù hoài ñaùp hôïp Kieåm tra hieäu naêng cuûa moãi
duïng leä? use-case/scenario ñaõ caøi ñaët
Develop Iteratively
Use
Manage Model Verify
Component Visually
Requirements Quality
Architectures
Control Changes
Project
Develop Iteratively
Manager
Developer
Use Model
Manage Component Visually Verify
Requirements Architectures Quality
Tester
Control
Changes
Release
Engineer
Các kinh nghi?m quí trong CNPM
Duong Anh Ð?c 57