ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HẢI BÌNH XÂY DỰNG NGÔN NGỮ MẪU CHO LẬP TRÌNH DỰA TRÊN THÀNH PHẦN LUẬN VĂN THẠC SĨ Hà Nội – 2010 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC Trang MỞ ĐẦU . Khái quát về phát triển hệ thống dựa trên thành phần .1 Tiến trình công nghệ phần mềm dựa trên thành phần .2 Phát triển hệ thống dựa trên thành phần .1 Định phẩm, thích ứng và hợp thành thành phần .2 Chế tạo thành phần .3 Phân tích và thiết kế cho dùng lại .4 Phân loại và tìm kiếm thành phần.3 Mô hình vòng đời tiến trình dựa trên thành phần . Mô hình thành phần .1 Cơ sở cho mô hình thành phần .3 Giao diện và hợp đồng. Ngôn ngữ mẫu đặc tả thành phần .1 Ví dụ hệ thống ParcelCall .2 Đặc tả giao diện .1 Giao diện sơ cấp .2 Kết hợp và thừa kế giao diện .3 Đặc tả hợp đồng .1 Sự đặc tả của một phương thức .2 Kết hợp, làm mịn và thừa kế hợp đồng .4 Đặc tả thành phần .1 Ngữ nghĩa của thành phần .2 Sự làm mịn, che dấu giao diện và kết hợp các thành phần. Ví dụ về đặc tả thành phần.1 Khái quát về hệ thống .2 Phân tích ca sử dụng và đặc tả thành phần . 54 TÀI LIỆU THAM KHẢO. 55 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1 MỞ ĐẦU Một ý tưởng là lợi dụng và sử dụng lại các thành phần để xây dựng và để bảo trì các hệ thống phần mềm hình thành từ “lập trình cấu trúc” trong nhưng năm 70. Đó là một luận cứ mạnh để phát triển các phương pháp và các ngôn ngữ hướng đối tượng trong những năm 80, và ngày nay với sự phát triển các hệ thống lớn đã khiến chúng ta quay lại ý tưởng này và biến nó thành hiện thực. Kỹ thuật hướng đối tượng và kỹ thuật dựa trên thành phần đã trở thành phổ biến và được sử dụng rộng rãi trong mô hình hóa và thiết kế cho hệ thống phần mềm phức tạp. Chúng cung cấp khả năng hỗ trợ cho việc phân rã một ứng dụng thành các đối tượng và các thành phần, những thứ có thể sử dụng lại và mở rộng những thiết kế dựa trên những thành phần đã tồn tại. Sự phân tích và kiểm chứng những hệ thống như vậy sẽ là dễ dàng bởi tính kết hợp trong kiến trúc thành phần. Một số minh chứng tiêu biểu cho kỹ thuật hướng đối tượng và kỹ thuật dựa trên thành phần là CORBA, EJB, J2EE, COM và . Bên cạnh đó những ngôn ngữ mô hình hóa hình thức và bán hình thức như UML, JML và BIP đã trở thành phổ biến với việc hỗ trợ phát triển hệ thống dựa trên mô hình. Tuy nhiên những mô hình này hoặc là không hỗ trợ mức trừu tượng hóa hoặc thiếu ký hiệu ngữ nghĩa, là thứ có thể được sử dụng để tích hợp với ngôn ngữ lập trình khác, và đến bây giờ chúng vẫn chưa cung cấp đủ sự hỗ trợ cho việc mô hình hóa và phân tích chất lượng tổng thể những dịch vụ của hệ thống được phát triển từ những thành phần. Chúng ta cần tìm kiếm một kỹ thuật mô hình hóa, có thể hỗ trợ việc đặc tả hệ thống thành phần ở mức trừu tượng hóa cao, và có thể cung cấp một nền tảng cơ sở để phát triển một ngôn ngữ mẫu có khả năng tích hợp vào các ngôn ngữ lập trình khác nhau để hỗ trợ cho việc lập trình dựa trên thành phần. Với mục đích đó, luận văn tập trung đi vào tìm hiểu việc thiết lập mô hình toán học cho thành phần, đưa ra những định nghĩa hình thức cho giao diện, hợp đồng, thành phần, và cả những vấn đề liên quan đến chúng như làm mịn, thừa kế, kết hợp. Luận văn cũng đề xuất cách biểu diễn giao diện, hợp đồng và thành phần dưới dạng ngôn ngữ đặc tả, và làm rõ những vấn đề được trình bày thông qua việc xem xét một ví dụ về hệ thống hỗ trợ bán hàng trong siêu thị. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2 CHƯƠNG 1. KHÁI QUÁT VỀ PHÁT TRIỂN HỆ THỐNG DỰA TRÊN THÀNH PHẦN 1.1 Tiến trình công nghệ phần mềm dựa trên thành phần Công nghệ phần mềm dựa trên thành phần (CBSE – Component Based Software Engineering) là một tiến trình nhấn mạnh tới thiết kế và xây dựng hệ thống dựa trên máy tính bằng việc dùng các “thành phần” phần mềm dùng lại được. Về bề ngoài, CBSE dường như hoàn toàn tương tự với công nghệ phần mềm hướng đối tượng. Tiến trình này bắt đầu khi tổ phần mềm thiết lập yêu cầu cho hệ thống được xây dựng bằng việc dùng các kĩ thuật thu thập yêu cầu, sau đó thiết kế kiến trúc được thiết lập nhưng thay vì đi ngay vào các nhiệm vụ thiết kế chi tiết, thì lại xem xét các yêu cầu để xác định những gì trực tiếp chịu trách nhiệm cho việc hợp thành, thay vì xây dựng mới. Tức là, tổ phần mềm đưa ra những câu hỏi sau cho từng yêu cầu hệ thống: Các thành phần đã được cung cấp (COTS - commercial off the shelf) có sẵn cho việc thực hiện yêu cầu hay không? Các thành phần dùng lại được phát triển trước đây có sẵn để thực hiện yêu cầu hay không? Giao diện cho các thành phần có sẵn có tương hợp với kiến trúc của hệ thống cần được xây dựng hay không? Tiến trình CBSE phải được đặc trưng theo cách không chỉ nhận diện ra các thành phần ứng cử viên mà còn định lượng từng giao diện của các thành phần, thích ứng các thành phần để loại bỏ sự không tương thích với kiến trúc, lắp ráp các thành phần vào trong một kiểu cách kiến trúc đã được lựa chọn, và cập nhật các thành phần theo yêu cầu thay đổi của hệ thống. Mô hình tiến trình cho công nghệ phần mềm dựa trên thành phần nhấn mạnh vào các việc song song mà theo đó công nghệ miền được sử dụng đồng thời với việc phát triển dựa trên thành phần [1, 3]. Nội dung của công nghệ miền là xác định, xây dựng, phân loại và phát hiện một tập các thành phần phần mềm có khả năng ứng dụng vào việc phát triển phần mềm hiện tại và tương lai trong miền ứng dụng đặc biệt. Mục tiêu tổng thể là thiết lập những cơ chế làm cho người kĩ sư phần mềm chia sẻ những thành phần này, dùng lại chúng trong khi làm việc với hệ thống mới và hệ thống hiện có. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.1 minh họa cho mô hình tiến trình CBSE điển hình. Công nghệ miền tạo ra mô hình của miền ứng dụng được dùng làm cơ sở cho việc phân tích yêu cầu người dùng trong luồng công nghệ phần mềm, và sau khi các thành phần dùng lại đã được mua, được chọn từ thư viện hiện có, hay được xây dựng (như một phần việc của công nghệ miền), chúng được trở thành công cụ đã sẵn sàng cho người kĩ sư phần mềm trong việc phát triển hệ thống dựa trên thành phần.1 Mô hình tiến trình hỗ trợ CBSE Các bước trong tiến trình tiếp cận tổng thể tới việc phân tích miền được xác định là: Định nghĩa miền được khảo sát. Phân loại các yếu tố được trích ra từ miền. Thu thập mẫu đại diện của các ứng dụng trong miền. Phân tích từng ứng dụng trong mẫu. Phát triển mô hình phân tích cho các mẫu. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 Điều quan trọng cần lưu ý là việc phân tích miền được áp dụng cho bất kỳ mô thức công nghệ phần mềm nào và có thể được áp dụng tốt cho cả việc phát triển hướng đối tượng. Prieto-Diaz mở rộng bước phân tích miền thứ hai trong công nghệ miền nêu trên [1], và gợi ý cách tiếp cận tám bước tới việc xác định và phân loại các thành phần dùng lại như sau: (1) Lựa các chức năng hay sự vật đặc thù. (2) Trừu tượng hoá chức năng hay sự vật. (3) Xác định phân loại. (4) Định danh các tính năng chung. (5) Định danh các quan hệ đặc biệt. (6) Trừu tượng hoá các quan hệ. (7) Suy dẫn ra mô hình chức năng. (8) Định nghĩa ngôn ngữ miền. Đôi khi khó xác định được rằng liệu với một thành phần dùng lại tiềm năng nào đó trong thực tế có áp dụng được cho một tình huống đặc biệt hay không. Để tiến hành việc xác định này, cần phải định nghĩa ra một tập các đặc trưng miền được dùng chung cho mọi phần mềm bên trong một miền. Đặc trưng miền định nghĩa ra thuộc tính chung nào đó cho mọi sản phẩm tồn tại trong miền đó, chẳng hạn, các đặc trưng chung có thể là tầm quan trọng của tính an toàn, tính tin cậy, ngôn ngữ lập trình, tương tranh trong xử lí, và nhiều điều khác nữa.2 Phát triển hệ thống dựa trên thành phần Phát triển dựa trên thành phần là hoạt động CBSE xuất hiện song song với công nghệ miền. Bằng việc dùng các phương pháp phân tích và thiết kế kiến trúc, tổ phần mềm làm mịn kiến trúc thích hợp cho mô hình phân tích đã được tạo ra cho ứng dụng được xây dựng. Một khi kiến trúc đã được thiết lập, nó phải đưa các thành phần vào. Các thành phần này là có sẵn từ thư viện dùng lại hoặc được chế tạo mới để đáp ứng nhu cầu riêng biệt này. Do đó, luồng nhiệm vụ cho việc phát triển hệ thống dựa trên thành phần có hai việc song song như ở hình 1. Khi các thành phần dùng lại được là có sẵn cho việc tích hợp tiềm năng vào trong kiến trúc, thì chúng phải được định tính và thích nghi. Khi thành phần mới cần tới, thì chúng phải LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 được chế tạo. Sau đó chúng được tích hợp vào trong kiến trúc và được kiểm thử kĩ càng.1 Định phẩm, thích ứng và hợp thành thành phần Như ta đã thấy, công nghệ miền cung cấp thư viện các thành phần dùng lại được cần cho công nghệ phần mềm dựa trên thành phần. Một số trong những thành phần dùng lại được này được phát triển bởi đội ngũ sở tại, số khác có thể được trích từ những ứng dụng đã có, và số khác nữa thì có thể kiếm được từ bên thứ ba. Tuy nhiên sự tồn tại của các thành phần dùng lại được không đảm bảo rằng các thành phần này có thể được tích hợp một cách dễ dàng hay hiệu quả vào kiến trúc được chọn cho ứng dụng mới. Chính bởi lí do này mà trình tự các hoạt động phát triển dựa trên thành phần được áp dụng khi một thành phần được đề nghị sử dụng.
Luận Văn Thạc Sĩ: Xây Dựng Ngôn Ngữ Mẫu Cho Lập Trình Dựa Trên Thành Phần
Luận văn thạc sĩ nghiên cứu vnu uet xây dựng ngôn ngữ mẫu cho lập trình dựa trên thành phần, đánh giá hiện trạng, phân tích vấn đề, đề xuất biện pháp hoàn thiện trong lĩnh vực kỹ
Trường đại học
Đại Học Quốc Gia Hà Nội Trường Đại Học Công NghệChuyên ngành
Công nghệ phần mềmNgười đăng
Ẩn danhThể loại
Luận văn thạc sĩPhí lưu trữ
30 PointMục lục chi tiết
THÔNG TIN CHI TIẾT
Tác giả: Nguyễn Hải Bình
Trường học: Đại Học Quốc Gia Hà Nội Trường Đại Học Công Nghệ
Chuyên ngành: Công nghệ phần mềm
Đề tài: Xây Dựng Ngôn Ngữ Mẫu Cho Lập Trình Dựa Trên Thành Phần
Loại tài liệu: Luận văn thạc sĩ
Năm xuất bản: 2010
Địa điểm: Hà Nội
Tài liệu có tiêu đề Xây Dựng Ngôn Ngữ Mẫu Cho Lập Trình Dựa Trên Thành Phần cung cấp cái nhìn sâu sắc về việc phát triển ngôn ngữ mẫu trong lập trình, đặc biệt là trong bối cảnh lập trình dựa trên thành phần. Tài liệu này nhấn mạnh tầm quan trọng của việc sử dụng ngôn ngữ mẫu để tăng cường khả năng tái sử dụng mã nguồn và cải thiện quy trình phát triển phần mềm. Độc giả sẽ tìm thấy những lợi ích rõ ràng từ việc áp dụng ngôn ngữ mẫu, bao gồm việc giảm thiểu lỗi và tăng tốc độ phát triển.
Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo thêm tài liệu Luận văn thạc sĩ sinh ca kiểm thử từ các biểu đồ uml, nơi bạn sẽ tìm hiểu về các phương pháp kiểm thử phần mềm dựa trên biểu đồ UML. Ngoài ra, tài liệu Luận văn thạc sĩ phương pháp sinh bộ kiểm thử từ biểu đồ tuần tự uml 2 0 và ứng dụng cho kiểm thử phần mềm 04 sẽ cung cấp cho bạn cái nhìn sâu hơn về cách thức sinh bộ kiểm thử từ biểu đồ tuần tự UML 2.0. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về quy trình phát triển và kiểm thử phần mềm, từ đó nâng cao kỹ năng và kiến thức của mình trong lĩnh vực này.
Trích đoạn nội dung tài liệu
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ