Phạm Công Hòa - Tên đề tài: Xây dựng ứng dụng quản lý bán hàng Music Talent - Tóm tắt: Đề tài “Xây dựng ứng dụng quản lý bán hàng Music Talent” được xây dựng lên để phục vụ cho 5 mục t
Trang 1VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Trang 3NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP
Họ và tên: Đỗ Anh Tuấn Giới tính: Nam
Ngày sinh: 22/05/1994 Nơi sinh: Hà Nội
Chuyên ngành: Công nghệ thông tin Mã số: 1210A10010030
Lớp hành chính: 1210A01
Xây dựng ứng dụng quản lý bán hàng - Music Talent
- Khảo sát quy trình quản lý của cửa hàng Music Talent
- Phân tích, xác định các yêu cầu của hệ thống
- Nghiên cứu, tìm hiểu về ngôn ngữ lập trình C# và ngôn ngữ SQL để xây dựng ứng dụng quản lý bán hàng Music Talent
Nội dung và đề cương Đồ án đã được Hội đồng chuyên ngành thông qua
KHOA CÔNG NGHỆ THÔNG TIN Độc lập – Tự do – Hạnh phúc
Hà Nội, ngày tháng năm2016
CÁN BỘ HƯỚNG DẪN
Ngày tháng năm 2016
KHOA CÔNG NGHỆ THÔNG TIN
Trang 4Em xin chân thành cảm ơn TS Dương Thăng Long – Trưởng khoa Công nghệ Thông tin – Viện Đại học Mở Hà Nội, cùng ban giám hiệu nhà trường, các phòng ban đã giúp đỡ tạo điều kiện tốt nhất cho em trong suốt thời gian học tập tại trường Tuy có nhiều cố gắng trong quá trình học tập, cũng như trong quá trình làm đồ án tốt nghiệp không thể tránh khỏi những thiếu sót, em rất mong được sự góp ý quý báu của tất cả các thầy cô giáo cũng như tất cả các bạn để kết quả của em được hoàn thiện hơn
Một lần nữa em xin chân thành cảm ơn!
Hà Nội, Ngày tháng năm 2016
Sinh viên
Đỗ Anh Tuấn
Trang 5LỜI NÓI ĐẦU
Ngày nay công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cả chiều rộng và chiều sâu Máy tính điện tử không còn là một thứ phương tiện quý hiếm, mà đang ngày càng trở thành một công cụ làm viện và giải trí thông dụng của con người không chỉ ở công sở mà ngay cả trong gia đình
Đứng trước vai trò của thông tin hoạt động cạnh tranh, các tổ chức và các doanh nghiệp đều tìm mọi biện pháp để xây dựng và hoàn thiện hệ thống thông tin của mình nhằm tin học hóa các hoạt động tác vụ của đơn vị
Hiện nay, các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành quản lý các công tác bằng các ứng dụng trên máy tính Với những thao tác đơn giản, người sử dụng đã có thể quản lý công việc nhập, xuất hàng cũng như danh sách sảm phẩm
mà không cần dùng đến sổ sách, giấy tờ viết tay, tránh được sơ suất khi thao tác thủ công
Để tiếp cận và đóng góp đầy mạnh sự phổ biến của ứng dụng quản lý ở Việt Nam, em đã tìm hiểu và xây dựng “Ứng dụng quản lý bán hàng Music Talent” Với
sự hướng dẫn tận tình của thầy Phạm Công Hòa em đã hoàn thành đồ án tốt nghiệp này Tuy cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng không thể tránh khỏi những thiếu sót Em rất mong được sự thông cảm và góp ý của các thầy cô
Em xin trân thành cảm ơn!
Trang 6MỤC LỤC
CHƯƠNG 1: KHẢO SÁT HỆ THỐNG 1
1.1 Khảo sát thực tế 1
1.2 Nhiệm vụ cơ bản 2
1.3 Quy trình xử lý 2
CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG 4
2.1 Ngôn ngữ SQL và cơ sở dữ liệu SQL server 4
2.2 Ngôn ngữ lập trình C# 5
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG 7
3.1 Sơ đồ phân rã chức năng 7
3.1.1 Xác định chức năng 7
3.1.2 Gom nhóm chức năng 8
Tên chức năng 9
Tên nhóm chức năng 9
1.1 Tạo tài khoản 9
1.2 Phân quyền 9
1.3 Đăng nhập 9
1.4 Xem/Cập nhật thông tin tài khoản 9
1.5 Đổi mật khẩu 9
1.6 Quên mật khẩu 9
1.0 Quản lý tài khoản 9
Phần mềm quản lý bán hàng MUSIC TALENT 9
2.1 Thêm thông tin nhân viên 9
2.2 Xem/Cập nhật thông tin nhân viên 9
2.3 Tìm kiếm thông tin nhân viên 9
2.0 Quản lý nhân viên 9
3.1 Thêm thông tin khách hàng 9
3.2 Xem/Cập nhật thông tin khách hàng 9
Trang 73.3 Sửa thông tin khách hàng 9
3.4 Tìm kiếm thông tin khách hàng 9
3.0 Quản lý khách hàng 9
4.1 Thêm thông tin sản phẩm 9
4.2 Xem thông tin sản phẩm 9
4.3 Sửa thông tin sản phẩm 9
4.4 Tìm kiếm thông tin sản phẩm 9
4.0 Quản lý sản phẩm 9
5.1 Thống kê hàng tồn 9
5.2 Lập phiếu nhập 9
5.3 Sửa phiếu nhập 9
5.4 Thống kê hàng nhập 9
5.0 Quản lý kho hàng 9
6.1 Lập đơn đặt hàng 9
6.2 Sửa đơn đặt hàng 9
6.3 Lập phiếu xuất hàng 9
6.4 Lập hóa đơn bán hàng 9
6.5 Thống kê hàng bán 9
6.0 Quản lý bán hàng 9
7.1 Lập phiếu nhận 9
7.0 Quản lý bảo hành/ sửa chữa 9
3.1.3 Sơ đồ phân rã chức năng hệ thống 10
3.2 Sơ đồ luồng dữ liệu 10
3.2.1 Ký hiệu sử dụng 10
3.2.2 DFD mức khung cảnh 11
3.2.4 DFD mức dưới đỉnh 13
3.3 Đặc tả chức năng chi tiết 19
CHƯƠNG 4: PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU 36
4.1 ER mở rộng 36
4.1.1 Xác định thực thể, kiểu thuộc tính 36
Trang 84.1.2 Xác định kiểu liên kết 36
4.2 Chuẩn hóa dữ liệu 38
4.2.2 Chuyển đổi từ ER hạn chế về mô hình quan hệ 40
4.3 Đặc tả bảng dữ liệu 43
CHƯƠNG 5: THIẾT KẾ HỆ THỐNG 48
5.1 Thiết kế kiểm soát 48
5.1.1 Xác định nhóm người dùng 48
5.1.2 Phân định quyền hạn nhóm người dùng 48
5.3 Thiết kế CSDL vật lý 51
5.3.1 Mô hình dữ liệu hệ thống 51
5.3.2 Đặc tả bảng dữ liệu 52
5.4 Thiết kế kiến trúc chương trình và giao diện 60
CHƯƠNG 6: TỔNG KẾT VÀ ĐÁNH GIÁ 67
6.1 Kết quả đạt được 67
6.2 Các mặt hạn chế 67
6.3 Hướng phát triển trong tương lai 67
TÀI LIỆU THAM KHẢO 68
Trang 9TÓM TẮT ĐỒ ÁN
- Họ và tên: Đỗ Anh Tuấn
- Chuyên ngành: Công nghệ thông tin Khóa: 1210A
- Cán bộ hướng dẫn: ThS Phạm Công Hòa
- Tên đề tài: Xây dựng ứng dụng quản lý bán hàng Music Talent
- Tóm tắt: Đề tài “Xây dựng ứng dụng quản lý bán hàng Music Talent” được
xây dựng lên để phục vụ cho 5 mục tiêu chính:
• Quản lý lưu trữ, tìm kiếm thông tin nhân viên làm việc tại cửa hàng
• Lưu trữ thông tin khách hàng
• Quản lý việc nhập hàng, bán hàng
• Quản lý việc bảo hành, sửa chữa
• Quản lý việc báo cáo, thống kê của cửa hàng
DANH MỤC CÁC CHỮ VIẾT TẮT
1 BFD Bussiness Function Diagram Sơ đồ phân rã chức năng
Trang 10DANH SÁCH HÌNH VẼ
Hình 3.1 Sơ đồ phân rã chức năng hệ thống 10
Hình 3.2 Ký hiệu các thành phần 10
Hình 3.3 Ký hiệu quan hệ giữa kho dữ liệu, tiến trình, luồng dữ liệu 11
Hình 3.4 DFD mức khung cảnh 11
Hình 3.5 DFD mức đỉnh 12
Hình 3.6 DFD mức dưới đỉnh quản lý người dùng 13
Hình 3.7 DFD mức dưới đỉnh quản lý nhân viên 14
Hình 3.8 DFD mức dưới đỉnh quản lý sản phẩm 15
Hình 3.9 DFD mức dưới đỉnh quản lý khách hàng 16
Hình 3.10 DFD mức dưới đỉnh quản lý kho 17
Hình 3.11 DFD mức dưới đỉnh quản lý bán hàng 18
Hình 3.12 DFD mức dưới đỉnh tra quản lý bảo hành/sửa chữa 19
Hình 4.1 Mô hình ER mở rộng 38
Hình 4.2 Mô hình quan hệ 42
Hình 5.1 Mô hình cơ sở dữ liệu hệ thống 51
Hình 5.2 Form đăng nhập 60
Hình 5.3 Form chủ cửa hàng 60
Hình 5.4 Form nhân viên 61
Hình 5.5 Form quản lý tài khoản 61
Hình 5.6 Form quản lý nhân viên 62
Hình 5.7 Form quản lý khách hàng 62
Hình 5.8 Form quản lý nhạc cụ 63
Hình 5.9 Form quản lý loại nhạc cụ 63
Hình 5.10 Form phiếu nhập 64
Hình 5.11 Form hóa đơn 64
Hình 5.12 Form bảo hành 65
Hình 5.13 Form phiếu nhận sửa chữa 65
Hình 5.14 Form hóa đơn sửa chữa 66
DANH SÁCH CÁC BẢNG Bảng 3.1 Xác định chức năng 7
Bảng 3.2 Kết quả gom nhóm chức năng 8
Bảng 3.3 Đặc tả chi tiết tạo tài khoản 19
Bảng 3.4 Đặc tả chi tiết đăng nhập 21
Bảng 3.5 Đặc tả chi tiết xem thông tin nhân viên 22
Bảng 3.6 Đặc tả chi tiết cập nhật thông tin nhân viên 22
Bảng 3.7 Đặc tả chi tiết đổi mật khẩu 24
Bảng 3.8 Đặc tả chi tiết quên mật khẩu 24
Trang 11Bảng 3.9 Đặc tả chi tiết thêm thông tin nhân viên 25
Bảng 3.10 Đặc tả chi tiết xem thông tin nhân viên 25
Bảng 3.11 Đặc tả chi tiết sửa thông tin nhân viên 26
Bảng 3.12 Đặc tả chi tiết tìm kiếm thông tin nhân vên 27
Bảng 3.13 Đặc tả chi tiết thêm thông tin khách hàng 27
Bảng 3.14 Đặc tả chi tiết xem thông tin khách hàng 28
Bảng 3.15 Đặc tả chi tiết cập nhật thông tin khách hàng 28
Bảng 3.16 Đặc tả chi tiết tìm kiếm khách hàng 29
Bảng 3.17 Đặc tả chi tiết thêm thông tin sản phẩm 30
Bảng 3.18 Đặc tả chi tiết xem thông tin sản phẩm 30
Bảng 3.19 Đặc tả chi tiết cập nhật thông tin sản phẩm 30
Bảng 3.20 Đặc tả chi tiết tìm kiếm sản phẩm 31
Bảng 3.21 Đặc tả chi tiết lập phiếu nhập 32
Bảng 3.22 Đặc tả chi tiết sửa phiếu nhập 32
Bảng 3 23 Đặc tả chi tiết lập hóa đơn bán hàng 33
Bảng 3.24 Đặc tả chi tiết lập phiếu nhận 33
Bảng 3.25 Đặc tả chi tiết xem thông tin phiếu nhận 34
Bảng 3.26 Đặc tả chi tiết cập nhật phiếu nhận 34
Bảng 3.27 Đặc tả chi tiết lập hóa đơn sửa chữa 35
Bảng 4.1 Đặc tả các trường của Tbl_KhachHang 43
Bảng 4.2 Đặc tả các trường của Tbl_NhanVien 43
Bảng 4.3 Đặc tả các trường của Tbl_Quyen 43
Bảng 4.4 Đặc tả các trường của Tbl_HoaDon 44
Bảng 4.5 Đặc tả các trường của Tbl_ChiTietHoaDon 44
Bảng 4.6 Đặc tả các trường của Tbl_SanPham 44
Bảng 4.7 Đặc tả các trường của Tbl_LoaiSanPham 45
Bảng 4.8 Đặc tả các trường của Tbl_NhaCungCap 45
Bảng 4.9 Đặc tả các trường của Tbl_PhieuNhap 45
Bảng 4.10 Đặc tả các trường của Tbl_ChiTietPhieuNhap 45
Bảng 4.11 Đặc tả các trường của Tbl_BaoHanh 46
Bảng 4.12 Đặc tả các trường của Tbl_ChiTietBaoHanh 46
Bảng 4.13 Đặc tả các trường của Tbl_PhieuNhan 46
Bảng 4.14 Đặc tả các trường của Tbl_ChiTietPhieuNhan 47
Bảng 4.15 Đặc tả các trường của Tbl_HoaDonSuaChua 47
Bảng 5.1 Quyền người dùng - Dữ liệu 48
Bảng 5.2 Quyền người dùng - Tiến trình 49
Bảng 5.3 Đặc tả dữ liệu của tbl_Quyen 52
Bảng 5.4 Đặc tả dữ liệu của tbl_NhanVien 52
Bảng 5.5 Đặc tả dữ liệu của tbl_HoaDon 53
Bảng 5.6 Đặc tả dữ liệu của tbl_ Tbl_ChiTietHoaDon 53
Bảng 5.7 Đặc tả dữ liệu của tbl_KhachHang 54
Trang 12Bảng 5.8 Đặc tả dữ liệu của tbl_SanPham 54
Bảng 5.9 Đặc tả dữ liệu của tbl_LoaiSanPham 55
Bảng 5.10 Đặc tả dữ liệu của tbl_NhaCungCap 55
Bảng 5.11 Đặc tả dữ liệu của tbl_PhieuNhap 56
Bảng 5.12 Đặc tả dữ liệu của tbl_ChiTietPhieuNhap 56
Bảng 5.13 Đặc tả dữ liệu của tbl_PhieuNhan 57
Bảng 5.14 Đặc tả dữ liệu của tbl_ChiTietPhieuNhan 57
Bảng 5.15 Đặc tả dữ liệu của tbl_HoaDonSuaChua 58
Bảng 5.16 Đặc tả dữ liệu của tbl_BaoHanh 58
Bảng 5.17 Đặc tả dữ liệu của tbl_ChiTietBaoHanh 59
Trang 13CHƯƠNG 1: KHẢO SÁT HỆ THỐNG
Ngày nay xã hội phát triển, nhu cầu về giải trí,âm nhạc càng tăng cao chính
vì vậy càng nhiều cửa hàng bán nhạc cụ mọc lên
Hệ thống cửa hàng bán nhạc cụ càng ngày càng lớn, chính vì vậy cần sự quản lý rất chính xác và nghiêm ngặt, con người không thể làm hết những công việc thủ công.Từ đó,chúng ta cần sự trợ giúp từ máy tính.Chính vì những lý do trên nên tôi chọn đề tài này nhằm phục vụ vấn đề quản lý cửa hàng bán nhạc cụ một cách hợp lý và chính xác
Cửa hàng Music Talent - 38 Hào Nam, Đống Đa, Hà Nội là 1 nơi mà
khách hàng có thể mua những nhạc cụ mình thích Công việc của cửa hàng gồm có nhập hàng và xuất hàng Hàng có thể nhập về cửa hàng từ nhiều nhà cung cấp khác nhau Xuất hàng theo hình thức bán lẻ Khi khách hàng đến cửa hàng, nhân viên cửa hàng giới thiệu sản phẩm, tư vấn để chọn được sản phẩm phù hợp nhất với khách hàng và bán hàng
Sản phẩm được nhập về cửa hàng từ nhiều nhà cung cấp khác nhau, nên có
sự đa dạng về mẫu mã và thương hiệu Cửa hàng bán sản phẩm theo hình thức bán
lẻ (giao dịch trực tiếp với khách hàng tại cửa hàng và có số lượng ít, sau đó sẽ vận chuyển đến địa điểm khách hàng mong muốn với những nhạc cụ có kích thước lớn) Chủ cửa hàng quyết định nhập những sản phẩm nào trong thời gian nào Đề nhập hàng, chủ cửa hàng liên hệ với nhà cung cấp (có thể đến kho của nhà cung cấp hay gọi điện thoại đặt hàng rồi nhà cung cấp mang đến) Sản phẩm được nhập sẽ được nhân viên cửa hàng lưu vào sổ sách phục vụ cho việc quản lý Tại cửa hàng, nhân viên cửa hàng có nhiệm vụ giới thiệu sản phẩm, tư vấn để chọn được sản phẩm phù hợp nhất với khách hàng bán hàng, lập hóa đơn và thu tiền Ngoài ra, nhân viên cửa hàng còn có trách nhiệm về số lượng sản phẩm còn trong của hàng,
về tình trạng của sản phẩm, làm báo cáo/ thống kê để phục vụ việc nhập thêm sản phẩm cũng như quản lý, tra cứu khi xảy ra sai sót ở một khâu nào đó
Trang 14Tính đến thời điểm khảo sát và thu thập thông tin, các hoạt động quản lý kinh doanh công cửa hàng vẫn được tiến hành theo phương pháp ghi chép số sách Cách thức này gây nên tình trạng khó khăn khi lưu trữ dữ liệu và tra cứu thông tin cũng như phức tạp trong việc tính toán và thống kê, đánh giá kết quả kinh doanh
Cửa hàng có mong muốn xây dựng một hệ thống đồng bộ tin học hóa nhằm thuận tiện hơn cho công việc quản lý hoạt động kinh doanh tại của hàng Đồng thời,
hỗ trợ các nhân viên và chủ cửa hàng trong quá trình làm việc
Phần mềm "Quản lý bán hàng Music Talent" sẽ được xây dựng để đáp ứng
đúng nhu cầu của cửa hàng đó là:
• Quản lý lưu trữ, tìm kiếm thông tin nhân viên làm việc tại cửa hàng
• Lưu trữ thông tin khách hàng
• Quản lý việc nhập hàng, bán hàng
• Quản lý việc bảo hành, sửa chữa
Phần mềm sẽ được sử dụng bởi 2 nhóm người dùng là chủ cửa hàng và nhân viên của cửa hàng, được phân biệt qua quyền quản trị tách biệt trách nhiệm, phân chia nhiệm vụ của từng chủ thể tương tác với hệ thống Mỗi người dùng được cung cấp tài khoản đăng nhập vào hệ thống được tạo bởi người quản trị phần mềm với các thông tin cá nhân đầu vào được lưu trữ trên cơ sở dữ liệu Như đã nói ở trên, với mỗi nhóm loại tài khoản thì sẽ được phân định quyền và chức năng khác nhau khi đăng nhập vào hệ thống (Các thông tin đăng nhập như mật khẩu sẽ được mã hóa để chống xâm nhập và các phiên làm việc sẽ lưu lịch sử đăng nhập vào phần mềm)
Trang 15- Với nhóm người dùng Nhân viên: nhóm tài khoản này được sử dụng để
quản lý khách hàng cũng như quản lý việc nhập, xuất hàng,… của hệ thống + Khi khách hàng đến mua hàng, nhân viên của cửa hàng sẽ tiến hành tư vấn, gợi ý cho khách hàng sản phẩm mà khách hàng mong muốn Khách hàng sau khi lựa chọn sản phẩm và đạt được thỏa thuận với nhân viên sẽ được lưu lại thông tin cá nhân để tiến hành giao dịch Sau đó, nhân viên sẽ tiến hành lập hóa đơn cũng như lưu trữ thông tin khách hàng về cơ sở dữ liệu của cửa hàng
+ Các hóa đơn sẽ qua xử lý của nhân viên rồi xuất hóa đơn cho khách hàng Nhân viên có thể chỉnh sửa hoặc hủy bỏ nếu cần
+ Mọi thông tin sẽ được lưu trữ trong cơ sở dữ liệu để sau này có thể tiến hành báo cáo, thống kê
- Với nhóm người dùng Chủ cửa hàng: khác với nhóm người dùng nhân viên,
nhóm người dùng chủ cửa hàng có đầy đủ quyền để sử dụng mọi chức năng của phần mềm bao gồm những chức năng trên và:
+ Quản lý thông tin tài khoản: Các tài khoản đăng nhập vào hệ thống đều do chủ cửa hàng lập ra, lưu trữ và có quyền thay đổi các thông tin này
+ Quản lý nhân viên: Chỉ có chủ cửa hàng mới có thể quản lý được thông tin nhân viên
Tóm lại, các thông tin của phần mềm sẽ được lưu trữ trên cơ sở dữ liệu và theo từng quyền của tài khoản mà được phép sử dụng các chức năng của phần mềm Các thông tin được bảo mật để đảm bảo quyền lợi của người dùng và những người liên quan
Trang 16CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG 2.1 Ngôn ngữ SQL và cơ sở dữ liệu SQL server
SQL (Structured Query Language) là ngôn ngữ truy vấn có cấu trúc, là công
cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu được lưu trong các cơ sở dữ liệu SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với
cơ sở dữ liệu quan hệ
Khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu tuy nhiên nó vẫn là một trong những các chức năng quan trọng của SQL SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:
- Cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu
Truy xuất và thao tác dữ liệu
- Điều khiển truy cập
- Đảm bảo toàn vẹn dữ liệu
Như vậy, SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống
cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ sở dữ liệu
Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu nên nó không thể tồn tại độc lập SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng với hệ quản trị cơ sở dữ liệu
SQL có vai trò trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ như sau:
- Có tính tương tác
- Là ngôn ngữ lập trình cơ sở dữ liệu
- Là ngôn ngữ quản trị cơ sở dữ liệu
- Là ngôn ngữ cho các hệ thống khách/ chủ (client/ server)
- Là ngôn ngữ truy cập dữ liệu trên Internet
- Là ngôn ngữ cơ sở dữ liệu phân tán
Trang 17- Là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu
2.2 Ngôn ngữ lập trình C#
C# là một ngôn ngữ lập trình ứng dụng, ngôn ngữ biên dịch, ngôn ngữ đa năng được phát triển bởi Microsoft, là một phần khởi đầu cho kế hoạch NET.Microsoft phát triển C# dựa trên C, C++ và Java C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java…
C# là một ngôn ngữ đơn giản, với khoảng 80 từ khóa và hơn 10 kiểu dữ liệu dựng sẵn, nhưng C# có tính diễn đạt cao C# hỗ trợ lập trình có cấu trúc, hướng đối tượng, hướng thành phần ( component oriented)
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth Cả hai người này đều là những người nổi tiếng, trong đó Anders Hejlsberg được biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC nổi tiếng Ông đứng đầu nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây dựng môi trường phát triển tích hợp (IDE) cho lập trình client/ server
Trọng tâm của ngôn ngữ hướng đối tượng là lớp Lớp định nghĩa kiểu dữ liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết C# có những từ khóa dành cho việc khai báo lớp, phương thức, thuộc tính (property) mới C# hỗ trợ đầy
đủ khái niệm trụ cột trong lập trình hướng đối tượng: đóng gói, kế thừa, đa hình C# hỗ trợ khái niệm giao diện interfaces (tương tự Java), nó được xem như một cam kết với một lớp cho những dịch vụ giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất lớp cha, tức là không cho đa kế thừa như trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện
Khi đó nó sẽ cung cấp chức năng thực thi giao diện
C# có kiểu cấu trúc struct (không giống C++) Trong C#, một cấu trúc sẽ được giới hạn là kiểu dữ liệu nhỏ gọn và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ so với một lớp Một cấu trúc thì không thể kế thừa từ một lớp hay được kế thừa nhưng một cấu trúc có thể thực thi một giao diện
Ngôn ngữ C# cung cấp những đặc trưng lập trình hướng thành phần như property, sự kiện và dẫn hướng khai báo (attribute) Lập trình hướng component
Trang 18được hỗ trợ bởi CLR thông qua siêu dữ liệu (metadata) Siêu dữ liệu mô tả các lớp bao gồm các phương thức và thuộc tính, các thông tin bảo mật, vv…
C# cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++ và từ khóa cho dấu ngoặc [] trong toán tử Các mã nguồn này là không an toàn (unsafe), CLR sẽ không thực thi việc thu dọn rác tự động các đối tượng được tham chiếu bởi con trỏ cho đến khi lập trình viên tự giải phóng
Trang 19CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG
3.1 Sơ đồ phân rã chức năng
7 Thêm thông tin nhân viên
8 Xem/Cập nhật thông tin nhân viên
9 Tìm kiếm thông tin nhân viên
10 Thêm thông tin khách hàng
11 Xem/Cập nhật thông tin khách hàng
12 Tìm kiếm thông tin khách hàng
13 Thêm thông tin nhạc cụ
14 Xem/Cập nhật thông tin nhạc cụ
Trang 20Bảng 3.2 Kết quả gom nhóm chức năng
Trang 21Tên chức năng Tên nhóm chức năng
1.1 Tạo tài khoản
lý bán hàng MUSIC TALENT
2.1 Thêm thông tin nhân viên
2.2 Xem/Cập nhật thông tin nhân
viên
2.3 Tìm kiếm thông tin nhân viên
2.0 Quản lý nhân viên
3.1 Thêm thông tin khách hàng
3.2 Xem/Cập nhật thông tin khách
hàng
3.3 Sửa thông tin khách hàng
3.4 Tìm kiếm thông tin khách
hàng
3.0 Quản lý khách hàng
4.1 Thêm thông tin sản phẩm
4.2 Xem thông tin sản phẩm
4.3 Sửa thông tin sản phẩm
4.4 Tìm kiếm thông tin sản phẩm
Trang 223.1.3 Sơ đồ phân rã chức năng hệ thống
Phần mềm bán hàng Music Talent
(5.0) Quản lý kho hàng
(6.0) Quản lý bán hàng
(1.2)
nhập
(5.3) Sửa phiếu nhập
(5.4) Thống kê hàng nhập
(6.2) Thống kê hàng bán
(5.1) Thống kê hàng tồn
(7.0)
QL bảo hành/ sửa chữa
(7.1) Lập phiếu nhận
(1.1)
Tạo tài khoản
(2.0) Quản lý nhân
viên
(2.1) Thêm thông tin nhân viên
(2.3) Tìm kiếm thông tin nhân viên
(4.0) Quản lý nhạc cụ
(4.1) Thêm thông tin nhạc cụ
(4.3) Tìm kiếm thông tin nhạc cụ
(3.0) Quản lý khách hàng
(3.1) Thêm thông tin khách hàng
(3.3) Tìm kiếm thông tin khách hàng
(2.2) Xem/Cập nhật thông tin nhân viên
(3.2) Xem/Cập nhật thông tin khách hàng
(4.2) Xem/Cập nhật thông tin nhạc cụ
(1.6)
Quên mật
khẩu
(6.1) Lập hóa đơn bán hàng
(7.3) Lập hóa đơn sửa chữa
Hình 3.1 Sơ đồ phân rã chức năng hệ thống
3.2 Sơ đồ luồng dữ liệu
3.2.1 Ký hiệu sử dụng
Hình 3.2 Ký hiệu các thành phần
Trang 23Hình 3.3 Ký hiệu quan hệ giữa kho dữ liệu, tiến trình, luồng dữ liệu
3.2.2 DFD mức khung cảnh
Hình 3.4 DFD mức khung cảnh
Trang 243.2.3 DFD mức đỉnh
CHỦ HÀNG
1.0 Quản lý tài khoản Kết quả thông báo (tạo tài khoản/đăng nhập/cập nhật tài khoản/đổi mật khẩu/phân quyền tài khoản)
Thông tin tạo tài khoản nhân viên Tài khoản
2.0 Quản lý nhân viên
Thông tin nhân viên(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới, cập nhật thông tin nhân viên) Yêu cầu (xem,tìm kiếm thông tin nhân viên) Thông tin nhân viên được yêu cầu ( xem, tìm kiếm) Nhân viên
3.0 Quản lý khách hàng
Thông tin khách hàng(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới, cập nhật thông tin khách hàng) Yêu cầu (xem,tìm kiếm thông tin khách hàng) Thông tin khách hàng được yêu cầu ( xem, tìm kiếm)
Thông tin khách hàng(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới, cập nhật thông tin khách hàng) Yêu cầu (xem,tìm kiếm thông tin khách hàng) Thông tin khách hàng được yêu cầu ( xem, tìm kiếm)
Khách hàng
4.0 Quản lý nhạc cụ
Thông tin nhạc cụ(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới, cập nhật thông tin nhạc cụ) Yêu cầu (xem,tìm kiếm thông tin nhạc cụ) Thông tin nhạc cụ được yêu cầu ( xem, tìm kiếm)
Thông tin nhạc cụ(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới, cập nhật thông tin nhạc cụ) Yêu cầu (xem,tìm kiếm thông tin nhạc cụ) Thông tin nhạc cụ được yêu cầu ( xem, tìm kiếm) Khách hàng
5.0 Quản lý kho hàng
Thông tin phiếu nhập(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới, cập nhật thông tin phiếu nhập) Yêu cầu thống kê(hàng tồn, hàng nhập) Thông tin kết quả báo cáo thống kê( hàng tồn, hàng nhập)
Thông tin phiếu nhập(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới, cập nhật thông tin phiếu nhập) Yêu cầu thống kê(hàng tồn, hàng nhập) Thông tin kết quả báo cáo thống kê( hàng tồn, hàng nhập)
6.0 Quản lý bán hàng
Yêu cầu thống kê hàng bán Thông tin kết quả báo cáo thống kê hàng bán
Thông tin hóa đơn(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới,cập nhật) thông tin hóa đơn Yêu cầu thống kê hàng bán
Thông tin kết quả báo cáo thống kê hàng bán Kết quả thông báo(Tạo mới,cập nhật) thông tin hóa đơn
Hóa đơn
7.0 Quản lý bảo hành/sửa chữa
Thông tin phiếu nhận(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới, cập nhật thông tin phiếu nhận) Thông tin hóa đơn sửa chữa Kết quả thông báo thông tin hóa đơn sửa chữa
Thông tin phiếu nhận(Tạo mới, cập nhật) Kết quả thông báo(Tạo mới, cập nhật thông tin phiếu nhận) Thông tin hóa đơn sửa chữa Kết quả thông báo thông tin hóa đơn sửa chữa
Hình 3.5 DFD mức đỉnh
Trang 253.2.4 DFD mức dưới đỉnh
CHỦ CỬA HÀNG
1.1 Tạo tài khoản Kết quả thông báo tạo tài khoản
Thông tin tạo tài khoản nhân viên
Tài khoản
1.2 Phân quyền
1.3 Đăng nhập
1.4 Cập nhật thông tin tài khoản
1.5 Đổi mật khẩu
1.6 Quên mật khẩu
NHÂN
VIÊN
Quyền Kết quả thông báo phân quyền
Thông tin phân quyền
Kết quả thông báo đăng nhập Thông tin yêu cầu đăng nhập Thông tin yêu cầu đăng nhập
Kết quả thông báo đăng nhập
Kết quả thông báo cập nhật thông tin tài khoản Thông tin tài khoản cần cập nhật
Tài khoản
Kết quả thông báo đổi mật khẩu Thông tin(mật khẩu cũ/mới)
Mật khẩu mới Thông tin tài khoản và yêu cầu cấp mật khẩu mới
Hình 3.6 DFD mức dưới đỉnh quản lý tài khoản
Trang 26Hình 3.7 DFD mức dưới đỉnh quản lý nhân viên
Trang 271.1 Thêm thông tin nhạc cụ
1.2 Xem/Cập nhật thông tin nhạc cụ
1.4 Tìm kiếm thông tin nhạc cụ
NHÂN VIÊN Nhạc cụ
Thông tin nhạc cụ cần thêm mới Kết quả thông báo thêm thông tin nhạc cụ
Thông tin nhạc cụ cần cập nhật Kết quả cập nhật thông tin nhạc cụ
Yêu cầu tìm kiếm thông tin nhạc cụ Thông tin nhạc cụ cần tìm kiếm
Yêu cầu tìm kiếm thông tin nhạc cụ Thông tin nhạc cụ cần tìm kiếm
Hình 3.8 DFD mức dưới đỉnh quản lý nhạc cụ
Trang 281.1 Thêm thông tin khách hàng
1.2 Xem/Cập nhật thông tin khách hàng
1.3 Tìm kiếm thông tin khách hàng
NHÂN VIÊN Khách hàng
Thông tin khách hàng cần thêm mới Kết quả thông báo thêm thông tin khách hàng
Thông tin khách hàng cần cập nhật Kết quả cập nhật thông tin khách hàng
Yêu cầu tìm kiếm thông tin khách hàng Thông tin khách hàng cần tìm kiếm
Yêu cầu tìm kiếm thông tin khách hàng Thông tin khách hàng cần tìm kiếm
Hình 3.9 DFD mức dưới đỉnh quản lý khách hàng
Trang 291.1 Thống kê hàng tồn
1.2 Lập phiếu nhập
1.3 Sửa phiếu nhập
1.4 Thống kê hàng nhập
NHÂN VIÊN
Trang 301.2 Lập hóa đơn bán hàng
NHÂN VIÊN
Thông tin hóa đơn cần lập Thông tin kết quả lập hóa đơn
Yêu cầu thống kê hàng bán Thông tin kết quả thống kê hàng bán Yêu cầu thống kê hàng bán
Thông tin kết quả thống kê hàng nhập
Hóa đơn
Hình 3.11.DFD mức dưới đỉnh quản lý bán hàng
Trang 311.1 Lập phiếu nhận
1.2 Cập nhật phiếu nhận
1.3 Lập hóa đơn sửa chữa
NHÂN VIÊN
Thông tin phiếu nhận sửa chữa Thông tin kết quả lập phiếu nhận
Thông tin phiếu nhận cần cập nhật Kết quả thông báo cập nhật phiếu nhận
Thông tin hóa đơn sửa chữa cần lập Thông tin kết quả lập hóa đơn sửa chữa
Thông tin hóa đơn sửa chữa cần lập
Thông tin kết quả lập hóa đơn hóa đơn sửa chữa
Hóa đơn sửa chữa
Hình 3.12.DFD mức dưới đỉnh tra quản lý bảo hành/sửa chữa
3.3 Đặc tả chức năng chi tiết
• Các chức năng thuộc quản lý tài khoản
Bảng 3.3 Đặc tả chi tiếttạo tài khoản Tên chức năng Tạo tài khoản
Đầu vào Dữ liệu người dùng
Trang 32LẶP lấy bản ghi tài khoản trong bản ghi người dùng ở CSDL NẾU Tên đăng nhập chưa tồn tại
THÌ LẶP lưu dữ liệu vào bản ghi trong CSDL
LẶP ĐẾN KHI hết bản ghi người dùng trong CSDL KẾT THÚC LẶP
NẾU Tên đăng nhập đã tồn tại Thông báo tên tài khoản đã tồn tại yêu cầu nhập lại Đầu ra Thông báo kết quả tạo tài khoản
Trang 33Bảng 3.4 Đặc tả chi tiết đăng nhập Tên chức năng Đăng nhập
Đầu vào Tài khoản, Mật khẩu
Thông báo đăng nhập thành công KẾT THÚC LẶP
LẶP ĐẾN KHI hết bản ghi trong CSDL NẾU không tìm được bản ghi có tài khoản và mật khẩu như đã nhập tương ứng
THÌ Thông báo tài khoản đăng nhập không đúng
Đầu ra Thông báo về việc đăng nhập thành công hay chưa
Trang 34Bảng 3.5 Đặc tả chi tiết xem thông tin nhân viên Tên chức năng Thông tin tài khoản
Đầu vào Mã người dùng
Xuất dữ liệu thông báo trả về phía người dùng KẾT THÚC LẶP
LẶP ĐẾN khi hết bản ghi trong CSDL Đầu ra Thông tin tài khoản
Bảng 3.6 Đặc tả chi tiết cập nhật thông tin nhân viên Tên chức năng Cập nhật thông tin người dùng
Đầu vào Thông tin người dùng cập nhật, Mã người dùng
Trang 35LẶP lấy bản ghi thông tin người dùng trong CSDL
NẾU dữ liệu nhập vào không trùng với dữ liệu đã lưu trữ trên bản ghi
THÌ Thông báo cập nhật thông tin thành công KẾT THÚC LẶP
KHÔNG THÌ thông báo dữ liệu nhập vào trùng với dữ liệu
cũ và KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL LẶP ĐẾN KHI hết bản ghi tài khoản trong CSDL
Đầu ra Thông báo cập nhật thông tin người dùng thành công hay chưa
Trang 36Bảng 3.7 Đặc tả chi tiết đổi mật khẩu Tên chức năng Đổi mật khẩu
Đầu vào Tài khoản, Mật khẩu
THÌ Thông báo cập nhật thông tin thành công KẾT THÚC LẶP
KHÔNG THÌ mật khẩu đã trùng, yêu cầu nhập lại KẾT THÚC LẶP
LẶP ĐẾN KHI hết bản ghi tài khoản trong CSDL
Đầu ra Thông báo đổi mật khẩu nhân viên có thành công hay không
Bảng 3.8 Đặc tả chi tiết quên mật khẩu Tên chức năng Quên mật khẩu
Đầu vào Tài khoản
Trang 37Gửi mật khẩu mới KẾT THÚC LẶP LẶP ĐẾN KHI kết thúc tài khoản CSDL
NẾU không tìm thấy tài khoản trong hệ thống
THÌ Thông báo tài khoản điền không chính xác
Đầu ra Thông báo về việc lấy lại mật khẩu mới thành công hay chưa
• Các chức năng thuộc quản lý nhân viên
Bảng 3.9 Đặc tả chi tiết thêm thông tin nhân viên Tên chức năng Thêm thông tin nhân viên
Đầu vào Thông tin nhân viên
Bảng 3.10 Đặc tả chi tiết xem thông tin nhân viên Tên chức năng Xem thông tin nhân viên
Đầu vào Mã nhân viên
Trang 38Hiện thông tin nhân viên LẶP ĐẾN KHI hết bản ghi nhân viên trong CSDL Đầu ra Thông tin nhân viên
Bảng 3.11 Đặc tả chi tiết sửa thông tin nhân viên Tên chức năng Cập nhật thông tin nhân viên
Đầu vào Mã nhân viên, thông tin nhân viên cần sửa
LẶP lấy bản ghi thông tin nhân viên trong CSDL
NẾU dữ liệu nhập vào không trùng với dữ liệu đã lưu trữ trên bản ghi
THÌ Thông báo cập nhật thông tin thành công KẾT THÚC LẶP
KHÔNG THÌ thông báo dữ liệu nhập vào trùng với dữ liệu
cũ và KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL LẶP ĐẾN KHI hết bản ghi nhân viên trong CSDL
Trang 39Đầu ra Thông báo cập nhật thông tin nhân viên thành công hay chưa
Bảng 3.12 Đặc tả chi tiết tìm kiếm thông tin nhân vên Tên chức năng Tìm kiếm thông tin nhân viên
Đầu vào Thông tin nhân viên cần tìm kiếm
Hiện thông tin nhân viên phù hợp với yêu cầu tìm kiếm LẶP ĐẾN KHI hết bản ghi nhân viên trong CSDL
Đầu ra Thông tin nhân viên được tìm kiếm
• Các chức năng thuộc quản lý khách hàng
Bảng 3.13 Đặc tả chi tiết thêm thông tin khách hàng
Tên chức năng Thêm thông tin khách hàng
Đầu vào Mã khách hàng, Thông tin khách hàng
Trang 40Đầu ra Thông báo về việc thêm khách hàng thành công hay chưa
Bảng 3.14 Đặc tả chi tiết xem thông tin khách hàng Tên chức năng Xem thông tin khách hàng
Bảng 3.15 Đặc tả chi tiết cập nhật thông tin khách hàng Tên chức năng Cập nhật thông tin khách hàng
Đầu vào Mã khách hàng, Thông tin cần cập nhật