Khóa luận tốt nghiệp xây dựng môi trường phát triển sản phẩm CNTT - ĐHQG TP.HCM

Tôi có thể tạo meta tags cho bài viết của bạn như sau: { "ai_description": "Phát triển môi trường sản phẩm CNTT là một khía cạnh quan trọng trong quá trình

Chuyên ngành

Kỹ thuật Phần Mềm

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2021

166
1
0

Phí lưu trữ

45 Point

Tóm tắt

I. Tổng quan về môi trường phát triển sản phẩm công nghệ thông tin

Môi trường phát triển sản phẩm công nghệ thông tin là hệ thống công cụ và quy trình hỗ trợ nhóm kỹ thuật quản lý vòng đời sản phẩm từ lúc lên ý tưởng đến khi triển khai. Khóa luận tốt nghiệp tại Trường Đại học Công nghệ Thông tin – ĐHQG-HCM năm 2021 của nhóm Nguyễn Duy Tân và Trần Thị Thu Tình tập trung xây dựng công cụ quản lý sản phẩm dạng workspace. Đây là đề tài thuộc ngành Kỹ thuật Phần mềm, được thực hiện dưới sự hướng dẫn của ThS. Nguyễn Công Hoan. Hệ thống workspace cho phép các nhóm phát triển tổ chức sản phẩm, phân quyền thành viên và theo dõi tiến độ công việc. Nhu cầu về công cụ quản lý tập trung ngày càng tăng khi các dự án phần mềm mở rộng về quy mô. Thiếu một nền tảng thống nhất dẫn đến phân tán thông tin, khó phối hợp giữa các thành viên và khó đánh giá tiến độ dự án. Khóa luận hướng đến xây dựng giải pháp thực tiễn giải quyết bài toán này trong môi trường doanh nghiệp phần mềm hiện đại.

1.1. Phạm vi và mục tiêu của khóa luận tốt nghiệp

Phạm vi nghiên cứu tập trung vào việc xây dựng công cụ hỗ trợ quản lý sản phẩm trong môi trường công nghệ thông tin. Mục tiêu chính là thiết kế một hệ thống workspace cho phép người dùng tạo, quản lý và nâng cấp không gian làm việc nhóm. Hệ thống hỗ trợ phân quyền theo vai trò, quản lý sản phẩm và theo dõi quá trình phát triển. Báo cáo được chia thành năm chương, bao gồm giới thiệu tổng quan, cơ sở lý thuyết, đặc tả yêu cầu, trình bày giao diện và tổng kết kết quả.

1.2. Công nghệ nền tảng được áp dụng trong đề tài

Đề tài sử dụng công nghệ Java Servlet để xây dựng ứng dụng web phía máy chủ. Servlet là công nghệ mạnh mẽ, có khả năng mở rộng cao, phù hợp với các ứng dụng doanh nghiệp. So với CGI truyền thống, Servlet cung cấp hiệu suất tốt hơn và tích hợp chặt chẽ với hệ sinh thái Java. Hệ thống quản lý cơ sở dữ liệu đảm bảo lưu trữ thông tin workspace, sản phẩm và người dùng một cách nhất quán và an toàn.

II. Phân tích vấn đề quản lý sản phẩm trong môi trường CNTT

Quản lý sản phẩm công nghệ thông tin đối mặt với nhiều thách thức cụ thể. Nhóm phát triển phần mềm cần theo dõi nhiều sản phẩm cùng lúc trong cùng một tổ chức. Thiếu công cụ tập trung khiến thông tin bị phân tán qua nhiều kênh như email, chat và bảng tính. Điều này làm giảm hiệu quả phối hợp và tăng nguy cơ sai sót trong quá trình phát triển. Khóa luận xác định ba nhóm vấn đề chính cần giải quyết: quản lý workspace theo gói dịch vụ, phân quyền người dùng theo vai trò owner và member, cùng cơ chế mã code để thêm thành viên vào workspace. Hệ thống hiện tại chưa có giải pháp thống nhất cho phép nhóm nhỏ đến vừa vận hành hiệu quả mà không cần hạ tầng phức tạp. Đây là khoảng trống mà công cụ xây dựng trong khóa luận hướng đến lấp đầy.

2.1. Thách thức trong phân quyền và quản lý thành viên workspace

Một workspace trong hệ thống bao gồm nhiều thành viên với vai trò khác nhau. Owner có quyền tạo và quản lý sản phẩm, nâng cấp gói dịch vụ và kiểm soát thành viên. Member chỉ có quyền truy cập theo phạm vi được cấp phép. Cơ chế mã code được thiết kế để kiểm soát việc thêm workspace mới và mời thành viên. Khi mã code không hợp lệ, hệ thống phản hồi thông báo lỗi rõ ràng để người dùng thử lại. Điều này đảm bảo tính bảo mật và kiểm soát truy cập.

2.2. Vấn đề nâng cấp gói dịch vụ và mở rộng workspace

Chức năng Upgrade Workspace cho phép owner mở rộng quyền tạo và quản lý nhiều sản phẩm hơn. Quy trình nâng cấp yêu cầu người dùng đã đăng nhập và đăng ký gói package phù hợp. Sau khi nâng cấp thành công, hệ thống chuyển trang về màn hình quản lý workspace. Trường hợp thất bại, thông báo lỗi hiển thị ngay lập tức. Thiết kế này đảm bảo trải nghiệm người dùng mượt mà và minh bạch trong quá trình mở rộng quyền sử dụng.

III. Giải pháp xây dựng công cụ quản lý sản phẩm workspace

Giải pháp được đề xuất là xây dựng ứng dụng web hỗ trợ toàn bộ vòng đời quản lý workspace từ khâu tạo mới đến vận hành hàng ngày. Hệ thống được thiết kế theo mô hình phân tầng rõ ràng, tách biệt tầng giao diện, tầng xử lý nghiệp vụ và tầng dữ liệu. Kiến trúc này tạo điều kiện bảo trì và mở rộng về sau. Chức năng Add Workspace cho phép thêm không gian làm việc mới thông qua mã code xác thực. Chức năng Upgrade Workspace mở rộng khả năng quản lý sản phẩm khi nhu cầu tăng lên. Quá trình phát triển bao gồm phân tích yêu cầu, thiết kế kiến trúc, lập trình, kiểm thử và thu thập phản hồi người dùng. Mỗi giai đoạn được thực hiện tuần tự và có tài liệu đặc tả đi kèm. Kết quả là một ứng dụng hoàn chỉnh đáp ứng nhu cầu thực tế của nhóm phát triển phần mềm quy mô nhỏ và vừa.

3.1. Đặc tả yêu cầu và thiết kế kiến trúc hệ thống

Đặc tả yêu cầu được trình bày chi tiết qua các bảng use case. Mỗi use case xác định rõ tên chức năng, mô tả, người thực hiện, điều kiện trước và sau xử lý, các bước thực hiện và ngoại lệ. Kiến trúc hệ thống sử dụng mô hình MVC kết hợp với Java Servlet. Cơ sở dữ liệu lưu trữ thông tin workspace, product và user account. Thiết kế hướng đến tính module hóa cao để dễ bổ sung tính năng mới trong tương lai.

3.2. Quy trình kiểm thử và thu thập phản hồi người dùng

Sau khi hoàn thiện ứng dụng, nhóm tiến hành khảo sát thu thập ý kiến người dùng thực tế. Quá trình kiểm thử bao gồm kiểm tra từng chức năng theo đặc tả use case. Các lỗi phát sinh được ghi nhận và khắc phục theo từng sprint. Phản hồi người dùng được phân tích để đánh giá mức độ đáp ứng yêu cầu. Kết quả khảo sát cung cấp cơ sở thực tiễn để cải thiện giao diện và luồng xử lý nghiệp vụ trước khi hoàn thiện báo cáo.

IV. Kết quả đạt được và hướng phát triển ứng dụng

Khóa luận hoàn thành việc xây dựng công cụ quản lý workspace cho sản phẩm công nghệ thông tin với đầy đủ các chức năng cốt lõi. Giao diện ứng dụng được trình bày rõ ràng, hỗ trợ người dùng thực hiện các thao tác một cách trực quan. Hệ thống đáp ứng các yêu cầu phân quyền, quản lý mã code và nâng cấp gói dịch vụ. Tài liệu kỹ thuật đầy đủ từ chương 1 đến chương 5 cung cấp nền tảng để người đọc hiểu toàn bộ quá trình phát triển. Bên cạnh các kết quả đạt được, nhóm cũng nhận diện một số hạn chế về quy mô kiểm thử và tính năng cộng tác nâng cao. Hướng phát triển tiếp theo bao gồm tích hợp thông báo thời gian thực, hỗ trợ nhiều loại sản phẩm hơn và nâng cao bảo mật xác thực. Đề tài có giá trị tham khảo cao cho sinh viên và nhà phát triển muốn xây dựng hệ thống quản lý sản phẩm nội bộ.

4.1. Kết quả thực tiễn và giá trị học thuật của khóa luận

Sản phẩm cuối cùng là ứng dụng web hoạt động ổn định, đáp ứng các use case đã đặc tả. Báo cáo khóa luận cung cấp tài liệu học thuật đầy đủ bao gồm cơ sở lý thuyết, phân tích hệ thống và hướng dẫn sử dụng. Giá trị học thuật thể hiện qua việc áp dụng có hệ thống các kỹ thuật kỹ thuật phần mềm từ phân tích yêu cầu đến triển khai và kiểm thử. Đây là nền tảng thực hành tốt cho sinh viên ngành Kỹ thuật Phần mềm khi tiếp cận bài toán xây dựng hệ thống thực tế.

4.2. Hướng mở rộng và cải tiến trong tương lai

Hướng phát triển tập trung vào nâng cao trải nghiệm người dùng và mở rộng tính năng cộng tác nhóm. Tích hợp thông báo real-time giúp thành viên cập nhật tiến độ ngay lập tức. Bổ sung tính năng báo cáo thống kê giúp owner đánh giá hiệu suất nhóm. Mở rộng hệ thống phân quyền chi tiết hơn theo từng sản phẩm là hướng tiếp theo khả thi. Nâng cấp cơ chế bảo mật xác thực hai yếu tố giúp hệ thống đạt tiêu chuẩn sản xuất thực tế.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

21/04/2026
Khóa luận tốt nghiệp xây dựng môi trường phát triển sản phẩm công nghệ thông tin

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

MỞ ĐẦU Hiện nay, với sự phát triển mạnh mẽ của công nghệ thông tin, nhiều công ty công nghệ ra đời, đồng nghĩa với việc những sản phẩm công nghệ ngày càng nhiều. Trong thế giới sản phẩm kỹ thuật số được nhiều người tiêu dùng lựa chọn, chi phí chuyển đổi thấp, chia sẻ xã hội, xếp hạng, đánh giá và đề xuất. Vì vậy mà việc tạo ra các sản phẩm tuyệt vời trở nên quan trọng hơn bao giờ hết để thu hút sự chú ý của người dùng. Điều đó đặt ra bài toán cần một công cụ hỗ trợ quản lý quá trình phát triển sản phẩm của công ty.

Tuy nhiên, trên thị trường hiện nay, các phần mềm quản lý phát triển sản phẩm công nghệ thông tin vẫn còn đắt đỏ và thiếu đi một số tính năng tiện dụng. Do đó, việc phát triển một công cụ mới, nhanh hơn, giao diện thân thiện hơn và dễ dàng mở rộng các tính năng hơn là một ưu tiên không thể thiếu trong bối cảnh hiện nay. Đối với mục tiêu của đề tài, về mặt sản phẩm, đề tài nhắm đến việc xây dựng một hệ thống quản lý môi trường phát triển sản phẩm, nhắm đến đối tượng là các startup nhỏ, có vốn đầu tư mức thấp. Ứng dụng sẽ trở thành trung tâm trong việc tạo ra môi trường phát triển sản phẩm của công ty một cách hiệu quả từ đó tạo ra những sản phẩm có chất lượng.

Ngoài ra, công cụ cũng là nơi để các thành viên trong team đóng góp ý tưởng vào việc phát triển sản phẩm. Về mặt kỹ thuật mục tiêu của đề tài sẽ sử dụng các công nghệ mới , đã được thế giới công nhận và sử dụng nhiều nhưng lại còn khá mới mẻ với các lập trình viên và các công ty trong nước từ đó chứng minh được tính khả thi của công nghệ này. Cũng như qua đó cố gắng giải quyết được bài toán tối ưu hóa một công nghệ mới như trên. Đối với phạm vi nghiên cứu, về mặt nghiệp vụ, đối tượng nghiên cứu và tìm hiểu là các nghiệp vụ phát triển sản phẩm, đảm bảo ứng dụng có thể hoạt động đúng quy trình, hạn chế tối đa các ngoại lệ không thể xử lý trong quá trình vận hành.

Phạm vi nghiên cứu, các nghiệp vụ của hệ thống phát triển sản phẩm công nghệ thông tin sẽ chỉ bao gồm việc quản lý các product workspace và cung cấp môi trường phát triển sản phẩm công nghệ thông tin cho khách hàng. Về mặt kỹ thuật đề tài sẽ tập trung nghiên cứu về việc xây dựng một ứng dụng web với Spring Framework cùng PostgreSQL, Microservice, Redis, Docker, ReactJS và Redux-observable. 18 Chương 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Nhu Cầu thực tế của đề tài - Trên thực tế, khi ngày càng có nhiều công ty chú trọng đến sự đổi mới, vai trò của Product Management đã trở thành một yếu tố then chốt trong sự thành công của các tổ chức đó. - Dù là sản phẩm hay dịch vụ nào đi nữa, nếu chúng ta lập trình các tính năng hoặc chức năng sai thì cũng dẫn đến thất bại.

Theo nghiên cứu từ CB Insights, 42% số lượng startups không hiểu nhu cầu thị trường. - Hầu hết các tổ chức chỉ đầu tư thời gian và tiền bạc mà không theo dõi tác động của quá trình lập trình sẽ không thể thấy được bức tranh lớn. Sự cải tiến đòi hỏi tinh thần tập trung và khả năng bảo tồn các nguồn lực - Nhằm khuyến khích việc đưa ra sản phẩm nhanh, chu trình cải thiện ngắn và liên tục, để có thể tìm hiểu và bắt nhịp thị trường nhanh chóng thì cần có một công cụ hỗ trợ cho các Product manager thực hiện tốt công việc của mình.2 Phạm vi đề tài Trong đồ khóa luận này, nhóm chỉ xây dựng hệ thống để đáp ứng nhu cầu sử dụng trong các phân hệ sau: 1. Quản lý chiến lược sản phẩm - Quản lý vision - Quan lý model - Quản lý personas - Quản lý competitor - Quản lý goal - Quản lý initiative 2.

Quản lý user story map 4. Quản lý user, phân quyền user 19 7. Quản lý product workspace 8. Hiển thị nhiệm vụ của user 9.3 Phương pháp nghiên cứu Đồ án sử dụng các phương pháp nghiên cứu hướng đến thực tiễn để phát triển và hoàn thiện ứng dụng: - Phân tích, khảo sát hiện trạng về nhu cầu thực tế của người quản lý sản phẩm công nghệ thông tin thông qua tài liệu quản lý sản phẩm và ứng dụng quản lý hiện có trên thị trường hiện nay.

- Thu thập thông tin, tìm hiểu và nghiên cứu về các kỹ thuật, công nghệ cần thiết để hỗ trợ cho việc xây dựng ứng dụng đáp ứng yêu cầu được đưa ra. - Xây dựng ứng dụng dựa trên những kỹ thuật và công nghệ trên, tiến hành kiểm thử dự án song song với quá trình xây dựng ứng dụng. - Đánh giá và so sánh kết quả đạt được với mục tiêu ban đầu đưa ra. Điều chỉnh và khắc phục các sự cố.

- Hoàn thiện ứng dụng, tiến hành khảo sát, thu thập ý kiến, đánh giá của người dùng.4 Cấu trúc Báo cáo này được trình bày với cấu khúc khóa luận như sau: - Chương 1: Giới thiệu tổng quan về đề tài, phạm vi nghiên cứu và phương pháp nghiên cứu. - Chương 2: Giới thiệu về các công nghệ, kỹ thuật ứng dụng trong đề tài xây dựng và phát triển công cụ quản lý sản phẩm trong công nghệ thông tin. - Chương 3: Đưa ra các đặc tả yêu cầu và phân tích hệ thống, thiết kế các kiến trúc và mô hình cần thiết cho toàn bộ hệ thống. - Chương 4: Trình bày tổng quan về công cụ quản lý sản phẩm công nghệ thông tin, giới thiệu giao diện ứng dụng và cách cài đặt sử dụng ứng dụng.

- Chương 5: Tổng kết về khóa luận, nêu những việc đã đạt được qua quá trình xây dựng và phát triển đề tài. Bên cạnh đó nêu ra những thiếu sót của nhóm. Từ đó đưa ra các giải quyết và hướng phát triển tiếp theo. 20 Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu về Servlet - Công nghệ Servlet được sử dụng để tạo ra ứng dụng web (nằm ở phía máy chủ và tạo ra trang web động).

- Sử dụng Servlet, bạn có thể thu thập thông tin đầu vào từ người dùng thông qua các trang web, hiển thị các bản ghi từ một cơ sở dữ liệu hoặc một nguồn khác. - Công nghệ servlet là mạnh mẽ và có khả năng mở rộng. Trước Servlet, ngôn ngữ kịch bản CGI (Common Gateway Interface) - được sử dụng phổ biến như một ngôn ngữ lập trình phía máy chủ.2 Tại sao nên sử dụng servlet - Servlet là một công nghệ java web với ưu điểm lớn là khả năng scale mạnh mẽ, xử lý tốt một lượng lớn request từ client, rất phù hợp với dự án.3 Áp dụng servlet - Java Servlets là các lớp Java chạy bởi một máy chủ web có một trình thông dịch hỗ trợ đặc tả Java Servlet. - Servlets có thể được tạo ra bằng cách sử dụng các gói javax.servlet và javax.http đây là một phần chuẩn của phiên bản Enterprise của Java, một phiên bản mở rộng của thư viện lớp Java hỗ trợ các dự án phát triển quy mô lớn.

- Các servlet Java đã được tạo ra và biên dịch giống như các lớp Java khác. Sau khi cài đặt gói servlet và thêm chúng vào Classpath của máy tính, bạn có thể biên dịch các servlet bằng trình dịch Java của JDK hoặc bất kỳ trình biên dịch hiện tại nào khác. - Được ứng dụng để tạo server trung gian giữa database và UI, giúp xử lý các api được gửi từ UI và thao tác đến cơ sở dữ liệu phù hợp.1 Giới thiệu về GRPC - GRPC là một framework RPC Open source đa ngôn ngữ được Google phát triển dựa trên Protobuf và giao thức HTTP/2. Sử dụng Servlet, bạn có thể thu thập thông tin đầu 21 vào từ người dùng thông qua các trang web, hiển thị các bản ghi từ một cơ sở dữ liệu hoặc một nguồn khác.

- Trong gRPC một ứng dụng client có thể gọi trực tiếp các method trên một ứng dụng server khác máy chủ giống như là cuộc gọi ở local. Điều này giúp việc phát triển các ứng dụng, dịch vụ phân tán dễ dàng hơn. gRPC dựa trên ý tưởng xác định các dịch vụ, chỉ định các method có thể gọi từ xa với các tham số và kiểu dữ liệu trả về của chúng.2 Tại sao nên sử dụng GRPC - GRPC sử dụng giao thức HTTP/2 - GRPC giúp các service trong hệ thống microservice giao tiếp với nhau hiệu quả hơn do giữ được connection giữa các service, giảm thiểu quy trình three way – handshake.3 Áp dụng GRPC - GRPC được sử dụng như một phương thức giao tiếp giữa các service trong hệ thống microservice. - Bạn có thể vận dụng tất cả những điểm mạnh của GRPC so với Rest API, từ đó giúp cải thiện tốc độ giao tiếp của các service, tăng performance cho hệ thống.1 Giới thiệu về redis - Redis là một công cụ hỗ trợ server giải quyết bài toán caching, không những vậy Redis có thể được sử dụng như một database được lưu trữ trong ram để tăng tốc độ xử lý, nhưng đó cũng là một nhược điểm của Redis, khi mà cúp điện đồng nghĩa với mất dữ liệu, mặc dù redis có hỗ trợ backup và restore data từ ổ cứng theo chu kì và điều đó là không hoàn hảo.

- Redis hỗ trợ lưu data dưới dạng Key Value, value đó có thể là một chuỗi, số, danh sách, danh sách được sắp xếp hay thậm chí là một tài liệu dạng từ điển (hash).2 Tại sao nên sử dụng redis - Redis hỗ trợ thêm mới, cập nhật, xóa dữ liệu một cách nhanh chóng. - Lưu trữ dữ liệu dạng KEY-VALUE. 22 - Dữ liệu được lưu trữ trên RAM giúp việc truy xuất dữ liệu một cách nhanh chóng. Ngoài ra bạn có thể cấu hình để Redis có thể lưu trữ dữ liệu trên ổ cứng.

- Bạn có thể cấu hình cho key tự động xóa trong khoảng thời gian nhất định(expire). - Hỗ trợ nhiều loại kiểu dữ liệu khác nhau. - Hỗ trợ Queue(hàng đợi) thông qua cơ chế PUB/SUB, chúng ta có thể dùng Redis để làm hệ thống queue cho website xử lý tuần tự từng request 2.3 Áp dụng redis - Bạn có thể dùng redis để caching mọi thứ bạn muốn, từ kết quả của một câu query trong database, một profile của user, profile cửa hàng. Và khi cache phải chắc chắn những gì được cache là mới nhất vì nếu data cũ thì sẽ rất ảnh hưởng đến client.

- Redis hỗ trợ Transaction, hỗ trợ Pub/Sub vì vậy nó cũng được sử dụng làm hệ thống Message Broker, kinh điển là RabbitMQ sử dụng Redis là core của hệ thống.

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