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

Bài giảng môn học kỹ nghệ phần mềm bài 3 PGS TS nguyễn văn vỵ

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

K ngh ph n m m
Software Engeneering

Bé m«n C«ng nghƯ phần mềm- Khoa CNTT- ĐHCN
Email:


Bài 3: Ti n trình ph n m m
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 mơn Cơng ngh ph n m m –

HCN

2


TÀI Li U THAM KH O
Nguy nV nV

1.
2.
3.
4.
5.
6.



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
Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
Ian Sommerville, Software Engineering. Sixth Edition, AddisonWasley, 2001.
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

3


Các loại mô hình tiến trình
Nguy nV nV

5 loại mô hình tiến trình phần mềm tiêu biểu:

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

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 ph n m m –

HCN

4


Mô hình vòng đời truyền thống
Nguy nV nV

Ngiên cứu
lập KHDA
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ì

Mô hình th¸c n−íc – waterfall model
B mơn Cơng ngh ph n m m –

HCN

5


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ự

Nguy nV nV

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 ph n m m –


HCN

6


Mô hình phát triển tiến hóa
b1. Lợc đồ chung nhất

Đặctltả e
s ri
kh¸i
qu¸to

B mơn Cơng ngh ph n m m –

HCN

Nguy nV nV

Đặc tả

Phiên bản
khởi đầu

Phát triển

Phiên bản
trung gian

Thẩm định


Phiên bản
cuối cïng

7


Lợc đồ chung nhất
Nguy nV nV

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 ph n m m –

HCN

8



Lợc đồ chung
Nguy nV nV

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 ph n m m –

HCN

9


Mô hình lm bản mẫu
Nguy nV nV

Bắt đầu

Kết thúc

xác yêu cầuthu thập tt.
sơ bộ
sản phẩm
thiết kế

cuối cùng
nhanh
lm mịn
bản mẫu

xây dựng
bản mẫu
đánh giá
của khách

Mô hình làm bản mẫu - Prototyping model
B môn Công ngh ph n m m –

HCN

10


Mô hình lm bản mẫu
Nguy nV nV

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 ph n m m –

HCN

11


Mô hình lm bản mẫu
Nguy nV nV

Nhợc điểm: tính cấu trúc không cao
khách hng ít tin tởng
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
Thích h p:

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
B mụn Cụng ngh ph n m m –


HCN

12


Mô hình xoắn ốc (spiral model)
Nguy nV nV

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 ph n m m –

HCN

13


Mô hình xoắn ốc
Nguy nV nV
tập hợp yêu
cầu ban đầu,
lập kế

hoạch dự án

lập kế hoạch

phân tích rủi ro

phân tích rủi ro,
lây ý kiến
khách hng

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

tiếp tuc hay
không?

kỹ nghệ

đánh giá


bản mẫu / áp
dụng p.pháp phát
triển thích hợp

spiral model
B mụn Công ngh ph n m m –

HCN

14


Mô hình xoắn ốc: đặc điểm
Nguy nV nV

Hợp với hệ lớn có thể phân chia phần cốt lõi ồ

thứ 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

hc lμm mÉu

B mơn Cơng ngh ph n m m –


HCN

15


Mô hình phát triển ứng dụng nhanh
Rapid Application Development- RAD
đội 2
Mô hình
nghiệp
vụ
Mô hình
dữ liệu

đội 1

Mô hình
nghiệp
vụ

đội 3

Mô hình
nghiệp
vụ

hình dữ
liệu



hình xử


Mô hình
xử lý

Mô hình
dữ liệu
Mô hình
xử lý

Nguy nV nV

Tạo sinh
ứng dụng

Tạo sinh
øng dơng

T¹o sinh
øng dơng

KiĨm thư
chun
giao

KiĨm thư
chun
giao


KiĨm thư
chun giao
60-90 ngμy

B mơn Công ngh ph n m m –

HCN

16


RAD - đặc điểm
Nguy nV nV

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

17


Mô hình tăng trởng (incremental model)

Nguy nV nV
Bản tăng 1

System/information
engineering

Phân
tích

Bản tăng 2

Thiết
kế

Phân
tích

M
hoá

Kiểm
thử

Thiết
kế

Bản tăng 3

Phân
tích


Chuyền
giao bản
tăng 1

M
hoá

Kiểm
thử

Thiết
kế

Bản tăng 4

Phân
tích

Chuyền
giao bản
tăng 2

M
hoá

Thiết
kế

Kiểm

thử

M
hoá

Chuyền
giao bản
tăng 3
Kiểm
thử

Chuyền
giao bản
tăng 4

Thời gian
B mụn Cụng ngh ph n m m –

HCN

18


Mô hình tăng trởng
Nguy nV nV

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 ph n m m –

HCN

19


Lập trình cực đoan (Extreme Programming-XP)
Nguy nV nV

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 ph n m m –


HCN

20


Kü thuËt thÕ hÖ thø 4
Fourth generation technology - 4GT

Nguy nV nV

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 ph n m m –

HCN

21



4GT: đặc điểm
Nguy nV nV

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 ph n m m –

HCN

22


Phát triển hệ thống hình thức hóa
formal systems development

Xác định
yêu cầu

Bán t ng


t ng

Đặc tả
hình thức

Biến đổi
hình thức

Nguy nV nV

Kiểm thử tích hợp
& hệ thống

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)

B mụn Cụng ngh ph n m m –

HCN

23


Biến đổi hình thức
Nguy nV nV

Các phép biến đổi hìmh thức
T1


Đặc tả
hình thức

T2

R2

R1

P1

T3

P2

T4

Chơng trình
thực hiện đợc

R3

P3

P4

Các chứng minh tính đúng ®¾n cđa phÐp biÕn ®ỉi

B mơn Cơng ngh ph n m m –


HCN

24


Hạn chế phát triển hình thức hóa
Nguy nV nV

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.

B mơn Cơng ngh ph n m m –

HCN

25


×