1. Trang chủ
  2. » Công Nghệ Thông Tin

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

43 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đồ án 1 Xây dựng ứng dụng quản lý hàng hoá C Sharp Console
Tác giả Nguyễn Đình Khoa
Người hướng dẫn Chu Thị Minh Huệ
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Hưng Yên
Chuyên ngành Ngành: Công Nghệ Thông Tin, Chuyên Ngành: Kỹ Thuật Phần Mềm
Thể loại Đồ án
Năm xuất bản 2023
Thành phố Hưng Yên
Định dạng
Số trang 43
Dung lượng 527,01 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 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 (11)
      • 1.2.1 Mục tiêu tổng quát (11)
      • 1.2.2 Mục tiêu cụ thể (11)
      • 1.3.1 Đối tượng nghiên cứu (11)
      • 1.3.2 Phạm vi nghiên cứu (12)
    • 1.4. Nội dung thực hiện (12)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (14)
  • CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (20)
  • CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG (26)
    • 4.3.1 Kiểm thử (39)
    • 4.3.2. Đóng gói ứng dụng (40)
    • 4.3.3. Triển khai ứng dụng (40)
  • KẾT LUẬN (42)
  • TÀI LIỆU THAM KHẢO (43)

Nội dung

Xây dựng Ứng dụng Quản lý hàng hoá chạy trên Console 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 HOÁ NGÀNH CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH K.

Trang 1

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

NGÀNH: CÔNG NGHỆ THÔNG TIN

CHUYÊN 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

Trang 2

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ệ

Trang 3

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õ trongphầ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âydựng được hoàn toà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ướckhoa và nhà trường

Hưng Yên, ngày … tháng … năm…

Sinh viên

Nguyễn Đình Khoa

Trang 4

LỜI CẢM ƠN

Để có thể hoà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ậntì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ựchiệ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 quá trìnhthự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!

Trang 5

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.1Lý 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

Trang 6

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

Trang 7

DANH SÁCH HÌNH VẼ

Hình 2-1: Giao diện quản lý khoản chi 12Hình 2-2: Giao diện quản lý khoản thu 13Hình 2-3: Giao diện quản lý ngân sách 15

Trang 8

DANH SÁCH BẢNG BIỂU

Bảng 2-1: lớp khoản thu: txtkhoanthu 15Bảng 2-2: lớp khoản chi: txtkhoanchi 16

Trang 9

DANH SÁCH TỪ VIẾT TẮT

CMS Content Management System Hệ quản trị nội dung

OOP Object-oriented programming Lập trình hướng đối tượngCTHD Chi tiết hoá đơn

Trang 10

CHƯƠNG 1:MỞ ĐẦU

1.1 Lý do chọn đề tài

Ngày nay song song với quá trình phát triển công nghệ khoa học kỹ thuật thìngành khoa học tính toán đã đóng vai trò quan trọng, nó đã đạt được những thànhtự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ôngnghệ 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ôngtin 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ínhchấ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ộtngà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ếutrong 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 hoá 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ấtcầ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ấtnhiều mặt hàng Ngoài ra còn phải quản lý một lượng hoá đơn, số liệu

Chính vì vậy, việc tin học hoá tại các cửa hàng hiện nay là một yêu cầu hết sứcthiết thực nhằm đơn giản hoá 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á.

Trang 11

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

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àngtrở nên đơn giản, chính xác, hiệu quả hơn

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á.

Trang 12

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ó tronglậ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ý ứngdụ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 Ngoài ra với mô hình này nó còn tạo ra một không gianlà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àmviệ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ẽ giaotiế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

Trang 13

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 Presentationgở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ườidùng, tại đây Presentation sẽ xử lý các control trên form nhưDataGridView, Textbox, Combobox, …

- Ngoài ra còn 1 lớp hỗ trợ thêm là Business Object Transfer Layer: Lớp nàynếu ta sử dụng DataBinding thì không dùng cũng được, chủ yếu sài cho đốitượ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 hoá

- Các thông tin của hàng hoá

- 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

Trang 14

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ế giaodiệ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)

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ả

Trang 15

- 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

Trang 16

sách mà việc bổ sung được thực hiển ở cuối danh sách và loại bỏ ở đầu danhsá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ạnchư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ầnhiểu một chút về cấp phát bộ nhớ động Để đơn giản và dễ hiểu, phần nộidung 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ênkế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:

Trang 17

 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ênngoà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ênngoà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à hoàn toàntuỳ thuộc vào người viết mã Đây là tính chất đảm bảo sự toà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ĩacủ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ộngcá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 đốitượng Các phương thức hoàn toà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ìnhgọ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ươngthứ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úpchương trình được uyển chuyển hơn, chỉ yêu cầu đối tượng cung cấp đúng phươngthứ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ínhnă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

Trang 18

đố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 đốitượ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

Trang 19

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

Trang 20

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

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

6 Tìm kiếm Tìm kiếm các thông tin về hàng hoá, nhân viên, hoá đơ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

Trang 21

5 SoLuong Int 100 Số lượng

Trang 22

3.3 Thiết kế giao diện

Giao diện chương trình

Giao diện đăng nhập

Trang 23

Giao diện chính

Giao diện quản lý hàng hoá

Trang 24

Giao diện quản lý nhà cung cấp

Giao diện quản lý hoá đơn

Trang 25

Giao diện quản lý nhân viên

Giao diện thống kê báo cáo

Trang 26

CHƯƠNG 4:XÂY DỰNG ỨNG DỤNG

4.1 Xây dựng cơ sở dữ liệu

Trang 27

Hàng Hoá

Quản lý hàng hoá

Nhập BN

Nếu mã HH nhập về có mã đã tồn tại, chương trình sẽ thông báo điều này và yêu cầu nhập mã HH mới cho tới khi không còn trùng Các thành phần dữ liệu của

HH cần phải nhập đúng kiểu dữ liệu đã được mặc định, nếu nhập sai chương trình

sẽ tự động cho người dùng nhập lại

Trang 28

Start

Hiển thị thông tin BN

Input: Nhập Mã BN

 

Kiểm tra sự tồn tại của mã BN

Bạn có muốn nhập tiếp?

Đã tồn tại

mã BN

StopNhập thông tin BN

Lưu đồ thuật toán nhập BN

Trang 29

Sửa BN

Sửa các thông tin của BN, bộ phận quản lý cần nhập vào mã của BN để lấy ra thông tin của BN cần sửa, chương trình sẽ kiểm tra sự tồn tại của mã sau đó bộ phậnquản lý sẽ cập nhật thông tin mới ghi đè lên những thông tin của BN cũ Nếu mã

BN không có trong danh sách thì chương trình sẽ báo “ Không tồn tại BN có mã bạn nhập…”

Trang 30

Bạn có muốn sửa tiếp?

Lưu đồ thuật toán sửa BN

Trang 31

Lưu đồ thuật toán xoá BN

Trang 32

Tìm kiếm BN

Tìm kiếm Bn mà người quản lý yêu cầu thì người dùng cần nhập vào mã hoặc tên của BN đó, nếu tồn tại mã hoặc tên BN vừa nhập thì chương trình sẽ hiện thông tin của BN có mã vừa nhập, nếu không tồn tại thì chương trình sẽ báo: “Không tồn tại BN có mã bạn nhập…”

Trang 33

Lưu đồ thuật toán tìm kiếm BN

Ngày đăng: 18/04/2023, 18:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w