Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 57 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
57
Dung lượng
639,37 KB
Nội dung
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
1
Các kinh nghiệm q của
Công nghệ phần mềm
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
2
Mục đích:
?
?
Khám
Khám
phá
phá
các
các
triệu
triệu
chứng
chứng
và
và
các
các
nguyên
nguyên
nhân
nhân
cốt
cốt
lõi
lõi
của
của
các
các
vấn
vấn
đề
đề
trong
trong
phát
phát
triển
triển
phần
phần
mềm
mềm
?
?
Trình
Trình
bày
bày
Rationals
Rationals
6
6
kinh
kinh
nghiệm
nghiệm
tốt
tốt
cho
cho
quá
quá
trình
trình
phát
phát
triển
triển
phần
phần
mềm
mềm
?
?
Xem
Xem
xét
xét
cách
cách
dùng
dùng
các
các
kinh
kinh
nghiệm
nghiệm
này
này
để
để
giảI
giảI
quyết
quyết
các
các
vấn
vấn
đề
đề
trong
trong
phát
phát
triển
triển
phần
phần
mềm
mềm
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
3
Phân tích tình hình của CNPM
Kinh tế thế giớI ngày
càng phụ thuộc hơn
vào CNPM
Các ứng dụng mơ rộng
về kích thước, độ phức
tạp, và phân bố
Thương trường đòi hỏi nâng
cao năng suất & chất lượng
và giảm thời gian
Không đủ nhân lực có
trình độ
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
4
Phát triển phần mềm là công việc tập thể
Project
Manager
Performance
Engineer
Release
Engineer
Analyst
Developer
Tester
Các thách thức
• Các nhóm đông hơn
• Sự chuyên môn hóa
• Phân tán
• Công nghệ thay đổi
quá nhanh
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
5
Chúng ta đã làm việc ra sao ?
Project
Manager
Performance
Engineer
Release
Engineer
Analyst
Tester
• Nhiều thành công
• Quá nhiều thất bại
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
6
Các triệu chứng của các vấn đề trong PTPM
?
?
Hiểu
Hiểu
không
không
đúng
đúng
những
những
gì
gì
người
người
dùng
dùng
cần
cần
?
?
Không
Không
thể
thể
thích
thích
ứng
ứng
với
với
các
các
thay
thay
đổi
đổi
về
về
y
y
/
/
c
c
đ
đ
/
/
v
v
hệ
hệ
thống
thống
?
?
Các
Các
Module
Module
không
không
khớp
khớp
với
với
nhau
nhau
?
?
Phần
Phần
mềm
mềm
khó
khó
bảo
bảo
trì
trì
và
và
nâng
nâng
cấp
cấp
,
,
mở
mở
rộng
rộng
?
?
Phát
Phát
hiện
hiện
trễ
trễ
các
các
lỗ
lỗ
hổng
hổng
của
của
dự
dự
án
án
?
?
Chất
Chất
lượng
lượng
phần
phần
mềm
mềm
kém
kém
?
?
Hiệu
Hiệu
năng
năng
của
của
phần
phần
mềm
mềm
thấp
thấp
?
?
Các
Các
thành
thành
viên
viên
trong
trong
nhóm
nhóm
không
không
biết
biết
được
được
ai
ai
đã
đã
thay
thay
đổi
đổi
cái
cái
gì
gì
,
,
khi
khi
nào
nào
,
,
ở
ở
đâu
đâu
,
,
tai
tai
sao
sao
phải
phải
thay
thay
đổi
đổi
?
?
Quá
Quá
trình
trình
build
build
-
-
and
and
-
-
release
release
không
không
đáng
đáng
tin
tin
cậy
cậy
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
7
Symptoms
end-user needs
changing
requirements
modules dont fit
hard to maintain
late discovery
poor quality
poor performance
colliding
developers
build-and-release
Root Causes
insufficient requirements
ambiguous communications
brittle architectures
overwhelming
complexity
undetected inconsistencies
poor testing
subjective
assessment
waterfall
development
uncontrolled change
insufficient automation
Diagnose
Chữa trò triệu chứng không giải quyết vấn đề
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
8
Các nguyên nhân chính của các v/đ trong PTPM
?
?
Sự
Sự
quản
quản
lý
lý
y
y
/
/
c
c
người
người
dùng
dùng
không
không
đầy
đầy
đủ
đủ
?
?
Trao
Trao
đổi
đổi
thông
thông
tin
tin
mơ
mơ
hồ
hồ
và
và
không
không
đầy
đầy
đủ
đủ
?
?
Kiến
Kiến
trúc
trúc
không
không
vững
vững
chắc
chắc
?
?
Độ
Độ
phức
phức
tạp
tạp
vượt
vượt
quá
quá
tầm
tầm
kiểm
kiểm
soát
soát
?
?
Có
Có
những
những
mâu
mâu
thuẫn
thuẫn
không
không
phát
phát
hiện
hiện
được
được
giữa
giữa
y
y
/
/
c
c
,
,
thiết
thiết
kế
kế
,
,
và
và
cài
cài
đặt
đặt
?
?
Kiểm
Kiểm
chứng
chứng
không
không
đầy
đầy
đủ
đủ
?
?
Sự
Sự
lượng
lượng
giá
giá
chủ
chủ
quan
quan
về
về
tình
tình
trạng
trạng
của
của
dự
dự
án
án
?
?
Sự
Sự
trễ
trễ
nải
nải
trong
trong
việc
việc
giảm
giảm
rủi
rủi
ro
ro
do
do
mô
mô
hình
hình
thác
thác
nước
nước
?
?
Sự
Sự
lan
lan
truyền
truyền
không
không
thể
thể
kiểm
kiểm
soát
soát
của
của
các
các
thay
thay
đổi
đổi
?
?
Thiếu
Thiếu
các
các
công
công
cụ
cụ
tự
tự
động
động
hóa
hóa
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
9
?
?
Các
Các
y
y
/
/
c
c
không
không
đầy
đầy
đủ
đủ
?
?
Trao
Trao
đổi
đổi
thông
thông
tin
tin
mơ
mơ
hồ
hồ
?
?
Kiến
Kiến
trúc
trúc
kém
kém
bền
bền
vững
vững
?
?
Độ
Độ
phức
phức
tạp
tạp
quá
quá
cao
cao
?
?
Các
Các
lượng
lượng
giá
giá
chủ
chủ
quan
quan
?
?
Các
Các
mẫu
mẫu
thuẫn
thuẫn
chưa
chưa
thấy
thấy
?
?
Kiểm
Kiểm
chứng
chứng
nghèo
nghèo
nàn
nàn
?
?
Q
Q
/
/
tr
tr
phát
phát
triển
triển
thác
thác
nước
nước
?
?
Sự
Sự
thay
thay
đổi
đổi
không
không
k
k
/
/
soát
soát
?
?
Thiếu
Thiếu
sự
sự
tự
tự
động
động
hóa
hóa
?
?
Phát
Phát
triển
triển
theo
theo
vòng
vòng
lặp
lặp
?
?
Quản
Quản
trò
trò
các
các
y
y
/
/
c
c
?
?
Sử
Sử
dụng
dụng
KT
KT
component
component
?
?
Mô
Mô
hình
hình
hóa
hóa
trực
trực
quan
quan
?
?
Kiểm
Kiểm
đònh
đònh
chất
chất
lượng
lượng
?
?
Kiểm
Kiểm
soát
soát
các
các
thay
thay
đổi
đổi
Nguyên nhân cốt lõi
Nguyên nhân cốt lõi
Các kinh nghiệm tốt
Các kinh nghiệm tốt
Các kinh nghiệm giúp giải quyết các vấn đề
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
10
Symptoms
end-user needs
changing
requirements
modules dont fit
hard to maintain
late discovery
poor quality
poor performance
colliding developers
build-and-release
Root Causes
insufficient requirements
ambiguous
communications
brittle architectures
overwhelming complexity
undetected
inconsistencies
poor testing
subjective assessment
waterfall development
uncontrolled change
insufficient automation
Best Practices
develop iteratively
manage requirements
use component
architectures
model the software
visually
verify quality
control changes
G/q các nguyên nhân giúp giảm các triệu chứng
[...]... trong CNPM Duong Anh Ð?c 11 Kiểm đònh chất lượng Các kinh nghiệm tạo ra các nhóm lv hiệu năng cao Kết quả Performance Engineer • Nhiều dự án thành công hơn Analyst Project Manager Developer Develop Iteratively Manage Requirements Use Component Architectures Tester Model Visually Verify Quality Release Engineer Control Changes Các kinh nghi?m q trong CNPM Duong Anh Ð?c 12 Kinh nghiệm 1: PTPM theo vòng lặp... thương mại trên thò trường ? n hóa không ngừng phần mềm đang tồn tại Tiế Các kinh nghi?m q trong CNPM Duong Anh Ð?c 32 Ví dụ: Component-Based Architecture Lead Tracking User Interface Licensing User Interface User Interface Mechanisms Customer Key: - Purchased - Built - New Các kinh nghi?m q trong CNPM Duong Anh Ð?c Product Oracle Vantive 33 License Kiến trúc Component giải quyết các vấn đề Các nguyên... Testing Subsystem Testing System Testing T I M E Các kinh nghi?m q trong CNPM Duong Anh Ð?c 15 Qui trình thác nước có nhiều rủi ro R I S K Requirements Analysis Design Code & Unit Testing Subsystem Testing System Testing T I M E Các kinh nghi?m q trong CNPM Duong Anh Ð?c 16 Ứ/d QT thác nước theo vòng lặp Iteration 1 Iteration 2 R Iteration 3 R D R D D C C T C T T T I M E ? Các vòng lặp đầu dành cho các... nghi?m q trong CNPM Duong Anh Ð?c 19 Áp dụng các kinh nghiệm trong chu kỳ sống PM Phases Process Workflows Inception Elaboration Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Supporting Workflows Configuration & Change Mgmt Project Management Environment Preliminary Iteration(s) Iter #1 Iter #2 Iter #n Iter Iter #n +1 #n+2 Iterations Các kinh nghi?m... và tao sưu liệu về các thỏa hiệp & các quyết đònh Yêu cầu đối với hệ thống luôn động -Phải lường trước khả năng chúng bò thay đổi trong quá trình PTPM Các kinh nghi?m q trong CNPM Duong Anh Ð?c 23 Đònh nghóa: Y/c đ/v HT và sự quản lý chúng ? Một yêu cầu là một điều kiện hoặc khả năng mà hệ thống phải tuân theo/có ? Quản lý y/c là một tiếp cận có hệ thống để ? Suy dẫn, tổ chức , và tạo sưu liệu về các... liên quan đến cấu trúc, hành vi và ngữ cảnh (context): ? ch dùng (Usage) Cá ? Chức năng (Functionality) ? u năng (Performance) Hiệ ? Tính co dãn (Resilience) ? Khả năng tái sử dụng (Reuse) ? Tính dễ hiểu (Comprehensibility) ? c ràng buộc về kinh tế và kỹ thuật và các dung Cá hòa ? Tính thẩm mỹ (Aesthetics) Các kinh nghi?m q trong CNPM Duong Anh Ð?c 31 Resilient, Component-Based Architectures ? Các kiến... CNPM Duong Anh Ð?c 13 Verify Quality Kinh nghiệm 1: PTPM theo vòng lặp ? Một thiết kế ban đầu có thể không hoàn chỉnh so với các yêu cầu chính ? Việc phát hiện trễ các thiếu sót trong bản thiết kế sẽ làm tăng giá thành, tốn thời gian và thậm chí làm hủy bỏ dự án $$$ Thời gian và tiền bạc chi ra để cài đặt một thiết kế sai là không thể bù đắp Các kinh nghi?m q trong CNPM Duong Anh Ð?c 14 Qui trình thác... các yêu cầu Đánh giá khách quan các chức năng và hiệu năng Các mâu thuẫn đễ phát hiện RM tool cung cấp một kho chứa các y/c, thuộc tính và đồ hình, sẽ được kết nối tự động với sưu liệu 28 Kinh nghiệm 3: Dùng kiến trúc Component-Based Develop Iteratively Manage Requirements Model Visually Use Component Architectures Control Changes Các kinh nghi?m q trong CNPM Duong Anh Ð?c 29 Verify Quality Kiến trúc... Bắt đầu test sớm Các rủi ro được xác đònh và giải quyết sớm 21 Kinh nghiệm 2: Quản lý yêu cầu đ/v hệ thống Develop Iteratively Manage Requirements Use Component Architectures Model Visually Control Changes Các kinh nghi?m q trong CNPM Duong Anh Ð?c 22 Verify Quality Kinh nghiệm 2: Quản lý yêu cầu đ/v hệ thống ? Suy dẫn, tổ chức, và tạo sưu liệu về các yêu cầu chức năng và các ràng buộc ? Lượng giá các... kiến trúc tốt thỏa mãn các y/c đ/v chúng, là tính đàn hồi , và component-based ? Một kiến trúc đàn hồi cho phép ? ng cường khả năng dễ bảo trì và dễ mở rộng Tă ? Khả năng tái sử dụng với lợi ích kinh tế cao ? n chia công việc rõ ràng trong đội ngũ PTPM Phâ ? i gọn các phụ thuộc phần cứng & hệ thống Gó ? Một kiến trúc component-based cho phép ? i sử dụng hoặc tùy chỉnh các component sẵn có Tá ? Chọn .
mở
mở
rộng
rộng
?
?
Phát
Phát
hiện
hiện
trễ
trễ
các
các
lỗ
lỗ
hổng
hổng
của
của
dự
dự
án
án
?
?
Chất
Chất
lượng
lượng
phần
phần
mềm
mềm
kém
kém
?
?
Hiệu
Hiệu
năng
năng
của
của
phần
phần
mềm
mềm
thấp
thấp
?
?
Các
Các
thành
thành
viên
viên
trong
trong
nhóm
nhóm
không
không
biết
biết
được
được
ai
ai
đã
đã
thay
thay
đổi
đổi
cái
cái
gì
gì
,
,
khi
khi
nào
nào
,
,
ở
ở
đâu
đâu
,
,
tai
tai
sao
sao
phải
phải
thay
thay
đổi
đổi
?
?
Quá
Quá
trình
trình
build
build
-
-
and
and
-
-
release
release
không
không
đáng
đáng
tin
tin
cậy
cậy
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
7
Symptoms
end-user needs
changing
requirements
modules. Design
Preliminary
Iteration(s)
Iter.
#1
Phases
Process Workflows
Iterations
Supporting Workflows
Iter.
#2
Iter.
#n
Iter.
#n +1
Iter.
#n+2
Iter.
#m
Iter.
#m +1
Deployment
Configuration