intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Báo cáo nghiên cứu khoa học " ỨNG DỤNG PHƯƠNG PHÁP PHÁT TRIỂN DỰA TRÊN THÀNH PHẦN TRONG QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM "

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:11

79
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Thế giới thực luôn biến động. Do vậy, để thích nghi, các hệ thống phần mềm mô tả nó luôn thay đổi. Phương pháp phát triển hướng đối tượng đã được xem là một phương tiện hữu hiệu để giải quyết sự khủng hoảng này trong công nghệ phần mềm. Tuy nhiên, trong các hệ thống lớn, phức tạp, có chất lượng cao đòi hỏi phải được xây dựng trong một thời gian ngắn thì bản thân nó lại bộc lộ hạn chế về việc kiểm định chất lượng và chi phí phần mềm. ...

Chủ đề:
Lưu

Nội dung Text: Báo cáo nghiên cứu khoa học " ỨNG DỤNG PHƯƠNG PHÁP PHÁT TRIỂN DỰA TRÊN THÀNH PHẦN TRONG QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM "

  1. ỨNG DỤNG PHƯƠNG PHÁP PHÁT TRIỂN DỰA TRÊN THÀNH PHẦN TRONG QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM Lê Văn Tường Lân Trường Đại học Khoa học, Đại học Huế Thế giới thực luôn biến động. Do vậy, để thích nghi, các hệ thống phần mềm mô tả nó luôn thay đổi. Phương pháp phát triển hướng đối tượng đã được xem là một phương tiện hữu hiệu để giải quyết sự khủng hoảng này trong công nghệ phần mềm. Tuy nhiên, trong các hệ thống lớn, phức tạp, có chất lượng cao đòi hỏi phải được xây dựng trong một thời gian ngắn thì bản thân nó lại bộc lộ hạn chế về việc kiểm định chất lượng và chi phí phần mềm. Bài viết này nhằm nêu bật vai trò của một phương pháp quan trọng trong ngành công nghệ phần mềm hiện nay, được xem là bước tiến hoá của phương pháp phát triển hướng đối tượng, đó là phương pháp hướng thành phần hay còn được gọi là phát triển dựa trên thành phần. Phương pháp này xem việc phát triển phần mềm là quá trình hợp nhất của những thành phần phần mềm tiền đóng gói. I. QUAN ĐIỂM CỦA PHÁT TRIỂN DỰA TRÊN THÀNH PHẦN 1.Bài toán; Cho hệ thống thông báo tự động như sau: Một máy tính kết nối với modem điện thoại. Tại thời điểm T, hệ thống cần tự động thông báo một bản tin M có độ dài L cho trước trong khoảng thời gian N. Hay trong một thời điểm nào đó, có thể được kích hoạt để nhận một bản tin M' nào đó gởi đến. Hãy xây dựng phần mềm cho bài toán trên. 51
  2. 2. Xây dựng hệ thống theo phương pháp hướng đối tượng: Để phát triển phần mềm cho hệ thống trên, ta phải xây dựng đối tượng MODEM với những vấn đề phải xét: + Các thuật toán xử lý trên modem: tạo kết nối, hủy kết nối,... + Hiểu biết tập lệnh AT của nhà sản xuất cung cấp cho mode, + Các hằng số trả lời của modem khi làm việc,... +... Rõ ràng, trong cách thức phát triển này, ta phải đầu tư một chi phí về thời gian và tiền bạc cho hệ thống. Thêm vào đó, chất lượng của hệ thống làm chúng ta phải xem xét vì nhiều lý do: + Các đối tượng cấu thành nên hệ thống đã là đối tượng tiêu chuẩn? + Chúng đã được kiểm chứng hình thức,... 3. Quan điểm của phát triển dựa trên thành phần: Xuất phát từ quan điểm: "Buy do not build", liệu chúng ta phải xây dựng đối tượng MODEM trên hay có thể tìm đối tượng tương tự MODEM' trong thư viện? Tư tưởng của phát triển dựa trên thành phần là lắp ráp hệ thống từ những thành phần đã có. Do vậy, kiến trúc phần mềm của hệ thống dựa vào kiến trúc phần mềm của các thành phần phần mềm tiêu chuẩn nên hệ thống đạt chất lượng cao hơn. 52
  3. Để phát triển hệ thống trên, thay vì phải xây dựng đối tượng MODEM, ta tìm thấy thành phần MSCOMM trong thư viện của MicroSoft; công việc tiếp theo là chỉ cần làm thích nghi các thuộc tính và phương thức của nó trong hệ thống của ta. Tuy nhiên, cũng để phát triển hệ thống trên, người ta cũng tìm thấy thành phần EXCEL TELE trong thư viện TeleTools, tương tự như thành phần MSCOMM nhưng có khả năng thích nghi cao hơn, chỉ cần thay đổi các thuộc tính và phương thức của nó ta sẽ có được hệ thống cần xây dựng. 4. Mô hình phát triển dựa trên thành phần: Phương pháp phát triển dựa trên thành phần gần tương tự như phương pháp phát triển hướng đối tượng. Hoạt động công nghệ bắt đầu với sự chỉ ra các lớp tham dự để phát triển hệ thống. Nếu các lớp n ày được tìm thấy trong thư viện và sự thích nghi là tốt, chúng sẽ được lấy ra và phát triển hệ thống. Ngược lại, chúng sẽ được phát triển để sử dụng và bổ sung vào thư viện sử dụng lại. Thành phần để xây dựng Phân hệ thống tích lỗi Kế hoạch Hợp nhất cho Tìm kiếm phiên bản hệ trong thư viện Giao tiếp với thống thứ n thành phần khách hàng Bổ sung thành Sử dụng nếu phần mới vào thành phần Đánh giá của thư viện thích hợp khách hàng Xây dựng nếu Xây dựng hay thành phần dừng hệ thống không thích hợp Hình 1: Mô hình phát triển hệ thống dựa trên thành phần 53
  4. II. HOẠT ĐỘNG CHÍNH CỦA CÔNG NGHỆ DỰA TRÊN THÀNH PHẦN 1. Tiến trình của công nghệ dựa trên thành phần: Như đã chỉ ra ở trên, việc xây dựng hệ thống bằng cách sử dụng và làm thích nghi hành phần MSCOMM sẽ tốt hơn việc xây dựng đối tượng MODEM và nếu sử dụng thành phần EXCEL TELE thì lại tốt hơn. Vấn đề đặt ra là làm sao để người phát triển hệ thống có thể biết hay tìm thấy các thành phần này để sử dụng? Và làm thế nào để biết được thành phần này là có thể làm thích nghi để đưa vào hệ thống cần xây dựng?... Công nghệ phần mềm dựa trên thành phần chứa hai hoạt động công nghệ song song: công nghệ lĩnh vực và phát triển dựa trên thành phần. i. Công nghệ lĩnh vực là nhận ra, xây dựng, phân loại và phát triển những thành phần phần mềm mà chúng có thể áp dụng được đối với phần mềm hiện có và phần mềm trong tương lai trong một lĩnh vực ứng dụng cụ thể. Công nghệ lĩnh vực gồm ba hoạt động chính: phân tích, xây dựng và phát triển. Như vậy, nó 54
  5. đóng vai trò là thiết lập tập các thành phần phần mềm có thể sử dụng lại bởi kỹ sư phần mềm. Tuy vậy, khó xác định xem một thành phần tiềm năng có thể được sử dụng hay không. Để được điều này, phải chỉ rõ tập hợp các đặc trưng lĩnh vực mà chúng có được. Gọi {Dp}là tập hợp các đặc trưng lĩnh vực của một thành phần phần mềm có thể sử dụng lại; với mỗi Dpi trong tập là một đặc trưng về lĩnh vực cụ thể. Khi xây dựng phần mềm W mới, ta có tập DWi là tập các đặc trưng về lĩnh vực của ứng dụng, ta so sánh với Dpi để có được quyết định. ii. Phát triển dựa trên thành phần là chỉ ra những đòi hỏi từ khách hàng, xác định một kiểu kiến trúc thích hợp để đáp ứng mục tiêu hệ thống. Để từ đó có thể: + Chọn những thành phần tiềm năng cho việc sử dụng lại, + Đánh giá các thành phần để chắc chắn chúng phù hợp với kiến trúc của hệ thống, + Làm thích nghi các thành phần để cần thiết cho việc hợp nhất, + Tích hợp những thành phần cho ứng dụng tổng thể. 2, Hoạt động đánh giá thành phần: Như đã nói, việc xây dựng hệ thống bằng cách sử dụng và làm thích nghi hành phần EXCEL TELE sẽ tốt hơn việc sử dụng thành phần MSCOMM, tại sao? Dựa vào đâu để người sử dụng quyết định sử dụng thành phần này mà không sử dụng thành phần khác?... Khi quyết định sử dụng một thành phần trong thư viện phần mềm để xây dựng hệ thống, các hoạt động đánh giá nó là cần thiết để đảm bảo có hiệu quả trong hệ thống. 55
  6. + Đánh giá khả năng thành phần: đảm bảo rằng một thành phần tham dự sẽ biễu diễn được yêu cầu chức năng, sẽ phù hợp trong kiến trúc cụ thể của hệ thống. Cần để ý rằng miêu tả giao diện cung cấp thông tin hữu ích về sự điều hành và sử dụng thành phần nhưng không cung cấp tất cả các thông tin để chỉ ra nó là thật sự hiệu quả trong ứng dụng mới mà phải phân tích, khám phá để đánh giá nó. + Xác định sự thích nghi của thành phần: Về bản chất, kiến trúc phần mềm chỉ rõ những quy luật thiết kế đối với tất cả các thành phần, nhận ra những cách kết nối và sắp đặt. Trong một vài trường hợp, việc sử dụng một thành phần nào đó có thể gây lỗi kiến trúc hệ thống. Những thành phần này phải được loại bỏ và thay thế bằng những thành phần phù hợp hơn. + Xác định cấu tạo của thành phần: nhận ra cơ chế kết nối và sắp đặt. Cấu tạo thành phần phải thoả chất lượng, thích nghi và công nghệ để tạo nên cấu trúc thiết lập cho ứng dụng. 3. Phân loại và tìm lại thành phần: Theo đề cập trên, làm thế nào để khi cần ta có thể tìm, biết được có thành phần MSCOMM hay thành phần EXCEL TELE để đưa vào xây dựng hệ thống? Ngoại trừ các thành phần này trong thư viện có còn các thành phần khác hay không? Khả năng thích nghi đối với hệ thống như thế nào?.... Trong kho thành phần lớn, có hàng chục ngàn thành phần có thể sử dụng lại. Do vậy, bằng cách nào để các kỹ sư phần mềm có thể tìm thấy thành phần mà họ cần? Để trả lời câu hỏi này, cần phải giải quyết: "Cần phải miêu tả các thành phần phần mềm theo nhóm như thế nào?" 56
  7. Một thành phần phần mềm có thể sử dụng lại có thể được mô tả theo mô hình 3C như sau: Concept (khái niệm), Content (nội dung), và Context (ngữ cảnh). Concept: miêu tả về cái gì mà thành phần phần mềm làm, gắn với mục đích của thành phần. Giao diện đối với thành phần được miêu tả một cách đầy đủ và ngữ nghĩa được chỉ ra ở tiền và hậu điều kiện. Content: miêu tả khái niệm được thực hành như thế nào. Về bản chất thì nội dung của thành phần được dấu đối với người sử dụng và chỉ được biết đối với những ai có ý định kiểm tra hay sửa đổi thành phần. Context: đặt cho thành phần phần mềm có thể sử dụng lại trong lĩnh vực ứng dụng nào. Bằng cách chỉ ra những đặc trưng thuộc về khái niệm, thao tác và cài đặt, nó cho phép ta có thể tìm ra những thành phần thích hợp để đáp ứng cho nhu cầu của ứng dụng. III. HIỆU QUẢ CỦA CÔNG NGHỆ DỰA TRÊN THÀNH PHẦN Để đánh giá, trước hết, ta phải hiểu cái gì thực sự được sử dụng lại trong phạm vi của công nghệ phần mềm, và hao phí thật sự liên quan đến sử dụng lại. 1. Độ đo sự sử dụng lại: Để đo lợi ích liên quan đến sử dụng lại trong hệ thống S, ta có đẳng thức sau: Rb(S)=[Cnoreuse-Creuse]/ Cnoreuse Với: Cnoreus: là chi phí để phát triển hệ thống S không dùng tính sử dụng lại, 57
  8. Creuse: là chi phí để phát triển hệ thống S dùng tính sử dụng lại. Ta có: Rb(S) không nguyên và 1 Rb(S) 0 2. Tác động về chất lượng: Thành phần phần mềm được sử dụng lại có độ chính xác cao và có thể nói là không chứa lỗi. Mặc dầu không thường xuyên được chứng minh về mặt hình thức nhưng với việc sử dụng lại, lỗi được tìm thấy và loại trừ; chất lượng của thành phần được cải thiện như là một kết quả. 3. Tác động về hiệu suất: Khi những thành phần sử dụng lại được ứng dụng thông qua tiến trình phần mềm, chúng ta ít tốn thời gian để tạo ra kế hoạch, mô hình, tài liệu, mã và dữ liệu mà chúng là cần thiết để tạo ra hệ thống. Thêm vào, chức năng cùng mức được phân phối cho người sử dụng với đầu vào ít công sức hơn, do vậy, hiệu suất được cải thiện. 4. Tác động về giá thành: Tiết kiệm giá thành đối với việc sử dụng lại được ước lượng bằng cách ước lượng giá thành của dự án. Dựa trên nghiên cứu khả năng sử dụng lại, hiệp hội QSM, Inc., báo cáo dây chuyền thành phần dẫn đến việc giảm 70% về quá trình phát triển, giảm 84% về giá dự án. IV. KẾT LUẬN Phần mềm tốt là kết quả phải đạt được của ngành công nghiệp phần mềm. Sự phát triển phần mềm dựa trên thành phần chỉ ra nó là một phương pháp hiệu quả. Bằng việc chỉ ra những điểm chính của phương pháp cùng với bài toán dẫn 58
  9. chứng, bài viết khẳng định tính ưu việt của phương pháp dần đang có vị trí hàng đầu trong ngành công nghiệp phần mềm trên thế giới. TÀI LIỆU THAM KHẢO 1. Đoàn Văn Ban. Phân tích thiết kế và lập trình hướng đối tượng, Trung tâm Khoa học Tự nhiên và Công nghệ Quốc gia (1996). 2. Ngô Trung Việt. Kỹ nghệ Phần mềm - bản dịch, Nhà xuất bản Giáo dục (1999). 3. Roger S. Pressman Ph.D, Software Engineering a practitioner's, McGraw - Hill book Co.-Singapore (2001). 4. Yourdon, E. Software reuse, Application development strategies, Vol. 6, No. 12, (1994) 1 - 16. 5. Brown, A.W., and K., C. Wallnau, Engineering of component are system, IEEE computer society press (1996). 6. Stephen R. Schach, Classical and object-oriented software engineering, McGraw- Hill (1997). 7. Sommerville I., Software Engineering, Addison Wesley (1995). 8. Pitero - Diaz R. Domain analysis for reuseability, Proc. COMPSAC'87, Tokyo, (1987) 23 - 29. 9. Mary Kirtland. Designing component - Based applications, A division Microsoft corporation, Washington (1998). 59
  10. APPLIED COMPONENT-BASED DEVELOPMENT IN THE DEVELOPEMENT SOFTWARE PROCESS Le Van Tuong Lan College of Sciences, Hue University SUMMARY The real world is always changeable. So,in order to adapt to it, the systems that describe it must be developed. In Software Engineering, the object-based software engineering has been considered as a useful means to solve the changes of software. However, in the big, complex, high quality systems must be completed in a short time but the oriented programming has some limits such as verifying quality, the cost of the system, etc. In this paper, we describe the role of the important method in the Software Engineering that is called the component - based software engineering or the component - based development. It is the developed step of the object - based software engineering. This method indicates that the development software is an integrated process of the prepackaged software components. 60
  11. 61
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2