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 sẽ được nhân viên cửa hàng
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
Giáo viên hướng dẫn: ThS Phạm Công Hòa
Trang 3VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP
Họ và tên: Lê Thu Phương
Ngày, tháng, năm sinh: 25/09/1994
Chuyên ngành: Công nghệ thông tin
Giới tính: Nữ
Nơi sinh: Hà Nội
Mã số:12A10010125
1 TÊN ĐỀ TÀI
Xây dựng ứng dụng quản lý bán hàng cửa hàng Jolie
2 NHIỆM VỤ VÀ NỘI DUNG
3 NGÀY GIAO NHIỆM VỤ: 25/12/2015
4 NGÀY HOÀN THÀNH NHIỆM VỤ: 12/05/2016
5 GIÁO VIÊN HƯỚNG DẪN: ThS Phạm Công Hòa
Ngày……tháng…… năm 2016
GIÁO VIÊN HƯỚNG DẪN KHOA CÔNG NGHỆ THÔNG TIN
Trang 4LỜI CẢM ƠN
Trước hết, em xin bày tỏ tình cảm và lòng biết ơn của em tới thầy giáo Phạm Công Hòa Người đã từng bước tận tình hướng dẫn, giúp đỡ em trong quá trình thực hiện đồ án tốt nghiệp của mình
Em xin chân thành cảm ơn các thầy cô giáo khoa Công nghệ Thông tin – Viện Đại học Mở Hà Nội đã dìu dắt, dạy dỗ em cả về kiến thức chuyên môn và tinh thần học tập để em có được những kiến thức thực hiện đồ án tốt nghiệp của mình
Em 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 20 tháng 04 năm 2016
Sinh viên
Lê Thu Phương
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 cửa hàng Jolie”
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 chân thành cảm ơn!
Trang 6MỤC LỤC
CHƯƠNG 1 1
GIỚI THIỆU ĐỀ TÀI 1
1.1 Khảo sát hệ thống 1
1.1.1 Tổ chức 1
1.1.2 Mô hình kinh doanh 1
1.1.3 Cách thức hoạt động 1
1.1.4 Hiện trạng 2
1.1.5 Giải pháp 2
1.2 Mục tiêu và nhiệm vụ nghiên cứu 2
1.3 Phạm vi đề tài 2
1.3.1 Nhân viên 3
1.3.2 Chủ cửa hàng 3
1.4 Những lợi ích khi ứng dụng Công nghệ Thông tin vào quản lý cửa hàng 3
CHƯƠNG 2 5
CÔNG NGHỆ SỬ DỤNG 5
2.1 Ngôn ngữ lập trình C# 5
2.1.1 Tổng quan về ngôn ngữ lập trình C# 5
2.1.2 Ngôn ngữ C# & các ngôn ngữ khác 6
2.1.3 Tại sao ta lại muốn sử dụng ngôn ngữ C# 8
2.2 Ngôn ngữ SQL và cơ sở dữ liệu SQL server 11
CHƯƠNG 3 14
PHÂN TÍCH YÊU CẦU 14
3.1 Phân tích hệ thống 14
3.1.1 Nghiệp vụ lập phiếu đặt hàng 14
3.1.2 Nghiệp vụ nhập hàng 14
3.1.3 Nghiệp vụ bán hàng 14
3.2 Các quy trình 15
Trang 73.2.1 Quy trình đăng nhập 15
3.2.2 Quy trình đăng ký 16
3.2.3 Quy trình nhập hàng 16
3.2.4 Quy trình bán hàng 17
3.3 Phát biểu bài toán 18
CHƯƠNG 4 20
PHÂN TÍCH HỆ THỐNG 20
4.1 Phân cấp chức năng 20
4.2 Phân rã chức năng 22
4.2.1 Phân rã chức năng 22
4.2.2 Mô tả các chức năng hệ thống 22
4.3 Sơ đồ mức ngữ cảnh 24
4.4 Sơ đồ luồng dữ liệu mức đỉnh 25
4.5 Sơ đồ luồng dữ liệu mức dưới đỉnh 26
CHƯƠNG 5 30
THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 30
5.1 Xác định danh sách các thuộc tính cần quản lý 30
5.1.1 Chính xác hóa thông tin 30
5.1.2 Thêm bớt thuộc tính 31
5.1.3 Xác định liên kết thực thể 33
5.2 Thiết kế cơ sở dữ liệu mức logic – mô hình quan hệ 34
5.2.1 Quy tắc 1: chuyển kiểu thực thể mạnh 34
5.2.2 Quy tắc 2 : chuyển thuộc tính đa trị 34
5.2.3 Quy tắc 5: chuyển đổi liên kết quan hệ một – nhiều 35
5.3 Các ràng buộc khi tạo bảng 35
5.3.1 Ràng buộc Check 35
5.3.2 Ràng buộc Primary key 36
5.3.3 Ràng buộc Default 36
5.3.4 Ràng buộc Foreign key 36
Trang 85.3.5 Mô hình khái niệm 37
5.4 Thiết kế cơ sở dữ liệu vật lý 38
5.4.1 Bảng nhà cung cấp 38
5.4.2 Bảng sản phẩm 38
5.4.3 Bảng loại sản phẩm 39
5.4.4 Bảng nhân viên 39
5.4.5 Bảng đơn đặt hàng 39
5.4.6 Bảng chi tiết đơn đặt hàng 40
5.4.7 Bảng phiếu nhập 40
5.4.8 Bảng chi tiết phiếu nhập 40
5.4.9 Bảng hóa đơn 41
5.4.10 Bảng chi tiết hóa đơn 41
5.4.11 Bảng quyền 41
5.4.12 Bảng tài khoản 42
5.4.13 Bảng hình thức thanh toán 42
5.5 Thiết kế giao diện 42
5.5.1 Giao diện đăng nhập 42
5.5.2 Giao diện đăng ký 43
5.5.3 Giao diện Windows Form chính 43
5.5.4 Giao diện nhà cung cấp 44
5.5.5 Giao diện loại sản phẩm 44
5.5.6 Giao diện sản phẩm 45
5.5.7 Giao diện nhân viên 45
5.5.8 Giao diện đơn đặt hàng 46
5.5.9 Giao diện phiếu nhập 46
5.5.10 Giao diện hóa đơn 47
5.5.11 Giao diện hình thức thanh toán 47
5.6 Giao diện hệ thống 48
5.6.1 Giao diện đăng nhập 48
5.6.2 Giao diện Windows Form chính 48
Trang 95.6.3 Giao diện Windows Form khi đăng nhập bằng tài khoản của nhân viên
49
5.6.4 Giao diện đăng ký 49
5.6.5 Giao diện nhà cung cấp 50
5.6.6 Giao diện loại sản phẩm 50
5.6.7 Giao diện sản phẩm 51
5.6.8 Giao diện đơn đặt hàng 51
5.6.9 Giao diện phiếu nhập 52
5.6.10 Giao diện hóa đơn 52
5.6.11 Giao diện hình thức thanh toán 53
5.6.12 Giao diện báo cáo doanh thu 53
5.6.13 Giao diên in báo cáo doanh thu 54
5.6.14 Giao diện thống kê hàng nhập 54
5.6.15 Thống kê hàng nhập 55
5.6.16 Giao diện thống kê hàng xuất 55
5.6.17 Thống kê hàng xuất 56
5.6.18 Giao diện thống kê hàng tồn 56
5.6.19 Thốn kê hàng tồn 57
5.6.20 Giao diện đăng xuất 57
5.7 Hướng dẫn sử dụng 58
TÀI LIỆU THAM KHẢO 61
Trang 10DANH MỤC HÌNH ẢNH
Hình 3.1 Nghiệp vụ lập phiếu đặt hàng 14
Hình 3.3 Nghiệp vụ bán hàng 15
Hình 3.4 Quy trình đăng nhập 15
Hình 3.6 Quy trình nhập hàng 16
Hình 4.1 Sơ đồ phân rã chức năng 22
Hình 4.2 Sơ đồ mức ngữ cảnh 24
Hình 4.3 Sơ đồ luồng dữ liệu mức đỉnh 25
Hình 4.4 Sơ đồ luồng dữ liệu mức dưới đỉnh – chức năng Quản lý hệ thống 26
Hình 4.5 Sơ đồ luồng dữ liệu mức dưới đỉnh (1.1) – chức năng Quản lý người dùng 26
Hình 4.6 Sơ đồ luồng dữ liệu mức dưới đỉnh – chức năng Quản lý danh mục 27
Hình 4.7 Sơ đồ luồng dữ liệu mức dưới đỉnh – chức năng Quản lý nhập hàng 27
Hình 4.8 Sơ đồ luồng dữ liệu mức dưới đỉnh – chức năng Quản lý bán hàng 28
Hình 4.9 Sơ đồ luồng dữ liệu mức dưới đỉnh – chức năng Tìm kiếm 28
Hình 4.10 Sơ đồ luồng dữ liệu mức dưới đỉnh – chức năng Báo cáo/ thống kê 29
Hình 5.1 Mô hình khái niệm 37
Hình 5.3 Giao diện đăng ký 43
Hình 5.4 Giao diện Windows Form chính 43
Hình 5.8 Giao diện nhân viên 45
Hình 5.13 Form đăng nhập 48
Hình 5.15 Windows Form khi đăng nhập bằng tài khoản của người quản lý 48
Hình 5.15 Windows Form khi đăng nhập bằng tài khoản của nhân viên 49
Hình 5.17 Form nhà cung cấp 50
Hình 5.18 Form loại sản phẩm 50
Hình 5.19 Giao diện sản phẩm 51
Hình 5.20 Giao diện đơn đặt hàng 51
Hình 5.21 Giao diện phiếu nhập 52
Hình 5.22 Giao diện hóa đơn 52
Hình 5.23 Giao diện hình thức thanh toán 53
Hình 5.24 Giao diện báo cáo doanh thu 53
Hình 5.25 Giao diện in báo cáo doanh thu 54
Hình 5.26 Giao diện thống kê hàng nhập 54
Hình 5.27 Thống kê hàng nhập 55
Hình 5.28 Giao diện thống kê hàng xuất 55
Hình 5.29 Thống kê hàng xuất 56
Hình 5.30 Giao diện thống kê hàng tồn 56
Hình 5.31 Thống kê hàng tồn 57
Hình 5.32 Giao diện đăng xuất 57
Trang 11DANH MỤC BẢNG
Bảng 4.1 Phân cấp chức năng 20
Bảng 5.1 NHACUNGCAP 38
Bảng 5.2 SANPHAM 38
Bảng 5.3 LOAISANPHAM 39
Bảng 5.4 NHANVIEN 39
Bảng 5.5 DDATHANG 39
Bảng 5.6 CTDDATHANG 40
Bảng 5.7 PHIEUNHAP 40
Bảng 5.8 CTPHIEUNHAP 40
Bảng 5.9 HOADON 41
Bảng 5.10 CTHOADON 41
Bảng 5.11 QUYEN 41
Bảng 5.12 TAIKHOAN 42
Bảng 5.13 HTTHANHTOAN 42
Trang 13Nơi lưu trữ thông tin trong một thời gian
Người hay tổ chức ngoài hệ thống có giao tiếp với hệ thống
Danh từ (+tính từ)
Trang 14CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1.1 Khảo sát hệ thống
1.1.1 Tổ chức
Cửa hàng Jolie hoạt động trong lĩnh vực thời trang dành cho phái nữ 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
1.1.2 Mô hình kinh doanh
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ẻ (bán trực tiếp cho khách hàng tại cửa hàng và có số lượng ít)
1.1.3 Cách thức hoạt động
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 151.1.4 Hiện trạng
Tí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
1.1.5 Giải pháp
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
1.2 Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu đầu tiên là đáp ứng được sự cần thiết của nhu cầu quản lý cửa hàng, đáp ứng nhu nhập hàng, bán hàng, quản lý biểu mẫu của chủ cửa hàng
Cung cấp chức năng hỗ trợ quản lý thống kê báo cáo doanh thu chính xác
đây đủ với thời gian nhanh nhất
1.3 Phạm vi đề tài
Đề tài sau khi xây dựng xong sẽ được áp dụng trong công tác quản lý các nghiệp vụ của cửa hàng thời trang Jolie
Quy mô: Cửa hàng thời trang Jolie
Có thể phát triển cho cửa hàng vừa và nhỏ
Ứng dụng quản lý bán hàng cửa hàng Jolie được xây dựng nhằm phục vụ cho 2 đối tượng:
- Nhân viên
- Chủ cửa hàng
Trang 161.3.1 Nhân viên
Nhân viên có thể đăng nhập vào hệ thống tại máy tính của cửa hàng Họ
có quyền kiểm soát một số chức năng của hệ thống, cụ thể như:
- Quản lý nhập hàng, bán hàng
- Thêm mới, sửa, xóa các phiếu nhập, hóa đơn
- Tạo báo cáo thống kê
- Tạo báo cáo thống kê
1.4 Những lợi ích khi ứng dụng Công nghệ Thông tin vào quản lý cửa hàng
Tầm quan trọng của công nghệ thông tin và truyền thông đối với sự phát triển của doanh nghiệp với hệ quả là sự thịnh vượng của các quốc gia không còn là vấn
đề tranh cãi Ứng dụng của công nghệ thông tin do vậy trở thành một phần không thể thiếu trong các chiến lược cạnh tranh của các doanh nghiệp và quốc gia
Ở Việt Nam, những năm gần đây số lượng người dùng máy tính tăng lên rất nhiều Khi ứng dụng công nghệ thông tin vào việc quản lý cửa hàng sẽ mang lại những lợi ích cơ bản như sau:
- Dữ liệu được lưu dưới dạng số hóa, dễ dàng thống kê, báo cáo tuyệt đối chính xác, đảm bảo an toàn dữ liệu
Trang 17- Tiết giảm thời gian làm việc do tất cả các công việc liên quan đến dữ liệu được lập trình, các thao tác phức tạp trước đây được đơn giản hóa
- Cải thiện chất lượng quá trình điều khiển và hiệu suất của quá trình sản xuất
- Kiểm soát được việc khai thác và sử dụng dữ liệu
- Giảm thiểu thời gian chờ đợi của khách hàng do việc tính toán được thực hiện trên máy tính nên sẽ nhanh và chính xác hơn
- Chống tiêu cực, gian lận trong việc quản lý: Các công việc do máy tính thực hiện, xử lý, lưu trữ nên các nhân viên khó có thể sửa chữa, thay đổi gian lận trong quá trình làm việc
- Tìm kiếm dữ liệu cho việc thống kê, báo cáo trở nên nhanh gọn và dễ dàng hơn Giúp tránh nhầm lẫn khi tính toán
- Minh bạch hóa các nguồn thông tin
Trang 18CHƯƠNG 2 CÔNG NGHỆ SỬ DỤNG 2.1 Ngôn ngữ lập trình C#
2.1.1 Tổng quan về ngôn ngữ lập trình C#
Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++
và Java
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à phổ biến Và ô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
Phần cốt lõi hay còn gọi là trái tim của bất cứ ngôn ngữ lập trình hướng đối tượng là sự hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp Những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộng ngôn ngữ
để tạo mô hình tốt hơn để giải quyết vấn đề Ngôn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thực thi đóng gói, kế thừa, và đa hình, ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình hướng đối tượng
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìm thấy trong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++ Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cho lớp
Trang 19C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp cho những dịch vụ mà giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất mộ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 một lớp thực thi một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện
Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái niệm về ngữ nghĩa của nó thay đổi khác với C++ Trong C#, một cấu trúc đượ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 tính hướng thành phần oriented), như là những thuộc tính, những sự kiện Lập trình hướng thành phần được hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho một lớp Metadata mô tả cho một lớp, bao gồm những phương thức và những thuộc tính của
(component-nó, cũng như những sự bảo mật cần thiết và những thuộc tính khác Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của nó Do vậy, một lớp được biên dịch như là một khối self-contained, nên môi trường hosting biết được cách đọc metadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác để sử dụng nó
Một lưu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của 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) Và bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối tượng được tham chiếu bằng sử dụng con trỏ cho đến khi chúng được giải phóng
2.1.2 Ngôn ngữ C# & các ngôn ngữ khác
Chúng ta đã từng nghe đến những ngôn ngữ khác như Visual Basic, C++ và Java Có lẽ chúng ta cũng tự hỏi sự khác nhau giữa ngôn ngữ C# và nhưng ngôn ngữ đó Và cũng tự hỏi tại sao lại chọn ngôn ngữ này để học mà không chọn một
Trang 20trong những ngôn ngữ kia Có rất nhiều lý do và chúng ta hãy xem một số sự so sánh giữa ngôn ngữ C# với những ngôn ngữ khác giúp chúng ta phần nào trả lời được những thắc mắc
Microsoft nói rằng C# mang đến sức mạnh của ngôn ngữ C++ với sự dễ dàng của ngôn ngữ Visual Basic Có thể nó không dễ như Visual Basic, nhưng với phiên bản Visual Basic.NET (Version 7) thì ngang nhau Bởi vì chúng được viết lại từ một nền tảng Chúng ta có thể viết nhiều chương trình với ít mã nguồn hơn nếu dùng C#
Mặc dù C# loại bỏ một vài các đặc tính của C++, nhưng bù lại nó tránh được những lỗi mà thường gặp trong ngôn ngữ C++ Điều này có thể tiết kiệm được hàng giờ hay thậm chí hàng ngày trong việc hoàn tất một chương trình Chúng ta sẽ hiểu nhiều về điều này trong các chương của giáo trình Một điều quan trọng khác với C++ là mã nguồn C# không đòi hỏi phải có tập tin header Tất cả mã nguồn được viết trong khai báo một lớp
Như đã nói ở bên trên, NET runtime trong C# thực hiện việc thu gom bộ nhớ tự động Do điều này nên việc sử dụng con trỏ trong C# ít quan trọng hơn trong C++ Những con trỏ cũng có thể được sử dụng trong C#, khi đó những đoạn mã nguồn này sẽ được đánh dấu là không an toàn (unsafe code)
C# cũng từ bỏ ý tưởng đa kế thừa như trong C++ Và sự khác nhau khác là C# đưa thêm thuộc tính vào trong một lớp giống như trong Visual Basic Và những thành viên của lớp được gọi duy nhất bằng toán tử “.” khác với C++ có nhiều cách gọi trong các tình huống khác nhau
Một ngôn ngữ khác rất mạnh và phổ biến là Java, giống như C++ và C# được phát triển dựa trên C Nếu chúng ta quyết định sẽ học Java sau này, chúng ta sẽ tìm được nhiều cái mà học từ C# có thể được áp dụng
Điểm giống nhau C# và Java là cả hai cùng biên dịch ra mã trung gian: C# biên dịch ra MSIL còn Java biên dịch ra bytecode Sau đó chúng được thực hiện
Trang 21bằng cách thông dịch hoặc biên dịch just-in-time trong từng máy ảo tương ứng Tuy nhiên, trong ngôn ngữ C# nhiều hỗ trợ được đưa ra để biên dịch mã ngôn ngữ trung gian sang mã máy C# chứa nhiều kiểu dữ liệu cơ bản hơn Java và cũng cho phép nhiều sự mở rộng với kiểu dữ liệu giá trị Ví dụ, ngôn ngữ C# hỗ trợ kiểu liệt kệ (enumerator), kiểu này được giới hạn đến một tập hằng được định nghĩa trước, và kiểu dữ liệu cấu trúc đây là kiểu dữ liệu giá trị do người dùng định nghĩa Chúng ta
sẽ được tìm hiểu kỹ hơn về kiểu dữ liệu tham chiếu và kiểu dữ liệu giá trị sẽ được trình bày trong phần sau
Tương tự như Java, C# cũng từ bỏ tính đa kế thừa trong một lớp, tuy nhiên
mô hình kế thừa đơn này được mở rộng bởi tính đa kế thừa nhiều giao diện
2.1.3 Tại sao ta lại muốn sử dụng ngôn ngữ C#
Nhiều người tin rằng không cần thiết có một ngôn ngữ lập trình mới Java, C++, Perl, Microsoft Visual Basic, và những ngôn ngữ khác được nghĩ rằng đã cung cấp tất cả những chức năng cần thiết
Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này Những mục đích này được được tóm tắt như sau:
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở
ảo (virtual base class) Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vấn đề cho các người phát triển C++ Nếu chúng ta là người học ngôn ngữ này đầu tiên thì chắc chắn là ta sẽ không trải qua những thời gian để học nó! Nhưng khi đó ta sẽ không biết được hiệu quả của ngôn ngữ C# khi loại bỏ những vấn đề trên
Trang 22Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++ Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn Một vài trong các sự cải tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi Ví dụ như, trong C++ có ba toán tử làm việc với các thành viên là ::, , và -> Để biết khi nào dùng ba toán tử này cũng phức tạp và dễ nhầm lẫn Trong C#, chúng được thay thế với một toán tử duy nhất gọi là (dot) Đối với người mới học thì điều này và những việc cải tiến khác làm bớt nhầm lẫn và đơn giản hơn
- Ghi chú: Nếu chúng ta đã sử dụng Java và tin rằng nó đơn giản, thì chúng ta cũng sẽ tìm thấy rằng C# cũng đơn giản Hầu hết mọi người đều không tin rằng Java là ngôn ngữ đơn giản Tuy nhiên, C# thì dễ hơn là Java và C++ C# là ngôn ngữ hiện đại
Điều gì làm cho một ngôn ngữ hiện đại? Những đặc tính như là xử lý ngoại
lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại C# chứa tất cả những đặc tính trên Nếu là người mới học lập trình có thể chúng ta sẽ cảm thấy những đặc tính trên phức tạp và khó hiểu
- Ghi chú: Con trỏ được tích hợp vào ngôn ngữ C++ Chúng cũng là nguyên nhân gây ra những rắc rối của ngôn ngữ này C# loại bỏ những phức tạp và rắc rối phát sinh bởi con trỏ Trong C#, bộ thu gom bộ nhớ tự động và kiểu dữ liệu an toàn được tích hợp vào ngôn ngữ, sẽ loại bỏ những vấn đề rắc rối của C++
C# là ngôn ngữ hướng đối tượng
Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism) C# hỗ trợ tất cả những đặc tính trên
C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo
Trang 23Như đã đề cập trước, với ngôn ngữ C# chúng ta chỉ bị giới hạn ở chính bởi bản thân hay là trí tưởng tượng của chúng ta Ngôn ngữ này không đặt những ràng buộc lên những việc có thể làm C# được sử dụng cho nhiều các dự án khác nhau như là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biên dịch cho các ngôn ngữ khác
C# là ngôn ngữ ít từ khóa
C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa được
sử dụng để mô tả thông tin Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ khóa thì sẽ mạnh hơn
Điều này không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#, chúng
ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào Bảng sau liệt kê các từ khóa của ngôn ngữ C#
C# là ngôn ngữ hướng module
Mã nguồn C# có thể được viết trong những phần được gọi là những lớp, những lớp này chứa các phương thức thành viên của nó Những lớp và những phương thức có thể được sử dụng lại trong ứng dụng hay các chương trình khác Bằng cách truyền các mẫu thông tin đến những lớp hay phương thức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả
C# là một ngôn ngữ phổ biến
Microsoft muốn ngôn ngữ C# trở nên phổ biến Mặc dù một công ty không thể làm một sản phẩm trở nên phổ biến, nhưng nó có thể hỗ trợ Cách đây không lâu, Microsoft đã gặp sự thất bại về hệ điều hành Microsoft Bob Mặc dù Microsoft muốn Bob trở nên phổ biến nhưng thất bại C# thay thế tốt hơn để đem đến thành công sơ với Bob Thật sự là không biết khi nào mọi người trong công ty Microsoft
sử dụng Bob trong công việc hằng ngày của họ Tuy nhiên, với C# thì khác, nó được sử dụng bởi Microsoft Nhiều sản phẩm của công ty này đã chuyển đổi và viết
Trang 24lại bằng C# Bằng cách sử dụng ngôn ngữ này Microsoft đã xác nhận khả năng của C# cần thiết cho những người lập trình
Micorosoft NET là một lý do khác để đem đến sự thành công của C# .NET
là một sự thay đổi trong cách tạo và thực thi những ứng dụng
Ngoài hai lý do trên ngôn ngữ C# cũng sẽ trở nên phổ biến do những đặc tính của ngôn ngữ này được đề cập trong mục trước như: đơn giản, hướng đối tượng, mạnh mẽ
2.2 Ngôn ngữ SQL và cơ sở dữ liệu SQL server
- Mã hóa trong suốt và hiệu quả
Trong SQL Server 2005, Microsoft giới thiệu khả năng mã hóa và giải mã CSDL cho ứng dụng đầu cuối bằng cách cung cấp hàm để ứng dụng có thể gọi đến
Ở SQl Server 2008 khả năng mã hóa được mở rộng ra toàn bộ CSDL, dữ liệu và các tập tin nhật kí cũng như cung cấp khả năng mã hóa trong suốt cho phép ứng dụng
có thể mã hóa và tìm kiếm dữ liệu mã hóa mà không cần phải thiết kế lại ứng dụng
Ngoài ra, khả năng sao lưu dữ liệu mã hóa cũng được cải thiện đáng kể nhằm đảm bảo dữ liệu của doanh nghiệp không lọt ra ngoài cũng như đảm bảo dữ liệu được sao lưu và phục hồi bởi người được phép
- SQL Server 2008 với khả năng giám sát thông minh hơn
Ở SQL Server 2005, công cụ SQL Trace chỉ cho phép giám sát chủ yếu ở các đối tượng truy cập dữ liệu hơn là bản thân dữ liệu Chẳng hạn, “ai đăng nhập”,
“những quyền nào bị thay đổi” Ở SQL Server 2008, khả năng giám sát dữ liệu được bổ sung thông qua các DDL Với khả năng này cho phép quản trị CSDL thực hiện những giám sát hiệu quả hơn trên dữ liệu đại loại như “Ai đã thay đổi giá trị của cột Lương vượt quá 1 tỉ” hay “Ai đang xem thông tin thẻ tín dụng của người dùng Nguyễn Văn A”
- Tính năng “ổn định cao”
Với SQL Server 2005, Microsoft đưa ra tính năng Ổn Định Cao “Sao Chụp
Dữ Liệu” giữa hai máy chủ SQL Để sử dụng tính năng này đòi hỏi ứng dụng phải
Trang 25cấu hình tự động chống lỗi và tự chuyển đổi phiên kết nối Tuy nhiên, đôi khi điều này không phải lúc nào cũng có thể thực hiện được và phiên bản SQL Server 2008 đưa ra cơ chế chống lỗi phụ để giải quyết vấn đề này Ngoài ra với khả năng cung cấp khả năng cắm nóng CPU mà không cần khởi động lại cũng là một tính năng giúp giảm thiểu thời gian ngừng hoạt động hệ thống
- SQL Server cho phép quản lý CSDL bằng công cụ và chính sách
Một trong những tác vụ đòi hỏi nhiều kỹ năng và tiêu tốn thời gian nhất cho nhà quản trị CSDL đó chính là tác vụ giảm sát và quản lý Ở các hệ thống CSDL kiểu cũ để giám sát và chẩn đoán hiệu quả đòi hỏi nhà quản trị phải có hiểu biết am tường về sản phẩm CSDL cũng như hiện trạng của ha tầng liên quan đến phần cứng, tải của ứng dụng và các tác động khác trong hệ thống Với SQL Server 2008, Microsoft đưa ra nền tảng Quản Lý Tường Minh cho phép công việc quản trị trở nên dễ dàng nhưng vẫn đảm bảo được tính hiệu quả Muốn thực hiện được điều này, ngoài việc cung cấp các công cụ chẩn đoán hiệu quả như Surface Area Configurator, Best Practice Analyzer và Upgrade Advisor, Microsoft còn đưa ra khái niệm quản trị theo chính sách giúp nhà quản trị có thể giám sát chẩn đoán theo một cách tự nhiên nhất Chẳng hạn như: “Tôi muốn khôi phục hệ thống CSDL trong vòng 1 giờ”
- Khả năng tích hợp với System Center
Ứng dụng CSDL SQL được sử dụng hầu hết trong các ứng dụng như Exchang Server 2007 UM, Sharepoint Server 2007cho đên OCS 2007 vì vậy nếu không có khả năng giám sát tập trung hệ CSDL thì đúng là một thiếu sót VÌ vậy, với việc tích hợp tốt nhất với các sản phẩm giám sát hệ thống System Center, doanh nghiệp sẽ hơn trong việc quản lý và giám sát tự động hạ tầng
- Lập trình dễ dàng và hiệu quả hơn với SQL Server
Với sự ra đời của nều tảng DotNet 3.5 và bộ công cụ lập trình Visual Studio
đã giúp cho các nhà phát triển ứng dụng và CSDL trên SQL Server trở nên hiệu quả hơn nhiều Đáng kể nhất trong số đó là ADO.Net mới trong DotNet 3.5 đưa ra khái niệm Nều Tảng Đối Tượng ADO giúp cho lập trình viên thao tác với CSDL như đối tượng Kế đến không thể không nhắc tới LINQ, nhờ nó mà các lập trình viên có thể
Trang 26chuyển đổi qua lại giữa ngôn ngữ ứng dụng như C#, VB.NET và ngôn ngữ truy vấn SQL, nhờ vậy các nhà lập trình có thể truy vấn CSDL ngay trong các dòng lệnh của ngôn ngữ lập trình ứng dụng
- Lưu trữ được nhiều loại dữ liệu hơn bao giờ hết
Cùng với sự bùng nổ các loại ứng dụng mới đặc biệt là các loại ứng dụng viễn thông trên nền tảng IP như OCS 2007 hay Exchange 2007 UM thì hàng loạt các định dạng dữ liệu mới cũng ra đời và người ta cũng muốn lưu trữ, tìm kiếm, truy vấn, chia sẻ, đồng bộ chúng Vì vậy, việc lưu trữ những dữ liệu như vậy trê hệ CSDL đã được SQL Server 2008 giải quyết khá triệt để với khả năng lưu trữ hầu hết các loại dữ liệu từ dữ liệu dạng Spatial cho đến dạng File Streams
- Khả năng thao tác song hàng trên các bảng dữ liệu phân vùng
SQL Server 2005 hỗ trợ việc lưu trữ và thao tác song hành liên bảng ghi CSDL SQL Server 2008 tiếp tục nâng cao khả năng thao tác sang hành với các bảng dữ liệu phaan vùng liên hệ thống Điều này có nghĩa là khi người dùng có thể thực hiện một truy vấn mà liên quan đến đữ liệu trên hai phân vùng CSDL thì SQL Server 2008 sẽ xử lý vần đề này cùng lúc trông mỗi phân vùng
- Tăng tốc khả năng truy vấn dữ liệu
Cùng với khả năng nén CSDL lên đến trên 50% thì hiệu xuất truy vấn dữ liệu cũng được cải thiện đáng kể với Support Star Schema và Star Query Optimizations trên SQL Server 2008 [2]
Trang 27CHƯƠNG 3 PHÂN TÍCH YÊU CẦU 3.1 Phân tích hệ thống
3.1.3 Nghiệp vụ bán hàng
Khi khách hàng đến cửa hàng, nhân viên 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 Khi khách
Trang 28hàng có nhu cầu mua sản phẩm, nhân viên tiến hành viết hóa đơn và thanh toán cho khách hàng
Hình 3.4 Quy trình đăng nhập
Trang 293.2.2 Quy trình đăng ký
Chức năng dùng để đăng ký tài khoản đăng nhập vào hệ thống Khi người dùng vào hệ thống lần đầu tiên sẽ chọn chức năng đăng ký Hệ thống
sẽ hiển thị form đăng ký thành viên Điền thông tin cá nhân Chọn đăng ký
Hệ thống sẽ lưu toàn bộ thông tin mà người dùng vừa điền vào form Nếu không điền đầy đủ thông tin bắt buộc thì hệ thống không cho đăng ký và hiện thông báo lỗi Nếu đăng ký thành công, người nhập có thể đăng nhập vào hệ thống
Hình 3.5 Quy trình đăng ký
3.2.3 Quy trình nhập hàng
Hình 3.6 Quy trình nhập hàng (1) Cửa hàng đặt hàng nhà cung cấp
(2) Nhà cung cấp sẽ cung cấp sản phẩm cho cửa hàng theo đơn đặt hàng
Trang 303.2.4 Quy trình bán hàng
` Hình 3.7 Quy trình bán hàng
(1) Khách hàng vào cửa hàng để xem mặt hàng của cửa hàng (2) Khách hàng chọn được mặt hàng ưng ý tại cửa hàng
(3) Khi khách hàng quyết định mua hàng, khách hàng gặp trực tiếp nhân viên bán hàng để đề nghị thanh toán
(4) Nhân viên bán hàng kiểm tra xem còn hàng và đúng cỡ như khách hàng yêu cầu không Nếu không thì thông báo cho khách hàng rằng cửa hàng không thể bán được
(5) Nếu còn hàng, nhân viên bán hàng lập hóa đơn
(6) Nhân viên bán hàng giao hàng và hóa đơn cho khách hàng Các hóa đơn đó sẽ được chủ cửa hàng thống kê vào một thời điểm nào đó
Trang 313.3 Phát biểu bài toán
Cửa hàng lấy hàng từ nhiều nhà cung cấp khác nhau Mỗi nhà cung cấp
được xác định qua: Tên nhà cung cấp, Địa chỉ nhà cung cấp, Số điện thoại nhà cung cấp Khi có nhu cầu đặt hàng, chủ cửa hàng sẽ làm đơn đặt hàng bao gồm các thông tin: Số chứng từ, Mã nhà cung cấp, Mã nhân viên, Mã sản phẩm, Số lƣợng, Ngày lập, Thành tiền Khi nhà cung cấp
đáp ứng yêu cầu và giao hàng cho cửa hàng, thì nhân viên lập phiếu nhập với
những thông tin: Số chứng từ, Mã nhà cung cấp, Mã nhân viên, Mã sản phẩm, Số lƣợng, Giá nhập thực tế, Chiết khấu, Ngày lập, Thành tiền
Cửa hàng có nhiều loại sản phẩm khác nhau Mỗi loại sản phẩm được
quản lý bởi: Mã loại sản phẩm, Tên loại sản phẩm
Với mỗi loại sản phẩm lại có nhiều sản phẩm khác nhau Mỗi sản phẩm
được quản lý bởi các thông tin như: Tên sản phẩm, Mã loại sản phẩm, Màu sắc, Size, Đơn giá nhập, Đơn giá bán, Số lƣợng tồn
Cửa hàng có nhiều nhân viên Mỗi nhân viên được quản lý bởi các thông
tin: Họ tên, Ngày sinh, Giới tính, Địa chỉ, Số điện thoại, Ngày vào làm việc
Cửa hàng bán sản phẩm cho khách hàng sẽ có hóa đơn bao gồm các
thông tin: Số chứng từ, Mã nhân viên, Mã sản phẩm, Số lƣợng, Chiết khấu, Ngày lập, Thành tiền
Cửa hàng chấp nhận cho khách hàng thanh toán bằng nhiều hình thức khác nhau như: bằng tiền mặt, chuyển khoản, quẹt thẻ Như vậy, hình thức thanh toán sẽ được lưu trong hóa đơn
Hệ thống được chia thành các quyền khác nhau cho chủ cửa hàng và nhân viên Như vậy, chủ cửa hàng có quyền: cập nhật danh mục nhà cung cấp, sản phẩm, chứng từ, nhân viên, tìm kiếm, báo cáo/ thống kê Nhân viên
có quyền cập nhật danh mục chứng từ, tìm kiếm, báo cáo/ thống kê
Trang 32Khi thêm nhân viên vào hệ thống, chủ cửa hàng phải tạo thêm tài khoản mới và phân quyền cho nhân viên Thông tin tài khoản được lưu như sau:
Tên tài khoản, Mật khẩu, Mã nhân viên, Mã quyền
Ghi chú: Để quản lý việc một sản phẩm, 2 lần nhập và bán với giá khác nhau ta có giải pháp như sau: Đối với việc nhập, ta lưu trường đơn giá nhập ở bảng sản phẩm là giá nhập vào lần thứ nhất Từ các lần sau, mỗi lần nhập lại sản phẩm đó, giá sẽ được lưu vào phiếu nhập với tên trường là Giá nhập thực
tế Đối với việc bán, để bán giá khác ta sử dụng trường Chiết khấu để thay đổi giá bán cho sản phẩm đó
Trang 33CHƯƠNG 4 PHÂN TÍCH HỆ THỐNG4.1 Phân cấp chức năng
Nhóm chức năng theo mạch công việc
Bảng 4.1 Phân cấp chức năng Các chức năng con Các chức năng
chính
Gộp nhóm chức năng
Gộp nhóm các chức năng mức đỉnh 1.1.1 Đăng ký
1.0 Quản trị hệ thống
Ứng dụng quản lý bán hàng cửa hàng
Jolie
1.2 Quản lý sao lưu
1.3 Quản lý phục hồi 2.1 Quản lý danh mục nhà cung cấp 2.2 Quản lý danh mục sản phẩm
2.3 Quản lý danh mục nhân viên
2.4 Quản lý danh mục chứng
từ
2.0 Quản lý danh mục
Trang 343.1 Kiểm kê hàng
3.2 Lập phiếu đặt hàng 3.3 Thanh toán 3.4 Lập phiếu nhập
3.0 Quản lý nhập hàng
4.1 Lập hóa đơn 4.2 Quản lý khuyến mại
4.0 Quản lý bán hàng
5.1 Tìm kiếm nhà cung cấp 5.2 Tìm kiếm sản phẩm 5.3 Tìm kiếm nhân viên 5.4 Tra cứu chứng từ
5.0 Tìm kiếm
6.1 Thống kê doanh thu 6.2 Thống kê hàng nhập 6.3 Thống kê hàng xuất 6.4 Thống kê hàng tồn 6.5 Quản lý danh mục biểu mẫu
6.0 Báo cáo/ thống kê
Trang 35- Chức năng 1.0 Quản lý hệ thống: gồm các chúc năng: Quản lý người dùng, Quản lý sao lưu, Quản lý phục hồi
Chức năng 1.1 Quản lý người dùng cho phép chủ cửa hàng thêm tài khoản cho nhân viên vào hệ thống, cho phép người sử dùng đăng nhập
để thực hiện các chức năng khách trong hệ thống Trong chức năng này còn có các chức năng con như: Đăng nhập, đăng ký, Quản lý User, Đổi mật khẩu, Đăng xuất
Chức năng 1.2 Quản lý sao lưu cho phép sao chép lại tất cả các dữ liệu của hệ thống tránh trường hợp mất dữ liệu hay nhập sai ở một bước nào
đó File được sao chép ra một bản mới và được lưu tại một thư mục trong
Trang 36chính máy tính được cài ứng dụng này Tên file được lưu dưới dạng ngày giờ_tên tệp tin
Chức năng 1.3 Quản lý phục hồi cho phép hệ thống khôi phục lại dữ liệu khi gặp một sự cố nào đó tại bất cứ thời điểm nào người sử dụng yêu cầu
- Chức năng 2.0 Quản lý danh mục, gồm: (2.1) Danh mục nhà cung cấp, (2.2) Danh mục sản phẩm, (2.3) Danh mục nhân viên, (2.4) Danh mục chứng từ Với chức năng này, người dùng tương ứng có thể thêm, sửa, xóa dữ liệu cho các danh mục
- Chức năng 3.0 Quản lý nhập hàng gồm các chức năng Kiểm kê hàng, Lập phiếu đặt hàng và Lập phiếu nhập
Chức năng 3.1 Kiểm kê hàng cho phép người dùng kiểm tra xem số lượng mặt hàng tồn trong kho là bao nhiêu để từ đó nhập thêm mặt hàng mới
Chức năng 3.2 Lập phiếu đặt hàng cho phép người dùng nhập hàng từ các nhà cung cấp
Chức năng 3.3 Lập phiếu nhập cho phép người sử dụng lập phiếu nhập hàng vào kho tại cửa hàng
- Chức năng 4.0 Quản lý bán hàng gồm các chức năng Lập hóa đơn, Quản lý khuyến mại
Chức năng 4.1 Lập hóa đơn cho phép nguời dùng lập hóa đơn bán hàng
Chức năng 4.2 Quản lý khuyến mại cho phép người dùng quản lý các thông tin trong những đợt giảm giá Cửa hàng áp dụng chương trình khuyến mại vào những ngày: 20/10, 8/3 …
- Chức năng 5.0 Tìm kiếm
Chức năng 5.1 Tìm kiếm nhà cung cấp
Chức năng 5.2 Tìm kiếm sản phẩm
Chức năng 5.3 Tìm kiếm nhân viên
Chức năng 5.4 Tra cứu chứng từ
Trang 37- Chức năng 6.0 Báo cáo/ thống kê cho phép người dùng thống kê và báo cáo
những vấn đề mà chủ cửa hàng yêu cầu
Chức năng 6.1 Thống kê doanh thu
Chức năng 6.2 Thống kê số lượng nhập
Chức năng 6.3 Thống kê số lượng xuất
Chức năng 6.4 Thống kê số lượng tồn
Chức năng 6.5 Quản lý danh mục biểu mẫu
4.3 Sơ đồ mức ngữ cảnh
Hình 4.2 Sơ đồ mức ngữ cảnh