CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG V XÁC LẬP DỰ ÁN 1.1 Khảo sát- Nhập hàng và tổ chức lưu trữ Nhân viên kho thống kê lại hàng hóa trong kho vào mỗi cuối tuần và gửi lại cho người quản lý..
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
CÔNG NGHỆ PHẦN MỀM
ĐỀ TI:
PHẦN MỀM QUẢN LÝ CỬA HNG BÁN ĐỒ ĐIỆN TỬ
Sinh viên thực hiện : TRẦN NHẬT DUY
: ĐẶNG MINH HỒNG QUÂN : NGUYỄN THỊ KIM GIANG Giảng viên hướng dẫn : LÊ HON
Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : CÔNG NGHỆ PHẦN MỀM Lớp : D16QTANM
Khóa : D16
Hà Nội, tháng 12 năm 2023
Trang 2PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 4
CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN 5
1.1 Khảo sát hiện trạng 5
1.1.1 Giới thiệu về cửa hàng bán đồ điện tử 5
1.1.1.1 Giới thiệu chung 5
1.1.1.2 Cơ cấu, sơ đồ tổ chức 6
1.1.1.3 Giới thiệu mặt hàng dịch vụ 6
1.1.1.4 Trang thiết bị của cửa hàng 6
1.1.2 Quy trình hoạt động của cửa hàng 6
1.1.3Ưu nhược điểm của hệ thống hiện tại 7
1.1.3.1 Ưu điểm 7
1.1.3.2 Nhược điểm 7
1.2 Xác lập dự án 8
1.2.1 Mục tiêu dự án mới 8
1.2.2 Yêu cầu hệ thống mới 8
1.2.3 Phạm vi thực hiện dự án 8
CHƯƠNG 2: QUẢN TRỊ DỰ ÁN 9
2.1 Ước tính dự án 9
2.1.1 Ước tính chi phí 9
2.1.2 Ước lượng thời gian 11
2.1.3 Ước lượng người tham gia 13
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 16
3.1 Xác định các Actor và Use Case tổng quát của hệ thống 16
3.1.1 Các Actor 16
3.1.2 Use Case tổng quát của hệ thống 16
3.2 Phân rã Use Case 16
3.2.1 Use Case tổng quát 16
3.2.2 Chức năng đăng nhập 18
3.2.2.1 Trình tự 18
3.2.2.2 Hoạt động 19
1
Trang 43.2.3 Chức năng quản lý sản phẩm 20
3.2.3.1 Use Case 20
3.2.3.2 Trình tự 21
3.2.3.3 Hoạt động 24
3.2.4 Chức năng quản lý khách hàng 25
CHƯƠNG 4: THIẾT KẾ CƠ SỞ DỮ LIỆU 27
4.1 Database diagram 27
4.2 Các bảng dữ liệu 27
4.2.1 Bảng người dùng 27
4.2.2 Bảng khách hàng 28
4.2.3 Bảng chi tiết đặt 28
4.2.4 Bảng đặt hàng 28
4.2.5 Bảng sản phẩm 29
4.2.6 Bảng loại sản phẩm 29
CHƯƠNG 5: THIẾT KẾ GIAO DIỆN 30
5.1 Giao diện đăng nhập 30
5.2 Giao diện trang chủ 30
5.3 Giao diện chi tiết đặt hàng 31
5.4 Giao diện khách hàng 31
5.6 giao diện đặt hàng 32
CHƯƠNG 6: LẬP TRÌNH 34
6.1 Ngôn ngữ lập trình 34
6.2 Công cụ hỗ trợ 34
6.3 Kết quả code 35
6.3.1 Code cấu hình chuỗi kết nối SQL 35
6.3.2 Code chức năng đăng nhập 35
6.3.3 Code chức năng quản lý bán hàng 36
CHƯƠNG 7: KIỂM THỬ 37
7.1 Phương pháp kiểm thử 37
Trang 5CHƯƠNG 8: TÍCH HỢP BẢO TRÌ 39
8.1 Đóng gói phần mềm 39
8.2 Khái niệm về bảo trì phần mềm 40
8.3 Lý do cần bảo trì phần mềm 41
KẾT LUẬN 42
TÀI LIỆU THAM KHẢO 43
3
Trang 6LỜI MỞ ĐẦU
Trên thế giới hiện nay, ngành công nghiệp hóa - hiện đại hóa ngày càngphát triển mạnh mẽ Trong đó, chúng ta không thể nhắc đến ngành công nghệthông tin Việc ứng dụng công nghệ thông tin vào các dịch vụ đã trở nên phổbiến và rộng rãitrên mọi lĩnh vực từ khoa học-xã hội và đời sống Tin học hóađược xem như một trong những yếu tố mang tính quyết định trong các hoạtđộng kinh doanh, dịch vụ, xã hội, khoa học, giáo dục, …Ứng dụng công nghệthông tin đóng vai trò hết sức quan trọng, có thể tạo ra các bước đột phá.Ngày nay, nhiều lĩnh vực đã và đang áp dụng tin học hóa, trong lĩnh vựcsản xuất và cả trong những lĩnh vực xã hội Việc áp dụng tin học hóa vào trongcông tác quản lý bán hàng giúp cho việc quản lý, kiểm tra, kiểm soát dễ dàng vàthuận tiện hơn Xây dựng phần mềm quản lý bán hàng là một công tác rất quantrọng và phức tạp mà bất kỳ người quản lý nào cũng phải thực hiện Bắt đầu từviệc nhập các sản phẩm, tiếp đó là quản lý doanh thu của cửa hàng theo từngtháng, từng quý
Môn học Công nghệ phần mềm, đóng vai trò quan trọng trong quá trìnhtạo ra những ứng dụng phục vụ công tác quản lý tự động để lại hiệu quả cao.Đối với lĩnh vực kinh doanh, việc áp dụng Công nghệ phần mềm trong quản lýbán hàng là một giải pháp đúng đắn và hiệu quả trước nhu cầu mua sắm ngàycàng gia tăng của thị trường hiện nay Xuất phát từ thực tế này em đã chọn đềtài “Phần mềm quản lý cửa hàng bán đồ điện tử” - một mô hình kinh doanhứng dụng công nghệ vào quản lí để góp phần tăng doanh thu cho cửa hàng cũngnhư có thể đưa đến cho những người tiêu dùng một giao diện hoàn chỉnh vàchất lượng hơn nữa
Mặc dù đã rất cố gắng hoàn thiện bài báo cáo với tất cả sự nỗ lực, tuynhiên, do bước đầu đi vào thực tế, tìm hiểu và xây dựng báo cáo trong thời gian
có hạn, với lượng kiến thức còn hạn chế, nhiều bỡ ngỡ, nên báo cáo chắc chắn
sẽ không thể tránh khỏi những thiếu sót Chúng em rất mong nhận được sự quantâm, thông cảm và những đóng góp quý báu của thầy cô để đồ án này ngày cànghoàn thiện hơn
Sau cùng, em xin kính chúc các thầy cô trong Khoa Công Nghệ ThôngTin và đặc biệt là thầy Lê Hoàn thật nhiều sức khỏe, niềm tin để tiếp tục thựchiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau
Em xin trân trọng cảm ơn quý thầy cô!
Trang 7CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG V XÁC LẬP DỰ ÁN 1.1 Khảo sát
- Nhập hàng và tổ chức lưu trữ
Nhân viên kho thống kê lại hàng hóa trong kho vào mỗi cuối tuần
và gửi lại cho người quản lý Người quản lý sẽ dựa trên bản thống
kê, lịch sử bàn hàng và dự đoán về nhu cầu trong tương lai để xácđịnh những mặt hàng cần nhập
Sau khi xác định được các mặt hàng cần nhập, người quản lý tiếnhành liên hệ với nhà cung cấp hoặc sử dụng các hệ thống trựctuyến để đặt hàng
Khi hàng hóa được giao tới cửa hàng, nhân viên kho sẽ kiểm tra lạihàng hóa (số lượng, chất lượng, hạn sử dụng) Hàng hóa sẽ đượcphân loại theo danh mục (vd: thực phẩm, đồ gia dụng, bánh kẹo,
…) và được đặt vào các nơi lưu trữ tương ứng
- Phục vụ khách hàng và thanh toán
Nhân viên chào đón khách hàng khi họ đến cửa hàng, đồng thời nhân viễn cũng sẽ tư vấn và hỗ trợ khách hàng về các sản phẩm trong tiệm
Nhân viên hỗ trọ tìm kiếm và lấy sản phẩm từ kệ hoặc kho lưu trữ cho khách hàng
Khi khách hàng đã chọn sản phẩm, đưa ra lựa chọn thanh toán (tiềnmặt, chuyển khoản, …), nhân viên thu ngân sẽ tỉnh tổng tiền vàhiển thị cho khách hàng
Sau khi khách hàng thanh toán xong, nhân viên thu ngân sẽ cungcấp cho khách hàng một hóa đơn hoặc biển nhận thanh toán
- Quản lý nhân viên
Cửa hàng gồm 3 nhân viên (2 nhân viên bê đồ, 1 nhân viên kho).Lương cơ bản của nhân viên trong quán là 4.500.000 VND/tháng.Khi muốn nghỉ phép thì phải có giấy xin nghỉ, và phải báo trướccho người quản lý (ít nhất là 1 ngày) Nếu xin nghỉ việc thì phảibáo trước 1 tháng để quản lý có thể bổ sung nhân sự kịp thời
Lương của nhân viên sẽ được người quản lý tính vào cuối tháng,công thức tính lương như sau:
Lương tháng = (lương cơ bản + lương chức vụ) / số ngày làm việc trong tháng x số ngày làm việc thực tế
Trong đó:
Lương cơ bản: 4.500.000 VNĐ
Lương chức vụ:
5
Trang 8Nhân viên bê đồ: 2.200.000
- Báo cáo thống kê
Thu thập dữ liệu từ nhiều nguồn khác nhau trong cửa hàng Baogồm các thông tin về hóa đơn bán hàng, tồn kho, lương nhân viên,nhập hàng, … Đảm bảo dữ liệu thu thập được phải chính xác
Sử dụng các dữ liệu thu thập được thống kê thành sơ đồ, báo cáo.Các loại báo cáo gồm báo cáo doanh thu, báo cáo tồn kho, báo cáolợi nhuận Người quản lý sẽ dựa trên cáo báo cáo để đưa ra quyếtđịnh và hành động dụ thể để cải thiệt hiệu suất hoặc giải quết vấn
đề nếu cần
1.2 Yêu cầu chung của phần mềm
- Khắc phục được các nhược điểm của hệ thống cũ
- Phần mềm được cài trên hệ điều hành window
- Dễ sử dụng, có thể dùng được mọi lúc mọi nơi
- Tối ưu cơ sở dữ liệu, tiết kiệm bộ nhớ
- Có cơ chế sao lưu phục hồi dữ liệu, đảm bảo an toàn lưu trữ dữ liệu
- Tốc độ tra cứu thông tin, và độ chuẩn xác cao
- Bảo mật tốt, chỉ làm việc với người có quyền sử dụng
1.3 Mục tiêu phần mềm
Phần mềm được đảm bảo các chức năng:
- Quản lý kho: quản lý thông tin nhà cung cấp, quản lý nhập hàng, quản lý hàng hóa
- Quản lý nhân viên: quản lý thông tin nhân viên, quản lý chấm công nhân viên
- Quản lý bán hàng: tạo giao dịch, quản lý hóa đơn
- Báo cáo thống kê: Thống kê doanh thu (theo tuần, tháng, năm), thống kê hàng tồn
1.4 Đối tượng người dùng
Chủ cửa hàng
Trang 9CHƯƠNG 2: QUẢN TRỊ DỰ ÁN 2.1 Ước tính dự án
2.1.1 Ước tính chi phí
7
Trang 10Hình 2.1 Bảng ước lượng chi phí
Trang 112.1.2 Ước lượng thời gian
9
Trang 13Hình 2.2 Bảng ước lượng thời gian
2.1.3 Ước lượng người tham gia
Số lượng người tham gia là: 3 người
11
Trang 15Hình 2.3 Bảng ước lượng thời gian
13
Trang 16CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1 Xác định các Actor và Use Case tổng quát của hệ thống
3.1.1 Các Actor
Dựa vào phần miêu tả bài toán, có thể xác định được các tác nhân sau của hệthống:
- Nhân viên
3.1.2 Use Case tổng quát của hệ thống
Ta có thể xác định được các Use case sau của hệ thống:
- Quản lí khách hàng
- Quản lí sản phẩm
- Quản lí loại sản phẩm
- Quản lý đặt hàng
3.2 Phân rã Use Case
3.2.1 Use Case tổng quát
Hình 3.1 Use Case tổng quát
Đặc tả Use Case:
Trang 17+ Nhân viên bán hàng: Là bộ phận tiếp nhận yêu cầu, tư vấn cho khách hàng,
xử lí hóa đơn thanh toán của khách hàng và đóng gói sản phẩm cho khách hàng, ngoài ra còn quản lý các danh sách liên quan đến sản phẩm, khách hàng.+ Quy trình quản lí sản phẩm:
Nhân viên sẽ quản lí thông tin sản phẩm, chỉnh sửa các thông tin liên quan vào hệ thống của cửa hàng
Nhân viên bán hàng sẽ kiểm tra số lượng và thống kê hạn sử dụng, tình trạng sản phẩm trong kho để báo cáo cho quản lý cửa hàng, có quyết định giải quyếtkịp thời là tiêu hủy hay hoàn trả cho phía nhà cung cấp
15
Trang 183.2.2 Chức năng đăng nhập
3.2.2.1 Trình tự
Hình 3.2 Biểu đồ trình tự chức năng đăng nhập
Trang 193.2.2.2 Hoạt động
Hình 3.3 Biểu đồ hoạt động chức năng đăng nhập
17
Trang 203.2.3 Chức năng quản lý sản phẩm
3.2.3.1 Use Case
Hình 3.4 Biểu đồ Use Case chức năng quản lý sản phẩm
Tên Use Case Quản lý sản phẩm
Mô tả Use Case này cho phép nhân viên thực hiện các chức
năng thêm, sửa, xóa, tìm kiếm sản phẩm
Actor Nhân viên
Tiền điều kiện Nhân viên đăng nhập vào hệ thống
Hậu điều kiện Nhân viên sẽ biết được các thông tin liên quan đến
sản phẩm, thao tác thêm, sửa, xóa sản phẩm
Luồng sự kiện
chính
1 Quản lý chọn chức năng quản lý sản phảm
2 Form quản lý sản phẩm hiển thị
3 Quản lý chọn chức năng thêm, sửa hoặc xóa đồng thời nhập dữ liệu cho chức năng muốn sử dụng
4 Hệ thống kiểm tra dữ liệu và xác nhận thông tin từquản lý gửi vào hệ thống
Trang 213.2.3.2 Trình tự
Hình 3.5 Biểu đồ trình tự chức năng thêm sản phẩm
19
Trang 22Hình 3.6 Biểu đồ trình tự chức năng sửa sản phẩm
Hình 3.7 Biểu đồ trình tự chức năng xoá sản phẩm
Trang 23Hình 3.8 Biểu đồ trình tự chức năng tìm kiếm sản phẩm
21
Trang 243.2.3.3 Hoạt động
Hình 3.9 Biểu đồ hoạt động chức năng quản lý sản phẩm
Trang 253.2.4 Chức năng quản lý khách hàng
3.2.4.1 Use Case
Hình 3.10 Biểu đồ use case quản lý nhân viên
Tên Use Case Quản lý khách hàng
Mô tả Use Case này cho phép nhân viên thực hiện thêm, sửa , xóa ,
tìm kiếm nhân viên để nắm bắt được số tiền thực tế và trênmáy thu
Actor Nhân viên
Tiền điều kiện Nhân viên đăng nhập vào hệ thống
Hậu điều kiện Nhân viên sẽ cập nhật các thông tin liên quan đến
Khách hàng
23
Trang 26Luồng sự kiện
chính
1 Nhân viên chọn chức năng quản lý nhân viên
2 Form quản lý khách hàng hiển thị
3 Nhân viên chọn chức năng thêm, sửa, xóa, tìm kiếmđồng thời nhập dữ liệu cho chức năng muốn sử dụng
4 Hệ thống kiểm tra dữ liệu và xác nhận thông tin từnhân viên gửi vào hệ thống
5 Thông tin đúng hệ thống sẽ gửi thông báo thành công3.2.4.2 Trình tự
Hình 3.11 Biểu đồ trình tự thêm khách hàng
Trang 27CHƯƠNG 4: THIẾT KẾ CƠ SỞ DỮ LIỆU
Trang 30CHƯƠNG 5: THIẾT KẾ GIAO DIỆN 5.1 Giao diện đăng nhập
Hình 5.1 Giao diện đăng nhập
5.2 Giao diện trang chủ
Hình 5.2 Giao diện trang chủ
Trang 315.3 Giao diện chi tiết đặt hàng
Hình 5.3 Giao diện chi tiết đặt hàng
5.4 Giao diện khách hàng
Hình 5.4 Giao diện khách hàng
29
Trang 325.5 Giao diện sản phẩm
Hình 5.5 Giao diện sản phẩm
5.6 giao diện đặt hàng
Hình 5.6 Giao diện đặt hàng
Trang 335.7 Giao diện loại sản phẩm
Hình 5.7 Giao diện loại sản phẩm
31
Trang 34CHƯƠNG 6: LẬP TRÌNH 6.1 Ngôn ngữ lập trình
Ngôn ngữ C# (hay C shap) là một ngôn ngữ lập trình đơn giản được pháttriển bởi đội ngũ kĩ sư của Microfoft vào năm 2000, trong đó người dẫn đầu làAnders Hejlsberg và Scott Wittamuth
C# là ngôn ngữ lập trình hiện đại và hướng đối tượng và nó được xâydựng trên nền tảng của hai ngôn ngữ mạnh nhất đó là C++ và java Với sự hỗtrợ mạnh mẽ của Net framework giúp cho việc lập trình hay tạo ứng dụngwindows form trở nên dễ dàng và nhanh hơn bao giờ hết
Những điểm nổi bật của ngôn ngữ C#:
•C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, nêncũng khá dể dàng tiếp cận và học nhanh với C#
•C# có thể biên dịch trên nhiều nền tảng máy tính khác nhau
•C# được xây dựng trên nền tảng của C++ và Java nên nó được thừahưởng những ưu điểm của ngôn ngữ đó
•C# là một phần của NET Framework nên được sự chống lưng khá lớnđến từ bộ phận này
•C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ
•NET Framework
6.2 Công cụ hỗ trợ
-Visual studio 2019: là môi trường phát triển tích hợp (IDE) được
Microsoft phát hành Nó được sử dụng để phát triển các chương trình máy tínhcho Microsoft windows, các ứng dụng, các trang web các dịch vụ web hay cácứng dụng web Với việc dùng nền tảng phát triển của Microsoft nên nó có thểsản xuất cả hai ngôn ngữ máy và mã số quản lý
Là công cụ phát triển nên Visual Studio bao gồm trình soạn thảo mã có
hỗ trợ IntelliSense cũng như cải tiến mã nguồn Không chỉ thế Visual còn hỗ trợnhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập mã và gỡ lỗi để
hỗ trợ các ngỗn ngữ lập trình này Người dùng có thể dùng trực tiếp các ngôn ngữ lập trình mặc định mà Visul hỗ trợ sẵn hoặc cài đặt các gói ngôn ngữ riêng
rẽ cho nhu cầu của mình
Trang 35cấu hình, quản lý và quản trị bộ máy cơ sở dữ liệu (database engine) SQL Server, phổ biến và được sử dụng rộng rãi trong cộng đồng lập trình viên và quản trị viên cơ sở dữ liệu bởi những ưu điểm:
6.3.1 Code cấu hình chuỗi kết nối SQL
Hình 6.1 Code cấu hình chuỗi liên kết
6.3.2 Code chức năng đăng nhập
Hình 6.2 Code chức năng đăng nhập
33
Trang 366.3.3 Code chức năng quản lý bán hàng
Hình 6.3 Code chức năng quản lý bán hàng
Trang 37CHƯƠNG 7: KIỂM THỬ 7.1 Lập kế hoạch kiểm thử
Mục tiêu:
Xác định phạm vi kiểm thử và các chức năng cần được kiểm thử
Đảm bảo rằng tất cả các khía cạnh của hệ thống được kiểm thử đầy đủ và hiệu quả
Xác định tài nguyên và lịch trình cho các hoạt động kiểm thử
Bước 1: Xác định phạm vi kiểm thử
o Xác định các chức năng chính cần được kiểm thử: bao gồm đăng nhập, quản lý nhân viên, sản phẩm, hóa đơn, nhà cung và nhập hàng
Bước 2: Xác định tài nguyên
o Xác định nhân sự cần thiết cho kiểm thử, bao gồm nhóm kiểm thử và người dùng cưới tham gia kiểm thử chấp nhận người dùng (UAT)
o Đảm bảo có môi trường kiểm thử chính xác, bao gồm cơ sở dữ liệu test
và các thiết bị cần thiết
Bước 3: Lên lịch trình kiểm thử
o Xác định các giai đoạn kiểm thử và lên lịch trình chi tiết cho từng giai đoạn
o Xác định thời gian cần thiết cho mỗi bước kiểm thử và bảo trì
- Viết và chạy các test case cho từng hàm, phương thức
- Kiểm tra tính đúng đắn, hiệu suất và bảo mật của các phần nhỏ
7.2.2 Kiểm Thử Tích Hợp:
Mục Tiêu: Kiểm tra sự tương tác giữa các thành phần khác nhau của hệ thống.Bước Thực Hiện:
o Kiểm tra tính đồng bộ giữa Controller và View
o Kiểm thử tích hợp chức năng quản lý nhân viên, sản phẩm, hóa đơn, nhà cung cấp
36
Trang 38o Kiểm Thử Chức Năng Cơ Bản:
- Thực hiện kiểm thử chức năng quản lý nhân viên, sản phẩm, hóa đơn, nhà cung cấp, và nhập hàng
o Kiểm Thử Báo Cáo và Thống Kê:
- Kiểm tra tính chính xác của báo cáo và thống kê
7.4 Bảo Trì và Cập Nhật Kiểm Thử:
Mục Tiêu: Xác định kế hoạch bảo trì sau khi triển khai
Bước Thực Hiện:
o Theo Dõi và Ghi Nhận Phản Hồi:
- Theo dõi kết quả kiểm thử và ghi nhận mọi phản hồi từ người dùngcuối
xô lệch
-Các label sử dụng cùng
1 loại font, cỡ chữ, căn
Đạt