Các yêu c u của hệ th ng đí được phát triển được phân tích bằng việ đặc biệt chú ý tới chức năng ủa hệ th ng và lu ng d liệu gi a các chứ năng... p ương p p nà là ển các ti n trình trong
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ––––––––––––––––––––––––*––––––––––––––––––––––
Trang 2Mụ lụ
C ảng ng 3
C n ng 3
C ương 1: Bài ập I 4
1) Process-Oriented Approach 4
2) Data-Oriented Approach 4
3) Architecture-Oriented Approach 4
4) Điểm mạn ủa p ương p p i p ận 6
C ương 2: Bài ập II 7
1) Mô n nướ 7
1.1) K i niệm và mô n 7
1.2) P ân í ư n ượ điểm 9
2) Mô n sử dụng lại 10
2.1) Tổng q an 10
2.2) P ân í ư k điểm 10
3) Spiral SDLC 11
3.1) Spiral Model trong SDLC là gì? 11
3.2) Mô hình 11
3.3) Áp dụng k i nà ? 13
3.4) C ư điểm/n ượ điểm? 13
4) Evolutionary SDLC 14
4.1) K i niệm 14
4.2) Mô hình 15
4.3) C ướ iển k ai 16
4.4) C ư điểm/n ượ điểm? 16
5) RUP (Rational Unified Process) SDLC 17
5.1) K i niệm 17
5.2) Mô hình 17
5.3) C ướ iển k ai 18
5.4) Áp dụng k i nà ? 20
5.5) C ư điểm/n ượ điểm? 20
C ương 3: Bài ập III 22
1) C KPA ơ ản ủa R q i m n ngin ering 22
1.1) Đ n ng a R q i m n ngin ing 22
1.2) C KPA k p ss a a – v ng ử lí q an ng) ơ ản 22
1.3) ơ đ m i q an ệ gi a KPA: 23
2) Mô ả ng n g n KPA 25
2.1) R q i m n v l pm n P iển ê ) 25
2.2) R q i m n Manag m n ản lí ê ) 27
Tài liệ am k ả 28
Trang 3H n 4: ự k n a gi a mô n nướ và mô n i n óa ng
p iển p n mềm T v l i na velopment Model for Software - Elaine L May and Barbara A Zimmer) 15
H n 5: Mô n lặp ủa RUP Wikip dia) 18
H n 6: Các p a và mụ iê mỗi p a ng RUP In d i n f wa Development - Ma’am Ma i m N s n) 20
H n : ơ đ q an ệ KPA 23
H n : ơ đ q an ệ ng ạ động ủa KPA 24
Trang 4 Tập trung vào các giải thuật và thao tác xử lý d liệu
Quá trình phát triển ph n mềm tập trung vào thể hiện p ương p p ử
lý d liệu
C u trúc d liệ ông ường không thể hiện rõ
2) Data-Oriented Approach
liệ k ông a đổi ởi ê a đòi ỏi ủa người d ng về
a ng iệp vụ T ng i k ướng d liệ , ệ ng đượ i k dựa
ên i n n d liệ Việ p ân í i k đượ i n àn d liệ mộ ạ với ê a đòi ỏi ủa người d ng về a
Ng iên ứ và p iển ơ sở d liệ ập ng và ự ể và
m i q an ệ ủa mộ ệ ng ông in và dẫn đ n sự p iển ủa k i niệm, ợp lý và vậ lý mô n d liệ , ệ ng ng và ông ụ ũng
n ư p n mềm p iển q n để ỗ ợ việ p ân í , i k
Mô tả tổ chức của d liệu ,mô tả d liệu l y ra ở đâ và sử dụng n ư nào
Mô hình d liệ được thành lập và được mô tả m i quan hệ gi a các d liệ ương ứng nà và q đ nh về m i quan hệ
Sử dụng B sin ss l s để chỉ a p ương p p ử lí d liệu
3) Architecture-Oriented Approach
Là p ương p p p ân í và i t k có c u trúc Các yêu c u của hệ
th ng đí được phát triển được phân tích bằng việ đặc biệt chú ý tới chức năng ủa hệ th ng và lu ng d liệu gi a các chứ năng Mụ đí ủa
Trang 5p ương p p nà là ển các ti n trình trong biể đ thành các modules chương trình và tiến hành phân chia các modules bằng cách tiếp cận từ trên xuống
• Lựa ch n ki n trúc và công nghệ ph n mềm để thực hiện bài toán
• Áp dụng p ương p p P ping để nhanh chóng xây dựng được
ph n mềm
P ương p p P ping ó vai ò ng d ệ và kiểm s ê
p n mềm gi p àn iện ơn về ê , đ p ứng đượ ê
ủa người d ng
C người d ng d ng ử mẫ ử n ư là mẫ ử ản a ừ đó người
d ng sẽ d ng ử và đưa a n ng điểm , điểm k ông ủa mẫ
ử, i nà k ông n i ủa mẫ ử ừ đó người p ân í viên ó
ể d ệ ê nà đã đạ đượ ê nà a n ng ê nà
ườm à ó ể ỏ q a a nên ổ s ng n ng ê g để ỏa mãn
đượ ê ủa người d ng
Ví dụ: k i người d ng d l mộ ản g i đòi ỏi p ải ó ê
là có nên delete hay không?
Trang 6Architecture-Điểm
mạnh
- Thích hợp với các bài toán phức tạp
- Giảm thời gian đ p ứng của ph n mềm
do tập trung vào giải thuật và xử lí d liệu
- T n được sự trùng lặp ng ơ sở
- Biểu diễn đươ
m i quan hệ trong các bảng và gi a các
d liệu với nhau
- Việc thi t k
ph n mềm nhanh
do áp dụng các bản mẫu có sẵn Từ đó
ưa k được
nh ng ư điểm sẵn
có
- Áp dụng các ki n trúc công nghệ t t
nh ăng ch t lượng ph n mềm
Điểm y u
- K ó điều chỉnh các yêu c u cho nhiều người dùng
- Sử dụng các chức năng ng chéo nhau là khó tránh khỏi K t quả là hệ
th ng có nhiều chức năng ng chéo nhau là một trong
nh ng nhân t làm cho việc bảo trì trở nên k ó k ăn
- Các tệp d liệu được xây r k ó để thỏa mãn ph n mềm
- Việc xử lí d liệu
k ông được linh hoạt do phụ thuộc vào các Business rules
- Các chứ năng ủa
ph n mềm phụ thuộc vào cách tổ chứ ơ
sở d liệu
- D liệ được xử
lí phụ thuộc cao vào các bản mẫu sẵn có
B động trong thi t k
- Phụ thuộc vào công nghệ hiện tại
Table 1 ể h ủa h h
Trang 7Mô hì h h ớc (ti ng Anh: waterfall model) là một mô hình của
quy trình phát triển ph n mềm, ng đó q n p iển trông
gi ng n ư một dòng chảy, với p a được thực hiện theo trật tự nghiêm ngặt và không có sự quay lui hay nhả vượt pha là: phân tích yêu c u, thi t k , lập trình, kiểm thử, liên k t và bảo trì
Mô n nước g m 4 giai đ ạn phân tích, thi t k , lập trình kiểm thử
Trang 8ì h 1 a đ ủa ô hì h h ớ
P ân í ê và ài liệ đặ ả R q i m n s) là giai đ ạn
đ n n ng ê liên q an đ n ứ năng và p i ứ năng ệ ng
p n mềm n ó Giai đ ạn nà n ó sự am gia í ự ủa k
àng và k ằng mộ ài liệ “Bản đặ ả ê â p n mềm” a
R , ng đó a g m àn ộ ài liệ đã đượ d ệ và ng iệm ởi
n ng người ó n iệm đ i với dự n ừ p ía k àng) R
ín là nền ảng ạ động i p và đ n i ủa dự n
Trang 9 Phân tích hệ th ng (Anal sis): giai đ ạn đ nh các công việc c n làm để hệ th ng ph n mềm, hiể l n vực thông tin, chứ năng, àn vi,
ín năng và gia diện của ph n mềm sẽ phát triển C n phải tạ ư liệu và bản thảo với k ang, người d ng giai đ ạn đ nh các công việc c n làm để hệ th ng ph n mềm
Thi t k (Design): là quá trình nhiề ước với 4 thuộc tính khác nhau của 1 ương n : u trúc d liệu, ki n trúc ph n mềm, biều diễn giao diện và chi ti t thủ tục (thuật toán)
Lập trình (coding): Chuyển thi t k thành ương n m ín ởi ngôn ng nà đó N u thi t k đã được chi ti t hóa thì lập trình có thể thu n ơ c
Kiểm thử (Testing): Kiểm a ương n và m d l ả về logic bên trong và chứ năng ên ng ài, n ằm phát hiện ra lỗi và đảm bảo với
đ và đ nh thì cho k t quả mong mu n
Cài đặ và ả A p an ): đâ là giai đ ạn ài đặ , n và
n l ện k àng Giai đ ạn nà sửa a n ng lỗi ủa p n mềm
n ó và ó ể p iển êm n ng ê mới mà k àng ê
n ư sửa đổi, êm, ớ ứ năng/đặ điểm ủa ệ ng
1.2) h h h ợ đ ểm
Ư điểm:
Chuỗi các hoạ động được thực hiện theo quy trình rõ ràng
T a đổi yêu c được giảm t i thiểu khi dự án b đ u
Dễ phân công công việc, phân b chi phí, giám sát công việc
N ượ điểm:
Thực t các dự án ít khi tuân theo dòng tu n tự của mô hình, mà ường có sự lặp lại
M i quan hệ gi a giai đ ạn k ông được thể hiện
Khách hàng ít khi tuyên b rõ ràng khi nào xong h t các yêu c u
Khách hàng phải có lòng kiên nhẫn chờ đợi thời gian nh đ nh mới có sản phẩm N u phát hiện ra lỗi nặng thì r t khó kh c phục
Khả năng t bại cao
Trang 102) Mô sử dụ lại
2.1) ổ q a
ì h 2 Mô hì h sử dụ l
Mô n sử dụng lại : i sử dụng ông in đượ ạ a ng dự
n p iển p n mềm ướ đó n ằm giảm i p í, ài ng ên việ p iển dự n mới Việ sử dụng lại p ép â dựng ệ ng
p n mềm mới với lượng và độ in ậ a ơn
Mô n g m 6 giai đ ạn:
1 Requi m n s sp ifi a i n Yê kỹ ậ )
2 C mp n n anal sis P ân í àn p n )
3 R q i m n s m difi a i n ửa đổi)
Ti kiệm ời gian v mỗi giai đ ạn p iển lại sử dụng lại giai
đ ạn ủa q n p iển p n mềm ướ n ưng đượ in
Giảm iể sai só , lỗi ủa sản p ẩm i ng s với p n mềm
ướ đó
Trang 11, n ượ điểm
Việ sử dụng lại ó ể k ông k ả i v àn p n i sử dụng ó
ể k ông đ đủ, n p ải i k mới
Có ể k ông đ p ứng đượ n ủa k àng
k ông k ả i k i àn p n sử dụng lại ứa n iề lỗi liên q an đ n
i k a k ông ể k p ụ
3) Spiral SDLC
3.1) Spiral Model trong SDLC là gì?
Mô hình xo n c là một quá trình phát triển ph n mềm (còn g i với thuật
ng khác là software development life-cycle, SDLC) với đ n ướng giải quy t rủi ro (risk-d iv n) Nó ương đ i gi ng với mô hình lặp và ăng i n
i a iv and in m n al d v l pm n m d l), n ưng n n mạnh vào phân tích và quản lý rủi ro của dự án ph n mềm
Mô hình xo n c phát triển và ti n óa sa mô n nước, dựa trên kinh nghiệm ũng n ư n ng cải ti n của mô n nước Riêng nó bao chứa
mô n k n ư là ường hợp đặc biệt, và cung c p ướng dẫn làm th nà để k t hợp các mô hình khác một cách phù hợp nh t với 1 dự án
ph n mềm
3.2) Mô hình
Mô hình trực quan của mô hình phát triển này gi ng n ư ên g i của nó:
Trang 12ì h 3 Mô hì h h ể h x ắ ố (A S al M del f S f wa e
Development and Enhancement - Boehm, 1988)
Có thể th y, bán kính của quá trình phát triển ăng d n, nó đại diện cho chi phí phát sinh trong quá trình hoàn thành từng ước phát triển ph n mềm, còn góc của quá trình (Boehm g i là angle dimension) biểu diễn quá trình hoàn thành mỗi ước phát triển
C ước triển khai
Mô hình xo n c g m nhiều vòng lặp khác nhau qua 4 pha: Lên k hoạch, Phân tích rủi ro, Thực hiện và Đ n gi
Trang 13Vòng xo n ơ sở: b đ u từ pha lên k hoạch, các yêu c u ph n mềm được thu thập và xác đ nh, các rủi đượ đ n gi
Các vòng xo n sa đó được xây dựng dựa trên vòng xo n ơ sở:
1 Các yêu c được thu thập su t pha lên k hoạch
2 Trong pha phân tích rủi ro, các rủi được nhận diện và đưa a giải
p p đ i với các rủi ro này Cu i pha này, nhóm phát triển cho ra một
nguyên mẫu của ph n mềm c n phát triển
3 Ph n mềm được xây dựng trong pha thực hiện (engineering), cùng với khâu kiểm thử ở cu i pha
4 P a đ n gi p ép k àng đ n gi sản phẩm của dự án tại thời điểm hiện tại ước khi dự án ti p tục chuyển sang vòng xo n c ti p theo
3.3) Á dụ kh ?
Khi việ đ n gia i p í và ủi ro dự án là r t quan tr ng
Cho dự án có rủi ro từ mức trung bình trở lên
Các dự án dài hạn mà không thể bi ước nh ng thay đổi lớn tiềm ẩn
Khi khách hàng không ch c ch n h c n gì trong ph n mềm mà mình yêu
Trang 14triển các nguyên mẫu, sản phẩm dựa trên mô tả này Nh ng nguyên mẫu này được kiểm thử và n ó a đổi mong mu n, nh ng a đổi này sẽ được thực hiện trên hệ th ng mới (của vòng xo n sa ) P ương p p i p cận liên tụ và đề đặn này sẽ t i thiểu hóa m i rủi ro hay th t bại phát sinh
từ a đổi của hệ th ng
– N ư vậy mô hình xo n c có khả năng đ p ứng a a đổi có thể xảy
ra trong b t k pha nào của dự án ph n mềm (nh là a đổi trong yêu c u
ph n mềm)
– Việc xây dựng nguyên mẫu khá nhanh và ít t n kém, việ ướ lượng chi phí phát triển trở nên dễ dàng ơn; đ ng thời khách hàng sẽ hiể sâ ơn và giàn được nhiều quyền quản tr trên hệ th ng mới ơn đều có thể tham gia tích cực vào mỗi vòng xo n c)
Nh ợ đ ểm:
– Chỉ phát huy hiệu quả thực sự so với các mô hình khác trên các dự án lớn (với i p í liên q an và độ phức tạp a ơn t nhiề ) đó, đâ là một
mô hình khá t n kém, cả về mặt tài chính lẫn n người
– Để áp dụng mô hình này, c n có nh ng chuyên gia nhiều kinh nghiệm, kỹ năng ng việ đ n gi sự b đ nh và rủi ro của dự án
– Việc thực hiện dự án c n có kỹ luật chặt chẽ, từng ước của dự án c n tuân theo nghiêm ngặt
– Chỉ riêng chi phí cho việ đ n gi ủi ro của 1 hệ th ng còn có thể cao
ơn ả i p í để xây dựng lên hệ th ng đó
– Thành công của 1 dự án phụ thuộc khá nhiều vào pha phân tích rủi ro
4) Evolutionary SDLC
4.1) Kh ệ
Mô hình ti n hóa dựa ên ý ưởng là nhanh chóng phát triển một phiên bản
đ u tiên của ph n mềm từ nh ng đặc tả r t trừ ượng và a đổi, cải ti n phiên bản nà đ n gi và ê u của khách hàng Mỗi phiên bản ph n
Trang 15mềm sau sẽ k thừa nh ng đặc tính t t nh t từ phiên bản ướ đó C p iên
bản sa được cải ti n dựa trên phản h i của khách hàng để tạo ra một hệ
th ng thỏa mãn nhu c u của khách hàng Và khi ph n mềm thỏa mãn yêu
c u của khách hàng, nó có thể được bàn giao hoàn toàn cho khách hàng
4.2) Mô hình
– Để hiểu về mô hình ti n hóa, ta sẽ tìm sự khác nhau gi a mô hình ti n hóa
và mô hình nước truyền th ng:
ì h 4 Sự kh ha ữa ô hì h h ớ v ô hì h h a h ể
h ( he Ev l a Devel e M del f S f wa e - Elaine L May and
Barbara A Zimmer)
– Mô n nướ được áp dụng r t phổ bi n Tuy nhiên, mộ n ượ điểm
lớn của mô n nà , đó là nó ỉ hiệu quả đ i với các dự án ph n mềm mà
đặc tả đã t rõ ràng ngay từ đ u, yêu c u nhóm phát triển phải hiểu rõ
về ph n mềm mà m n đang â dựng, lượng gi được nh ng khó k ăn ó
thể gặp phải trong su t quá trình phát triển Tuy nhiên thực t thì các yêu c u
ph n mềm l ôn l ôn a đổi trong su t quá trình dự n được thực hiện, gây
nhiề k ó k ăn việc thực hiện dự n giai đ ạn impl m n ) Hơn n a,
r t nhiều yêu c u khách hàng lại không rõ ràng ngay từ đ , ũng n ư iểu
bi t của nhóm phát triển không toàn diện về ph n mềm mà m n đang â
dựng
– Mô hình ti n hóa giúp giải quy đượ n ượ điểm này của mô hình thác
nướ Nó i giai đ ạn thực hiện (implement) ra thành nhiều chu k Mỗi
Trang 16chu k ũng ó 4 ướ n ư 1 mô n nước con (incremental
waterfalls): Lên k hoạch, Thi t k , Thực hiện, Kiểm thử Nhờ đó, người
d ng ó ơ ội ti p cận tới ph n mềm cu i mỗi chu k n và đưa a được
đ n gi , p ản h i lại cho nhóm phát triển Bằng nà , a đổi trong yêu c người dùng có thể được giải quy t trong các chu k con sau
đó
– V người d ng được tham gia và có ản ưởng quan tr ng trong quá trình thực hiện impl m n ), d đó sản phẩm cu i ng đ p ứng r t sát yêu c u của người dùng
4.3) ớ ể kha
1 Khảo sát yêu c , đưa a đặc tả yêu c người dùng
2 Thi t k an đ u dựa ên đặ ưng q an ng nh t của hệ th ng
3 Lên k hoạch thực hiện
4 Thực hiện các chu k phát triển nước con (Plan – Design –
Implement – Test) Sau mỗi ước test sẽ giao cho khách hàng 1 phiên bản
ng gian để k àng đ n gi và n ận phản h i Bước k hoạch của mỗi chu k sẽ dựa trên các phản h i của khách hàng trong các chu k ướ đó
k p thời các rủi , a đổi (nhờ liên tục nhận được các phản h i cu i mỗi chu k con)
– T m nhìn dài hạn của hệ th ng đượ ia àn ước ng n hạn