Tải bản đầy đủ (.pdf) (34 trang)

Bài tập lớn dự án phân tích bài toán và trình bày quy trình các thao tác dưới dạng sơ đồ khối

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.01 MB, 34 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ VÀ THƯƠNG MẠI ĐIỆN TỬ</b>

<b>BỘ MƠN LẬP TRÌNH VỚI PYTHON</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI CẢM ƠN</b>

Trước khi đi vào bài tập lớn, nhóm 12 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 hồ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

<i><b>Chúng em xin chân thành cảm ơn!</b></i>

<b>MỤC LỤC</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

2. Mơ tả bài tốn...6

<b>II. PHÂN TÍCH BÀI TỐN VÀ TRÌNH BÀY QUY TRÌNH CÁC THAO TÁC DƯỚI DẠNG SƠ ĐỒ KHỐI...</b>6

1. Phân tích bài tốn...6

1.1. Thêm sản phẩm...6

1.2. Xóa bỏ sản phẩm...6

1.3. Cập nhật thơng tin sản phẩm...7

1.4. Tìm kiếm thơng tin sản phẩm...7

2. Sơ đồ khối thể hiện các chức năng chính của chương trình...7

3. Đặc tả các chức năng chính của chương trình...8

3.1. Chức năng thêm sản phẩm...8

3.2. Chức năng xóa bỏ sản phẩm...10

3.3. Chức năng cập nhật thơng tin sản phẩm...12

3.4. Chức năng tìm kiếm thơng tin sản phẩm...14

<b>III. CÀI ĐẶT CHƯƠNG TRÌNH...15</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

2.2. Hình ảnh chạy chương trình với chức năng tìm kiếm thơng tin sản phẩm...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 sản phẩm...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...27

<b>IV. KẾT LUẬN...29</b>

<b>BIÊN BẢN HỌP NHĨM PHÂN CHIA CƠNG VIỆC...30</b>

<b>BIÊN BẢN NGHIỆM THU...32</b>

<b>BẢNG ĐÁNH GIÁ THÀNH VIÊN...33</b>

<b>LỜI MỞ ĐẦU</b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Chúng ta đang chứng kiến sự biến đổi tồ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 lý 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 q trình chuyển đổi phương thức quản lý, tin học hố, và số hố 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 q 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

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Phần IV: Kết luận</b>

<b>I. ĐẶT BÀI TỐN</b>

<b>1. Đặt vấn đề</b>

- 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 doanh. 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 tồ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 diệ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.

<b>2. Mơ tả bài tốn</b>

- Với vấn đề đã đề cập bên trên thì bài tố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 thất.

Thêm sản phẩm khi có thêm sản phẩm mới đủ điều kiện nhập kho. Xoá bỏ sản phẩm khi cần xố.

Cập nhật sửa thơng tin sản phẩm khi có sự thay đổi. Tìm kiếm thơng tin sản phẩm khi có nhu cầu.

<b>II. PHÂN TÍCH BÀI TỐN VÀ TRÌNH BÀY QUY TRÌNH CÁC THAO TÁC DƯỚI DẠNG SƠ ĐỒ KHỐI</b>

<b>1. Phân tích bài tốn:</b>

<i>Chương trình bao gồm các chức năng chính sau đây:</i>

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ý xố bỏ sản phẩm đã thêm trước đó.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

1.3. Cập nhật thông tin sản phẩm:

- 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.

<b>2. Sơ đồ khối thể hiện các chức năng chính của chương trình</b>

Hình 1: Sơ đồ các chức năng chính

<b>3. Đặc tả các chức năng chính của chương trình</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

3.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

Hình 2: Biểu đồ hoạt động của chức năng thêm thông tin sản phẩm

<b>Luồng sự kiện:</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

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.

ID hợp lệ, người quản lý điền đầy đủ thông tin sản phẩm còn lại: 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í thêm thơng tin sản phẩm thành công Luồng thay thế:

Nếu trong luồng cơ bản, người quản lý nhập ID sản phẩm trùng với ID trước đó, chương trình sẽ báo lỗi “ID đã tồn tại. Vui lòng nhập lại ID”.

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.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Hình 3: Biểu đồ hoạt động chức năng xóa bỏ sản phẩm

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>Luồng sự kiện:</b>

Luồng cơ bản:

Người quản lý gửi yêu cầu xố bỏ sản phẩm tới chương trình. 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 hợp lệ, người quản lý xoá bỏ sản phẩm thành công.

Luồng 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ẽ báo lỗi “ID sản phẩm khơng tồn tại”.

Tiền điều kiện: Người quản lý điền 2 (chức năng xoá 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 xố 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 bằng ID sản phẩm.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Hình 4: Biểu đồ hoạt động chức năng cập nhật thông tin sản phẩm

<b>Luồng sự kiện:</b>

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. 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.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Chương trình kiểm tra ID 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 sản 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. Luồng 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ẽ báo 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.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Hình 5: Biểu đồ hoạt động chức năng tìm kiếm thơng tin sản phẩm

<b>Luồng sự kiện:</b>

Luồng cơ bản:

Người quản lý gửi 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. Luồng thay thế:

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

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ẽ báo 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 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.

<b>III. CÀI ĐẶT CHƯƠNG TRÌNH</b>

<b>1. Xây dựng chương trình</b>

- Khi làm bài tập này, nhóm em đã sử dụng module <b>“datetime”</b>. Module <b>“datetime” </b>

trong Python là một trong những module quan trọng nhất khi làm việc với xử lý thời gian và ngày tháng. Module này cung cấp nhiều đối tượng và hàm tiện ích giúp đơn giản hóa các nhiệm vụ liên quan đến quản lý thời gian trong các ứng dụng Python.

- Trong chương trình, nhóm em cũng sử dụng từ khóa <b>“global”</b> để chỉ định rằng biến

<b>“listProducts” là 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 </b>

nào trong chương trình, khơng chỉ ở phạm vi của hàm mà nó được định nghĩa.

1.1. Hàm thêm sản phẩm

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

- Hàm này được gọi từ chương trình chính trong vịng lặp <b>While "addProduct()"</b>, được gọi khi người dùng chọn chức năng 1 trong menu chính.

- Mơ tả:

Hàm sẽ yêu cầu người dùng nhập thông tin sản phẩm

Hàm sử dụng biến toàn cục là <b>“listProducts”</b> để thêm dữ 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 phần tử trong <b>“listProduct”</b> đều chứa thông tin (dữ liệu) của sản phẩm.

Hàm sử dụng một vòng lặp <b>“While True”</b> để đảm bảo rằng người dùng phải nhập đú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 <b>“break”</b> thì dừng lại

Tạo một dictionary <b>“in4”</b> sử dụng các biến <b>“id, name, quantity, price, date và condition” để chứa thông tin của mỗi sản phẩm</b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Hàm sử dụng <b>“append”</b> dể thêm dictionary <b>“in4”</b> vào danh sách sản phẩm

<b>“listProducts” </b>

Cấu trúc <b>“try-except”</b> được sử dụng để bắt lỗi và sử lí ngoại lệ nếu người dùng không nhập đúng định dạng trong q trình nhập thơng tin vào

Hàm cũng sử dụng <b>"datetime.strptime"</b> là một phương thức trong module

<b>“datetime” của Python để chuyển đổi một chuỗi đại diện ngày giờ thành một đối </b>

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 <b>“y”</b>, cịn nếu khơng thì nhập <b>“n”</b>

=>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.Hàm tìm vị trí sản phẩm

- Hàm <b>findProduct(id)</b> sử dụng để tìm kiếm vị trí sản phẩm dựa trên ID

- 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ả:

Hàm <b>findProduct(id)</b> được sử dụng để tìm kiếm một sản phẩm trong danh sách

<b>“listProducts” dựa trên ID cung cấp</b>

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 <b>"for"</b> với biến <b>"i"</b> là vị trí sản phẩm trong danh sách

Sử dụng câu lệnh <b>“if”</b> để kiểm tra xem ID của sản phẩm tại vị trí i 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 danh sách (i) và thông tin chi tiết của sản phẩm <b>(listProducts[i])</b>. Nếu không tìm thấy

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

sản phẩm có ID tương ứng, hàm trả về <b>False</b> để báo hiệu rằng sản phẩm không tồn tại trong danh sách.

1.3. Hàm xóa bỏ sản phẩm

- Hàm <b>deleteProduct()</b> có chức năng xóa thông tin sản phẩm.

- Hàm này được gọi từ chương trình chính trong vịng lặp <b>While "deleteProduct()"</b>, được gọi khi người dùng chọn chức năng 2 trong menu chính.

- Mô tả:

Hàm sẽ yêu cầu người dùng nhập mã ID của sản phẩm cần xóa Hàm sử dụng biến tồn cục là <b>“listProducts” </b>để thêm dữ liệu

Hàm sử dụng <b>findProduct(id)</b> để tìm kiếm sản phẩm dựa trên danh sách ID. Hàm sử dụng <b>“if-else”</b> để kiểm tra xem sản phẩm có tồn tại trong danh sách

<i><b>khơng, nếu có thì tiếp tục xử lý. Nếu khơng thì thơng báo “ID sản phẩm không tồn tại!”</b></i>

Hàm sử dụng <b>“remove”</b> của danh sách để xóa sản phẩm tìm được.

1.4. Hàm cập nhật thông tin sản phẩm

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

- Hàm <b>editProduct()</b> có chức năng cập nhật thơng tin sản phẩm.

- Hàm <b>editProduct()</b> được gọi khi người dùng chọn chức năng cập nhật thông tin sản phẩm.

- Mô tả :

Hàm sẽ yêu cầu người dùng nhập mã ID của sản phẩm cần cập nhật. Hàm sử dụng biến toàn cục “<b>listProducts”</b> để thêm dữ liệu.

Hàm sử dụng <b>“if - else"</b> để kiểm tra xem sản phẩm có tồn tại trong danh sách

<i><b>khơng, nếu có thì tiếp tục xử lý. Nếu khơng thì thơng báo “ID sản phẩm không tồn tại!”. </b></i>

<b>Hàm sử dụng dịng mã “listProducts[product[0]] = product[1]” </b>có tác dụng cập nhật thông tin của sản phẩm trong danh sách <b>“listProducts”</b> dựa trên thơng tin của sản phẩm được tìm thấy.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

=> Sau khi thực hiện hàm này, danh sách sản phẩm sẽ có thơng tin mới.

1.5. Hàm tìm kiếm thơng tin sản phẩm

- Hàm <b>showProducts()</b> có chức năng hiển thị thông tin sản phẩm.

- Hàm <b>showProducts()</b> được gọi để hiển thị các thông tin cụ thể của sản phẩm trong danh sách trước khi thực hiện việc tìm kiếm.

- Mơ tả :

Hàm sẽ yêu cầu người dùng nhập ID của sản phẩm cần tìm. Hàm sử dụng biến tồn cục là <b>“listProducts”</b> để thêm dữ liệu.

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 <b>“for”</b>

với biến <b>“i”</b> là sản phẩm cần tìm trong danh sách.

Hàm sử dụng <b>“if - else”</b> để kiểm tra xem ID của sản phẩm tại vị trí i có khớp với ID đầu vào hay khơng, nếu khớp với ID của sản phẩm cần tìm thì sản phẩm sẽ được hiển thị. Nếu khơng thì sẽ thông báo <i><b>“ ID sản phẩm không tồn tại!”</b></i>. => Sau khi thực hiện hàm này, danh sách sản phẩm sẽ không thay đổi và hiển thị thông sản phẩm cần tìm.

1.6. Chương trình chính

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

- Chương trình chính hiển thị menu chức năng cho người dùng và cung cấp một giao diện console để người dùng tương tác với chương trình.

- Bên cạnh đó chương trình cũng sẽ hiện thị ra danh sách tất cả ID sản phẩm để giúp tối ưu hóa trải nghiệm người dùng và làm cho việc tương tác với chương trình trở nên dễ dàng và thuận tiện hơn.

- Mơ tả :

Chương trình sẽ yêu cầu người dùng nhập ID của sản phẩm.

Chương trình sử dụng lệnh <b>“while True”</b> để đảm bảo rằng người dùng phải nhập đúng các bước của chương trình

Chương trình sử dụng một vòng lặp <b>“for”</b> với biến <b>“product”</b> nhằm duyệt qua

<b>sản phẩm cần tìm trong “listProducts” </b>

</div>

×