Tải bản đầy đủ (.pdf) (61 trang)

Xây dựng phần mềm quản lý bán hàng cho công ty trách nhiệm hữu hạn sản xuất thương mại và dịch vụ ngọc thảo

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 (902.19 KB, 61 trang )

MỤC LỤC
MỤC LỤC .............................................................................................................................i
DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT ............................................................v
DANH MỤC HÌNH ẢNH, SƠ ĐỒ, BIỂU ĐỒ...................................................................vi
DANH MỤC BẢNG BIỂU.............................................................................................. viii

uế

PHẦN MỞ ĐẦU ..................................................................................................................1
1. Lý do chọn đề tài ..................................................................................................... 1

H

2. Mục tiêu nghiên cứu ................................................................................................ 2
3. Đối tượng, phạm vi nghiên cứu................................................................................ 2

tế

4. Phương pháp nghiên cứu ......................................................................................... 3
5. Dự kiến kết quả đạt được ......................................................................................... 3

h

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

in

NỘI DUNG NGHIÊN CỨU ...............................................................................................5

K


CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG...........................................................5
1.1 Tổng quan về hệ thống thông tin quản lý ........................................................... 5

họ
c

1.1.1. Khái niệm về hệ thống và hệ thống thông tin quản lý ............................................5
1.1.1.1. Hệ thống và hệ thống quản lý ...............................................................................5
1.1.1.2. Hệ thống thông tin quản lý ....................................................................................5

ại

1.1.1.3. Các loại thông tin quản lý......................................................................................6

Đ

1.1.2. Cấu trúc hệ thống thông tin quản lý.........................................................................6
1.1.3. Quy trình phát triển hệ thống thông tin quản lý ......................................................7
1.1.3.1. Khái niệm về quy trình phát triển hệ thống thông tin quản lý ............................7
1.1.3.2. Giới thiệu về mô hình thác nước...........................................................................7
1.2. Hệ quản trị cơ sở dữ liệu SQL Server................................................................ 9
1.2.1. Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL – Structure Query Language) .............9
1.2.1.1. Khái niệm về SQL ...................................................................................................9

i


1.2.1.2. Đặc điểm của SQL.................................................................................................10
1.2.1.3. Vai trò của SQL.....................................................................................................10
1.2.2. Microsoft SQL Server ..............................................................................................11

1.2.2.1. Tổng quan về Microsoft SQL Server ....................................................................11
1.2.2.2. Thành phần của Microsoft SQL Server.................................................................11
1.3. Tổng quan về nền tảng lập trình .NET Framework........................................ 12

uế

1.3.1. Giới thiệu về .NET Framework ................................................................................12

H

1.3.2. Các tính năng của .NET Framework 4.0 ..................................................................13
1.4. Ngôn ngữ lập trình C# ...................................................................................... 15

tế

1.4.1 Giới thiệt ngôn ngữ lập trình C# ...............................................................................15
1.4.2. Mô hình ba lớp .........................................................................................................17

h

1.4.2.1. Presentation Layer (Lớp giao tiếp người dùng) ....................................................17

in

1.4.2.2. Bussiness Logic Layer (Lớp xử lý chính dữ liệu) .................................................18

K

1.4.2.3. Data Access Layer (Lớp thao tác trực tiếp với cơ sở dữ liệu)...............................18
1.4.2.4. Quy trình hoạt động...............................................................................................18


họ
c

1.4.3. Tổng quan về lập trình hướng chức năng.................................................................20
1.4.3.1. Giới thiệu ...............................................................................................................20
1.4.3.2. Các khái niệm ........................................................................................................20

ại

CHƯƠNG 2: BÀI TOÁN QUẢN LÝ HOẠT ĐỘNG BÁN HÀNG TẠI CÔNG TY

Đ

TNHH SX TM & DV NGỌC THẢO ...............................................................................23
2.1. Tổng quan về Công ty Ngọc Thảo .................................................................... 23
2.1.1. Thông tin tổng quan về Công ty.............................................................................23
2.1.2. Cơ cấu tổ chức của Công ty Ngọc Thảo ................................................................24
2.1.3. Nhiệm vụ của các bộ phận........................................................................................24
2.1.4. Tình hình hoạt động sản xuất kinh doanh ................................................................25
2.1.5. Tình hình ứng dụng công nghệ thông tin của công ty..............................................26

ii


2.2. Quy trình hoạt động quản lý bán hàng của Công ty ...................................... 27
CHƯƠNG 3 : XÂY DỰNG PHẦN MỀM QUẢN LÝ BÁN HÀNG CHO CÔNG TY
TNHH SX TM & DV NGỌC THẢO ...............................................................................29
3.1. Phân tích hệ thống Quản lý bán hàng Công ty TNHH SX TM & DV
Ngọc Thảo ............................................................................................................... 29

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

uế

3.1.1.1. Quản lý hệ thống ..................................................................................................29

H

3.1.1.2. Quản lý thông tin các đối tượng..........................................................................30
3.1.1.3. Quản lý xuất nhập..................................................................................................30

tế

3.1.1.4. Tìm kiếm ................................................................................................................30
3.1.1.5. Báo cáo, thống kê ...................................................................................................30

h

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

in

3.1.3. Sơ đồ ngữ cảnh(CD- Context Diagram) ................................................................33

K

3.1.4. Sơ đồ luồng dữ liệu(DFD- Data Flow Diagram)...................................................34
3.1.4.1. Sơ đồ phân rã mức 0 ............................................................................................35

họ

c

3.1.4.2. Sơ đồ phân ra mức 1 cho chức năng 1.0.............................................................36
3.1.4.3. Sơ đồ luồng dữ liệu mức 1 cho chức năng 2.0 ......................................................36
3.1.4.4. Sơ đồ luồng dữ liệu mức 1 cho chức năng 3.0 ......................................................37

ại

3.1.4.5. Sơ đồ luồng dữ liệu mức 1 cho chức năng 4.0 ......................................................37

Đ

3.1.4.6. Sơ đồ luồng dữ liệu mức 1 cho chức năng 4.0 ......................................................38
3.1.5. Sơ đồ luồng thông tin(IFD- Information Flow Diagram).....................................39
3.1.5.1. Sơ đồ luồng thông tin nhập kho ..........................................................................39
3.1.5.2 Sơ đồ luồng thông tin bán hàng ...........................................................................39
3.2. Thiết kế cơ sở dữ liệu........................................................................................ 40
3.2.1. Sơ đồ thực thể mối quan hệ (ERD – Entity Relationship Diagram) ........................41
3.2.2. Chuyển các mối quan hệ thành lược đồ quan hệ...................................................41

iii


3.2.3. Chuẩn hóa cơ sở dữ liệu ...........................................................................................42
3.3. Thiết kế thuật toán............................................................................................ 46
3.3.1. Kí hiệu sử dụng.........................................................................................................46
3.3.2. Một số giải thuật trong chương trình........................................................................47
3.3.2.1. Giải thuật đăng nhập..............................................................................................47
3.3.2.2. Giải thuật cập nhật dữ liệu.....................................................................................47


uế

3.3.2.3. Giải thuật xóa dữ liệu ............................................................................................48

H

3.3.2.4. Giải thuật nhập kho ...............................................................................................48
3.3.2.5. Giải thuật bán hàng................................................................................................49

tế

3.4. Thiết kế giao diện.............................................................................................. 49
PHẦN KẾT LUẬN ............................................................................................................51

Đ

ại

họ
c

K

in

h

TÀI LIỆU THAM KHẢO ..................................................................................................53

iv



DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT

Ký hiệu
(viết tắt)

Diễn giải
Business Logic Layers (lớp logic nghiệp vụ)

DAL

Data Access Layers (lớp truy cập dữ liệu)

uế

BLL

Nhà cung cấp

SQL

Structured Query Language (ngôn ngữ truy vấn có cấu trúc)
Sản xuất
Sản xuất kinh doanh

TNHH

Trách nhiệm hữu hạn


in

Thương mại và dịch vụ

Đ

ại

họ
c

K

TM & DV

h

SXKD

tế

SX

H

NCC

v



DANH MỤC HÌNH ẢNH, SƠ ĐỒ, BIỂU ĐỒ
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 .........................................................................13
Hình 2.1. Sơ đồ tổ chức Công ty TNHH SX TM & DV Ngọc Thảo .............................24

uế

Hình 3.1. Sơ đồ chức năng Quản lý bán hàng tại công ty Ngọc Thảo ...............................31
Hình 3.2. Sơ đồ chức năng Quản lý hệ thống.....................................................................31

H

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

tế

Hình 3.4. Sơ đồ chức năng Quản lý xuất nhập...................................................................32
Hình 3.5. Sơ đồ chức năng Tìm kiếm.................................................................................33

h

Hình 3.6. Sơ đồ chức năng Báo cáo thống kê ....................................................................33

in

Hình 3.7. Sơ đồ ngữ cảnh hệ thống quản lý bán hàng tại Công ty Ngọc Thảo..................34

K


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

họ
c

Hình 3.10. Sơ đồ luồng dữ liệu mức 1 cho chức năng 2.0 .................................................36
Hình 3.11. Sơ đồ luồng dữ liệu mức 1 cho chức năng 3.0 .................................................37
Hình 3.12. Sơ đồ luồng dữ liệu mức 1 cho chức năng 4.0 .................................................37

ại

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

Đ

Hình 3.14. Sơ đồ luồng thông tin nhập kho......................................................................39
Hình 3.15. Sơ đồ luồng thông tin bán hàng ......................................................................39
Hình 3.16. Sơ đồ thực thể mối quan hệ ..............................................................................41
Hình 3.17. Lược đồ cơ sở dữ liệu.......................................................................................46
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................................................................................47

vi


Hình 3.20. Giải thuật xóa dữ liệu .......................................................................................48
Hình 3.21. Giải thuật nhập kho ..........................................................................................48
Hình 3.22. Giải thuật bán hàng...........................................................................................49
Hình 3.23. Giao diện trang chủ ..........................................................................................49

Hình 3.24. Giao diện thống kê tồn kho ..............................................................................50

Đ

ại

họ
c

K

in

h

tế

H

uế

Hình 3.25. Giao diện thống kê khách hàng ........................................................................50

vii


DANH MỤC BẢNG BIỂU
Trang

Bảng 3.1. Cấu trúc dữ liệu bảng HoaDonBan ....................................................................42

Bảng 3.2. Cấu trúc dữ liệu bảng ChiTietHoaDonBan........................................................43

uế

Bảng 3.3. Cấu trúc dữ liệu bảng HoaDonNhap..................................................................43
Bảng 3.4. Cấu trúc dữ liệu bảng ChiTietHoaDonNhap .....................................................43

H

Bảng 3.5. Cấu trúc dữ liệu bảng KhachHang .....................................................................43
Bảng 3.6. Cấu trúc dữ liệu bảng LoaiHang ........................................................................44

tế

Bảng 3.7. Cấu trúc dữ liệu bảng MatHang .........................................................................44

h

Bảng 3.8. Cấu trúc dữ liệu bảng NhaCungCap ..................................................................44

in

Bảng 3.9. Cấu trúc dữ liệu bảng NhanVien........................................................................45

K

Bảng 3.10. Cấu trúc dữ liệu bảng DangNhap.....................................................................45

Đ


ại

họ
c

Bảng 3.11. Bảng kí hiệu sơ đồ thuật toán...........................................................................46

viii


PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Trong những năm gần đây, khoa học công nghệ Việt Nam đã từng bước hội nhập
vào dòng chảy của khoa học và công nghệ tiên tiến trên thế giới. Công nghệ thông tin ở
nước ta tuy mới, song tốc độ phát triển của nó rất nhanh và mạnh, đã chiếm một vị trí
quan trọng trong các ngành khoa học công nghệ, len lỏi vào tất cả các khía cạnh trong

uế

đời sống xã hội cũng như trong công tác tổ chức, sản xuất quản lý.

H

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

tế

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 của mình.


h

Hiện nay, các công ty làm về các mảng sản xuất, buôn bán và dịch vụ có quy mô

in

ngày càng lớn. Với nhiều khâu, trải qua nhiều công đoạn. Lượng hàng hóa thì sản xuất

K

và bán ra ngày càng nhiều. Số lượng khách hàng ngày càng tăng và thay đổi liên tục.
Với sự phát triển về quy mô của công ty qua các năm thì công tác quản lý ngày càng

họ
c

trở nên phức tạp. Vì vậy, việc áp dụng công nghệ thông tin vào công việc quản lý đang
trở thành một nhu cầu thiết yếu và sống còn đối với mỗi công ty.
Với việc có nhiều hơn một cơ sở, mỗi lần bán hàng phải viết lại một hóa đơn và

ại

lưu trữ chúng. Nếu muốn tìm lại những hóa đơn đó thì cần phải mất nhiều thời gian mà
có khi còn không tìm được đúng hóa đơn đó.

Đ

Việc thống kê báo cáo hàng tháng, hàng năm sẽ gặp rất nhiều khó khăn vì lượng


hóa đơn bán tăng quá nhiều. Nếu hàng ngày cứ lặp đi lặp lại nhiều lần như vậy thì
người quản lý sẽ gặp rất nhiều khó khăn trong công tác lưu trữ và quản lý.
Quản lý bán hàng là một vấn đề mà bất cứ công ty bán hàng nào cũng phải quan
tâm và phát triển nó hoàn thiện, tương thích với việc bán hàng của mình. Chúng ta luôn
thấy có những sai sót trong bán hàng, nhập hàng hay là những thông tin về khách hàng,

1


nhà cung cấp... Vì vậy yêu cầu đặt ra ở đây là làm thế nào cho việc bán hàng trở nên
hiệu quả nhất, giúp cho việc quản lý dễ dàng.
Tại Công ty TNHH SX TM & DV Ngọc Thảo, các quy trình quản lý bán hàng
hay quy trình kế toán vẫn đang rất thủ công và giám đốc công ty cũng như các nhân
viên bán hàng rất mong muốn có một phần mềm để nhằm giảm sức lao động của nhân
viên, giúp công tác quản lý nhanh chóng và nâng cao hiệu quả kinh doanh của công ty.

uế

Chính vì các lý do trên mà em đã quyết định chọn đề tài “Xây dựng phần mềm quản lý
bán hàng cho Công ty Trách nhiệm hữu hạn Sản xuất Thương mại và Dịch vụ Ngọc

H

Thảo” để nghiên cứu trong quá trình thực tập này.

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

tế

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


Phân tích các nghiệp vụ quản lý và hoạt động kinh doanh của công ty Ngọc Thảo

h

nhằm tìm hiểu nhu cầu trao đổi thông tin, hoạt động kinh doanh của Công ty. Trên cơ sở

in

đó tiến hành xây dựng phần mềm quản lý bán hàng nhằm tin học hóa công tác quản lý của

* Mục tiêu cụ thể

K

Công ty một cách kịp thời và nhanh chóng.

họ
c

- Nghiên cứu và nắm vững quy trình bán hàng, nhập hàng, quản lý thông tin.
- 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:
C Sharp, MS SQL Server 2012, ADO.NET.

ại

- Nắm vững cơ sở lý thuyết 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ý hoạt động bán hàng cho công ty Ngọc Thảo.

3. Đối tượng, phạm vi nghiên cứu
* Đối tượng nghiên cứu:
- Cơ chế, cách thức hoạt động của các nghiệp vụ bán hàng, quản lý thông tin, nhập
hàng tại Công ty Ngọc Thảo.
- Các công cụ, nền tảng lập trình để xây dựng hệ thống: ADO.NET, C Sharp, MS
SQL Server 2012.
- Quy trình xây dựng, phát triển hệ thống thông tin quản lý.

2


* Phạm vi nghiên cứu:
- Không gian: Hệ thống được xây dựng dựa trên việc khảo sát thực tế tại Công ty
Ngọc Thảo.
- Thời gian: 18/01/2016 – 15/5/2016.
4. Phương pháp nghiên cứu
Để nghiên cứu và xây dựng phần mềm quản lý phù hợp với yêu cầu thực tế hiện

uế

nay ở Công ty Ngọc Thảo, đề tài đã sử dụng các phương pháp sau:
- Phương pháp thu thập thông tin:

H

+ Phương pháp quan sát trực tiếp: Trực tiếp quan sát tại công ty

tế


+ Phương pháp thu thập tài liệu: Thông qua các nguồn thu thập tài liệu như sách
báo, mạng internet, tổng hợp các tài liệu, ngôn ngữ và công nghệ liên quan giúp nắm

h

vững quy định quản lý kinh doanh ở Công ty, từ đó xây dựng hệ thống hoàn thiện hơn.

in

+ Phương pháp phỏng vấn: Hỏi đáp nhân viên đang sử dụng phần mềm hiện tại,
nhu cầu và mong muốn của các nhân viên trong việc quản lý nhằm khắc phục và nâng

K

cao hiệu quả hơn trong quá trình quản lý.

- 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

họ
c

trình, nghiệp vụ quản lý hoạt động kinh doanh tại Công ty.
- Phương pháp phát triển hệ thống thông tin: Dựa trên những thông tin đã thu
thập tiến hành phân tích, thiết kế hệ thống bao gồm các chức năng chính của phần

ại

mềm sẽ xây dựng, 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 yêu cầu.

5. Dự kiến kết quả đạt được
- Nắm vững các quy trình nghiệp vụ bán hàng.
- Hiểu rõ các thông tin về hóa đơn nhập, xuất.
- 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 và phát triển hệ thống thông tin.
- Phần mềm Quản lý bán hàng cho Công ty Ngọc Thảo.

3


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ề xây dựng phần mềm quản lý bán hàng
Chương 2: Bài toán quản lý hoạt động bán hàng tại Công ty TNHH SX TM & DV
Ngọc Thảo.

uế

Chương 3: Xây dựng phần mềm quản lý bán hàng cho Công ty TNHH SX TM

Đ

ại

họ

c

K

in

h

tế

H

& DV Ngọc Thảo.

4


NỘI DUNG NGHIÊN CỨU
CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG
PHẦN MỀM QUẢN LÝ BÁN HÀNG

uế

1.1 Tổng quan về hệ thống thông tin quản lý
1.1.1. Khái niệm về hệ thống và hệ thống thông tin quản lý

H

1.1.1.1. Hệ thống và hệ thống quản lý


tế

Hệ thống là tập hợp các phần tử tương tác được tổ chức nhằm thực hiện một
mục đích xác định. Các phần tử ở đây là tập hợp các phương tiện vật chất và nhân lực.

h

Tổ chức tạo thành một hệ thống mở, nghĩa là liên hệ với một môi trường. Một số phần

in

tử của hệ thống có sự tương tác với bên ngoài (cung ứng, thương mại, v.v…).

K

Đặc điểm cơ bản của hệ thống là tính tự động. Hệ thống quản lý là một hệ thống
có mục đích mang lại lợi nhuận hoặc lợi ích nào đó. Đặc điểm của hệ thống là có sự

họ
c

tham gia của con người và có trao đổi thông tin.
1.1.1.2. Hệ thống thông tin quản lý
Hệ thống thông tin quản lý là hệ thống cung cấp thông tin cho công tác quản lý

ại

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 và 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.

5


1.1.1.3. 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 sang 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.

H

phục vụ cho nhà quản lý phòng ban trong tổ chức.

uế

* 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
* 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à

tế


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

h

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

in

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ỗ

K

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ổ

họ
c

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,

ại

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.

6


1.1.3. Quy trình phát triển hệ thống thông tin quản lý
1.1.3.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:

uế

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

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

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

tế

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


H

- 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

h

Để xây dựng phần mềm, khóa luận này lựa chọn áp dụng mô hình thác nước. Mô

in

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

K

đó 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ự

Đ

ại

họ
c

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) -

7



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 một phần
mềm:
Bước 1: Khảo sát tìm hiểu yêu cầu

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ả bên ngoài của hệ

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.

tế

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 một phần

in

h

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à


K

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

họ
c

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

theo.

ại

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

Đ

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.

8



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.
Bước 5: Thử nghiệm tổng quát phần mềm

uế

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.

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

H

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ó

tế

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

h

các tiêu chuẩn thiết kế.

in


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

K

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

họ
c

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.

ại

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

Đ

1.2.1. Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL – Structure Query Language)
1.2.1.1. Khái niệm về SQL
SQL (Structure Query Language) 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#…

9



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.2.1.2. Đặc điểm của SQL

uế

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

H

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.

tế

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

in

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

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 nhất quán và sự ràng buộc của cơ sở dữ liệu.
: Integer, number (n,p), varchar(n), char(n), nvarchar(n), data, …

1.2.1.3. Vai trò của SQL

K

-

họ
c

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:

ại

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


10


- 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ệ

1.2.2. Microsoft SQL Server
1.2.2.1. Tổng quan về Microsoft SQL Server

uế

thống máy tính có nhiều hệ quản trị cơ sở dữ liệu khác nhau.

H

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.

tế

SQL server sử dụng ngôn ngữ lập trình và truy vấn CSDL Transact - SQL, một

h

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ệ


in

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ó

K

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

họ
c

1.2.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ó một hay nhiều trường. Mỗi trường ứng với một
loại dữ liệu cần lưu trữ.

ại

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

Đ

- Ràng buộc - Constraint: 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.

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

11


- 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

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

- 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ị

tế

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à:

in


h

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

K

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

họ
c

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

ại

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

Đ

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
.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng

dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft. Các
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ới mô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 ảo trong đó cung cấp

12


các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory management), 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ối cơ
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.

uế

.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

H

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

tế

ứng dụng .NET, và IDE (Integrated Developement Environment – Môi trường phát triển

ại

họ
c


K

in

h

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 -

1.3.2. Các tính năng của .NET Framework 4.0
* Quản lý bộ nhớ:
Trong ứng dụng .NET Framework, CLR cung cấp các dịch vụ thay mặt cho các
ứng dụng. Nó giúp quản lý chặt chẽ bộ nhớ máy tính, kiểm tra và trả về các thông báo

13


như cài đặt ứng dụng mới, xóa ứng dụng cũ, dung lượng của các ổ đĩa có liên quan trong
hệ thống.
* Thư viện lập trình lớn:
Đây là nơi lưu trữ một lượng khá lớn các mã để xử lý các hoạt động ở mức độ thấp
thông thường để sử dụng khi cần thiết thay vì phải viết một lượng lớn các mã thông
thường. Nó cho phép bạn thiết lập kết nối cơ sở dữ liệu, truy cập Web, thực hiện các giải

uế


thuật, cấu trúc dữ liệu, giao tiếp thông qua mạng và nhiều tính năng khác nữa.

H

* Tạo nguồn phát triển công nghệ:

.NET Framework bao gồm các thư viện cho các khu vực cụ thể phát triển ứng

tế

dụng 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ụ.

h

* Ngôn ngữ có khả năng tương tác lớn:

in

Với tính năng này, thói quen viết bằng một ngôn ngữ có thể truy cập vào các ngôn

K

ngữ khác, và các lập trình viên có thể tập trung vào việc tạo ra các ứng dụng trong ngôn
ngữ hoặc ngôn ngữ ưa thích của họ.

họ
c

* Cung cấp môi trường lập trình phù hợp:

Chương trình được thiết kế giúp cung cấp môi trường lập trình hướng đối tượng
đối với các mã phù hợp, cung cấp môi trường mã nhằm thúc đẩy thực thi an toàn.

ại

* Chỉ thực hiện tắt khi lập trình và tự động tắt:

Đ

.NET Framework 4.0 sẽ tự động hoạt động khi bạn thực hiện những công việc liên

quan đến việc thiết kế Web, sử dụng những ngôn ngữ lập trình như Visual Basic, C#....
Chương trình sẽ tự động tắt ngay khi công việc của bạn kết thúc.
* Tự động nâng cấp phiên bản mới:
Một thông báo sẽ được hiển thị ngay khi nhà sản xuất đưa ra thị trường phiên bản
mới nhất, bạn có thể dựa theo những thông tin này để tải về máy phiên bản mới nhất để sử
dụng những tính năng mới mà nhà sản xuất cung cấp. Bạn sẽ không phải mất công lên

14


mạng tìm kiếm những phiên bản mới mà có thể download ngay lập tức nhờ việc click
chuột vào thông báo này.
* Hỗ trợ nhiều loại ngôn ngữ khác nhau:
Với việc liên tục cập nhật những phiên bản mới nhất giúp người dùng lựa chọn sử
dụng loại ngôn ngữ nào phù hợp nhất với mình. Chương trình cung cấp các loại ngôn ngữ
khác nhau như Anh, Pháp, Đức, Ý, Nhật, Tây Ban Nha, Hy Lạp. Ngoài ra, sau khi cài đặt,

uế


chương trình cũng được mặc định mở bằng giao diện Tiếng Anh.

H

* Tương thích với hệ điều hành của Windows:

Microsoft .NET Framework 4.0 hoàn toàn tương thích với mọi phiên bản của hệ

tế

điều hành Windown như Windows 9x/ME, Windows XP, Windows Vista, Windows 7 và
cả phiên bản mới nhất Windows 8.

h

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

in

1.4.1 Giới thiệt ngôn ngữ lập trình C#

K

Ngôn ngữ C Sharp (C#) được xây dựng và kiến trúc bởi Anders Hejlsberg và đội
thiết kế của ông, người đã viết nên trình biên dịch Pascal và có nhiều đóng góp cho

họ
c

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

ại

MSIL (một dạng mã trung gian) 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à CLR (.NET Common Language Runtime), 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++

15


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

uế

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

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

H

- 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

tế

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

in

h

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,

K

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.

họ
c

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

ại

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

16


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

1.4.2. Mô hình ba lớp
Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống, cũng như
không bị ảnh hưởng về các thay đổi, người ta hay nhóm các thành phần có cùng chức

uế


năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không bị chồng

H

chéo và ảnh hưởng lẫn nhau.

Trong phát triển phần mềm, người ta cũng áp dụng cách phân chia chức năng này.

trong đó mô hình ba lớp là phổ biến nhất.

tế

Thuật ngữ kiến trúc đa tầng/nhiều lớp, mỗi lớp sẽ thực hiện một số chức năng nào đó,

h

Ba lớp đó là: Presentation Layer (Lớp giao tiếp người dùng), Bussines Logic (Lớp

in

sử lý chính dữ liệu) và Data Accses (Lớp thao tác). Các lớp này sẽ giao tiếp với nhau qua

K

thông qua các dịch vụ 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 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à

họ
c


thôi.

1.4.2.1. Presentation Layer (Lớp giao tiếp người dùng)
Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị

ại

kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp này sẽ sử

Đ

dụng các dịch vụ do lớp Bussiness Logic cung cấp.
Trong nền tảng .NET thì có thể dùng Windows Forms, ASP.NET để hiện thực lớp

này.
+ Là những phần tử chịu trách nhiệm thu thập và hiển thị thông tin cho người dùng
cuối. Trong Windows Forms đó là các TextBox, các Button, DataGridView…
+ Có nhiệm vụ kiểm tra, xử lý các dữ liệu nhập vào (ví dụ như TextBox nhập số
điện thoại thì chỉ nhập được số…)

17


×