Đề đáp ứng nhu cầu này, chủng em quyết định xây dựng chương trình "Quản lý Kho hàng sản phẩm Viglacera" với mục tiêu giúp tự động hóa các công việc quản lý, giảm thiểu sai sót và tối ưu
Trang 1TRUONG DAI HOC THUONG MAI KHOA HE THONG THONG TIN QUAN LY VA
THƯƠNG MẠI ĐIỆN TỬ
BỘ MÔN LẬP TRÌNH VỚI PYTHON
Trang 2LOI CAM ON
Trước khi đi vào bài tập lớn, nhóm L2 chúng em xin phép được gửi lời cảm ơn sâu sắc đến trường Đại học Thương Mại và đặc biệt là giảng viên của học phần Lập trình với Python cô Đinh Thị Hà bởi công sức cô bỏ ra đề truyền tải tri thức tới chúng em trong suốt thời gian vừa qua Những tri thức được cô truyền đạt hứa hẹn sẽ là những hành trang quý giá trên chặng đường tích luỹ tri thức của chúng em sau này
Về học phần Lập trình với Python, đây là học phần có tính chất thực tiễn rất cao, cung cấp một lượng lớn kiến thức và gắn liền với công việc thực tế của sinh viên Tuy vậy vì vốn kiến thức còn nhiều hạn chế và còn lạ lẫm với phương thức giảng dạy và học tập của môi trường mới nên khó tránh khỏi bài tập lớn cũng còn nhiều điều hạn chế và cần được hoàn thiện một cách trau chuốt Kính mong cô sẽ giúp đỡ và góp ý để bài tập lớn của chúng em ngày càng hoàn thiện hơn
Ching em xin chan thanh cam on!
MUC LUC
Trang 3LOT CAM ON oooooocccccccsscssssessseesssessssessreesrvssvessavestistsssesssiessisssesssessseesaresssissavessieetaseessne 2 MUC LUC ooo cecccesssessssesssesssvesssvessveesssesssvessressivetssissssestivstavessssissustsscssavessveesareessessavess 3 LỜI MỞ ĐẦU 5-2221 22112221212112221121112012211212212112212.21022 ru 5
I ĐẶT BÀI TOÁN s2 E1 TH HH 2n nH 1H nga, 6
1 Đặt vấn đề 5: 221 222112211221 1121101121211 1112122 reg 6
2 Mô tả bài toán sá- 5s 222 1nE2122211.21122122122122122112162 22a 6
II PHAN TICH BAI TOAN VA TRINH BAY QUY TRÌNH CÁC THAO TÁC DƯỚI DANG SƠ ĐỎ KHOD 00 ccccccccsccsscsssessesssessessvsssesssessessessvessesetssveseessvssecsressnesareess 6
L Phan tich bai toa ce cccccccccccssscssssessssesssesssvesseseessvesssessvessiessvsssiesssettaetsaveesssessseessvees 6
1.1 Thêm san pham.o ccccccccccccscsscescssessessessessessvesesevssesevsevssessessssesssaeeessvesevssesssnssseees 6 1.2 Xóa bỏ sản phẩm - St TỰ 211211 18.11 11 1 1121212111111 trai 6 1.3 Cập nhật thông tin sản phẩm - 2-52 SE EE2111111121211 1121211111111 kg 7
3.1 Chite nang thém sam pham cccccccccccccsscssessesseseesecsecsseseesesssessessesesussecareeesevssessesens 8 3.2 Chức năng xóa bỏ sản phẩm - 5s SE 11111111011 11 11211111111 ngu 10 3.3 Chức năng cập nhật thông tin sản phẩm - 2-1 SE E1 11211211211 1xx pkrre 12
II CẢI ĐẶT CHƯƠNG TRÌNH 5 2 E Et ExnH H1 trung 15
1.1 Hàm thêm sản phẩm - 22 1 S1 SE 2E12212111111211211 1121171121111 111kg e 15 1.2 Hàm tìm vị trí sản phẩm -.- - SE 2E12E1211 112112117112112112121 211101 reg 18 1.3 Hàm xóa bỏ sản phẩm 52-51 EEE21111121121111121111 11811 1 1 ng ng gen gay 19 1.4 Hàm cập nhật thông tín sản phẩm 5-5 SE E112 121121121 1 ng errrey 19
1.6 Chương trình chính - 1c 2212221221121 1251111111111 12111011 101121151111 151111 HxkE 21
Trang 42.2 Hình ảnh chạy chương trình với chức năng tìm kiếm thông tin san pham 24 2.3 Hình ảnh chạy chương trình với chức năng cập nhật thông tin san pham 25 2.4 Hình ảnh chạy chương trình với chức năng xóa bỏ sản phẩm -5-5¿ 27
IV KẾT LUẬN 5551 TH tt H1 an HH 1g re iu 29 BIÊN BẢN HỌP NHÓM PHÂN CHIA CÔNG VIỆC 2 2E ErErrtxerrre 30 BIÊN BẢN NGHIỆM TÍHU 22 S22 1211221121221 1E E11 x21 errre 32 BANG ĐÁNH GIÁ THÀNH VIẾỄN 2 522221 222122712221222221 2 eere 33
LOI MO DAU
Trang 5Chúng ta đang chứng kiến sự biến đổi toàn diện của xã hội trong thời kỳ công nghiệp hóa
và hiện đại hóa đất nước Trong bối cảnh này, vai trò của công nghệ ngày càng lớn mạnh, thay thé con người trong những công việc chân tay, nguy hiêm, và nặng nhọc Trong lĩnh vực quản lý, việc ứng dụng công nghệ thông tin không chỉ là một xu hướng mà còn là một yếu tô quyết định về sự thành công của các doanh nghiệp ngày nay Chúng ta có thé thấy rõ ứng dụng của công nghệ thông tin trong quản lý, như quản lý nhà hàng, khách
sạn, và nhiều lĩnh vực khác
Ngoài các lĩnh vực quản lý kinh doanh, trong lĩnh vực giáo dục, chúng ta đã chứng kiến
sự áp dụng hiệu quả của các sản phẩm công nghệ thông tin vào quản lý nhà trường, quản
ly sinh viên, giảng viên Những ứng dụng này không chí đơn thuần là công cụ hỗ trợ mà còn đóng vai trò quan trọng trong quá trình chuyền đổi phương thức quản lý, tin hoc hoa,
và số hoá thông tin dữ liệu
Công ty Thiết bị Nội thất Viglacera, trong hành trình phát triển và mở rộng, đặt ra thách thức lớn trong việc quản lý kho hàng các sản phẩm Nhu cầu này đặt ra một yêu cầu cấp bách về việc tối ưu hóa quá trình quản lý, từ việc nhập hàng, lưu trữ, đến việc xuất khâu
Đề đáp ứng nhu cầu này, chủng em quyết định xây dựng chương trình "Quản lý Kho hàng sản phẩm Viglacera" với mục tiêu giúp tự động hóa các công việc quản lý, giảm
thiểu sai sót và tối ưu hóa hiệu suất làm việc
Xây dựng chương trình này không chỉ là cơ hội đê chúng tôi áp dụng những kiến thức lý thuyết đã học được trong thời gian qua mà còn là cơ hội để hiểu sâu hơn về yêu cầu nghiệp vụ trong lĩnh vực quản lý kho hàng Chúng em tin rằng chương trình sẽ mang lại giá trị thực tế cho Công ty Thiết bị Nội thất Viglacera và đồng thời cung cấp cho chúng
em trải nghiệm quý báu trong việc xây dựng và triển khai giải pháp công nghệ thông tin hiệu quả
+ Nội dung của bài gầm 4 phần cụ thê như sau:
Trang 6Phan IV: Kết luận
I DAT BAI TOAN
1 Đặt vấn đề
- Tình hình kinh doanh của công ty thiết bị nội thất Viglacera ngày càng tốt hơn do nhu cầu của khách hàng tăng cao, sản phẩm nhập kho cũng vì thế ngày một nhiều Điều đó đã đặt ra yêu cầu rằng công ty cần có chiến lược quản lý kho một cách hiệu quả đề thuận tiện cho việc kinh đoanh Trước vấn đề đó đòi hỏi bộ phận quản lý kho hàng của công ty phải lưu trữ đầy đủ và chính xác toàn bộ thông tin của sản phẩm và đề tránh sự nhằm lẫn giữa các sản phẩm với nhau ta nhận điện thông qua các thuộc tính như: ID sản phẩm, tên sản phẩm, số lượng, giá cả, ngày nhập kho, tình trạng sản phẩm
2 Mô tả bài toán
- Với vấn dé đã đề cập bên trên thi bài toán cần đặt ra là chúng ta cần nhập thông tin, xóa thông tin, cập nhật thông tin và tìm kiếm thông tin sản phẩm nội that
+ Thêm sản phẩm khi có thêm sản phâm mới đủ điều kiện nhập kho
Il PHAN TICH BAI TOAN VA TRINH BAY QUY TRINH CAC
THAO TAC DUOI DANG SO DO KHOI
1 Phan tich bai toan:
Chương trình bao gồm các chức năng chính sau đây:
1.1 Thêm sản phẩm:
- Người quản lý điền các thông tin cơ bản: ID sản phẩm, tên sản phẩm, số lượng hàng, giá
cả, ngày nhập kho, tình trạng sản phẩm đề thêm sản phẩm
1.2 Xoá bỏ sản phẩm:
- Cho phép người quản lý xoá bỏ sản phâm đã thêm trước đó
Trang 71.3 Cap nhat thong tin san pham:
- Cho phép người quản lý cập nhật thông tin sản phâm đã thêm trước đó khi cần chỉnh sửa
1.4 Tìm kiếm thông tin sinh viên:
- Người quán lý có thê tìm kiếm thông tin sinh viên theo ID sản phẩm Người quản lý có thê tìm kiếm thông tin sinh viên theo ID sinh viên
2 Sơ đồ khối thể hiện các chức năng chính của chương trình
Trang 83.1 Chức năng thêm sản phâm
- Mô tả: Chương trình cho phép người quản lý thêm thông tin sản phẩm: ID sản phẩm, tên sản phẩm, số lượng hàng, giá cả, vị trí trong kho, ngày nhập kho, tình trạng sản phẩm ID này là duy nhất
phâm cân thêm
Lưu thông tin sản phẩm
Hình 2: Biêu đồ hoạt động của chức năng thêm thông tin sản pham Luong sw kién:
Trang 9s* Luông cơ bản:
® - Người quản lý gửi yêu cầu thêm thông tin sản phẩm tới chương trình
© - Chương trình hiền thị nhập trường ID sản phẩm
® - Người quản lý điền ID sản phẩm cần thêm
© - Chương trình kiểm tra ID sản phâm mà người quản lý yêu cầu thêm
lượng hàng, giá cả, vị trí trong kho, ngày nhập kho, tình trạng sản phâm
® - Người quản lí thêm thông tin sản phẩm thành công
¢ Ludng thay thé:
chương trình sẽ báo lỗi “ID đã tồn tại Vưi lòng nhập lại ID”
e _ Tiền điều kiện: Người quản lí điền 1 (chức năng thêm sản phẩm) trên màn hình
chương trình hiển thị
© Hậu điều kiện:
+ Nếu thành công: Dữ liệu được lưu vào chương trình
+ Nếu thất bại: Chương trình không có gì thay đôi
3.2 Chức năng xóa bỏ sản phẩm
- Mô tả: Chương trình cho phép người quản lý xoá bỏ sản phâm bằng ID sản phẩm
Trang 1111 Luồng sự kiện:
s* Luông cơ bản:
© - Chương trình hiền thị xoá bỏ sản phẩm với trường ID sản phẩm
® - Người quản lý điền ID sản phâm cần xoá
© - Chương trình kiểm tra ID sản phâm mà người quản lý yêu cầu xoá
¢ ID hop lệ, người quản lý xoá bỏ sản phẩm thành công
© Hậu điều kiện:
+ Nếu thành công: Dữ liệu được xoá khỏi chương trình
+ Nếu thất bại: Chương trình không có gì thay đối
3.3 Chức năng cập nhật thông tin sản phẩm
- Mô tả: Chương trình cho phép người quản lý cập nhật thông tin sản phâm bang ID san phẩm
Trang 12
Kiêm tra ID sản phâm
Lưu thông tin sản phâm
Hình 4: Biêu đồ hoạt động chức năng cập nhật thông tin sản phâm Luồng sự kiện:
s* Luông cơ bản:
® - Người quản lý gửi yêu cầu cập nhật thông tin sản phẩm tới chương trình
e - Chương trình hiền thị cập nhật thông tin sản phẩm với trường ID sản phẩm
® - Người quản lý điền ID sản phẩm cần cập nhật.
Trang 13+
+
13 Chương trình kiểm tra [D sản phẩm người quản lý yêu cầu chỉnh sửa
ID hợp lệ, người quản lý điền các thông tin san phâm cần chỉnh sửa: Tên sản phâm, số lượng hàng, giá cả, vị trí trong kho, ngày nhập kho, tình trạng sản phẩm Người quản lý cập nhật thông tin sản phâm thành công
Luong thay thé:
Nếu trong luỗng cơ bản, người quản lý nhập sai ID sản phẩm, chương trình sẽ bao lỗi là “ID sản phẩm không tôn tại”
Tiền điều kiện: Người quản lý cần điền 3 (chức năng cập nhật thông tin sản phẩm)
trên màn hình chương trình hiển thị
Hậu điều kiện:
Nếu thành công: Dữ liệu được cập nhật
Nếu thất bại: Chương trình không có gì thay đôi
3.4 Chức năm tìm kiếm thông tin sản phẩm
- Mô tả: Chương trình cho phép người quản lý tìm kiếm thông tin sản phâm bằng ID sản phẩm
Trang 14® - Người quản lý gửi yêu câu tìm kiếm thông tin sản phẩm tới chương trình
© - Chương trình hiền thị tìm kiếm thông tin sản phẩm với trường ID sản phẩm
® - Người quản lý điền ID sản phẩm cần tìm
© - Chương trình kiểm tra ID sản phâm người quản lý yêu cầu tìm kiếm
¢ _ ID hợp lệ, chương trình hiện thị thông tin sản phẩm theo đúng yêu cầu s* Luông thay thé:
Trang 15¢ Néu trong luéng co ban, ngudi quan ly nhap sai ID san pham, chuong trình sẽ báo lỗi là “ID sản phẩm không tôn tại”
e _ Tiền điều kiện: Người quản lý cần điền 4 (chức năng tìm kiếm thông tin sản phẩm)
trên màn hình chương trình hiển thị
© Hậu điều kiện:
+ Nếu thành công: Dữ liệu được cập nhật
+ Nếu thất bại: Chương trình không có gì thay đối
HI CÀI ĐẶT CHƯƠNG TRÌNH
- Trong chương trình, nhóm em cũng sử dụng từ khóa “global? đề chỉ định rằng biến
“listProducts” la bién toàn cục, tức là nó có thê được truy cập và thay đổi từ bất kỳ hàm nào trong chương trình, không chỉ ở phạm vị của hàm mà nó được định nghĩa
1.1 Hàm thêm sản phẩm
Trang 16if any(list wcts[i][“ID"] == id for i in (@,len
print(“ID da tén tại Vui lòng nhập ID khác! ”) continue
lati) eee Meneame 4 ena RD]
try:
(input( "Nhập số lượng sản phẩm: "”)) except =
print(“Hay nhập đúng định dạng(số nguyên)! ”)
= (input( "Nhập số lượng sản phẩm: "”))
try:
(input( "Nhập giá sản phẩm(VND): ”)) [=> 44- s04 -
print( "Hãy nhập đúng định dạng(số nguyên) ! ")
= (input( "Nhập giá sản phẩm(VND): “)) (input( "Nhập ngày nhập kho(DD-MM-YYYY): ”))
xm -%Y™
strptime(datestr, dateform) date()
y strftime ( "%d /%m/%Y"”)
print( "Hãy nhập đúng định dang(DD-MM-YYYY)!")
(input( "Nhập ngày nhập kho(DD-MM-YYYY): ”))
-*m-%Y”
.strptime(datestr teform) 1.date()
strftime ( "%d /%m/%Y"”)
Trang 17
- Hàm addProductQ có chức năng nhập thông tin san pham và thêm vào danh sách
- Hàm này được gọi từ chương trình chính trong vòng lặp While, "addProductQ" duoc gọi khi người dùng chọn chức năng Ì trong menu chính
- Mô tả:
+ Ham su dung bién toan cuc la “listProducts” dé thém đữ liệu Đây là một biến
toàn cục được sử dụng để lưu trữ thông tin của sản phâm trong kho hàng Mỗi phan tử trong “listProduct” déu chita thông tin (dữ liệu) của sản phẩm
đúng định dạng cho mỗi trường thông tin Mã sẽ thực hiện cho đến khi xuất hiện
lệnh “break” thì dừng lại
condition” đề chứa thông tin của môi sản phâm
Trang 1818 Ham sir dung “append” dé thém dictionary “in4” vao danh sach san pham
“listProducts”
Cau tric “try-except” dugc str dung dé bat lỗi và sử lí ngoại lệ nêu người dùng không nhập đúng định dạng trong quá trình nhập thông tin vào
Ham cũng sử dụng "đatetime.strptime"” là một phương thức trong module
“datetime” cua Python dé chuyén đôi một chuỗi đại diện ngày giờ thành một đối
tượng đúng định dạng của nó
Sau cùng hàm sẽ thông báo bạn có muốn tiếp tục thêm sản phẩm nữa không Nếu
có hãy nhập “y”, còn nếu không thì nhập “n”
=>Sau khi nhập xong hàm này, danh sách sản phâm sẽ có thêm một sản phâm mới
1.2.Ham tim vi tri san pham
- Ham findProduct(id) sir dung dé tìm kiếm vị trí sản phẩm dựa trên [D
- Hàm này được gọi để kiêm tra xem sản phẩm cần xóa có tồn tại trong danh sách hay
không trước khi thực hiện việc xóa
- Mô tả:
“listProducts” dựa trên [D cung cấp
Hàm duyệt qua danh sách các sản phẩm bằng cách sử dụng một vòng lặp "for" với
bién "i" 1a vi tri sản pham trong danh sách
Sử dụng câu lénh “if? dé kiém tra xem ID của sản phẩm tại vị trí ¡ có khớp với ID đầu vào hay không
Nếu ID được tìm thấy, hàm trả về một tuple gồm vị trí của sản phẩm trong đanh sách (¡) và thông tin chỉ tiết của sản phẩm (listProducts[i]) Nếu không tìm thấy