THÔNG TIN NHÓM
Đề Tài của nhóm
Đề tài: App selling food.
Tên Nhóm
Nhóm: Quản trị dự án phầm mềm.
Ý nghĩa Nhóm
Quản lý dự án phần mềm bao gồm các hoạt động của một tập thể với chuyên môn và vai trò khác nhau, nhằm đạt được kết quả mong muốn trong thời gian và ngân sách đã định Khái niệm này nhấn mạnh sự hợp tác của các thành viên, bất kể sự khác biệt về độ tuổi, vị trí địa lý hay kinh nghiệm, tất cả đều nỗ lực để hoàn thành công việc một cách hiệu quả nhất, hướng tới kết quả tốt nhất cho nhóm.
Danh sách các thành viên nhóm
STT Họ và tên MSSV SĐT Lớp Email
1 Nguyễn Đồng Vinh 1711062574 dongvinh6299@gmail. com
2 Thòng Phát Siêu 1911065144 sieu.thong95@hcmut.e du.vn
4 Phạm Anh Tuấn 2080600787 phamtuan12022001@g mail.com
5 Trần Phúc Hiếu 2080500025 phuchieu20.01@gmail. com
PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU
Tổng quan về đề tài
Trong thế kỷ 21, cụm từ “Công Nghệ 4.0” ngày càng trở nên phổ biến nhờ sự phát triển mạnh mẽ của Công Nghệ Thông Tin Công nghệ này đã được áp dụng rộng rãi trong mọi lĩnh vực và ngành nghề, ảnh hưởng đến nhiều khía cạnh của cuộc sống hiện đại Bên cạnh đó, Công Nghệ Thông Tin cũng đã trở thành một phần quan trọng trong chương trình giảng dạy tại các trường học, từ cấp tiểu học cho đến đại học và thạc sĩ.
Với tính ứng dụng cao, việc quản lý thực phẩm nhanh chóng ngày càng được cải thiện thông qua công nghệ, nhằm nâng cao hiệu quả và tối ưu hóa quy trình quản lý.
Một quán ăn với nhiều món ngon và đặc sắc sẽ thu hút đông đảo khách hàng Ngay cả những quán nhỏ cũng có thể đạt doanh thu ổn định khoảng 150.000.000đ/tháng nếu áp dụng phương pháp marketing online hiệu quả và tối ưu hóa ứng dụng quản lý quán Việc sử dụng phần mềm quản lý bán đồ ăn giúp theo dõi doanh thu, xác định món ăn bán chạy và quản lý chương trình khuyến mãi một cách dễ dàng Từ đó, bạn có thể phân tích dữ liệu và đưa ra những quyết định đúng đắn cho sự phát triển của quán ăn trong tương lai.
- Lấy yêu cầu khách hàng :
STT Câu Hỏi Trả Lời
Anh/chị muốn chương trình có những chức năng nào?
Chức năng bán hàng cho phép thêm và bớt món ăn, đồ uống một cách linh hoạt Hệ thống cũng hỗ trợ quản lý máy móc và nhân viên hiệu quả Ngoài ra, nó cung cấp khả năng tổng kết doanh thu và truy xuất thông tin doanh thu một cách nhanh chóng và chính xác.
2 Quy mô quán của bạn trong tương lai? Quy mô quán nhỏ hoặc lớn.
3 Anh/ chị muốn giao diện như thế nào? Giao diện thân thiện, dễ sử dụng , đẹp bắt mắt
4 Mô hình của Anh/chị tại cửa hàng? gọi đồ ăn , đồ uống và thanh toán luôn.
5 Anh/chị có yêu cầu nhân viên đăng nhập/ đăng xuất tài khoản khi giao/nhận ca hay không? Có
6 Anh/chị có muốn phần mềm được bảo mật không? Có
Đặc tả yêu cầu
Hệ thống quản lý quán ăn của chúng tôi đáp ứng đầy đủ nhu cầu cơ bản, giúp phục vụ và thanh toán nhanh chóng ngay cả trong giờ cao điểm Với khả năng order nhanh và chính xác, phiếu gọi món được in ngay trong bếp, tăng tốc độ chế biến và phục vụ đúng thứ tự Chúng tôi cung cấp dịch vụ chuyên nghiệp hơn với việc in tạm tính, giảm thiểu 100% thất thoát nhờ thao tác in hóa đơn Hệ thống linh động áp dụng khuyến mãi để thu hút khách hàng, đảm bảo quá trình thanh toán không bao giờ bị gián đoạn Ngoài ra, quy trình quản lý được tối ưu hóa, cho phép quản lý chính xác nguyên liệu sử dụng trong ngày và doanh thu mà không tốn nhiều thời gian tính toán Bạn có thể quản lý mọi thứ từ A tới Z ngay cả khi không có mặt tại quán, và chúng tôi luôn sẵn sàng hỗ trợ khách hàng một cách tận tình.
Hệ thống yêu cầu chức năng cho phép nhân viên thao tác linh hoạt bằng chuột, bàn phím trên máy tính và qua ứng dụng di động Admin có thể dễ dàng thêm, bớt và chỉnh sửa các món ăn trong Menu, đồng thời xuất hóa đơn cho khách hàng Nhân viên cũng có quyền thêm, xóa và sửa món ăn, quản lý đăng nhập và đăng xuất, cũng như tài khoản cá nhân Hệ thống quản lý thời gian làm việc của nhân viên, thực phẩm nguyên liệu, thống kê doanh thu, báo cáo công việc và ý kiến phản hồi từ khách hàng một cách hiệu quả.
Yêu cầu phi chức năng bao gồm giao diện đẹp, dễ sử dụng và thân thiện với người dùng, đảm bảo sự ổn định và xử lý nhanh chóng Hệ thống cần hỗ trợ nhiều người dùng cùng lúc và có bố cục rõ ràng để nâng cao trải nghiệm người dùng.
Phân tích yêu cầu
Các chức năng cần có:
- Quản lý phản hồi khách hàng.
THIẾT KẾ VÀ TỔ CHỨC DỮ LIỆU
Giới thiệu về môi trường và ngôn ngữ lập trình
- Phần mền được viết bằng ngôn ngữ lập trình C#.
- Sử dụng Winform trong môi trường Visual Studio để lập trình.
- Sau khi hoàn thiện và đóng gói phần mềm, khách hàng có thể tải và
- cài đặt phần mềm trên các thiết bị như: máy tính để bàn, laptop, máy pos tính tiền,
Sơ đồ Activity Diagram
Sơ đồ Activity Diagram cho quy trình Đăng Nhập giúp hình dung các bước cần thiết để người dùng truy cập hệ thống Tương tự, sơ đồ cho quy trình Đăng Xuất mô tả cách người dùng rời khỏi hệ thống một cách an toàn Đối với quản lý bán hàng, sơ đồ Activity Diagram cho thấy quy trình từ khi tiếp nhận đơn hàng đến khi hoàn tất giao dịch Trong khi đó, sơ đồ quản lý món ăn phác thảo các bước liên quan đến việc thêm, sửa đổi và xóa món ăn trong hệ thống Cuối cùng, sơ đồ quản lý nhân viên giúp quản lý thông tin và quy trình liên quan đến nhân sự trong tổ chức.
Đặc tả sơ đồ USE CASE
- Đối tượng sử dụng (User): nhân viên và quản lý.
- Use case này mô tả các bước đăng nhập vào vệ thống.
Để thực hiện đăng nhập, người dùng cần cung cấp thông tin đăng nhập và mật khẩu Sau khi nhập đầy đủ thông tin, người dùng nhấn nút đăng nhập Hệ thống sẽ kiểm tra thông tin và thông báo kết quả cho người dùng; nếu đăng nhập thành công, quyền truy cập sẽ được phân theo loại tài khoản (nhân viên hoặc quản lý) Ngược lại, nếu đăng nhập thất bại, hệ thống sẽ hiển thị thông báo yêu cầu người dùng thử lại.
- Đối tượng sử dụng (User): bao gồm các thành viên trong Use Case đăng nhập.
- Use case này mô tả các bước đăng xuất hệ thống.
Để thực hiện chức năng đăng xuất khỏi hệ thống, người dùng cần thực hiện các bước sau: trước tiên, người dùng tiến hành đăng xuất khỏi tài khoản Sau đó, hệ thống sẽ tự động đăng xuất tài khoản của người dùng.
- Đối tượng sử dụng (User): nhân viên/ thu ngân.
Use case này cho phép nhân viên và thu ngân tiếp nhận đơn gọi món từ khách hàng hoặc nhân viên phục vụ, đồng thời thực hiện thanh toán cho tất cả các món ăn đã được gọi.
Để thực hiện quy trình thanh toán, nhân viên hoặc thu ngân cần đăng nhập vào hệ thống và chọn số bàn hoặc số thứ tự hiển thị trên màn hình Hệ thống sẽ tự động hiển thị menu của quán, cho phép nhân viên chọn món ăn và số lượng phù hợp trước khi nhấn nút thêm món Sau khi nhập đầy đủ các món khách hàng yêu cầu, nhân viên tiếp tục chọn chức năng thanh toán Hệ thống sẽ tạo hóa đơn với thông tin chi tiết về món ăn, số lượng và giá, đồng thời yêu cầu nhân viên chọn các ưu đãi của cửa hàng Cuối cùng, nhân viên chỉ cần nhấn nút “thanh toán”, hệ thống sẽ tự động in hóa đơn và lưu trữ thông tin chi tiết.
Chi tiết hóa đơn là bước quan trọng trong quy trình quản lý món Sau khi kết thúc use case, hệ thống sẽ lưu trữ thông tin hóa đơn của khách hàng nếu use case được thực hiện thành công.
- Đối tượng sử dụng (User): Quản lý.
- Use case này cho phép quản lý món ăn như sau: thêm món ăn, xóa món ăn, sửa món ăn.
Để quản lý món ăn trong hệ thống, quản lý/admin cần đăng nhập và chọn nút “Admin” – “Chọn Món” Hệ thống sẽ hiển thị menu món ăn, cho phép người dùng chọn món cần thêm, sửa đổi hoặc xóa và điền thông tin cần thiết Sau khi hoàn tất, người dùng chỉ cần nhấn nút “Thêm”, “Sửa” hoặc “Xóa” để hệ thống tự động lưu lại thông tin đã nhập.
- Đối tượng sử dụng (User): Quản lý/ Admin.
- Use case này cho phép quản lý quản lý nhân viên như: thêm nhân viên, xóa nhân viên, sửa nhân viên.
Để quản lý nhân viên trong hệ thống, trước tiên bạn cần đăng nhập và chọn nút “Quản Lý” Tiếp theo, hãy nhấn vào phần nhân viên và chọn các tùy chọn “Thêm”, “Sửa” hoặc “Xóa” Hệ thống sẽ tự động lưu lại tất cả thông tin mà bạn đã nhập.
Thiết kế Database
THIẾT KẾ GIAO DIỆN
Danh sách các màn hình
STT Tên Màn Hình Ý Nghĩa/Ghi Chú
Màn hình đăng nhập cho phép người dùng truy cập vào hệ thống, yêu cầu mỗi người có một tài khoản riêng Để sử dụng ứng dụng, người dùng cần đăng nhập bằng tài khoản đã đăng ký trước đó.
Khi đăng nhập vào hệ thống, người dùng cần cung cấp đầy đủ thông tin bao gồm tên đăng nhập và mật khẩu Người dùng trong hệ thống này bao gồm cả Admin và nhân viên Tất cả các thông tin liên quan được quản lý thông qua chức năng quản lý tài khoản của Admin.
Để đăng nhập, người dùng chưa có tài khoản cần nhấp vào mục “Đăng ký” ở phía dưới Hệ thống sẽ tự động chuyển đến trang đăng ký để người dùng thực hiện quá trình đăng ký.
Nếu bạn đã có tài khoản nhưng quên mật khẩu, hãy nhấn vào mục “Đặt lại mật khẩu” ở phía dưới Hệ thống sẽ đưa bạn đến trang để đặt lại mật khẩu cho tài khoản của mình.
2 Màn hình chính Giao diện chính sẽ hiển thị danh mục khuyến mãi, gợi ý món ăn cho người dùng.
3 Màn hình menu nhà hàng
Hiện thông tin món ăn bao gồm: Tên món ăn –Nhóm món ăn – Đơn giá – Giới thiệu món ăn.
4 Màn hình giao diện cá nhân
Hiển thị danh sách đặt hàng, giá tiền từng món và tổng giá trị đơn hàng.
5 Màn hình thông tin người dùng
Hiển thị số người đang hoạt động trên ứng dụng của bạn.
Số sách mặt hàng đang bán.
Số lượng đơn hàng đã bán.
Người dùng muốn đăng xuất tài khoản sẽ nhấn vào nút LOG OUT Hệ thống sẽ tự động thoát.
Sau khi người dùng nhấn vào nút đăng xuất sẽ hiện ra giao diện đăng nhập
2 Mô tả chi tiết mỗi màn hình a) Màn hình đăng nhâ ̣p
STT Tên Kiểu Chức năng Ghi chú
Tên đăng nhâ ̣p của người dùng
2 Mâ ̣t khẩu Textbo x Mâ ̣t khẩu của người dùng
3 Đăng nhâ ̣p Button Đăng nhâ ̣p vào hê ̣ thống
4 Thoát Button Thoát khỏi phần mềm
Danh sách các biến cố và xử lý tương ứng:
STT Biến cố Xử lý
Khi người dùng nhập sai tên đăng nhập hoặc mật khẩu, một thông báo sẽ hiển thị: “Sai tài khoản hoặc mật khẩu” Nếu người dùng nhập đúng tên đăng nhập và mật khẩu, họ sẽ được chuyển đến màn hình chính.
Hiê ̣n ra MessageBox “bạn có muốn thoát chương trình?” Nếu người dùng chọn OK => thoát chương trình
Nếu người dùng chọn Cancel => thoát MessageBox, trở về Màn hình đăng nhâ ̣p.
Kết luận: Chức năng chính của đăng nhập vào màn hình chính. b) Màn hình đặt lại mật khẩu
STT Tên Kiểu Chức năng Ghi chú
Tên đăng nhâ ̣p của người dùng
2 Mâ ̣t khẩu Textbo x Mâ ̣t khẩu của người dùng
3 Nhập mật khẩu Textbo Mật khẩu mới cần đặt mới x
4 Đặt lại mật khẩu Button Đổi mật khẩu
Danh sách các biến cố và xử lý tương ứng:
STT Biến cố Xử lý
Nếu người dùng nhập sai tên đăng nhập hoặc mật khẩu, một MessageBox sẽ hiển thị thông báo: “Sai tài khoản hoặc mật khẩu” Ngược lại, nếu người dùng nhập đúng tên đăng nhập và mật khẩu, hệ thống sẽ cho phép truy cập.
Nếu người dùng nhập mật khẩu cũ trùng với mật khẩu khẩu => hiê ̣n ra MessageBox: “Hãy đổi mật khẩu khác với mật khẩu vũ”.
Kết luận: Chức năng đổi mật khẩu, sau đó đăng nhập vào màn hình đăng nhập c) Màn hình chính:
Tên Kiểu Chức năng Ghi chú
1 Thông tin tài khoản MenuStrip Thông tin cá nhân, Đăng xuất
2 Tìm kiếm Textbox Tìm kiếm
3 Danh sách món ăn image Hiển thị những món ăn
Button Thêm món ăn vào danh sách món ăn
5 Danh sách thực đơn Button Hiển thị các món ăn
Danh sách các biến cố và xử lý tương ứng:
STT Biến cố Xử lý
1 Nhấn thông tin tài khoản
Hiển thị ra 2 mục chính là: Thông tin tài khoản và Đăng xuất.
Nếu nhấn vào Tab Thông tin tài khoản thì sẽ hiển thị Màn hình thông tin tài khoản
Nếu nhấn vào Tab Đăng xuất sẽ thoát khỏi chương trình và trở về Màn hình đăng nhâ ̣p
Gõ tên món ăn vào ô tìm kiếm, nếu không tin thấy món ăn đó hoặc từ khoá đó sẽ hiện thông báo là Không có sản phẩm này
Nếu người dùng chưa chọn số lượng món ăn, một thông báo sẽ hiển thị yêu cầu: “Vui lòng chọn số lượng” Tương tự, nếu chưa chọn món ăn, sẽ có thông báo: “Vui lòng chọn món ăn” Các món ăn đã chọn cùng với số lượng sẽ được hiển thị trên màn hình, kèm theo đơn giá và thành tiền của mỗi món Tổng tiền sẽ được hiển thị trong TextBox tổng tiền.
Kết luận: Dùng để xem và đặt món. d) Giao diện menu nhà hàng
STT Tên Kiểu Chức năng Ghi chú
1 Nhập tên món ăn Textbox
Cho phép nhập tên món ăn
Cho phép nhập giá món ăn
3 Nhập reviewer Button Cho phép nhập reviewer món ăn
4 Chụp ảnh Button Chụp ảnh trực tiếp từ điện thoại
5 Chọn ảnh Button Lấy ảnh từ thư viện
Danh sách các biến cố và xử lý tương ứng:
STT Biến cố Xử lý
1 Chụp ảnh Nếu máy ảnh lỗi sẽ hiện thông báo camrera lỗi
2 Nhập giá Nhập giá sai định dạng thành chữ => Thông báo nhập lại đúng
Kết luận: chức năng thêm món ăn e) Màn hình giao diện cá nhân
T Tên Kiểu Chức năng Ghi chú
Hiển thị thông tin chi tiết về món ăn/ đồ uống đã đặt
2 Thành tiền Textbox Hiển thị tổng thành tiền cho khách hàng xem
3 Thanh toán Button Khách hàng muốn thanh toán
Danh sách biến cố và xử lý tương ứng:
STT Biến cố Xử lý
Nếu danh sách đồ ăn chưa có món nào sẽ hiện lên, nút thanh toán bị enable
Kết luận: Quản lý món ăn, thức uống trên màn hình cá nhân f) Màn hình thông tin người dùng
STT Tên Kiểu Chức năng Ghi chú
1 Trạng thái Textbox Trạng thái hoạt động của tài khoản 2
Số lượng mặt hàng đang bán
Textbox Hiển thị số lượng mặt hàng đang bán
3 Số lượng mặt hàng đã bán Textbox Hiển thị số lượng mặt hàng đã bán
4 Tổng thu nhập Textbox Hiển thị tổng thu nhập
5 Đăng xuất Button Đăng xuất tài khoản
Danh sách biến cố và xử lý tương ứng:
STT Biến cố Xử lý
1 Nhấn button đăng xuất Đăng xuất tài khoản
Kết luận: quản lý trang cá nhân admin
Mô tả chi tiết mỗi màn hình
CHƯƠNG 6: KIỂM THỬ PHẦN MỀM
QUẢN TRỊ DỰ ÁN PHẦN MỀM
Phương pháp quản trị dự án của nhóm
Phần mềm được phát triển bằng ngôn ngữ Java, hoạt động trên hệ điều hành Android, với giao diện được thiết kế trong Android Studio và quản lý dữ liệu thông qua SQLite.
SQLite có nhiều ưu điểm nổi bật, bao gồm việc không yêu cầu một quy trình hoặc hệ thống máy chủ riêng biệt để hoạt động, giúp đơn giản hóa quá trình triển khai Hơn nữa, SQLite không cần cấu hình, điều này có nghĩa là người dùng không cần thực hiện bất kỳ thiết lập hay quản trị nào Với kích thước nhỏ gọn, SQLite chỉ nặng dưới 400KiB khi được cấu hình đầy đủ và dưới 250KiB khi bỏ qua các tính năng tùy chọn Cuối cùng, SQLite là một hệ thống khép kín, không phụ thuộc vào bất kỳ thành phần bên ngoài nào, mang lại sự tiện lợi cho người sử dụng.
SQLite có nhược điểm là sử dụng cơ chế khóa coarse-grained, cho phép nhiều người đọc dữ liệu cùng lúc nhưng chỉ cho phép một người ghi dữ liệu tại một thời điểm Do đó, SQLite không phải là lựa chọn tối ưu cho việc xử lý khối lượng dữ liệu lớn và phát sinh liên tục.
2 Công nghệ phát triển ứng dụng android
Hiện nay, có ba công nghệ phát triển ứng dụng cho hệ điều hành Android: sử dụng Java thuần túy, C++ cho ứng dụng game, và công nghệ Cross platform hoặc Hybrid Sử dụng Java thuần là công nghệ cơ bản và được Google khuyên dùng, vì nó tích hợp sẵn trong các phần mềm lập trình, đảm bảo tính tương thích và hiệu suất cao Hầu hết các ứng dụng Android hiện nay đều được phát triển từ nền tảng này, và Google cùng các nhà phát triển thường xuyên cập nhật các thư viện hỗ trợ Các phần mềm phát triển như Android Studio và Eclipse cũng sử dụng nền tảng này, giúp lập trình viên dễ dàng hơn trong quá trình phát triển ứng dụng.
Phần mềm của chúng tôi bao gồm 1.450 dòng code, tương đương với 1.650 KLOC Theo phương pháp COCOMO, dự án này được phân loại là Organic, tức là một dự án nhỏ với ít yêu cầu và đổi mới.
- Theo bảng phương pháp COCOMO, ta sẽ có các hệ số a, b, c, d tương ương sau:
- Ước tính Người/Tháng (kí hiệu là E):
KLOC: Ước tính số dòng lệnh của sản phẩm dự án phần mềm.
a,b là các hệ số được xác định theo sau.
- Thời gian làm dự án (kí hiệu là TDEV):
TDEV: thời gian làm dự án.
c,d là các hệ số được xác định theo sau.
Tính toán chi phí
Phần mềm của chúng tôi có 1.450 dòng code, tương đương với 1.650 KLOC Theo phương pháp COCOMO, dự án này được phân loại là Organic, tức là thuộc loại dự án nhỏ với ít yêu cầu và đổi mới.
- Theo bảng phương pháp COCOMO, ta sẽ có các hệ số a, b, c, d tương ương sau:
- Ước tính Người/Tháng (kí hiệu là E):
KLOC: Ước tính số dòng lệnh của sản phẩm dự án phần mềm.
a,b là các hệ số được xác định theo sau.
- Thời gian làm dự án (kí hiệu là TDEV):
TDEV: thời gian làm dự án.
c,d là các hệ số được xác định theo sau.
- Số lượng nhân viên cần (ký hiệu là SS):
- Mức độ hiệu quả của dự án (ký hiệu là P):