Nghiên Cứu và Ứng Dụng Kiến Trúc Hướng Mô Hình Trong Phát Triển Phần Mềm

Tài liệu nghiên cứu Studying and applying model driven architecture in software development, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

2024

86
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

ACKNOWLEDGEMENTS

LETTER OF DECLARATION

LIST OF ABBREVIATION

LIST OF TABLE

LIST OF FIGURES

1. CHƯƠNG 1: RESEARCH BACKGROUND

1.1. Objectives of the research

1.2. Scope and limitations of the research

2. CHƯƠNG 2: LITERATURE REVIEW

2.1. Application model

2.2. Model-Driven Architecture (MDA)

2.3. Domain-Driven Design (DDD)

2.4. Event-Driven Architecture (EDA)

2.5. Microservices

2.6. Focus and Abstraction Level

2.7. Development Process

2.8. Scalability and Maintenance

2.9. Flexibility and Adaptability

2.10. Comparison MDA with other software development methodologies

2.11. Reasons to choose MDA over other models

2.12. Overview of MDA

3. CHƯƠNG 3: MODEL DRIVEN ARCHITECTURE

3.1. Models in MDA

3.2. The model is independent of the CIM calculation operation

3.3. Model independent of technology platform (PIM)

3.4. The Platform Specific Model (PSM)

3.5. Paradigm shift in MDA

3.6. Object-oriented software analysis and design methods applying MDA

3.7. Determine the content of the CIM model

3.8. Convert CIM model to PIM

3.9. Convert CIM components into PIM analysis elements

3.10. Convert analysis elements to design elements in the PIM model

3.11. Convert PIM model to PSM

3.12. Select the technology platform to implement the system

3.13. Rules for converting design elements in PIM to PSM

3.14. Detailed design of use cases

3.15. Detailed class design

3.16. Design data models

4. CHƯƠNG 4: DEVELOP APPLICATION

4.1. Overview of company

4.2. Learn about the company's system operations

4.3. Raw materials accounting process

4.4. Warehouse accounting process

4.5. Salary accounting process

4.6. Introducing an overview of the accounting management system in a garment company

4.7. Detailed design analysis of a Warehouse accounting management use case

4.8. Detailed content of steps to analyze and design the use case "Warehouse accounting management"

4.9. Business specification for use case of Warehouse Accounting Management

4.10. Determine the content of the CIM model

4.11. Identify key abstractions

4.12. Represents the interaction between actors and use cases

4.13. Convert CIM model to PIM model

4.14. Convert PIM model to PSM model

4.15. Defines the UI subsystem

4.16. Definition of the BUS business subsystem

4.17. Define the DAO data retrieval subsystem

4.18. Represents the interactions between the design subsystems of the use case

4.19. System Interface Design

4.20. Scalability and long-term maintenance

4.21. Summary of chapter

ABSTRACT

Tóm tắt về nghiên cứu và ứng dụng kiến trúc hướng mô hình trong phát triển phần mềm:

Nghiên cứu này tập trung vào việc khám phá và ứng dụng kiến trúc hướng mô hình (Model-Driven Architecture - MDA) trong quy trình phát triển phần mềm. MDA hứa hẹn nâng cao năng suất, giảm chi phí và tăng tính linh hoạt bằng cách tách biệt các mô hình nghiệp vụ khỏi các chi tiết triển khai kỹ thuật. Nghiên cứu này có thể cung cấp cho bạn cái nhìn sâu sắc về cách tiếp cận MDA, các công cụ hỗ trợ và các trường hợp ứng dụng thực tế.

Nếu bạn quan tâm đến các phương pháp phát triển phần mềm linh hoạt và cách chúng được áp dụng trong các dự án thực tế, đặc biệt là trên nền tảng di động, bạn có thể tham khảo thêm luận văn "Luận văn phương pháp phát triển phần mềm nhanh agile và phát triển ứng dụng trên smartphone". Tài liệu này sẽ giúp bạn hiểu rõ hơn về cách các phương pháp Agile có thể được kết hợp với kiến trúc hướng mô hình để tạo ra các giải pháp phần mềm hiệu quả và đáp ứng nhanh chóng với các thay đổi của yêu cầu.

Trích đoạn nội dung tài liệu

VIETNAM NATIONAL UNIVERSITY, HANOI INTERNATIONAL SCHOOL GRADUATION PROJECT PROJECT NAME: STUDYING AND APPLYING MODEL-DRIVEN ARCHITECTURE IN SOFTWARE DEVELOPMENT Student’s name: Nguyen Thu Hang Hanoi - Year 2024 VIETNAM NATIONAL UNIVERSITY, HANOI INTERNATIONAL SCHOOL GRADUATION PROJECT PROJECT NAME: STUDYING AND APPLYING MODEL-DRIVEN ARCHITECTURE IN SOFTWARE DEVELOPMENT SUPERVISOR: Dr. NGUYỄN ĐĂNG KHOA STUDENT: NGUYỄN THU HẰNG STUDENT ID: 20070710 COHORT: MIS2020 MAJOR: Management Information System Hanoi - Year 2024 ACKNOWLEDGEMENTS During my time studying at the International School, I would like to thank the teachers at the school in general and the teachers of the Faculty of Applied Sciences in particular. Thanks to the dedicated guidance of my teachers, I have enough ability and knowledge to write this graduation thesis as well as the experience to go out to work. I want to sincerely thank my supervisor, Dr. Nguyen Dang Khoa, for giving me the chance to complete my project. He gave me the logistical help I needed to effectively complete my research with his ongoing supervision, advising, and suggestions. This thesis would not have been possible without the continuous support of Mr. Nguyen Dang Khoa's mentor, who always believed in me and gave me many constructive suggestions. Thank you for your patience and trust. Finally, I would like to thank my parents for their support and encouragement over the course of the study. Hanoi, 11th June 2024 Student Nguyen Thu Hang LETTER OF DECLARATION I hereby certify that my graduation project, "Studying and applying model- driven architecture in software development for garment company," is my original work and has not been previously published. This project was completed under the supervision of Dr. Nguyen Dang Khoa. I affirm that I used my own knowledge and skills to develop this website, maintaining a strong commitment to ethical research practices. Every aspect and functionality on the website has been built upon my personal research and analysis. All information, images, and product descriptions have been generated authentically and reliably. The results in this Graduation Project are truthful, and are not copied from any source or in any form. References to sources (if any) have been cited and reference sources recorded according to regulations. Hanoi, 11th June, 2024 Student Nguyen Thu Hang LIST OF ABBREVIATION Abbreviation Full form MDA Model-Driven Architecture OMG Object Management Group CIM Computational Independent Model PIM Platform Independent Model PSM Platform Specific Model UML Unified Modeling Language VOPC View Of Participating Classes UI User Interface BUS Business System DAO Data Access Object OODBM Object-Oriented Database Management System LIST OF TABLE Table 2. Comparison MDA with other software development methodologies …. Accounting operations for garment companies…………………….26 LIST OF FIGURES Figure 1. Architecture of model-driven architecture [2] . Computational Independent Model Concepts [3] . Overview diagram of design subsystem packages . Image of Phuong Dong Garment JSC [6] . Identify the actors . Define a package of use cases . Use case diagram for warehouse accounting process . Use case diagram for product cost management . Use case diagram for salary accounting process . Use case diagram for system administration functions . Identify key abstractions . Identify relationships between key abstractions . Identify relationships between key abstractions . Sequence diagram showing the relationship between analysis layers in the "create inventory record" function . Sequence diagram showing the relationship between analysis classes in the function "Delete an inventory record" . Activity diagram showing branching event flow "Do not select employees to conduct inventory". Activity diagram showing branching event flow " Select the same Material " . Activity diagram showing branching event flow “Leave the fields blank” . Sequence diagram showing the relationship between analysis layers in the "create new report" function . Sequence diagram showing the relationship between analysis layers in the "edit report" function . Demonstrate the interaction between the design subsystems of the use case “Create inventory and perform inventory". Demonstrate the interaction between the design subsystems of the “update inventory report” use case . Overview diagram of the design subsystem packages involved in the use case . ERD of the database . Account login interface. "Employee Management" interface . Interface Function to create employee information . Interface Function to edit employee information . Employee search function interface . Material list interface . Functional interface for adding new materials . Material search function interface . Interface Inventory command creation function for admin . Fixed asset inventory report interface . Test case for login and logout functionality . Test case for inventory order creation function . Test case for the function of creating a new inventory . Test case for inventory record search function . Test case for create employee function . Test case for employee search function . Test case for employee edition function . Test case for employee delete function . Test case for material creation function . Test case for material search function . Test case for material edition function . Test case for material delete function . 70 TABLE OF CONTENTS ACKNOWLEDGEMENTS . 3 LETTER OF DECLARATION . 4 LIST OF ABBREVIATION . 5 LIST OF TABLE . 6 LIST OF FIGURES . Objectives of the research . Scope and limitations of the research . 3 CHAPTER 2: LITERATURE REVIEW . Overview of MDA . Principles of visual modeling . 10 CHAPTER 3: MODEL DRIVEN ARCHITECTURE . Models in MDA . The model is independent of the CIM calculation operation . Model independent of technology platform (PIM) . The Platform Specific Model (PSM) . Paradigm shift in MDA . Object-oriented software analysis and design methods applying MDA . Determine the content of the CIM model. Convert CIM model to PIM . Convert CIM components into PIM analysis elements . Convert analysis elements to design elements in the PIM model . Convert PIM model to PSM . Select the technology platform to implement the system . Rules for converting design elements in PIM to PSM . Detailed design of use cases . Detailed class design . Design data models . 24 CHAPTER 4: DEVELOP APPLICATION . Overview of company . Learn about the company's system operations . Raw materials accounting process . Warehouse accounting process . Salary accounting process . Introducing an overview of the accounting management system in a garment company . Detailed design analysis of a Warehouse accounting management use case . Detailed content of steps to analyze and design the use case "Warehouse accounting management". Business specification for use case of Warehouse Accounting Management 38 4. Determine the content of the CIM model . Identify key abstractions . Represents the interaction between actors and use cases. Convert CIM model to PIM model . Convert PIM model to PSM model . Defines the UI subsystem. Definition of the BUS business subsystem . Define the DAO data retrieval subsystem . Represents the interactions between the design subsystems of the use case . System Interface Design . Scalability and long-term maintenance . Summary of chapter . 74 ABSTRACT The purpose of the project is to research model-oriented architecture, model- oriented architectural approaches in software development technology and apply research theory to the development of a real system. Currently, software has been playing an extremely important role in guiding the development of all businesses and contributing to increasing competitive value in the community. However, the journey of developing such software is fraught with complexity. In that situation, the choice of MDA (Model-Driven Architecture) is being focused on by many organizations as an approach to design and deploy applications more simply and effectively. The model-driven architecture (MDA) approach is a method of software design and development first introduced by OMG (Object Management Group) in 2001. It is defined as the provision of guides the structure of the software specification, converting a more abstract model into a more concrete model. The underlying motivation is that the abstract model is used as a basis for many transformations into various concrete models. The MDA approach includes three stages: Computation Independent Model (CIM), Platform Independent Model (PIM), and Platform Specific Model (PSM) 1 CHAPTER 1. Research background In the current era characterized by rapid technological advancements and a multi-dimensional economy, the role of software is increasingly vital in steering the growth and competitive edge of businesses. Software acts as a backbone, facilitating a wide array of business operations, enhancing efficiency, and driving innovation. This essentiality extends beyond the private sector; for governments, software development is pivotal in laying the groundwork for national economic progress and improving the overall quality of life for citizens. The pervasive influence of software in modern business practices cannot be overstated. It not only supports everyday operations but also enables strategic decision-making and long-term planning. As businesses strive to keep pace with market demands and technological trends, robust and reliable software solutions become indispensable. However, the journey of developing such software is fraught with complexity. It demands substantial investment in terms of time, money, and human resources, while also bearing the inherent risk of project failure. Given these challenges, it becomes imperative to adopt effective methodologies that can streamline the development process and mitigate risks. Model-Driven Architecture (MDA) emerges as a promising approach in this context. MDA, introduced by the Object Management Group (OMG) in 2001, aims to simplify and enhance the software development process through the use of high- level models. By focusing on abstract representations of the system, MDA facilitates the transition from conceptual designs to executable applications, thereby addressing the challenges associated with traditional software development. Objectives of the research The main objectives of this research are threefold:  Identify Patterns in Model-Driven Architecture: To explore the various patterns inherent in MDA and understand their roles and applications in software development.  Study Object-Oriented Analysis and Design Methods: To delve into the methodologies of object-oriented analysis and design as applied within the framework of model-driven architecture. 2  Apply These Methods to Real Systems: To practically implement the learned methods and theories in the development of a real-world system, specifically in the context of a garment company. This research aims to bridge the gap between theoretical models and practical applications, demonstrating how MDA can be leveraged to create efficient, reliable, and scalable software solutions. Scope and limitations of the research The scope of this research is centered around the Model-Driven Architecture (MDA) approach, a sophisticated method for application software development established by the Object Management Group (OMG). MDA emphasizes the critical role of modeling in software development, advocating for a structured approach that enhances portability, cross-functionality, and reusability. These goals are achieved through the separation of concerns and the use of distinct models at various stages of development. Key components of MDA include:  Computation Independent Model (CIM): This model captures the system's requirements and functionalities without delving into computational details.  Platform Independent Model (PIM): This model represents the system's architecture, abstracting away platform-specific details to ensure flexibility and adaptability.  Platform Specific Model (PSM): This model incorporates platform-specific information, providing a concrete blueprint for implementation on a specific technology stack. The research encompasses a comprehensive study of these models, their transformations, and the patterns associated with MDA. It aims to provide a detailed understanding of how MDA can be practically applied to develop a real system for a garment company. Additionally, the research may encounter constraints related to the availability of resources and the complexity of accurately modeling all aspects of a real- world system. By addressing these objectives and limitations, this research seeks to contribute to the broader field of software development, offering insights and practical solutions that can be adopted by practitioners and organizations aiming to enhance their software development processes through Model-Driven Architecture. 3 CHAPTER 2: LITERATURE REVIEW 2. Application model An application architecture serves as a blueprint outlining the organization of a software application and its interconnections to fulfill either business or user needs. It plays a crucial role in guaranteeing scalability and reliability while aiding enterprises in identifying any functional deficiencies. Generally, an application architecture outlines the manner in which applications engage with elements like middleware, databases, and other applications.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ