Tải bản đầy đủ (.docx) (43 trang)

Đồ án 1 Đề tài Xây dựng ứng dụng quản lý hàng hoá C Sharp Console

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 (438.76 KB, 43 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

ĐỒ ÁN 1
XÂY DỰNG ỨNG DỤNG QUẢN LÝ HÀNG HỐ

NGÀNH: CƠNG NGHỆ THƠNG TIN
CHUN NGÀNH: KỸ THUẬT PHẦN MỀM

SINH VIÊN: NGUYỄN ĐÌNH KHOA
MÃ LỚP: 101197
HƯỚNG DẪN: CHU THỊ MINH HUỆ

HƯNG YÊN – 2023


NHẬN XÉT
Nhận xét của giảng viên hướng dẫn:
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................


.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
GIẢNG VIÊN HƯỚNG DẪN
Chu Thị Minh Huệ

2


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console

LỜI CAM ĐOAN
Em xin cam đoan đồ án “Xây dựng ứng dụng quản bán hàng” Là kết quả
thực hiện của bản thân em dưới sự hướng dẫn của cô Chu Thị Minh Huệ.
Những phần sử dụng tài liệu tham khảo trong đồ án đã được nêu rõ trong
phần tài liệu tham khảo. Các kết quả trình bày trong đồ án và chương trình xây
dựng được hồn tồn là kết quả do bản thân em thực hiện.
Nếu vi phạm lời cam đoan này, em xin chịu hoàn toàn trách nhiệm trước
khoa và nhà trường.
Hưng Yên, ngày … tháng … năm…..
Sinh viên

Nguyễn Đình Khoa

3


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console


LỜI CẢM ƠN
Để có thể hồn thành đồ án này, lời đầu tiên em xin phép gửi lời cảm ơn tới
bộ môn Công nghệ phần mềm, Khoa Công nghệ thông tin – Trường Đại học Sư
phạm Kỹ thuật Hưng yên đã tạo điều kiện thuận lợi cho em thực hiện đồ án môn học này.

Đặc biệt em xin chân thành cảm ơn Cô: Chu Thị Minh Huệ đã rất tận tình
hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện đồ án vừa qua.
Em cũng xin chân thành cảm ơn tất cả các Thầy, các Cô trong Trường đã tận
tình giảng dạy, trang bị cho em những kiến thức cần thiết, quý báu để giúp em thực
hiện được đồ án này.
Mặc dù em đã có cố gắng, nhưng với trình độ cịn hạn chế, trong q trình
thực hiện đề tài khơng tránh khỏi những thiếu sót. Em hi vọng sẽ nhận được những
ý kiến nhận xét, góp ý của các Thầy giáo, Cô giáo về những kết quả triển khai trong
đồ án.
Em xin trân trọng cảm ơn!

4


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console
MỤC LỤC
DANH SÁCH HÌNH VẼ............................................................................................7
DANH SÁCH BẢNG BIỂU.......................................................................................8
DANH SÁCH TỪ VIẾT TẮT....................................................................................9
CHƯƠNG 1: MỞ ĐẦU............................................................................................10
1.1 Lý do chọn đề tài.................................................................................................10
1.2 Mục tiêu của đề tài..............................................................................................10
1.2.1 Mục tiêu tổng quát...........................................................................................10
1.2.2 Mục tiêu cụ thể.................................................................................................10

1.3. Giới hạn và phạm vi của đề tài...........................................................................11
1.3.1 Đối tượng nghiên cứu......................................................................................11
1.3.2 Phạm vi nghiên cứu..........................................................................................11
1.4. Nội dung thực hiện.............................................................................................11
1.5. Phương pháp tiếp cận.........................................................................................11
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.........................................................................12
2.1. Quy trình xây dựng phần mềm...........................................................................12
2.2. Một số cấu trúc dữ liệu.......................................................................................12
2.3. Nguyên lý lập trình hướng đối tượng.................................................................12
2.4. Xử lý dữ liệu với tệp văn bản.............................................................................12
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG........................................13
3.1. Mơ tả các chức năng...........................................................................................13
3.2. Thiết kế cấu trúc dữ liệu.....................................................................................13
3.3. Thiết kế giao diện...............................................................................................13
CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG................................................................14
5


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console
4.1. Xây dựng cơ sở dữ liệu......................................................................................14
4.2. Cài đặt các chức năng cho ứng dụng..................................................................14
4.3. Kiểm thử và triển khai ứng dụng........................................................................14
4.3.1 Kiểm thử..........................................................................................................14
4.3.2. Đóng gói ứng dụng.........................................................................................14
4.3.3. Triển khai ứng dụng........................................................................................14
KẾT LUẬN...............................................................................................................16
TÀI LIỆU THAM KHẢO........................................................................................17

6



Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console

DANH SÁCH HÌNH VẼ
Hình 2-1: Giao diện quản lý khoản chi...........................................................12
Hình 2-2: Giao diện quản lý khoản thu...........................................................13
Hình 2-3: Giao diện quản lý ngân sách ..........................................................15

7


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console

DANH SÁCH BẢNG BIỂU
Bảng 2-1: lớp khoản thu: txtkhoanthu.............................................................15
Bảng 2-2: lớp khoản chi: txtkhoanchi.............................................................16

8


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console

DANH SÁCH TỪ VIẾT TẮT
Từ viết tắt

Từ đầy đủ

Giải thích

CMS


Content Management System

Hệ quản trị nội dung

CSDL

Cơ sở dữ liệu

Cơ sở dữ liệu

OOP

Object-oriented programming

Lập trình hướng đối tượng

CTHD

Chi tiết hố đơn

9


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console

CHƯƠNG 1:MỞ ĐẦU
1.1

Lý do chọn đề tài


Ngày nay song song với q trình phát triển cơng nghệ khoa học kỹ thuật thì
ngành khoa học tính tốn đã đóng vai trị quan trọng, nó đã đạt được những thành
tựu khoa học kỹ thuật rực rỡ với những bước tiến nhảy vọt. Việc áp dụng các công
nghệ khoa học kỹ thuật vào lĩnh vực đời sống của con người ngày càng tăng và
không ngừng can thiệp vào hầy hết các công việc trong đời sống. Công nghệ thông
tin là một trong những ngành khoa học đó. Đi đơi với sự phát triển của cơng nghệ
chế tạo các thiết bị máy tính thì việc sản phẩm phần mềm ứng dụng ra đời có tính
chất quyết định đối với việc áp dụng ngành khoa học này.
Trên thế giới cũng như ở Việt Nam, công nghệ thông tin đã trở thành một
ngành công nghiệp mũi nhọn, nó là một ngành khoa học kỹ thuật khơng thể thiếu
trong việc áp dụng vào các hoạt động xã hội như: Quản lý, kinh tế, thông tin…
Ở nước ta hiện nay, việc áp dụng vi tính hố trong việc quản lý tại các cơ
quan, doanh nghiệp, bệnh viện, cửa hàng, … đang rất phổ biến và trở nên cấp thiết.
Nhưng một vấn đề đặt ra trong việc quản lý là làm thế nào để chuẩn hoá cách xử lý
dữ liệu ở các cơ quan, bệnh viện, phòng khám, cửa hàng… Qua việc khảo sát thực
tế thấy rằng có nhiều cơ quan, doanh nghiệp, phòng khám, cửa hàng… Họ đang rất
cần một phương pháp nào đó để quản lý cơng việc của mình một cách hiệu quả hơn
và việc áp dụng công nghệ thông tin vào trong quản lý là một trong những cách có
thể đáp ứng được những nhu cầu đó.
Qua khảo sát tại một số cửa hàng, mỗi ngày các cửa hàng phải quản lý rất
nhiều mặt hàng. Ngồi ra cịn phải quản lý một lượng hố đơn, số liệu.
Chính vì vậy, việc tin học hố tại các cửa hàng hiện nay là một yêu cầu hết sức
thiết thực nhằm đơn giản hố cơng tác quản lý, tạo sự nhanh gọn chính xác trong
cơng việc. Chính vì những lý do đó mà em quyết định thực hiện đề tài: Quản lý
hàng hoá.
10


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console

1.2

Mục tiêu của đề tài

1.2.1 Mục tiêu tổng quát
Với đề tài “Quản lý cửa hàng”, đây là Project đầu tiên của em đã bước đầu
được tiếp cận với lập trình theo mơ hình 3 lớp.
Qua đề tài này chủ yếu là xây dựng được thành phần cho hệ thống quản lý
Hàng hố thơng qua việc phân chia các đối tượng bằng mơ hình 3 lớp. Mơ hình 3
lớp với 3 tầng là: Presentation, Business Logic, và Data Access các tầng sẽ giao tiếp
với nhau thông qua các dịch vụ mà mỗi lớp cung cấp để tạo nên ứng dụng.
Xây dựng phần mềm quản lý phịng khám giúp cơng tác quản lý của cửa hàng
trở nên đơn giản, chính xác, hiệu quả hơn.
1.2.2 Mục tiêu cụ thể
Mục tiêu cụ thể của phần mềm bao gồm:
 Xử lý nhanh chóng
 Độ chính xác cao
 Dễ sử dụng
 Cần ít nhân lực
 Thống kê kiểm tra nhanh
 Có thể áp dụng rộng rãi
1.3

Giới hạn và phạm vi của đề tài

1.3.1 Đối tượng nghiên cứu
 Đối tượng nghiên cứu: Phần mềm quản lý hàng hoá.
 Khách thể nghiên cứu:
 Hàng hoá
 Khách hàng

 Phiếu nhập
 Phiếu xuất
 Hoá đơn
11


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console
1.3.2 Phạm vi nghiên cứu
 Phạm vi không gian: tại tỉnh Hưng Yên.
 Phạm vi thời gian: 4 tháng.
 Ý nghĩa khoa học và thực tiễn: ứng dụng đề tài vào quản lý cửa hàng tại
tỉnh Hưng Yên.
1.4

Nội dung thực hiện

Câu hỏi đặt ra trong phần này là: “Mơ hình ba lớp và ứng dụng của nó trong
lập trình quản lý”.
Để trả lời câu hỏi trên, em sẽ trình bày một số lợi ích có được khi tìm hiểu và
sử dụng mơ hình này:
-

Khi ứng dụng địi hỏi có sự tách biệt 3 phần: giao diện, xử lý nghiệp vụ,
giao tiếp với hệ quản trị CSDL để người viết có thể dễ dàng quản lý ứng
dụng của mình khi có bug xảy ra với một số thành phần xử lý nghiệp vụ
khơng mong muốn. Ngồi ra với mơ hình này nó cịn tạo ra một khơng gian
làm việc rất tốt để người thiết kế giao diện lẫn người lập trình có thể làm
việc chung với nhau một cách dễ dàng.

-


Khả năng tái tạo cao: Khi sử dụng bất chợt yêu cầu thay đổi hệ quản trị
CSDL hoặc chuyển ứng dụng từ window application sang web application,
việc xây dựng lại ứng dụng lần đầu rất tốn nhiều thời gian và chi phí. Vì
vậy với mơ hình này ra đời sẽ giải quyết vấn đề này. Vậy thực tế, mơ hình
ba lớp gồm những gì?
Đó là Presentation, Business Logic và Data Access. Các lớp này sẽ giao
tiếp với nhau thông qua các dịch vụ (services) mà mỗi lớp cung cấp tạo nên
ứng dụng, lớp này cũng không cần thiết biết bên trong lớp kia làm gì mà
chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi.

12


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console

Hình 1.1 Sơ đồ cho mơ hình 3 lớp

-

Data Access Layer: làm việc với Database.

-

Data Business Logic Layer: tại đây tiếp nhận yêu cầu từ tầng Presentation
gởi xuống và giao tiếp với tầng Data Access Layer load dữ liệu để xử lý.

-

Presentation: đóng vai trị như 1 Controller điều khiển yêu cầu từ người

dùng, tại đây Presentation sẽ xử lý các control trên form như
DataGridView, Textbox, Combobox, …

-

Ngồi ra cịn 1 lớp hỗ trợ thêm là Business Object Transfer Layer: Lớp này
nếu ta sử dụng DataBinding thì khơng dùng cũng được, chủ yếu sài cho đối
tượng SqlCommand, Report, … Lớp này sẽ tạo ra các lớp object để hỗ trợ
cho Data Business Logic Layer xử lý.

1.5

Phương pháp tiếp cận

Tìm hiểu thực tế tại các phòng khám để nắm được các vấn đề chính sau:
-

Quy trình nhập xuất hàng hố

-

Các thơng tin của hàng hố

-

Tìm hiểu hệ thống đang sử dụng, phân tích điểm mạnh, điểm yếu của hệ
thống.
13



Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console

CHƯƠNG 2:CƠ SỞ LÝ THUYẾT
2.1

Quy trình xây dựng phần mềm

-

Khảo sát, phân tích hiện trạng của hệ thống.

-

Đặc tả yêu cầu.

-

Phân tích thiết kế hệ thống: thiết kế đối tượng, thiết kế CSDL, thiết kế giao
diện.

-

Lập trình (Lập trình viên được thực hiện trên ngôn ngữ C#).

-

Kiểm thử (Là công việc kiểm tra tính chính xác của phần mềm).

-


Triển khai phần mềm

-

Bảo trì phần mềm.

2.2

Một số cấu trúc dữ liệu

Các loại cấu trúc dữ liệu sử dụng trong ứng dụng:
 Mảng (Array):
Mảng là một trong các cấu trúc dữ liệu cũ và quan trọng nhất. Mảng có
thể lưu giữ một số phần tử cố định và các phần tử này nền có cùng kiểu. Hầu
hết các cấu trúc dữ liệu đều sử dụng mảng để triển khai giải thuật. Dưới đây
là các khái niệm quan trọng liên quan tới Mảng.
-

Phần tử: Mỗi mục được lưu giữ trong một mảng được gọi là một phần tử.
Chỉ mục (Index): Mỗi vị trí của một phần tử trong một mảng có một chỉ
mục số được sử dụng để nhận diện phần tử.

Mảng gồm các bản ghi có kiểu giống nhau, có kích thước cố định, mỗi phần
tử được xác định bởi chỉ số.
Mảng là cấu trúc dữ liệu được cấp phát liên tục cơ bản.
Ưu điểm của mảng :
-

Truy cập phần tử với thời gian hằng số O(1).
Sử dụng bộ nhớ hiệu quả.

14


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console
-

Tính cục bộ về bộ nhớ.
Nhược điểm của mảng:
Khơng thể thay đổi kích thước của mảng khi chương trình dang thực hiện.

 Ngăn xếp (Stack):
Stack là một loại container adaptor, được thiết kế để hoạt động theo
kiểu LIFO (Last - in first - out) (vào sau ra trước), tức là một kiểu danh sách
mà việc bổ sung và loại bỏ một phần tử được thực hiển ở cuối danh sách. Vị
trí cuối cùng của stack gọi là đỉnh (top) của ngăn xếp.

Stack giống như việc giáo viên kiểm tra vở bài tập của học sinh vậy, ai nộp
sau cùng thì vở bài tập của người đó sẽ được giáo viên kiểm tra đầu tiên,
đương nhiên người nộp vợ đầu tiên sẽ được kiểm tra cuối cùng.

 Hàng đợi (Queue):
Queue(hàng đợi) là một loại container, được thiết kế để hoạt động theo
kiểu FIFO (First- in first – out) (vào trước ra trước), tức là một kiểu danh
15


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console
sách mà việc bổ sung được thực hiển ở cuối danh sách và loại bỏ ở đầu danh
sách.
Trong queue, có hai vị trí quan trọng là vị trí đầu danh sách (front), nơi phần

tử được lấy ra, và vị trí cuối danh sách (back), nơi phần tử cuối cùng được
thêm vào.

 Danh sách liên kết (Linked list):
Danh sách liên kết đơn(Single linked list) là ví dụ tốt nhất và đơn giản nhất
về cấu trúc dữ liệu động sử dụng con trỏ để cài đặt. Do đó, kiến thức con trỏ
là rất quan trọng để hiểu cách danh sách liên kết hoạt động, vì vậy nếu bạn
chưa có kiến thức về con trỏ thì bạn nên học về con trỏ trước. Bạn cũng cần
hiểu một chút về cấp phát bộ nhớ động. Để đơn giản và dễ hiểu, phần nội
dung cài đặt danh sách liên kết của bài này sẽ chỉ trình bày về danh sách liên
kết đơn.
Danh sách liên kết đơn là một tập hợp các Node được phân bố động, được
sắp xếp theo cách sao cho mỗi Node chứa một giá trị (Data) và một con trỏ
(Next). Con trỏ sẽ trỏ đến phần tử kế tiếp của danh sách liên kết đó. Nếu con
trỏ mà trỏ tới NULL, nghĩa là đó là phần tử cuối cùng của linked list.

2.3

Nguyên lý lập trình hướng đối tượng

Các nguyên lý lập trình hướng đối tượng:
16


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console
 Tính đóng gói (Encapsulation) và che giấu thơng tin (Information hiding)
Tức là trạng thái của đối tượng được bảo vệ khơng cho các truy cập từ code bên
ngồi như thay đổi trạng thái hay nhìn trực tiếp. Việc cho phép mơi trường bên
ngồi tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hồn tồn
tuỳ thuộc vào người viết mã. Đây là tính chất đảm bảo sự tồn vẹn, tính đóng gói

được thể hiện thông qua phạm vi truy cập ( access modifier).

 Tính kế thừa (Inheritance)
Tính kế thừa là khả năng cho phép ta xây dựng một lớp mới dựa trên các định nghĩa
của một lớp đã có. Lớp đã có gọi là lớp Cha, lớp mới phát sinh gọi là lớp Con và
đương nhiên kế thừa tất cả các thành phần của lớp Cha, có thể chia sẻ hay mở rộng
các đặc tính sẵn có mà khơng phải tiến hành định nghĩa lại.

 Tính đa hình (Polymorphism)
Khi một tác vụ được thực hiện theo nhiều cách khác nhau được gọi là tính đa hình.
Đối với tính chất này, nó được thể hiện rõ nhất qua việc gọi phương thức của đối
tượng. Các phương thức hồn tồn có thể giống nhau, nhưng việc xử lý luồng có thể
khác nhau. Nói cách khác: Tính đa hình cung cấp khả năng cho phép người lập trình
gọi trước một phương thức của đối tượng, tuy chưa xác định đối tượng có phương
thức muốn gọi hay khơng. Đến khi thực hiện (run-time), chương trình mới xác định
được đối tượng và gọi phương thức tương ứng của đối tượng đó. Kết nối trễ giúp
chương trình được uyển chuyển hơn, chỉ yêu cầu đối tượng cung cấp đúng phương
thức cần thiết là đủ.
 Tính trừu tượng (Abstraction):
Tính trừu tượng là một tiến trình ẩn các chi tiết trình triển khai và chỉ hiển thị tính
năng tới người dùng. Tính trừu tượng cho phép bạn loại bỏ tính chất phức tạp của

17


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console
đối tượng bằng cách chỉ đưa ra các thuộc tính và phương thức cần thiết của đối
tượng trong lập trình.
Tính trừu tượng giúp bạn tập trung vào những cốt lõi cần thiết của đối tượng thay vì
quan tâm đến cách nó thực hiện.


2.4

Xử lý dữ liệu với tệp văn bản

Sử dụng thư viện System.IO với 2 lớp: StreamReader và StreamWriter
2.4.1

Lớp Stream Reader

STT

Phương thức

1

public override void Close()
Nó đóng đối tượng StreamReader và Underlying Stream, và giải phóng bất kỳ nguồn hệ
thống liên kết với Reader đó

2

public override int Peek()
Trả về ký tự có sẵn tiếp theo nhưng khơng hủy nó

3

public override int Read()
Đọc ký tự tiếp theo từ Input Stream và tăng vị trí ký tự thêm 1


2.4.2

Lớp Stream Writer

STT

Phương thức

1

public override void Close()
Đóng đối tượng StreamWriter hiện tại và Underlying Stream

18


Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console
2

public override void Flush()
Xóa tất cả buffer cho Writer hiện tại và làm cho bất kỳ dữ liệu được đệm nào để được ghi tới
Underlying Stream

3

public virtual void Write(bool value)
Ghi biểu diễn text của một giá trị Boolean tới Text string hoặc stream
(được kế thừa từ TextWriter)

4


public override void Write(char value)
Ghi một ký tự tới Stream

5

public virtual void Write(decimal value)
Ghi biểu diễn text của một giá trị thập phân tới Text string hoặc stream

6

public virtual void Write(double value)
Ghi biểu diễn text của một giá trị số thực 8 byte tới Text string hoặc stream

7

public virtual void Write(int value)
Ghi biểu diễn text của một giá trị signed integer 4 byte tới Text string hoặc stream

8

public override void Write(string value)
Ghi một string tới Stream

9

public virtual void WriteLine()
Ghi một line terminator tới Text string hoặc stream

19



Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console

CHƯƠNG 3:PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1

Mơ tả các chức năng

Chức năng

Mô tả

1. Quản lý hàng

Để dễ dàng hơn trong việc quản lý, hệ thống sẽ chia nhỏ các

hoá

thành phần dữ liệu liên quan đến bệnh nhân trong cửa hàng.

2. Quản lý nhà

Dễ dàng quả lý nhà cung cấp các mặt hàng.

cung cấp
3. Quản lý hoá

Quản lý hoá đơn bán hàng


đơn
4. Quản lý nhân

Quản lý nhân viên bán hàng

viên
5. Thống kê báo

Thống kê báo báo hàng hoá, doanh thu

cáo
6. Tìm kiếm

Tìm kiếm các thơng tin về hàng hố, nhân viên, hố đơn…
Bảng 3.1: Mơ tả các chức năng của đối tượng

3.2

Thiết kế cấu trúc dữ liệu

STT

Tên trường

Kiểu

Độ rộng

Giải thích


1

MaHDN

int

3

Mã hoá đơn nhập

2

MaNV

int

3

Mã nhân viên

3

MaSP

Int

3

Mã sản phẩm


4

NgayNhap

datetime

10

Ngày nhập
20



×