Trình bày thiết kế dữ liệu: các chỉ tiêu dữ liệu (thuộc tính) cần quản lý, các thực thể, phân các chỉ tiêu dữ liệu

Một phần của tài liệu Bài tập lớn môn kỹ nghệ phần mềm Đề tài quản lý phần mềm bán nội thất Đồ gỗ (Trang 29 - 37)

1. Các Chỉ Tiêu Dữ Liệu (Thuộc Tính):

Sản Phẩm (Product):

Mã sản phẩm (Product ID) Tên sản phẩm (Product Name) Mô tả (Description)

Giá cả (Price) Hình ảnh (Image)

Số lượng tồn kho (Stock Quantity) Đơn Hàng (Order):

Mã đơn hàng (Order ID) Ngày đặt hàng (Order Date) Trạng thái đơn hàng (Order Status) Tổng giá trị đơn hàng (Total Amount) Khách Hàng (Customer):

Mã khách hàng (Customer ID) Tên khách hàng (Customer Name) Địa chỉ (Address)

Số điện thoại (Phone Number) Email

Thông tin thanh toán (Payment Information) 2. Các Thực Thể:

Sản Phẩm (Product):

Mỗi sản phẩm là một thực thể riêng biệt.

Đơn Hàng (Order):

Mỗi đơn hàng là một thực thể riêng biệt.

Khách Hàng (Customer):

Mỗi khách hàng là một thực thể riêng biệt.

3. Quan Hệ Giữa Các Thực Thể:

Quan Hệ giữa Sản Phẩm và Đơn Hàng:

Mỗi đơn hàng có thể bao gồm nhiều sản phẩm và mỗi sản phẩm có thể thuộc về nhiều đơn hàng. Đây là mối quan hệ một- nhiều (one-to-many).

Quan Hệ giữa Đơn Hàng và Khách Hàng:

Mỗi đơn hàng được đặt bởi một khách hàng nhất định và mỗi khách hàng có thể đặt nhiều đơn hàng. Đây là mối quan hệ một-nhiều (one-to-many).

Quan Hệ giữa Sản Phẩm và Khách Hàng:

Mỗi sản phẩm có thể được mua bởi nhiều khách hàng và mỗi khách hàng có thể mua nhiều sản phẩm. Đây là mối quan hệ nhiều-nhiều (many-to-many), cần một thực thể trung gian là Đơn Hàng để giải quyết.

Sơ Đồ ERD (Entity-Relationship Diagram):

Sql Copy code

+---+ +---+

| Product | | Order | +---+ +---+

| Product_ID |<----+ | Order_ID | | Name | | Order_Date | | Description| | Status | | Price | | Total_Amount | | Image | +---+

| Stock_Qty | +---+

|

| +---+

+--->| Customer | +---+

| Customer_ID | | Name |

| Address | | Phone_Number | | Email | | Payment_Info | +---+

 Sơ đồ ERD trên thể hiện mối quan hệ giữa các thực thể (Sản Phẩm, Đơn Hàng, Khách Hàng) và các thuộc tính của chúng, tuân thủ nguyên tắc 3NF (Third Normal Form).

8.Bạn định sử dụng các công cụ nào (hệ quản trị CSDL, ngôn ngữ lập trình, v.v.) để phát triển hệ thống này? Lý do chọn.

1. Hệ Quản Trị Cơ Sở Dữ Liệu (DBMS):

MySQL: Đây là một hệ quản trị cơ sở dữ liệu mạnh mẽ, phổ biến và miễn phí. MySQL có khả năng xử lý tốt với các ứng dụng web và cung cấp tính năng bảo mật đáng tin cậy.

PostgreSQL: PostgreSQL cũng là một lựa chọn tốt với tính năng mở rộng và bảo mật cao. Nó hỗ trợ đa dạng các kiểu dữ liệu và có khả năng thích ứng tốt với các nhu cầu của dự án.

2. Ngôn Ngữ Lập Trình:

Python: Python là một ngôn ngữ lập trình linh hoạt và dễ học.

Nó được sử dụng rộng rãi trong phát triển web và có các framework như Django hoặc Flask giúp phát triển ứng dụng web nhanh chóng và hiệu quả.

JavaScript (Node.js): JavaScript có thể được sử dụng cả ở phía máy chủ và phía người dùng, làm cho việc xây dựng ứng dụng web đa dạng trở nên dễ dàng hơn. Node.js cung cấp một môi trường thực thi để phát triển ứng dụng web với JavaScript ở phía máy chủ.

3. Framework và Thư Viện:

Django: Đối với Python, Django là một framework mạnh mẽ với các tính năng tích hợp sẵn như quản lý tài khoản người dùng, quản lý admin và bảo mật. Nó giúp giảm thời gian phát triển và cung cấp một cấu trúc tổ chức cho dự án.

Express.js (Node.js): Express.js là một framework web cho Node.js, giúp xây dựng các ứng dụng web với JavaScript một cách nhanh chóng và dễ dàng. Nó linh hoạt và có hiệu suất cao.

4. Front-end:

React: React là một thư viện JavaScript phổ biến cho việc xây dựng giao diện người dùng tương tác. Nó cho phép xây dựng các thành phần UI tái sử dụng và có hiệu suất cao.

Vue.js: Vue.js là một framework JavaScript dễ học và sử dụng, có khả năng tương tác mạnh mẽ và linh hoạt cho việc phát triển giao diện người dùng.

 Lý Do Chọn:

 Các công cụ và ngôn ngữ trên phổ biến, có cộng đồng lớn và hỗ trợ đa dạng.

 Tính linh hoạt và khả năng mở rộng của chúng giúp dễ dàng thích ứng với các yêu cầu và thay đổi trong dự án.

 Hiệu suất và tính bảo mật cao, đảm bảo hệ thống hoạt động ổn định và an toàn.

9.Thiết kế giao diện các chức năng của phần mềm:

1. Giao Diện Quản Lý Sản Phẩm:

- Thêm Sản Phẩm: Cho phép quản trị viên thêm mới sản phẩm vào cửa hàng với các trường thông tin như tên sản phẩm, mô tả, giá cả và số lượng tồn kho.

- Danh Sách Sản Phẩm: Hiển thị danh sách các sản phẩm hiện có trong cửa hàng, bao gồm các chi tiết như tên, giá và số lượng tồn kho. Quản trị viên có thể sửa đổi hoặc xóa sản phẩm từ đây.

2. Giao Diện Quản Lý Đơn Hàng:

- Danh Sách Đơn Hàng: Hiển thị danh sách các đơn hàng đã được đặt, với thông tin như mã đơn hàng, ngày đặt hàng và trạng thái. Quản trị viên có thể xem chi tiết đơn hàng và cập nhật trạng thái từ đây.

- Xem Chi Tiết Đơn Hàng: Hiển thị thông tin chi tiết của một đơn hàng cụ thể, bao gồm các sản phẩm trong đơn hàng, tổng giá trị và thông tin khách hàng.

3. Giao Diện Quản Lý Khách Hàng:

- Danh Sách Khách Hàng: Hiển thị danh sách các khách hàng đã đăng ký, bao gồm thông tin như tên, địa chỉ và số

điện thoại. Quản trị viên có thể xem chi tiết khách hàng và thực hiện các thao tác quản lý khác từ đây.

4. Giao Diện Thống Kê và Báo Cáo:

- Thống Kê Doanh Số: Hiển thị biểu đồ thống kê về doanh số bán hàng theo thời gian, giúp quản trị viên hiểu rõ xu hướng kinh doanh.

- Báo Cáo Sản Phẩm: Hiển thị báo cáo về số lượng và doanh số bán hàng của từng sản phẩm, giúp quản trị viên đưa ra quyết định về việc quảng bá và quản lý sản phẩm.

10.Thực nghiệm phần mềm với các chức năng cơ bản:

1. Thiết lập Môi Trường Phát Triển:

- Cài đặt và cấu hình hệ quản trị cơ sở dữ liệu (MySQL, PostgreSQL).

- Cài đặt ngôn ngữ lập trình và framework (Python/Django, hoặc JavaScript/Node.js và Express.js).

- Thiết kế và triển khai cơ sở dữ liệu theo thiết kế đã được chỉ định.

2. Phát Triển Giao Diện Người Dùng:

- Xây dựng giao diện người dùng cho các chức năng cơ bản như quản lý sản phẩm, đơn hàng, và khách hàng.

- Sử dụng các công nghệ front-end như HTML, CSS, và JavaScript hoặc các framework như React, Vue.js để phát triển giao diện.

3. Triển Khai Các Chức Năng Cơ Bản:

- Lập trình các chức năng thêm, sửa, xóa sản phẩm, đơn hàng và khách hàng trong mã nguồn của ứng dụng.

- Tích hợp các chức năng này với cơ sở dữ liệu để đảm bảo tính nhất quán và lưu trữ dữ liệu.

4. Kiểm Tra và Sửa Lỗi:

- Kiểm tra tính hoạt động của các chức năng bằng cách thực hiện các thao tác thêm, sửa, xóa dữ liệu.

- Xử lý và sửa lỗi nếu có bằng cách kiểm tra log, debug và thử nghiệm lại các chức năng.

5. Kiểm Tra Tính Tương Thích và Đáng Tin Cậy:

- Kiểm tra tính tương thích của ứng dụng trên các trình duyệt web phổ biến như Chrome, Firefox, Safari.

- Đảm bảo tính đáng tin cậy và an toàn của hệ thống bằng cách kiểm tra bảo mật, xử lý lỗi, và thực hiện kiểm tra cơ bản.

6. Thu Thập Phản Hồi:

- Thu thập phản hồi từ người dùng về trải nghiệm sử dụng và tính năng của ứng dụng.

- Thực hiện các cải thiện và điều chỉnh dựa trên phản hồi để tối ưu hóa trải nghiệm người dùng và chất lượng sản phẩm.

Bằng cách thực hiện các bước trên, ta có thể thực nghiệm phần mềm với các chức năng cơ bản và đảm bảo rằng ứng dụng hoạt động như mong đợi.

11.Xây dựng testcase kiểm thử một vài chức năng của phần mềm

1. Testcase cho Chức Năng Thêm Sản Phẩm:

Input:

Tên sản phẩm: "Ghế sofa"

Mô tả: "Ghế sofa màu xám, chất liệu da cao cấp"

Giá cả: $500

Số lượng tồn kho: 100 Expected Output:

Sản phẩm "Ghế sofa" được thêm thành công vào cửa hàng.

Sản phẩm được hiển thị trong danh sách sản phẩm với thông tin đầy đủ.

2. Testcase cho Chức Năng Đặt Hàng:

Input:

Mã sản phẩm: "SP001"

Số lượng: 2

Thông tin khách hàng: Tên: "Nguyễn Văn A", Địa chỉ: "123 Đường ABC, Quận XYZ", Số điện thoại: "0123456789"

Expected Output:

Đơn hàng mới được tạo thành công với sản phẩm "SP001" và thông tin khách hàng.

Số lượng tồn kho của sản phẩm "SP001" giảm đi 2.

3. Testcase cho Chức Năng Xem Chi Tiết Đơn Hàng:

Input:

Mã đơn hàng: "DH001"

Expected Output:

Hiển thị thông tin chi tiết của đơn hàng "DH001", bao gồm sản phẩm, tổng giá trị và thông tin khách hàng.

Có thể xem số lượng, giá cả và các chi tiết khác của từng sản phẩm trong đơn hàng.

4. Testcase cho Chức Năng Quản Lý Khách Hàng:

Input:

Tên khách hàng: "Nguyễn Thị B"

Địa chỉ: "456 Đường XYZ, Quận ABC"

Số điện thoại: "0987654321"

Expected Output:

Khách hàng mới được thêm vào hệ thống với thông tin đầy đủ.

Có thể xem thông tin chi tiết của khách hàng "Nguyễn Thị B"

trong danh sách khách hàng.

5. Testcase cho Chức Năng Thống Kê Doanh Số:

Input:

Thời gian: Tháng 1 năm 2023 Expected Output:

Hiển thị biểu đồ hoặc báo cáo về doanh số bán hàng trong tháng 1 năm 2023.

Có thể xem số lượng sản phẩm đã bán và tổng giá trị bán được.

Lưu Ý:

Testcase cần phải được thiết kế để kiểm tra các trường hợp bình thường cũng như các trường hợp biên của các chức năng.

Cần chắc chắn rằng kết quả thực tế của từng testcase sẽ khớp với kết quả dự kiến được mô tả trong phần Expected Output.

12.Phác thảo chi phí thực hiện. Nêu ra các căn cứ để bảo vệ chi phí đó trước khách hàng .Đưa ra kế hoạch thực hiện, nội dung công việc và chi phí thực hiện. Đảm bảo, chia hết 100 triệu trong thời gian 2 tháng cho số lượng người tham gia dự án với số tiền ngày công của từng vị trí là khác nhau(tham khảo ngày công trên các website tìm việc ICT)

Một phần của tài liệu Bài tập lớn môn kỹ nghệ phần mềm Đề tài quản lý phần mềm bán nội thất Đồ gỗ (Trang 29 - 37)

Tải bản đầy đủ (PDF)

(39 trang)