Luận văn Xây dựng công cụ mô hình hoá tiến trình hỗ trợ mẫu tiến trình

Tiến trình phần mềm được định nghĩa là một tập các hoạt động có thứ tự để phát triển hoặc bảo trì một sản phẩm phần mềm [2]. Ngày nay, tất cả các tổ chức phát triển phần mềm đều tuân thủ theo một tiến trình phát triển nào đó. Tiến trình phát triển phần mềm có ảnh hưởng to lớn đến chất lượng của các sản phẩm phần mềm. Từ đó chúng ta có thể thấy được tầm quan trọng của hướng nghiên cứu về công nghệ tiến trình.

pdf21 trang | Chia sẻ: vietpd | Lượt xem: 1190 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng công cụ mô hình hoá tiến trình hỗ trợ mẫu tiến trình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
11 Chương 2 MÔ HÌNH HOÁ TIẾN TRÌNH VÀ MẪU TIẾN TRÌNH 12 CHƯƠNG 2 MÔ HÌNH HOÁ TIẾN TRÌNH VÀ MẪU TIẾN TRÌNH Trong chương này, dựa trên nguồn tham khảo chính từ luận văn của TS Trần Hạnh Nhi [2], chúng tôi xin trình bày tổng quan về việc mô hình hoá tiến trình phần mềm và mẫu tiến trình. Ngoài ra, chúng tôi cũng đưa ra một ví dụ minh họa để thấy rõ nhu cầu tái sử dụng lại mẫu tiến trình. 2.1 Mô hình hoá tiến trình 2.1.1 Giới thiệu Tiến trình phần mềm được định nghĩa là một tập các hoạt động có thứ tự để phát triển hoặc bảo trì một sản phẩm phần mềm [2]. Ngày nay, tất cả các tổ chức phát triển phần mềm đều tuân thủ theo một tiến trình phát triển nào đó. Tiến trình phát triển phần mềm có ảnh hưởng to lớn đến chất lượng của các sản phẩm phần mềm. Từ đó chúng ta có thể thấy được tầm quan trọng của hướng nghiên cứu về công nghệ tiến trình. Hướng nghiên cứu này tập trung vào các phương pháp, công nghệ nhằm cho phép mô hình hoá, hỗ trợ vận hành các tiến trình đồng thời hỗ trợ cả việc phân tích và cải tiến tiến trình. Để có thể vận hành, phân tích, và cải tiến trước hết các tiến trình phần mềm cần phải được mô tả một cách tường minh thông qua việc mô hình hoá tiến trình phần mềm [2]. Mô hình hoá tiến trình phần mềm là việc mô tả tiến trình phần mềm thông qua một hoặc một vài mô hình tiến trình. Mô hình tiến trình là một bản mô tả tiến trình bằng một ngôn ngữ mô hình hoá nào đó (Process Modeling Language). Trong suốt hai thập niên qua, đã có rất nhiều nghiên cứu về mô hình hoá tiến trình và các khía cạnh liên quan đến nó. Trong phần này, chúng tôi sẽ trình bày một bức tranh tổng thể về việc mô hình hoá tiến trình như mục tiêu của việc mô hình hoá, các ngôn ngữ dùng để mô hình hoá tiến trình. 13 2.1.2 Mục tiêu và lợi ích của việc mô hình hoá Mục tiêu chính của việc mô hình hoá tiến trình là để xác định rõ quá trình phát triển phần mềm trong thực tế từ đó có thể tìm hiểu, cải tiến và sử dụng lại trong các trường hợp tương tự hoặc phục vụ cho việc vận hành tự động các tiến trình [1]. Việc mô hình hoá tiến trình mang lại các lợi ích như sau [2]: - Giúp tiến trình dễ hiểu: thông qua việc mô tả tiến trình một cách rõ ràng, các tri thức tiến trình trở nên dễ hiểu và dễ trao đổi giữa những người cùng tham gia tiến trình. Nếu không có một ngôn ngữ mô hình hoá chặt chẽ, thống nhất thì việc mô tả và hiểu tiến trình có thể khác nhau giữa các nhóm đối tượng, từ đó dẫn đến những bất cập trong quá trình phối hợp phát triển phần mềm [1]. - Giúp dễ dàng hơn trong việc quản lý và vận hành tiến trình: nếu một mô hình tiến trình được định nghĩa một cách chi tiết, với ngữ nghĩa rõ ràng, đầy đủ thì chúng ta có thể theo dõi diễn tiến của tiến trình sát sao hơn. Các thông tin về trạng thái của các hoạt động, các sản phẩm…được mô tả rõ, qua đó có thể kiểm chứng với tình hình của tiến trình trong thực tế để có thể điều chỉnh kịp thời [1]. Ngoài ra chúng ta còn có thể phát triển các công cụ hỗ trợ cho việc lập kế hoạch, điều khiển và giám sát việc thực thi tiến trình. Nếu mô hình tiến trình được định nghĩa đủ hình thức, hoàn toàn có thể thực hiện chúng một cách tự động thông qua các công cụ hỗ trợ tương ứng. - Để dễ dàng hơn cho việc phân tích và cải tiến tiến trình: mô hình tiến trình cung cấp các thông tin cho việc phân tích và giả lập tiến trình. Hơn nữa, sự tồn tại của mô hình tiến trình cho phép dễ dàng hơn trong việc sử dụng lại các tiến trình đã được kiểm nghiệm, đây là một nhân tố quan trọng để cải tiến tiến trình. 2.1.3 Mô hình tiến trình Mô hình tiến trình là một bản mô tả trừu tượng hoá của một tiến trình trong thực tế. Hiện có nhiều quan điểm chưa thống nhất về các thành tố cần có trong 14 một mô hình tiến trình. Ở đây chúng tôi chỉ nhấn mạnh những điểm chung về nội dung của các mô hình tiến trình trong một số nghiên cứu. 2.1.3.1 Nội dung của mô hình tiến trình Có nhiều loại thành tố khác nhau của tiến trình có thể được biểu diễn trong một mô hình tiến trình. Qua các hướng tiếp cận được đề nghị trong các nghiên cứu khác nhau, chúng tôi nhận thấy có các loại thành tố tiến trình như sau [2]: Các thành tố chính: · Các tác vụ · Các sản phẩm · Các vai trò Các thành tố phụ: · Các Agent: là một cá nhân tham gia vào quá trình phát triển. Một agent có thể đóng nhiều vai trò tại cùng một thời điểm. · Các tài nguyên: là một thành tố giúp dễ dàng hơn cho việc thực thi một hoạt động, ví dụ như các công cụ, hướng dẫn…Các thông tin này rất hữu ích trong suốt quá trình thực hiện tiến trình. · Các thông tin định lượng: cho phép đánh giá hiệu quả và chất lượng tiến trình, ví dụ như độ đo, các kết quả kiểm thử… · Các thông tin tổ chức: giúp dễ dàng hơn cho việc thi hành một tiến trình trong một dự án cụ thể nào đó. Nói chung, chúng liên quan đến ngữ cảnh công việc, cách sắp xếp, tổ chức các tài nguyên, cách thức phối hợp và giao tiếp… Một mô hình tiến trình không chỉ mô tả các thành tố tiến trình, mà còn mô tả mối quan hệ giữa các thành tố đó. Một số quan hệ chính là quan hệ giữa các hoạt động và các sản phẩm, quan hệ giữa các vai trò và các hoạt động và quan hệ giữa các vai trò với các sản phẩm. 15 2.1.3.2 Các khung nhìn về mô hình tiến trình Một mô hình tiến trình có thể được biểu diễn dưới nhiều góc nhìn khác nhau nhằm mô tả các khía cạnh khác nhau của một tiến trình. Curtis [9] đã đề xuất bốn góc nhìn khác nhau về mô hình tiến trình: · Functional View: mô tả các hoạt động trong tiến trình · Behavioral View: mô tả thứ tự thực thi của các hoạt động và các điều kiện tương ứng. · Organisatinal View: mô tả việc tham gia của các vai trò trong các hoạt động và sự phân phối tài nguyên cho việc thi hành tiến trình. · Informational View: biểu diễn các thông tin được xử lý trong tiến trình. Việc lựa chọn góc nhìn để mô hình hoá tiến trình phụ thuộc vào nhu cầu của nhà thiết kế tiến trình. 2.1.4 Ngôn ngữ mô hình hoá tiến trình Một mô hình tiến trình phải được diễn đạt bằng một ngôn ngữ nào đó. Ngôn ngữ mô tả tiến trình định nghĩa các khái niệm dành cho các tiến trình, đồng thời cung cấp cú pháp và hệ thống ký hiệu để biểu diễn mô hình tiến trình thông qua các khái niệm này. Có nhiều cách phân loại ngôn ngữ mô tả tiến trình khác nhau, ví dụ như dựa trên hệ ngôn ngữ, dựa trên mức độ hình thức của ngôn ngữ…Trong phần này, chúng tôi quan tâm đến khía cạnh mức độ hình thức của ngôn ngữ để để phân loại các ngôn ngữ. Mức độ hình thức của một ngôn ngữ được đo dựa trên mức độ chặt chẽ, chính xác trong định nghĩa của ngôn ngữ đó. Các ngôn ngữ mô hình hoá có thể được phân thành 3 loại như sau [2]: - Ngôn ngữ không hình thức: là một ngôn ngữ không được định nghĩa một cách rõ ràng. Chúng có thể đưa ra một vài ký hiệu nào đó để biểu diễn tiến trình nhưng chúng không định nghĩa hệ thống các khái niệm, cú pháp và ngữ nghĩa một cách đầy đủ và chính xác để thiết lập nên các quy luật tạo dựng các mô hình tiến trình. Các mô hình được mô tả bởi các ngôn ngữ này có thể không chính 16 xác và nhập nhằng. Vì vậy chúng khó phân tích và không thể vận hành được. Các ký hiệu được dùng có thể ở dạng văn bản (ngôn ngữ tự nhiên) hoặc ký hiệu đồ họa. Tuy nhiên các ngôn ngữ này có khả năng diễn đạt cao nên được dùng để mô tả các tiến trình phức tạp, ví dụ như các mô hình tiến trình được đề xuất trong CMMI và ISO 12207. - Ngôn ngữ bán hình thức: Các ngôn ngữ này đưa ra một định nghĩa rõ ràng các khái niệm của tiến trình, một cú pháp hình thức để tạo dựng các mô hình bằng cách sử dụng các khái niệm đã đề nghị. Ngữ nghĩa của các khái niệm cũng được định nghĩa, nhưng vẫn còn chưa chính xác, chưa hoàn chỉnh và không thực thi được. Các ngôn ngữ này có thể hỗ trợ cho việc phân tích nhưng không thể cho việc giả lập hoặc thực thi tự động các mô hình tiến trình. Các ngôn ngữ này thường được dùng để xác định và hiểu các tiến trình phần mềm. Ví dụ như IDEF0 [35], E3 [6], SPEM [38]… - Ngôn ngữ hình thức: Các ngôn ngữ này xác định một cách đầy đủ và chính xác hệ thống các khái niệm, cú pháp hình thức và ngữ nghĩa tương ứng để tạo dựng nên các mô hình tiến trình. Các mô hình được biểu diễn bằng loại ngôn ngữ này có thể giả lập và thực thi tự động được. Ví dụ như APPL/A [43], Spell [12], APEL [17], Promenade [36], UML4SPM [8]. 2.1.5 Nhu cầu sử dụng lại tiến trình Các tiến trình phần mềm thường phụ thuộc yếu tố con người, có khuynh hướng thay đổi, rất linh động và không ổn định [18]. Bản chất phức tạp này khiến cho tiến trình phần mềm khó để mô tả và xử lý. Do đó, việc mô hình hoá tiến trình là một công việc đòi hỏi rất nhiều công sức, sự đầu tư và thường tiêu tốn nhiều thời gian, tiền bạc [23][27]. Hướng tiếp cận xây dựng tiến trình mới bằng cách sử dụng lại những tiến trình có sẵn là một trong những cách thức nhằm nâng cao chất lượng tiến trình và giảm chi phí thiết kế tiến trình. Nó được định nghĩa là một hướng tiếp cận trong đó việc xây dựng một tiến trình được dựa trên tri thức của tiến trình có sẵn, đã được trải nghiệm và có thể sử dụng lại [30]. 17 Thường các nghiên cứu về hướng tiếp cận này tập trung vào hai vấn đề chính như sau [24][34]: Vấn đề thứ nhất bao gồm việc nhận diện, biểu diễn và tổ chức tri thức tiến trình, trong khi vấn đề thứ hai liên quan đến việc xây dựng một tiến trình mới có sử dụng lại các tri thức tiến trình đã có này. 2.2 Mẫu tiến trình 2.2.1 Giới thiệu Xuất phát từ các nghiên cứu của Alexander về mẫu kiến trúc [3], K. Beck và W. Cuningham [7] đã đưa khái niệm mẫu đến với công nghệ phần mềm. Mẫu phần mềm mô tả các vấn đề thường xuyên xảy ra trong một ngữ cảnh cụ thể của quá trình phát triển phần mềm và đề xuất một giải pháp đã được kiểm nghiệm để giải quyết vấn đề này [16]. Ngày nay, khái niệm mẫu được cộng đồng nghiên cứu về kỹ thuật phần mềm xem là một phương tiện hữu hiệu để sử dụng lại các tri thức thu được trong quá trình phát triển phần mềm. Mẫu phần mềm có thể được phân thành các loại như sau: - Mẫu sản phẩm: đưa ra các đặc tả về các sản phẩm trong quá trình phát triển. - Mẫu tiến trình: đưa ra các đặc tả về các bước cần tuân thủ để thực hiện quá trình phát triển. Mẫu sản phẩm đã được biết đến và sử dụng rất nhiều trong quá trình phát triển phần mềm hiện nay. Các nghiên cứu chính về mẫu sản phẩm gồm có: mẫu phân tích [11] [22], mẫu thiết kế [25], mẫu kiến trúc [10] và mẫu cài đặt [14]. Trong khi đó, mẫu tiến trình vẫn còn là một chủ đề mới, còn đang phát triển và có nhiều hạn chế. Khái niệm mẫu tiến trình được Coplien [15] giới thiệu lần đầu tiên tại hội nghị PloP’94 với ý nghĩa là mẫu về các tri thức tiến trình. Kể từ đó, đã có nhiều nghiên cứu về khái niệm này và xem nó như là một phương tiện phục vụ cho việc lưu trữ và sử dụng lại các tiến trình. Hiện nay có nhiều định nghĩa về mẫu tiến trình được đề xuất bởi các nhóm nghiên cứu khác nhau. Mẫu tiến trình được định nghĩa như là mẫu lưu giữ một tiến trình đã qua kiểm nghiệm [19][28], là toàn bộ các công nghệ và hoạt động áp dụng để giải quyết các vấn đề thường gặp trong 18 quá trình phát triển [4][9], là một mô hình cung cấp bản thiết kế tiến trình [31], là một mô hình lưu giữ cấu trúc chung của tiến trình [42]…Trong quan điểm của nhóm tác giả Tran H.N [2], mẫu tiến trình là mẫu cung cấp giải pháp cho các vấn đề mô hình hoá tiến trình thường gặp. Giống như các loại mẫu phần mềm khác, mẫu tiến trình cho phép lưu giữ các tri thức tiến trình đã qua kiểm nghiệm, cho phép mô tả các vấn đề và giải pháp tương ứng trong quá trình phát triển, giúp thuận tiện cho việc trao đổi cũng như sự hiểu biết về các tiến trình [19]. Ngoài ra, mẫu tiến trình còn có thể được sử dụng cho việc mô hình hoá tiến trình [9][42] bởi vì chúng: - Cho phép mô tả các tiến trình theo kiểu mô đun và có thể sử dụng lại: một mẫu tiến trình lưu giữ các phần tiến trình có thể sử dụng lại cho một vấn đề cụ thể nào đó. Một tiến trình mới có thể được thiết kế dựa trên cơ sở sử dụng lại một hoặc nhiều mẫu tiến trình có sẵn. - Cho phép mô tả các tiến trình theo kiểu linh động và dễ điều chỉnh: một mẫu có thể được áp dụng trong nhiều tình huống khác, vì vậy nó góp phần tạo ra các mô hình tiến trình linh động và dễ điều chỉnh hơn. Như vậy, có thấy thấy rằng mẫu tiến trình giúp cho việc sử dụng lại các tiến trình trở nên có triển vọng hơn. Tuy nhiên, các định nghĩa hiện tại vẫn còn chưa rõ ràng và chưa được chuẩn hoá [2]. 2.2.2 Các mẫu tiến trình hiện có Hiện có nhiều nghiên cứu cố gắng rút trích các tri thức tiến trình từ các tiến trình đã qua kiểm nghiệm. Tuy nhiên, chúng tôi nhận thấy chỉ có [4][5] là mô tả được rõ ràng một hệ thống các mẫu tiến trình. Kết quả đáng ngạc nhiên này một phần là do việc nhập nhằng về khái niệm giữa các nhà nghiên cứu với nhau [2]. Để có một cái nhìn toàn cảnh về các hướng tiếp cận liên quan đến mẫu tiến trình, chúng tôi mở rộng giới thiệu các nghiên cứu quan trọng khác trong lĩnh vực sử dụng lại các tri thức tiến trình, không chỉ gói gọn trong các tiến trình phần mềm mà còn cho cả các tiến trình nghiệp vụ. 19 2.2.2.1 Các mẫu tiến trình OOSP Ambler đã đưa ra một tiến trình phát triển phần mềm hướng đối tượng gọi tắt là OOSP (Object oriented software process) [4][5]. Mô hình tiến trình này được biểu diễn bằng một tập hợp các mẫu tiến trình, mỗi mẫu tập trung vào một vấn đề cụ thể của quá trình phát triển phần mềm hướng đối tượng. Tác giả đã phân thành 3 loại mẫu tiến trình: - Task Pattern: loại mẫu tiến trình này mô tả các bước con để thực hiện một tác vụ cụ thể nào đó. Ví dụ như mẫu “RequirementTesting”. - Stage Pattern: loại mẫu tiến trình này mô tả một tập các tác vụ, thường được thực hiện lặp lại nhiều lần, của một giai đoạn phát triển phần mềm. Một Stage Pattern có thể bao gồm nhiều Task Pattern. Ví dụ như Stage Pattern “Program” bao gồm các Task Pattern như mẫu “Write Source Codes”, mẫu “Reuse existing components”, mẫu “Technical review”. - Phase Pattern: loại mẫu này mô tả sự tương tác giữa các Stage Pattern trong suốt một pha của dự án. Phase Pattern bao gồm nhiều Stage Pattern. Ví dụ mẫu “Construct” bao gồm các Stage Pattern như mẫu “Model”, mẫu “Program”, mẫu “Test in the Small” và mẫu “Generalize”. 2.2.2.2 Các mẫu của Bergner Nhóm của Bergner [9] đã đề xuất một tập các mẫu tiến trình phục vụ cho việc xây dựng các tiến trình phần mềm hướng đối tượng. Các tác giả đề xuất bốn loại mẫu như sau: - Project Pattern: các mẫu này mô tả thứ tự thực hiện các pha của tiến trình phần mềm để tạo ra các sản phẩm. Ví dụ các mẫu như: Topdown, BottomUp, ArchitectureDriven, Roundtrip, Iterative. - Inter-Result Pattern: các mẫu thuộc loại này đề xuất một giải pháp nhằm tạo ra các sản phẩm thuộc ít nhất hai pha phát triển phần mềm khác nhau. Ví dụ mẫu Technical Foundation, Experimental Combined Prototyping, Component Assessment và Component Update. 20 - Hand Result Pattern: các mẫu này liên quan đến việc tạo ra các sản phẩm chính của quá trình phát triển. Ví dụ như Customer-Driven Analysis, Market- Driven Analysis, Experimental Prototyping, Design-Driven Evaluation. - Subresult Pattern: loại mẫu này cung cấp các giải pháp để tạo ra các sản phẩm tạm thời trong quá trình phát triển. Ví dụ như Adaptation by Wrapping, Wrapping and Adaptation by ReImplementation. 2.2.2.3 Workflow Patterns của Van der Aalst Mẫu luồng công việc được đề xuất bởi Van der Aalst [46] là khái niệm xuất hiện trong cộng đồng tiến trình nghiệp vụ. Mẫu luồng công việc đưa ra một giải pháp để biểu diễn luồng điều khiển giữa các hoạt động trong một ngữ cảnh nào đó. Mặc dù mẫu luồng công việc không mô tả các hoạt động có thể sử dụng lại như các mẫu tiến trình bên trên, nhưng chúng cung cấp các cấu trúc thường gặp của mô hình tiến trình. Mẫu luồng công việc hiện được chia thành 6 nhóm: - Basic Control Flow: Luồng điều khiển cơ bản như Sequence, Parallele Split, Exclusive Choice, Simple, Merge. - Advanced Branching and Synchronization: Rẽ nhánh và đồng bộ hoá nâng cao như MultipleChoice, SynchronizingMerge. - Structural: biểu diễn các tình huống liên quan đến các ràng buộc cấu trúc trong các tiến trình như Arbitrary Cycles, Implicit Termination. - Muiltiple Instances: mô tả các tình huống nhiều thể hiện của một hoạt động cùng được thực thiện tại một thời điểm: Multiple Instances Without Synchronization, Multiple Instances With a priori Design Time Knowledge. - State-based: biểu diễn việc thi hành một dãy các hoạt động phụ thuộc vào trạng thái của việc thực hiện các hoạt động khác ví dụ như Deferred Choice, Interleaved Parallel Routing. - Cancellation: biểu diễn việc kết thúc một hoạt động hoặc một tiến trình ví dụ như Cancel Activity. 21 2.2.2.4 Các nhóm mẫu tiến trình khác Ngoài các mẫu tiến trình đã giới thiệu ở trên, vẫn còn một số nghiên cứu khác liên quan đến việc tìm ra các mẫu tiến trình mới. Chúng tôi xin đề cấp một số nhóm mẫu tiến trình khác như: - Các mẫu MSF: tác giả đề xuất các mẫu tiến trình và mẫu tổ chức rút trích từ Microsoft Solutions Framework (MSF) [40]. Các mẫu được giới thiệu gồm Living Document, Clonable Lifecycle, Smart Lifecycle và Stakeholder-Oriented Organization. - Mẫu tiến trình nghiệp vụ: cộng đồng tiến trình nghiệp vụ cũng định nghĩa các mẫu tiến trình cho phép mô tả tiến trình nghiệp vụ, tiêu biểu gồm Penker&Eriksson [41] và MIT Handbook [33]. - Các mẫu tổ chức: Người ta cũng tìm ra các mẫu tiến trình trong hệ thống các mẫu tổ chức như [21][15][29][32][45]. Phần lớn các mẫu liên quan đến tiến trình giới thiệu ở đây đều được biểu diễn một cách không hình thức. Điều đó khiến cho người ta không thể sử dụng chúng trong việc tự động hoá nhằm phục vụ cho việc mô hình hoá tiến trình phần mềm. 2.2.3 Sử dụng mẫu tiến trình 2.2.3.1 Biểu diễn mẫu tiến trình Như chúng tôi đã đề cập, việc biểu diễn một cách trừu tượng, khó hiểu của mẫu tiến trình sẽ ngăn cản khả năng sử dụng lại chúng một cách hiệu quả. Vì vậy hình thức biểu diễn các mẫu tiến trình là yếu tố quan trọng để thúc đẩy việc ứng dụng chúng trong thực tế. Biểu diễn hình thức đưa ra một cấu trúc bao gồm một danh sách toàn bộ các đặc tính quan trọng của mẫu tiến trình. Hiện có khá nhiều biểu diễn hình thức được đề xuất như [4][13][42][44]. Mặc dù các hình thức được đề nghị khác nhau về số lượng và mức độ chi tiết về các đặc tính của mẫu tiến trình, nhưng chúng vẫn luôn bao gồm ba đặc tính quan trọng nhất: vấn đề thường xảy ra, giải pháp cho vấn đề đó và ngữ cảnh áp dụng của nó [2]. 22 Việc mô tả một cách không hình thức các mẫu tiến trình bằng ngôn ngữ tự nhiên được thực hiện khá dễ dàng và đơn giản. Nhưng ngôn ngữ tự nhiên có thể gây ra việc hiểu sai, nhập nhằng và biểu diễn không hình thức của tiến trình là không hiệu quả nếu muốn dùng nó như một cơ sở cho việc trao đổi hoặc nếu muốn được hỗ trợ một cách tự động bằng các công cụ mô hình hoá tiến trình. Đây là lý do tại sao xuất hiện nhu cầu cần một ngôn ngữ hình thức hơn để mô tả mẫu tiến trình. Ngôn ngữ hình thức này phải cung cấp ngữ nghĩa cho các khái niệm để hạn chế sự nhập nhằng và khó hiểu. Tuy nhiên, việc biểu diễn hình thức được đề cập rất ít trong các nghiên cứu về mẫu tiến trình. Trong hiểu biết của chúng tôi, hiện chỉ có một vài nhóm nghiên cứu về vấn đề này thông qua việc họ định nghĩa một ngôn ngữ mô tả tiến trình hỗ trợ khái niệm mẫu tiến trình. Tất cả các ngôn ngữ này đều xem mẫu tiến trình là một tập các hoạt động phát triển có thể sử dụng lại. Các ngôn ngữ này đều liên quan đến UML nhưng với những mức độ khác nhau: PROPEL [28], Promenade [36] và SPEM [38] là các mở rộng của UML meta model; Living Process Framework [26] đơn giản đề nghị dùng ký hiệu UML để biểu diễn khía cạnh động của tiến trình. Ưu điểm chính của PROPEL là mô tả cấu trúc bên trong của một mẫu và định nghĩa các quan hệ giữa các mẫu. Một trong những điểm mạnh của Promenade là

Các file đính kèm theo tài liệu này:

  • pdf5.pdf
  • pdf0.pdf
  • pdf1.pdf
  • pdf2.pdf
  • pdf3.pdf
  • pdf4.pdf
  • pdf6.pdf
  • pdf7.pdf
  • pdf8.pdf
  • pdfpl.pdf
  • pdftltk.pdf
Tài liệu liên quan