



















Preview text:
lOMoAR cPSD| 61769897 1 lOMoAR cPSD| 61769897 Nhiệm vụ
Đặt bài toán, phân tích bài toán và trình bày quy trình thao tác 1
dưới dạng sơ đồ khối
Tổng hợp kiểm tra lại nội dung 2 Làm báo cáo và PP
Thư kí ghi lại ND buổi họp
Viết chương trình chạy Code bao gồm các menu lựa chọn thực hiện các yêu cầu sau: 3
1. Nhập thông tin sản phẩm
2. Xoá thông tin 1 sản phẩm bất kỳ
Viết chương trình chạy Code bao gồm các menu lựa chọn thực hiện các yêu cầu sau: 4
3. Cập nhật thông tin sản phẩm
4. Tìm kiếm thông tin sản phẩm
Hỗ trợ vẽ sơ đồ khối 5
Viết kịch bản thuyết trình
Thuyết trình phần bài làm của nhóm 2 lOMoAR cPSD| 61769897
DANH SÁCH THÀNH VIÊN NHÓM 5 Nhiệm vụ Điể STT Họ và tên MSV Đánh giá m Nguyễn Thị Nhung 23D1900 NV1 Hoàn thành tốt Huyền 20 nhiệm vụ. (Nhóm trưởng) Tích cực tham gia 1 xây dựng bài thảo luận. Triệu Phúc Hương 23D19002 NV2 Hoàn thành tốt 1 nhiệm vụ. Tích cực tham gia 2 xây dựng bài thảo luận. Nguyễn Trung Kiên NV3 Hoàn thành tốt nhiệm vụ. Tích cực tham gia 3 23D19002 2 xây dựng bài thảo luận. 4 Lê Thị Lan 23D19002 NV4 Hoàn thành tốt 3 nhiệm vụ. Tích cực tham gia xây dựng 3 lOMoAR cPSD| 61769897 bài thảo luận. Đinh Thị Mai Linh 23D19002 NV5 Hoàn thành tốt 4 nhiệm vụ. Tích cực tham gia 5 xây dựng bài thảo luận. 4 lOMoAR cPSD| 61769897
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
Hà Nội, ngày 18 tháng 11 năm 2023
BIÊN BẢN HỌP NHÓM (LẦN 1) I.
THỜI GIAN-ĐỊA ĐIỂM
1. Thời gian: 21h, ngày 18/12/2023
2. Địa điểm: Cuộc họp online trên Google Meet
II. THÀNH PHẦN THAM DỰ (5/5)
Nguyễn Thị Nhung Huyền (Nhóm trưởng), Triệu Phúc Hương, Nguyễn Trung Kiên,
Lê Thị Lan, Đinh Thị Mai Linh.
III. NỘI DUNG CUỘC HỌP
1.Nhóm trưởng đề xuất phương án phân chia công việc theo nguyện vọng, các
thành viên đều tán thành.
2.Các ý kiến được thống nhất theo yêu cầu của đề bài thảo luận, chốt được nhiệm
vụ cụ thể của từng thành viên.
3.Cả nhóm thảo luận về những vấn đề trong từng câu hỏi mà mỗi thành viên phụ trách.
4.Nhóm trưởng thống nhất thời gian làm bài và đặt hạn làm bài lần 1.
IV. KẾT LUẬN CUỘC HỌP
1.Các thành viên tham gia đầy đủ và tích cực thảo luận bàn bạc vấn đề được giao.
2.Cuộc họp diễn ra suôn sẻ và kết thúc vào 22h30 ngày 18 tháng 12 năm 2023. Thư ký Nhóm trưởng
(Ký, ghi rõ họ tên)
(Ký, ghi rõ họ tên) Hương Huyền Triệu Phúc Hương Nguyễn Thị Nhung Huyền
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
Hà Nội, ngày 22 tháng 12 năm 2023
BIÊN BẢN HỌP NHÓM (LẦN 2)
I. THỜI GIAN-ĐỊA ĐIỂM
1. Thời gian: 21h, ngày 30/11/2023
2. Địa điểm: Cuộc họp online trên Google Meet 5 lOMoAR cPSD| 61769897
II. THÀNH PHẦN THAM DỰ (5/5)
Nguyễn Thị Nhung Huyền (Nhóm trưởng), Triệu Phúc Hương, Nguyễn Trung
Kiên, Lê Thị Lan, Đinh Thị Mai Linh.
III. NỘI DUNG CUỘC HỌP
1. Nhóm trưởng chỉ ra những thiếu sót của bài thảo luận, đưa ra hướng giải quyết vấn đề.
2. Các thành viên cho ý kiến và tiến hành hoàn thiện bài thảo luận.
3. Thuyết trình thử và chuẩn bị thuyết trình chính thức
IV. KẾT LUẬN CUỘC HỌP
1. Các thành viên tham gia đầy đủ, tích cực đóng góp ý kiến cho bài thảo luận nhóm.
2. Cuộc họp diễn ra suôn sẻ và kết thúc vào 23h30 ngày 22 tháng 12 năm 2023. Thư ký Nhóm trưởng
(Ký, ghi rõ họ tên)
(Ký, ghi rõ họ tên) Hương Huyền Triệu Phúc Hương Nguyễn Thị Nhung Huyền MỤC LỤC
LỜI NÓI ĐẦU......................................................................................................................................8 A.
ĐẶT BÀI TOÁN....................................................................................................................9 1.
Đặt bài toán............................................................................................................................9 1.1.
Quản lý tồn kho:.................................................................................................................9 1.2.
Nhập và xuất kho:...............................................................................................................9 1.3.
Quản lý đặt hàng và cung ứng:...........................................................................................9 1.4.
Kiểm soát chất lượng:.........................................................................................................9 1.5.
Quản lý vị trí lưu trữ:........................................................................................................10 1.6.
Theo dõi thành phần sản phẩm:.......................................................................................10 1.7.
Báo cáo và thống kê:.........................................................................................................10 1.8.
Quản lý rủi ro:...................................................................................................................10 1.9.
Tích hợp hệ thống:............................................................................................................10 1.10.
Quản lý nhân sự:...........................................................................................................10 2.
Nhập thông tin sản phẩm.....................................................................................................11 2.1.
Đầu vào (Input).................................................................................................................11 6 lOMoAR cPSD| 61769897 2.2.
Đầu ra (Outputs):..............................................................................................................11 2.3.
Các trường hợp có thể xảy ra (Use Cases):.......................................................................11
3. Xóa một thông tin sản phẩm bất kỳ......................................................................................12 3.1.
Đầu vào (Inputs):..............................................................................................................12 3.2.
Đầu ra (Outputs):..............................................................................................................12 3.3.
Các trường hợp có thể xảy ra (Use Cases):.......................................................................12
4. Cập nhật thông tin sản phẩm................................................................................................13 4.1.
Đầu vào (Inputs):..............................................................................................................13 4.2.
Đầu ra (Outputs):..............................................................................................................13 4.3.
Các trường hợp có thể xảy ra (Use Cases):.......................................................................13
5. Tìm kiếm thông tin sản phẩm...............................................................................................14 5.1.
Đầu vào (Inputs):..............................................................................................................14 5.2.
Đầu ra (Outputs):..............................................................................................................14 5.3.
Các trường hợp có thể xảy ra (Use Cases):.......................................................................14 B.
PHÂN TÍCH BÀI TOÁN VÀ TRÌNH BÀY QUY TRÌNH CÁC THAO TÁC DẠNG SƠ ĐỒ KHỐI......15
1. Phân tích bài toán.................................................................................................................15
2. Sơ đồ khối từng chức năng...................................................................................................18 C.
CÀI ĐẶT CHƯƠNG TRÌNH TRÊN PYTHON..........................................................................22 1.
Nhập thông tin sản phẩm.....................................................................................................22 1.1.
Khởi tạo một danh sách trống để lưu trữ thông tin các sản phẩm. kho_hang = []...........22 1.2.
Kiểm tra định dạng mã sản phẩm....................................................................................22 1.3.
Kiểm tra định dạng ngày tháng năm.................................................................................22 1.4.
Kiểm tra định dạng tên sản phẩm.....................................................................................22 1.5.
Hàm kiểm tra định dạng số lượng....................................................................................22 1.6.
Hàm kiểm tra định dạng giá nhập.....................................................................................23 1.7.
Hàm nhập thông tin sản phẩm.........................................................................................23 1.8.
Kiểm tra xem mã sản phẩm đã tồn tại trong kho_hang hay chưa....................................23 1.9.
Nhập tên sản phẩm...........................................................................................................23 1.10.
Nhập số lượng sản phẩm..............................................................................................24 1.11.
Nhập giá nhập...............................................................................................................24 1.12.
Nhập ngày nhập sản phẩm...........................................................................................24 1.13.
Tạo một từ điển san_pham chứa các thông tin vừa nhập và thêm vào danh sách
kho_hang......................................................................................................................................25 2.
Xóa thông tin sản phẩm........................................................................................................25 2.1.
Kiểm tra danh sách kho_hang có trống không..................................................................25
3. Cập nhật thông tin sản phẩm....................................................................................................26 7 lOMoAR cPSD| 61769897 3.1.
Kiểm tra danh sách kho_hang có trống không..................................................................26 3.2.
Nhập mã sản phẩm cần cập nhật, kiểm tra định dạng và duyệt qua từng sản phẩm trong
danh sách kho_hang.....................................................................................................................26 3.3.
Duyệt qua từng trường thông tin trong danh sách trường thông tin:..............................27 4.
Tìm kiếm thông tin sản phẩm...............................................................................................29 4.1.
Kiểm tra danh sách kho_hang có trống không..................................................................29 4.2.
Hiển thị menu lựa chọn tìm kiếm theo mã sản phẩm, tên sản phẩm hoặc cả hai.............29 4.3.
Nếu từ khóa là "1" (tìm kiếm theo mã sản phẩm)............................................................29 4.4.
Nếu từ khóa là "2" (tìm kiếm theo tên sản phẩm)............................................................30 4.5.
Nếu từ khóa khác 1 và 2 thì thông báo tiêu chí không phù hợp rồi kết thúc....................31
5. Định nghĩa hàm hiển thị menu hien_thi_menu()..................................................................31
6. Chương trình quản lí kho......................................................................................................31 6.1.
Trong vòng lặp, gọi hàm hien_thi_menu() để hiển thị menu cho người dùng..................31 6.2.
Sử dụng câu lệnh if-elif-else để kiểm tra giá trị của lua_chon và thực hiện các chức năng
tương ứng:...................................................................................................................................32 KẾT
LUẬN..........................................................................................................................................33 LỜI NÓI ĐẦU
Quản lý kho trong doanh nghiệp là một việc rất quan trọng là hoạt động phát quản lý
phải tiến hành nhiều việc phức tạp, các doanh nghiệp không chỉ có mô hình tập trung
mà còn tổ chức mô hình kho phân tán trên nhiều địa điểm trong phạm vi vùng, quốc
gia, quốc tế. Quản lý thống nhất mô hình này trong kho không phải là việc đơn giản nếu
chỉ sử dụng phương pháp kho truyền thống.
Phần mềm quản lý kho hàng vật tư là một giải pháp tiên tiến. Nó là một hệ thống quản
lý đầy đủ các thông tin về kho, cách thứ hàng hóa cũng như các nhiệm vụ nhập kho,
xuất khẩu nội bộ, kiểm kê cho vật tư và điều chỉnh luật tư sau khi kiểm kê.
Để xử lý thông tin một cách nhanh chóng, chính xác phải có hiệu quả thì ngành công
nghệ thông tin đã phát triển tương đối phổ biến trên thế giới nói chung và việt nam nói
riêng, nó đã cung cấp cho chúng ta những biện pháp cần thiết đó. Đã qua đi thời gian
tính toán, những lưu trữ dữ liệu bằng các phương pháp thủ công truyền thống mang
nặng tính chất lạc hậu, lỗi thời. Công nghệ thông tin đã đi vào các ngành với một
phương thức hoạt động hoàn toàn mới mẻ, sáng tạo và nhanh chóng mà không mất đi sự chính xác.
Việc ứng dụng công nghệ thông tin đã mang lại bước đột phá mới cho công tác quản lý
kho, giúp doanh nghiệp nắm bắt được thông tin về hàng hóa, vật tư, nguyên vật liệu và 8 lOMoAR cPSD| 61769897
sản phẩm một cách chính xác kịp thời. Từ đó người quản lý doanh nghiệp có thể đưa
ra kế hoạch và quyết định đúng đắn giảm chi phí và tăng khả năng cạnh tranh, nâng cao
kết quả hoạt động sản xuất kinh doanh. A. ĐẶT BÀI TOÁN 1. Đặt bài toán 1.1. Quản lý tồn kho:
• Số lượng hàng tồn kho: Kiểu dữ liệu là số nguyên. Phải là giá trị không âm
(>= 0). Cần kiểm tra và chuẩn hóa để tránh các giá trị âm hoặc không hợp lệ.
• Giá trị tồn kho: Kiểu dữ liệu là số thực. Cần kiểm tra và đảm bảo giá trị không âm.
• Phân loại hàng hóa trong kho (theo nhóm, loại sản phẩm): Chuẩn hóa theo
hệ thống phân loại nội bộ của công ty. Tránh trùng lặp hoặc sự không nhất
quán trong cách phân loại.
• Theo dõi theo đơn vị đo (đơn vị, kg, lit): Thực hiện chuẩn hóa các đơn vị đo,
đảm bảo tính nhất quán. 1.2. Nhập và xuất kho:
• Lịch sử nhập và xuất hàng từ kho.
• Ngày giờ giao dịch: Lưu trữ dưới dạng định dạng ngày giờ chuẩn, ví dụ: ISO 8601, dd/mm/yyyy hh:mm:ss.
• Số lượng hàng nhập và xuất: Kiểu dữ liệu số nguyên. Đảm bảo giá trị không âm.
• Thông tin người thực hiện giao dịch: Liên kết với hồ sơ nhân viên, đảm bảo
tính chính xác và không trùng lặp. 1.3.
Quản lý đặt hàng và cung ứng:
• Theo dõi lịch sử đặt hàng và nhà cung ứng.
• Thông tin về số lượng đặt hàng, ngày đặt hàng, và dự kiến ngày nhận hàng:
Đảm bảo định dạng ngày tháng hợp lệ và chuẩn.
• Tình trạng đặt hàng (đã gửi, đang vận chuyển, đã nhận): Sử dụng tập giá trị
nhất quán (ví dụ: "Đã gửi", "Đang vận chuyển", "Đã nhận"). 1.4.
Kiểm soát chất lượng:
• Thông tin về chất lượng sản phẩm trong kho.
• Ngày sản xuất và hạn sử dụng: Lưu trữ theo định dạng ngày tháng, đảm bảo tính hợp lệ. 9 lOMoAR cPSD| 61769897
• Kết quả kiểm tra chất lượng (nếu có): Sử dụng tập giá trị (ví dụ: "Đạt", "Không đạt"). 1.5.
Quản lý vị trí lưu trữ:
• Vị trí cụ thể của sản phẩm trong kho: Đảm bảo sự duy nhất và tính nhất quán.
• Dữ liệu về khu vực lưu trữ, giá đỡ, khu vực pallet, v.v…:
Chuẩn hóa và tránh trùng lặp. 1.6.
Theo dõi thành phần sản phẩm:
• Thông tin về thành phần của từng sản phẩm: Chuẩn hóa theo các nguyên tắc
của ngành café, tránh trùng lặp.
• Đặc tính kỹ thuật và thông số kỹ thuật: Chuẩn hóa theo yêu cầu công ty 1.7.
Báo cáo và thống kê:
• Báo cáo tồn kho định kỳ: Đảm bảo định dạng và tính nhất quán.
• Báo cáo về doanh số bán hàng và doanh thu từ kho: Đảm bảo các số liệu
thống kê được lưu trữ với kiểu dữ liệu phù hợp, chẳng hạn như số nguyên hay số thập phân.
• Thống kê về số lượng hàng tồn kho theo loại sản phẩm:
Chuẩn hóa và đảm bảo sự chính xác. 1.8. Quản lý rủi ro:
• Theo dõi và đánh giá rủi ro trong quá trình vận chuyển và lưu kho: Chuẩn hóa
theo các tiêu chuẩn an toàn và bảo mật.
• Hệ thống bảo hiểm cho kho hàng (nếu có). 1.9.
Tích hợp hệ thống:
• Liên kết với hệ thống quản lý doanh nghiệp (ERP) để tối ưu hóa quy trình
kinh doanh: Đảm bảo sự tương thích và tính nhất quán.
• Tích hợp các hệ thống thanh toán và quản lý khách hàng:
Đảm bảo sự tương thích và tính nhất quán. 1.10.
Quản lý nhân sự:
• Thông tin về nhân viên liên quan đến quản lý kho: Liên kết với hồ sơ nhân
viên và đảm bảo rằng thông tin nhân sự là chính xác và không trùng lặp.
• Quyền truy cập và chấm công. 10 lOMoAR cPSD| 61769897
Những thuộc tính này cần được cập nhật và theo dõi đều đặn để đảm bảo rằng quá
trình quản lý kho của công ty diễn ra mượt mà và hiệu quả. Đồng thời, sự minh bạch
và theo dõi chặt chẽ giúp ngăn chặn sự mất mát và tối ưu hóa quản lý tồn kho.
2. Nhập thông tin sản phẩm 2.1. Đầu vào (Input) 2.1.1.
Mã sản phẩm (Product Code): • Loại: Chuỗi ký tự
• Yêu cầu: Độc nhất, không trùng lặp, gồm 5 kí tự chữ in hoa và số
• Định dạng: Ví dụ: "ABCD1" 2.1.2.
Tên sản phẩm (Product Name): • Loại: Chuỗi ký tự
• Yêu cầu: Không trống, không có ký tự đặc biệt
• Định dạng: Ví dụ: "Cafe1" 2.1.3.
Số lượng (Quantity): • Loại: Số nguyên • Yêu cầu: Lớn hơn 0 2.1.4.
Giá nhập (Unit Cost): • Loại: Số thập phân
• Yêu cầu: Lớn hơn hoặc bằng 0 2.1.5.
Ngày nhập (Entry Date): • Loại: Ngày
• Yêu cầu: Định dạng ngày hợp lệ (vd: dd/mm/yyyy) 2.2. Đầu ra (Outputs): 2.2.1.
Thông báo thành công:
• Hiển thị thông báo khi nhập thông tin sản phẩm thành công. 2.2.2.
Thông báo lỗi:
• Hiển thị thông báo nếu có lỗi nhập liệu, ví dụ: mã sản phẩm đã tồn tại, thiếu
thông tin bắt buộc, dữ liệu không hợp lệ, v.v. 2.3.
Các trường hợp có thể xảy ra (Use Cases): 2.3.1.
Nhập sản phẩm mới:
• Người dùng nhập đầy đủ thông tin cho sản phẩm mới. 2.3.2.
Lỗi nhập liệu:
• Người dùng bỏ trống một hoặc nhiều trường thông tin bắt buộc.
• Người dùng nhập số lượng âm hoặc giá nhập là một giá trị không hợp lệ. 2.3.3.
Trùng lặp mã sản phẩm:
• Người dùng nhập một mã sản phẩm đã tồn tại trong hệ thống. 2.3.4.
Ngày nhập không hợp lệ:
• Người dùng nhập một ngày không hợp lệ hoặc không tuân theo định dạng. 2.3.5. Thành công: 11 lOMoAR cPSD| 61769897
• Người dùng nhập đúng thông tin và sản phẩm được thêm vào hệ thống thành công.
• Các trường hợp này giúp xác định các kịch bản khác nhau mà chức năng cần
xử lý và đảm bảo tính đầy đủ và chính xác của thông tin trong hệ thống quản lý tồn kho.
*Ghi chú: Các trường hợp này giúp xác định các kịch bản khác nhau mà chức năng cần
xử lý và đảm bảo tính đầy đủ và chính xác của thông tin trong hệ thống quản lý tồn kho.
3. Xóa một thông tin sản phẩm bất kỳ 3.1. Đầu vào (Inputs):
Mã sản phẩm (Product Code): • Loại: Chuỗi ký tự
• Yêu cầu: Độc nhất, phải tồn tại trong hệ thống Định dạng: Ví dụ: "ABCD1" 3.2. Đầu ra (Outputs): 3.2.1.
Thông báo thành công:
Hiển thị thông báo khi xóa thông tin sản phẩm thành công. 3.2.2. Thông báo lỗi:
Hiển thị thông báo nếu có lỗi xóa thông tin, ví dụ: mã sản phẩm không tồn tại, lỗi hệ thống, v.v. 3.3.
Các trường hợp có thể xảy ra (Use Cases): 3.3.1.
Xóa sản phẩm tồn tại:
Người dùng nhập mã sản phẩm hợp lệ và tồn tại trong hệ thống để xóa. 3.3.2. Lỗi nhập liệu:
Người dùng không nhập mã sản phẩm hoặc nhập một định dạng không hợp lệ. 3.3.3.
Sản phẩm không tồn tại:
Người dùng nhập mã sản phẩm không tồn tại trong hệ thống. 3.3.4. Lỗi hệ thống:
Có sự cố hệ thống khi thực hiện xóa, ví dụ: mất kết nối, lỗi cơ sở dữ liệu. 3.3.5. Thành công:
Người dùng xóa sản phẩm thành công và hệ thống cập nhật dữ liệu. *Ghi chú:
• Trước khi xóa, có thể cần xác nhận từ người dùng để đảm bảo họ không xóa
thông tin sản phẩm một cách vô tình. 12 lOMoAR cPSD| 61769897
• Nếu sản phẩm có liên kết với các giao dịch khác (ví dụ: các đơn đặt hàng), cần
xác nhận xóa để tránh mất dữ liệu quan trọng.
• Các trường hợp này giúp định rõ các tình huống mà chức năng xóa thông tin sản
phẩm cần xử lý và đảm bảo tính chính xác và an toàn trong quá trình xóa dữ liệu.
4. Cập nhật thông tin sản phẩm 4.1. Đầu vào (Inputs):
4.1.1. Mã sản phẩm (Product Code): Loại: Chuỗi ký tự
• Yêu cầu: Độc nhất, phải tồn tại trong hệ thống
• Định dạng: Ví dụ: "ABCD1" 4.1.2. Thông tin cần cập nhật:
Một hoặc nhiều trường thông tin như tên sản phẩm, số lượng, giá nhập, ngày nhập, v.v. 4.2. Đầu ra (Outputs): 4.2.1.
Thông báo thành công:
Hiển thị thông báo khi cập nhật thông tin sản phẩm thành công. 4.2.2.
Thông báo lỗi:
Hiển thị thông báo nếu có lỗi cập nhật thông tin, ví dụ: mã sản phẩm không tồn
tại, lỗi hệ thống, dữ liệu không hợp lệ, v.v. 4.3.
Các trường hợp có thể xảy ra (Use Cases): 4.3.1.
Cập nhật thông tin cơ bản:
Người dùng cập nhật một số thông tin cơ bản như tên sản phẩm hoặc số lượng. 4.3.2.
Cập nhật giá nhập:
Người dùng chỉ cập nhật giá nhập của sản phẩm. 4.3.3.
Cập nhật ngày nhập:
Người dùng chỉ cập nhật ngày nhập của sản phẩm. 4.3.4.
Lỗi nhập liệu:
• Người dùng không nhập mã sản phẩm hoặc nhập một định dạng không hợp lệ.
• Dữ liệu nhập không hợp lệ, ví dụ: số lượng âm. 4.3.5.
Sản phẩm không tồn tại:
Người dùng nhập mã sản phẩm không tồn tại trong hệ thống. 4.3.6.
Lỗi hệ thống:
Có sự cố hệ thống khi thực hiện cập nhật, ví dụ: mất kết nối, lỗi cơ sở dữ liệu. 4.3.7. Thành công:
Người dùng cập nhật thông tin sản phẩm thành công và hệ thống cập nhật dữ liệu. 13 lOMoAR cPSD| 61769897 *Ghi chú:
• Trước khi cập nhật, có thể cần kiểm tra xác nhận từ người dùng để đảm bảo rằng
họ đang cập nhật đúng thông tin.
• Nếu sản phẩm có liên kết với các giao dịch khác (ví dụ: các đơn đặt hàng), cần
xác nhận cập nhật để tránh mất dữ liệu quan trọng.
• Các trường hợp này giúp định rõ các tình huống mà chức năng cập nhật thông
tin sản phẩm cần xử lý và đảm bảo tính chính xác và an toàn trong quá trình cập nhật dữ liệu.
5. Tìm kiếm thông tin sản phẩm 5.1. Đầu vào (Inputs): 5.1.1.
Mã sản phẩm (Product Code): • Loại: Chuỗi ký tự
• Yêu cầu: Độc nhất, phải tồn tại trong hệ thống
• Định dạng: Ví dụ: "ABCD1" Hoặc 5.1.2.
Tên sản phẩm (Product Name): • Loại: Chuỗi ký tự
• Yêu cầu: Không trống, không có ký tự đặc biệt
• Định dạng: Ví dụ: "Cafe1" 5.2. Đầu ra (Outputs): 5.2.1.
Danh sách thông tin sản phẩm tìm kiếm được:
Liệt kê thông tin các sản phẩm. 5.2.2.
Thông báo không tìm thấy:
Hiển thị thông báo nếu không có sản phẩm 5.2.3.
Thông báo lỗi:
Hiển thị thông báo nếu có lỗi trong quá trình tìm kiếm, ví dụ: lỗi hệ thống, dữ
liệu không hợp lệ, v.v. 5.3.
Các trường hợp có thể xảy ra (Use Cases): 5.3.1.
Tìm kiếm theo tên sản phẩm:
Người dùng nhập tên sản phẩm để tìm kiếm. 5.3.2.
Tìm kiếm theo mã sản phẩm:
Người dùng nhập mã sản phẩm để tìm kiếm. 5.3.3.
Tìm kiếm theo nhiều tiêu chí: 14 lOMoAR cPSD| 61769897
Người dùng nhập cả tên sản phẩm và mã sản phẩm để tìm kiếm. 5.3.4.
Không tìm thấy sản phẩm:
Người dùng nhập từ khóa không phù hợp hoặc không có sản phẩm nào phù hợp với tiêu chí tìm kiếm. 5.3.5.
Lỗi nhập liệu:
Người dùng không nhập từ khóa tìm kiếm hoặc nhập một định dạng không hợp lệ. 5.3.6.
Lỗi hệ thống:
Có sự cố hệ thống khi thực hiện tìm kiếm, ví dụ: mất kết nối, lỗi cơ sở dữ liệu. 5.3.7. Thành công:
Người dùng tìm kiếm thông tin sản phẩm thành công và hệ thống trả về thông
tin sản phẩm cần tìm kiếm. *Ghi chú:
• Có thể hỗ trợ tìm kiếm theo nhiều tiêu chí để cung cấp kết quả chính xác hơn.
• Sử dụng các phương pháp tìm kiếm linh hoạt, ví dụ: tìm kiếm có dấu, không phân
biệt chữ hoa/chữ thường.
• Cung cấp gợi ý cho người dùng khi họ nhập từ khóa để tìm kiếm. B.
PHÂN TÍCH BÀI TOÁN VÀ TRÌNH BÀY QUY TRÌNH CÁC THAO TÁC DẠNG SƠ ĐỒ KHỐI
1. Phân tích bài toán
Dưới đây là phân tích bài toán xây dựng chương trình quản lý kho hàng gồm 4 chức
năng: nhập thông tin sản phẩm, xóa thông tin sản phẩm, cập nhật thông tin sản phẩm
và tìm kiếm thông tin sản phẩm của công ty Vinacafé Biên Hòa.
• Yêu cầu: Chương trình quản lý kho hàng của công ty Vinacafé Biên Hòa cần đáp ứng các yêu cầu sau: *
Quản lý thông tin của tất cả các sản phẩm của công ty, bao gồm: Mã sản phẩm Tên sản phẩm Giá sản phẩm
Số lượng sản phẩm Ngày nhập sản phẩm *
Cho phép người dùng nhập, xóa, cập nhật và tìm kiếm thôngtin sản
phẩm một cách dễ dàng và nhanh chóng. * Đảm bảo tính chính xác và an toàn của dữ liệu. 15 lOMoAR cPSD| 61769897
• Phân tích: Để đáp ứng các yêu cầu trên, chương trình quản lý kho hàng cần có
cấu trúc cơ bản như sau:
Cơ sở dữ liệu (Database): Lưu trữ tất cả thông tin sản phẩm của công ty.
Giao diện người dùng (User Interface): Cho phép người dùng tương tác với chương trình.
Lớp xử lý (Processing Layer): Thực hiện các chức năng nhập, xóa, cập nhật và tìm
kiếm thông tin sản phẩm.
Chức năng nhập thông tin sản phẩm: Chức năng này cho phép người dùng nhập
thông tin của một sản phẩm mới vào cơ sở dữ liệu. Thông tin sản phẩm cần được
nhập theo một format nhất định. Chương trình cần kiểm tra tính hợp lệ của dữ
liệu nhập vào trước khi lưu trữ vào cơ sở dữ liệu.
Chức năng xóa thông tin sản phẩm: Chức năng này cho phép người dùng xóa thông
tin của một sản phẩm khỏi cơ sở dữ liệu. Chương trình cần kiểm tra tính tồn tại của
sản phẩm trước khi xóa.
Chức năng cập nhật thông tin sản phẩm: Chức năng này cho phép người dùng cập
nhật thông tin của một sản phẩm đã có trong cơ sở dữ liệu. Chương trình cần kiểm
tra tính tồn tại của sản phẩm trước khi cập nhật.
Chức năng tìm kiếm thông tin sản phẩm: Chức năng này cho phép người dùng tìm
kiếm thông tin của một sản phẩm trong cơ sở dữ liệu. Người dùng có thể tìm kiếm
theo mã sản phẩm, tên sản phẩm, loại sản phẩm,...
Thực hiện: Sử dụng ngôn ngữ lập trình Python để thực hiện chương trình quản lý kho hàng
Trên đây là phân tích bài toán xây dựng chương trình quản lý kho hàng gồm 4
chức năng: nhập thông tin sản phẩm, xóa thông tin sản phẩm, cập nhật thông
tin sản phẩm và tìm kiếm thông tin sản phẩm của công ty Vinacafé Biên Hòa.
Tiếp theo là quy trình thao tác dưới dạng sơ đồ khối… 16 lOMoAR cPSD| 61769897
2. Sơ đồ khối từng chức năng
Tìm kiếm thông tin sản phẩm 17 lOMoAR cPSD| 61769897 Nhập mã sản phẩm hoặc tên sản phẩm Thông báo không phẩm có tồn tìm thấy sản phẩm Hiển thị thông tin sản Kết thúc
Cập nhật thông tin sản phẩm 18 lOMoAR cPSD| 61769897 Nhập mã sản phẩm Sản phẩm không
Xóa thông tin sản phẩm bất kì 19 lOMoAR cPSD| 61769897 Kết thúc
Nhập thứ tự sản phẩm 20