CHƯƠNG 1: GIỚI THIỆU Chương này sẽ giới thiệu tổng quan về luận văn, các lý do và mục đích nghiên cứu, sơ lược kết quả đạt được và trình bày cấu trúc của luận văn. Lý do và mục đích nghiên cứu Ngày nay, ứng dụng công nghệ thông tin vào trong công việc ngày càng nhiều, từ đó nhu cầu phát triển phần mềm cũng tăng lên. Trong giai đoạn đầu của phát triển phần mềm là giai đoạn phân tích yêu cầu, các yêu cầu về phần mềm cần xây dựng phải được đặc tả một cách đầy đủ để có thể tiến hành thiết kế và xây dựng phần mềm cho phù hợp. Các đặc tả này có thể ở dưới các dạng phi hình thức (informal) như các biểu đồ, văn bản hoặc hình thức (formal) như các biểu thức toán mô tả yêu cầu.
Tính chính xác và hữu dụng của các đặc tả ở bước này rất quan trọng vì nó phải mô tả được phần mềm cần xây dựng, giúp các nhà phát triển phần mềm có các quyết định đúng đắn trong thiết kế và hiện thực phần mềm, cũng như giúp kiểm chứng về chất lượng sản phẩm làm ra. Các nghiên cứu về đặc tả hình thức đã bắt đầu từ rất sớm và đã đạt được một số thành công nhất định. Tuy nhiên, các nghiên cứu gần đây đã chỉ ra những điểm còn yếu của phương pháp này như là chi phí (thời gian và nhân lực) rất cao, mức trừu tượng đặc tả thấp và chưa phù hợp với các yêu cầu phát triển phần mềm nhanh chóng như hiện nay. Một số nghiên cứu khác đã chỉ ra rằng, phương pháp này cần phải được cải tiến theo hướng tăng tính tích hợp, tăng mức độ trừu tượng đặc tả và chú tâm tạo ra các kỹ thuật hạng nhẹ, chi phí (thời gian và nhân lực) thấp.
Mặc dù có nhiều nhóm nghiên cứu về lĩnh vực Công nghệ phần mềm ở Việt nam, nhưng các nghiên cứu chuyên về đặc tả hình thức và ứng dụng vào trong thực tiễn hiện nay còn chưa phát triển nhiều. Các phương pháp đặc tả hình thức có ưu điểm rõ rệt về nền tảng lý thuyết để đảm bảo tuyệt đối tính đúng đắn của một hệ thống, để có áp dụng trong công nghiệp phần mềm. Tuy nhiên, việc đặc tả thường phức tạp, nặng về toán học cần các chuyên gia về phương pháp hình thức, một số thành phần trong hệ thống khó có thể mô tả bằng ngôn Trang 1 Áp dụng đặc tả hình thức vào mô hình đặc tả yêu cầu phần mềm i* ngữ hình thức. Hơn nữa khách hàng thường không thích các đặc tả toán học nên không hiểu hiểu được các đặc tả này, do đó chúng ta cần để che dấu bớt các rối rắm toán học và tăng cường các công cụ hổ trợ trong phân tích yêu cầu.
Ngoài ra, đặc tả hình thức cần được nâng từ mức thiết kế chức năng đến mức trừu tượng trong bước phân tích yêu cầu (requirement engineering), cũng như tính tích hợp (integration) của các đặc tả hình thức trong vòng đời phát triển phần mềm. Trong những năm gần đây, UML trở thành một ngôn ngữ chuẩn để mô hình hóa các yêu cầu phần mềm và thiết kế. Tuy nhiên, ở giai đoạn đầu của việc đặc tả yêu cầu thì ngôn ngữ UML thường chú trọng đến việc biểu diễn thông tin của các tác nhân và sự tương tác của tác nhân với các usecase, còn mối quan hệ giữa tác nhân với tác nhân và usecase với usecase thì lại sơ xài, chủ yếu với 3 mối quan hệ: Generalization, «Include» and «Extend». Ngoài ra, cũng còn một vấn đề khác là việc phân rã một usecase thành một hệ thống sub các usecase cũng là khó khăn trong UML.
Ngôn ngữ mô hình i* là ngôn ngữ mô hình thích hợp cho việc mô hình hóa yêu cầu ở giai đoạn đầu và giúp hiểu được các vấn đề của đặc trưng miền [4]. Ngược lại với hướng tiếp cận UML khi mà sơ đồ Usecase chỉ bao gồm hàm mục tiêu (tác nhân nào thực hiện những hành động nào – cụ thể trong phần mềm), ngôn ngữ mô hình i* có cả hướng tác nhân và hướng mục tiêu. Ngôn ngữ mô hình i* trả lời câu hỏi: who và why, không trả lời câu hỏi what. Ngôn ngữ mô hình i* còn cho phép mô hình cả hai tình huống là: as-is và to-be.
Ngoài ra, ngôn ngữ mô hình i* cung cấp nhiều mức độ phân tích: ability (khả năng), workability (khả năng làm việc), viability (tính khả thi) và believability (số lượng khả tin). Việc mô hình hóa ở giai đoạn đầu, ngoài việc chọn được một ngôn ngữ mô hình thích hợp thì việc tái sử dụng lại các mô hình đã có cũng là một vấn đề cần quan tâm. Như thế nào mà người phân tích yêu cầu khi thực hiện các bước phân tích thì có được những bước gợi ý là đã có một mô hình tương tự để cho việc phân tích được diễn ra Trang 2 Áp dụng đặc tả hình thức vào mô hình đặc tả yêu cầu phần mềm i* nhanh hơn và kết quả phân tích qua thời gian ngày càng được cải thiện do tận dụng lại được các mô hình phân tích trước đó. Mục tiêu và giới hạn luận văn Ngôn ngữ mô hình i* là một ngôn ngữ mô hình hướng mục tiêu.
Trong một tác nhân, ta có thể thấy nó hướng tới mục tiêu nào và để đạt được mục tiêu đó thì nó cần có những công việc, tài nguyên hay những mục tiêu con nào. Trong luận văn, sẽ tập trung vào việc biểu diễn mục tiêu trong mô hình i* dưới dạng biểu diễn logic. Khi đã có được biểu diễn logic các mục tiêu trong mô hình i*, vấn đề thứ hai là làm sao có thể tính toán độ tương tự giữa các mô hình i* dựa trên các biểu diễn này. Luận văn sẽ nghiên cứu và đánh giá phương pháp tính độ tương tự dựa vào logic trên để có thể thấy được các ưu và khuyết điểm của phương pháp, từ đó đề nghị bổ sung một phương pháp/giải thuật hỗ trợ khác.
Vấn đề thứ ba là việc lưu trữ các biểu diễn này cũng như các biểu diễn đã có trước đó. Có nhiều cách để lưu trữ như dùng các hệ cơ sở dữ liệu hay định nghĩa một cấu trúc lưu trữ dạng tập tin, nhưng các cách trên phải đảm bảo được việc có thể hiển thị lại mô hình đã vẽ dưới dạng đồ họa và các đặc tả đã được chuyển đổi từ mô hình. Tóm lại, đề tài sẽ tập trung biểu diễn mục tiêu trong mô hình i* dưới dạng biểu diễn logic. Nghiên cứu phương pháp/giải thuật tính độ tương tự giữa các biểu diễn logic trên, các giải thuật đề nghị bổ sung để tăng độ chính xác cho phương pháp tính độ tương tự dựa trên logic và xây dựng thư viện lưu trữ các đặc tả.1 cho thấy quy trình tiếp cận của luận văn, luận văn sẽ tập trung giải quyết phần 2.2 là tính toán độ tương tự để có thể gợi ý cho người phân tích yêu cầu và xây dựng thư viện lưu trữ.
Kết quả đạt được của đề tài là một đóng góp cho kỹ thuật sử dụng đặc tả hình thức trong việc biểu diễn và tính độ tương tự giữa các mục tiêu của mô hình i*. Thấy được Trang 3 Áp dụng đặc tả hình thức vào mô hình đặc tả yêu cầu phần mềm i* ưu và khuyết điểm của kỹ thuật này trong việc biểu diễn mục tiêu của mô hình i* và cách thức xây dựng một thư viện lưu trữ để có thể sử dụng lại các mô hình về sau.1: Mô phỏng quy trình tiếp cận của của đề tài 1. Cấu trúc của luận văn Các phần còn lại của luận văn được tổ chức như sau: Chương 2 – Các nghiên cứu liên quan: luận văn sẽ trình bày các công trình và nghiên cứu liên quan về ngôn ngữ mô hình i*, các phương pháp tính độ tương tự dựa trên logic giữa các Web Service, nhận xét về phương pháp tính độ tương tự trên để có thể áp dụng vào bài toán của luận văn. Trang 4 Áp dụng đặc tả hình thức vào mô hình đặc tả yêu cầu phần mềm i* Chương 3 – Cơ sở lý thuyết: luận văn sẽ trình bày các vấn đề về cơ sở lý thuyết về ngôn ngữ mô hình i*, các khái niệm và định nghĩa của phương pháp đặc tả hình thức, khái niệm về đồ thị con đẳng cấu để giải quyết khuyết điểm của việc sử dụng đặc tả hình thức khi biểu diễn mục tiêu của mô hình i*.
Chương 4 – Mô hình hóa bài toán: luận văn sẽ trình bày cách thức biểu diễn mục tiêu trong mô hình i* dưới dạng biểu diễn logic. Nghiên cứu, đánh giá phương pháp tính độ tương tự dựa trên logic cho mục tiêu trong mô hình i*. Đồng thời đề xuất một giải thuật bổ sung để hỗ trợ giải quyết khuyết điểm của phương pháp tính độ tương tự dựa trên logic. Chương 5 – Case studies: để có thể hiểu rõ hơn về cách thức biểu diễn mục tiêu trong mô hình i* và các bước tính toán độ tương tự giữa các mô hình để hệ thống có thể gợi ý cho người phân tích yêu cầu, luận văn sẽ trình bày một case study nhỏ với các trạng thái thay đổi độ tương tự và kết quả gợi ý khi người phân tích yêu cầu vẽ mô hình i* ở từng bước.
Chương 6 – Hiện thực và thực nghiệm: phần hiện thực luận văn sẽ trình bày phần hiện thực hệ thống. Kiến trúc của hệ thống gồm những thành phần nào, cách xây dựng cơ sở dữ liệu lưu trữ. Phần thực nghiệm, luận văn sẽ trình bày các bộ dữ liệu kiểm thử và kết quả thực nghiệm. So sánh các kết quả thực nghiệm giữa các phương pháp đề xuất.
Chương 7 – Kết luận: trình bày các kết quả đạt được và chưa đạt được của luận văn, các vấn đề khó khăn khi thực hiện luận văn, và đề xuất hướng nghiên cứu tiếp theo trong tương lai. Trang 5 Áp dụng đặc tả hình thức vào mô hình đặc tả yêu cầu phần mềm i* CHƯƠNG 2: CÁC NGHIÊN CỨU LIÊN QUAN Ở chương này luận văn sẽ trình bày các công trình và nghiên cứu liên quan về ngôn ngữ mô hình i*, các phương pháp tính độ tương tự dựa trên logic giữa các Web Service, nhận xét về phương pháp tính độ tương tự trên để có thể áp dụng vào bài toán của luận văn. Ngôn ngữ mô hình i* Ngày nay cũng có rất nhiều nghiên cứu và ứng dụng sử dụng ngôn ngữ mô hình i*. Theo MIT Press [7], quyển sách “Social Modeling for Requirements Engineering” của tác giả Eric Yu [23] mô tả một cách tiếp cận dựa trên việc mô hình hóa dùng ngôn ngữ mô hình i* hay còn gọi là khung thức i* (i* framework).