Luận văn thạc sĩ vnu uet vận dụng công nghệ hướng đối tượng sử dụng mẫu thiết kế để phát triển ứng dụng tổ chức và quản lý hoạt động giao công việc luận văn ths công nghệ thông tin 1 01 10

Luận văn thạc sĩ kỹ thuật nghiên cứu vnu uet vận dụng công nghệ hướng đối tượng sử dụng mẫu thiết kế để phát triển ứng dụng tổ chức và, khảo sát thực trạng, phân tích nguyên nhân,

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn
146
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH SỬ DỤNG LẠI

1.1. Giới thiệu chung

1.2. Tổng quan về các mẫu thiết kế (Design Pattern)

1.2.1. Mẫu thiết kế là gì ?

1.2.2. Các định nghĩa về mẫu thiết kế

1.2.3. Các thành phần của mẫu thiết kế

1.2.4. Danh mục các mẫu thiết kế và phân loại

1.2.5. Sơ đồ mối quan hệ giữa các mẫu thiết kế

1.2.6. Giới thiệu một số mẫu thiết kế điển hình về hành vi và trình diễn

2. CHƯƠNG 2: VẬN DỤNG MẪU THIẾT KẾ HÀNH VI TIẾN HÀNH PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG “TỔ CHỨC VÀ QUẢN LÝ HOẠT ĐỘNG GIAO CÔNG VIỆC”

2.1. Nắm bắt yêu cầu bài toán

2.2. Bài toán đặt ra

2.3. Phạm vi bài toán

2.4. Mô tả nghiệp vụ quản lý

2.5. Xác định các thông tin chung về quản lý công việc

2.6. Công tác quản lý hoạt động giao công việc

2.7. Sơ đồ tiến trình quản lý hoạt động giao công việc

2.8. Các yêu cầu xây dựng hệ thống quản lý hoạt động giao công việc

2.9. Các chức năng hệ thống

2.10. Từ điển dữ liệu và mô hình lĩnh vực nghiệp vụ

2.11. Các khái niệm dự tuyển cho nghiệp vụ quản lý giao việc

2.12. Mô hình lĩnh vực nghiệp vụ

2.13. Đặc tả hệ thống

2.13.1. Các tác nhân (Actor) trong hệ thống

2.13.2. Các ca sử dụng (Usecase) của hệ thống

2.13.2.1. Ca sử dụng Đăng nhập hệ thống
2.13.2.2. Ca sử dụng Tạo công việc mới
2.13.2.3. Ca sử dụng Sửa thông tin hồ sơ công việc
2.13.2.4. Ca sử dụng Xoá hồ sơ công việc
2.13.2.5. Ca sử dụng Phân giải quyết công việc
2.13.2.6. Ca sử dụng Chỉ đạo giải quyết công việc
2.13.2.7. Ca sử dụng sửa Chỉ đạo giải quyết công việc
2.13.2.8. Ca sử dụng Giải quyết công việc
2.13.2.9. Ca sử dụng Báo cáo thống kê
2.13.2.10. Ca sử dụng Xem và tra cứu công việc
2.13.2.11. Ca sử dụng Cập nhật danh mục từ điển
2.13.2.12. Ca sử dụng Cập nhật người dùng
2.13.2.13. Ca sử dụng Cập nhật nhóm quyền
2.13.2.14. Ca sử dụng Phân quyền truy nhập

2.14. Mô hình ca sử dụng tổng thể

2.15. Gói ca sử dụng

2.15.1. Gói ca sử dụng Đăng nhập hệ thống

2.15.2. Gói ca sử dụng Quản lý giải quyết công việc

2.15.3. Gói ca sử dụng Quản trị tiện ích

2.15.4. Gói ca sử dụng Báo cáo thống kê

2.15.5. Gói ca sử dụng Quản trị phân quyền người dùng

2.16. Mô tả chi tiết các ca sử dụng

2.16.1. Gói ca sử dụng Đăng nhập hệ thống

2.16.2. Gói ca sử dụng Quản lý giải quyết công việc

2.16.3. Gói ca sử dụng Quản trị tiện ích

2.16.4. Gói ca sử dụng Báo cáo thống kê

2.16.5. Gói ca sử dụng Quản trị phân quyền người dùng

2.17. Phân tích hệ thống

2.17.1. Phân tích các ca sử dụng

2.17.1.1. Gói ca sử dụng Đăng nhập hệ thống
2.17.1.2. Gói ca sử dụng Quản lý giải quyết công việc
2.17.1.3. Gói ca sử dụng Quản trị tiện ích
2.17.1.4. Gói ca sử dụng Báo cáo thống kê
2.17.1.5. Gói ca sử dụng Quản trị phân quyền người dùng

2.17.2. Phân tích các lớp

2.17.2.1. Lớp điều khiển
2.17.2.2. Lớp thực thể

2.18. Thiết kế hệ thống

2.18.1. Kiến trúc vật lý của ứng dụng

2.18.2. Xác định các gói thiết kế

2.18.3. Thiết kế cho từng ca sử dụng

2.18.3.1. Gói ca sử dụng Đăng nhập hệ thống
2.18.3.2. Gói ca sử dụng Quản lý giải quyết công việc
2.18.3.3. Gói ca sử dụng Quản trị tiện ích
2.18.3.4. Gói ca sử dụng phục vụ tra cứu, báo cáo, thống kê
2.18.3.5. Gói ca sử dụng Quản trị phân quyền người dùng

2.18.4. Thiết kế một số lớp

2.18.4.1. Lớp giao diện
2.18.4.2. Lớp điều khiển
2.18.4.3. Lớp thực thể

3. CHƯƠNG 3: CÀI ĐẶT VÀ TRIỂN KHAI HỆ THỐNG

3.1. Các yêu cầu cài đặt triển khai hệ thống

3.2. Giới thiệu chương trình

3.3. Các mục tiêu mà hệ thống đạt được

3.4. Cấu trúc chương trình

3.5. Các đối tượng sử dụng chương trình

3.6. Giao diện một số chức năng chính

3.7. Khả năng triển khai áp dụng

3.8. Các kết quả đạt được

3.9. Những vấn đề tồn tại và hướng mở rộng và phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về phát triển ứng dụng quản lý giao công việc

Phát triển ứng dụng quản lý giao công việc bằng công nghệ hướng đối tượng đang trở thành xu hướng quan trọng trong các tổ chức hiện đại. Việc áp dụng công nghệ này không chỉ giúp tối ưu hóa quy trình làm việc mà còn nâng cao hiệu quả quản lý. Ứng dụng này cho phép các nhà quản lý theo dõi và điều phối công việc một cách dễ dàng và hiệu quả hơn.

1.1. Lợi ích của việc phát triển ứng dụng quản lý giao công việc

Việc phát triển ứng dụng quản lý giao công việc mang lại nhiều lợi ích như tiết kiệm thời gian, giảm thiểu sai sót và nâng cao khả năng theo dõi tiến độ công việc. Các ứng dụng này thường tích hợp nhiều tính năng như phân công công việc, theo dõi tiến độ và báo cáo thống kê.

1.2. Công nghệ hướng đối tượng trong phát triển ứng dụng

Công nghệ hướng đối tượng cho phép xây dựng các mô hình phần mềm linh hoạt và dễ bảo trì. Việc sử dụng các mẫu thiết kế giúp tối ưu hóa quy trình phát triển và nâng cao khả năng tái sử dụng mã nguồn.

II. Vấn đề và thách thức trong quản lý giao công việc

Mặc dù có nhiều lợi ích, việc quản lý giao công việc vẫn gặp phải nhiều thách thức. Các tổ chức thường phải đối mặt với vấn đề như thiếu thông tin, khó khăn trong việc theo dõi tiến độ và sự không đồng bộ giữa các bộ phận.

2.1. Thiếu thông tin và sự minh bạch

Nhiều tổ chức vẫn sử dụng phương pháp quản lý truyền thống, dẫn đến việc thiếu thông tin và sự minh bạch trong quy trình làm việc. Điều này gây khó khăn cho việc ra quyết định và theo dõi tiến độ công việc.

2.2. Khó khăn trong việc phân công và theo dõi công việc

Việc phân công công việc không rõ ràng và thiếu sự theo dõi thường dẫn đến tình trạng chậm tiến độ và không đạt được mục tiêu đề ra. Các ứng dụng quản lý giao công việc cần giải quyết vấn đề này một cách hiệu quả.

III. Phương pháp phát triển ứng dụng quản lý giao công việc

Để phát triển ứng dụng quản lý giao công việc hiệu quả, cần áp dụng các phương pháp và công nghệ hiện đại. Việc sử dụng công nghệ hướng đối tượng và các mẫu thiết kế là rất quan trọng.

3.1. Áp dụng công nghệ hướng đối tượng

Công nghệ hướng đối tượng giúp xây dựng các mô hình phần mềm dễ bảo trì và mở rộng. Việc áp dụng các nguyên tắc như kế thừa, đóng gói và đa hình giúp tối ưu hóa quy trình phát triển.

3.2. Sử dụng các mẫu thiết kế trong phát triển

Các mẫu thiết kế như Singleton, Observer và Factory Method giúp giải quyết các vấn đề phổ biến trong phát triển phần mềm. Việc áp dụng chúng vào ứng dụng quản lý giao công việc sẽ nâng cao tính hiệu quả và khả năng tái sử dụng mã nguồn.

IV. Ứng dụng thực tiễn và kết quả nghiên cứu

Nghiên cứu và phát triển ứng dụng quản lý giao công việc đã cho thấy nhiều kết quả tích cực. Các tổ chức đã áp dụng công nghệ này và nhận thấy sự cải thiện rõ rệt trong quy trình làm việc.

4.1. Kết quả từ các tổ chức đã áp dụng

Nhiều tổ chức đã áp dụng ứng dụng quản lý giao công việc và ghi nhận sự cải thiện trong hiệu suất làm việc. Việc theo dõi tiến độ và phân công công việc trở nên dễ dàng hơn.

4.2. Các nghiên cứu điển hình thành công

Một số nghiên cứu điển hình cho thấy việc áp dụng công nghệ hướng đối tượng trong phát triển ứng dụng quản lý giao công việc đã mang lại hiệu quả cao, giúp các tổ chức tiết kiệm thời gian và chi phí.

V. Kết luận và tương lai của ứng dụng quản lý giao công việc

Tương lai của ứng dụng quản lý giao công việc rất hứa hẹn với sự phát triển không ngừng của công nghệ. Việc áp dụng công nghệ mới sẽ tiếp tục nâng cao hiệu quả quản lý và đáp ứng nhu cầu ngày càng cao của các tổ chức.

5.1. Xu hướng phát triển công nghệ trong quản lý giao công việc

Công nghệ sẽ tiếp tục phát triển, mang lại nhiều giải pháp mới cho việc quản lý giao công việc. Các ứng dụng sẽ ngày càng thông minh và tự động hóa hơn.

5.2. Tầm quan trọng của việc cập nhật công nghệ mới

Việc cập nhật công nghệ mới là rất quan trọng để duy trì tính cạnh tranh và hiệu quả trong quản lý giao công việc. Các tổ chức cần thường xuyên xem xét và áp dụng các công nghệ tiên tiến.

22/07/2025
Luận văn thạc sĩ vnu uet vận dụng công nghệ hướng đối tượng sử dụng mẫu thiết kế để phát triển ứng dụng tổ chức và quản lý hoạt động giao công việc luận văn ths công nghệ thông tin 1 01 10

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

CHƯƠNG 1 TỔNG QUAN VỀ MÔ HÌNH SỬ DỤNG LẠI 1. Giới thiệu chung Thiết kế phần mềm là một công đoạn quan trọng trong quy trình xây dựng và phát triển phần mềm. Cũng nhƣ việc thiết kế phần mềm truyền thống, việc thiết kế phần mềm hƣớng đối tƣợng cần phải đáp ứng đƣợc yêu cầu của bài toán, song cũng cần có tính tổng quát và linh hoạt đủ để có thể giải quyết một phần hoặc toàn bộ các bài toán có thể gặp trong tƣơng lai. Trong quá trình xây dựng và phát triển phần mềm, các thay đổi do yêu cầu từ phía khách hàng, các điều kiện phát sinh hay việc thiết kế một cách cứng nhắc trong quá trình thiết kế thƣờng làm cho hệ thống trở nên rối rắm, các mô đun càng ngày càng bị phụ thuộc vào nhau.

Sự phụ thuộc này làm cho phần mềm ngày càng trở nên phình to và khó bảo trì, thậm chí dẫn đến thất bại. Phƣơng pháp lập trình hƣớng đối tƣợng ra đời góp phần giúp cho việc thiết kế phần mềm trở nên dễ dàng và linh động hơn. Thiết kế hƣớng đối tƣợng cho phép theo dõi và quản lý đƣợc sự phụ thuộc giữa các mô đun trong kiến trúc của hệ thống. Việc tìm cách áp dụng những mô hình đã thành công trong thực tế đối với một số bài toán tƣơng tự đã từng gặp và áp dụng những mô hình đó vào thiết kế của mình mà không cần phải xem xét lại từ đầu, đảm bảo tiết kiệm chí phí, thời gian xây dựng và phát triển phần mềm, nâng cao độ tinh cậy và chất lƣợng phần mềm.

Năm 1995, Erich Gamma, Richard Helm, Join Vlissides, và Ralph Johnson (Gang of Four) đã công bố cuốn sách của họ “Elements of reusable Object-Oriented Software” đánh dấu sự ra đời của “mẫu thiết kế”. Đây là một bƣớc tiến vô cùng quan trọng đối với việc thiết kế phần mềm hƣớng đối tƣợng. Tổng quan về các mẫu thiết kế (Design Pattern) 1. Mẫu thiết kế là gì ? 1.

Các định nghĩa về mẫu thiết kế [4,9]  Mẫu thiết kế là một cặp giải pháp/vấn đề đƣợc đặt tên có thể áp dụng trong những ngữ cảnh mới và những hƣớng dẫn để áp dụng nó trong những tình huống mới nhƣ thế nào. [4]  Mẫu thiết kế không đơn thuần là một bƣớc nào đó trong các giai đoạn phát triển LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com -13- phần mềm mà nó đóng vai trò là sáng kiến để giải quyết một bài toán thông dụng nào đó. Các giai đoạn phần mềm vẫn hoàn chỉnh mà không có mẫu thiết kế, nhƣng sự góp mặt của mẫu thiết kế sẽ giúp cho việc xác định bài toán cần giải quyết nhanh gọn hơn, từ đó đƣa ra cách giải quyết hợp lý. [9]  Mẫu thiết kế không chỉ đƣợc sử dụng để xác định bài toán và cách giải quyết mà còn đƣợc sử dụng nhằm cô lập các thay đổi trong mã nguồn, từ đó làm cho hệ thống có khả năng tái sử dụng cao do mẫu thiết kế tuân thủ rất nghiêm ngặt các nguyên lý thiết kế hƣớng đối tƣợng.

[9] Việc xác định thế nào là một mẫu thiết kế phụ thuộc vào các nhìn nhận vấn đề của mỗi ngƣời. Theo GOF, cách nhìn nhận phổ biến nhất về các mẫu thiết kế là coi chúng giống nhƣ các mô tả về các đối tƣợng phục vụ mục đích trao đổi thông tin trong quá trình thiết kế đã đƣợc hiệu chỉnh để giải quyết những yêu cầu thiết kế trong những trƣờng hợp nhất định. Các thành phần của mẫu thiết kế [8,9] Mỗi mẫu thiết kế trƣớc tiên mô tả một bài toán mà ta gặp nhiều lần rồi mô tả những yếu tố căn bản nhất để giải quyết bài toán theo cách mà ta có thể áp dụng lại nhiều lần. Dựa trên mô tả nhƣ trên về các mẫu thiết kế, ta thấy chúng bao gồm những thành phần cơ bản sau:  Tên: Là tên gọi qua đó ta có thể mô tả bài toán cần giải quyết, giải pháp thực hiện hay kết quả.

Việc đặt tên mẫu thiết kế cho phép mô tả các bài toán và giải pháp một cách ngắn gọn. Tạo thành một ngôn ngữ trong cộng đồng những ngƣời thiết kế. Ví dụ, khi nói đến mẫu thiết kế “Façade”, ta hình dung ngay đến mô hình thiết kế một đối tƣợng với vai trò giao dịch của một tập các thành phần nhỏ hơn.  Bài toán: Cho phép xác định trong trƣờng hợp nào thì áp dụng mẫu thiết kế thông qua mô tả bài toán và ngữ cảnh của bài toán đó.

 Giải pháp giải quyết bài toán: Mô tả những thành phần tạo nên mẫu thiết kế (các lớp, các đối tƣợng) cùng mối quan hệ, vai trò và cách thức phối hợp giữa chúng (cấu trúc, thừa kế). Giải pháp không đề cập đến cách thức thiết kế hay thực hiện cụ thể nào vì nó đƣợc áp dụng trong rất nhiều tình huống khác nhau. Thay vào đó, giải pháp của mẫu thiết kế đƣợc mô tả với tính khái quát cao với cách thức tổ chức chung nhất của các thành phần trong việc giải quyết bài toán. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com -14- Ví dụ nhƣ mẫu thiết kế đƣợc gọi nhƣ một thành ngữ (mẫu GRASP), mẫu thiết kế có thể mô tả bằng lời hoặc mô hình thiết kế hay bằng mã nguồn.

 Hệ quả: Là những gì thu nhận đƣợc cùng với những yếu tố cần cân nhắc khi áp dụng mẫu thiết kế để giải quyết bài toán. Hệ quả thƣờng không đƣợc đề cập khi nói đến một mẫu thiết kế nhƣng đây là yếu tố quyết định khi cần chọn lựa hoặc phân tích chi phí và lợi ích khi áp dụng các mẫu thiết kế. Danh mục các mẫu thiết kế và phân loại [9] Erich Gamma và các đồng sự của ông đề xuất 23 mẫu thiết kế, và đã đƣa ra hai tiêu chí để phân loại các mẫu thiết kế này. Đó là phân loại theo mục đích sử dụng (purpose) và phạm vi áp dụng của mẫu (scope).

Theo mục đích sử dụng: Các mẫu thiết kế đƣợc phân thành 3 nhóm: mẫu kiến tạo, mẫu cấu trúc, mẫu hành vi.  Mẫu kiến tạo (Creational Patterns): mẫu kiến tạo trừu tƣợng hoá quá trình khởi tạo đối tƣợng. Các mẫu này giúp hệ thống không phải phụ thuộc vào cách một đối tƣợng đƣợc tạo ra, xây dựng và thể hiện. Mẫu thiết kế kiến tạo bao gồm các mẫu sau: Abstract Factory, Builder, Factory Method, Prototype, Singleton.

 Mẫu cấu trúc (Structural Patterns): mẫu thiết kế cấu trúc đề cập đến cách mà các đối tƣợng và lớp đối tƣợng kết hợp để tạo nên một cấu trúc lớn hơn và hữu dụng hơn. Việc thiết kế các lớp đối tƣợng là nhằm đáp ứng các ràng buộc cụ thể của hệ thống. Mẫu cấu trúc mô tả mối quan hệ giữa các lớp này và sắp xếp sao cho nếu có bất kì sự thay đổi nào với hệ thống đều không làm thay đổi những quan hệ đó. Mẫu thiết kế cấu trúc bao gồm các mẫu sau: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy.

 Mẫu hành vi (Behavioral Patterns): mẫu hành vi mô tả sự tƣơng tác giữa các đối tƣợng và cách chúng phân phối, cộng tác, để giải quyết một hay một nhóm trách nhiệm nào đó. Mẫu hành vi bao gồm các mẫu sau: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor. Theo phạm vi sử dụng: các mẫu thiết kế đƣợc phân thành 2 nhóm: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com -15- Phạm vi đƣợc nói đến khi ta quyết định nên áp dụng mẫu thiết kế vào các lớp hay các đối tƣợng.  Mẫu thiết kế áp dụng cho Lớp (Class): các mẫu này mô tả và giải quyết mối quan hệ giữa các lớp đối tƣợng và lớp con của chúng.

Các mối quan hệ này đƣợc thiết lập qua cơ chế kế thừa và chỉ xảy ra ở thời điểm biên dịch chƣơng trình (compiler-time). Các mẫu thuộc loại này bao gồm: Factory Method, Adapter (class), Interpreter, Template Method.  Mẫu thiết kế áp dụng cho Đối tƣợng (Object): các mẫu này mô tả và giải quyết mối quan hệ giữa các đối tƣợng. Các mối quan hệ này có thể thay đổi tại thời điểm chạy chƣơng trình (run-time).

Các mẫu thuộc loại này bao gồm: Abstract Factory, Builder, Prototype, Singleton, Adapter (Object), Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Visitor. Sơ đồ mối quan hệ giữa các mẫu thiết kế [9] LUAN VAN CHAT LUONG download : add luanvanchat@agmail.1: Sơ đồ mối quan hệ giữa các mẫu thiết kế 1. Giới thiệu một số mẫu thiết kế điển hình về hành vi và trình diễn [8,9,10] Với phạm vi thực hiện của luận văn, phần này chỉ tổng hợp và giới thiệu một số mẫu thiết kế về hành vi và trình diễn đƣợc ứng dụng nhiều trong phân tích và thiết kế phần mềm, từ đó làm cơ sở để thực hiện áp dụng vào phân tích và thiết kế hệ thống ở phần sau. Ý nghĩa LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com -17- Định nghĩa mối quan hệ phụ thuộc một - nhiều giữa các đối tƣợng sao cho khi một đối tƣợng thay đổi trạng thái thì tất cả các đối tƣợng liên quan cũng sẽ đƣợc thông báo và tự động cập nhật theo.

Mô tả Việc phân chia hệ thống thành nhiều lớp con có quan hệ với nhau là nhu cầu tất yếu để có thể duy trì sự bền vững của hệ thống. Chúng ta không bao giờ muốn cài đặt hệ thống mà tất cả các lớp dính chặt lại với nhau, bởi vì điều này sẽ làm giảm tính tái sử dụng lại của chúng. Ví dụ, nhiều công cụ giao diện đồ hoạ phân tách giao diện (GUI) ra khỏi dữ liệu (DATA) bên dƣới. Các lớp định nghĩa cho giao diện và dữ liệu trên có thể kết hợp với nhau để làm việc cũng nhƣ có thể đƣợc sử dụng 1 cách độc lập.

Mẫu Observers mô tả cách thiết lập mối quan hệ này. Có hai đối tƣợng then chốt trong mẫu này, đó là Subject và Observer. Một đối tƣợng Subject có thể có một hoặc nhiều đối tƣợng Observer phụ thuộc vào nó. Tất cả các đối tƣợng Observer sẽ đƣợc cảnh báo (notify) khi đối tƣợng Subject có sự thay đổi về trạng thái.

Khi đó, các đối tƣợng Observer sẽ lấy thông tin về trạng thái của đối tƣợng Subject để tự cập nhật lại trạng thái của chính nó. Cấu trúc mẫu Observer Hình 1.2: Cấu trúc mẫu Observer Ở cấu trúc trên, khi khởi tạo một đối tƣợng thuộc lớp ConcreteObserver thì sự khởi tạo này phải dựa trên đối tƣợng thuộc lớp ConcreteSubject để lấy thông tin trạng thái hiện tại của đối tƣợng Subject. Đặc điểm của mẫu này là sự ánh xạ qua lại giữa đối tƣợng thuộc lớp Subject và các đối tƣợng thuộc lớp Observer. Đối tƣợng ConcreteObserver sẽ giữ con trỏ của đối tƣợng ConcreteSubject.

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