1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phần mềm quản lý bán hàng tại đại lý xe máy dựa trên nền tảng winform bằng ngôn ngữ c

76 17 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

Định dạng
Số trang 76
Dung lượng 2,79 MB

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

Nội dung

Phương pháp nghiên cứu Để nghiên cứu quy trình quản lý bán hàng, quản lý công nợ và xây dựng phần mềm quản lý bán hàng phù hợp với yêu cầu thực tế ở đại lý xe máy, tác giả đã sử dụng các

Trang 1

MỤC LỤC

Trang

MỤC LỤC i

DANH MỤC HÌNH ẢNH v

DANH MỤC BẢNG BIỂU vii

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

2 Mục tiêu nghiên cứu 2

3 Đối tượng và phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 3

5 Dự kiến kết quả đạt được của đề tài 3

6 Kết cấu của đề tài 4

NỘI DUNG NGHIÊN CỨU 5

CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ PHÁT TRIỂN HỆ THỐNG THÔNG TIN QUẢN LÝ 5

1.1 Tổng quan về hệ thống thông tin quản lý 5

1.1.1 Khái niệm hệ thống thông tin quản lý 5

1.1.2 Các loại thông tin quản lý 5

1.1.3 Cấu trúc hệ thống thông tin quản lý 6

1.1.4 Quy trình phát triển hệ thống thông tin quản lý 6

1.1.4.1 Khái niệm về quy trình phát triển hệ thống thông tin quản lý 6

1.1.4.2 Giới thiệu về mô hình thác nước 7

1.2 Ngôn ngữ lập trình C# 9

1.3 Tổng quan về nền tảng lập trình NET Framework 11

1.3.1 Giới thiệu về NET Framework 11

1.3.2 Các thành phần của NET Framework 12

1.3.3 Nền tảng lập trình NET Framework 4.5 12

1.3.3.1 Tổng quan về nền tảng NET Framework 4.5 12

1.3.3.2 Các tính năng của NET Framework 4.5 14

Đại học Kinh tế Huế

Trang 2

1.4 Tổng quan về kiến trúc ADO NET 15

1.5 Hệ quản trị cơ sở dữ liệu SQL Server 16

1.5.1 Ngôn ngữ truy vấn có cấu trúc (SQL - Structure Query Language) 16

1.5.1.1 Khái niệm về SQL 16

1.5.1.2 Đặc điểm của SQL 16

1.5.1.3 Vai trò của SQL 16

1.5.2 Microsoft SQL Server 17

1.5.2.1 Tổng quan về Microsoft SQL Server 17

1.5.2.2 Thành phần của Microsoft SQL Server 17

1.6 Các phương pháp nghiên cứu, giải pháp công nghệ được ứng dụng để xây dựng phần mềm 18

1.6.1 Phương pháp lập trình hướng chức năng (Procedure – Oriented Programming) 18

1.6.1.1 Giới thiệu 18

1.6.1.2 Các khái niệm 19

1.6.2 Sử dụng mô hình 3 lớp trong thiết kế 21

CHƯƠNG 2: BÀI TOÁN QUẢN LÝ BÁN HÀNG TẠI ĐẠI LÝ XE MÁY 24

2.1 Mô tả bài toán 24

2.2 Xác định yêu cầu 26

CHƯƠNG 3: XÂY DỰNG PHẦN MỀM QUẢN LÝ BÁN HÀNG TẠI ĐẠI LÝ XE MÁY 27

3.1 Phân tích hệ thống Quản lý bán hàng tại đại lý xe máy 27

3.1.1 Phân tích yêu cầu 27

3.1.1.1 Quản lý hệ thống 27

3.1.1.2 Quản lý danh mục 27

3.1.1.3 Quản lý bán hàng 27

3.1.1.4 Quản lý nhập mua 27

3.1.1.5 Quản lý công nợ - tồn kho đầu kỳ 28

3.1.1.6 Thống kê báo cáo 28

3.1.2 Sơ đồ chức năng (BFD – Business Function Diagram) 28

Đại học Kinh tế Huế

Trang 3

3.1.3 Sơ đồ ngữ cảnh (Context Diagram) 30

3.1.4 Sơ đồ luồng dữ liệu (DFD – Data Flow Diagram) 31

3.1.4.1 Sơ đồ phân rã mức 0 32

3.1.4.2 Sơ đồ phân rã mức 1 cho chức năng 1.0 33

3.1.4.3 Sơ đồ phân rã mức 1 cho chức năng 2.0 33

3.1.4.4 Sơ đồ phân rã mức 1 cho chức năng 3.0 34

3.1.4.5 Sơ đồ phân rã mức 1 cho chức năng 4.0 34

3.1.4.6 Sơ đồ phân rã mức 1 cho chức năng 5.0 34

3.1.4.7 Sơ đồ phân rã mức 1 cho chức năng 6.0 35

3.1.5 Sơ đồ luồng thông tin (IFD – Information Flow Diagram) 35

3.1.5.1 Sơ đồ luồng thông tin nhập mua 35

3.1.5.2 Sơ đồ luồng thông tin bán hàng 36

3.2 Thiết kế 36

3.2.1 Thiết kế cơ sở dữ liệu 36

3.2.1.1 Xác định các thực thể và các thuộc tính của thực thể 36

3.2.1.2 Sơ đồ thực thể mối quan hệ (ERD – Entity Relationship Diagram) 39

3.2.1.3 Chuyển các mối quan hệ thành lược đồ quan hệ 39

3.2.1.4 Chuẩn hóa cơ sở dữ liệu 41

3.2.2 Thiết kế thuật toán 47

3.2.2.1 Kí hiệu sử dụng 47

3.2.2.2 Một số giải thuật trong chương trình 47

3.2.3 Thiết kế giao diện 52

3.3 Xây dựng và thử nghiệm 54

PHẦN KẾT LUẬN 55

TÀI LIỆU THAM KHẢO 57

PHỤ LỤC 58

Đại học Kinh tế Huế

Trang 4

DANH MỤC CHỮ VIẾT TẮT

STT Ký hiệu

Trang 5

DANH MỤC HÌNH ẢNH

Trang

Hình 1.1 Mô hình thác nước 7

Hình 1.2 Kiến trúc của NET Framework 11

Hình 1.3 Mô hình NET Framework 4.5 13

Hình 1.4 Kiến trúc mô hình 3 lớp 21

Hình 3.1 Sơ đồ chức năng Quản lý bán hàng tại đại lý xe máy 28

Hình 3.2 Sơ đồ chức năng Quản lý hệ thống 29

Hình 3.3 Sơ đồ chức năng Quản lý danh mục 29

Hình 3.4 Sơ đồ chức năng Quản lý Bán hàng 29

Hình 3.5 Sơ đồ chức năng Quản lý Kho 30

Hình 3.6 Sơ đồ chức năng Thống kê 30

Hình 3.7 Sơ đồ ngữ cảnh hệ thống quản lý bán hàng tại đại lý xe máy 31

Hình 3.8 Sơ đồ luồng dữ liệu mức 0 32

Hình 3.9 Sơ đồ luồng dữ liệu mức 1 cho chức năng 1.0 33

Hình 3.10 Sơ đồ luồng dữ liệu mức 1 cho chức năng 2.0 33

Hình 3.11 Sơ đồ luồng dữ liệu mức 1 cho chức năng 3.0 34

Hình 3.12 Sơ đồ luồng dữ liệu mức 1 cho chức năng 4.0 34

Hình 3.13 Sơ đồ luồng dữ liệu mức 1 cho chức năng 5.0 34

Hình 3.14 Sơ đồ luồng dữ liệu mức 1 cho chức năng 6.0 35

Hình 3.15 Sơ đồ luồng thông tin nhập mua 35

Hình 3.16 Sơ đồ luồng thông tin bán hàng 36

Hình 3.17 Sơ đồ thực thể mối quan hệ 39

Hình 3.18 Giải thuật đăng nhập 47

Hình 3.19 Giải thuật cập nhật dữ liệu 48

Hình 3.20 Giải thuật xóa dữ liệu 49

Đại học Kinh tế Huế

Trang 6

Hình 3.21 Giải thuật nhập kho 50

Hình 3.22 Giải thuật bán hàng 51

Hình 3.23 Giao diện trang chủ 52

Hình 3.24 Giao diện hóa đơn 52

Hình 3.25 Giao diện phiếu thu 53

Hình 3.26 Giao diện báo cáo tồn kho 53

Hình 3.27 Giao diện xây dựng phần mềm trên Visial Studio 2012 54

Hình 3.28 Giao diện quản lý dữ liệu trên SQL Server 2012 54

Đại học Kinh tế Huế

Trang 7

DANH MỤC BẢNG BIỂU

Trang

Bảng 3.1 Cấu trúc dữ liệu bảng Chứng Từ (B00DmCt) 41

Bảng 3.2 Cấu trúc dữ liệu bảng Trạng Thái Chứng Từ (B00DocStatus) 41

Bảng 3.3 Cấu trúc dữ liệu bảng Người Dùng (B00UserList) 41

Bảng 3.4 Cấu trúc dữ liệu bảng Khách Hàng (B20Customer) 41

Bảng 3.5 Cấu trúc dữ liệu bảng Linh Kiện (B20Item) 42

Bảng 3.6 Cấu trúc dữ liệu bảng Định Mức Linh Kiện (B20ItemNorm) 42

Bảng 3.7 Cấu trúc dữ liệu bảng Kho (B20Warehouse) 42

Bảng 3.8 Cấu trúc dữ liệu bảng Đầu Phiếu (B30AccDoc) 43

Bảng 3.9 Cấu trúc dữ liệu bảng Phiếu Chi (B30AccDocCashPayment) 43

Bảng 3.10 Cấu trúc dữ liệu bảngPhiếu Thu (B30AccDocCashReceipt) 44

Bảng 3.11 Cấu trúc dữ liệu bảng Phiếu Xuất (B30AccDocInventory) 44

Bảng 3.12 Cấu trúc dữ liệu bảng Phiếu Nhập (B30AccDocPurchase) 44

Bảng 3.13 Cấu trúc dữ liệu bảng Hóa Đơn (B30AccDocSales) 45

Bảng 3.14 Cấu trúc dữ liệu bảng Bảng Giá (B30BizDoc) 45

Bảng 3.15 Cấu trúc dữ liệu bảng Chi Tiết Bảng Giá (B30BizDocPriceTableDealer) 46 Bảng 3.16 Cấu trúc dữ liệu bảng Công Nợ Đầu Kỳ (B30OpenBalance) 46

Bảng 3.17 Cấu trúc dữ liệu bảng Tồn Kho Đầu Kỳ (B30OpenInventory) 46

Bảng 3.18 Bảng kí hiệu sơ đồ thuật toán 47

Đại học Kinh tế Huế

Trang 8

PHẦN MỞ ĐẦU

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

Những năm gần đây, ngành công nghệ thông tin đã phát triển một cách nhanh chóng và có nhiều bước tiến vượt bậc Tuy đi sau nhiều nước, nhưng ngành công nghệ thông tin ở nước ta có tốc độ khá nhanh và đang dần dần được ứng dụng rộng rãi trong nhiều lĩnh vực của nền kinh tế, góp phần thúc đẩy sự phát triển của xã hội

Một trong những lĩnh vực đang được ứng dụng tin học hóa rất phổ biến ở nước

ta là lĩnh vực hệ thống thông tin quản lý Tin học hóa trong quản lý đã giúp cho các nhà quản lý điều hành công việc một cách khoa học, chính xác và hiệu quả Tất cả các

cơ quan, công ty, tổ chức đều muốn tin học hóa vào các hoạt động quản lý của mình

Hiệu quả quản lý là một lĩnh vực được nhà quản lý quan tâm và điều này phụ thuộc rất nhiều vào hệ thống thông tin mà cụ thể là các chương trình quản lý dựa trên máy tính Nó giúp con người giải phóng sức lao động, thực hiện công việc một cách hiệu quả mà hình thức quản lý thủ công trên giấy trước đây không thể quản lý triệt để nên thường xuyên xảy ra nhầm lẫn, sai số, thất lạc số liệu gây mất thời gian, công sức

mà hiệu quả mang lại không cao

Quản lý bán hàng trong các doanh nghiệp là một công việc quan trọng, đòi hỏi

bộ phận quản lý phải thực hiện nhiều nghiệp vụ phức tạp Một doanh nghiệp muốn phát triển khả năng sản xuất để đáp ứng nhu cầu khách hàng một cách hiệu quả nhất thì không thể thiếu một hệ thống thông tin hỗ trợ thường xuyên và kịp thời Vì thế, việc tin học hóa công tác quản lý, khai thác và điều hành kinh doanh là một đòi hỏi ngày càng cấp thiết hơn bao giờ hết

Tại các cửa hàng xe máy, hiện nay vẫn đang tồn tại cơ chế quản lý rất thủ công

và chủ cửa hàng cũng như các nhân viên quản lý rất quan tâm đến vấn đề ứng dụng công nghệ tin học vào công tác quản lý nhằm giảm bớt sức lao động của con người, tiết kiệm thời gian, giúp cho công tác quản lý gọn nhẹ, đáp ứng nhanh chóng, kịp thời cho nhu cầu quản lý của mình, góp phần nâng cao hiệu quả kinh doanh của cửa hàng

Đại học Kinh tế Huế

Trang 9

Chính vì những lí do trên, tác giả đã quyết định chọn đề tài: “Xây dựng phần mềm quản lý bán hàng tại đại lý xe máy dựa trên nền tảng Winform bằng ngôn ngữ C#” để làm đề tài cho khóa luận của mình

2 Mục tiêu nghiên cứu

* Mục tiêu tổng quát:

Trên cơ sở phân tích các nghiệp vụ quản lý bán hàng và quy trình quản lý công

nợ tại đại lý xe máy cũng như hiểu rõ quy trình xây dựng phần mềm, tác giả tiến hành xây dựng phần mềm Quản lý bán hàng tại đại lý xe máy

* Mục tiêu cụ thể:

- Nghiên cứu và nắm vững các quy trình bán hàng, quy trình quản lý thông tin

về tình hình công nợ phải trả của khách hàng đối với cửa hàng và của cửa hàng đối với

nhà cung cấp

- Nghiên cứu các công cụ, nền tảng lập trình được sử dụng để xây dựng hệ thống: ADO NET, C Sharp, MS SQL Server 2012

- Hiểu rõ quy trình xây dựng và phát triển hệ thống thông tin quản lý

- Xây dựng phần mềm Quản lý bán hàng tại đại lý xe máy

3 Đối tượng và phạm vi nghiên cứu

* Đối tượng nghiên cứu:

- Các quy trình quản lý bán hàng và quản lý công nợ tại đại lý xe máy

- Cơ chế, cách thức hoạt động của nghiệp vụ lưu trữ, quản lý bán hàng và quản

lý công nợ tại đại lý xe máy

- Các công cụ, nền tảng lập trình để xây dựng hệ thống: ADO NET, C Sharp,

- Thời gian: Từ ngày 19/01/2016 đến hết ngày 15/05/2016

Đại học Kinh tế Huế

Trang 10

4 Phương pháp nghiên cứu

Để nghiên cứu quy trình quản lý bán hàng, quản lý công nợ và xây dựng phần mềm quản lý bán hàng phù hợp với yêu cầu thực tế ở đại lý xe máy, tác giả đã sử dụng các phương pháp trong quá trình thực hiện đề tài:

- Phương pháp thu thập thông tin:

+ Phương pháp quan sát: trực tiếp quan sát hệ thống quản lý bán hàng và quản lý công nợ tại đại lý xe máy, để phân tích ưu nhược điểm, các quy trình cơ bản đối với hệ thống quản lý công nợ

+ Phương pháp thu thập tài liệu: chủ động tìm kiếm và nghiên cứu các tài liệu liên quan đến đề tài thực hiện, để từ đó nắm vững quy định về quản lý bán hàng

và quản lý công nợ giúp xây dựng phần mềm đạt yêu cầu

+ Phương pháp phỏng vấn: phỏng vấn về quá trình quản lý bán hàng và quản lý công nợ hiện tại tại cửa hàng, cũng như yêu cầu và mong muốn của nhân viên quản lý và chủ cửa hàng trong việc quản lý bán hàng và công nợ nhằm khắc phục và xây dựng phần mền đáp ứng được nhu cầu và nguyện vọng của người sử dụng

- Phương pháp mô hình hóa: sử dụng các mô hình, sơ đồ để mô tả lại các quy

trình, nghiệp vụ quản lý bán hàng và quản lý công nợ tại cửa hàng

- Phương pháp phát triển hệ thống thông tin: Dựa trên những thông tin thu được

để tiến hành phân tích, thiết kế phần mềm bao gồm những chức năng chính của phần mềm sẽ xây dựng thông qua quá trình mô hình hóa phần mềm, chuẩn hóa cơ sở dữ liệu

và mã hóa để đưa ra sản phẩm phần mềm phù hợp với yêu cầu

5 Dự kiến kết quả đạt được của đề tài

- Nắm vững quy trình quản lý bán hàng, quy trình quản lý công nợ của khách

hàng và đối với nhà cung cấp

- Nắm rõ các công cụ, nền tảng lập trình được sử dụng để xây dựng hệ thống

- Hiểu rõ quy trình xây dựng, phát triển hệ thống thông tin quản lý

- Xây dựng phần mềm hoàn chỉnh Quản lý bán hàng tại đại lý xe máy

Đại học Kinh tế Huế

Trang 11

6 Kết cấu của đề tài

Ngoài phần mở đầu và kết luận, nội dung của khóa luận được kết cấu thành 3 chương như sau:

Chương 1: Cơ sở lý luận về phát triển hệ thống thông tin quản lý

Chương 2: Bài toán quản lý bán hàng tại đại lý xe máy

Chương 3: Xây dựng phần mềm Quản lý bán hàng tại đại lý xe máy

Đại học Kinh tế Huế

Trang 12

NỘI DUNG NGHIÊN CỨU CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ PHÁT TRIỂN

HỆ THỐNG THÔNG TIN QUẢN LÝ 1.1 Tổng quan về hệ thống thông tin quản lý

1.1.1 Khái niệm hệ thống thông tin quản lý

của tổ chức Hệ thống bao gồm con người, thiết bị và quy trình thu thập, phân tích, đánh giá và phân phối những thông tin cần thiết, kịp thời, chính xác cho những người soạn

thảo các quyết định trong tổ chức

Hệ thống thông tin quản lý cũng là tên gọi của một chuyên ngành khoa học Ngành khoa học này thường được xem là một phân ngành của khoa học quản lý và quản trị kinh doanh Ngoài ra, do ngày nay việc xử lý dữ liệu thành thông tin và quản lý thông tin liên quan đến công nghệ thông tin, nó cũng được coi là một phân ngành trong toán

học, nghiên cứu việc tích hợp hệ thống máy tính vào mục đích tổ chức

1.1.2 Các loại thông tin quản lý

Thông tin quản lý là những dữ liệu được xử lý và sẵn sàng phục vụ công tác quản lý tổ chức Có 3 loại thông tin quản lý trong một tổ chức, đó là thông tin chiến lược, thông tin chiến thuật, và thông tin điều hành

* Thông tin chiến lược: Là thông tin sử dụng cho chính sách dài hạn của tổ chức, chủ yếu phục vụ cho các nhà quản lý cao cấp khi dự đoán tương lai

* Thông tin chiến thuật: Là thông tin sử dụng cho chính sách ngắn hạn, chủ yếu phục vụ cho các nhà quản lý phòng ban trong tổ chức

* Thông tin điều hành: Sử dụng cho công tác điều hành tổ chức hằng ngày và

chủ yếu phụ vụ cho người giám sát hoạt động tác nghiệp của tổ chức

Đại học Kinh tế Huế

Trang 13

1.1.3 Cấu trúc hệ thống thông tin quản lý

Một hệ thống thông tin quản lý được thiết kế cấu trúc tốt gồm bốn hệ thống con,

đó là các hệ thống ghi chép nội bộ, hệ thống tình báo, hệ thống nghiên cứu và hệ thống

hỗ trợ quyết định

* Hệ thống ghi chép nội bộ: Đảm bảo cung cấp những số liệu hiện thời, nhiều tổ

chức đã phát triển những hệ thống ghi chép nội bộ tiên tiến có sử dụng máy tính để có thể cung cấp thông tin nhanh và đầy đủ hơn

* Hệ thống tình báo: Cung cấp cho các nhà quản lý những thông tin hàng ngày,

tình hình đang diễn ra về những diễn biến của môi trường bên ngoài

* Hệ thống nghiên cứu thông tin: Thu thập những thông tin liên quan đến một

vấn đề cụ thể đặt ra trước tổ chức, đặc điểm của việc nghiên cứu thông tin tốt là có phương pháp khoa học, sử dụng nhiều phương pháp, xây dựng mô hình, lượng định tỷ

lệ chi phí/lợi ích của giá trị của thông tin

* Hệ thống hỗ trợ quyết định: Gồm các phương pháp thống kê và các mô hình

quyết định để hỗ trợ các nhà quản lý ban hành các quyết định đúng đắn hơn

1.1.4 Quy trình phát triển hệ thống thông tin quản lý

1.1.4.1 Khái niệm về quy trình phát triển hệ thống thông tin quản lý

Quy trình phát triển hệ thống là một tập hợp các hoạt động, phương pháp, thực

nghiệm, kết quả và các công cụ tự động hóa mà các nhân sự sử dụng để phát triển và cải thiện không ngừng hệ thống thông tin và phần mềm

Một quy trình phù hợp để phát triển hệ thống phải bảo đảm:

- Hiệu quả để cho phép nhà quản lý điều chuyển nguồn lực giữa các dự án

- Tài liệu nhất quán nhằm giảm chi phí thời gian sống để bảo trì hệ thống (bởi

các đội phát triển khác) về sau

- Chất lượng nhất quán xuyên suốt các dự án

Đại học Kinh tế Huế

Trang 14

1.1.4.2 Giới thiệu về mô hình thác nước

Để xây dựng phần mềm, tác giả lựa chọn áp dụng mô hình thác nước Mô hình thác nước (waterfall model) là một mô hình của quy trình phát triển phần mềm, trong

đó quy trình phát triển giống như một dòng chảy, với các pha được thực hiện theo trật

tự nghiêm ngặt và không có sự nhảy vượt

Hình 1.1 Mô hình thác nước

Nguồn: Mô hình thác nước (Waterfall model) - http://trantronglekhanh.wordpress.com

Mô hình thác nước có ưu điểm là: Dễ quản lý; Thời gian hoàn thành dự án thường được dự báo với độ chính xác hơn; Các tài liệu đầu ra của từng giai đoạn cũng được xây dựng đầy đủ và hệ thống hơn là: phân tích yêu cầu, thiết kế triển khai thực hiện, kiểm thử, liên kết và bảo trì Dựa vào mô hình thác nước trên ta sẽ có 6 bước để xây dựng 1 phần mềm:

Đại học Kinh tế Huế

Trang 15

Bước 1: Khảo sát tìm hiểu yêu cầu

Mô tả trừu tượng các dịch vụ mà hệ thống được mong đợi phải cung cấp và các ràng buộc mà hệ thống phải tuân thủ khi vận hành Nó chỉ có các đặc tả phẩm hạnh bên ngoài của hệ thống mà không liên quan đến các đặc tính thiết kế Nó phải được viết sao cho người ta có thể hiểu được mà không cần một kiến thức chuyên môn đặc biệt nào

Bước 2: Phân tích các yêu cầu

Bước này là bước rất quan trọng vì nó là bước đầu tiên để hình thành nên 1 phần mềm Với sản phẩm phần mềm được xây dựng, việc hiểu đầy đủ các đặc điểm của nó là điều không dễ Quá trình xác định các chức năng và các ràng buộc của phần mềm gọi là tìm hiểu và xác định yêu cầu Để có được điều này thì cần phải trả lời câu hỏi "cái gì? - what?" chứ không phải là "như thế nào? - how?" Tìm hiểu, xác định và phân tích yêu cầu là bước hình thành bài toán, do vậy các yêu cầu của bài toán cần phải được tìm hiểu

và phân tích theo chiều rộng (ngang) và theo chiều sâu Vì vậy ta cần phải tìm hiểu và phân tích đầy đủ các tất cả các yêu cầu một cách tối ưu nhất để dễ dàng tiến hành các bước tiếp theo

Bước 3: Thiết kế phần mềm và hệ thống

Xây dựng ứng dụng phần mềm là một dây chuyền các chuyển đổi, mà ở đó phân tích nhằm xác định ứng dụng sẽ thực hiện cái gì (what?) còn thiết kế nhằm để trả lời câu hỏi phần mềm cụ thể sẽ như thế nào (how?) Tức là xác định cách thức thực hiện những

gì đã được đặt ra ở phần phân tích Trong ba giai đoạn: thiết kế, cài đặt và bảo trì thì thiết kế là giai đoạn quan trọng nhất, chịu trách nhiệm đến 80% đối với sự thành công của một sản phẩm Quá trình thiết kế tốt là cơ sở để quản lý và giảm chi phí cho công việc bảo trì phần mềm sau này

Bước 4: Cài đặt và thử nghiệm đơn thể phần mềm

Cài đặt là việc thực thi những gì đã thiết kế Nếu trong quá trình cài đặt có xuất hiện vấn đề thì phải quay lại sửa bản thiết kế Cài đặt là một công đoạn trong việc phát triển phần mềm và nó được xem là một hệ quả tất yếu của thiết kế Tuy vậy, phong cách lập trình và các đặc trưng của ngôn ngữ lập trình có ảnh hưởng lớn đến chất lượng của phần mềm Một chương trình được cài đặt tốt đem lại cho ta thuận lợi trong việc bảo trì sau này

Đại học Kinh tế Huế

Trang 16

Bước 5: Thử nghiệm tổng quát phần mềm

Sản phẩm phần mềm được gọi là đúng nếu nó thực hiện được chính xác những tiêu chuẩn mà người thiết kế đã đặt ra Để có một đánh giá chính xác về cấp độ đúng của phần mềm, ta phải kiểm tra chất lượng phần mềm Như thế, kiểm tra là quá trình tìm lỗi và nó là một đánh giá cuối cùng về các đặc tả, thiết kế và mã hoá Mục đích của kiểm tra là đảm bảo rằng tất cả các thành phần của ứng dụng ăn khớp, vận hành như mong đợi và phù hợp các tiêu chuẩn thiết kế

Bước 6: Bảo trì và phát triển phần mềm

Bảo trì là giai đoạn cuối cùng của một chu trình phát triển phần mềm Các chương trình máy tính luôn thay đổi - phải mở rộng, sửa lỗi, tối ưu hoá và theo thống kê thì bảo trì chiếm đến 70% toàn bộ công sức bỏ ra cho một dự án phần mềm Do vậy, bảo trì là một hoạt động phức tạp nhưng nó lại là vô cùng cần thiết trong chu trình sống của sản phẩm phần mềm để đảm bảo cho phần mềm phù hợp với người sử dụng

1.2 Ngôn ngữ lập trình C#

Ngôn ngữ C Sharp (C#) được xây dựng và kiến trúc bởi Anders Hejlsberg, người

đã viết nên trình biên dịch Pascal và có nhiều đóng góp cho Delphi cũng như Java C#

là một trong rất nhiều ngôn ngữ lập trình được hỗ trợ bởi NET Framework (như C++, Java…) Có thể hiểu đơn giản đây là một trung tâm biên dịch, trong đó tất cả các ngôn ngữ được hỗ trợ bởi NET Framework sẽ được chuyển đổi ra ngôn ngữ trung gian

Microsoft (Microsoft Intermediate Language – MSIL) rồi từ đấy mới được biên dịch tức

thời (Just in time Compiler – JIT Compiler) thành các file thực thi như exe Một thành

tố quan trọng nữa trong kiến trúc NET Framework chính là bộ thực thi ngôn ngữ chung (.NET Common Language Runtime – CLR), khối chức năng cung cấp tất cả các dịch

vụ mà chương trình cần giao tiếp với phần cứng, với hệ điều hành

* Các tính năng cơ bản của ngôn ngữ lập trình C#:

Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ Java, VB, C và C++, nhưng nó được tạo nên 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

Đại học Kinh tế Huế

Trang 17

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 tóm tắt như sau:

- C# là ngôn ngữ đơn giản và hiện đại

- C# là ngôn ngữ hướng đối tượng

- C# là ngôn ngữ mạnh mẽ và mềm dẻo

- C# là ngôn ngữ có ít từ khóa

- C# là ngôn ngữ hướng module

- C# loại bỏ một vài sự phức tạp 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++

- Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++ 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

* Các ứng dụng của C#

C# có thể sử dụng để viết các kiểu ứng dụng khác nhau như:

- Các ứng dụng game

- Các ứng dụng cho doanh nghiệp

- Các ứng dụng cho thiết bị di động: PC Pocket, PDA, cell phone

- Các ứng dụng quản lý đơn giản

- Các ứng dụng phân tán phức tạp trải rộng qua nhiều thành phố, đất nước

* Các lợi ích của C#

- Hỗ trợ ngôn ngữ xuyên suốt (Cross Language Support): hỗ trợ khả năng chuyển đổi dễ dàng giữa các ngôn ngữ

- Hỗ trợ các giao thức Internet chung

- Triển khai đơn giản

- Hỗ trợ tài liệu XML: các chú thích XML có thể được thêm vào các đoạn code

và sau đó có thể được chiết xuất để làm tài liệu cho các đoạn code để cho phép các lập trình viên khi sử dụng biết được ý nghĩa của các đoạn code đã viết

Đại học Kinh tế Huế

Trang 18

1.3 Tổng quan về nền tảng lập trình NET Framework

1.3.1 Giới thiệu về NET Framework

chương trình được viết trên nền NET Framework sẽ được triển khai trong môi trường phần mềm(ngược lại vớimôi trường phần cứng) được biết đến với tên Common Language Runtime (CLR) Môi trường phần mềm này là một máy ảotrong đó cung cấp

và các xử lý lỗi ngoại lệ (exception handling)

.NET Framework bao gồm tập các thư viện lập trình lớn, và những thư viện này

hỗ trợ việc xây dựng các chương trình phần mềm như lập trình giao diện; truy cập, kết nốicơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiếp mạng CLR

cùng với bộ thư viện này là 2 thành phần chính của NET Framework

.NET Framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng tạo mà gắn kết các thành phần đó lại với nhau Nhiều công cụ được tạo ra để hỗ trợ

xây dựng ứng dụng NET, và IDE (Integrated Developement Environment – Môi trường phát triển tích hợp) được phát triển và hỗ trợ bởi chính Microsoft làVisual Studio

Hình 1.2 Kiến trúc của NET Framework

Nguồn: Net Framework: 10 năm nhìn lại - http://www.pcworld.com.vn

Đại học Kinh tế Huế

Trang 19

1.3.2 Các thành phần của NET Framework

- Bộ thực thi ngôn ngữ chung (Common Language Runtime - CLR): là trung tâm

điểm của NET Framework Đây là một hầm máy để chạy các tính năng của NET Trong NET, tất cả mọi ngỗ ngữ lập trình đều được biên dịch ra Microsoft Intermediate Language (IT) Do bắt buộc mọi ngôn ngữ đều phải dùng các loại kiểu dữ liệu nên CLR

có thể kiểm soát mọi giao diện, gọi giữa các thành phần và cho phép các ngôn ngữ có thể tích hợp với nhau một cách thông suốt

- Các lớp cơ sở (The Base Classes): Các lớp cơ sở cho chúng ta những đặc tính

của runtime và cung cấp những dịch vụ cấp cao khác mà những người lập trình đòi hỏi thông quan namespace Namespace là một cách đặt tên để giúp sắp đặt các lớp ta dùng trong chương trình một cách thứ tự để dễ tìm kiếm chúng Tất cả các mã trong NET bằng C# hay một ngôn ngữ nào khác đều được chứa trong namespace

- ASP NET: là một khung lập trình được xây dựng trên bộ thực thi ngôn ngữ

chung (CLR) và được sử dụng trên một máy chủ phục vụ để tạo ra các ứng dụng web mạnh Web Form của ASP NET cho phép xây dựng các giao diện người dùng Web động một cách hiệu quả Các dịch vụ của ASP NET cung cấp những khối hợp nhất cho việc xây dựng các ứng dụng trên nền tảng web phân tán Những dịch vụ web dựa trên các chuẩn Internet mở Bộ thực thi ngôn ngữ chung CLR cung cấp sự hỗ trợ dựng sẵn

để tạo và đưa ra những dịch vụ web thông qua việc sử dụng một khái niệm trừu tượng hóa lập trình phù hợp và thân thiện với nhà phát triển cho cả Web form và Visual basic

1.3.3 Nền tảng lập trình NET Framework 4.5

1.3.3.1 Tổng quan về nền tảng NET Framework 4.5

Microsoft NET Framework 4.5 là một trong những phần mềm hỗ trợ giúp máy

tính chạy được các ứng dụng, lập trình nhanh nhạy hơn bao giờ hết Ưu điểm vượt trội của NET Framework 4.5 đó là khả năng tạo nên môi trường lập trình mạnh mẽ, tạo liên kết dữ liệu rộng lớn cho người sử dụng máy tính

Đại học Kinh tế Huế

Trang 20

Hình 1.3 Mô hình NET Framework 4.5

Nguồn: Microsoft NET framework 4.5 - http://www.dotnet-tricks.com/

Hiện nay Microsoft NET Framework 4.5 có khả năng cung cấp nền tảng và môi trường lập trình cho các lập trình viên làm việc với nó, nó hỗ trợ truy cập và kết nối cơ

sở dữ liệu người dùng một cách nhanh chóng và chính xác, nó bao gồm phần lớn thư viện mã của các giải pháp phổ biến để lập trình các vấn đề được nêu ra trước đó và một máy ảo để giúp người dùng quản lý việc thực hiện các chương trình bằng văn bản cho chương trình khung mà không cần tới những công cụ test phức tạp nào khác

Microsoft NET Framework 4.5 bao gồm hai thành phần chính: môi trường thực thi cho các ứng dụng (CLR), đó là động cơ thực hiện xử lý các ứng dụng đang chạy, và NET Framework Class Library, cung cấp một thư viện các thử nghiệm và lập trình, sử dụng lại mã mà các nhà phát triển có thể gọi từ các ứng dụng riêng của họ

Phiên bản mới nhất của Microsoft NET Framework cải tiến về chức năng với khả năng tương thích tốt hơn, có độ linh hoạt với nhiều ứng dụng hiện nay Phiên bản này cũng bổ sung các hàm APIs cho ứng dụng ASP.NET, tính năng workflow…

Đại học Kinh tế Huế

Trang 21

Phiên bản mới nhất của Microsoft NET Framework cải tiến về chức năng với khả năng tương thích tốt hơn có độ linh hoạt với nhiều ứng dụng hiện nay Phiên bản này cũng bổ sung các hàm APIs cho ứng dụng ASP.NET, tính năng workflow…

chỉ trên các hệ điều hành mới như win 8.1 hay win 10 mà còn những phiên bản trước

đó Nếu đang dùng hệ điều hành thấp hơn, có thể sử dụng NET Framework 4.5 hay.NET Framework 3.0 để hỗ trợ quản lý bộ nhớ cũng như hỗ trợ nhiều chương trình,

* Thư viện lập trình phong phú:

Thay vì phải viết một lượng lớn các mã để xử lý các hoạt động lập trình ở mức

độ thấp, thông thường các lập trình viên có thể sử dụng một thư viện lập trình được tích hợp trên chương trình để dễ dàng tiếp cận các mã nguồn và các đối tượng cần thiết từ NET Framework Class Library

* Hỗ trợ nhiều ứng dụng:

.NET Framework tích hợp các thư viện cho các khu vực cụ thể của phát triển ứng dụng, chẳng hạn như ASP NET cho ứng dụng web, ADO NET để truy cập dữ liệu và Windows Communication Foundation cho các ứng dụng hướng dịch vụ

* Khả năng tương thích cao:

mã khác nhau thành ngôn ngữ chung thông qua trung tâm ngôn ngữ chung (CIL) Ngoài

ra, phần mềm này có thể cài đặt và sử dụng bằng một phiên bản đặc biệt có thể chạy mà không cần sửa đổi nếu có cập nhật phiên bản mới

Đại học Kinh tế Huế

Trang 22

1.4 Tổng quan về kiến trúc ADO NET

Với các công cụ lập trình xử lý dữ liệu như ADO (Active Data Object), Microsoft đem lại cho người lập trình một công cụ rất tự nhiên khi thực hiện các thao tác trên dữ liệu ADO được cải tiến liên tục trong các phiên bản hệ điều hành Windows hay Microsoft Office Tuy nhiên, với sự ra đời của NET, ADO không chỉ là thành phần (Component) độc lập nhưng gắn liền với NET Framework để cung cấp các dịch vụ xử

* Kiến trúc của ADO NET

Kiến trúc ADO NET có thể chia làm hai phần chính:

- Các thư viện quản lý (Managed Provider Component): bao gồm các đối tượng như DataAdapter, DataReader,… giữ nhiệm vụ làm việc trực tiếp với dữ liệu như database, file,…

- Thư viện dữ liệu (Content Component): Bao gồm các đối tượng như DataSet, DataTable, … đại diện cho dữ liệu thực sự cần làm việc DataReader là đối tượng giúp truy cập dữ liệu nhanh chóng nhưng forward-only và read-only

Dữ liệu (DataSet) có thể coi là một bản sao gọn nhẹ của CSDL trong bộ nhớ với nhiều bảng và các mối quan hệ

Mô hình kết nối (DataAdapter) là đối tượng kết nối giữa DataSet và CSDL, nó bao gồm hai đối tượng Connection và Command để cung cấp dữ liệu cho DataSet cũng như cập nhật dữ liệu từ DataSet xuống CSDL

Đại học Kinh tế Huế

Trang 23

1.5 Hệ quản trị cơ sở dữ liệu SQL Server

1.5.1 Ngôn ngữ truy vấn có cấu trúc (SQL - Structure Query Language)

1.5.1.1 Khái niệm về SQL

SQL là một công cụ quản lý dữ liệu được sử dụng phổ biến ở nhiều lĩnh vực và

nó 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ệ Hầu hết các ngôn ngữ bậc cao đều có trình hỗ trợ SQL như Visual Basic, Oracle, C++, C#, …

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: định nghĩa dữ liệu, truy xuất và thao tác dữ liệu, điều khiển và truy cập

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

1.5.1.2 Đặc điểm của SQL

- SQL là ngôn ngữ tựa tiếng Anh

- SQL là ngôn ngữ phi thủ tục, nó không yêu cầu cách thức truy nhập cơ sở dữ liệu như thế nào, tất cả các thông báo của SQL rất dễ sử dụng và ít khả năng mắc lỗi

- SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp dữ liệu

- Chèn, cập nhật, xóa các hàm trong một quan hệ

- Điều khiển việc truy nhập tới cơ sở dữ liệu và các đối tượng của cơ sở dữ liệu

để đảm bảo tính bảo mật của cơ sở dữ liệu

- Đảm bảo tính nhất quán và sự ràng buộc của cơ sở dữ liệu

- SQL sử dụng các kiểu dữ liệu cơ bản: Integer, Number(n,p), varchar(n), char(n), nvarchar(n), data, …

1.5.1.3 Vai trò của SQL

SQL 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à hệ quản trị cơ sở dữ liệu SQL có vai trò như sau:

- SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàng thông qua các trình tiện ích để gửi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở dữ liệu

và nhận kết quả trả về từ cơ sở dữ liệu

Đại học Kinh tế Huế

Trang 24

- SQL là ngôn ngữ lập trình cơ sở dữ liệu: Thông qua SQL, người quản trị cơ sở

dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu trữ dữ liệu, điều khiển truy cập cơ sở dữ liệu

- SQL là ngôn ngữ truy cập dữ liệu trên Internet: SQL với vai trò là ngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu trên Internet

- SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ liệu phân tán, mỗi hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên mạng, gửi

và nhận các yêu cầu truy xuất dữ liệu với nhau

- SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: SQL thường được dùng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữ liệu khi hệ thống máy tính có nhiều hệ quản trị cơ sở dữ liệu khác nhau

1.5.2 Microsoft SQL Server

1.5.2.1 Tổng quan về Microsoft SQL Server

SQL là một hệ thống quản trị CSDL quan hệ nhiều người dùng kiểu khách/chủ Đây là hệ thống cơ bản dùng lưu trữ dữ liệu cho hầu hết các ứng dụng lớn hiện nay

SQL server sử dụng ngôn ngữ lập trình và truy vấn CSDL Transact - SQL, một phiên bản của SQL Với Transact - SQL, có thể truy xuất dữ liệu, cập nhật và quản lý

hệ thống CSDL quan hệ

Với mỗi máy chủ chỉ có một hệ thống quản trị CSDL SQL Server Nếu muốn có

nhiều hệ thống quản trị CSDL cần có nhiều máy chủ tương ứng

1.5.2.2 Thành phần của Microsoft SQL Server

- Bảng dữ liệu (Tables): Bảng dữ liệu là đối tượng chính của CSDL dùng lưu trữ

dữ liệu cần quản lý Mỗi bảng dữ liệu có 1 hay nhiều trường Mỗi trường ứng với một loại dữ liệu cần lưu trữ

Bảng dữ liệu còn có các thành phần liên quan như:

- Ràng buộc (Constranit): Constraint là các chỉ định ràng buộc dữ liệu trong bảng

dữ liệu hoặc các bảng dữ liệu khác nhau theo một quy tắc nào đó

- Bẫy lỗi (Triggers): Bẫy lỗi thường chứa các mã lệnh kiểm tra dữ liệu, có tính năng tự động thực hiện khi có hành động nào đó xảy ra đối với dữ liệu trong bảng dữ liệu như thêm, sửa, xóa

Đại học Kinh tế Huế

Trang 25

- Chỉ mục (Indexs): Hỗ trợ cho việc sắp xếp và tìm kiếm nhanh thông tin trên bảng dữ liệu

- Sơ đồ quan hệ (Diagram): Thể hiện mối quan hệ dữ liệu giữa các bảng dữ liệu

- Khung nhìn hay bảng dữ liệu ảo (Views): Là đối tượng dùng hiển thị dữ liệu được rút trích, tính toán từ các bảng dữ liệu theo nhu cầu của người dùng

- Thủ tục thường trú (Stored Procedure): Chứa các lệnh T - SQL dùng thực hiện một số tác vụ nào đó Thủ tục thường trú có thể nhận và truyền tham số Thủ tục thường trú được biên dịch trước, do đó thời gian được thực hiện nhanh khi được gọi Có nhiều thủ tục thường trú hệ thống được định nghĩa với tiền tố “sp_” có nhiệm vụ thu thập thông tin từ các bảng dữ liệu hệ thống và rất có ích cho việc quản trị

- Hàm do người dùng định nghĩa (User Defined Function)

- Người dùng (User): Chứa danh sách người dùng sử dụng CSDL Người quản trị hệ thống cao nhất có tên người dùng là dbo, tên đăng nhập hệ thống mặc định là sa Tài khoản sa luôn tồn tại và không thể bỏ đi Để thay đổi mật khẩu của sa, cách nhanh nhất là: Mở trình Query Analyzer (phân tích truy vấn), thực hiện thủ tục hệ thống: EXEC SP_PASSWORD NULL, <NewPass>

- Các qui định vai trò và chức năng người dùng trong hệ thống tại máy chủ (Roles)

- Các qui tắc ràng buộc dữ liệu được lưu trữ trên bảng dữ liệu (Rules)

- Các khai báo giá trị mặc định (Defaults)

- Kiểu dữ liệu cho người dùng tự định nghĩa (User Defined Data Type)

- Tập phân loại dữ liệu văn bản (Full Text Catalogs)

1.6 Các phương pháp nghiên cứu, giải pháp công nghệ được ứng dụng để xây dựng phần mềm

Trang 26

Phương pháp lập trình thủ tục chính là cách thực hiện phương pháp hướng chức năng kể trên Phương pháp thủ tục chia một chương trình (chức năng) lớn thành các khối chức năng hay hàm (thủ tục) đủ nhỏ để dễ lập trình và kiểm tra Mỗi hàm có một điểm bắt đầu và một điểm kết thúc, có dữ liệu và logic riêng Trong một hệ thống chương tình, các biến có các phạm vi nhìn thấy nhất định Trong chương trình, các hàm làm việc độc lập với nhau Dữ liệu được chuyển đổi qua lại thông qua các tham số gọi hàm

Việc chia chương trình thành các hàm cho phép nhiều người có thể tham gia vào việc xây dựng chương trình Mỗi người xây dựng một hoặc một số các hàm độc lập với nhau Phương pháp này dẫn đến một khái niệm mới – sự trừu tượng hóa Sự trừu tượng hóa có thể xem như khả năng quan sát một sự việc mà không cần xem xét đến các chi tiết bên trong của nó Trong một chương trình thủ tục, chúng ta chỉ cần biết một hàm nào đó có thể làm được những công việc cụ thể gì là đủ Còn làm thế nào để thực hiện công việc đó là không quan trọng, chừng nào hàm còn tin cậy được thì còn có thể dùng

nó mà không cần phải biết nó thực hiện đúng đắn chức năng của mình như thế nào Điều này gọi là sự trừu tượng hóa theo chức năng (functional abstraction) (hay còn gọi là sự chuyên môn hóa) và là nền tảng của lập trình thủ tục

1.6.1.2 Các khái niệm

* Trừu tượng

Khái niệm trừu tượng là sự cho phép tập trung vào vấn đề ở mức tổng quát nào

đó, không xét tới các chi tiết mức thấp hơn không liên quan Việc trừu tượng hóa cho phép ta làm việc với khái niệm và thuật ngữ quen thuộc trong môi trường vấn đề mà không phải biến đổi chúng thành một cấu trúc không quen thuộc

Khi xét vấn đề cho việc tìm ra giải pháp module, chúng ta có thể đặt ra nhiều mức độ trừu tượng Tại mức trừu tượng cao nhất: phát biểu bằng ngôn ngữ môi trường của vấn đề Tại mức trừu tượng thấp hơn, thường lấy khuynh hướng thủ tục Tại mức thấp nhất, giải pháp được phát biểu theo cách có thể cài đặt trực tiếp

Trong mỗi bước của tiến trình đều là sự làm mịn cho một mức trừu tượng của giải pháp Khi chuyển qua các mức trừu tượng khác nhau, chúng ta làm việc để tạo ra các trừu tượng thủ tục, trừu tượng dữ liệu và trừu tượng điều khiển

Đại học Kinh tế Huế

Trang 27

* Chương trình con

Một chương trình con (hay được gọi là hàm, thủ tục, hay thủ tục con) là một chuỗi mã để thực thi một thao tác đặc thù nào đó như là một phần của chương trình lớn hơn Đây là các câu lệnh được nhóm vào một khối và được đặt tên và tên này tùy theo ngôn ngữ có thể được gán cho một kiểu dữ liệu Những khối mã này có thể được tập trung lại làm thành các thư viện phần mềm Các chương trình con có thể được gọi ra để thi hành (thường là qua tên của chương trình con đó) Điều này cho phép các chương trình dùng tới những chương trình con nhiều lần mà không cần phải lặp lại các khối mã giống nhau một khi đã hoàn tất việc viết mã cho các chương trình con đó chỉ một lần

* Lập trình cấu trúc

Là một tập hợp con của lập trình thủ tục Trong một chương trình máy tính, các khối chức năng có thể được thực hiện không chỉ theo trình tự mà còn có thể theo các tình huống và lặp lại nhiều lần Phương pháp lập trình cấu trúc được dựa trên các mô hình toán học của Bohm và Guiseppe Theo đó, một chương trình máy tính có thể được viết dựa trên ba cấu trúc: trình tự, quyết định và vòng lặp

- Trình tự nghĩa là các câu lệnh được thực hiện theo trình tự nhất định: trên xuống

- Quyết định là sự quy định sẽ thực hiện chương trình như thế nào phụ thuộc vào

sự thỏa mãn các điều kiện nhất định

- Vòng lặp thể hiện sự thực hiện có tính lặp lại một số đoạn lệnh của chương trình khi các điều kiện nào đó vẫn được thỏa mãn Thông qua các cấu trúc trên, mã chương trình trở nên sáng sủa và dễ đọc

Phương pháp lập trình thủ tục hay lập trình cấu trúc đường đi đối với phương pháp phân tích trên xuống (top – down) Theo phương pháp này, người thiết kế hệ thống chia các chức năng (hàm) chính của hệ thống thành các chức năng nhỏ hơn, đến lượt mình, các chức năng nhỏ này lại được chia tiếp thành các chức năng nhỏ hơn nữa cho đến khi được các khối (hàm) chương trình đủ nhỏ Việc phân tích này được thể hiện trực quan theo sơ đồ khối

Đại học Kinh tế Huế

Trang 28

1.6.2 Sử dụng mô hình 3 lớp trong thiết kế

Mô hình 3 lớp được cấu thành từ: Lớp giao diện (Presentation Layers - PL), lớp logic nghiệp vụ (Business Logic Layers - BLL), và lớp truy cập dữ liệu (Data Access

Layers - DAL) 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 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 người dùng và sử dụng nó mà thôi

sử dụng các dịch vụ do BLL cung cấp Trong NET thì bạn có thể dùng Windows

Forms, ASP NET hay Mobile Forms để hiện thực lớp này

Lưu ý : Lớp này không nên sử dụng trực tiếp các dịch vụ của DAL mà nên sử dụng thông qua các dịch vụ của BLL vì khi bạn sử dụng trực tiếp như vậy, chúng ta có thể bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng dụng cần phải có

Đại học Kinh tế Huế

Trang 29

- Lớp nghiệp vụ logic (BLL)

Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do DAL cung cấp, và cung cấp các dịch vụ cho PL Lớp này cũng có thể sử dụng các dịch

vụ của các nhà cung cấp thứ 3 để thực hiện công việc của mình

- Lớp truy cập dữ liệu (DAL)

Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Oracle,… để thực hiện nhiệm vụ của mình Trong lớp này có các thành phần chính là Data Access Logic, Data Sources, Servive Agents)

* Cách vận hành của mô hình

Đối với mô hình 3 lớp, các yêu cầu được xử lý tuần tự qua các lớp như hình minh họa ở trên Đầu tiên người dùng giao tiếp với DAL để gửi đi thông tin yêu cầu Tại lớp này, các thông tin sẽ được kiểm tra sơ bộ, nếu hợp lệ chúng sẽ được chuyển xuống (BLL) Tại BLL, các thông tin sẽ được nhào nặn, tính toán theo đúng yêu cầu đã gửi, nếu không cần đến CSDL thì BLL sẽ gửi trả kết quả về cho PL, ngược lại nó sẽ đẩy thông tin (dữ liệu đã xử lý) xuống DAL DAL sẽ thao tác với CSDL và trả kết quả về cho BLL, BLL kiểm tra và gửi nó lên giao diện đồ họa người dùng (Graphic User Interface – GUI) để hiển thị cho người dùng Một khi gặp lỗi (các trường hợp không đúng dữ liệu) thì đang ở lớp nào thì trả mã lỗi lên trên lớp cao hơn nó một bậc cho tới lớp GUI thì sẽ thông báo mã lỗi ra cho người dùng biết Thông tin được vận chuyển giữa các lớp thông qua một đối tượng được gọi là Data Transfer Object (DTO), đơn giản đây

chỉ là các lớp đại diện cho các đối tượng được lưu trữ trong CSDL

* Những ưu điểm khi sử dụng mô hình 3 lớp

Trước hết phải nói rằng việc tổ chức dự án phần mềm dưới dạng mô hình 3 lớp

sẽ giúp cho dự án có cấu trúc sáng sủa, rõ ràng, dễ dùng lại Từ đó việc phát triển và bảo trì hệ thống sẽ thuận lợi hơn Điều này giúp chúng ta tiết kiệm nhiều thời gian hơn khi

mở rộng chương trình trong tương lai Khi dự án thay đổi hệ quản trị cơ sở dữ liệu hoặc chuyển ứng dụng từ dạng webform sang dạng winform thì chúng ta chỉ tốn ít thời gian

Đại học Kinh tế Huế

Trang 30

để thay đổi trên lớp DAL hoặc GUI mà thôi, giữ nguyên hai lớp còn lại mà không cần

phải thay đổi toàn bộ dự án

Một điều cũng vô cùng quan trọng đối với người lập trình viên đó là việc xử lý và bẫy các lỗi thời gian chạy Mô hình 3 lớp hỗ trợ cho người lập trình xác định loại lỗi xuất hiện tại lớp nào và dễ dàng đưa ra cách xử lý chúng ở từng lớp cụ thể

Ngoài ra, mô hình này 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 Việc phân ứng dụng ra thành 3 lớp cũng thuận lợi cho việc phân chia nhiệm vụ của các lập trình viên theo các lớp khác nhau

Đại học Kinh tế Huế

Trang 31

CHƯƠNG 2: BÀI TOÁN QUẢN LÝ BÁN HÀNG

TẠI ĐẠI LÝ XE MÁY 2.1 Mô tả bài toán

Để nâng cao hiệu quả quản lý, đại lý bán xe máy muốn quản lý công việc của mình bằng phần mềm thay vì phải làm thủ công Phần mềm được xây dựng nhằm tin học hóa các quy trình quản lý tại cửa hàng Các quy trình quản lý cần tin học hóa bao gồm:

* Quy trình quản lý công nợ:

Đại lý xe máy quản lý công nợ theo định kỳ hàng tháng, hàng năm hoặc khi có yêu cầu để theo dõi công nợ phải thu của khách hàng cũng như công nợ phải trả cho nhà cung cấp Việc quản lý công nợ được thực hiện trên cơ sở thông tin từ Hóa đơn, Phiếu nhập mua, Phiếu xuất kho, Phiếu thu, Phiếu chi Công nợ phải thu và công nợ phải trả được tính theo công thức sau:

Công nợ phải thu = Công nợ đầu kỳ + Phát sinh trong kỳ - Lượng đã thu

Công nợ phải trả = Công nợ đầu kỳ + Phát sinh trong kỳ - Lượng đã trả

Phiếu nhập mua được lập đối với mỗi lần nhập từ một nhà cung cấp khác nhau Thông tin trên Phiếu nhập mua bao gồm: Số chứng từ, ngày chứng từ, nhà cung cấp, mã linh kiện, số lượng, mã kho, đơn vị tính, số lượng, đơn giá, thành tiền

Sau khi lập phiếu nhập mua, đại lý tiến hành trả tiền cho nhà cung cấp Lúc đó, một phiếu chi được lập bao gồm các thông tin: ngày lập phiếu, số tiền chi để trả cho nhà cung cấp, mô tả Phiếu chi này được quản lý để làm căn cứ thống kê công nợ của đại lý đối với nhà cung cấp

Đại học Kinh tế Huế

Trang 32

Đại lý quản lý thông tin linh kiện bao gồm: mã linh kiện, mã khác, mã thay đổi, tên linh kiện, tên tiếng anh, mẫu linh kiện, mã màu, mã tem, tên màu, tiêu chuẩn đóng gói

Linh kiện nhập về có 2 trạng thái: là linh kiện có định mức và linh kiện không có định mức Đối với loại linh kiện có định mức, cửa hàng sẽ tiến hành lưu giữ định mức của linh kiện đó Thông tin định mức linh kiện bao gồm: mã bộ linh kiện, mã linh kiện chi tiết, số lượng linh kiện chi tiết, giá trị linh kiện chi tiết (nếu có)

Đại lý có nhiều kho hàng, của hàng tiến hành lưu giữ thông tin của kho bao gồm:

mã kho, tên kho, tên khác

Ngoài ra, đại lý còn quản lý tồn kho đối với từng loại linh kiện khác nhau Công thức tính tồn kho như sau: Tồn kho = Tồn kho đầu kỳ + Số lượng nhập – Số lượng xuất

* Quy trình bán hàng:

Các đối tượng giao dịch chính của cửa hàng bao gồm khách hàng và nhà cung cấp Cửa hàng lưu giữ thông tin của đối tượng bao gồm: mã đối tượng, tên đối tượng,

số điện thoại, địa chỉ

Khi khách hàng đến mua hàng, sau khi chọn được sản phẩm cần mua, khách hàng tiến hành các thủ tục mua hàng, một hóa đơn được lập để giao cho khách hàng, thông tin trong hóa đơn bao gồm: mã chứng từ, ngày chứng từ, mã linh kiện, mã kho, đơn vị tính, số lượng, đơn giá, thành tiền

Sau khi khách hàng nhận hàng và tiền hành trả tiền hàng, một phiếu thu được lập, bao gồm các thông tin: ngày lập phiếu, số tiền đã thu của khách hàng, mô tả Phiếu này được quản lý để làm căn cứ để thống kê công nợ của khách hàng đối với đại lý

Bên cạnh đó, của hàng tiến hành xuất kho, một phiếu xuất kho được lập Thông tin trên phiếu xuất kho bao gồm: số chứng từ, ngày chứng từ, mã đối tượng người đại diện, địa chỉ, mã tiền tệ, mã linh kiện, mã kho, đơn vị tính, số lượng, đơn giá, thành tiền

Bảng giá được cửa hàng quản lý để báo giá cho khách hàng biết, thông tin trên bảng giá bao gồm: mã chứng từ, số hiệu bảng giá, ngày chứng từ, mã linh kiện, giá bán đại lý cấp 1, giá bán lẻ, ngày áp dụng

Đại học Kinh tế Huế

Trang 33

* Thống kê:

Việc thống kê theo định kỳ hoặc khi có yêu cầu thống kê bao gồm: thống kê công

nợ, thống kê tồn kho và thống kê doanh thu Chủ cửa hàng dựa vào các bản thống kê để theo dõi tình hình công nợ của khách hàng đối với cửa hàng, cũng như của cửa hàng đối với nhà cung cấp và để theo dõi tình hình kinh doanh của cửa hàng

2.2 Xác định yêu cầu

Phần mềm quản lý bán hàng cho phép quản lý thông tin của khách hàng, nhà cung cấp, linh kiện, định mức linh kiện, bảng giá Có thể cập nhật các thông tin của khách hàng, nhà cung cấp, linh kiện, định mức linh kiện Nhập tập tin từ excel theo mẫu,

in ấn, tải về dạng tập tin excel danh sách

Khi khách hàng mua hàng, khách hàng sẽ nhận được hóa đơn từ đại lý, bao gồm toàn bộ thông tin về linh kiện đã mua, số lượng, đơn giá, thành tiền Phiếu thu được lập

để ghi nhận số tiền thực trả của khách hàng, nhằm quản lý công nợ của khách hàng đối với đại lý Nếu có sai sót, khách hàng thông báo với nhân viên của đại lý để điều chỉnh lại thông tin

Tương tự, khi đại lý nhập hàng từ nhà cung cấp, đại lý tiến hành lập phiếu nhập mua bao gồm toàn bộ thông tin về linh kiện đã nhập, số lượng, đơn giá, thành tiền Đồng thời lập phiếu chi để ghi nhận số tiền đã trả cho nhà cung cấp, nhằm quản lý công nợ của đại lý đối với nhà cung cấp

Đối với khách hàng lần đầu mua hàng tại đại lý, hoặc nhà cung cấp mới của đại

lý, nhân viên tiến hành thêm mới khách hàng và nhà cung cấp vào danh sách đối tượng

Phần mềm còn cho phép cập nhật thông tin bảng giá khi có sự thay đổi về giá của các linh kiện

Phần mềm còn hỗ trợ xem thống kê về công nợ đầu kỳ của đại lý đối với nhà cung cấp cũng như của khách hàng đối với đại lý và thống kê doanh thu thông qua tính toán và hiển thị dưới dạng biểu đồ Cuối cùng phần mềm còn cho phép in ra các mẫu chứng từ theo chuẩn của bộ tài chính như: phiếu thu, phiếu chi, hóa đơn GTGT

Đại học Kinh tế Huế

Trang 34

CHƯƠNG 3: XÂY DỰNG PHẦN MỀM QUẢN LÝ BÁN HÀNG

TẠI ĐẠI LÝ XE MÁY 3.1 Phân tích hệ thống Quản lý bán hàng tại đại lý xe máy

3.1.1 Phân tích yêu cầu

Phân tích hệ thống là việc xác định xem chức năng nghiệp vụ của hệ thống là gì Trong giai đoạn này bao gồm việc nghiên cứu hệ thống hiện thời, tìm ra nguyên lý hoạt động của nó và những vị trí mà nó có thể được nâng cao, cải thiện Bên cạnh đó là việc nghiên cứu xem xét các chức năng mà hệ thống cần cung cấp và các mối quan hệ của chúng, bên trong cũng như phía bên ngoài hệ thống

Mục đích: Xác định một cách chính xác và cụ thể các chức năng chính của hệ thống thông tin Trong giai đoạn này cần phải xác định rõ ràng những gì mà hệ thống cần phải thực hiện phân tích phải đề cập đến những mô tả cơ sở, các mô tả này sẽ được trình bày rõ trong một tài liệu gửi cho người sử dụng phê chuẩn trước khi tiến hành những công việc tiếp theo

Trang 35

3.1.1.5 Quản lý công nợ - tồn kho đầu kỳ

Chức năng này có nhiệm vụ quản lý công tồn kho đầu kỳ, công nợ đầu kỳ của khách hàng và nhà cung cấp

3.1.1.6 Thống kê báo cáo

Chức năng này có nhiệm vụ thống kê công nợ đầu kỳ, tồn kho đầu kỳ và thống kê doanh thu

3.1.2 Sơ đồ chức năng (BFD – Business Function Diagram)

Xác định chức năng nghiệp vụ là bước đầu tiên của việc phân tích hệ thống Để phân tích yêu cầu thông tin của tổ chức thì cần phải biết được tổ chức đó thực hiện những chức năng, nhiệm vụ gì Từ đó, tìm ra các thông tin, các dữ liệu được sử dụng và tạo ra trong các chức năng Đồng thời cũng phải tìm ra những hạn chế, mối ràng buộc đặt lên các chức năng đó

Qua khảo sát quy trình hoạt động, nghiên cứu các nghiệp vụ của hệ thống hiện tại, tác giả đưa ra sơ đồ chức năng của phần mềm với 6 chức năng sau:

Hình 3.1 Sơ đồ chức năng Quản lý bán hàng tại đại lý xe máy

Đại học Kinh tế Huế

Trang 36

Hình 3.2 Sơ đồ chức năng Quản lý hệ thống

Hình 3.3 Sơ đồ chức năng Quản lý danh mục

Hình 3.4 Sơ đồ chức năng Quản lý Bán hàng

Đại học Kinh tế Huế

Trang 37

Hình 3.5 Sơ đồ chức năng Quản lý Kho

Hình 3.6 Sơ đồ chức năng Thống kê

3.1.3 Sơ đồ ngữ cảnh (Context Diagram)

Sơ đồ ngữ cảnh thể hiện khái quát nội dung chính của hệ thống thông tin Sơ đồ chỉ bao gồm một xử lý chung nhất nêu bật chức năng của hệ thống thông tin Xung quanh là các thực thể ngoài, chỉ nguồn phát và đích nhận thông tin cùng với các dòng thông tin đi vào và đi ra hệ thống thông tin Sơ đồ ngữ cảnh là sơ đồ hình học được xây dựng theo điểm công tác nào đó dùng để làm rõ mối quan hệ thông tin giữa các điểm công tác của hệ thống Điểm trung tâm là điểm đang xét, các điểm công tác khác có liên

hệ thông tin với điểm trung tâm sẽ được mô tả bằng mũi tên và ghi chú kèm theo Sơ đồ ngữ cảnh có 2 tác nhân chính là:

Đại học Kinh tế Huế

Trang 38

- Tác nhân bên ngoài (Extenal entity) là một người, một nhóm người hoặc một tổ chức bên ngoài lĩnh vực nghiên cứu của hệ thống nhưng có một số hình thức tiếp xúc với hệ thống Chúng là nguồn gốc cung cấp thông tin cho hệ thống và là nơi nhận các sản phẩm của hệ thống Kí hiệu là hình chữ nhật

- Tác nhân bên trong (Intenal entity) là chức năng hoặc xử lý bên trong hệ thống được mô tả ở trang khác của mô hình Kí hiệu là hình tròn

Dựa vào mô tả bài toán cùng với sơ đồ tổ chức và sơ đồ chức năng có thể phân tích để thu được sơ đồ ngữ cảnh của bài toán như sau:

Hình 3.7 Sơ đồ ngữ cảnh hệ thống quản lý bán hàng tại đại lý xe máy

3.1.4 Sơ đồ luồng dữ liệu (DFD – Data Flow Diagram)

Từ sơ đồ chức năng BFD và sơ đồ ngữ cảnh cùng với các luồng thông tin trong

hệ thống, tác giả mô hình hóa thành mô hình DFD như sau:

Đại học Kinh tế Huế

Ngày đăng: 18/02/2021, 22:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w