1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu sơ bộ về xây dựng chương trình giảng dạy công nghệ phần mềm bằng phương pháp phát triển phần mềm hướng miền

14 15 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 572,3 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vì một số lý do về lịch sử mà chương trình giảng dạy công nghệ phần mềm của HANU đã được thiết kế dựa trên phiên bản cũ hơn của chương trình khung. Trong bài báo này, tác giả nghiên cứu cách cập nhật chương trình này sử dụng phương pháp phát triển phần mềm hướng miền. Tác giả định nghĩa phương pháp cập nhật dựa trên một phương pháp tiếp cận hướng miền, được áp dụng để khái niệm hóa cấu trúc của chương trình giảng dạy CNPM. Tác giả áp dụng phương pháp để chỉnh sửa ba môn học nòng cốt của chương trình giảng dạy công nghệ phần mềm HANU. Mời các bạn cùng tham khảo chi tiết nội dung bài viết!

Trang 1

NGHIÊN CỨU SƠ BỘ VỀ XÂY DỰNG CHƯƠNG TRÌNH GIẢNG DẠY

Lê Minh Đức *

Trường Đại học Hà Nội

Tóm tắt: Giáo dục về công nghệ phần mềm (CNPM) đóng vai trò quan trọng trong việc

phát triển các kiến thức nghề và học thuật của lĩnh vực CNPM Sách chương trình khung giảng dạy của ACM/IEEE-CS gần đây giúp cung cấp cho các nhà thiết kế chương trình giảng dạy các hướng dẫn cập nhật và cần thiết Tuy nhiên, vì một số lý do về lịch sử mà chương trình giảng dạy CNPM của HANU đã được thiết kế dựa trên phiên bản cũ hơn của chương trình khung Trong bài báo này, tác giả nghiên cứu cách cập nhật chương trình này sử dụng phương pháp phát triển phần mềm hướng miền Tác giả định nghĩa phương pháp cập nhật dựa trên một phương pháp tiếp cận hướng miền, được áp dụng để khái niệm hóa cấu trúc của chương trình giảng dạy CNPM Tác giả áp dụng phương pháp để chỉnh sửa ba môn học nòng cốt của chương trình giảng dạy CNPM HANU

Từ khóa: Giáo dục công nghệ phần mềm, phương pháp công nghệ phần mềm, thiết kế

định hướng miền

Abstract: Software engineering (SE) education plays an important role in advancing

professional and academic SE knowledge The recent ACM/IEEE-CS SE curriculum guidebook provides necessary and up-to-date guidelines for SE curriculum designers However, for historical reasons, the current HANU’s SE curriculum was designed based on an older version

of the guidebook In this paper, we investigate an approach to update this curriculum using the domain-driven software development (DDSD) method We define the update method based on

a model-driven approach to conceptualise the SE curriculum structure We apply the method to revise three core courses of the HANU’s SE curriculum

Keywords: software engineering education, software engineering method, domain-driven

design

A PRELIMINARY STUDY ON IMPLEMENTING SOFTWARE ENGINEERING CURRICULUM USING THE DOMAIN DRIVEN SOFTWARE DEVELOPMENT METHOD

I INTRODUCTION

There is no doubt that software engineering (SE) education has been playing a crucial role in consolidating, disseminating and advancing both the professional and academic knowledge and skills of the SE discipline The first formal attempt to standardise the body of knowledge for the undergraduate SE education was a joint effort

Trang 2

from the world’s largest professional computing organisations: Association for Computing Machinery (ACM) and IEEE Computer Society In 2004, an

ACM/IEEE-CS joint task force released the first version (SE 2004) of the SE curriculum guidebook [1] Ten years later, another joint task force from the two organisations was formed to revise the first guidebook and released an updated SE 2014 version [2] The two guidebooks both recognise SE as a computing discipline and provide a set guiding principles and a body of knowledge for SE curriculum designers

Since its establishment in 2012, the Department of SE1 (Hanoi University, HANU) has been adopting the SE 2004 guidebook to design the SE courses that form part of the Faculty of IT’s undergraduate program Initially, these include 6 core courses [3] that were taught in the first two years of the IT program Since 2018, the curriculum has been undergoing an extensive revision and expansion to include a more complete set of courses The aim is to teach these courses over the entire duration of the IT program However, for historical reason, the foundation of the updated curriculum was still kept to the SE 2004 A question that can be asked, therefore, is whether or not this curriculum is up to date with regards to the SE 2014 guidebook

Our study of the literature concerning SE 2014 guidebook [2], [4], [5] reveals one

of the key issues facing curriculum review is identify new and relevant course topics, which have emerged from state-of-the-art software development methods (e.g service-oriented) It is important to note that the SE 2014 guidebook defines its knowledge elements as abstractions from the methods, techniques and tools that are performed in different phases of the software development process The knowledge body is, however, designed to be independent from any particular software development methods This provides curriculum designers with a flexibility to choose an implementation method suitable for their contexts

Hence, it is possible to argue for the application of an “abstract” and modern software development method to revise SE curriculum The idea is to map the curriculum’s courses to components of the method and then analyse them for new knowledge elements that need to be added Our goal in this paper is to investigate the application of the domain-driven software development (DDSD) [6]–[8] method to revise the HANU’s SE curriculum DDSD has been proven in research and has successfully been applied in teaching and in practical software development DDSD is based on the well-known domain-driven design (DDD) method [9], which has shown to

be compatible with other contemporary software development methods, such as service-oriented software development DDSD tackles two core problems in DDD-based software development: domain modelling and scalable software construction from this model DDSD is practical in its use of high-level programming languages, such as Java and C#

1 http://fit.hanu.edu.vn

Trang 3

Figure 5: Knowledge map of SECF Source: [2]

Our approach is based on conceptual modelling and model evolution [10] We first construct a conceptual model of the SE curriculum and then identify suitable DDSD-specific topics to match this model Our main contribution is therefore a revised

SE curriculum for HANU that incorporates state-of-the-art SE topics, identified based

on the DDSD method The rest of the paper is structured as follows Section 0 reviews the background concepts Section 0 explains the research method Section IV discusses our application of the method to revise the HANU’s SE curriculum Section V presents

an evaluation of the result Section VI concludes the paper and briefly discusses plan for future work

II.BACKGROUND

This section reviews the background concepts concerning DDSD, SE guidebook and HANU’s SE curriculum We describe the SE guidebook using a meta-model and SE curriculum as a model that realises the meta-model in a specific institutional context

A Domain driven software development (DDSD) method

The domain driven software

development (DDSD) method [6]–[8], [11]

has recently been proposed by this paper’s

author in a collaborative research work with

two researchers from the University of

Engineering and Technology (Vietnam

National University, Hanoi) DDSD was

designed based on the classic domain driven

design (DDD) method [9], [12], [13], but

incorporates a number of useful modern SE

features, such as iterative development and

annotation-based domain specific language In essence, DDSD is an iterative

development method, whose process model (shown in Figure 4) consists in a sequence

of three phases: (1) construct the domain model, (2) construct a module-based software from the domain model and (3) review the software More recently, DDSD has been applied in teaching an SE course [14] This is an advanced SE course, named Special Subject 2 (SS2), that is taught in the undergraduate IT program at HANU

B Software engineering 2014 guidebook

In this paper, we call to the SE curriculum

guidebooks [1], [2] software engineering curriculum

frameworks (SECFs) Our main focus is on the current

SECF 2014 version In addition, we will refer to a

particular implementation of SECF in an SE

undergraduate program (such as the one being offerred at

HANU) as SEC model In software design terminology,

SECF is a specification (describing what content SEC

models should have), while SEC model is a particular

Figure 4: The DDSD process model

Trang 4

Figure 6: The SECF model (Adapted from [4])

implementation of this specificiation, describing how the content is realised in terms of

one or more course sequences

The knowledge structure of SECF is organised into three levels: knowledge area (KA), knowledge unit (KU) and knowledge topic (KP) One KA consists of one or more KUs, each of which consists of a set of KPs The knowledge map of SECF [2] (shown

in Figure 5) consists of 10 KAs and their dependencies The figures displayed within brackets are the required numbers of lecture hours of each KA

1) SECF model

Figure 6 shows a model for SECF,

which is extended from the meta-model

proposed in [4] In this paper, we call this

model SECF model The three concepts

on the left hand side of the figure form the

software engineering education

knowledge (SEEK) structure of SECF

The reflexive “precedes” association

shows the dependency between the KAs On the other hand, the three concepts on the right hand side form the structure of an

SE curriculum that implements SECF

The reflexive “precedes” association models course sequences A curriculum is an SEC model that implements (realises) the SEEK An SEC model is composed of one or more course sequences Note from the figure that both KU and Course consist of some Learning Objectives (LOs) LO, which is treated as being synonymous to ‘outcome’ by SECF2, is the basic unit for mapping the courses of a curriculum to its KPs

2) General learning objectives

SECF [2] provides curriculum designers with a generic list of LOs that students of

an SEC model are expected to obtain To ease reference, the following list was reproduced from [2]:

1 Professional knowledge: acquire necessary software engineering knowledge,

skills and professional standards

2 Technical knowledge: apply foundational theories, models, and techniques

concerning problem identification and analysis, software design, development, implementation, verification, and documentation

3 Team work: work effectively as part of a team in a software development

project

4 End user awareness: understand the importance of upholding professional

working standards with stakeholders

2 curriculum guideline 2 (Section 5.2, Chapter 5) of SECF [2]

Trang 5

5 Design solutions in context: design one or more domain-specific solutions using multi-faceted software engineering approaches

6 Perform trade-offs: resolve conflicts in project objectives within project

constraints (cost, time, knowledge and organisational)

7 Continuing professional development: demonstrate the ability to learn new

software engineering knowledge and skills

It is observed that while LOs 1, 3, 4, 6 and 7 are fundamental to engineering curriculums in general, LOs 2 and 5 relate to the core SE technical knowledge areas First, LO 2 summarises the SE’s KAs shown in Figure 5, while LO 5 highlights the essence of SE design (the DES KA) More specifically, the KAs of SECF were identified based on the core activities that are performed as part of a software development process [15] These activities include overall project management and those that are performed at different phases of the development process These phases include requirement definition, design, implementation, testing, operation and maintenance Conceptually, PRF, PRO and QUA concern project management, MAA concerns requirement definition and design, REQ and V& V concern requirement definition, DES and V&V concern design Note that these mappings are coarse-grained, because there are aspects of some KAs (e.g SEC and QUA) which concern all phases Second, LO 5 emphasises two aspects of design that are particularly relevant to the research question of this paper: domain-specific context and the multi-faceted software engineering approaches This last observation raises an interesting prospect of applying the DDSD method to study SE at the undergraduate level

C SEC-HANU: A SEC model for

FIT-HANU

In this paper, the concept of SEC

model is applied to construct an SEC model

of the SE curriculum, which is currently

being taught at the Faculty of IT, HANU

Figure 7 shows the SEC model of this

curriculum In this paper, we call this model

SEC-HANU The arrowed lines in the

model express the course sequences They

are instances of the “precedes” association

on Course in Figure 6 The model includes

a subset of courses, originally designed [3]

based on the SECF2004 model [1], and a

number of newly-developed courses There

are two main reasons why SEC-HANU is a

valid model for SECF2014: (1) the

designated teaching staff consulted

SECF2004 to select and design the Figure 7: The SEC-HANU model

Trang 6

new courses and (2) according to [5], the guiding principles and SEEK elements of SECF2004 are preserved in SECF

The first 9 courses of SEC-HANU are compulsory courses, which together form

the required sequence The remaining three courses are elective

The required courses are:

1 PR1: Programming 1

2 PR2: Programming 2

3 SS1: Special Subject 1

4 WPR: Web programming

5 SE1: Software Engineering 1

6 SS2: Special Subject 2

7 SQA: Software Quality Assurance

8 SE2: Software Engineering 2

9 SPM: Software Project Management

The core sequence of SEC-HANU is a subsequence of the required sequence,

which consists of these 5 courses: PR2, SE1, SQA, SE2, and SPM The names of these core courses are highlighted in Figure 7

III.METHOD

This paper argues that DDSD is suitable for implementing SEC model There are two reasons for this First, DDSD’s incremental and layered approach to software development is fits naturally with the knowledge acquisition process More specifically, the courses relevant to the software development activities that are performed at one development layer can be taught in isolation from those at other layers Further, the courses can be taught incrementally, allowing the students to gradually acquire the knowledge Second, SECF [2] is designed to be software-process-model-independent, which allows different SDLC process models to be used to realise it

The overall goal of our research is to investigate the possibility of implementing

an SEC model using DDSD In this preliminary research, we examine how to apply DDSD to update the current SEC-HANU model More specifically, we focus on updating the following three courses of the core sequence (presented in Figure 7): PR2, SE1 and SE2 The first two courses are taught by this paper’s author The third course is taught by Mr Nguyen, Dinh Tran Long, a teaching staff in the SE department We will investigate the remaining courses of SEC-HANU in future work

Our method is based on the model-driven approach to conceptualise SECF (see Section B) and is inspired by model evolution theory [10] We update the aforementioned courses as follows:

1 data modelling: to construct the curriculum structure model (as explained in

Trang 7

Section 0)

2 model match and merge: identify DDSD-specific topics that match the

SEC-HANU model and add them to this model

In step 2, the suitable DDSD topics are identified based on this paper author’s experiences in teaching and in DDSD research and curriculum design Care is taken in order to not exceed the total number of credit hours of each course The current HANU teaching guideline states that these can be measured from the lecture hours As of this writing, the standard lecture hours of the three selected courses are 30 Each course has

between 2 to 4 hours at the end (called the revision time) that are reserved for reviewing

the course content The objective is then to use a portion of these hours for the additional DDSD-specific topics Each course is presented with two tables: one table listing names of the existing course topics and the newly proposed DDSD-specific topics (if any), the other table listing descriptions of these DDSD topics The first table has a row that shows the total lecture hours of both the existing and the new topics

This section describes the result of applying the method discussed in the previous section to revise the three core courses of SEC-HANU Each course is presented in a separate subsection

A Course module PR2

Since the PR2 course already uses a simplified version of the DDD specification approach [7] of DDSD, a necessary update to this course only involves making explicit the connection to DDSD Table 1 lists the detailed update to the existing PR2 course topics Table 2 lists the descriptions of the DDD-specific topics presented in Table 1 In Table 1, column “As-is” lists the existing course topic names, while column “DDSD-Specific” list the update The total row shows that we can incorporate the new topics into the course without affecting its standard lecture hours Specifically, the number of additional hours is 1.05, which is well within the revision time range of the course

Table 1: DDSD-specific update to the PR2 course

No

1

Introduction:

- Overview of programming languages

- Overview of programming languages:

(+) Object-based programming language [9]

(0.15)

2

The Java programming language:

- Syntax and semantics

- Java syntax: BNF-typed grammar rule,

identifier, method, block, statement,

-

3

Trang 8

expression

3

Operational principles of compiler:

- Compiler and virtual machine

- Operational principles of compiler and

virtual machine

-

2

4

Verifiable program:

- Concept of verifiable program

- Design specification of a verifiable,

procedural program

- Coding a verifiable program

- Design specification of a verifiable, procedural program:

(+) DDD and procedural program design (0.1)

5

Object oriented program:

- Concepts of and motivation for object

oriented program

- Comparison between OOP and

procedural program

- Benefits of OOP

- Concepts of and motivation for object oriented program:

(+) OOP and DDD [9] (0.15)

6

Design and implementation of class:

- Basic terminology

- Design specification method

- Specifying class, field, method

- Implementing class, field, method

- Design specification method (+) DDD specification of OOP [7] (0.15)

- Specifying class, field, method

(+) DDD specification of class, field, method [7] (0.2)

7

Class design issues:

- Basic issues

- Private constructor

- Derived attribute

- Cloning

- Nested class

- Recursive class

- Basic generic class

(+) Applying DDD specification to address the design issues (0.15)

8

Object oriented design and

implementation of abstract data types:

- Overview of ADT

- Design method

- Tree

- List

(+) Applying DDD specification to design the ADT (0.15)

9

Object oriented design automation:

- What is and why OOP design

automation?

- Design automation method: concepts,

technique and tool

- Method demonstration

-

2

Table 2: Descriptions of the DDD-specific topics for PR2

1 (+) Object-based programming language

[9]

- highlight the features of OOPL which make them suitable for solving real-world

Trang 9

problems (synthesised from Evans’s discussion on the suitable programming languages for DDD [9])

4

(+) DDD and procedural program design - demonstrate the benefit of

domain-specific design domain-specification of procedural program (e.g by using OpenJML to automatically verify a procedure’s code its design specification)

5

OOPL and DDD and why it is a better candidate for DDD than procedural program

6

(+) DDD specification of OOP [7]

(+) DDD specification of class, field,

method [7]

- make explicit the connection between DDD and the OOP design specification currently being taught

7

(+) Applying DDD specification to address

the design issues

- explicitly use the design specification to realise definition of the design rules for resolving the issues

8

(+) Applying DDD specification to design

the ADT

- explicitly use the design specification to design the ADTs

B Course module SE1

As shown in Table 3, the update does not violate the standard lecture hours of the SE1 course The number of new lecture hours of the DDSD-specific topics is 1.85, which is less than half of the 4-hour revision time of the course

Table 3: DDSD-specific update to the SE1 course

No

1

Advanced design:

- Type hierarchy

- Exception

- Iteration abstraction

- Type hierarchy:

(+) Applying DDD specification to design type hierarchy (0.25)

- Iteration abstraction:

(+) Applying DDD specification to design iteration abstraction (0.15)

2

Testing and debugging:

- Testing concept

- Testing procedural program

- Black and white box testing

- Defensive programming

- Debugging

- Black box testing:

(+) Applying DDD specification to design the test data (0.15)

3

Software and requirement

engineering:

- Introduction to software

engineering

- Requirement engineering

- Introduction to software engineering:

(+) Domain-driven software engineering [9] (0.15)

4

Requirement modelling and

specification:

- UML class and use case

diagrams

(+) Domain modelling concepts and

Trang 10

- Requirement specification

5

Object oriented design:

- Design overview

- Design principles and process

- Design notebook

- Case study: KEngine

- Design overview

- Design principles and process:

(+) DDD principles [9] (0.5)

6

Implementation:

- Design evaluation

- Implementation strategies

- Case study: KEngine

- Implementation strategies:

(+) Domain driven implementation strategies (0.15)

7

Software testing:

- Software testing methods

- Development testing

- Test program design

- Case study: KEngine

- Development testing:

(+) Domain driven testing strategy (0.25)

Table 4: Descriptions of the DDD-specific topics for SE1

1

(+) Applying DDD specification to design

type hierarchy

(+) Applying DDD specification to design

iteration abstraction

- make explicit that the existing design specification is DDD

2 (+) Applying DDD specification to design

the test data

- explain how BBT rules can be applied using the existing design specification (DomainConstraint, DOpt)

- demonstrate the benefit of the design specification by showing how the test data can automatically be generated from it

3 (+) Domain-driven software engineering [9] - formally introduce DDD as a software

engineering method

4 (+) Domain modelling concepts and

technique [7], [9]

- relate requirement modelling and specification to domain modelling in DDD

for design

6 (+) Domain driven implementation

strategies

- explain how the 3 implementation strategies can be adapted to DDD

is adapted to DDD

C Course module SE2

As shown in Table 5, the update does not violate the standard lecture hours of the SE2 course The number of new lecture hours of the DDSD-specific topics is expected

to take up the 4-hour revision time of the course Although this is acceptable, it would

be recommended to adjust the existing course topics (e.g by increasing the overlapping contents with the DDSD topics), so that the additional lecture hour time would be

Ngày đăng: 27/11/2021, 09:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] D. M. Le, “Nghiên cứu và Xây dựng Khung chương trình đào tạo Nhập môn Kỹ sư phần mềm,” in Proc. Annual Faculty Research Conf., Hanoi University, 2013 Sách, tạp chí
Tiêu đề: Nghiên cứu và Xây dựng Khung chương trình đào tạo Nhập môn Kỹ sư phần mềm,” in "Proc. Annual Faculty Research Conf
[4] P. Bunyakiati and C. Phipathananunth, “Checking Software Engineering Curricula with Respect to SE2014 Curriculum Guidelines,” in Proc. 2017 Int. Conf. on Management Engineering, Software Engineering and Service Sciences, New York, NY, USA, 2017, pp. 44–48, doi: 10.1145/3034950.3034982 Sách, tạp chí
Tiêu đề: Checking Software Engineering Curricula with Respect to SE2014 Curriculum Guidelines,” in "Proc. 2017 Int. Conf. on Management Engineering, Software Engineering and Service Sciences
[5] D. Budgen, “Applying the SE2014 Curriculum Model,” in Proc. 2015 IEEE 28th Conf. on Software Engineering Education and Training, USA, 2015, pp. 17–20, doi: 10.1109/CSEET.2015.12 Sách, tạp chí
Tiêu đề: Applying the SE2014 Curriculum Model,” in "Proc. 2015 IEEE 28th Conf. on Software Engineering Education and Training
[6] D. M. Le, D.-H. Dang, and V.-H. Nguyen, “Generative Software Module Development for Domain-Driven Design with Annotation-Based Domain Specific Language,” Inf. Softw. Technol., vol. 120, pp. 106–239, Apr. 2020, doi:10.1016/j.infsof.2019.106239 Sách, tạp chí
Tiêu đề: Generative Software Module Development for Domain-Driven Design with Annotation-Based Domain Specific Language,” "Inf. Softw. Technol
[7] D. M. Le, D.-H. Dang, and V.-H. Nguyen, “On Domain Driven Design Using Annotation-Based Domain Specific Language,” J. Comput. Lang. Syst. Struct., vol. 54, pp. 199–235, 2018, doi: https://doi.org/10.1016/j.cl.2018.05.001 Sách, tạp chí
Tiêu đề: On Domain Driven Design Using Annotation-Based Domain Specific Language,” "J. Comput. Lang. Syst. Struct
[8] D. M. Le, “A Unified View Approach to Software Development Automation,” Vietnam National University, Hanoi University of Engineering and Technology, Hanoi, 2019 Sách, tạp chí
Tiêu đề: A Unified View Approach to Software Development Automation
[9] E. Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional, 2004 Sách, tạp chí
Tiêu đề: Domain-Driven Design: Tackling Complexity in the Heart of Software
[10] P. A. Bernstein and S. Melnik, “Model Management 2.0: Manipulating Richer Mappings,” in Proc. 2007 ACM SIGMOD Intl. Conf. on Management of data, Beijing, China, Jun. 2007, pp. 1–12, doi: 10.1145/1247480.1247482 Sách, tạp chí
Tiêu đề: Model Management 2.0: Manipulating Richer Mappings,” in "Proc. 2007 ACM SIGMOD Intl. Conf. on Management of data
[11] D. M. Le, D.-H. Dang, and H. T. Vu, “jDomainApp: A Module-Based Domain-Driven Software Framework,” in Proc. 10th Int. Symp. on Information and Communication Technology (SOICT), 2019, doi:https://doi.org/10.1145/3368926.3369657 Sách, tạp chí
Tiêu đề: jDomainApp: A Module-Based Domain-Driven Software Framework,” in "Proc. 10th Int. Symp. on Information and Communication Technology (SOICT)
[12] S. Millett and N. Tune, Patterns, Principles, and Practices of Domain-Driven Design. John Wiley & Sons, 2015 Sách, tạp chí
Tiêu đề: Patterns, Principles, and Practices of Domain-Driven Design
[13] V. Vernon, Implementing Domain-Driven Design, 1st ed. Upper Saddle River, NJ: Addison-Wesley Professional, 2013 Sách, tạp chí
Tiêu đề: Implementing Domain-Driven Design
[14] D. M. Le, Object-Oriented Domain-Driven Software Development with DomainAppTool: A Software Engineering CourseBook. Hanoi: Hanoi University, 2019 Sách, tạp chí
Tiêu đề: Object-Oriented Domain-Driven Software Development with DomainAppTool: A Software Engineering CourseBook
[16] D. M. Le, D.-H. Dang, and V.-H. Nguyen, “Domain-Driven Design Patterns: A Metadata-Based Approach,” in Proc. 12th Int. Conf. on Computing and Communication Technologies (RIVF), Nov. 2016, pp. 247–252, doi Sách, tạp chí
Tiêu đề: Domain-Driven Design Patterns: A Metadata-Based Approach,” in "Proc. 12th Int. Conf. on Computing and Communication Technologies (RIVF)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w