Hệ thống nhắm tới ba đối tượng người dùng chính: nhân viên quản lý phòng tập sau đây gọi là admin, huấn luyện viên của phòng tập, khách hàng tham gia tập luyện tại phòng tập.. Trong hệ t
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BÁO CÁO NGHIÊN CỨU TÍNH KHẢ THI CỦA DỰ ÁN
Ruby Gym
Môn học: Nhập môn công nghệ phần mềm
Nhóm sinh viên thực hiện: 1 Nguyễn Thành Bắc - 20194229
2 Trần Quang Đại - 20194006
3 Nguyễn Xuân Cường - 20190040
4 Trần Ngọc Hiển - 20194275
5 Võ Quang Đức - 20194252
6 Nguyễn Quang Dũng - 20194256
7 Nguyễn Văn Đương - 20194260
8 Nguyễn Đỗ Tú - 20194200
Hà Nội - 2021
Trang 2MỤC LỤC
Môn học: Nhập môn công nghệ phần mềm 1
I EXECUTIVE SUMMARY / TÓM TẮT HOẠT ĐỘNG 4
II PRELIMINARY REQUIREMENTS ANALYSIS / PHÂN TÍCH YÊU CẦU SƠ BỘ 5
Phần I Tổng quan về ứng dụng 5
1 Mục tiêu 5
2 Mục tiêu kinh doanh 5
3 Quy trình Kinh doanh Hiện tại 5
4 Vai trò và trách nhiệm của người dùng 5
5 Tương tác với các hệ thống khác 6
6 Cân nhắc khi triển khai hệ thống 6
Phần II Yêu cầu chức năng 7
1 Tuyên bố về chức năng 7
2 Khả năng bảo mật và người dùng 7
3 Báo cáo 7
4 Tính năng tùy chọn 7
5 Khả năng sử dụng 7
6 Phạm vi 7
III PROCESS TO BE FOLLOWED / QUY TRÌNH PHÁT TRIỂN 8
Sprint 1: (dự kiến 23/10 – 14/11) 8
Các công việc ưu tiên 8
Lưu ý 9
Sprint 2: (dự kiến 15/11 – 12/12) 9
Các công việc ưu tiên 9
Lưu ý 9
Sprint 3: (dự kiến 13/12 – 10/1) 10
Các công việc ưu tiên 10
Lưu ý 10
IV SUGGESTED DELIVERABLES 11
1 Các báo cáo tiến độ định kỳ 11
2 Thuyết trình định kỳ 11
3 Good Faith Requirements Agreement 11
4 Tài liệu cho việc sử dụng 11
5 Trình bày và hướng dẫn cho khách hàng 11
V TECHNICAL FEASIBILITY / Tính khả thi kỹ thuật 12
1 Các yêu cầu kỹ thuật: 12
2 Kết luận về tính khả thi kỹ thuật 12
VI VISIBILITY / Khả năng hiển thị 13
1 Communication / Liên lạc 13
2 Intermediate Deliverables and Presentations / Tài liệu trung gian và trình bày 13
VII RISK ANALYSIS/ PHÂN TÍCH RỦI RO 14
1 Rủi ro về mặt thời gian 14
2 Rủi ro về mặt nguồn lực 14
Trang 34 Quản lý / Giảm thiểu rủi ro 14
VIII CAM KẾT VÀ ĐIỀU KHOẢN 15
1 Bảo mật giao dịch và thông tin nhạy cảm 15
2 Bản quyền và Trợ giúp 15
IX CONCLUSION/ KẾT LUẬN 16
Trang 4I EXECUTIVE SUMMARY / TÓM T T HO Ắ ẠT ĐỘNG
Ứng dụng website được triển khai dành cho trung tâm thể hình RubyGym (sau đây
có thể gọi là phòng tâp) có thể quản lý hoạt động kinh doanh nhanh chóng, đơn giản, dễ dàng hơn Khách hàng kiểm thử trực tiếp hoạt động chức năng của ứng dụng là cô Bùi Thị Mai Anh, cùng với cộng sự của cô là chị Lê Thị Mai Hương, người sẽ cùng tham gia giám sát quá trình triển khai hệ thống
Mục tiêu của nhóm phát triển là xây dựng một ứng dụng trên nền tảng web để thay thế cho các bản ghi, thống kê trên giấy như hiện tại của phòng tập, vừa tiết kiệm thời gian cũng như nhân lực cho đơn vị kinh doanh Hệ thống nhắm tới ba đối tượng người dùng chính: nhân viên quản lý phòng tập (sau đây gọi là admin), huấn luyện viên của phòng tập, khách hàng tham gia tập luyện tại phòng tập
Trong hệ thống mới, admin sẽ được trao quyền quản lý các huấn luyện viên và khách hàng của phòng tập Các huấn luyện viên có thể theo dõi lịch hướng dẫn của mình, quản lý danh sách các khách hàng là học viên của mình Trong khi đó, các khách hàng có thể theo dõi được lịch tập, cũng như quá trình tập luyện của bản thân Cụ thể các chức năng chi tiết sẽ được đề cập chi tiết ở các mục sau
Hệ thống mới được triển khai với mục tiêu hệ thống hóa, công nghệ hóa các tác vụ trước đây được làm trực tiếp trên giấy tờ sổ sách Ngoài ra, đây cũng là một nền tảng giúp đơn vị kinh doanh phòng tập có thể quảng bá các dịch vụ của mình đến với khách hàng
Trang 5II PRELIMINARY REQUIREMENTS ANALYSIS
1 Mục tiêu
Chức năng cơ bản của trang web là giúp các huấn luyện viên có thể lên được lịch tập cho khách hàng và giúp khách hàng có thể tra cứu được lịch tập của mình Ngoài ra admin có thể quản lý được các khách hàng và huấn luyện viên của trung tâm
2 Mục tiêu kinh doanh
Mục tiêu của dự án là giúp các khách hàng mới có thể tiếp cận và tìm hiểu thông tin về phòng tập, các khách hàng hiện tại có thể tra cứu thông tin về lịch tập cũng như những mức ưu đãi và đánh giá của huấn luyện viên về hiệu quả tập luyện Ngoài ra dự án còn giúp các huấn luyện viên có thể tự lên lịch tập cho khách hàng, admin thì có thể kiểm soát các thông tin về phòng tập và thông báo những gói ưu đãi cho khách hàng Qua đó giúp thời gian quản lý phòng tập của admin giảm đáng kể
và giúp khách hàng có thể tiếp cận với phòng tập một cách dễ dàng hơn
3 Quy trình Kinh doanh Hiện tại
Hiện tại, phòng tập chỉ treo các bảng băng rôn quảng cáo, chỉ tiếp cận được lượng nhỏ khách hàng đi ngang qua phòng tập, khiến cho lượng người tập bị hạn chế Tất cả lịch tập của khách hàng chỉ thông báo bằng miệng hoặc giấy thông thường làm cho khách hàng không có nơi để tra cứu khi quên Việc lên lịch tập chỉ có thể quản lý bằng giấy nên đôi khi có sai sót, không được nhất quán Những thông báo về ưu đãi chỉ có thể thông báo với khách hàng qua huấn luyện viên hoặc gọi điện trực tiếp khiến không được thuận tiện và thoải mái nhất cho khách hàng
Với dự án này, hệ thống mới hy vọng sẽ giải quyết được hầu hết các vấn đề mà phòng tập đang mắc phải giúp tiết kiệm thời gian và hiệu quả của admin cũng như khách hàng
4 Vai trò và trách nhiệm của người dùng
- Vai trò quản trị viên: Thêm, chỉnh sửa, xóa thông tin của các huấn luyện viên
và khách hàng của phòng tập Thông báo đến khách hàng các ưu đãi của phòng tập
- Vai trò của huấn luyện viên: Thêm, chỉnh sửa, xóa thông tin về lịch tập của bản thân huấn luyện viên đó với khách hàng của mình
Trang 6luyện viên và xem thông tin về các ưu đãi của phòng tập
5 Tương tác với các hệ thống khác
Hệ thống được xây dựng độc lập và không tương tác với hệ thống khác
6 Cân nhắc khi triển khai hệ thống
Việc thiết kế và phát triển ứng dụng và tạo báo cáo dự kiến sẽ được thực hiện theo từng giai đoạn trong vòng ba tháng trước khi hệ thống được thử nghiệm và đưa vào sử dụng Người dùng sẽ nhận được một bản hướng dẫn sử dụng
Trang 7Phầ n II Yêu c u ch ầ ức năng
1 Tuyên bố về chức năng
Hệ thống có 3 loại người dùng: Quản trị viên hệ thống (gọi tắt là Admin), Huấn luyện viên và Khách hàng
● Admin có thể xem lịch các buổi tập, quản lý Huấn luyện viên, quản lý Khách hàng và tạo các sự kiện
● Huấn luyện viên có thể quản lý lịch tập với Khách hàng do mình hướng dẫn và đánh giá sự tiến bộ sau quá trình tập luyện
● Khách hàng có thể xem lịch tập của mình, theo dõi sự thay đổi sau tập luyện và nhận thông báo về các sự kiện của trung tâm Ruby Gym
Hệ thống có khả năng phục vụ khoảng 50 người dùng cùng lúc và có thể lưu trữ thông tin cho khoảng 10000 khách hàng/huấn luyện viên, có thể mở rộng nếu nhu cầu của trung tâm thay đổi
2 Khả năng bảo mật và người dùng
Hệ thống có tính năng xác thực và phân quyền Cả 3 loại người dùng trên đều cần đăng nhập vào hệ thống bằng tài khoản và mật khẩu Mật khẩu sẽ được mã hóa bằng JWT
Quyền Admin là cao nhất, có thể lấy lại mật khẩu cho Huấn luyện viên và Khách hàng trong trường hợp quên/mất tài khoản
3 Báo cáo
Admin có thể xuất dữ liệu ra thành các báo cáo theo tháng, quý, năm Có các loại bảng dữ liệu khác nhau, admin có thể lựa chọn, VD: Báo cáo sự tiến bộ của Khách hàng với từng Huấn luyện viên trong tháng
4 Tính năng tùy chọn
Khách hàng có thể đăng ký lịch rảnh của mình cho việc tập luyện trong tháng sau trên hệ thống, sau đó huấn luyện viên sẽ lên lịch
5 Khả năng sử dụng
Giao diện người dùng rất dễ sử dụng và thao tác nhanh chóng Hệ thống xử lý thông tin có độ trễ thấp, không đáng kể
6 Phạm vi
Phạm vi hệ thống bao gồm nhập dữ liệu khách hàng, huấn luyện viên, lịch tập; tác vụ của khách hàng gồm xem lịch tập, tác vụ của huấn luyện viên gồm lên lịch tập và nhận xét quá trình tập luyện; tác vụ của quản trị viên bao gồm quản lý thông tin của khách hàng, huấn luyện viên, lên lịch cho các sự kiện và xuất báo cáo
Trang 8III PROCESS TO BE FOLLOWED / QUY TRÌNH
Đối với dự án Ruby Gym lần này, nhóm đã họp bàn một cách nghiêm túc và quyết định sử dụng mô hình Agile, chia làm 3 Sprint tương ứng theo các milestone mà khách hàng Bùi Thị Mai Anh đề xuất Nhóm lựa chọn phương pháp này bởi vì nhóm muốn tập trung tối đa vào việc phát triển và hoàn thành sản phẩm web một cách tốt nhất, chứ không quá quan trọng hóa việc đưa ra tài liệu hướng dẫn Ngoài ra, khi làm việc theo mô hình này, nhóm sẽ tối ưu khả năng tương tác giữa các thành viên trong nhóm, giữa nhóm dự án với khách hàng
Việc dùng mô hình Agile cũng góp phần thúc đẩy mỗi thành viên trong nhóm phải
có khả năng làm việc độc lập, từ đó nâng cao trình độ cũng như kỹ năng của các thành viên Đây cũng là một thử thách cho nhóm khi các thành viên đều chưa có nhiều kinh nghiệm, vì nhóm sẽ phải liên tục nhận phản hồi từ khách hàng và sửa đổi đến khi đưa ra bản release ưng ý nhất cho mỗi sprint Hy vọng đây sẽ là lựa chọn đúng cho nhóm nhằm đổi mới liên tục, và linh hoạt thay đổi theo những phản hồi từ chính khách hàng
Về cơ bản, nhóm chia quy trình làm 3 sprint, deadline của mỗi sprint ứng với từng milestone
Sprint 1: (d ự kiế n 23/10 14/11) –
Các công việc ưu tiên
- Phân tích nghiệp vụ
- Viết test case
- Hoàn thiện và đưa ra bản mock up thân thiện và tiện lợi-
- Vẽ sơ đồ use case cùng các luồng thực hiện
- Thiết kế sơ đồ cơ sở dữ liệu để quản lý
- Hoàn thiện các chức năng đăng nhập, quản lý tài khoản của các người dùng (học viên, huấn luyện viên) và tài khoản admin
- Đưa các tài khoản được cấp vào dữ liệu lưu trữ của hệ thống
- Hoàn thiện giao diện đơn giản, sử dụng được các thao tác cơ bản như đăng nhập, đăng xuất, …
- Kiểm thử
Trang 9Lưu ý
- Sau khi hoàn thiện mock up sẽ đưa cho khách hàng xem và đánh giá, để kịp - thời chỉnh sửa trong quá trình thiết kế giao diện người dùng, nếu không tiến độ
dự án sẽ bị làm chậm một cách đáng kể
- Khi hoàn thiện các chức năng cơ bản, tiến hành test hệ thống một cách cẩn thận Trong tuần tiếp theo (15/11 – 21/11) sẽ hẹn đưa cho khách hàng bản release đơn giản, cũng như thuyết trình cơ bản về các nhóm chức năng trong bản release đó Đồng thời, ghi nhận những phản hồi của khách hàng một cách nghiêm túc
Sprint 2: (d ự kiế n 15/11 12/12) –
Sau khi kết thúc sprint 1, nhóm dự án hy vọng đã thực hiện được những chức năng đề
ra Sau buổi thuyết trình chức năng của bản release đầu tiên, nhóm dự án sẽ phải thảo luận những ý kiến của khách hàng và linh hoạt sửa đổi những điểm chưa ưng ý Thời gian
để sửa đổi những chức năng chưa đạt dự tính trong khoảng 1 tuần Sau khi hoàn thiện sửa đổi, nhóm sẽ tiếp tục những nhóm chức năng tiếp theo
Các công việc ưu tiên
- Hoàn thiện chức năng lập lịch, xem lịch cho các tài khoản HLV cũng như cho các tài khoản học viên
- Thiết lập các chức năng cơ bản của admin: quản lý tài khoản HLV, học viên (thêm, bớt, sửa thông tin, đổi mật khẩu…); xem tất cả lịch tập của trung tâm (bao gồm cả HLV cũng như học viên);
- Hoàn thiện chức năng đánh dấu buổi nghỉ của các học viên
- Hoàn thiện giao diện người dùng cho từng loại người dùng
- Thử nghiệm sản phẩm trong môi trường và dữ liệu thực, đánh giá tính khả thi của các tính năng cũng như tính toàn vẹn dữ liệu
Lưu ý
- Các nhóm chức năng của admin sẽ được ưu tiên trước, vì khách hàng chúng ta bàn giao sản phẩm là người quản lý của trung tâm RubyGym Sau khi hoàn thiện chức năng cho admin, sẽ gửi cho khách hàng xem trước Từ đó nhận phản hồi và chỉnh sửa hợp lý
- Sau khi hoàn thiện các công việc, lên lịch hẹn gặp với khách hàng (dự kiến trong tuần tiếp theo 13/12 – 19/12), để bàn giao và thuyết trình về nhóm chức năng đã làm được trong sprint này
Trang 10Sprint 3: (d ự kiế n 13/12 10/1) –
Sau khi kết thúc sprint 2, chúng em đã cơ bản hoàn thiện các nhóm chức năng cho các tài khoản người dùng Chúng em sẽ bắt đầu đẩy nhanh tiến độ khi bước vào sprint cuối cùng và hi vọng có thể kịp hoàn thiện để bàn giao cho khách hàng
Các công việc ưu tiên
- Hoàn thiện chức năng cho tài khoản admin: thay đổi huấn luyện viên cho học viên; xem thông tin chi tiết của huấn luyện viên và học viên, gia hạn (cũng như hủy bỏ) thẻ tập của học viên; thêm sự kiện trên trang chủ của trung tâm,…
- Hoàn thiện chức năng cho tài khoản huấn luyện viên: quản lý lịch tập của học viên (thêm, sửa, xóa lịch); thêm chức năng thiết lập mục tiêu cho học viên và đánh giá sau mỗi buổi học,…
- Hoàn thiện chức năng cho tài khoản học viên: xem mục tiêu, lịch tập, xem đánh giá cũng như thông tin chi tiết của huấn luyện viên,…
- Test toàn bộ hệ thống, đánh giá, kiểm thử và chỉnh sửa
- Hoàn thiện sản phẩm và viết tài liệu hướng dẫn sử dụng cũng như tài liệu liên quan
- Gửi cho khách hàng demo và nhận phản hồi, đến khi nào đạt được mức độ như khách hàng yêu cầu
Lưu ý
Đây làsprint cuối cùng, nhóm sẽ cố gắng nhiều nhất có thể để hoàn thiện sản phẩm kịp tiến độ và bàn giao cho khách hàng Nhóm cũng sẽ tổ chức một buổi thuyết trình, giới thiệu sản phẩm (dự kiến vào tuần 10/1 – 16/1)
Trang 11IV SUGGESTED DELIVERABLES
1 Các báo cáo ti ến độ đị nh k ỳ
Các báo cáo tiến độ định kỳ sẽ được viết nhằm trình bày cho khách hàng về tiến độ
dự án ứng với từng giai đoạn, ghi lại các chi tiết về mô hình, chức năng, kĩ thuật phát triển các chức năng mới trong giai đoạn này và những sửa đổi của những chức năng cũ sau khi
tiếp nhận những phản hồi của khách hàng ở giai đoạn trước đó
Trong bài thuyết trình định kỳ, nhóm sẽ trình bày chi tiết về bố cục thiết kế của hệ thống, các chức năng mới và sự thay đổi của hệ thống sau khi tiếp nhận phản hồi của khách hàng ở giai đoạn trước
Sau khi các yêu cầu của dự án đã được thảo luận và xem xét với khách hàng, một thỏa thuận về yêu cầu của sản phẩm sẽ được trình bày cho khách hàng để làm rõ chính xác những mục tiêu của dự án Thỏa thuận sẽ trình bày rõ ràng các tính năng và mục tiêu mà nhóm dự định cung cấp
Khách hàng sẽ được cung cấp tài liệu giải thích cách sử dụng hệ thống và mô tả cơ chế
cơ bản
Nhóm sẽ cung cấp các bản trình bày của hệ thống trong từng các giai đoạn hoàn thiện, phối hợp với các bài thuyết trình định kỳ và bằng cách phân bổ thời gian sau khi hệ thống cuối cùng hoàn thành để hướng dẫn khách hàng cách sử dụng hệ thống
Trang 12V TECHNICAL FEASIBILITY / Tính kh thi k ả ỹ thuật
1 Các yêu c ầu kỹ thu ật:
1.1 Data sorting, searching by different fields (time, date, name, etc.) / Sắp xếp
dữ liệu theo các trường khác nhau (thời gian, ngày, v.v.)
Cần phải có kỹ thuật để sắp xếp, tìm kiếm dữ liệu trên các trường thông tin khác nhau để dễ kiểm tra, sửa chữa cũng như công việc quản lý sau này
1.2 Multiple levels of access to the system / các cấp độ truy cập vào hệ thống
Người dùng bao gồm quản lý phòng gym, huấn luyện viên và hội viên, và việc phân bổ các đối tượng người dùng là một trong những mục tiêu quan trọng của hệ thống Do đó, hệ thống cần xác định các cấp độ người dùng khác nhau để phân quyền hợp lý, thay vì sử dụng các bảng dữ liệu riêng biệt
1.3 Retroactive editing of input data
Dữ liệu có thể được nhập sau nhiều lần, chỉnh sửa hay xóa
1.4 Giao diện quản trị
Hệ quản tr ị cần phải trực quan, đơn giản, giúp admin dễ dàng quản lý, ch nh ỉ sửa, thêm m i n i dung trên website m không c n hi u nhi u v k thuớ ộ à ầ ể ề ề ỹ ật
1.5 Nhiều điểm truy cập
Người dùng có thể truy cập hệ thống thông qua trình duyệt, bên cạnh đó cần
cơ chế đồng bộ, điều phối thích hợp để hệ thống không bị nghẽn
1.6 Bảo mật
Bảo mật cần được duy trì để đảm bảo tính toàn vẹn của dữ liệu Bảo vệ bằng mật khẩu và hệ thống đăng nhập (có phân quyền) là đủ an toàn cho hệ thống
1.7 Tối ưu tốc độ tải trang
Website cần được tối ưu hóa để đạt tốc độ & hiệu suất tối đa, mang đến trải nghiệm tốt nhất cho người sử dụng
1.8 Website cần tương thích với các thiết bị di động
Phần lớn các truy cập từ huấn luyện viên và học viên đều từ các thiết bị di động, nên cần thiết kế tương thích với các thiết bị di động
2 K t lu ế ận về tính kh thi k thu t ả ỹ ậ
Có ít nhất một giải pháp khả thi về mặt kỹ thuật cho hệ thống được đề xuất Hệ thống khả thi này sẽ bao gồm cơ sở dữ liệu MySQL tập trung, và server xây dựng bằng NodeJS, giao diện sử dụng VueJS (hoặc ReactJS) Các công cụ này có thể đáp ứng tốt những yêu cầu nghiệp vụ mà khách hàng đưa ra
Để kiểm tra thêm tính khả thi của hệ thống này, nhóm phải xem xét rằng khách hàng mong đợi khoảng 40 50 người dùng có thể truy cập đồng thời vào hệ thống.-
Hệ thống cuối cùng được giao cho khách hàng có thể khác với hệ thống khả thi
về mặt kỹ thuật được mô tả ở đây