nghiên cứu xây dựng phần mềm quản lý và thực hiện quy trình thi môn tin học tại khoa côn nghệ thông tin

218 118 0
nghiên cứu xây dựng phần mềm quản lý và thực hiện quy trình thi môn tin học tại khoa côn nghệ thông tin

Đ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

nghiên cứu xây dựng phần mềm quản lý và thực hiện quy trình thi môn tin học tại khoa côn nghệ thông tin nghiên cứu xây dựng phần mềm quản lý và thực hiện quy trình thi môn tin học tại khoa côn nghệ thông tin nghiên cứu xây dựng phần mềm quản lý và thực hiện quy trình thi môn tin học tại khoa côn nghệ thông tin nghiên cứu xây dựng phần mềm quản lý và thực hiện quy trình thi môn tin học tại khoa côn nghệ thông tin

B ộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HÀ NỘI• • • BÁO CÁO TỎNG KÉT ĐÈ T À I K H O A H Ọ C VÀ C Ô N G N G H Ệ CẤP co' SỞ NGHIÊN CỨU XÂY DựNG PHẦN MÈM QUẢN LÝ VÀ THựC HIỆN QUY TRÌNH THI MƠN HỌC TẠI KHOA CƠNG NGHỆ THÔNG TIN Chủ nhiệm đề tài: Thạc sĩ Lê M inh Đức Các thành viên: Tiến sĩ N guyễn Xuân Thắng Thạc sĩ Đỗ Thị Phương Thảo Hanoi University TJ' XT— IMIIIIMIIII l ll l i l l II Hà N^ ’ 10/2016 000091292 Bộ GIÁO DỤC VÀ ĐÀO TẠO • • • TRƯỜNG ĐẠI HỌC HÀ NỘI • • • BÁO CÁO TỐNG KÉT ĐÈ TÀI KHOA H Ọ C VÀ CÔNG NGHỆ CẤP c SỞ NGHIÊN CỨU XÂY DƯNG PHẦN MÈM QUẢN LÝ VÀ THựC HIỆN QUY TRÌNH THI MƠN HỌC TẠI KHOA CƠNG NGHỆ THƠNG TIN Chủ hhiệm đề tài: Thạc sĩ Lê M inh Đức Các thành viên: Tiến sĩ Nguyễn Xuân Thắng Thạc sĩ Đỗ Thị Phương Thảo f i n !1 THƯ V IÊ N ĐAI H O C H A N Ò I HANOI U N I V E R S I T Y L I B R A R Y l H N ội, 10/2016 I Mỏ' đầu Khca Công nghệ Thông tin (CNTT), trường Đại học Hà Nội, tổ chức giáo dục trier, khai giảng dạy chương trình bậc đại học CNTT Trong vòng hai năm trở lại khoa CNTT tiến hành quy trình hóa, theo chuẩn quản lv ISO [1], nhiệm vụ với mục tiêu nâng cao hiệu thực nhiệm vụ Trong số quy trình đóng vai trị quan trọng khoa có hai quy trình thi FIT.GD.05 FIT.GD.06 (trong báo cáo gọi chung quy trình thi) Quy trình thứ liên quan đến tổ chức thi cho tất mơn học, cịn quy trình thứ hai tổ chức thi cho mơn học Nhìn chung đặc trưng, quy trình thực thể phức tạp, bao gồm nhiều bước thực nhiều người thời điểm Để thực quản lý thực quy trình hiệu quả, khoa CNTT xác định cần đira việc thực quy trình vào hệ thống thông tin Hệ thống giúp khoa theo dõi, giám sát điều chỉnh việc thực quản lý thực quy trình Tuy nhiên, hệ thống thông tin thực cách thủ công Thông tin thực quy trình chi lưu trữ dạng văn rời rạc không quàn lý cách thống nhất, gây nhiều khó khăn việc tổng họp thơng tin truy vấn chuyên sâu Áp dụng giải pháp phần mềm quản lý hệ thống thông tin giúp nâng cao hiệu hoạt động hệ thống [2] Trong thực tế, có nhiều phần mềm xây dựng nhằm hỗ trợ cho việc triển khai cơng việc theo quy trình Ví dụ, thư mục "quality-management-software" trang web Capterra (địa chỉ: http://www.capterra.com) liệt kê 73 phần mềm chuyên dành cho nhiệm vụ quản lý chất lượng, bao gồm hỗ trợ chuẩn quản lý ISO Từ năm 2012 đến nay, giảng viên môn Công nghệ phần mềm thuộc khoa CNTT đồng thời chủ nhiệm đề tài này, chủ động nghiên cứu công nghệ p h t triển p h ầ n m ề m h iệ n đại, g ọi p h ầ n m ề m k illin g jD o m a in A p p [3], có k h ả n ă n g s in h tự động phần mềm có giao diện đồ họa người sử dụng cho miền ứng dụng từ mô hình thiết kế miền Phần mềm khung ứng dụng phương pháp phát triển phần mềm hướng miền (PM-HMN) (domain-driven software development) [4] Triết lý phươne pháp nhàm định nghĩa phân tích vêu cầu miền phần mềm cách đầy đủ dạng thuận lợi cho xây dựng thiết kế triển khai viết mã phần mềm Cũng theo [4] phương pháp đặc biệt thích hợp với phần mềm hướng đối tượng, phần mềm xây dựng dựa đối tượng thực thể tìm thấy hình thành nên cấu trúc liệu vấn đề thực tiễn Các kết nghiên cứu ban đầu phần mềm khung jDomainApp (được công bố [5], [6]) tạo tiền đề động lực cho nhóm tác giả đẩy mạnh nghiên cứu sâu phần mềm khung Đe thực tốt mục tiêu địi hỏi q trình khơng ngừng tìm kiếm phát triển lóp phần mềm, mà yêu cầu miền ứng dụng chúng có phạm vi đặc trưng ngày rộng độ phức tạp ngày cao Việc áp dụng jDomainApp cho lớp phần mềm không giúp cải thiện tính có mà cịn giúp phát tính cản hỗ trợ Các cải tién sau sê đem áp dụng để phát triển phần mềm tương tự miền ứng dụng khác Qua tìm hiểu quy trình xuất phát từ thực tiễn tham gia trực tiếp, vai trị khác nhau, vào thực cơng việc theo quy trình, nhóm tác giả cho lớp phần mềm quản lý quy trình theo chuẩn ISO lóp phần mềm có nhiều đặc trưng có độ phức tạp cao, phù hợp để sử dụng làm đối tượng nghiên cứu cho jDomainApp Do đó, nhóm tác giả đặt mục tiêu nghiên cứu áp đụng phương pháp phát triển PMHMN sừ dụng phần mềm khung jDomainApp việc xây dựng phần mềm hỗ trợ hiệu việc quản lý thực quy trình thi khoa CNTT Nhóm tác giả đặt tên cho phần mềm P ro c e s s M a n (viết tắt "Process Manager") Tính cấp thiết đề tài Từ năm 2014, khoa CNTT thực quản lí chất lượng cơng việc sử dụng quy trình xây dựng theo chuấn ISO Nhìn chung, quy trình cơng việc thực thể phức tạp, bao gồm nhiều bước thực đồng thời thời điểm khác với nhiều người tham gia Tuy nhiên, nav quy trình thực hiệnmột cách thủ công hiệu qủa Chi tiết bước hoạt động lưu ởdạng vănbản không quản lý cách thống nhất, gây khó khăn lớn việc truy vấn chuyên sâu tổng họp thông tin liên quan đến việc thực quy trình M ục tiêu nhiêm vu• đề tài • • Mục tiêu đề tài nghiên cứu áp dụng phương pháp phát triển PM-HMN sử dụng phần mềm khung jDomainApp, để xây dựng phần mềm quản lý thực quy trình thi, có đặc trưng lớp quy trình Để đạt mục tiêu đề tài đặt nhiệm vụ sau cần hoàn thành: • Thu thập thơng tin quy trình cơng tác quản lý thực quy trình • Định nghĩa phạm vi yêu cầu phần mềm • Xây dựng mơ hình thiết kế phần mềm áp dụng cơng cụ JDomainApp • Viết mă thử nghiệm phần mềm sử dụng jDomainApp • Kiểm thử phần mềm • Viết tài liệu hướng dẫn sử dụng phần mềm • Viết báo cáo khoa học kết đề tài Mục II trình bày tóm tất nội dung kết nhiệm vụ 3 Đối tượng phạm vi nghiên cứu Đối tượng đề tài công tác quản lý thực quv trình thi Phạm vi nghiên cứu quy trình thi triển khai khoa CNTT, Đại học Hà Nội Cách tiếp cận Các tiếp cận đề tài chia nhỏ mục tiêu cần đạt thành câu hỏi sau để tìm câu trả lịi: u cầu quy trình cơng việc việc thực thi quy trình gì? Phương pháp phát triển PM-HMN làm để áp dụng phương pháp cho phần mềm cụ thể sử dụng ngơn ngữ lập trình cụ thể? Sử dụng công cụ jDomainApp để phát triển PM-HMN nào? Áp dụng công cụ jDomainApp cho phát triển phần mềm ProcessMan mang lại kết sao? Phương pháp nghiên cứu Để ữả lời câu hỏi tiếp cận trên, đề tài áp dụng phương pháp nghiên cứu sau • Thu thập mơ tả yêu cầu phần mềm • Nghiên cứu tổng quan phương pháp phát triển PM-HMN công cụ JDomainApp • Thử nghiệm phát triển phần mềm ProcessMan sử dụng cơng cụ jDomainApp Tóm tắt điểm điều chỉnh Bảng trình bày tóm lược nội dung mà nhóm đềtài điều chỉnh theo nhận xét hội động cấp đon vị TT N hận xét hội đồng Báo cáo chỉnh sửa Nội dung chỉnh sửa - Mục I: cập nhật để trình bày đầv đù lí mục tiêu cùa đề tài, từ xác định xác phạm vi mức độ cùa sản phẩm Báo cáo tổng kết - Mục II.3.1: bổ sung mục để làm rõ phạm vi mức độ cần đạt cùa phần mềm P r o c e s s M a n - Hệ thống lại danh sách báo cáo cho Cần trình bày rõ phần mềm phạm vi thực đề - Bổ sung mục tương thích với tài, mức độ cùa sản phẩm chuẩn ISO 9001:2015 - Mục 3.2.1: nói rõ việc tổ chức thực theo vịng cho phưong pháp chung thiết kế triển khai viết mã Báo cáo chuyên đề ] Báo cáo chuyên đề - Mục 3.2.2: bổ sung bước cập nhật phần mềm khung jD o m a in A p p Ọ Sửa chữa vài lỗi tả trình bày Làm rỗ hưóng phát triển phần mềm giai đoạn tiếp theo, ý thêm việc trình bày hướng tích hợp với hệ thống eLearning Moođle đưọc áp ciụns khoa _ - Mục 2: rút gọn lại để nhấn mạnh bước triển khai phương pháp Báo cáo chuyên đề - Mục 2.1: đổi "kiểm thử đon vị" thành "kiểm thử tích hợp" Báo cáo chuyên đề - Mục I II.3.1 liệt kê - Mục IV l: tâch rieng mục hướng phát triển - Mục IV 1: trình bày hai hướng phát triển cùa đề tài, đề cập đến yêu cầu tích hợp với hệ thống Moodle f * Bâo câo tổng két Báo cáo tổng kết > Bàng 1: Tóm tãt điêm điêu chinh II N ộ i d u n g k ết q u ả n g h iên u Trong phần tác giả tóm tắt nội dung kết nghiên cứu nhiệm vụ trình bày mục 1.2 T hu th ậ p IĨ1 Ô tả yêu cầu phần m ềm Nội dung kết quà cụ thể nhiệm vụ trình bày báo cáo chuyên đề: (1) "P h ần m ề m P ro cessM an : M ô tả y ê u cầu " Yêu cầu phần mềm thu thập sử dụng tổne họp hai phương pháp là: • Phương pháp nghiên cứu tài liệu • Phưong pháp quan sát Tài liệu bao gồm văn hai quy trình thi, phát triển đề tài [7], là: • FIT-DT-05: Quy trình tổ chức thi cuối kỳ • FIT-DT-06: Quy trình thi hết học phần mơn học Ngồi ra, với tư cách người nắm giữ vị trí khác hai quy trình trên, nhóm tác giả sử dụng kinh nghiệm thực tiễn làm nguồn cung cấp thơng tin bổ sung Trong trình nghiên cứu, tác giả cùa chuyên đề tổ chức trình bày lại mơ tả hai quy trình theo mẫu mới, giúp nêu bật thành phàn cấu trúc quy trình khái niệm liên quan đến miền kiến thức phần mềm Mô tả sử dụng làm đầu vào cho phân tích thiết kế giải pháp phần mềm Nghiên cứu tổng quan phương pháp phát triển PM -H M N công cụ jDomainApp Nội dung kết cụ thể nhiệm vụ trình bày báo cáo chuyên đề: (2) "Phần mềm ProcessMan: Thiết kế hướng miền" 2.1 Tính tự động hóa Từ khía cạnh quản lý dự án phần mềm, điểm bật công cụ jDomainApp giúp nhóm dự án tăng suất cơng việc nhờ việc tự động hóa cácnhiệm vụ mangtính h ọ c c ủ a q u y trìn h p h t triể n p h ầ n m ềm C ô n g cụ jD o m a in A p p có th ể g iú p tự đ ộ n g hóa nhiệm vụ sau đây: Thiết kế chi tiết luồne kiện RĨao diện đồ họa người sử dụng (GUI) V iế t m ã g iao d iệ n G U I Thiết kế cài đặt sở liệu quan hệ phần mềm Thiết kế kiến trúc phần mềm 2.2.Quy trình phát triển PM-HMN s dụng jD o m a in A p p Quy trình phát triển phần mềm sử dụng jDomainApp bao gồm nhiệm vụ sau: Xây dựng yêu cầu liệu (bao gồm ràng buộc liệu), yêu cầu chức năng, yêu cầu giao diện phi chức (nếu có) Xây dựng mơ hình liệu (sử dụng y/c liệu) Xây dựng mơ hình chức (sử dụng y/c chức năng) Xây dựng mô-đun phần mềm (các mơ-đun cấu thành nên mơ hình kiến trúc phần mềm) Viết cấu hình phần mềm (từ mô-đun) T nghiệm phát triển phần mềm ProcessMan sử dụng công cụ jDomainApp Nội dung kết nhiệm vụ trình bày ba báo cáo chuyên đề: (2) "Phần mềm ProcessMan: Thiết kế hướng miền" (3) "Phần mềm ProcessMan: Triển khai viết mã nguồn" (4) "Phần mềm ProcessMan: Kiểm thử Hướng dẫn sử dụng" 3.1 M ột số mục tiêu trọng tâm Nhóm đề tài đặt trọng tâm giai đoạn nghiên cứu Trọng tâm bao gồm hai m ụ c tiê u c h ín h sau đ ây cần đ t đ ợ c: • xây dựng mơ hình thiết kế miền chi tiết cho phần mềm, theo nguyên lý phương pháp PM-HMN v sử dụng phần mềm khung jD o m a in A p p Mơ hình cần bao gồm khái niệm miền luật thiết kế phản ánh cách xác u cầu • hoàn thành phiên mẫu phần mềm ProcessMan, thực hóa mơ hình thiết kế miền nói dạng sử dụng lại tồn cho phát triển phiên hoàn chỉnh phần mềm sau 3.2 Thiết kế hướng miền Phương pháp thiết kế Áp dụng jDomainApp, lóp mơ hình liệu mơ hình chức thiết kế dạng lớp miền (domain class) Mỗi mô-đun phần mềm hình thành từ m ỗ i lớ p m iề n M ộ t m ô -đ u n c u n g c p c h ứ c n ă n g tư n g tá c c a b ả n ch o p h c p n g i s dụng tạo, sửa, xóa liệu eủa lớp miền mơ-đun Dưới danh sách bước thiết kế mơ hình sử dụng jDomainApp: định nghĩa lớp với đầy đủ thuộc tính ràng buộc liệu áp dụng luật bình thường hóa quan hệ để đưa trone hai dạng quan hệ phổ biến: một-một một-nhiều áp dụng luật phương thức để định nghĩa phương thức cho lớp liệu cập nhật mơ hình để thỏa mãn u cầu giao diện, sử dụng thư viện jDomainApp cập nhật mơ hình để thỏa mãn u cầu phi chức (nếu có) Domain-Driven Design Using Meta-Attributes: A DSL-Based Approach D u e M in h L e D u c - H a n h D a n g , V ie t- H a N g u y e n D e p a rtm e n t o f S o ftw a re E n g in e e rin g D e p a rtm e n t o f S o ftw a re E n g in e e rin g H a n o i U n iv e rsity , V ie tn a m V N Ư - U n iv e rsity o f E n g in e e rin g an d T ec h n o lo g y , H a n o i, V ie tn a m E m a il: d u c lm @ h a n u e d u V II E m a il: {h a n h d d , h a n v } @ v n u e d u bstract— Applying object-oriented domain-driven design in D o m ain M o d el (3) D om ain M odel (2) D o m ain M odel (1) ictice r e q u i r e s b r i d g i n g t h e g a p s t h a t e x i s t a m o n g t h e p e r c e i v e d main class models of the key stakeholders involved In this per, w e p r o p o s e a d o m a i n - d r i v e n d e s i g n m e t h o d t h a t u s e s m e t a ributes with an i generalises a domain t only class m a k e but t o fill t h e s e model it e a s i e r collaboratively model, aim previous w o r k to The for capture ease the the gaps O u r meta-attributes the designer domain-specific translation of the s p e c i f i c a t i o n is w r i t t e n i n a n ernal increase iction t h a t To productivity, realises t h e m e t a - m a p p i n g w e are and icification T h i s DSL method extends to u s e m e t a - a t t r i b u t e s to b u i l d designed domain requirements model to expert to in design object-oriented, define between a demonstrate our method with an C e m e n t a t i o n i n a p r o t o t y p i n g tool f o r t h e d o m a i n class m o d e l I Fig 1: Domain model gap challenges generator t h e state a n d l a v i o u r s p a c e s o f a d o m a i n c l a s s t o a u t o m a t i c a l l y g e n e r a t e its l a v i o u r a l specification W e D om ain ■* _ * ' p " I D esigner Program m er ■ D o m ain G a p M odel G ap - tvhaf domain conccpis? - can the concepts be realised! - w hat dom ain constraints? - how efficiently can they be realised ’ In tro d u c tio n The overall goal of domain-driven design (DDD) [I] is design software (iteratively) around a model of the appliion domain, which both thoroughly captures the domain uừements and is technically feasible for implementation, achieve this, however, requires bridging two gaps (depicted Fig 1) that exist between the perceived domain models of 5e key stakeholders involved: domain expert, designer, and g m m e r T h e first g a p is domain gap, w h ic h is c a u s e d b y imatches in the views of the domain expert and designer terms of what domain concepts and constraints need to be ined in the d o m a in model The s e c o n d gap is model gap, ich is caused by mismatches in the views of the designer 1the programmer in terms of the implementation feasibility I efficiency of the domain model The use of a shared language (called ubiquitous language [1]) combined, as more recently discussed in [2], with nain-specific languages (DSLs) [3] would help bridge these domain gap by making it easier for the designer and domain expert to capture the domain-specific requirements in the model They help bridge the model gap by easing the trans­ lation of the model to design specification This specification is written in an internal DSL, which generalises a previous work [4] to support both the object state and behaviour More sp e c ific a lly , w e m a k e th e fo llo w in g c o n trib u tio n s : • d e fin e a UML-based domain class model th a t u s e s m e ta - attributoo to captu ro d o m ain ap o cific req u irem en ts • d e fin e an o b je c t-o rie n te d in te rn a l design DSL for domain class (D c S L ) generator function fo r D c S L th a t re a lis e s the meta-mapping between the state and behaviour spaces of a domain class to automatically generate its behavioural specification The rest of the paper is structured as follows Section II • d e fin e a d is c u s s c s d o m a in c la s s m o d el d e sig n S e c tio n III d e fin e s DcSL and the generator function Section IV briefly discusscs tool support Section V summarises the related work and Section VI concludes the paper II D e s ig n in g T he D o m a in C la ss M odel U s in g M e t a -A t t r i b u t e s IS T h is is b a se d on th e p re m is e th a t D S L ises th e level W e g e n e lis e th e Ja v a c la ss m o d e l o f [4] to d e fin e a lo e ic a i ibstraction of the target (implementation) language so that losely matches with the shared language domain class model This model is a ƯML class diagram [5] that is augmentated with a set of meta-attributes [6], necessary to capture the domain-specific requirements about the state and behaviour of objects To th is e n d , w e p ro p o se in th is p a p e r an o b je c t-o rie n te d n a in -d riv en d e s ig n m e th o d th a t u se s m e ta -a ttrib u te s to build d o m a in c la ss m o d e l T h e m e ta -a ttrib u te s help b rid g e the his work is funded by the Vietnam National Foundation fo r Science and nology Development (NAFOSTED) under grant number 102.03-2015.25 vish to thank the anonymous reviewers fo r their useful comments W e illu stra te o u r d isc u ssio n w ith a d o m a in c la s s m o d e l o f a c o u rs e m a n a g e m e n t ( C o u r s e M a n ) a p p lic a tio n sh o w n in F ig (A ) a n d F ig (B ) In brief, the c la ss m o d e l in F ig (A ) d e s c rib e s th a t a S t u d e n t , w h o h a s at m o st o n e a s so c ia te d DAaaocỉad E n r o lm e n t ( r o l « - e n r j *, ã ndTypôằ"(Miny iaoclôt*-ằ.ô*oci4t*( typt-stu.dônt clôfô cằr l - Diaaoc »$cTyp««"on»2a»ny■} ctrous' 1> Id: lot inttroklH trk Doubl* axaaMark: Ooubla iknalCrad* char l.-OOpt (iyp«*D»t»Sourc* C o n s tru c to r) S tu d e n t Id tn t n u t : S trin g addr«3»: Address ►S tud«nt (In t# g * r i d ,S t r i n g aajia , Addrass addr) ►S tu d e n t(S tr in g nan * , Addrasa addr) : DOpt g a tA d d r e s s O : Address (B) (A ) F ig 2: (A ) C o u r s e M a n ’s d o m a in c la ss m o d e l w ith so m e re p re se n ta tiv e , sta te -sp e c ific m e ta -a ttrib u te a ssig n m e n ts (B ) C la s s S t u d e n t w ith s o m e re p re se n ta tiv e , b e h a v io u r-sp e c ific m e ta -a ttrib u te a ssig n m e n ts T A B L E I: O p e tio n ty p es O peration Type A kxam ple (s) (Fist 2(B)) A ctio ns construct (crea(e) a new objeci from data retrieved from data source construct a new object from user-specified data DataSourceConstructor Objec iFormConsiruc tor construct a new object from values o f non-opúonal attribute(s) generate a new attribute value RequiredConstructor AutoA itribuleValueG en synchronise attribute value against oAtuibuteValueSynchroniser the data source LinkAdderN ew add a new ly created association lin k add an existing association link LinkA dd er (# g rtlri» v » d from data ( o u m ) LinkUpdater update on changes to a linked object LinkRem over remove an association lin k set association lin k count {e.g after being retrieved from data source) LinkC ountS cllcr LinkC otintG etter Setter get association lin k count set value 01 an attribute validate input data o f an attribute validate an association before a link is added 10 il vuliiiuie an association before a link is removed from it DataV alidttionH elpcr LinkAddValidaiionH elper likR cm oveValidationH clpcr (D O pt, A t t r R e f }, a n d ịip l:D p t 2:D0pt 4:D 0pt 5:D0pt T A B L E II: C o rre s p o n d e n c e s b e tw e e n la n g u a g e c o n s tru c ts o f th e d o m a in c la s s m o d e l a n d D c S L D o m a in Class M o d e l C o nstructs State space 7:D 0pt cht** attribute meta-attribute association domain class ( class w ith D C la s a ) domain attribute (attribute w ith D A tt r ) DAssoc ( m i ) & DAssocEnd ( m ) 8:D0pt 9:D 0pt IO:DOpt ll.D O p t 12,13:D0pt see [4] domain association (association o m a i n C l a s s D e s i g n (D c S L ) n sla tin g th e d o m a in c la s s m o d e l re su lts in a d e s ig n sp ecItio n th a t c o n sists o f tw o p a rts: s ta te sp a c e a n d b e h a v io u r sp e c ific a tio n s W e p r o p o s e an in te rn a l D S L , c alled S L , to w rite th e sp e c ific a tio n in an y o b je c t-o rie n te d proTim ing la n g u a g e th at su p p o rts a g e n e ric se t o f c o n stru c ts, fu rth e r d e fin e a g e n e r a to r fu n c tio n fo r this la n g u a g e w ith A sso c, DAsaocEnd) D c S L Constructs *4m+» JteU meta-attribute field Ịtair (iw o fields) domain class ( class w ith D C lasa) domain field {field w ilh D A tt r ) DAssoc (merge properly sets o f m i , m ) associative field pair (tw o associative Jieldv, associative field » domain field w ith DAssoc) B e huvio ur space operation domain operation (operation w ilh method domain method (method w ilh D C pt, A t t r R e f ) DO pt, A t t r i u f ) in c lu d e s 13 a ssig n m e n ts o f DOpt o p e tio n g e n l d m a k e e x p lic it th e fa c t th at th is o p e tio n is :e th e m a n d th e la n g u a g e c o n stru c ts o f th e d o m a in c la s s m o d e l 6:D0pt iu to -a ttrib u te -v a lu e -g e n e to r fo r th e a ttrib u te S t u d e n t i d D re q u ire d to s u p p o rt f o u r b a sic a n d six c o m p o s ite c o n stru c ts 3:D0pt a ssig n m e n t o f A t t r R e f th a t a re sh o w n in th e figure F O R Constructs T ab le II lists th e s e c o n s tru c ts an d th e c o rre sp o n d e n c e s b e tw e e n :e, in p a rtic u la r, th a t th e tw o m e ta -a ttrib u te a s s ig n m e n ts o f III A D S L D cSL T o e x p re s s e le m e n ts o f th e d o m a in c la s s m o d e l, D c S L is T h e b a s ic c o n s tru c ts are: attribute and c# class, field, method, an d meta­ T h e first th re e c o n s tru c ts a re a d a p te d fro m Ja v a [8] [9] C o n s tru c t meta-attribute re q u ire s th a t the h o s t la n g u a g e su p p o rt the m e ta -p ro g m m in g fe atu re ([1 ]) F u r ­ th er, th is c o n s tru c t is to b e sp e c ia lis e d into d o m a in -sp e c ific m e ta -a ttrib u te s A ll m e ta -a ttrib u te s o f th e d o m ain c la ss m o d e l, e x c e p t D A sso c an d D A sso c E n d , are m ap p e d to the m e ta ­ a ttrib u te s o f D c S L a ttrib u te s D A sso c th a t h av e th e sa m e nam e T h e m e ta ­ and D A sso c E n d are m apped to m e ta ­ a ttrib u te D A sso c o f D c S L b y m e rg in g th e ir p ro p e rty sets T h e c o m p o s ite c o n s tru c ts are: domain class, domain field, field pair, associative field , associative field pair, a n d do­ main method A c o m p o s ite c o n s tru c t is c o m p o se d o f so m e b a - : c o n stru c ts and m e ta -a ttrib u te s in the sa m e space In Tab II, valu e o f the p ro p e rty in th e le ft-a d ja c e n t c o lu m n “d iffers fro m " m p o sitio n is w ritte n in b c k e ts th at fo llo w the c o n stru c t the valu e th a t im m e d ia te ly fo llo w s domain class c o n stru c t class and m e F or e x a m p le , the c o m p o s ite c o n stru c t th e sta te sp a c e is c o m p o s e d o f the L et us e x p la in how to re a d diff the m a p p in g rules usin g th ree re p re se n ta tiv e e x a m p le s: 3, 4, and M e ta -m a p p in g Ỉ m e ta -a ttrib u te D C l a s s S im ila rly , the c o m p o site c o n stru c t ru le m ap s the S S E P D A t t r m u t a b l e = t r u e to the B S E P main method in the b e h a v io u r s p a c e is tr u c t method a n d the m e ta -a ttrib u te s D O p t t y p e = S e t t e r M e ta -m a p p in g ru le m ap s the S S E P is c o m p o s e d o f the D A ttr ty p e D O pt, A t t r R e f d iff C o lle c tio n , s e ria lis a b le = tru e to [n the re st o f th is se c tio n , w e w ill u se the term s state and th e B S E P D O p t t y p e = D a t a S o u r c e C o n s t r u c t o r T he S S E P la v io u r sp a c e s fo r D c S L a s if th e se have b e en tra n sla te d o f th is m e ta -m a p p in g ru le in v o lv e s tw o p ro p e rtie s (w h ic h the m o d el e le m e n ts o f the c o rre s p o n d in g D c S L c o n stru c ts Domain Class Generator (D C la s s G e n ) by a c o m m a in th e listin g ) in stea d o f one S S E P s to th e B S E P D O p t t y p e = A u t o A t t r i b u t e V a l u e G e n The a im o f fu n c tio n D C l a S S G e n is to in c re a se p ro d u c ty in w o rk in g w ith D c S L a re se p a te d p ro p e rty as in m a p p in g ru le M e ta -m a p p in g ru le m aps tw o T h e S S E P s are D A t t r a u t o = t r u e a n d u n d e f (D A sso c ) by a u to m a tic a lly g e n e tin g b e h a v io u r sp a c e s p e c ific a tio n o f a d o m a in c la ss fro m its 2) D C la s s G e n ’s Algorithm: G iv e n th at e ac h m eth o d type h a s a c o d e te m p la te th at is d e fin e d in th e ta rg e t lan g u a g e, :e sp a c e sp e c ific a tio n W e o b s e rv e d th a t this c a p a b ility is w h o se h e a d e rs c o n fo rm to th o se sh o w n in F ig (B ) A lg o ­ lievable th ro u g h a m e ta -m a p p in g b e tw e e n the tw o sp aces rith m ') Mapping Between State Space and Behaviour Space: We sp e c ifie d in D c S L w ith th e sta te sp a c e sp e c ific a tio n , and uses n a lis e th e o b se rv a tio n s m a d e in [4] in to w h at w e c a ll m eta - th e m e ta -m a p p in g ru le s o f Tab I l l to a u to m a tic a lly g e n era te pping b e tw e e n the sta te sp a c e a n d th e b e h a v io u r sp ace, in c a se t o f d o m a in m e th o d s ta -m a p p in g is d e fin e d b a s e d o n se ts o f e le m e n t p a tte rn s definition 6: State space element pattern (SSEP) w.r.t le m e ta -a ttrib u te a in a s ta te s p a c e ( , /xữ , a ) is a se t o f e Ộ, a € a ies ( / , a ) s.t / a n d /xa ( / ) = { a } N o ta tio n w ise , ta k e s as in p u t a d o m a in c la ss ( c), th a t is p a rtially T h e a lg o rith m te x t a p p lie s th e sa m e d o t n o ta tio n o f S e c ­ tio n II to r e fe r to p ro p e rtie s o f th e m e ta -a ttrib u te s o f a f serialisable c la s s field (var / ) F o r e x a m p le , w ill o m it / , w h e n th e c o n te x t is c le a r as to w h a t it is, a n d to th e c la ss field / T h e s e t o f field s o f c is a definition 7: Behaviour space element pattern (BSEP) t so m e m e ta -a ttrib u te b in a b e h a v io u r sp a c e ( A i s t o f tu p le s (o , Ò) s.t o e A, 6 p an d fiậ\o)= {0}.T o e a se Ition, w e w ill o m it o an d s im p ly w rite B S E P in te rm s o f isCollection p ly w rite S S E P in te rm s o f th e m e ta d a ta a ssig n m e n t fo r m e ta d a ta a ssig n m e n t fo r e t u s d e n o te b y £ a n d n th e se ts o f S S E P s a n d B S E P s o f ate a p a c c and a behaviour space, respectively definition 8: Meta-mapping from the state space (0, //ai a) h e b e h a v io u r sp a c e ( A ,/i0 ,/2 ) o f a d o m a in c la ss is an :tiv e fu n c tio n : V(Yi) -> 7^(11), th a t m ap s a s u b s e t o f P s o f th e sta te sp a c e to a s u b s e t o f B S E P S o f th e b e h a v io u r J in te rm s o f th e m e ta -a ttrib u te s d e fin e d in S e c tio n s II-B II-C E a c h n u m b e re d ro w o f th e ta b le d efin es o n e m e la p in g ru le T h e c o lu m n s la b e lle d “ S S E P s ” a n d “B S E P s ” :he sets o f S S E P s a n d B S E P s (re s p ) o f e ach ru le S o m e l e m a p p in g s a re m a p p e d to o p e r a tio n s defin ed d ire c tly le d o m a in c la ss ; w h ile o th e rs a re m a p p e d to o p e tio n s led in a tool k it c la ss ( d is c u s s e d in [4]) T h e c o lu m n lied “ D e fin ed in ” c a te g o ris e s the o p e tio n s in to th e se tw o ps In th is p a p er, w e fo c u s o n a u to m a tic a lly g e n e tin g the g ro u p o f o p e tio n s as th e s e c o n s titu te a m a jo rity o f the c.fields F u n c tio n a t lin e d e te rm in e s if a d a ta ty p e is a c o lle c tio n def a n d undef a t type F u n c t i o n s lines a n d (resp.) c h e c k i f th e m e ta -a ttrib u te D A sso c is d e fin e d fo r / A l g o rithm D C l a s s G e n _ In p u t: domain class c whose stale space is specified O u u t: c is updated w ith dom ain methods // create constructors lei F s « { / I / € c f i e l d s , f er ia lis a b le = tr u e t Ì Collection(f.type)=zf a l s e ) lei i*v ■ (/ I / fe c.fields, f.autosstfalse, iaCollectioii(f.type)=falae) let F ji a {/ I / € F u , f optional^/alse) i f F s ^ then create in c data-source-consirucior C l( « , I f Fu * then 10 11 12 13 14 15 16 17 18 J9 20 21 8n) , (*i € F s) // rule creaie/updale in c objeci-form-consiruclor c a ( u i , , u m ) (Uj € F u) II rule I if F r e a c c o rd in g to a set o f ru le s ib le n i lists th e c o re m e ta -m a p p in g ru les th a t a re de- re fe rs to the p ro p e rty D A t t r s e r i a l i s a b l e in th e a s s ig n m e n t o f D A t t r ỷ Q*hen create/updaie in c rcquired-construclor C3 ( f * i , r p) (rfc € F n ) II rule / / create other methods Tor a ll / in c fie ld s create in c getter fo r / If /.m u ta b le Ihen creale ill c seller for / // rule i f d e f( f.D A s s o c ) then i f Ị.D A a s o c a sc T y p e ^ ^ o n c —m íin y ” A f.D A s s o c e iid T y p f= uoi\.e" then create in c link-related methods for / / / rule else I f f.D A s s o c a a c T y p e = ito n e —one" then create in c link-adder-new fo r / // rule i f f.a u to = tru e A u n d e f ( / D A sso c) Chen create in c valuc-gcncralor fo r / / / rule let F s a = { / I / € c fie ld s , f.a u to i= tr u e t f.se ria lisa b le= tT u e , u n d e f{ f D A sso c )} 22 creaic in c aulo-atiribule-value-synchroniscr fo r T h e th re e s e ts F s, Fjr/, a n d Fr F s a II rule (c re a te d a t lin e s 1-3) are sets atio n s a n d th e s e o p e tio n s h a v e n o t b e e n a d d re sse d , o f c la s s field s th a t sa tis fy th e S S E P s o f Ihe th ree c o n stru c to r lere are th ree fu n c tio n s in th e c o lu m n “ S S E P s” F u n c tio n ru le s 3, 1, a n d (re s p e c tiv e ly ) E a c h se t fo rm s th e p a m e te rs n e a n s th e v a lu e o f th e p ro p e rty in th e le ft-a d ja c e n t c o lu m n o f th e c o rre s p o n d in g c o n stru c to r T h e c o n s tru c to rs are c re a te d ifined (i.e it is n o t the d e f a u lt v a lu e ) F u n c tio n Uiidef IS D A sso c is n o t a s s ig n e d to th e m o d e l e le m e n t o f the ru le th a t is a ssig n e d D A t t r F u n c tio n diff m e a n s the a t th e lin e s -5 , -7 , an d 8-9 T h e c re a te /u p d a te sta te m en ts at lin e s a n d are to a llo w f o r the c a s e th a t th ese se ts are the sa m e F o r e x a m p le , if Fs = Fy, th e n o b je c t-fo rm - c o n s tru c to r is th e s a m e as d a ta -so u rc e -c o n stru c to r T h a t is, T A B L E III: C o r e m e t a -m a p p in g rules No SSEPs D A ssocE nd D A ssoc P r o p e rty V alue P r o p e rty Value unde/ uitdef - D A tt r P r o p e rty auto type V alu e false d iff C o llectio n auio false type d iff C o llectio n optional false type d iff C o llectio n serialisable true m utable true optional false auto true auto true serialisable true type C o llectio n endType 10 11 12 13 14 type D om ain true a sso ciale.card M in asso ciate.card M ax - def def 15 unique m ax ±ypc S iring * - length lief ■ one ascType one-m any - ascT ype - on e-o n e - - - - - > def = Cl and Cl is a ssig n e d an a d d itio n a l D O pt w h o s e ty p e lb j e c t F o r m C o n s t r u c t o r 'h e se t Fsa BSEPs DOpt V alu e P r o p e rty D efin ed in lype O b jcciF o rm C o n siru cio r C lass type R e q u ired C o n siru cio r C lass type D a ia S o u rccC o n siru cio r C lass type type type S eder D ataV alidaiionH clper A uioA ilributeV alueG en C lass ToolK il C lass C lass type A u io A ttrib u ieV alu eS y n ch ro n iser type type lypc type lype lype type lypc lypc type lype type L m kA dderN ew L in k A d d er L in k A d d erU p d ater L in k R em o v er L in k C o u n iG eiier L in k C o u n iS ctter L inkA dderN ew LinkR cm ovcV aliU alionH elpcr lype C lass C lass L in k A d d V alid aiio n H clp cr D ataV alid aiio n H elp er ToolK il ToolK il Tool Kit D ataV alid atio n H elp er D alaV alid aiio n H elp er ToolK ii Tool Kit D aia Val idat ion H el per Tool Kit im p le m e n ta tio n o f D c S L T h is la n g u a g e e x te n d s th a t o f [4] to su p p o rt th e c h a n g e s to th e m e ta -a ttrib u te s d e s c rib e d in this (c re a te d a t lin e ) c o n ta in s th e c la ss fields p a p er T h e m e ta -a ttrib u te s a re re a lis e d a s Ja v a a n n o ta tio n s [8] sa tis fy the S S E P s o f ru le T h e s e a re u se d a t lin e 2 to F o r e x a m p le , F ig a sh o w s th e d e ta ile d S t u d e n t ’s state Ite th e m e th o d A u t o A t t r i b u t e V a l u e S y n c h r o n i s e r sp a c e sp e c ific a tio n w ritte n in th is la n g u a g e W e im p le m e n te d 'he fo r loop a t lin e s -20 re a lis e s o th e r m e ta -m a p p in g s, w h ic h are a p p lie d to th e in d iv id u a l c la s s fields c a lle d Ja v a ssist [11] T h is lib ry p ro v id e s a c o n v e n ie n t A P I fu n c tio n D C LASS G e n in Ja v a u s in g a th ird -p a rty lib ry fo r d ire c tly m a n ip u la tin g th e J a v a b y te -c o d e G iv e n an in p u t IV T S o o l u p p o r t d o m a i n c l a s a flic (e.g S l u d e u t c l a & a ) , Ilte f u n c t i o n g e n e r a t e s /e d e m o n s tra te th e a p p lic a b ility o f o u r m e th o d w ith an an u p d a te d c la s s file th a t c o n ta in s all th e n e c c ssa ry m eth o d s lementation T h e m e th o d s ’ c o d e a re a ls o a u to m a tic a lly g e n e te d fo r the m a jo rity o f th e o p e tio n ty p es of D c S L and D C l a s s G e n in a rapid proto- n g to o l fo r th e d o m a in c la s s m o d e l A n e a r lie r v e rsio n o f to o l h a s b e e n u s e d o v e r th e p a s t tw o y e a rs to te a c h in a V w are e n g in e e rin g c o u rs e m o d u le a t o n e o f o u r institutions, he tool’s aim is to enable the three key stakeholders of the D p ro c e ss to c o lla b o tiv e ly a n d ite tiv e ly b u ild a d o m a in m o d el T h e d e s ig n e r u s e s th e tool to w o rk ite tiv e ly I th e d o m a in e x p e rt to c a p tu re th e d o m a in re q u ire m e n ts R e l a t e d W o r k O u r p ro p o s e d D c S L is a g e n e lis a tio n o f th e J a v a s p e c i­ fica tio n la n g u a g e o f [4], w h ic h o n ly s u p p o rts th e Ja v a c la ss m o d el an d its s ta le sp a c e s p e c ific a tio n In [2], a n n o ta tio n w as d e fin e d a s a fo rm o f in te rn a l D S L H o w ev er, th is w o rk d o e s le d o m a in c la s s m o d e l T h e p ro g m m e r p a rtic ip a te s in n o t d e fin e d o m a in -sp e c ific a n n o ta tio n s n o r d o e s it a d d re ss the ite tio n s by in itia lly c o d in g th e domain c la ss m o d e l in a u to m a tic g e n e tio n o f th e b e h a v io u r sp e c ific a tio n >L a n d su b s e q u e n tly u p d a tin g it, so th a t the m o d e l c a n be e s s e d a u to m a tic a lly b y th e to o l m e th o d th a t sh a re s th is v ie w is m o d e l-d riv e n so ftw a re e n g i­ ) a c h ie v e th is, th e to o l a u to m a tic a lly g e n e te s a n in te r­ n e e rin g (M D S E ) [12] C o m p a re d to M D S E , o u r d o m a in c la ss W ith re sp e c t to u sin g m o d e ls to d e s ig n so ftw a re , a p ro m ie n t ne a p p lic a tio n d ire c tly fro m th e d o m a in c la ss m o d e l T h is m o d el c a n b e u s e d a s th e in p u t fo r a m o d el tra n s fo rm a tio n ic a tio n ’s u ser in te rfa c e (Ư I) p re s e n ts a n o b je c t Ư I fo r e a c h th a t a u to m a tic a lly g e n e te s a p h y s ic a l c la ss m o d e l in the a in c la ss and a d e s k to p fo r o rg a n is in g th e s e U Is A n o b je c t ta rg e t la n g u a g e H o w ev e r, D D D & D S L d iffers in th a t th is ro v id e s an in te rfa c e f o r th e u s e r to v iew a n d to m a n ip u la te m e th o d w o rk s d ire c tly on the h o s t la n g u a g e to is e its level io m a in o b je c ts o f a d o m a in c la ss F o r e x a m p le , F ig 3b o f a b stra c tio n to a p p ro a c h th a t o f th e s h a re d d o m a in lan g u a g e /S th e o b jec t U Is fo r S t u d e n t , E n r o l m e n t , a n d A d d r e s s , F u rth e r, D D D & D S L p ro v id e s an a lte rn a tiv e m e th o d w h e n a d e ta ile d d isc u ssio n o f th e t o o l ’s a rc h ite c tu re a n d the ’s im p le m e n ta tio n for D cSL and D C l a s s G e n is g i v e n n In brief, th e d o m a in c la s s e s are sp e c ifie d in a Ja v a so p h istic a te d d e sig n to o l th a t su p p o rts m o d el e n g in e e rin g and p la tfo rm v a ria tio n is n o t re q u ire d F ro m the la n g u a g e e n g in e e rin g p e rsp e c tiv e , Ja v a [8] an d its re c e n t h ig h -le v e l e x te n sio n c a lle d X te n d [13] p ro v id e a m o d ern flD C la sa (scherr.a=,’cou^sera^Ln,,) p u b l i c c l a s s S tu d e n t { ! ỊLĨL- Oofn*inAppfo«l I Fil* £001» Ê?r dew i open Refresh New ^ Ltiđata ^ fee ® D A ttr ]naưne="id" ,ty p e = T y p e I n t e g e r , id = tr u e ,u n iq u e = tr u e ,a u t o = t r u e , m u ta tle - f a ls e , o p tio n a l* f a ls e p riv a te i n t id ; 0*l«e 4*1 p*«t ^ Previoul ► Nflxt ►►cast I M o d u le S lo d « n tW i' :í?:.' r!:w ;:I.:nt:I :::lĩ' £ĨĨỈÌ**ìtíiỉí::.:í hSỴĨỈ&Ì:{ ' S tu d e n t I s I Q D A ttr 'najne="na/ne" ,ty p e * T y p e S t r i n g , l e n g t h = o p t i o n a l - f a l s e ) p r i v a t e S t r i n g nam e ; i:! nama L,VanSau $ " g V" enrolment* ,d 'module liiit*rnalMflrV (ODAttr (nam e-" a d d r e s s " , t y p e “T y p e D om ain, le n g t h * ,o p t i o n a l - t r u e ) C D À 8 c ( a s c N a a ie -" s tu d e n t-h a s - a d d re s s " ascT y p e-A sso cT y p e n e n e , endType“ A saocE ndT ype.O ne, r o l e " " s t u d e n t " , crtac* a s s o c i a t e mC A s s o c i a t* ( t y p e » A d d r e s s c l a s s , c a rd M in » l, c a rd M a x * l)) p r i v a t e A d d ress a d d r e s s ; p Rm at ) Cjncti A ddress N#n* ;HJ no« < Í D A s so c (a s c N a jn e -" s td -h a s-e n ro ls" aa cT y p e-A sso c T y p e 0ne2M any, e n d T y p e - A s s o c E n d T y p e O n e ,ro le " " » tu d e n t" , srurf#rtt a s s o c ia te - ® A s s o c ia t e ( ty p e « E n r o la i e n t c l a s s , c a rd M in -0 , ca rd M ax » )) p r i v a t e C o l l e c t io n < E n ro lm ỡ n t> e n r o l m e n t * ; * f fl CrMte ' u~ — R#Mt • 4P c***** V o Qa*ryO«f ( c :ity W m > a ctiv ity c la ss an d th e d a ta c la ss e s (c a lle d re le v a n t d a ta c la ss e s ), > J p ro d u c tiv ity a n d m o d u la rity , w h ile re d u c in g m ain te n a n c e DA«a«c ( M d t M * 'd > - C l *J cT 7|M "■•!»•-•»!>y ' M cC ada*( U ia c f a { r»* Firsir im thte m e ta d a ta m o d e l is th e a ssig n m e n t o f D A ttr to ttribuite a B oiund In th is a s s ig n m e n t, p ro p e rty ty p e = D o m a in ecau& e aB o m n d is a re fe re n c e ty p e ; p ro p e rty s o u rc e A ttrib u te Ị t A aaocK ad ( tttrtk ^ iỉc t' U p a t a iu k > f * u « > D o au U l H C ( i>cN«aa**da-C * 4*cTfpa**0M-a«By* MCCMta-t i u i c I U ( n l( * * n * ã t tr tb ô * ô * ) ta a « c B * ( M l H ' r t * ãp4aC*LliU la k e s excpliciit the b in d in g o f a B o u n d to the a ttrib u te aS rc S e c o n cd , th a dataa soiurce a ttrib u te w h o s e d a ta q u e ry is d e fin e d b y )u e ry D e jf s p e c if ic a lly , w c h a v e D A ttr.ty p e = C o lle c tio n , se- 2) fo r m : T he rig h t h and aide o f Ư1C a b o v e figure sh o w s the ialisa b le > = fa lse f b e c a u se a S rc is a c o lle c tio n -ty p e d attrib u te te m p la te d o m a in m o d e l o f th e p a tte rn T h e sta n d a rd m o d e l > A ttr.v irttu al= fa lse b e c a u s e a S rc is n o t p a rt o f th e o b je c t sta te c o n sists o f th re e c la ss e s C a , C l , a n d C C la ss C a is th e > A ttr.so u irc e Q u e ry = tru e m a k e s e x p lic it th e p re s e n c e o f the lu e r y D e lf a ssiig n m en t T h e q u e ry d e fin e d b y Q u e ry D e f is u se d a c tiv ity c la s s fo r th e a c tiv ity w h o s e d ia g m is sh o w n o n th e ) id e n tiffy thte C o b je c ts th e v a lu e s o f w h o se a B o u n d F ilte r tio n s w ith tw o re le v a n t d a ta c la s s e s C l a n d C T h e o b je c ts ttrib u te s a t i s f y th e e x p re s s io n (o p v a i), fo r so m e o p e to r o p o f th e se tw o c la s s e s a re m a n ip u la te d as p a rt o f p e rfo rm in g th e nd s o m e valiue val M o re th a n o n e a ttrib u te e x p re ss io n s c an tw o a c tio n s (sh o w n in th e a c tiv ity d ia g m ) c o n c e rn in g th e s e e se t u siin g tlhe p ro p e rty Q u e ry D e f.a ttrib u te E x p s T h ird , the m e ta d a ta a s s ig n m e n ts o f D O p t an d A ttr R e f to le ft h a n d sid e o f th e fig u re C la s s C a m a in ta in s tw o a s s o c ia ­ tw o c la sses In th is w o rk , w e fo c u s o n th e b a sic s ttu c tu re o f th e a ctiv ity d ia g m w h ic h in c lu d e s no fo rk , jo in , o r d e c isio n le f o u r ss e tte r and g e tte r o p e tio n s o f c la ss C l m a k e e x p lic it n o d e s S u p p o rt fo r th e se c o n s tru c ts w ill b e in v estig a te d a s p a rt le b e h a w io u r ty p es o f th e s e o f fu tu re w o rk o p e tio n s D e ta ils o f th e se ỉsig n m e in ts aire o m itte d fro m th e fig u re as they are c o n sid e re d In th e m e ta d a ta m o d e l, th e a s s ig n m e n ts o f D A sso c to a s s ig n m e n ts F o u rth , th e a ssig n m e n t o f D A ttr to the tw o a sso c ia tio n s m a k e e x p lic it th e fa c t th a t th e tw o trib u te taB o u m d F ilte r o f C is n e c e ssa ry to tu rn th is a ttrib u te a sso c ia tio n s a re o n e -m a n y a n d , m o re im p o rta n tly , th a t u p - a n d a rd Ito a d o im a in a ttrib u te , a n d th u s c an a p p e a r in Q u e ry D e f T h e d a te L in k = fa lse , w h ic h m e a n s o b je c ts o f C l and C a re to be -tails o f th is a ssig n m e n t a re a ls o o m itte d fro m th e figure m a n a g e d in d e p e n d e n tly fro m th o se o f C a T h is a lso m e a n s th a t N o te thiat tlhe m e ta d a ta a s s ig n m e n t o f Q u e ry D e f m ay b e lin k s to C a o b je c ts w ill n o t b e c re a te d /u p d a te d fo r o b je c ts o f Tiitted e iith e r if no d e s ig n -tim e q u e ry is k n o w n o r i f a ttrib u te C l a n d C T h e tw o a ttrib u te s a A c t o f C l a n d C are a ssig n e d Src re fe irs to all th e C o b je c ts (a n d th u s m ak in g the q u e ry w ith a sta n d a rd c o n fig u tio n o f D A ttr th a t h a s ty p e = D o m a in ifin itio n u n n e c e s s a ry ) In th e fo rm e r c a s e , the s e tte r o p e tio n a n d se ria lisa b le = fa lse :tA S rc its u s e d b y c lie n ts to p o p u la te th e ru n -tim e d a ta fo r trib u te aiSrc 3) E xam ple: T he follow ing figure show s how the pattern is applied to solve p ro b le m (4) o f C o u r s e M a n In this exam ple: • C a = E n ro lm e n tM g m t, C l = S C la ss, C = S tu d e n t DẢaaoc ( W ith re g ard s to p a tte rn fo rm la n g u a g e , a c o m m o n ba se • 4•c Lnđ • - ( la n g u a g e is Ư M L [9] T h e w o rk in [3], [8] (a s w ell as o u r EnrolmentMgrat i>a»cCii>4 { w o rk ) e x p re ss e s the p a tte rn fo rm a t the m o d el lev el, w h ile D iatac < l l d u t - ' u n l i n ' ãô tr ằ ằ - ‘ **nr*liN (a

Ngày đăng: 21/06/2019, 00:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan