Tải bản đầy đủ (.pdf) (57 trang)

Tài liệu Công nghệ phần mềm P1 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (639.37 KB, 57 trang )

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


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


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ì


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


,
,
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


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


hồ
hồ


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
?
?


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ế
,
,


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


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


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
?
?


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
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
11
Phát
Phát
triển
triển
theo
theo
vòng

vòng
lặp
lặp
Kiểm
Kiểm
soát
soát
các
các
thay
thay
đổi
đổi
trong
trong
hệ
hệ
thống
thống
Sử
Sử
dụng
dụng
kiến
kiến
trúc
trúc
Component
Component
Quản

Quản
trò
trò
Các
Các
y
y
/
/
c
c


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
Các kinh nghiệm q của CNPM

Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
12
Các kinh nghiệm tạo ra các nhóm lv hiệu năng cao
Project
Manager
Performance
Engineer
Release
Engineer
Analyst
Developer
Tester
Kết quả
• Nhiều dự án thành
công hơn
ControlControl ChangesChanges
DevelopDevelop IterativelyIteratively
UseUse
ComponentComponent
ArchitecturesArchitectures
ManageManage
RequirementsRequirements
ModelModel
VisuallyVisually
VerifyVerify
QualityQuality
Cỏc kinh nghi?m quớ trong CNPM
Duong Anh é?c
13

Kinh nghieọm 1: PTPM theo voứng laởp
Develop Iteratively
Develop Iteratively
Control Changes
Use
Component
Architectures
Manage
Requirements
Model
Visually
Verify
Quality
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
14
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
Kinh nghiệm 1: PTPM theo vòng lặp
?
?
Một
Một
thiết
thiết
kế
kế
ban
ban

đầu
đầu


thể
thể
không
không
hoàn
hoàn
chỉnh
chỉnh
so
so
với
với
các
các
yêu
yêu
cầu
cầu
chính
chính
?
?
Việc
Việc
phát
phát

hiện
hiện
trễ
trễ
các
các
thiếu
thiếu
sót
sót
trong
trong
bản
bản
thiết
thiết
kế
kế
sẽ
sẽ
làm
làm
tăng
tăng
giá
giá
thành
thành
,
,

tốn
tốn
thời
thời
gian
gian


thậm
thậm
chí
chí
làm
làm
hủy
hủy
bỏ
bỏ
dự
dự
án
án
$$$
Các kinh nghi?m quí trong CNPM
Duong Anh Ð?c
15
T I M E
Qui trình thaùc nöôùc truyeàn thoáng
Subsystem
Testing

System Testing
Code & Unit
Testing
Design
Requirements
Analysis
Cỏc kinh nghi?m quớ trong CNPM
Duong Anh é?c
16
R
I
S
K
T I M E
Qui trỡnh thaực nửụực coự nhieu ruỷi ro
Subsystem
Testing
System Testing
Code & Unit
Testing
Design
Requirements
Analysis
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
17
Ứ/d QT thác nước theo vòng lặp
?
?
Các

Các
vòng
vòng
lặp
lặp
đầu
đầu
dành
dành
cho
cho
các
các
v
v
/
/
đ
đ
nhiều
nhiều
rủi
rủi
ro
ro
?
?
Mỗi
Mỗi
vòng

vòng
lặp
lặp
sinh
sinh
ra
ra
một
một
phiên
phiên
bản
bản
với
với
một
một
sự
sự
bổ
bổ
sung
sung
cho
cho
hệ
hệ
thống
thống
?

?
Mỗi
Mỗi
VL
VL
bao
bao
gồm
gồm
cả
cả
việc
việc
tích
tích
hợp
hợp


kiểm
kiểm
chứng
chứng
T
C
D
R
T I M E
Iteration 1 Iteration 2 Iteration 3
T

C
D
R
T
C
D
R
Cỏc kinh nghi?m quớ trong CNPM
Duong Anh é?c
18
Qui trỡnh laởp ủaồy nhanh vieọc giaỷm ruỷi ro
WaterfallIterative
R
I
S
K
T I M E
Iteration Iteration Iteration Iteration Iteration Iteration Iteration
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
19
Các đặc tính của qui trình lặp
?
?
Các
Các
rủi
rủi
ro
ro

chính
chính
được
được
giải
giải
quyết
quyết
trước
trước
khi
khi


các
các
phát
phát
triển
triển
lớn
lớn
?
?
Các
Các
vòng
vòng
lặp
lặp

đầu
đầu
tiên
tiên
cho
cho
phép
phép
nhận
nhận
feedback
feedback
?
?
Việc
Việc
kiểm
kiểm
chứng
chứng


tích
tích
hợp
hợp
diễn
diễn
ra
ra

liên
liên
tục
tục
?
?
Các
Các
cột
cột
mốc
mốc
cục
cục
bộ
bộ
sẽ
sẽ
đònh
đònh
ra
ra
các
các
tiêu
tiêu
điểm
điểm
ngắn
ngắn

hạn
hạn
?
?
Sự
Sự
tiến
tiến
triển
triển
được
được
đo
đo
bằng
bằng
bản
bản
cài
cài
đặt
đặt
?
?
Các
Các
cài
cài
đặt
đặt

bộ
bộ
phận
phận


thể
thể
triển
triển
khai
khai
riêng
riêng
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
20
Áp dụng các kinh nghiệm trong chu kỳ sống PM
Project Management
Environment
Business Modeling
Implementation
Test
Analysis & 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 & Change Mgmt
Requirements
Elaboration TransitionInception Construction
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
21
Nhận
Nhận


khuyến
khuyến
khích
khích
các

các
feedback
feedback
từ
từ
người
người
dùng
dùng
Các
Các
hiểu
hiểu
lầm
lầm
nghiêm
nghiêm
trọng
trọng
được
được
làm
làm


sớm
sớm
Tập
Tập
trung

trung
phát
phát
triển
triển
các
các
khái
khái
niệm
niệm
chứa
chứa
nhiều
nhiều
rủi
rủi
ro
ro
trước
trước
Đánh
Đánh
giá
giá
khách
khách
quan
quan
thông

thông
qua
qua
test
test
Mâu
Mâu
thuẫn
thuẫn
đc
đc
phát
phát
hiện
hiện
sớm
sớm
Bắt
Bắt
đầu
đầu
test
test
sớm
sớm
Các
Các
rủi
rủi
ro

ro
được
được
xác
xác
đònh
đònh


giải
giải
quyết
quyết
sớm
sớm
Qui trình lặp giải quyết các vấn đề
Nguyên nhân cốt lõi
Nguyên nhân cốt lõi
Cách giải quyết
Cách giải quyết
?
?
Không
Không
đủ
đủ
các
các
yêu
yêu

cầu
cầu
đ
đ
/
/
v
v
hệ
hệ
thống
thống
?
?
Trao
Trao
đổi
đổi
TT
TT


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
?
?
Đánh
Đánh
giá
giá
chủ
chủ
quan
quan
?
?

Các
Các
mâu
mâu
thuẫn
thuẫn
không
không
được
được
phát
phát
hiện
hiện
?
?
Kiểm
Kiểm
chứng
chứng
kém
kém
?
?
QT
QT
thác
thác
nước
nước

?
?
Các
Các
thay
thay
đổi
đổi
không
không
ks
ks
?
?
Thiếu
Thiếu
ccụ
ccụ
tự
tự
động
động
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
22
Kinh nghiệm 2: Quản lý yêu cầu đ/v hệ thống
Control Changes
Develop Iteratively
Use
Component

Architectures
Manage
Manage
Requirements
Requirements
Model
Visually
Verify
Quality
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
23
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
Kinh nghiệm 2: Quản lý yêu cầu đ/v hệ thống
?
?
Suy
Suy
dẫn
dẫn
,
,
tổ
tổ
chức
chức
,
,



tạo
tạo
sưu
sưu
liệu
liệu
về
về
các
các
yêu
yêu
cầu
cầu
chức
chức
năng
năng


các
các
ràng
ràng
buộc
buộc
?
?

Lượng
Lượng
giá
giá
các
các
thay
thay
đổi
đổi


xác
xác
đònh
đònh
ảnh
ảnh
hưởng
hưởng
của
của
chúng
chúng
?
?
Theo
Theo
dấu
dấu



tao
tao
sưu
sưu
liệu
liệu
về
về
các
các
thỏa
thỏa
hiệp
hiệp
&
&
các
các
quyết
quyết
đònh
đònh
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
24
Đònh nghóa: Y/c đ/v HT và sự quản lý chúng
?
?

Một
Một
yêu
yêu
cầu
cầu


một
một
điều
điều
kiện
kiện
hoặc
hoặc
khả
khả
năng
năng


hệ
hệ
thống
thống
phải
phải
tuân
tuân

theo
theo
/
/


?
?
Quản
Quản


y
y
/
/
c
c


một
một
tiếp
tiếp
cận
cận


hệ
hệ

thống
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 hệ thống, và
?Thiết lập và duy trì sự thỏa thuận giữa
customer/user và project team liên quan đến các
thay đổi về yêu cầu đ/v hệ thống
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
25
Thỏa thuận về những gì mà HT phải làm
Đích
Surrogate
Goal
Xác minh
Các yêu cầu
Cộng đồng
Các Customer
User
Các yêu cầu
Hệ thống
cần xây dựng
Adapted from Al Davis

×