1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng

135 1,2K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 135
Dung lượng 4,15 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong nhiều hướng để giải quyết vấn đề này, việc sử dụng lại cỏc nhõn tố cú sẵn tạo nờn phần mềm là một hướng quan trọng và đặc biệt hiệu quả cho việc phỏt triển cỏc hệ thống phần mềm: N

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

VŨ DIỆU HƯƠNG

SỬ DỤNG LẠI THEO HƯỚNG TIẾP CẬN MIỀN ỨNG DỤNG VÀ VẬN DỤNG TRONG PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG

LUẬN VĂN THẠC SĨ

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

VŨ DIỆU HƯƠNG

SỬ DỤNG LẠI THEO HƯỚNG TIẾP CẬN MIỀN ỨNG DỤNG VÀ VẬN DỤNG TRONG PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG

Chuyên ngành: Công nghệ thông tin

Mã số: 1.01.10

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Văn Vỵ

Trang 3

DANH MỤC CÁC CHỮ VIẾT TẮT

DANH MỤC CÁC BẢNG BIỂU

DANH MỤC CÁC HÌNH VẼ

MỞ ĐẦU 1

CHƯƠNG 1 5

TỔNG QUAN VỀ VẤN ĐỀ SỬ DỤNG LẠI TRONG PHÁT TRIỂN PHẦN MỀM 5

1.1 Khỏi niệm 5

1.2 Lịch sử và quỏ trỡnh phỏt triển của sử dụng lại 5

1.3.Vai trũ và tầm quan trọng của sử dụng lại 7

1.4 Phõn loại sử dụng lại 8

1.5 Cỏc chế tỏc cú thể sử dụng lại 8

1.6 Các rào cản đối với việc sử dụng lại 10

1.7 Cơ sở khoa học cho sử dụng lại 11

1.7.1 Phương pháp 12

1.7.2 Cụng cụ 13

1.8 Các hoạt động sử dụng lại 14

1.8.1 Phỏt triển phần mềm cho sử dụng lại 15

1.8.2 Phỏt triển phần mềm với sử dụng lại 16

1.9 Một số cỏch tiếp cận cho sử dụng lại 17

1.9.1 Phát triển phần mềm hướng đối tượng 17

1.9.2 Phỏt triển phần mềm dựa trờn thành phần 18

1.9.3 Phát triển phần mềm hướng sử dụng lại 20

1.9.4 Mẫu thiết kế 20

1.9.5 Bộ phỏt sinh 21

1.9.6 Miền ứng dụng 22

1.10.Kết luận 22

CHƯƠNG 2 24

KỸ NGHỆ MIỀN VÀ HƯỚNG TIẾP CẬN MIỀN ỨNG DỤNG 24

2.1 Cỏc khỏi niệm 24

2.1.1 Miền ứng dụng 24

2.1.2 Kỹ nghệ miền 24

2.1.3 Kỹ nghệ ứng dụng 25

2.1.4 Phỏt triển một mụ hỡnh kiến trỳc miền tổng quỏt 27

2.1.5 Phõn tớch miền 28

2.1.6 Thiết kế miền 34

2.1.7 Triển khai miền 35

2.1.8 Họ sản phẩm (họ ứng dụng) 36

2.1.9 Mụ hỡnh miền 37

Trang 4

2.2.3 Mụ hỡnh húa kiến trỳc 43

2.3 Sử dụng lại theo hướng tiếp cận miền ứng dụng 46

2.4 Kết luận 50

CHƯƠNG 3 51

THỬ NGHIỆM CÁC HOẠT ĐỘNG SỬ DỤNG LẠI THEO HƯỚNG TIẾP CẬN MIỀN ỨNG DỤNG VỚI CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG 51

3.1 Lĩnh vực thử nghiệm 51

3.2 Mục tiờu 52

3.3 Thử nghiệm phỏt triển phần mềm cho sử dụng lại 52

3.3.1 Nội dung thử nghiệm 52

3.3.2 Phõn tớch miền 53

3.3.3 Phõn loại tài sản 59

3.3.4 Thiết kế và thử nghiệm thư viện 61

3.3.5 Kết quả và đánh giá 67

3.4 Thử nghiệm phỏt triển phần mềm với sử dụng lại 68

3.4.1 Các bước thử nghiệm 68

3.4.2 Vai trũ của thư viện RAL trong mỗi bước thử nghiệm 68

3.4.2 Mục tiờu thử nghiệm 69

3.4.3 Nắm bắt và phõn tớch yờu cầu 69

3.4.4 Thiết kế 92

3.4.5 Cài đặt 97

3.4.6 Kết luận và đánh giá 98

KẾT LUẬN VÀ ĐÁNH GIÁ CHUNG 99

DANH MỤC CễNG TRèNH CỦA TÁC GIẢ 101 TÀI LIỆU THAM KHẢO 102

PHỤ LỤC A: MỘT SỐ TÀI SẢN ĐƯỢC SỬ DỤNG LẠI 108

1 Hệ thống Tuyển sinh Đại học 108

2 Hệ thống quản lý Giảng dạy và học tập 112

3 Hệ thống Quản lý đào tạo từ xa 114

4 Hệ thống Quản trị đào tạo LMS 115

PHỤ LỤC B: THƯ VIỆN TÀI SẢN SỬ DỤNG LẠI 116

1 Mô đun chương trỡnh 116

2 Giao diện hệ thống 118

PHỤ LỤC C: HỆ THỐNG QUẢN Lí SINH VIấN 120

1 Mô đun chương trỡnh 120

2.Giao diện hệ thống 122

Trang 5

STT Ký hiệu viết tắt Cụm từ viết tắt

9 NV phong CTSV Nhõn viờn phũng Cụng tỏc sinh viờn

10 NV phong ĐT Nhõn viờn phũng Đào tạo

13 RAL Thư viện tài sản sử dụng lại ( Reusable Asset Library)

Trang 6

STT Số thứ tự Mụ tả Trang

Bảng 3-10 Cỏc lớp thực thi ca sử dụng Tỡm kiờm sinh viờn và hiển thị danh sỏch 89

12 Bảng 3-11 Cỏc lớp thực thi ca sử dụng Sửa sinh viờn 90

13

Bảng 3-12 Cỏc lớp phõn tớch thực thi ca sử dụng Xúa sinh

viờn

91

Trang 7

6 Hỡnh 2-4 Một mẫu của mụ hỡnh kiến trỳc miền tổng quỏt 28

15 Hỡnh 2-12 Kiến trỳc chung của cỏc hệ thống quản lý tài nguyờn 37

16 Hỡnh 2-13 Lược đồ ngữ cảnh : Luồng dữ liệu chính hệ thống quản trị Cửa sổ 40

Hỡnh 2-19 Tích hợp các họat động sử dụng lại vào tiến trỡnh phỏt triển phần mềm 47

23 Hỡnh 2-20 Điều chỉnh các sản phẩm quỏ trỡnh phõn tớch miền 49

24 Hỡnh 3-1a Mụ hỡnh khung cảnh của miền Giỏo dục – Đào tạo Đại học 54

25 Hỡnh 3-1b Mụ hỡnh khung cảnh của miền Giỏo dục – Đào tạo Đại học (tiếp) 54

Trang 8

học

35 Hỡnh 3-10 Tỡm kiếm tài sản bằng cỏch kết hợp hai hỡnh thức

ở trờn

65

37 Hỡnh 3-12 Sơ đồ khung cảnh hệ thống Quản lý sinh viờn 71

39 Hỡnh 3-14 Biểu đồ ca sử dụng gói Cập nhật sinh viên 81

40 Hỡnh 3-15 Biểu đồ ca sử dụng gói Quản lý sinh viờn làm khúa luận 81

41 Hỡnh 3-16 Biểu đồ ca sử dụng gúi Quản lý cụng tỏc tốt nghiệp 82

42

Hỡnh 3-17

Biểu đồ cộng tác thực thi ca sử dụng Thêm mới hồ

sơ đăng ký dự thi trong hệ thống Tuyển sinh đại

45 Hỡnh 3-20 Biểu đồ cộng tác thực thi ca sử dụng Sửa sinh viên 91

46 Hỡnh 3-21 Biểu đồ cộng tác thực thi ca sử dụng Xóa sinh viên 92

49 Hỡnh 3-24 Lớp thiết kế ca sử dụng Xem thụng tin sinh viờn qua

Web

95

50 Hỡnh 3-25 Biểu đồ thực thi ca sử dụng Thờm sinh viờn 96

Trang 9

Trong những năm gần đây, các tổ chức làm phần mềm ở nước ta phỏt triển rất nhanh do nhu cầu phỏt triển phần mềm là rất lớn Cũng như trên phạm vi toàn thế giới, yờu cầu phỏt triển nhanh cỏc phần mềm cú quy mụ lớn, giỏ thành hạ, tiện dụng ngày càng trở nờn cấp bỏch Trong nhiều hướng để giải quyết vấn đề này, việc

sử dụng lại cỏc nhõn tố cú sẵn tạo nờn phần mềm là một hướng quan trọng và đặc biệt hiệu quả cho việc phỏt triển cỏc hệ thống phần mềm: Nú khụng những giỳp rỳt ngắn được thời gian phỏt triển một phần mềm, mà cũn cho những phần mềm hoạt động tin cậy và cú chi phớ thấp

Trong điều kiện của Việt Nam: trỡnh độ cụng nghệ và kỹ năng phát triển phần mềm của cỏc tổ chức phỏt triển phần mềm cũn rất hạn chế, thỡ việc tỡm kiếm và sử dụng lại những tài nguyờn phần mềm cú sẵn càng trở nờn quan trọng và cú ý nghĩa thiết thực Việc sử dụng mó nguồn mở đang phổ biến cũng là một giải pháp đi theo hướng sử dụng lại này Nhà nước đó cú một chương trỡnh về sử dụng mó nguồn mở với số tiền đầu tư dự kiến hàng chục tỷ Ở khụng ớt cỏc cụng ty làm phần mềm, người ta đều cố gắng thu thập cỏc phần mềm đó làm của bản thõn họ hay của cỏc tổ chức khỏc, nghiờn cứu để hiểu các thư viện của cỏc phần mềm thương mại và sử dụng lại cỏc nhõn tố này cho việc phỏt triển phần mềm của mỡnh Tuy nhiờn, cỏch làm này hoàn toàn mang tớnh kinh nghiệm và thủ công Năm 2003 Khoa Công nghệ thụng tin của Đại học Bỏch Khoa lần đầu thử nghiệm xõy dựng giải thuật lựa chọn và đánh giá thành phần phần mềm hỗ trợ đa giao diện theo phương pháp phát triển phần mềm dựa trờn thành phần Đây là một thử nghiệm sử dụng lại phần mềm mang tớnh cụng nghệ Tuy nhiên, tài nguyên được sử dụng lại ở đây mới chỉ là mó nguồn, cỏc tiện ớch dựng cho việc sử dụng lại cũn rất hạn chế

Trờn thế giới, sự cần thiết của việc sử dụng lại cỏc nhõn tố của phần mềm được nhận ra từ rất sớm Từ cuối những năm 40, để trỏnh việc thực hiện cỏc nhiệm

vụ lặp đi lặp lại, trường Đại học Cambrige đó xõy dựng một thư viện các đoạn chương trỡnh con và tiếp tục mở rộng, đến cuối những năm 50 thư viện này đó chứa

Trang 10

tới 200 đoạn chương trỡnh [39] Bài bỏo của Lanergan và Poynton (1979)[35] có

tiêu đề “Mó nguồn sử dụng lại: Một kỹ thuật phỏt triển ứng dụng của tương lai” là

một dự đoán chính xác, đó và đang trở thành sự thật Từ khi xuất hiện cỏc ngụn

ngữ lập trỡnh hướng đối tượng như Ada và công nghệ phỏt triển phần mềm hướng đối tượng ra đời, hàng loạt cỏc nghiờn cứu và thử nghiệm về sử dụng lại cỏc nguồn tài sản phần mềm được cụng bố đó phản ảnh những mức độ nghiờn cứu về phương pháp, phương phỏp luận, cụng cụ và triển khai ứng dụng khỏc nhau của việc sử dụng lại này và cú thể túm tắt qua cỏc nội dung sau:

- Làm thớch nghi cỏc phần cứng và phần mềm đó cú[4]

- Cỏc nguyờn tắc sử dụng lại phần mềm [8]

- Tạo ra hệ thống quản lý tệp lưu trữ cỏc thành phần phần mềm dựng lại[5]

- Tạo cỏc thành phần phần mềm và đảm bảo chất lượng để sử dụng lại [6,7, 11,33]

- Tăng cường cỏc nhõn tố trợ giỳp việc sử dụng lại [10, 12,16,25, 28,29, 31,36]

- Những nhõn tố sử dụng lại mới: mẫu thiết kế, kiến thức phõn tớch yờu cầu,

là một hướng ưu tiên

Trang 11

Tuy nhiên, đối với nước ta vấn đề này cũn rất mới mẻ, đó cú một nghiờn cứu bước đầu nhưng triển khai ứng dụng chỉ dừng lại ở cỏc thư viện mó nguồn, chưa có những ứng dụng triển khai mang tớnh cụng nghệ và có phương pháp Những tư liệu trờn thế giới rất đa dạng và chỳng ta chỉ cú thể tiếp cận được một số vấn đề về phương pháp luận Những triển khai nghiờn cứu ứng dụng cú nhiều hướng và cỏch tiếp cận cũn rất khỏc nhau Hầu hết những kết quả này chỉ được biết đến qua cỏc tài liệu cụng bố cụng khai nờn thụng tin rất hạn chế Để cú thể cú cỏi nhỡn tổng quan

về vấn đề này, nắm được tầm quan trọng của nú, lựa chọn được hướng tiếp cận phự hợp với quỏ trỡnh phỏt triển phần mềm ở mỗi đơn vị, có được những cơ sở về phương pháp luận cũng như kinh nghiệm phục vụ cho việc triển khai ứng dụng, chúng tôi đó chọn đề tài “Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phỏt triển phần mềm hướng đối tượng”

Đề tài này đi sâu vào những vấn đề về phương pháp luận và phương pháp cho việc sử dụng lại đặc biệt đi sâu vào hướng tiếp cận miền ứng dụng và tiến hành thử nghiệm một số hoạt động sử dụng lại theo hướng tiếp cận này Mục tiờu của đề tài

là tỡm hiểu và nắm bắt những nội dung cơ bản về phương pháp, công cụ và cụng nghệ sử dụng trong việc nghiờn cứu và triển khai hoạt động sử dụng lại trong lĩnh vực phỏt triển phần mềm, tiến hành cỏc thử nghiệm để có cơ sở tổ chức nghiờn cứu

và triển khai những nội dung này, gúp phần đẩy nhanh tiến bộ và trỡnh độ cộng

nghệ trong hoạt động phỏt triển phần mềm ở Việt Nam theo hướng sử dụng lại

Đề tài được nghiờn cứu với sự kết hợp của nhiều phương pháp: phương pháp thu thập, phõn tớch, phõn loại và đặc tả cỏc tài sản dữ liệu; phương pháp nghiên cứu, phõn tớch và tổng hợp tài liệu; phương pháp phân tích và thiết kế hệ thống thụng tin theo cụng nghệ hướng đối tượng; các phương pháp lập trỡnh hướng đối tượng; phương pháp thiết kế cơ sở dữ liệu đa phương tiện và phương pháp mô hỡnh húa trực quan

Với nội dung nghiờn cứu và mục tiêu hướng tới núi ở trên, đề tài giúp tăng cường hiểu biết về phương pháp luận, phương pháp, công nghệ và cụng cụ của hoạt động sử dụng lại trong phỏt triển phần mềm

Trang 12

Ứng dụng cỏc kết quả lý thuyết, chúng tôi đó thu thập cỏc tài nguyờn miền Giỏo dục – Đào tạo Đại học, tiến hành phõn tớch, phõn loại, tổ chức lưu trữ và khai thỏc cỏc tài nguyờn này trong một kho dữ liệu Tiếp đó, chúng tôi tiến hành khai thỏc và sử dụng lại cỏc tài nguyờn trong kho để phỏt triển hệ thống Quản lý sinh viờn ở trường Đại học Cụng nghệ Kết quả đem lại là thư viện tài sản sử dụng lại

(RAL - Reusable Asset Library) hỗ trợ lưu trữ và tỡm kiếm hiệu quả, bản phõn tớch

và thiết kế hệ thống Quản lý sinh viờn ở trường Đại học Cụng nghệ theo hướng đối tượng như một mẫu nghiờn cứu và cú thể sử dụng lại cho cỏc hệ thống khỏc

Ngoài ra, trong quỏ trỡnh nghiờn cứu, một số kết quả bước đầu đó được bỏo cỏo tại hội nghị Nghiờn cứu Khoa học của sinh viờn và học viờn Cao học, Khoa Cụng nghệ, Trường ĐHQG HN, vào tháng 5 năm 2004 và báo cáo tại hội thảo quốc gia lần thứ VII tổ chức tại Đà Nẵng, vào tháng 8 năm 2004

Kết cấu luận văn gồm ba chương:

Chương 1: Giới thiệu tổng quan về sử dụng lại trong phỏt triển phần mềm và các hướng tiếp cận khỏc nhau cho sử dụng lại Qua đó, chúng tôi đưa ra một số đánh giá về các hướng tiếp cận này

Chương 2: Luận văn tập trung nghiờn cứu sõu vào một hướng tiếp cận cho sử dụng lại đó là hướng tiếp cận miền ứng dụng và họ ứng dụng Để làm rừ hơn về hướng tiếp cận đó, chương 2 trỡnh bày cỏc khỏi niệm liờn quan, lợi ớch và ý nghĩa thực tiễn, tớch hợp cỏc hoạt động sử dụng lại theo hướng tiếp cận này vào tiến trỡnh phỏt triển phần mềm

Chương 3: Tiến trỡnh sử dụng lại được phân làm hai giai đoạn, giai đoạn phỏt triển phần mềm cho sử dụng lại và giai đoạn phỏt triển phần mềm với sử dụng lại Chương 3 trỡnh bày nội dung thử nghiệm cỏc hoạt động sử dụng lại trong phỏt triển phần mềm Thử nghiệm được chia làm hai giai đoạn: giai đoạn một gồm cỏc hoạt động phỏt triển phần mềm cho sử dụng lại; giai đoạn hai gồm cỏc hoạt động phỏt triển phần mềm với sử dụng lại Phần cuối chương chúng tôi đưa ra đánh giá hiệu quả sử dụng lại qua quỏ trỡnh phỏt triển hệ thống trờn

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ SỬ DỤNG LẠI TRONG

PHÁT TRIỂN PHẦN MỀM

1.1 Khái niệm

Sử dụng lại là việc sử dụng cỏc khỏi niệm hay các đối tượng hiện cú trong tỡnh huống mới Nú bao gồm việc mó húa cỏc thụng tin phỏt triển ở cỏc mức trừu tượng khác nhau, lưu giữ cỏc thể hiện này để phục vụ cho tỡnh huống cần đến trong tương lai, khớp tỡnh huống cũ và tỡnh huống mới, nhân đôi các đối tượng và các hành động đó được phỏt triển và làm cho chỳng thớch nghi với cỏc yờu cầu mới [3] Núi chung, sử dụng lại hướng tới việc lấy cỏc thành phần của một sản phẩm

để dễ dàng phỏt triển sản phẩm khỏc với tính năng khác Một thành phần sử dụng lại khụng chỉ là một module hay một đoạn mó nguồn mà nú cú thể là một thiết kế, một phần của thao tỏc bằng tay, một tập hợp dữ liệu kiểm thử hay một ước lượng về giỏ thành, về thời gian…

1.2 Lịch sử và quá trình phát triển của sử dụng lại

- Giai đoạn 1 (trước năm 1950): chưa sử dụng lại vỡ thời điểm này chỉ cú vài

mỏy với phần cứng không tương thích

- Giai đoạn 2 (từ những năm 1950 đến đầu những năm 197 0): sử dụng lại mó,

cấu trỳc dữ liệu hay cỏc ứng dụng hoàn chỉnh trong cỏc dự ỏn phần mềm mới

Hoạt động chính tập trung vào việc đóng gói, tạo các thư viện các đoạn chương trỡnh, cỏc hàm, cỏc thủ tục

- Giai đoạn 3 (từ những năm 1970 đến nay): Người ta đó nhận ra lợi ớch của

việc sử dụng lại cỏc thành phần khỏc nhau của vũng đời phỏt triển phần mềm Bắt đầu từ mụ hỡnh húa miền, đặc tả cỏc yờu cầu cho tới thiết kế phần

Trang 14

mềm, viết mó, kiểm thử, bảo trỡ phần mềm Đó cú nhiều kết quả đạt được trong việc sử dụng lại cỏc khớa cạnh mang tớnh tổ chức, phương pháp luận, tiến trỡnh phỏt triển và cỏc cấu trỳc giao tiếp Ta cú thể chia cỏc hoạt động

sử dụng lại ở giai đoạn này thành ba mức:

 Sử dụng lại ở mức chương trỡnh nguồn hay thư viện (điển hỡnh là hệ Unix)

 Sử dụng lại các đối tượng và các thành phần (tham khảo mục 1.9)

 Sử dụng lại ở mức trừu tượng (đặc tả yêu cầu, phân tích, thiết kế)

Khỏi niệm sử dụng lại cỏc yếu tố phần mềm là rất dễ hiểu trong trường hợp sử dụng lại mó nguồn, nhưng thật khú hiểu trong khung cảnh sử dụng lại các đặc tả và cỏc thiết kế (được biểu diễn dưới dạng văn bản hoặc dạng biểu đồ), càng khú hiểu hơn khi nói đến sử dụng lại cỏc yờu cầu phi hỡnh thức, cỏc tri thức về miền, cỏc kỹ năng của con người và kinh nghiệm của cỏc chuyờn gia (được biểu diễn bằng ngụn ngữ tự nhiên) Đặc tả yờu cầu là chế tác trong giai đoạn sớm nhất của vũng đời phỏt triển phần mềm và đó thu hỳt sự quan tâm đặc biệt trong cụng nghệ sử dụng lại Hiệu quả thu được từ việc sử dụng lại cỏc sản phẩm trừu tượng của tiến trỡnh phỏt triển, như các đặc tả, lớn hơn rất nhiều so với hiệu quả thu được từ sử dụng lại

mó Mó chứa cỏc chi tiết mức thấp chuyờn cho một phạm vi hẹp cú thể không được

sử dụng lại Cỏc thiết kế hay các đặc tả trừu tượng hơn và do đó có thể được ỏp dụng cho một phạm vi rộng rói hơn Ví dụ, với cựng một thiết kế cho một lớp bất

kỳ thỡ khi triển khai bằng ngụn ngữ Java sẽ khỏc so với khi triển khai bằng ngụn ngữ C++ Do đó, ta có thể sử dụng lại thiết kế trong một dũng cỏc ứng dụng nhưng các dũng mó nguồn định nghĩa của lớp thỡ khụng thể sử dụng lại trong mỗi ứng dụng mà chuyờn biệt húa về ngụn ngữ cài đặt hay nền mà chương trỡnh chạy trên

đó

Ngày nay người ta quan tâm hơn đến việc nghiờn cứu phương pháp và xây dựng cụng cụ hỗ trợ việc sử dụng lại cỏc chế tỏc thuộc cả vũng đời phỏt triển phần mềm, như: xây dựng cỏc mẫu, xõy dựng cỏc mụ hỡnh miền

Trang 15

1.3 Vai trũ và tầm quan trọng của sử dụng lại

Tổ chức cỏc hoạt động sử dụng lại một cỏch cú hệ thống khụng chỉ trỏnh cho cỏc nhà phỏt triển khụng phải thực hiện cỏc nhiệm vụ lặp đi lặp lại mà cũn mang lại nhiều lợi ớch trong phỏt triển phần mềm Đặc biệt nhấn mạnh vào bốn khớa cạnh sau:

1 Kinh tế: Tiết kiệm tài nguyờn, giảm chi phí, tăng lợi nhuận

Khi sử dụng cỏc thành phần được định nghĩa trước, cỏc hoạt động gắn với đặc

tả, thiết kế và cài đặt được thay bằng việc tỡm kiếm thành phần, làm thớch nghi nú với cỏc yờu cầu mới và tớch hợp chỳng Kinh nghiệm cho thấy tập hợp cỏc hoạt động sau tốn ớt thời gian hơn, do đó, tốn ít chi phí hơn các hoạt động trước Nhưng cũng chỳ ý rằng, phỏt triển phần mềm cho sử dụng lại tốn thời gian và chi phí hơn bỡnh thường Tuy nhiờn, ta tiết kiệm được nhiều thời gian và chi phớ trong những

dự án sau đó

2 Chất lượng: Cải tiến tớnh xỏc thực của cỏc sản phẩm phần mềm, giảm

rủi ro

Vỡ cỏc thành phần phần mềm khụng chỉ được sử dụng trong một hệ thống mà cũn được kiểm thử trong nhiều môi trường khỏc nhau Cỏc lỗi thiết kế và cài đặt được phỏt hiện và được loại trừ để cỏc thành phần sử dụng lại chứa rất ớt lỗi

3 Hiệu suất

Sử dụng lại cỏc yếu tố phần mềm sẵn cú giỳp tiết kiệm thời gian Do đó, thỏa món yờu cầu người dựng về thời hạn giao sản phẩm và đặc biệt là rỳt ngắn thời gian đưa sản phẩm ra thị trường, đây là một nhõn tố rất quan trọng trong phỏt triể n phần mềm

4 Kiến thức và kinh nghiệm của cỏc chuyờn gia

Sử dụng lại cỏc yếu tố phần mềm khụng những khụng phải làm lại yếu tố phần mềm đó mà quan trọng hơn là nhanh chóng tiếp cận được kiến thức nghiệp vụ và

Trang 16

kinh nghiệm chuyờn gia qua cỏc yếu tố phần mề m đó như là kiến thức miền hay giải phỏp cho mỗi vấn đề trong thực tế

1.4 Phân loại sử dụng lại

Sử dụng lại có thể phân theo cách thức thực hiện:

- Sử dụng lại một cỏch ngẫu nhiờn

- Sử dụng lại cú chủ ý

Nếu người phỏt triển một sản phẩm mới nhận ra rằng, một thành phần của một sản phẩm được phỏt triển trước đó có thể được sử dụng lại trong một sản phẩm mới thỡ trường hợp này gọi là sử dụng lại một cỏch ngẫu nhiờn Mặt khỏc, việc sử dụng cỏc thành phần phần mềm được xõy dựng với mục đích để sử dụng lại trong tương lai thỡ gọi là sử dụng lại cú chủ ý Loại sử dụng lại thứ hai tiện lợi hơn so với loại thứ nhất ở chỗ: khi cỏc thành phần được xõy dựng với mục đích để sử dụng lại trong tương lai, nó thường được phỏt triển sao cho dễ dàng và an toàn cho việc sử dụng lại, chẳng hạn như được làm tài liệu tốt, được kiểm thử một cỏch triệt để

Thêm vào đó, chúng thể hiện tớnh thống nhất về kiểu (style) làm cho việc bảo trỡ dễ

dàng hơn Như vậy, để tạo ra những chế tỏc cú thể sử dụng trong tương lai thỡ chi phớ bỏ ra thường đắt hơn bỡnh thường nhiều lần vỡ mất thời gian để đặc tả, thiết

kế, cài đặt, kiểm thử và làm tài liệu một thành phần phần mềm Tuy nhiờn, khụng thể đảm bảo rằng một thành phần như vậy sẽ được sử dụng lại và do đó sẽ khụng thể đảm bảo việc thu hồi lại vốn đó đầu tư trong phát triển thành phần với mục đích

có thể sử dụng lại trong tương lai

1.5 Các chế tác có thể sử dụng lại

Đối tượng của sử dụng lại là cỏc chế tỏc sử dụng lại Đó là bất kỳ thụng tin nào mà nhà phỏt triển cú thể cần trong tiến trỡnh tạo ra phần mềm và tất cả cỏc chế tỏc trong vũng đời phỏt triển phần mềm Cỏc chế tỏc cú thể thuộc cỏc dạng khác nhau như được chỉ ra trong bảng 1-1

Trang 17

Cỏc chế tỏc cú thể là cỏc thành phần trừu tượng mức cao (như tri thức miền) hay cỏc thành phần mức trừu tượng thấp (như các module mó nguồn) Chúng được lưu trữ và biểu diễn ở nhiều dạng khác nhau (như là văn bản, đồ họa, õm thanh, phim ảnh) Kớch cỡ của chúng thay đổi từ một hàm thư viện cho tới một hệ thống hoàn chỉnh

Tập hợp cỏc chế tỏc sử dụng lại tạo nờn một thư viện sử dụng lại Các thư viện này khụng chỉ chứa cỏc thành phần cú thể sử dụng lại mà cũn được mong đợi

là sẽ cung cấp cỏc dịch vụ cho người dùng thư viện như là lưu trữ, tỡm kiếm, kiểm tra cỏc chế tỏc từ cỏc miền ứng dụng khỏc nhau, mức mịn và mức trừu tượng khỏc nhau, truy xuất, làm thớch nghi, tớch hợp và đặc tả cỏc mối quan hệ giữa cỏc chế tỏc Cỏc vấn đề chớnh trong việc sử dụng các thư viện này là quyết định các lược

đồ phõn lớp cỏc chế tỏc một cỏch phự hợp và lựa chọn các phương pháp tỡm kiếm trong thư viện một cỏch hiệu quả Để trỏnh cỏc vấn đề khó khăn, ta sử dụng cỏc ngụn ngữ cụ thể miền Cỏc ngụn ngữ này sử dụng cỳ phỏp và ngữ nghĩa rất chặt chẽ được định nghĩa dưới dạng một miền ứng dụng và cỏc chế tỏc sử dụng lại của nú

Trang 18

1.6 Các rào cản đối với việc sử dụng lại

Sử dụng lại cỏc chế tỏc phần mềm đem lại lợi ớch to lớn Tuy nhiờn cú những rào cản tự nhiờn:

1 Sự khụng thống nhất

Khụng thống nhất về ngụn ngữ, kiến trỳc, ký phỏp, hệ điều hành và khụng thống nhất cả về cỏc chuẩn đƣợc sử dụng gõy cản trở cho việc sử dụng lại Tuy

Trang 19

nhiờn, với sự phỏt triển của cỏc cụng nghệ tiờn tiến như công nghệ Net, ngụn ngữ

mụ hỡnh húa UML thỡ cỏc rào cản này đó từng bước cú thể được khắc phục

2 Văn hóa sử dụng lại

- Chưa nhận thức được tầm quan trọng của sử dụng lại

- Nhiều xớ nghiệp, nhiều nhà phỏt triển thớch viết chương trỡnh từ đầu hơn là sử dụng lại chương trỡnh của người khỏc (vỡ đề cao cỏi tụi cỏ nhõn hoặc vỡ họ không tin tưởng vào chất lượng của c ác chương trỡnh của người khỏc, họ không được đảm bảo về chất lượng của tài sản sử dụng lại)

3 Các khó khăn khi thực hiện cỏc hoạt động sử dụng lại

- Chi phớ cho sử dụng lại lớn Khụng phải cứ sử dụng lại 40% là giảm chi phớ sản xuất phần mềm được 40% vỡ chỳng ta phải trả giỏ cho việc tạo, lưu trữ, tỡm kiếm, truy xuất và làm thớch nghi cỏc thành phần sử dụng lại

- Khó khăn cho việc tổ chức lưu trữ, tỡm kiếm và truy xuất cỏc tài sản sử dụng lại vỡ chỳng rất đa dạng và phong phỳ

4 Vấn đề cam kết bản quyền

- Một thành phần được viết trong một sản phẩm được viết cho một khỏch hàng thỡ khụng thể được sử dụng lại để xõy dựng sản phẩm khỏc cho khỏch hàng khỏc

1.7 Cơ sở khoa học cho sử dụng lại

Với tốc độ phỏt triển nhanh chúng của cụng nghệ thụng tin, ngày càng cú nhiều cụng nghệ, cụng cụ, kỹ thuật hỗ trợ cho việc thực hiện cỏc hoạt động sử dụng lại Chỳng giỳp cho cỏc thành phần sử dụng lại cú cấu trỳc thống nhất, được đặc tả trực quan, có tính độc lập cao Nhờ đó, người sử dụng lại dễ dàng hiểu, nắm bắt

Trang 20

được cỏc thành phần này và dễ dàng tớch hợp cỏc thành phần này vào cỏc hệ thống mới

1.7.1 Phương pháp

Có nhiều phương pháp trợ giúp cho việc sử dụng lại

– Mô đun hóa

Một mô đun là một đoạn mó lệnh cú khả năng thực hiện chức năng riêng Nó

có thể chứa một hàm hay nhiều hàm thực hiện cỏc nhiệm vụ liên quan đến nhau để hoàn thành một chức năng độc lập Vớ dụ, mô đun chứa cỏc hàm xử lý dữ liệu gồm

cú hàm thực hiện kết nối cơ sở dữ liệu, hàm thờm một bản ghi dữ liệu, hàm sửa dữ liệu, hàm tỡm kiếm dữ liệu, hàm xúa dữ liệu Sử dụng lại các mô đun thực hiện chức năng độc lập như vậy sẽ rất dễ dàng, ta cú thể gọi các mô đun đú nhiều lần trong một chương trỡnh hoặc nhiều chương trỡnh khỏc

– Hướng đối tượng

Cỏc cụng nghệ hướng đối tượng tớch hợp với cỏc cụng nghệ biểu đồ khỏc nhau thành một phương pháp luận thống nhất, sử dụng cỏc ký phỏp thống nhất Các phương pháp phát triển hướng đối tượng cho phộp tạo các lược đồ khỏi niệm trừu tượng, cỏc sự trừu tượng (như là các khung làm việc), cỏc họ ứng dụng, cỏc mẫu thiết kế, cỏc thành phần ở mức trừu tượng cao, do đó có thể ỏp dụng trong cỏc khung cảnh khỏc nhau, mở rộng khả năng sử dụng lại

– Hướng thành phần

Phỏt triển phần mềm dựa trờn thành phần nổi lờn vào cuối những năm 90 như

là một tiếp cận dựa trờn sử dụng lại cho phỏt triển hệ thống phần mềm Cỏc thành phần trừu tượng hơn các lớp đối tượng và cú thể được xem như là các nhà cung cấp dịch vụ độc lập Khi một hệ thống cần một dịch vụ nào đó, nó gọi một thành phần

để cung cấp dịch vụ đó mà không quan tâm tới môi trường hay ngụn ngữ lập trỡnh được sử dụng để phỏt triển thành phần Vớ dụ, một thành phần rất đơn giản cú thể

Trang 21

là một hàm toỏn học tính căn bậc hai của một số Khi một chương trỡnh yờu cầu tính căn bậc hai, nú gọi thành phần đó để cung cấp dịch vụ tương ứng

1.7.2 Cụng cụ

– Cỏc ngụn ngữ lập trỡnh logic (chẳng hạn, PROLOG), kết hợp giữa yếu tố đặc

tả chương trỡnh và thiết kế chương trỡnh (qua đặc tả logic và đặc tả lớp) ở mức mó, cỏch tiếp cận như vậy sẽ đẩy mạnh sử dụng lại cỏc mụ tả chương trỡnh trừu tượng qua vũng đời

– Cỏc cụng cụ thể hiện bằng đồ họa cỏc yờu cầu của người dùng cũng như các quyết định thiết kế giỳp cho việc hiểu để sử dụng lại một thành phần phần mềm dễ dàng hơn (Microsoft Power Designer, Rational Rose, …)

– Ngụn ngữ mụ hỡnh húa thống nhất UML cho phộp sử dụng cỏc ký phỏp nhất quỏn giỳp cho cỏc hệ thống phần mềm cú cấu trỳc thống nhất Nhờ đó, người

sử sử dụng lại sẽ dễ dàng hiểu và dễ dàng tớch hợp thành phần sử dụng lại vào

hệ thống mới của họ

– Việc đưa ra các yêu cầu hỡnh thức và cỏc ngụn ngữ đặc tả hỡnh thức như RML, VDM, Z cho phép thể hiện, cấu trỳc, kiểm chứng và sử dụng lại cỏc thành phần đặc tả Các đặc tả này cũn được sử dụng để xõy dựng cỏc giải thuật lựa chọn thành phần sử dụng lại phự hợp cho cỏc hệ thống mới

– Để tổ chức cỏc hoạt động sử dụng lại cú hệ thống thỡ một kho lưu trữ tài sản

sử dụng lại là yếu tố quan trọng Kho lưu trữ này phải đảm bảo cho một số lượng lớn tài sản, với nhiều loại hỡnh khỏc nhau, với nhiều phiờn bản khỏc nhau và cần đến cấu trúc lưu trữ động để hỗ trợ lưu trữ và tỡm kiếm cỏc tài sản một cỏch hiệu quả Sự phỏt triển của cỏc hệ quản trị cơ sở dữ liệu tiờn tiến ngày nay như Microsoft SQL Server hay Oracle là những cụng cụ đáp ứng được cỏc yờu cầu này

Trang 22

– Phần mềm mó nguồn mở ngày càng phổ biến Việc tạo ra và sử dụng mó nguồn mở là một hướng mới của sử dụng lại giỳp mở rộng phạm vi sử dụng lại khụng chỉ trong một tổ chức mà trờn toàn thế giới

– Việc ỏp dụng cỏc cụng nghệ dựa trờn tri thức giỳp tự động húa lấy thụng tin

và ra quyết định Điều này rất quan trọng khụng chỉ trong tiến trỡnh phõn tớch, lấy yờu cầu, xõy dựng bảng từ vựng mà đặc biệt là tự động húa lựa chọn cỏc thành phần phần mềm phự hợp với cỏc yờu cầu của hệ thố ng mới hay tư vấn cho cỏc nhà phỏt triển về cỏc thành phần này

– Cỏc cụng cụ hỗ trợ dịch xuụi, dịch ngược [2] như Rational Rose, Power Designer, Designer 2000: Hỗ trợ sinh mó tự động từ cỏc bản thiết kế và xõy dựng cỏc mụ hỡnh thiết kế từ các mô đun mó là một hướng sử dụng lại thiết

kế và mó nguồn hiệu quả Bởi vỡ, thứ nhất, ta tiết kiệm được thời gian viết

mó khi ta đó cú cỏc mụ hỡnh thiết kế Thứ hai, khi ta cú một thành phần mó,

để hiểu rừ hơn về thành phần ta cú thể tiến hành dịch ngược để cú ngay một

mụ hỡnh thiết kế đồng bộ với mó của nú Thứ ba, điều này rất cú ý nghĩa khi

ta cần thay đổi một thành phần mó để phự hợp với yờu cầu của hệ thống mới

ta cú thể cho dịch ngược sang mụ hỡnh thiết kế rồi tiến hành sửa mụ hỡnh thiết kế đó và cuối cựng là dịch xuôi để thu được mó tương ứng mà thỏa món cỏc yờu cầu mới Cỏc cụng cụ này đều cho phộp ta thực hiện luõn phiờn hai quỏ trỡnh dịch xuụi, dịch ngược trờn cựng một mụ hỡnh để luôn đảm bảo tính đồng bộ giữa thiết kế và triển khai

1.8 Các hoạt động sử dụng lại

Theo cỏc nghiờn cứu ở trờn ta cú thể chia cỏc hoạt động sử dụng lại thành hai phần:

1 Tạo ra cỏc chế tỏc sử dụng lại và lưu trữ cỏc chế tỏc

2 Tỡm ra chế tỏc sử dụng lại và tổng hợp vào hệ thống mới

Trang 23

Mục tiờu của cỏc hoạt động ở phần một là tạo ra thư viện sử dụng lại Quỏ trỡnh thực hiện cỏc hoạt động này được gọi là quỏ trỡnh phỏt triển cho sử dụng lại Mục tiờu của cỏc hoạt động ở phần hai là sử dụng thư viện sử dụng lại để phỏt triển hệ thống mới Quỏ trỡnh thực hiện cỏc hoạt động này được gọi là quỏ trỡnh phỏt triển với sử dụng lại

1.8.1 Phỏt triển phần mềm cho sử dụng lại

Sử dụng lại một cỏch cú hệ thống yờu cầu cỏc chế tỏc sử dụng lại được xếp vào cỏc danh mục và được làm tài liệu tạo nên thư viện sử dụng lại Cỏc cụng việc điển hỡnh để xõy dựng thư viện sử dụng lại gồm cú: Tạo (thu thập), tổng quỏt húa, phõn lớp, lưu trữ và tổ chức khai thỏc

a Tạo (thu thập)

Một tài sản cú thể được tạo với mục đích sử dụng lại trong tương lai hoặc đơn giản chỉ là một phần của hệ thống trước đó Trong trường hợp đầu tiờn thỡ ta mất nhiều cụng sức, thời gian, chi phớ cho việc tạo ra tài sản nhưng bù lại việc sử dụng lại sẽ hiệu quả hơn Bởi vỡ, với mục đính được định trước là để sử dụng lại trong tương lai thỡ tài sản được tạo ra tổng quát hơn, có thể sử dụng lại trong nhiều khung cảnh khỏc nhau, cú tớnh chắc chắn hơn vỡ được được kiểm thử nhiều nơi Trong trường hợp thứ hai, cỏc chế tác được tạo là một phần của một lần phỏt triển hệ thống ứng dụng thỡ khụng thể sử dụng lại ngay lập tức Cỏc chế tác này được hướng tới thoả món cỏc yờu cầu của hệ thống hiện có Để cú thể sử dụng lại, chỳng phải được tổng quát hoá để thoả món phạm vi yờu cầu rộng hơn

b Tổng quỏt húa

- Tổng quỏt hoỏ tờn: Các tên được sử dụng trong thành phần có thể được sửa

để chúng tổng quát hơn là để chúng phản ánh trực tiếp một thực thể ứng dụng cụ thể nào đó

- Tổng quỏt hoỏ thao tỏc: Đũi hỏi thờm cỏc thao tỏc hoặc là bỏ đi các thao

tác mà cụ thể cho một miền ứng dụng nào đó

Trang 24

- Tổng quỏt hoỏ ngoại lệ: Đũi hỏi kiểm chứng mỗi thành phần để biết được

ngoại lệ nào có thể có và đưa vào trong giao diện thành phần

Một khi, một chế tác được tạo ra và được sử dụng trong một hệ thống, nú cú thể được sử dụng lại mà khụng cần thay đổi Tuy nhiên, thông thường, bằng cách nào đó cần làm cho cỏc chế tỏc này thớch nghi với cỏc yờu cầu cụ thể của hệ thống sắp phỏt triển

Để làm cho một chế tỏc cú thể sử dụng lại, cần cú một số thay đổi khi tổng quỏt húa Sau khi tổng quỏt hoỏ, chất lượng của chế tác đó được tổng quỏt hoỏ cần được kiểm tra Dữ liệu kiểm thử cho chế tỏc nờn khả dụng cho những người sử dụng lại để nú cũng cú thể được sử dụng lại

c Phõn loại tài sản sử dụng lại

Cỏc tài sản sử dụng lại tồn tại ở nhiều loại hỡnh khỏc nhau (Bảng 1 -1) và cú nhiều thuộc tớnh cần mụ tả về tài sản như là: Loại tài sản, Định dạng tài sản, Phiờn bản, Tiến trỡnh phỏt triển, Kĩch cỡ, Giai đoạn phỏt triển, … Ngoài ra, mỗi tài sản thường gắn với một ứng dụng trong miền hoặc chung cho tất cả cỏc ứng dụng trong miền hoặc thậm chớ là gắn với nhiều miền khỏc nhau Ta cú thể phõn loại cỏc tài sản dựa trờn cỏc thuộc tớnh này và phải lựa chọn cỏch phõn loại sao cho việc lưu trữ và tỡm kiếm tài sản đạt hiệu quả nhất

1.8.2 Phỏt triển phần mềm với sử dụng lại

Liên quan đến việc tận dụng thư viện sử dụng lại để hỗ trợ cho phỏt triển ph ần mềm mới Cỏc chế tỏc cú thể tận dụng là: tài liệu phõn tớch miền, tài liệu đặc tả yờu cầu, mẫu phõn tớch, mẫu thiết kế, tài liệu thiết kế, mẫu cài đặt, các mô đun mó,

dữ liệu kiểm thử,

Trang 25

Để tận dụng được cỏc chế tác đó cần tỡm kiếm, lấy ra, lựa chọn, l àm thớch nghi và tớch hợp cỏc chế tỏc vào hệ thống phần mềm mà mỡnh đang xây dựng

Ta cú thể sử dụng lại cỏc tài sản ở mức tham khảo hay mức sử dụng lại hoàn toàn Cỏc mẫu phõn tớch, mẫu thiết kế, mẫu triển khai được sử dụng lại rất rộng rói nhưng ở mức tham khảo Các hàm thư viện, các mô đun chứa cỏc chi tiết cụ thể, chỉ được sử dụng lại ở những trường hợp cụ thể, tương ứng nhưng có thể được sử dụng lại hoàn toàn ở hệ thống mới mà cú thể khụng cần có thay đổi gỡ Tuy nhiờn, ở cả hai mức sử dụng lại trờn, khi tỡm kiếm một thành phần để sử dụng lại, khụng cú nghĩa là thành phần đó phải hoàn toàn khớp với yờu cầu đặt ra mà cú thể chỉ một phần trong đó Trước khi tớch hợp vào hệ thống mới, cú thể ta sẽ phải thay đổi thành phần để phự hợp với yờu cầu mới hoặc không thay đổi nhưng chỉ sử dụng lại một phần trong đó

1.9 Một số cỏch tiếp cận cho sử dụng lại

1.9.1 Phát triển phần mềm hướng đối tượng

Trong phỏt triển phần mềm hướng chức năng, dữ liệu và tiến trỡnh hoàn toàn tỏch biệt nờn khú sử dụng lại Trong phỏt triển phần mềm hướng đối tượng Các đối tượng đóng gói tiến trỡnh và dữ liệu Các đối tượng được thiết kế tốt thường độc lập với khung cảnh nờn dễ dàng sử dụng lại trong cỏc khung cảnh khỏc

Mụ hỡnh hướng đối tượng được sử dụng lần đầu tiờn ở một tổ chức, thường mất nhiều thời gian hơn so với dự kiến Tuy nhiên sau đó mọi thứ phỏt triển rất nhanh Đầu tiờn là chi phớ cho bảo trỡ giảm, do đó sẽ giảm chi phớ cho vũng đời sản phẩm Thứ hai, trong thời gian tiếp theo khi một sản phẩm mới được phỏt triển, một số lớp từ dự án trước cú thể được sử dụng lại, do đó giảm chi phớ cho phần mềm

Thừa kế cũng là một trường hợp sử dụng lại hiệu quả trong phỏt triển hướng đối tượng Tuy nhiờn cú vấn đề là khi một sản phẩm được cài đặt thỡ bất kỳ sự thay đổi nào đối với một lớp đang tồn tại thỡ đều ảnh hưởng trực tiếp tới tất cả cỏc hậu

Trang 26

duệ trong lược đồ phân cấp thừa kế Tối thiểu thỡ cỏc phần tử bị ảnh hưởng sẽ phải biờn dịch lại Trong một số trường hợp, các phương thức của cỏc đối tượng liờn quan (cỏc thể hiện của lớp con bị ảnh hưởng) cần phải viết lại mó; đây có thể là một nhiệm vụ khụng nhỏ Để giảm thiểu vấn đề này thỡ điều quan trọng là tất cả cỏc lớp đều phải được thiết kế một cỏch cẩn thận trong tiến trỡnh phỏt triển.Vấn đề thứ hai nảy sinh khi sử dụng quan hệ thừa kế: trừ khi được ngăn chặn, một lớp con thừa kế tất cả cỏc thuộc tớnh của lớp cha của nú và cú thờm cỏc thuộc tớnh riờng của nó, do

đó, các đối tượng ở mức thấp hơn trong phân cấp thừa kế thỡ cú thể lớn hơn các lớp

ở mức trờn, gõy ra vấn đề về lưu trữ Một cách để ngăn ngừa vấn đề này là thay đổi

từ thừa kế ở bất kỳ nơi nào có thể bằng thừa kế ở bất kỳ nơi nào phù hợp Thêm vào

đó, nếu một lớp con khụng cần một thuộc tớnh của lớp cha thỡ khụng nờn thừa kế thuộc tính đó

Mặc dự cú những vấn đề như nêu ở trên, không ít các báo cáo đó núi về lợi ớch của việc sử dụng cỏc cụng nghệ hướng đối tượng Thêm vào đó, có rất nhiều nghiờn cứu đó mụ tả cỏc dự án thành công được thực hiện sử dụng mụ hỡnh hướng đối tượng Đặc biệt, trong những năm gần đây, ngôn ngữ mụ hỡnh húa thống nhất

đó hoàn thiện, giỳp cho cỏc hệ thống phần mềm cú cấu trỳc thống nhất, cỏc tài liệu đặc tả hệ thống được biểu diễn bằng cỏc ký phỏp trực quan, do đó, làm tăng khả năng và phạm vi sử dụng lại Ngoài ra, phải kể đến cỏc cụng cụ biểu diễn đặc tả hệ thống hướng đối tượng ngày nay như Rational Rose, GD Pro, hỗ trợ dịch xuụi và dịch ngược với nhiều ngụn ngữ lập trỡnh hướng đối tượng khỏc nhau, nhờ đó làm tăng khả năng và tính hiệu quả của sử dụng lại Cú thể núi mụ hỡnh hướng đối tượng hiện nay là tiến trỡnh phỏt triển phự hợp và làm tăng đáng kể khả năng sử dụng lại so với các phương pháp truyền t hống

1.9.2 Phỏt triển phần mềm dựa trờn thành phần

Một thành phần phần mềm (software component) là một đơn vị kết hợp của

cỏc giao diện và cỏc phụ thuộc khung cảnh rừ ràng Nú cú thể được bố trớ một cách độc lập và cung cấp cỏc dịch vụ độc lập

Trang 27

Hướng tiếp cận dựa trờn thành phần là hướng tiếp cận mà trong đó, một hệ thống là sự kết hợp của nhiều thành phần khỏc nhau, cỏc thành phần được sử dụng lại nhiều lần trong cỏc ứng dụng

Với cỏch tiếp cận là phỏt triển phần mềm hướng đối tượng, cỏc lớp đối tượng đơn quá chi tiết và quỏ cụ thể Vỡ ngoài việc làm cho chương trỡnh cồng kềnh cũn vấn đề phải xem xét đến đó là các đối tượng phụ thuộc vào biờn dịch và ngụn ngữ lập trỡnh sử dụng

Cỏc thành phần trừu tượng hơn các lớp đối tượng, nú là một nhóm các đối tượng tương tác và có thể được xem như một nhà cung cấp dịch vụ độc lập Tất cả các tương tác được thể hiện trờn giao diện, mó nguồn là ẩn hoàn toàn Khi một hệ thống cần một dịch vụ, nú chỉ việc gọi thành phần cung cấp dịch vụ đó mà không quan tâm đến việc biờn dịch và ngụn ngữ lập trỡnh được sử dụng để phỏt triển thành phần Một thành phần thỡ cú thể được sử dụng lại ở nhiều hệ thống

Theo cỏch tiếp cận này, tiến trỡnh phỏt triển phần mềm gồm các bước như sau:

Đầu tiờn, nhà thiết kế hệ thống hoàn thiện một thiết kế mức cao, sau đó tiến hành đặc tả cỏc thành phần của thiết kế đó Các đặc tả này được sử dụng để tỡm ra cỏc thành phần để sử dụng lại Cỏc thành phần này cú thể được kết hợp ở mức kiến trỳc hoặc ở mức thiết kế chi tiết hơn [43]

Thiết kế kiến

trỳc hệ th ống

Đặc tả các thành phần

Tỡm kiếm cỏc thành phần sử dụng lại

Tớch hợp cỏc thành phần

Hỡnh 1-1 Phỏt triển phần mềm dựa trờn thành phần

Trang 28

1.9.3 Phát triển phần mềm hướng sử dụng lại

Trong phỏt triển phần mềm dựa trờn thành phần, cỏc thành phần cú thể được thay đổi để thỏa món yờu cầu của hệ thống mới Ngược lại, trong phỏt triển hướng

sử dụng lại, cỏc yờu cầu hệ thống được sửa theo cỏc thành phần sử dụng lại

Tiến trỡnh sử dụng lại theo hướng này như sau: Đầu tiờn cần xác định cỏc yờu cầu hệ thống, sau đó tiến hành tỡm kiếm cỏc thành phần sử dụng lại Khi nắm bắt được cỏc thành phần thỡ tiến hành sửa cỏc yờu cầu hệ thống theo cỏc thành phần này Cuối cùng là đặc tả cỏc thành phần hệ thống dựa trờn cỏc thành phần sử dụng lại này Theo hướng này, cỏc yờu cầu cú thể phải được thoả hiệp lại Thiết kế cú thể kộm hiệu quả hơn là thiết kế với mục đích cụ thể Tuy nhiờn, chi phớ phỏt triển thấp và tớnh tin cậy của hệ thống tăng sẽ đền bự cho hạn chế này

1.9.4 Mẫu thiết kế

Sử dụng lại thành phần bị ràng buộc bởi cỏc quyết định thiết kế mà các nhà cài đặt thực hiện, từ cỏc thuật toán được sử dụng đến các đối tượng và cỏc kiểu trong giao diện Nếu cỏc quyết định thiết kế mà xung đột với cỏc cỏc yờu cầu cụ thể thỡ

Xác định các

yêu cầu hệ

thống

Tỡm kiếm cỏc thành phần sử dụng lại

Sửa cỏc yờu cầu theo cỏc thành phần tỡm được

Thiết kế kiến

trỳc

Tỡm kiếm cỏc thành phần sử dụng lại

Đặc tả các thành phần hệ thống dựa trên các thành phần sử dung lại

Hỡnh 1-2 Phỏt triển phần mềm h ướng sử dụng lại

Trang 29

sử dụng lại thành phần khụng hiệu quả hoặc khụng thể được sử dụng lại cho hệ thống mới

Một cỏch tiếp cận khỏc hiệu quả hơn trong trường hợp này đó là mẫu thiết kế Với cỏch tiếp cận là mẫu thiết kế, ta sử dụng lại cỏc thiết kế trừu tượng hơn mà không chứa cỏc chi tiết cài đặt cụ thể Vớ dụ, cỏc thuật toán cơ sở, cỏc cấu trỳc dữ liệu như stack, tree, list, các mẫu thiết kế

Mẫu là một mụ tả của vấn đề và phần cốt lừi của giải phỏp Giải phỏp này cú thể sử dụng lại hàng triệu lần trong cỏc khung cảnh khỏc nhau Mẫu khụng phải là một đặc tả chi tiết, nú là một giải phỏp tốt cho một vấn đề chung

Vớ dụ về mẫu Expert, mẫu đơn giản nhất nhưng được sử dụng nhiều nhất

Ta cú sử dụng lại mẫu ở hai mức:

- Sử dụng lại giải phỏp của mẫu

- Sử dụng lại mó nguồn đi kèm mẫu

Nếu chỳng ta phõn tớch tốt thỡ đến giai đoạn thiết kế ta chỉ cần ghộp cỏc mẫu với nhau để tạo nờn mụ hỡnh thiết kế của hệ thống và tớch hợp các module đi kèm với cỏc mẫu để tạo cỏc sản phẩm phẩm mềm cú chất lượng mà lại tốn rất ớt thời gian và cụng sức

1.9.5 Bộ phỏt sinh

Theo cỏch tiếp cận này, tri thức sử dụng lại được nắm bắt trong một hệ thống phát sinh chương trỡnh, hệ thống này cú thể được lập trỡnh bằng một ngụn ngữ hướng miền Cỏc mụ tả ứng dụng đặc tả cỏc thành phần sử dụng lại nào được sử

Trang 30

dụng, chúng được kết nối với nhau như thế nào Sử dụng cỏc thụng tin này, mộ t hệ thống phần mềm sẽ được phỏt sinh

Vớ dụ:

Bộ phỏt sinh ứng dụng cho xử lý dữ liệu nghiệp vụ: Đầu vào của bộ này cú thể

là một tương tác hoàn chỉnh, ở đó người dùng định nghĩa màn hỡnh hiển thị và các hành động xử lý Đầu ra của chỳng là một chương trỡ nh được viết bằng một ngụn ngữ như COBOL hay SQL

Bộ sinh mó trong cỏc cụng cụ Case như là Rational Rose hay Designer 2000: Đầu vào là thiết kế, đầu ra là một chương trỡnh cài đặt hệ thống được thiết kế Cỏc bộ phỏt sinh ứng dụng cho cỏc hệ thống nghiệp vụ rất thành cụng bởi vỡ nhiều ứng dụng xử lý dữ liệu đũi hỏi thụng tin trừu tượng từ một cơ sở dữ liệu, thực hiện một số việc xử lý thông tin đơn giản và đưa ra các báo cáo từ thông tin đó Bộ phỏt sinh này bao gồm cú cỏc ngụn ngữ điều khiển cho phộp cỏc thành phần này được kết hợp thành chương trỡnh Trong trường hợp này, một ứng dụng hoàn chỉnh

hệ thống sau

1.10 Kết luận

Trên đây, chúng tôi đó trỡnh bày cỏc vấn đề cơ bản về sử dụng lại trong phỏt triển phần mềm, gồm cú: khỏi niệm sử dụng lại, quỏ trỡnh tiến húa của sử dụng lại,

Trang 31

vai trũ và tầm quan trọng của nú, cỏc hoạt động cụ thể cần thực hiện khi đưa sử dụng lại vào tiến trỡnh phỏt triển phần mềm, các khó khăn cũng như thuận lợi và các hướng tiếp cận khác nhau để thực hiện cỏc hoạt động này

Thực hiện cỏc hoạt động sử dụng lại một cỏch cú hệ thống trong phỏt triển phần mềm giỳp rỳt ngắn thời gian, giảm chi phí và tăng chất lượng phần mềm Cú nhiều hướng tiếp cận khác nhau để thực hiện cỏc hoạt động này Mỗi đơn vị phỏt triển phần mềm cú thể lựa chọn một hoặc kết hợp nhiều hướng tiếp cận khác nhau

để tăng hiệu quả sử dụng lại Việc lựa chọn hướng tiếp cận phự hợp tựy thuộc vào khuynh hướng phỏt triển phần mềm ở mỗi đơn vị

CHƯƠNG 1 5

1.1 Khỏi niệm 5

1.2 Lịch sử và quỏ trỡnh phỏt triển của sử dụng lại 5

1.3 Vai trũ và tầm quan trọng của sử dụng lại 7

1.4 Phõn loại sử dụng lại 8

1.5 Cỏc chế tỏc cú thể sử dụng lại 8

1.6 Các rào cản đối với việc sử dụng lại 10

1.7 Cơ sở khoa học cho sử dụng lại 11

1.7.1 Phương pháp 12

1.7.2 Cụng cụ 13

1.8 Các hoạt động sử dụng lại 14

1.8.1 Phỏt triển phần mềm cho sử dụng lại 15

1.8.2 Phỏt triển phần mềm với sử dụng lại 16

1.9 Một số cỏch tiếp cận cho sử dụng lại 17

Trang 32

KỸ NGHỆ MIỀN VÀ HƯỚNG TIẾP CẬN MIỀN

Vớ dụ, ta cú miền ứng dụng Giỏo dục và Đào tạo, cỏc hệ thống được xõy dựng trong miền là Hệ thống học qua mạng, Hệ thống thư viện sỏch, Hệ thống điều hành Giảng dạy, Hệ thống quản lý trang thiết bị học tập, … Miền ứng dụng Hàng khụng cú cỏc ứng dụng như: Hệ thống đặt chỗ mỏy bay, Hệ thống thanh toỏn, Hệ thống giao tiếp và điều khiển

2.1.2 Kỹ nghệ miền

Kỹ nghệ miền (domain engineering) là một tiến trỡnh lặp bao gồm việc xác

định, thiết kế và phỏt triển một họ sản phẩm hoặc một tập cỏc hệ thống liờn quan trong một miền Một phần của kỹ nghệ miền tập trung vào cỏc giải phỏp tổng quỏt của họ cỏc hệ thống phần mềm - cú cỏc yờu cầu tương tự nhau và các năng lực tương tự nhau trong một lĩnh vực nghiệp vụ cụ thể [34]

Tiến trỡnh kỹ nghệ miền bao gồm phõn tớch khung cảnh, phõn tớch miền, thiết kế miền, triển khai miền và kiểm thử cỏc tài sản miền Kỹ nghệ miền tương tự như kỹ nghệ hệ thống nhưng sẽ được thực hiện trờn nhiều hệ thống mà ở đó các phần chung và cỏc phần riờng trong mỗi miền được xác định, lấy ra, tổ chức, trừu tượng húa và thể hiện bằng cỏch phõn tớch và làm tài liệu đối với mỗi hệ thống hiện tại, xõy dựng lờn kiến trỳc chung của miền Bất kỳ yờu cầu nào nhận được cho miền trong tương lai cũng được phân tích trên cơ sở kiến trúc chung đó Dựa trờn

Trang 33

phõn tớch, kỹ nghệ miền gợi ý một kiến trỳc thỏa món phần lớn cỏc yờu cầu bờn trong miền

Mục tiờu của tiến trỡnh kỹ nghệ miền là xõy dựng cỏc tài sản sử dụng lại, xác định cỏc tài sản sử dụng lại là chung cho miền và lưu các tài sản vào kho chứa Hỡnh 2-1 minh họa cỏc tiến trỡnh con trong tiến trỡnh kỹ nghệ miền cựng với đầu vào, đầu ra của chỳng Bắt đầu từ tri thức miền và cỏc hệ thống hiện tại trong miền, ta tiến hành phõn tớch miền để cung cấp cỏc mụ hỡnh miền Cỏc mụ hỡnh miền được sử dụng để thiết kế kiến trỳc miền Tiến trỡnh triển khai miền cung cấp cỏc tài sản miền dựa trờn kiến trúc đó thiết kế và cỏc tài sản hiện cú Tất cả cỏc tài nguyờn này sẽ được lưu trữ vào kho chứa để cú thể được sử dụng mỗi khi phỏt triển một hệ thống mới trong miền

2.1.3 Kỹ nghệ ứng dụng

Kỹ nghệ ứng dụng (application engineering) là tiến trỡnh phỏt triển cỏc sản

phẩm phần mềm từ cỏc tài sản được tạo bởi tiến trỡnh kỹ nghệ miền

Vũng đời kỹ nghệ ứng dụng hướng vào việc xõy dựng cỏc hệ thống mới hoặc cỏc hệ thống được tỏi kỹ nghệ sử dụng cỏc yờu cầu tổng quỏt, kiến trỳc miền tổng quỏt và cỏc thành phần tổng quỏt

Tài sản triển khai

Kiến trỳc miền

Triển khai miền

Môi trường hỗ trợ

miền

Hỡnh 2-1: Cỏc thành phần kỹ nghệ miền

Trang 34

Kỹ nghệ miền và kỹ nghệ ứng dụng là hai tiến trỡnh song song, tương tác và

bổ trợ cho nhau Hỡnh 2-3 minh họa sự phõn biệt giữa kỹ nghệ miền và kỹ nghệ ứng dụng Hàng trờn là cỏc tiến trỡnh chỉ ra cỏc hoạt động kỹ nghệ miền, bắt đầu từ phõn tớch miền để cung cấp cỏc mụ hỡnh miền Bước tiếp theo là hoạt động phỏt triển kiến trỳc phần mềm cung cấp kiến trỳc phần mềm của miền Cuối cựng là hoạt động phỏt triển cỏc thành phần sử dụng lại

Phõn lớp miền

Kiến trỳc miền

Kỹ nghệ ứng dụng

Tài sản phần mềm sử dụng lại

Triển k hai miền

Phỏt triển phần mềm ứng dụng

Phõn tớch dựa trờn

mụ hỡnh miền

Thiết k ế k iến trỳc hệ thống dựa trờn k iến trỳc miền

Hỡnh 2-3: Cỏch tiếp cận kỹ nghệ miền và kỹ nghệ ứng dụng

Mụ hỡnh miền

Kiến trỳc phần mềm miền

Tài sản/thành phần sử dụng lại

Đặc tả sự hoạt động của ứng dụng

Kiến trỳc phần mềm ứng dụng

Phần mềm ứng dụng

Trang 35

Hàng dưới là cỏc tiến trỡnh cung cấp họ cỏc hệ thống ứng dụng, gồm nhiều hoạt động kỹ nghệ ứng dụng khác nhau: đầu tiền là hoạt động phõn tớch dựa trờn

mụ hỡnh miền để đưa ra các yêu cầu ứng dụng Bước tiếp theo là thiết kế dựa trờn kiến trỳc miền để đưa ra thiết kế ứng dụng hay kiến trỳc ứng dụng Cuối cựng, triển khai dựa trờn tập hợp cỏc tài sản phần mềm khả dụng để cung cấp cỏc sản phẩm ứng dụng Giữa cỏc kỹ sư miền và kỹ sư ứng dụng cú chung một kho cỏc tài sản sử dụng lại, chứa tất cả cỏc tài sản miền được chia xẻ giữa cỏc ứng dụng Ở đây ta thấy rằng, sử dụng lại được tớch hợp qua tiến trỡnh kỹ nghệ ứng dụng Mụ hỡnh miền cung cấp cỏc yờu cầu miền chung mà phải được xem xét như là một phần của phõn tớch yờu cầu hệ thống Kiến trỳc ứng dụng nên được suy ra từ kiến trỳc phần mềm của miền hoặc kiến trỳc tổng quỏt của miền

2.1.4 Phát triển một mô hình kiến trúc miền tổng quát

Mụ hỡnh kiến trỳc miền là một bức tranh tổng quỏt về cỏc hệ thống liờn quan trong miền Mụ hỡnh kiến trỳc miền là tập hợp của nhiều kiến trỳc khỏc nhau, gồm cú:

- Kiến trỳc phần mềm: được chứa trong kho dữ liệu chung, gồm các mô

hỡnh chức năng (xử lý), mô hỡnh dữ liệu, mụ hỡnh luồng dữ liệu của cỏc phần mềm ứng dụng và cỏc phần mềm sử dụng lại Cỏc mụ hỡnh này được thể hiện dưới nhiều khung nhỡn khỏc nhau (khung nhỡn logic, khung nhỡn vật lý, …) và ở cỏc khớa cạnh khỏc nhau (khớa cạnh động, khía cạnh tĩnh)

Ví dụ, các mô hỡnh phõn ró chức năng, mụ hỡnh luồng dữ liệu trong phương pháp phát triển phần mềm hướng cấu trúc hay các mô hỡnh ca sử dụng, mụ hỡnh khỏi niệm, mụ hỡnh tương tác trong phương pháp phát triển hướng đối tượng

Trang 36

tập hợp cỏc chuẩn lập trỡnh sử dụng lại mụ tả cỏch thức bổ sung chức năng mới cho môi trường Mụ hỡnh được thiết kế để chạy trờn mỏy PC, ta cú thể mở rộng mụ hỡnh để cho phộp cỏc ứng dụng tương tác với nhau bằng cỏch cho phộp cỏc ứng dụng chia xẻ dữ liệu, dịch vụ và chức năng ở mức client/server

2.1.5 Phân tích miền

a Khái niệm phân tích miền

Phõn tớch miền là quỏ trỡnh nhận biết, thu thập, tổ chức và thể hiện thụng tin liờn quan trong miền dựa trờn việc nghiờn cứu cỏc hệ thống đang tồn tại, lịch sử phỏt triển của chỳng, tri thức được nắm bắt từ cỏc chuyờn gia trong miền, cỏc lý thuyết và cỏc cụng nghệ [34]

Ứng dụng mới Phần mềm sử dụng lại

Trang 37

Thông tin thu được từ phõn tớch miền được sử dụng để phỏt triển cỏc hệ thống trong miền Chỳng tồn tại dưới nhiều dạng khỏc nhau (mụ hỡnh, văn bản) và được gọi chung là cỏc mụ hỡnh miền

Như đó núi ở trờn, phõn tớch miền là một phần của tiến trỡnh kỹ nghệ miền, qua đó ta có thể nhận ra cỏc thành phần sử dụng lại trong miền và các cơ hội sử dụng lại trong miền Theo truyền thống, cỏc vấn đề được cụng thức hóa và được định nghĩa như là các yêu cầu cho cỏc hệ thống phần mềm cụ thể hay một phần của cỏc hệ thống đó Phân tích miền nhận ra và mụ hỡnh húa cỏc vấn đề cho một nhúm cỏc hệ thống liờn quan trong miền và đảm bảo rằng năng lực miền sẽ được giữ nguyờn qua sự thay đổi về cụng nghệ, thời gian, sự cần thiết, con người và ngõn sỏch

Tiến trỡnh phõn tớch miền gồm 4 tiến trỡnh con:

1 Xác định miền

2 Xác định phạm vi miền

3 Phõn tớch khụng gian vấn đề

4 Thiết kế khụng gian giải phỏp

Trong đó, mỗi tiến trỡnh con cú thể được chia nhỏ để mụ tả cỏc trỏch nhiệm

và cỏc hoạt động gắn với nú

Khi phõn tớch miền, biờn giới miền cần được xem xột cẩn thận, xem xét các điểm chung và riờng của cỏc hệ thống khỏc nhau trong miền, tổ chức và hiểu cỏc mối quan hệ giữa cỏc phần tử khỏc nhau trong miền, thể hiện cỏc mối quan hệ này trờn cỏc mụ hỡnh

Hiện nay cú rất nhiều cụng nghệ phõn tớch miền khỏc nhau: KAPTUR, DESIRE, Genesis và IDEFo [41] Cỏc cụng nghệ tập trung vào việc làm tăng khả năng hiểu miền bằng cỏch nắm bắt thụng tin trong cỏc mụ hỡnh hỡnh thức

Phõn tớch miền được cỏc nhà phõn tớch miền thực hiện với sự hỗ trợ của cỏc chuyờn gia miền, các phương pháp luận và các công cụ phõn tớch miền Hỡnh 2 -5a

và hỡnh 2-5b minh họa tiến trỡnh phõn tớch miền được thực hiện với đầu vào là tri

Trang 38

thức miền (thụng tin từ cỏc chuyờn gia, cỏc tài liệu miền, cỏc hệ thống sẵn cú) và cỏc cụng nghệ mụ hỡnh húa thụng tin Cỏc nhà phõn tớch miền tiến hành phõn tớch

và mụ hỡnh húa miền để cho kết quả là cỏc mụ hỡnh miền gồm cú: kiến trỳc tổng quỏt, phõn loại, phõn lớp và cỏc mụ hỡnh khỏc

Ta cú thể tiến hành phõn tớch miền với hai giai đoạn:

- Giai đoạn đi từ tổng quát đến chi tiết (Top - Down)

Trong giai đoạn này, cỏc thiết kế và cỏc yờu cầu mức cao của cỏc hệ thống hiện tại và cỏc hệ thống mới đƣợc phân tích để tỡm ra những phần chung Kết quả của giai đoạn này là cấu trỳc chung của tất cả cỏc hệ thống trong miền, các đặc điểm bền vững và các đặc điểm dễ thay đổi, mụ hỡnh chức năng chung và mối quan

hệ giữa cỏc phần tử bờn trong miền

Phõn tớch miền

Lập kế hoạch miền

Thu thập thụng tin

Từ chuyển gia

Từ tài liệu

Từ chương trỡnh

Mụ hỡnh húa miền

Định nghĩa miền

Phạm vi miền

Cỏc mụ hỡnh miền Kiến trỳc

chung

Lược đồ phân lớp

Phõn loại

Cỏc mụ hỡnh khỏc

Trang 39

- Giai đoạn đi từ chi tiết đến tổng quát (Bottom - Up)

Trong giai đoạn này, cỏc yờu cầu mức thấp, mó nguồn và cỏc tài liệu từ cỏc

hệ thống hiện tại được phân tích để cung cấp một từ điển cỏc khỏi niệm miền, sự phõn loại, phõn lớp và cỏc bản mụ tả chuẩn về miền

Kết quả của hai giai đoạn này được tổng hợp và đóng gói thành các mô hỡnh miền

b Lợi ớch của phân tích miền

Cú nhiều lợi ớch của phõn tớch miền: Giảm cụng sức phỏt triển phần mềm, cải tiến hiệu suất tiến trỡnh, cải tiến chất lượng sản phẩm trong quỏ trỡnh phỏt triển phần mềm và trong vũng đời bảo trỡ Phõn tớch miền giảm chi phớ, rủi ro và lịch trỡnh trong khi đó làm tăng khả năng thích nghi của người dùng và cơ hội cạnh tranh bằng cỏch loại bỏ cỏc rào cản dựa trờn tri thức miền

c Phân tích miền cho sử dụng lại

Phõn tớch miền cho sử dụng lại là khai thỏc cỏc hệ thống phần mềm liờn quan

và khỏm phỏ ra những đặc điểm chung Tiến trỡnh này khỏm phỏ ra cỏc đặc tớnh chung cho một lớp hệ thống và thể hiện chúng dưới dạng cú thể khai thác được Phương pháp FODA là phương pháp phân tích miền được đánh giá cao với tiờu chớ

là làm cho cỏc sản phẩm miền cú thể sử dụng lại

Hỡnh 2-6 cho ta thấy một bức tranh tổng quỏt về phõn tớch miền cho sử dụng lại Hai kết quả thu được từ phõn tớch miền là mụ hỡnh miền và kiến trỳc miền Mụ hỡnh miền thể hiện cỏc vấn đề trong miền, đó là các yêu cầu chung cho cỏc hệ thống trong miền, các đối tượng miền, cỏc thuật ngữ miền, cỏc ràng buộc miền Cỏc kiến trỳc thể hiện cỏc giải phỏp cho miền, đó là sự bố trớ cỏc thiết bị phần cứng và cài đặt cỏc thành phần phần mềm hay cỏc hệ thống con trong mạng để đáp ứng cỏc yờu cầu và cỏc ràng buộc của miền Mỗi khi xõy dựng hệ thống mới, ta sử dụng cỏc

mụ hỡnh miền để phõn tớch hệ thống Thiết kế hệ thống và triển khai hệ thống được thực hiện dựa trờn cỏc kiến trỳc miền

Trang 40

Hỡnh 2-7 mụ tả cỏc hoạt động cần thực hiện để phõn tớch miền và sản phẩm của cỏc hoạt động này:

Tạo cỏc nguồn sử dụng lại (Thiết kế, thành phần…)

Miền

Phõn tớch ngữ cảnh (Phạm vi của miền)

Mụ hỡnh miền (Thể hiện các vấn

đề của miền)

Kiến trỳc (Thể hiện cỏc giải phỏp trong miền)

Phõn tớch miền

Các công

cụ và hỗ trợ đào tạo

Mụ hỡnh đặc tính

Mụ hỡnh chức năng

Từ điển thuật ngữ miền

Mụ hỡnh tiến trỡnh t ương tác

Lƣợc đồ cấu trúc mô đun

Ngày đăng: 25/03/2015, 10:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
10. B.A. Burton, R.W. Aragon, S.A. Bailey, K.D. Koehler, and L. A. Mayes, "The Reusable Software Library", IEEE Software, Vol. 4, No. 4, July 1987, pp. 25 - 33 Sách, tạp chí
Tiêu đề: The Reusable Software Library
11. G. Caldiera and V.R. Basili, "Identifying and Qualifying Reusable Software Components", IEEE Computer, Vol. 24, No. 2, February 1991, pp. 61 - 70 Sách, tạp chí
Tiêu đề: Identifying and Qualifying Reusable Software Components
13. Y.K. Chan, "Lessons in Software Reusability in Large Complex Software Systems", Proceedings of the Conference on Software Reusability and Portability, National Institute for Software Quality and Productivity, Washington, D.C., September 16-17 1987, pp. B-1 to B-7 Sách, tạp chí
Tiêu đề: Lessons in Software Reusability in Large Complex Software Systems
14. P. Devanbu, P. Selfridge, B. Ballard, and R. Brachman, "Steps towar d a Knowledge Based Software Information System", Proceedings International Joint Conference on Artificial Intelligence, Detroit, Michigan, 1989, pp. 110 - 115 Sách, tạp chí
Tiêu đề: Steps towar d a Knowledge Based Software Information System
15. P. Devanbu, P. Selfridge, and R. Brachman, "Inference in Support of Retrieval for Re-Use in Large Software Systems," IEEE/SPS Workshop on Software Re- Use, Indialantic, Florida, 1989 Sách, tạp chí
Tiêu đề: Inference in Support of Retrieval for Re-Use in Large Software Systems
16. G. Fischer, A. Girgensohm, K. Nakakoji, and D. Redmiles, "Supporting Software Designers with Integrated Domain-Oriented Design Environments", IEEE Transactions on Software Engineering, Vol. 18, No. 6, June 1992, pp.511- 522 Sách, tạp chí
Tiêu đề: Supporting Software Designers with Integrated Domain-Oriented Design Environments
17. W.B. Frakes and P.B. Gandel, "Representation Methods for Software Reuse", Proceedings of TRI-Ada '89 -- Ada Technology In Context: Application, Development, and Deployment, October 23-26, 1989, Association for Computing Machinery, New York, New York, pp. 302 - 314 Sách, tạp chí
Tiêu đề: Representation Methods for Software Reuse
18. W.B Frakes and B.A. Nejmeh, "An Information System for Software Re -Use", Proceedings of the Tenth Minnowbrook Workshop on Software Re -Use, 1987 Sách, tạp chí
Tiêu đề: An Information System for Software Re -Use
19. W.B. Frakes and B.A. Nejmeh, "Software Reuse Through Information Retrieval”, Proceedings of the Twentieth Hawaii International Conference on System Sciences, Kailua-Kona, Hawaii, 1987, pp. 530 - 535 Sách, tạp chí
Tiêu đề: Software Reuse Through Information Retrieval
20. W.B. Frakes and T.P. Pole, "An Emperical Study of Representation Methods for Reusable Software Components", IEEE Transactions on Software Engineering, Vol. 20, No. 8, August 1994, pp. 617 - 630 Sách, tạp chí
Tiêu đề: An Emperical Study of Representation Methods for Reusable Software Components
21. P. Freeman, "Reusable Software Engineering: Concepts and Research Directions", Tutorial: Software Reusability, IEEE Computer Society Press, Washington, DC, 1987, pp. 10 - 23 Sách, tạp chí
Tiêu đề: Reusable Software Engineering: Concepts and Research Directions
22. E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Publishing Company, Reading, Massachusetts, 1995 Sách, tạp chí
Tiêu đề: Design Patterns: Elements of Reusable Object-Oriented Software
23. R.J. Gautier, "A Language for Describing Ada Software Components", Ada Components: Libraries and Tools - Proceedings of the Ada-Europe International Conference , Stockholm 26-28 May 1987, Edited by S. Tafvelin, Cambridge University Press, Cambridge, U.K., pp. 75 - 84 Sách, tạp chí
Tiêu đề: A Language for Describing Ada Software Components
24. D.S. Guindi, W.M. McCracken, and S. Rugaber, "Reuse and the Software Life - Cycle", Proceedings of the Seventh Annual National Conference on Ada Technology, March 13-16, 1989, pp. 463 - 468 Sách, tạp chí
Tiêu đề: Reuse and the Software Life -Cycle
25. D.R. Harris and W.L. Johnson, "Sharing and Reuse of Requirements Knowledge", Proceedings of the Sixth Annual Knowledge-Based Software Engineering Conference (KBSE-91), September 1991, pp. 65 - 77 Sách, tạp chí
Tiêu đề: Sharing and Reuse of Requirements Knowledge
26. G.C. Harrison, "AdaL, An Automated Code Reuse System", Proceedings of the Seventh Annual National Conference on Ada Technology , March 13-16, 1989, pp. 404 - 410 Sách, tạp chí
Tiêu đề: AdaL, An Automated Code Reuse System
27. B. Henderson-Sellers and C. Freeman, "Cataloguing and Classification for Object Libraries", Software Engineering Notes, Vol. 17, No. 1, January 1992, pp. 62 - 64 Sách, tạp chí
Tiêu đề: Cataloguing and Classification for Object Libraries
28. J.W. Hooper and R.O. Chester, "Software Reuse: Managerial and Technical Guidelines", Proceedings of the Eighth Annual National Conference on Ada Technology, March 5-8, 1990, pp. 424 - 435 Sách, tạp chí
Tiêu đề: Software Reuse: Managerial and Technical Guidelines
30. N. Iscoe, "Domain-Specific Reuse: An Object-Oriented and Knowledge-Based Approach", IEEE Tutorial: Software Reuse: Emerging Technology , Edited by W. Tracz, IEEE Catalog No. EH0278-2, IEEE Computer Society Press, Washington, D.C., 1988, pp. 299 - 308 Sách, tạp chí
Tiêu đề: Domain-Specific Reuse: An Object-Oriented and Knowledge-Based Approach
31. A.M. Jones, R.E. Bozman, and W. McIver, "The Morehouse Object-Oriented Reuse Library System", Proceedings of the Seventh Annual National Conference on Ada Technology, March 13-16, 1989, pp. 456 - 462 Sách, tạp chí
Tiêu đề: The Morehouse Object-Oriented Reuse Library System

HÌNH ẢNH LIÊN QUAN

Hỡnh 1-2. Phỏt triển phần mềm h ướ ng s ử  d ụ ng l ạ i - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 1-2. Phỏt triển phần mềm h ướ ng s ử d ụ ng l ạ i (Trang 28)
Hỡnh 2-15 : Lược đồ quan hệ thực th ể quản lý cửa sổ - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 2-15 : Lược đồ quan hệ thực th ể quản lý cửa sổ (Trang 50)
Hỡnh 2-19: Tớch hợp cỏc họat động sử dụng lại vào tiến trỡnh phỏt triển phần mềm - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 2-19: Tớch hợp cỏc họat động sử dụng lại vào tiến trỡnh phỏt triển phần mềm (Trang 55)
Hỡnh 3-1b: Mụ hỡnh khung cảnh của miền Giỏo dục –  Đào tạo Đại học (tiếp) - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-1b: Mụ hỡnh khung cảnh của miền Giỏo dục – Đào tạo Đại học (tiếp) (Trang 63)
Hỡnh 3-3: Mụ hỡnh khỏi niệm m iền Giáo dục – Đào tạo Đại họ c - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-3: Mụ hỡnh khỏi niệm m iền Giáo dục – Đào tạo Đại họ c (Trang 64)
Hỡnh 3-5: Mụ hỡnh kiến trỳc miền - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-5: Mụ hỡnh kiến trỳc miền (Trang 68)
Hỡnh 3-6: Cỏc tiờu chớ phõn loại tài sản - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-6: Cỏc tiờu chớ phõn loại tài sản (Trang 69)
Hỡnh 3-11: Dữ liệu đƣợc tổ chức trong hệ thống RAL - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-11: Dữ liệu đƣợc tổ chức trong hệ thống RAL (Trang 75)
Hỡnh 3-13: Mụ hỡnh khỏi niệm hệ thống - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-13: Mụ hỡnh khỏi niệm hệ thống (Trang 82)
Hỡnh 3-17: Biểu đồ cộng tỏc thực thi ca sử dụng Thờm mới hồ sơ đăng ký dự thi - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-17: Biểu đồ cộng tỏc thực thi ca sử dụng Thờm mới hồ sơ đăng ký dự thi (Trang 96)
Hỡnh 3-18: Biểu đồ cộng tỏc thực thi ca sử dụng Thờm sinh viờn - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-18: Biểu đồ cộng tỏc thực thi ca sử dụng Thờm sinh viờn (Trang 97)
Hỡnh 3-20: Biểu đồ cộng tỏc thực thi ca sử dụng Sửa sinh viờn - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-20: Biểu đồ cộng tỏc thực thi ca sử dụng Sửa sinh viờn (Trang 100)
Hỡnh 3-22: Kiến trỳc hệ thống - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-22: Kiến trỳc hệ thống (Trang 102)
Hỡnh 3-25: Biểu đồ thực thi ca sử dụng Thờm sinh viờn - Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng
nh 3-25: Biểu đồ thực thi ca sử dụng Thờm sinh viờn (Trang 105)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w