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

Kỹ nghệ phần mềm 03 potx

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 (596.66 KB, 59 trang )

Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN
Email:
K ngh phn mm
Software Engeneering
B môn Công ngh phn mm – HCN
2
NguynVnV
Ni dung
̈ TiÕn tr×nh vμ m« h×nh tiÕn tr×nh
̈ C¸c giai ®o¹n cña tiÕn tr×nh
̈ TiÕn tr×nh vμ vÊn ®Ò liªn quan
Bài 3: Tin trình phn mm
B môn Công ngh phn mm – HCN
3
NguynVnV
TÀI LiU THAM KHO
1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn
mm. Nhà xut bn i hc Quc gia Hà ni, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
3. M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
5. Ian Sommerville, Software Engineering. Sixth Edition, Addison-
Wasley, 2001.
6. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi.
Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà
Ni.
B môn Công ngh phn mm – HCN
4


NguynVnV
C¸c lo¹i m« h×nh tiÕn tr×nh
̇ M« h×nh th¸c n−íc
̇ C¸c m« h×nh ph¸t triÓn tiÕn hãa
̇ C¸c m« h×nh ph¸t triÓn h×nh thøc
̇ Ph¸t triÓn dùa trªn sö dông l¹i
̇ Kh¸c
5 lo¹i m« h×nh tiÕn tr×nh phÇn mÒm tiªu biÓu:
Mçi lo¹i bao gåm mét sè c¸c m« h×nh tiÕn tr×nh.
B mụn Cụng ngh phn mm HCN
5
NguynVnV
Mô hình vòng đời truyền thống
Mô hình thác nớc waterfall model
phân tích yêu
cầu& đặc tả
thiết kế HT &
phẩn mềm
Mã hoá &kiểm
thử đơn vị
kiểm thử tích
hợp & HT
Vận hnh
& bảo trì
Ngiên cứu
lập KHDA
B mụn Cụng ngh phn mm HCN
6
NguynVnV
Mô hình thác nớc: đặc điểm

Tách biệt giữa các pha, tiến hnh tuần tự
Khó tuân thủ tuần t: dự án lớn thờng phải quay lại
Khó đáp ứng yêu cầu thờng thay đổi của khách
Chậm có phiên bản thực hiện đợc
đòi hỏi khách hng phải kiên nhẫn
sai sót phát hiện muộn có thể l thảm họa
Đặc tả kỹ, phân công chuyên trách, hớng ti liệu
Ti liệu quá nhiều, tốn sức ngời, thời gian di
ơ Có sớm v đợc sử dụng rộng rãi (tốt > tự nhiên)
ơ Thích hợp khi yêu cầu hiểu tốt, hệ lớn & phức tạp
ơ Bảo trì thuận lợi
B mụn Cụng ngh phn mm HCN
7
NguynVnV
Phiên bản
cuối cùng
Đặc tả
Phiên bản
khởi đầu
tl e
sri o
Đặc tả
khái quát
Phiên bản
trung gian
Phát triển
Thẩm định
Mô hình phát triển tiến hóa
b1. Lợc đồ chung nhất
B mụn Cụng ngh phn mm HCN

8
NguynVnV
Lợc đồ chung nhất
Phát triển ban đầu
Lm việc với khách, đặc tả khái quát hệ thống (bắt
đầu với hiểu biết có thể cha đầy đủ)
Thực hiện phát triển bằng cách lm mẫu
Mục tiêu l để hiểu hệ thống. Bản mẫu ban đầu có
thể còn sơ si.
Thẩm định phiên bản có đợc, lặp lại các bớc
cho đến khi có phiên bản cuối cùng
B mụn Cụng ngh phn mm HCN
9
NguynVnV
Lợc đồ chung
Hạn chế
Không trực quan
Hệ thống thờng có cấu trúc nghèo nn
Đòi hỏi có kỹ năng đặc tả (ngôn ngữ lm mẫu)
Khả năng ứng dụng
Cho các hệ tơng tác vừa, nhỏ
Cho những phần của hệ lớn
Hệ có vòng đời ngắn
B mụn Cụng ngh phn mm HCN
10
NguynVnV
sản phẩm
cuối cùng
lm mịn
bản mẫu

xây dựng
bản mẫu
thiết kế
nhanh
đánh giá
của khách
xác yêu cầu-
thu thập tt.
sơ bộ
Mô hình làm bản mẫu - Prototyping model
Bắt đầu
Kết thúc
Mô hình lm bản mẫu
B mụn Cụng ngh phn mm HCN
11
NguynVnV
Mô hình lm bản mẫu
Loại mẫu:
mẫu trên giấy
mẫu mô tả một phần chức năng
mẫu giao diện
mẫu hớng tới sản phẩm
Mức độ mẫu:
mẫu dùng xong bỏ đi (throw-away approach)
mẫu dùng tiếp cho bớc sau (
CASE chuyên dụng)
mẫu l phần hệ thống vận hnh đợc (
dựa trên
thnh phần dùng lại)
B mụn Cụng ngh phn mm HCN

12
NguynVnV
u thế:
nhanh chóng xác định đợc yêu cầu, tốt
tạo cơ sở ký kết hợp đồng
giúp đo tạo huấn luyện ngới sử dụng
Nhợc điểm:
Thích hp:
các yêu cầu cha rõ rng
input/output cha rõ rng
khó đánh giá tính hiệu quả thuật toán
tính cấu trúc không cao
khách hng ít tin tởng
Mô hình lm bản mẫu
B mụn Cụng ngh phn mm HCN
13
NguynVnV
Mô hình xoắn ốc (spiral model)
Cải tiến của mô hình tuần tự v lm mẫu
Thêm phân tích rủi ro
L quá trình lặp hớng mở rộng, hon thiện dần
Lập kế hoạch: xác lập vấn đề, ti nguyên, thời hạn.
Phân tích rủi ro: xem xét mạo hiểm, tìm giải pháp
Kỹ nghệ: phát triển một phiên bản của phần mềm
(chọn mô hình thích hợp: lm mẫu, thác nớc, )
Đánh giá của khách: khách đánh giá phiên bản phát
triển; ồ lm mịn, sửa đổi
B mụn Cụng ngh phn mm HCN
14
NguynVnV

Mô hình xoắn ốc
spiral model
lập kế hoạch
phân tích rủi ro
đánh giá
kỹ nghệ
tập hợp yêu
cầu ban đầu,
lập kế
hoạch dự án
kế hoạch
dựa trên yêu
cầu của
khách
đánh giá
của khách,
sửa đổi,
hon thiện
phân tích rủi ro,
tim giai pháp
bản mẫu / áp
dụng p.pháp phát
triển thích hợp
tiếp tuc hay
không?
phân tích rủi ro,
lây ý kiến
khách hng
B mụn Cụng ngh phn mm HCN
15

NguynVnV
Mô hình xoắn ốc: đặc điểm
Hợp với hệ lớn có thể phân chia phần cốt lõi ồ
thứ yếu
Có thể kiểm soát rủi ro ở từng mức tiến hóa
Khó thuyết phục khách l kiểm soát đợc sự tiến
hóa linh hoạt (đòi hỏi năng lực quản lý, năng lực
phân tích rủi ro -> chi phi chuyên gia lớn)
Cha đợc dùng rộng rãi nh mô hình thác nớc
hoặc lm mẫu
B môn Công ngh phn mm – HCN
16
NguynVnV
M« h×nh ph¸t triÓn øng dông nhanh
Rapid Application Development- RAD
®éi 2
T¹o sinh
øng dông
M« h×nh
d÷ liÖu
KiÓm thö
chuyÓn
giao
M« h×nh
nghiÖp

M« h×nh
xö lý
®éi 1
60-90 ngμy

T¹o sinh
øng dông
M« h×nh
d÷ liÖu
KiÓm thö
chuyÓn giao
M« h×nh
nghiÖp

M« h×nh
xö lý
®éi 3
T¹o sinh
øng dông

h×nh d÷
liÖu
KiÓm thö
chuyÓn
giao
M« h×nh
nghiÖp


h×nh xö

B mụn Cụng ngh phn mm HCN
17
NguynVnV
RAD - đặc điểm

Hợp với các hệ thống có khả năng môđun hóa cao
hớng thnh phần, tái sử dụng
sử dụng công cụ tự động

Thời gian phát triển sản phẩm ngắn (60~90 ngy)
Không phù hợp với sản phẩm:
khó phân chia thnh các thnh phần
đòi hỏi hiệu năng cao
B môn Công ngh phn mm – HCN
18
NguynVnV
M« h×nh t¨ng tr−ëng (incremental model)
Ph©n
tÝch
ThiÕt

M∙
ho¸
KiÓm
thö
System/information
engineering
Ph©n
tÝch
ThiÕt

M∙
ho¸
KiÓm
thö

B¶n t¨ng 2
ChuyÒn
giao b¶n
t¨ng 4
Thêi gian
B¶n t¨ng 3
B¶n t¨ng 1
B¶n t¨ng 4
ChuyÒn
giao b¶n
t¨ng 1
ChuyÒn
giao b¶n
t¨ng 2
ChuyÒn
giao b¶n
t¨ng 3
Ph©n
tÝch
ThiÕt

M∙
ho¸
KiÓm
thö
Ph©n
tÝch
ThiÕt

M∙

ho¸
KiÓm
thö
B mụn Cụng ngh phn mm HCN
19
NguynVnV
Mô hình tăng trởng
Chuyển giao dần từng phần của hệ thống
Sản phẩm chia thnh từng phần tăng theo yêu cầu
chức năng
Yêu cầu ngời dùng u tiên theo thứ tự phần tăng
Cho sản phẩm dùng trong thời gian ngắn
đáp ứng nhanh yêu cầu của khách
chiếm lĩnh thị trờng
khác với bản mẫu
Công ty phát triển phải có tiềm lực cao (công
nghệ, ti sản phần mềm)
B mụn Cụng ngh phn mm HCN
20
NguynVnV
Lập trình cực đoan (Extreme Programming-XP)
Cách tiếp cận dựa trên việc phát triển, chuyển
giao dần từng phần nhỏ chức năng
Tạo các ca thử nghiệm trớc khi lập trình
đòi hỏi phải nắm vững yêu cầu; giao diện trớc khi
bắt tay vo mã hóa
Lập trình đội
tránh lỗi, nâng cao chất lợng
đảm bảo sự tuân theo các chuẩn XP đã đề ra
Viết lại khi có thể

chủ động tấn công lỗi
B mụn Cụng ngh phn mm HCN
21
NguynVnV
Kỹ thuật thế hệ thứ 4
Fourth generation technology - 4GT
Các kỹ thuật xác định đặc trng phần mềm ở
mức cao:
hớng mục đích (chức năng)
tự động sinh mã chơng trình theo đặc tả
Các công cụ/ứng dụng điển hình
truy vấn CSDL (SQL)
tạo báo cáo, bảng tính
sinh giao diện (giao diện Web)
B mụn Cụng ngh phn mm HCN
22
NguynVnV
4GT: đặc điểm
Phân tích/thiết kế vẫn l bớc quan trọng
4GT chỉ trợ giúp (tự động hóa) việc sinh mã
chơng trình đối với từng chức năng cụ thể
ứng dụng còn hạn chế; không phải mọi
4GTcũng dễ dùng
Tíết kiệm công sức cho phát triển phần mềm nhỏ
Không hiệu quả với phần mềm lớn: mã hóa chỉ
chiếm một tỷ lệ nhỏ so với phân tích thiết kế
B mụn Cụng ngh phn mm HCN
23
NguynVnV
Phát triển hệ thống hình thức hóa

formal systems development
Các bớc của tiến trình phát triển
(đặc tả yêu cầu 1 cách hình thức bằng
các công cụ toán học trừu tợng)
Xác định
yêu cầu
Kiểm thử tích hợp
& hệ thống
Biến đổi
hình thức
Bán t ng
t ng
Đặc tả
hình thức
B mụn Cụng ngh phn mm HCN
24
NguynVnV
Biến đổi hình thức
Các phép biến đổi hìmh thức
Các chứng minh tính đúng đắn của phép biến đổi
R2
Đặc tả
hình thức
R3
Chơng trình
thực hiện đợc
P2 P3
P4
T1
T2 T3 T4

R
1
P1
B mụn Cụng ngh phn mm HCN
25
NguynVnV
Hạn chế phát triển hình thức hóa
Hạn chế
Cần có kỹ năng đặc tả v sử dụng kỹ thuật tiên tiến
Khó đặc tả đợc mọi khía cạnh của hệ thống, chẳng
hạn nh giao diện
Khả năng ứng dụng
Những hệ thống quan trọng cần phảI đảm bảo độ an
ton, bảo mật trớc khi đa vo sử dụng, xử lý
nhiều, tơng tác hạn chế.
ít nh phát triển có thể sử dụng.

×