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

Xây dựng phần mềm quản lý kho tại công ty DTS đại từ thái nguyên

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 (1.87 MB, 59 trang )

LỜI CẢM ƠN
Trong suốt quá trình thực hiện đề tài khóa luận tốt nghiệp: “Xây dựng phần mềm
quản lý kho tại công ty DTS Đại Từ - Thái Nguyên ” ngoài sự cố gắng hết mình của
bản thân, trong quá trình làm đề tài em đã nhận được sự giúp đỡ tận tình từ phía nhà
trường, thầy cô, gia đình và bạn bè.
Em xin gửi lời cảm ơn sâu sắc đến thầy ThS. Nguyễn Hồng Tân đã tận tình
hướng dẫn, chỉ bảo em trong suốt quá trình làm đề tài này.
Em xin gửi lời cảm ơn đến các thầy cô trong Khoa Công nghệ thông tin,
Trường Đại học Công nghệ thông tin và Truyền thông, Đại học Thái Nguyên đã dành
thời gian hướng dẫn và giúp đỡ em tận tình trong quá trình làm đề tài này.
Em xin cảm ơn các cô, chú, anh, chị trong Công ty TNHH phát triển và phân
phối công nghệ số DTS đã giúp đỡ và hướng dẫn, truyền đạt những kinh nghiệm thực tế
trong suốt thời gian em thực tập tại công ty.
Em cũng gửi lời cảm ơn tới gia đình và bạn bè đã luôn quan tâm, động viên, giúp
đỡ và tạo điều kiện cho em để em có điều kiện tốt nhất để hoàn thành đề tài này.
Trong quá trình thực hiện đề tài, mặc dù em đã có nhiều cố gắng nhưng do hạn
chế về thời gian cũng như kinh nghiệm nên đề tài này chắc chắn còn mắc phải những
thiếu sót, rất mong được sự góp ý kiến của các thầy cô và các bạn để bài báo cáo của em
được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Thái nguyên, ngày 01 tháng 06 năm 2015
Sinh viên thực hiện
Thân Thế Minh

1


LỜI CAM ĐOAN
Tôi xin cam đoan:
a. Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn
trực tiếp của ThS. Nguyễn Hồng Tân


b. Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung
thực về tên tác giả, tên công trình, thời gian và địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,
tôi xin chịu hoàn toàn trách nhiệm.

Thái nguyên, ngày 01 tháng 06 năm 2015
Sinh viên

Thân Thế Minh

2


MỤC LỤC
LỜI MỞ ĐẦU ...........................................................................................................7
CHƯƠNG 1.................................................................................................................9
CƠ SỞ LÝ THUYẾT ..................................................................................................9
1.1. Giới thiệu về Công ty TNHH phát triển và phân phối công nghệ số DTS..............9
1.1.1. Giới thiệu..........................................................................................................9
1.1.2. Hiện trạng hệ thống.........................................................................................10
1.1.3. Mô tả quá trình quản lý ....................................................................................11
1.1.4. Yêu cầu hệ thống .............................................................................................16
1.1.5. Các thay đổi chính khi đưa hệ thống phần mềm vào xử lý................................17
1.2. Lựa chọn công nghệ lập trình.............................................................................17
1.2.1. Tổng quan về ngôn ngữ lập trình CSharp .........................................................17
1.3.

Giới thiệu về quản lý kho ................................................................................28

1.3.1. Khái niệm về kho ............................................................................................28

1.3.3. Chức năng của kho..........................................................................................28
CHƯƠNG 2...............................................................................................................31
PHÂN TÍCH THIẾT KẾ HỆ THỐNG CHO BÀI QUẢN LÝ KHO ..........................31
2.1.

Tổng quan về bài toán quản lý kho..................................................................31

2.2. Phân tích yêu cầu thành modul chức năng...........................................................32
2.3. Giới thiệu quy trình nghiệp vụ của công tác quản lý kho....................................34
2.4. Phân tích thiết kế hệ thống quản lý kho..............................................................37
2.5. Xây dựng sơ sở dữ liệu ......................................................................................40
Bảng 2. 11: Bảng chi tiết phiếu xuấtCHƯƠNG 3.......................................................43
CHƯƠNG TRÌNH THỰC NGHIỆM ........................................................................44
3.1. Đặt vấn đề...........................................................................................................44
3.2. Các chức năng của chương trình .........................................................................44
3.2.1. Giao diện chương trình chính...........................................................................45
3.2.2. Chức năng Quản trị hệ thống............................................................................46
3.2.3. Chức năng Quản lý Chung ..............................................................................47
3.2.5. Chức năng Quản lý Nhập-Xuất .......................................................................51
3.2.6. Chức năng Tổng hợp Báo cáo .........................................................................52
3.3. So sánh, đánh giá chương trình ...........................................................................55
3


KẾT LUẬN ...............................................................................................................57
TÀI LIỆU THAM KHẢO .........................................................................................58

4



DANH MỤC HÌNH VẼ
Hinh 1.1: Sơ đồ quy trình nhập hàng..........................................................................12
Hinh 1.2: Sơ đồ quy trình xuất hàng ..........................................................................13
Hình 1.3: Quy trình đổi hàng .....................................................................................14
Hình 1.4: Sơ đồ quy trình bảo hành cho khách...........................................................15
Hình 1.5: Sơ đồ quy trình đổi hành với nhà cung cấp.................................................16
Hình 2.1: Biểu đồ usecase hệ thống ...........................................................................37
Hình 2.2: Biểu đồ UC Đăng nhập hệ thống................................................................38
Hình 2.3: Biểu đồ UC Quản lý kho ............................................................................38
Hình 2.4: Biểu đồ UC chức năng Thống kê, báo cáo..................................................39
Hình 2.5: Biểu đồ trình tự của hệ thống .....................................................................39
Hình 2.6: Sơ đồ quan hệ dữ liệu.................................................................................41
Hình 3.1: Giao diện chương trình chính .....................................................................45
Hình 3. 2: Giao diện các chức năng hệ thống .............................................................46
Hình 3. 3: Giao diện Form Quản lý Nhân viên...........................................................47
Hình 3. 4: Giao diện Form Quản lý Nhà cung cấp......................................................47
Hình 3.5: Giao diện Form Quản lý Kho vật tư ...........................................................48
Hình 3.6: Giao diện Form Quản lý Vật tư ..................................................................49
Hình 3.7: Giao diện Form Quản lý Khách hàng .........................................................50
Hình 3.8: Giao diện Form Phiếu nhập kho .................................................................51
Hình 3. 9: Giao diện Form Phiếu xuất kho .................................................................52
Hình 3. 10: Hộp thoại chọn khoảng thời gian Lập Báo cáo nhập................................53
Hình 3.11: Báo cáo Nhập kho trong kỳ ......................................................................53
Hình 3.12: Hộp thoại chọn khoảng thời gian Lập Báo cáo xuất..................................54
Hình 3.13: Báo cáo Xuất kho trong kỳ.......................................................................54
Hình 3.14: Form báo cáo tồn kho...............................................................................55

5



DANH MỤC BẢNG BIỂU

Bảng 2. 1: Bảng Vật tư ..............................................................................................41
Bảng 2. 2: Bảng Kho vật tư........................................................................................41
Bảng 2.3: Bảng Tồn kho ............................................................................................41
Bảng 2. 4: Bảng Nhà cung cấp...................................................................................42
Bảng 2. 5: Bảng Khách hàng .....................................................................................42
Bảng 2. 6: Bảng Nhân viên ........................................................................................42
Bảng 2. 8: Bảng phiếu nhập .......................................................................................43
Bảng 2. 9: Bảng chi tiết phiếu nhập ...........................................................................43
Bảng 2. 10: Bảng phiếu xuất......................................................................................43

6


LỜI MỞ ĐẦU
 Lý do chọn đề tài
Cùng với sự phát triển của thế giới và xu hướng hội nhập kinh tế quốc tế, nước ta
đang dần đổi mới và bước vào thời kỳ công nghiệp hoá - hiện đại hoá, vừa xây dựng cơ sở
vật chất, kĩ thuật vừa phát triển nền kinh tế đất nước. Do đó, ngành Công nghệ thông tin có
vai trò quan trọng trong quá trình xây dựng và phát triển đất nước.
Ngày nay, khi công nghệ đã gắn liền với cuộc sống con người ở mọi lĩnh vực,
mọi ngành nghề. Microsoft Windows có phạm vi ảnh hưởng cũng như tầm quan trọng
to lớn. Những ứng dụng cũng như lợi ích mà nó mang lại cho chúng ta thật sự rất hữu
ích. Chính vì vậy mà ngày càng có nhiều những phần mềm cũng như những ngôn ngữ
lập trình ra đời giúp cho tư duy của chúng ta tăng lên và đem lại giá trị cao cho đời
sống. Trong đó, C# là cách nhanh và tốt nhất để lập trình cho Microsoft Windows.
Khả năng của ngôn ngữ này cho phép những người chuyên nghiệp hoàn thành bất kỳ
điều gì nhờ sử dụng ngôn ngữ lập trình MSWindows nào khác. Đối với nhiều doanh
nghiệp, trong đó có Công ty TNHH phát triển và phân phối công nghệ số DTS, công

việc quản lý kho là rất quan trọng. Tuy nhiên, việc tính toán nhu cầu và dự kiến khối
lượng hàng dự trữ đều được xác định dựa vào số liệu quá khứ kết hợp với những phân
tích chủ quan của nhà quản lý.
Xuất phát từ những lý do trên nên em đã chọn đề tài: “ Xây dựng phần mềm
quản lý kho cho công ty DTS - Thái Nguyên ” làm đề tài đồ án tốt nghiệp cho mình.
 Mục đích nghiên cứu
Phân tích, đánh giá được những ưu điểm, nhược điểm và những ứng dụng của ngôn
ngữ lập trình C# vào lĩnh vưc kinh tế - xã hội, khoa học – kĩ thuật, giáo dục.
Hiểu các nghiệp vụ của công tác quản lý kho, đặc biệt là nghiệp vụ cụ thể của
công tác quản lý kho vật tư tại Công ty TNHH phát triển và phân phối công nghệ số
DTS – Đơn vị thực tập.
Qua đó, xây dựng được một demo chương trình trong công tác quản lý kho
bằng việc sử dụng ngôn ngữ C# và ứng dụng tại Công ty TNHH phát triển và phân
phối công nghệ số DTS.

7


 Tình hình nghiên cứu
Do mật độ xuất nhập hàng của các kho ngày càng lớn nên việc quản lý hiện nay
là rất khó khăn và có nhiều sai sót khi thực hiện việc nhập xuất, tính toán thủ công, các
khâu còn chưa thật sự gắn bó với nhau dẫn đến việc quản lý thông tin của một loại
hàng hóa có thể được nhập đi nhập lại nhiều lần. Hiện nay trong nhiều doanh nghiệp
đã có các phần mềm quản lý kho cũng như có nhiều người nghiên cứu và xây dựng
được chương trình quản lý kho, tuy nhiên chưa có chương trình hay phần mềm nào
ứng dụng phương pháp quản lý dự trữ trong quản lý kho. Từ đó em đề xuất giải pháp
này để áp dụng kiến thức được học và giải quyết vấn đề thực tế đặt ra.
 Phạm vi và phương pháp nghiên cứu
Phạm vi nghiên cứu: Đề tài nghiên cứu những khái niệm cơ bản và những ứng
dụng của ngôn ngữ C# để áp dụng vào việc xây dựng bài toán quản lý kho.

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

Tìm hiểu kiến thức chuyên ngành, kiến thức thực tế

-

Tìm hiểu các kiến thức liên quan

-

Tiến hành thực nghiệm: xây dựng giải pháp cho vấn đề đặt ra bằng các kiến
thức thu thập được

 Kết cấu
Ngoài lời mở đầu và kết luận, nội dung chính đề tài của em gồm ba chương:
Chương 1 : Cơ sở lý thuyết và tổng quan về hệ thống quản lý kho tại Công ty
TNHH phát triển và phân phối công nghệ số DTS
Chương 2 : Phân tích thiết kế hệ thống
Chương 3 : Xây dựng chương trình
Trong quá trình thực hiện đề tài đồ án tốt nghiệp, do những giới hạn nhất định
về tài liệu, kiến thức và thời gian nên em không tránh khỏi những sai sót. Em rất mong
các thầy cô thông cảm và góp ý.

8


CHƯƠNG 1
CƠ SỞ LÝ THUYẾT
1.1. Giới thiệu về Công ty TNHH phát triển và phân phối công nghệ số DTS

1.1.1. Giới thiệu
 Công ty TNHH phát triển và phân phối công nghệ số DTS được thành lập ngày
20/04/2011
 Tên, văn phòng đại diện công ty:
Văn phòng đại diện Công ty TNHH phát triển và phân phối công nghệ số DTS:
Ki ốt 2+3 bến xe khách đại từ - Thị trấn Hùng Sơn – Đại Từ - Thái Nguyên
 Vốn điều lệ: 1.200.000.000 đồng (Một tỷ, hai trăm triệu đồng)
 Vốn hoạt động: 3.000.000.000 đông (Ba tỷ đồng)
Trụ sở giao dịch: Ki ốt 2+3 bến xe khách đại từ - Thị trấn Hùng Sơn – Đại Từ Thái Nguyên
 Chuyên ngành hoạt đồng gồm: Các loại máy văn phòng ( máy tính bộ, laptop,
máy in, máy chiếu, máy fax, thiết bị quan sát, thiết bị mạng, linh kiện máy tính,
văn phòng phẩm…), …
 Người đại diện theo pháp luật của Công ty:
Ông: Đỗ Huy Khánh
Chức vụ: Giám đốc
Ngay từ khi mới thành lập, trải qua 4 năm hoạt động cùng với sự phấn đấu
không ngừng cũng như sự lãnh đạo đang khẳng định vị tài tình của ban lãnh đạo công
ty, cái tên DTS company đang dần trở thành thương hiệu được nhiều người biết đến.
Với đội ngũ nhân viên trẻ, năng động, nhiệt tình, sáng tạo, có trình độ chuyên môn
cao, công ty DTS đã và đang khẳng định vị thế của mình trong lòng khách hàng đồng
thời tạo lập uy tín với các đối tác.
Hiện nay công ty cung cấp các dịch vụ chính:
- Tư vấn, thiết kế, cung cấp, lắp đặt và bảo trì các hệ thống mạng LAN, Wireless LAN,
WAN,…hệ thống camera quan sát…
- Cung cấp, sửa chữa các thiết bị máy tính, máy văn phòng, linh kiện điện tử…
Mục tiêu phát triển trước mắt và lâu dài của DTS là phấn đấu trở thành công ty
hàng đầu về thương mại và dịch vụ trong lĩnh vực công nghệ thông tin, có uy tín lớn
đối với khách hàng và đối tác. Bên cạnh đó, công ty cũng mong muốn tạo điều kiện
9



cho cán bộ, nhân viên có thu nhập ổn định và mức sống được cải thiện ngày càng cao
hơn.
Để thực hiện tốt mục tiêu đó, lãnh đạo công ty đã chỉ rõ định hướng phát triển
sao cho vừa phát huy hết mức những sức mạnh vốn có để đáp ứng ngày càng cao
những yêu cầu của khách hàng, vừa giữ vững và tăng tốc độ phát triển trên tất cả các
mặt doanh số, nhân lực, dịch vụ…
Hiện nay, công việc kinh doanh của công ty đã và đang hoạt động khá ổn định
và từng bước phát triển. Lượng hàng nhập khẩu về công ty phục vụ cho khách hàng
ngày một lớn và đa dạng về chủng loại sản phẩm, vì thế công việc quản lý hàng hóa
ngày càng trở nên phức tạp hơn. Nhằm giảm bớt khó khăn trong quản lý hàng hóa,
công ty quyết định xây dựng phần mềm quản lý kho hàng riêng nhằm hoàn thiện hơn
cho phần mềm quản lý chung đang xây dựng và bước đầu đưa vào thử nghiệm.
1.1.2. Hiện trạng hệ thống
Trong quá trình khảo sát thực tế tại công ty DTS, việc quản lý kho( gồm hoạt
động nhập kho, xuất kho) cho các nhân viên có chức năng. Nếu thực hiện bằng
phương pháp thủ công thì vất vả và khó khăn cho người quản lý kho.
Hiện nay công việc quản lý của công ty đang được tiến hành xây dựng và ứng
dụng thử nghiệm phần mềm quản lý chung cho tất cả công việc. Trong khi phần mềm
công ty chưa hoàn thiện vẫn còn trong thời gian thử nghiệm là chính. Công việc kinh
doanh của công ty ngày một phát triển, lượng hàng nhập về công ty lớn và đa dạng,
phong phú về chủng loại. Bên cạnh đó có những vấn đề nảy sinh phức tạp. Nên công
việc quản lý kho vẫn được thực hiện bằng tay để đề phòng trường hợp phần mềm xảy
ra lỗi. Công việc này vẫn sẽ vẫn được thực hiện cho đến khi phần mềm của công ty
được hoàn thiện.
Công việc sẽ chẳng có gì khó khắn nếu số lượng hàng của công ty là ít nhưng
khi lượng hàng lớn thì công việc quản lý hàng trở lên khá phức tạp, mất thời gian và
có thể nhầm lẫn nhất là số lượng tồn hàng nhập mới và nhập lại vẫn thuộc hàng tồn
của công ty…Vì vậy để giải quyết vẫn đề này, thì tốt nhất là xây dựng riêng một phần
mềm đảm bảo cho quá trình quản lý kho hàng chuyên dụng có thể chỉ đáp ứng ở một

góc độ nào đó trong toàn bộ yêu cầu của quá trình quản lý của cả công ty.

10


1.1.3. Mô tả quá trình quản lý
Quy trình quản lý kho hàng của công ty máy tính DTS được mô tả theo từng
quy trình nhỏ như sau:
1.1.3.1. Quy trình nhập hàng
Hàng ngày thủ kho sẽ thường xuyên kiểm tra số kho và kiểm kê lượng hàng
thực tế trong kho. Khi thấy hàng trong kho cần phải nhập thêm để đảm bảo cho quá
trình hoạt động bán hàng của công ty. Thủ kho sẽ nhập Báo cáo tồn kho gửi cho lãnh
đạo công ty. Nhận Báo cáo tồn kho và Báo cáo từ bộ phận kinh doanh, đồng thời cập
nhật thông tin một số sản phẩm trên thị trường để sản phẩm, hàng hóa của công ty đa
dạng, phong phú, đáp ứng yêu cầu chất lượng và thị hiếu người dùng từ đó lãnh đạo
công ty sẽ có quyết định cần nhập thêm mặt hàng gì. Sau khi xem xét lãnh đạo công ty
sẽ gửi yêu cầu nhập hàng cho bộ phận kinh doanh. Bộ phận kinh doanh dựa vào yêu
cầu sẽ lập Phiếu nhập hàng và gửi Phiêu nhập hàng này cho nhà cung cấp. Nhà cung
cấp sẽ căn cứ vào Phiếu nhập hàng lập một hợp đồng bán hàng với công ty. Rồi gửi
hàng cho công ty. Hàng tới công ty, nhân viên có trách nhiệm sẽ ra nhận hàng. Khi
nhận đúng hàng sẽ viết phiếu giao cho thủ kho nhập hàng vào kho. Thủ kho trước khi
nhận hàng vào kho sẽ tiến hàng kiểm tra hàng lần cuối. Hàng đúng với Phiếu nhập thì
nhập kho, ngược lại thì giao cho đơn vị có trách nhiệm xử lý và giải quyết. Thông tin
hàng hóa trên phiếu nhập kho sẽ được lưu vào sổ nhập kho.

11


Sơ đồ quy trình nhập hàng:


Hinh 1.1: Sơ đồ quy trình nhập hàng
1.1.3.2. Quy trình xuất bán
Khi có khách tới mua hàng sẽ chuyển yêu cầu mua hàng cho nhân viên bán
hàng. Nhân viên bán hàng sẽ có nhiệm vụ kiểm tra mặt hàng khách yêu cầu có tại công
ty hay không. Có thông báo cho thủ kho kiểm tra hàng tồn những mặt hàng mà khách
mua. Để kiểm tra hàng tồn kho trong kho, thủ kho sẽ cập nhật số nhập và số xuất kho
của mặt hàng đó rồ đưa ra danh sách hàng tồn cho công ty. Khi nhận được danh sách
hàng tồn trong kho, nhân viên bán hàng sẽ làm nhiệm vụ viết phiếu xuất kho, rồi đem
phiếu xuất tới kho lấy hàng cho khách. Sau đó tiến hàng thanh toán và giao hàng cho
khách. Dựa vào phiếu xuất, thủ kho sẽ giao hàng và phiếu bảo hàng cho nhân viên tới
lấy hàng. Thông tin phiếu xuất sẽ được thủ kho lưu vào sổ xuất kho.

12


Sơ đồ quy trình xuất hàng:

Hinh 1.2: Sơ đồ quy trình xuất hàng
1.1.3.3. Quy trình đổi hàng
Hàng sau khi được xuất cho khách đem về sử dụng do nguyên nhân kỹ thuật
nào đó. Khách hàng mang đến cửa hàng và yêu cầu đổi hàng theo quy định của công
ty. Nhân viên bán hàng sẽ tiếp nhận yêu cầu bằng cách kiểm tra hàng. Nếu hàng do lỗi
kỹ thuật sẽ làm thủ tục nhập kho: nhân viên cửa hàng sẽ nhận hàng và viết phiếu nhập,
sau đó mang tới kho nhập, thông tin trên phiếu nhập sẽ được thủ kho lưu vào sổ nhập
kho.
Đồng thời nhân viên bán hàng sẽ kiểm tra hàng mà khách muốn đổi hiện có
trong kho không bằng cách gửi yêu cầu kiểm tra hàng tồn kho cho thủ kho. Thủ kho
tiếp tục cập nhập số nhập và số xuất để kiểm tra hàng và gửi thông báo hàng tồn cho
nhân viên bán hàng. Nếu hàng hết thì thông báo cho khách hàng chuyển đổi sang mặt
hàng khác, nếu khách không đồng ý thì tiến hành trả tiền cho khách. Trong trường hợp

ngược lại thì đổi hàng ( quy trình diễn ra tiếp theo tương tự như quá trình xuất mới).
Nhân viên bán hàng sẽ viết phiếu xuất và cử người lấy hàng và giao hàng cho khách.
Thông tin về hàng hóa trên phiếu xuất sẽ được thủ kho lưu vào sổ xuất kho.

13


Quy trình đổi hàng:

Hình 1.3: Quy trình đổi hàng
1.1.3.4. Quy trình bảo hành cho khách
Khách có yêu cầu bảo hành xuất trình giấy biên bản nhận. Đơn vị kỹ thuật tiến
hành kiểm tra hàng. Nếu hàng do những nguyên nhân, sự cố khác ngoài kỹ thuật sẽ
thông báo cho khách hàng công ty không chịu trách nhiệm bảo hành cho sản phẩm,
ngược lại sẽ tiến hành bảo hành ngay cho khách nếu khách có yêu cầu, nếu khách
không có yêu cầu cần bảo hành ngay hoặc tùy thuộc vào vấn đề kỹ thuật mà bộ phận
kỹ thuật phải lưu hàng xử lý sau. Khi đó bộ phận kỹ thuật sẽ viết biên bản nhận cho
khách hàng. Trường hợp hàng hết hạn bảo hành mà khách vẫn yêu cầu được sửa chữa
thì nhân viên kỹ thuật sẽ lập phiếu sửa chữa hàng cho khách. Hàng sau khi đã được
bảo hành vẫn chưa đến thời hạn hẹn khách hoặc hàng mà nhân viên kỹ thuật của công
ty không thể xử lý được thì sẽ viết phiếu nhập bảo hành đem nhập kho. Khi có phiếu,
thủ kho sẽ nhận hàng bảo hành và lưu thông tin trên phiếu nhập hàng bảo hành vào số
nhập. Khi đến hẹn, khách mang giấy biên nhận đến nhận hàng. Sẽ giao phiếu biên
14


nhận cho bộ phận kỹ thuật, nhân viên kỹ thuật có trách nhiệm sẽ kiểm tra thông tin.
Đúng sẽ viết phiếu xuất hàng bảo hành với mặt hàng đã được bảo hành. Cử người
xuống kho lấy hàng cho khách. Thủ kho nhận phiếu và xuất hàng. Thông tin trên phiếu
xuất hàng bảo hành sẽ được lưu vào sổ xuất kho và số hàng bảo hành. Kết thúc quá

trình nhận và trả bảo hành cho khách.
Sơ đồ quy trình bảo hành cho khách:

Hình 1.4: Sơ đồ quy trình bảo hành cho khách
1.1.3.5. Quy trình đổi, bảo hành với nhà cung cấp
Cứ sau khoảng một thời gian quy định, thủ kho sẽ thống kê danh sách những
hàng đổi và hàng bảo hành rồi gửi danh sách này cho Đơn vị kinh doanh. Đơn vị này
có trách nhiệm viết phiếu xuất mang đến nhận hàng để mang đi đổi hàng, bảo hành.
Những mặt hàng mà công ty chấp nhận đổi, bảo hành hoặc không đổi, bảo hành sau đó
vẫn được mang về nhập vào kho. Những mặt hàng được bảo hành sẽ xuất trả cho
khách bình thường, còn những mặt hàng không được chấp nhận đổi, bảo hành sẽ để
15


chờ xử lý của lãnh đạo công ty. Quá trình nhập hàng về công ty cũng diễn ra tương tự
như quá trình nhập mới.
Sơ đồ quy trình đổi hành với nhà cung cấp:

Hình 1.5: Sơ đồ quy trình đổi hành với nhà cung cấp
1.1.4. Yêu cầu hệ thống
- Hệ thống phải quản lý được quy trình nhập hàng chung cho tất cả các hình thức
nhập: nhập mới, nhập đổi lại, nhập bảo hành. Trong yêu cầu này, nhân viên quản lý
kho hàng sẽ phải thực hiện các chức năng: Nhập, sửa, xóa, tìm kiếm, update dữ liệu.
- Hệ thống phải quản lý được quy trình xuất hàng chung cho tất cả các hình thức xuất:
Xuất bán, xuất bảo hành trả cho khách, xuất đổi, bảo hành với Nhà cung cấp. Cũng
giống như quy trình nhập kho, quy trình quản lý hàng xuất kho cũng phải thực hiện
được các chức năng: Nhập, xóa, sửa, tìm kiếm, update dữ liệu.
- Hệ thống cũng phải đưa ra tất cả các báo cáo cần thiết khi có yêu cầu bất kỳ lúc nào.

16



1.1.5. Các thay đổi chính khi đưa hệ thống phần mềm vào xử lý
Thay đổi chính khi đưa hệ thống quản lý vào sử dụng là lợi ích về mặt thời gian xử
lý công việc, nhưng cũng đòi hỏi một số thay đổi về thói quen làm việc của các nhân
viên.
 Các kết quả đạt được khi thay đổi:
-

Tổng hợp nhanh báo cáo về tình hình lượng hàng hóa trong kho chính xác
và nhanh nhất

-

Cung cấp gợi ý cho việc nhập hàng mới,…

-

Đưa ra nhanh các thông báo, báo cáo tổng hợp khi cần thiết.

1.2. Lựa chọn công nghệ lập trình
1.2.1. Tổng quan về ngôn ngữ lập trình CSharp
Ngôn ngữ C# khá đơn giản nhưng nó có ý nghĩa cao khi thực thi khái niệm lập
trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component,
lập trình hướng đối tượng. Những tính chất đó hiện diện trong một ngôn ngữ lập trình
hiện đại.
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp đều được tìm thấy trong
phần khai báo của nó. Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia
ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++.
C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp

cho những dịch vụ mà giao diện quy định. Trong ngôn ngữ C#, một lớp có thể kế thừa
từ duy nhất một lớp cha, tức là không cho đa kế thừa, nhưng một lớp có thể thực thi
nhiều giao diện. Khi một lớp thực thi một giao diện thì nó sẽ cung cấp chức năng thực
thi giao diện.
Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái niệm về ngữ
nghĩa của nó thay đổi khác với C++. Trong C#, một cấu trúc được giới hạn là kiểu dữ
liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành với bộ nhớ so
với một lớp. Một cấu trúc thì không thể kế thừa từ một lớp hay được kế thừa nhưng
một cấu trúc có thể thực thi một giao diện.
Ngôn ngữ C# cung cấp những đặc tính hướng thành phần(component-oriented),
như là những thuộc tính, những sự kiện. Lập trình hướng thành phần được hỗ trợ bởi
CLR cho phép lưu trữ metadata với mã nguồn cho một lớp.

17


1.2.1.1. Tại sao phải sử dụng ngôn ngữ C#


C# là ngôn ngữ đơn giản



C# là ngôn ngữ hiện đại



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




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



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

1.2.1.2. Nền tảng ngôn ngữ C#


Lớp, đối tượng và kiểu dữ liệu (type)
Điều cốt lõi của lập trình hướng đối tượng là tạo ra các kiểu mới, nó có thể là

một bảng dữ liệu, một tiểu trình, hay một nút lệnh trong cửa sổ. Kiểu được định nghĩa
như một dạng vừa có thuộc tính chung và các hành vi của nó.
Cũng như nhiều ngôn ngữ lập trình hướng đối tượng khác, kiểu trong C# được
định nghĩa là một lớp (class) và các thể hiện của từng lớp gọi là đối tượng (object).
Để định nghĩa một lớp trong C#, ta sử dụng từ khóa class, sau đó đến tên lớp.
Thân của lớp được nằm trong dấu {}.
Chú ý: sau khai báo lớp trong C# không có dấu ;


Biến và hằng
Biến
Biến dùng để lưu trữ dữ liệu. Mỗi biến thuộc về một kiểu dữ liệu nào đó.
Khởi tạo trước khi dùng
Trong C#, trước khi dùng một biến thì biến đó phải được khởi tạo nếu không

trình biên dịch sẽ báo lỗi khi biên dịch. Ta có thể khai báo biến trước, sau đó khởi tạo
và sử dụng; hay khai báo biến và khởi gán trong lúc khai báo.

int x; // khai báo biến trước
x = 5; // sau đó khởi gán giá trị và sử dụng
int y = x; // khai báo và khởi gán cùng lúc
Hằng
Hằng là một biến nhưng giá trị không thay đổi theo thời gian. Khi cần thao tác
trên một giá trị xác định ta dùng hằng. Khai báo hằng tương tự khai báo biến và có
thêm từ khóa const ở trước. Hằng một khi khởi động xong không thể thay đổi được
nữa.
const int HANG_SO = 100;
18


Kiểu liệt kê
Enum là một cách thức để đặt tên cho các trị nguyên (các trị kiểu số nguyên,
theo nghĩa nào đó tương tự như tập các hằng), làm cho chương trình rõ ràng, dễ hiểu
hơn. Enum không có hàm thành viên. Ví dụ tạo một enum tên là Ngay như sau:
Enum Ngay {Hai, Ba, Tu, Nam, Sau, Bay, ChuNhat};
Theo đó Enum ngày có bảy giá trị nguyên đi từ 0 = Hai, 1 = Ba, 2 =Tư … 7 =
ChuNhat.
Chuỗi
Chuỗi là kiểu dựng sẵn trong C#, nó là một chuổi các ký tự đơn lẻ. Khi khai báo
một biến chuỗi ta dùng từ khoá string. Ví dụ khai báo một biến string lưu chuỗi "Hello
World"
string myString = "Hello World";
Định danh
Định danh là tên mà người lập trình chọn đại diện một kiểu, phương thức, biến,
hằng, đối tượng… của họ. Định danh phải bắt đầu bằng một ký tự hay dấu “_”. Định
danh không được trùng với từ khoá C# và phân biệt hoa thường.



Biểu thức
Bất kỳ câu lệnh định lượng giá trị được gọi là một biểu thức (expression). Phép

gán sau cũng được gọi là một biểu thức vì nó định lượng giá trị được gán (là 32)
x = 32;
vì vậy phép gán trên có thể được gán một lần nữa như sau
y = x = 32;


Sau lệnh này y có giá trị của biểu thức x = 32 và vì vậy y = 32.

Khoảng trắng
Trong C#, khoảng trống, dấu tab, dấu xuống dòng đều được xem là khoảng

trắng (whitespace). Do đó, dấu cách dù lớn hay nhỏ đều như nhau nên ta có:
x = 32;
cũng như

x

=

32;

Ngoại trừ khoảng trắng trong chuỗi ký tự thì có ý nghĩa riêng của nó.

19


 Câu lệnh

Cũng như trong C++ và Java một chỉ thị hoàn chỉnh thì được gọi là một câu
lệnh (statement). Chương trình gồm nhiều câu lệnh, mỗi câu lệnh kết thúc bằng dấu
“;”.
Ví dụ: int x; // là một câu lệnh
x = 23; // một câu lệnh khác
Ngoài các câu lệnh bình thường như trên, có các câu lệnh khác là: lệnh rẽ nhánh
không điều kiện, rẽ nhánh có điều kiện và lệnh lặp.
Các lệnh rẽ nhánh không điều kiện
Có hai loại câu lệnh rẽ nhánh không điều kiện. Một là lệnh gọi phương thức:
khi trình biên dịch thấy có lời gọi phương thức nó sẽ tạm dừng phương thức hiện hành
và nhảy đến phương thức được gọi cho đến hết phương thức này sẽ trở về phương thức
cũ.
Lệnh rẽ nhánh có điều kiện
Các từ khóa if-else, while, do-while, for, switch-case, dùng để điều khiển dòng
chảy chương trình. C# giữ lại tất cả các cú pháp của C++, ngoại trừ switch có vài cải
tiến.
Lệnh If .. else …
Cú pháp:
if (biểu thức logic)
khối lệnh;
hoặc
if (biểu thức logic)
khối lệnh 1;
else
khối lệnh 2;
Ghi chú: Khối lệnh là một tập các câu lện trong cặp dấu “{…}”. Bất kỳ nơi đâu
có câu lệnh thì ở đó có thể viết bằng một khối lệnh.
Biểu thức logic là biểu thức cho giá trị dúng hoặc sai (true hoặc false). Nếu
“biểu thức logic” cho giá trị đúng thì “khối lệnh” hay “khối lệnh 1” sẽ được thực thi,
20



ngược lại “khối lệnh 2” sẽ thực thi. Một điểm khác biệt với C++ là biểu thức trong câu
lệnh if phải là biểu thức logic, không thể là biểu thức số.
Lệnh switch
Cú pháp:
switch ( biểu_thức_lựa_chọn )
{
case biểu_thức_hằng :
khối lệnh;
lệnh nhảy;
[ default :
khối lệnh;
lệnh nhảy; ]
}
Biểu thức lựa chọn là biểu thức sinh ra trị nguyên hay chuỗi. Switch sẽ so sánh
biểu_thức_lựa_chọn với các biểu_thức_hằng để biết phải thực hiện với khối lệnh nào.
Lệnh nhảy như break, goto…để thoát khỏi câu switch và bắt buộc phải có.
Lệnh lặp
C# cung cấp các lệnh lặp giống C++ như for, while, do-while và lệnh lặp mới
foreach. Nó cũng hổ trợ các câu lệnh nhảy như: goto, break, continue và return.
Lệnh goto
Lệnh goto có thể dùng để tạo lệnh nhảy nhưng nhiều nhà lập trình chuyên
nghiệp khuyên không nên dùng câu lệnh này vì nó phá vỡ tính cấu trúc của chương
trình. Cách dùng câu lệnh này như sau: (giống như trong C++)
+ Tạo một nhãn
+ goto đến nhãn đó.
Vòng lặp while
Cú pháp:
while (biểu_thức_logic)

khối_lệnh;

21


Khối_lệnh sẽ được thực hiện cho đến khi nào biểu thức còn đúng. Nếu ngay từ
đầu biểu thức sai, khối lệnh sẽ không được thực thi.
Vòng lặp do … while
Cú pháp:
Do
khối_lệnh;
while ( biếu_thức_logic )
Khác với while khối lệnh sẽ được thực hiện trước, sau đó biệu thức được kiểm
tra. Nếu biểu thức đúng khối lệnh lại được thực hiện.
Vòng lặp for
Cú pháp:
for ( [khởi_tạo_biến_đếm]; [biểu_thức]; [gia_tăng_biến_đếm] )
khối lệnh;
Câu lệnh break, continue, và return.
 Phương thức
Hai thành phần chính cấu thành một lớp là thuộc tính hay phương thức. Phương
thức chính là các hàm thành viên trong một lớp. Về bản chất, phương thức trong C#
cũng giống như hàm trong C++. Trong ví dụ trên, chúng ta có một phương thức,
nhưng đây là một phương thức đặc biệt đó là phương thức Main().
Khi chương trình thực thi, CLR gọi hàm Main() đầu tiên, hàm Main() là đầu
vào của chương trình, và mỗi chương trình đều phải có một hàm Main().
Để khai báo một phương thức, ta phải xác định kiểu giá trị trả về, tên phương
thức, và các tham số càn thiết cho phương thức thực hiện.
 Chú thích
Một chương trình tốt là một chương trình có các dòng chú thích kèm theo. Các

đoạn chú thích này sẽ không được biên dịch và cũng không tham gia vào chương trình.
Mục đích chính của nó là làm cho đoạn mã nguồn rõ ràng và dễ hiểu.
Cũng giống như trong C++, trong ngôn ngữ C# chúng ta có 2 cách chú thích.
Để chú thích trên một dòng thì ta bắt đầu bằng 2 ký tự “//”. Khi trình biên dịch gặp 2
ký tự này thì sẽ bỏ qua dòng đó.

22


Ví dụ: // khởi tạo đối tượng để chú thích trên nhiều dòng thì ta bắt đầu bởi ký tự
“/*” và kết thúc bởi “*/”.
 Ứng dụng Console
Ví dụ đơn giản trên được gọi là ứng dụng Console, ứng dụng này giao tiếp với
người dùng thông qua bàn phím và không có giao diện người dùng (GUI). Trong các
chương trình xây dựng các ứng dụng nâng cao trên Windows hay trên Web thì ta mới
sự dụng giao diện đồ họa. Trong giáo trình này, sẽ sử dụng thuần túy các ứng dụng
console.
 Namespace
NET cung cấp một thư viện các lớp đồ sộ và thư viện này có tên là FCL (
Framework Class Library), trong đó Console là một lớp nhỏ trong thư viện. Do đó sẽ
nảy sinh vấn đề là người lập trình không thể nhớ hết được tên của các lớp trong .NET
Framework. Đặc biệt là sau này ta có thể tạo ra một lớp mà lớp này lại trùng với lớp đã
có trong thư viện, điều này dẫn đến sự tranh chấp khi biên dịch vì C# chỉ cho phép một
tên duy nhất.
Giải pháp để giải quyết vấn đề là việc tạo ra một không gian tên namespace,
namespace sẽ hạn chế phạm vi của 1 tên, làm cho tên này chỉ có ý nghĩa trong vùng đã
định nghĩa.
 Từ khóa using
Để cho chương trình trở lên gọn hơn, không mất thời gian phải viết từng
namespace cho từng đối tượng, C# cung cấp từ khóa using, sau từ khóa này là một

namespace với mô tả đầy đủ trong cấu trúc phân cấp của nó.
 Truy cập dữ liệu với ADO.NET
Trong thực tế, có rất nhiều ứng dụng cần tương tác với cơ sở dữ liệu. .NET
Framework cung cấp một tập các đối tượng cho phép truy cập vào cơ sở dữ liệu, tập
các đối tượng này được gọi chung là ADO.NET.
ADO.NET tương tự với ADO, điểm khác biệt chính ở chỗ ADO.NET là một
kiến trúc dữ liệu rời rạc, không kết nối (Disconnected Data Architecture). Với kiến
trúc này, dữ liệu được nhận về từ cơ sở dữ liệu và được lưu trên vùng nhớ cache của
máy người dùng. Người dùng có thể thao tác trên dữ liệu họ nhận về và chỉ kết nối đến
cơ sở dữ liệu khi họ cần thay đổi các dòng dữ liệu hay yêu cầu dữ liệu mới.

23


Việc kết nối không liên tục đến cơ sở dữ liệu đã đem lại nhiều thuận lợi, trong
đó điểm lợi nhất là việc giảm đi một lưu lượng lớn truy cập vào cơ sở dữ liệu cùng một
lúc, tiết kiệm đáng kể tài nguyên bộ nhớ. Giảm thiểu đáng kể vấn đề hàng trăm ngàn
kết nối cùng truy cập vào cơ sở dữ liệu cùng một lúc.
ADO.NET kết nối vào cơ sở dữ liệu để lấy dữ liệu và kết nối trở lại để cập nhật
dữ liệu khi người dùng thay đổi chúng. Hầu hết mọi ứng dụng đều sử dụng nhiều thời
gian cho việc đọc và hiển thị dữ liệu, vì thế ADO.NET đã cung cấp một tập hợp con
các đối tượng dữ liệu không kết nối cho các ứng dụng để người dùng có thể đọc và
hiển thị chúng mà không cần kết nối vào cơ sở dữ liệu. Các đối tượng ngắt kết nối này
làm việc tương tự đối với các ứng dụng Web.
1.2.2.

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

1.2.2.1. Giới thiệu về SQL Server 2005
SQL Server 2005 là một hệ thống quản lý cơ sở dữ liệu (Relational Database

Management System - RDBMS) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client
Computer và SQL Server Computer. Một RDBMS bao gồm databases, database
engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong
RDBMS. SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu
rất lớn, lên đến Tera-byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server
2005 có thể kết hợp tốt với các server khác nhau như: Microsoft Internet Information
Server (IIS), E-Commerce Server, Proxy Server, …
SQL Server 2005 là hệ quản trị cơ sở dữ liệu quan hệ hiện nay cho các ứng
dụng dữ liệu của doanh nghiệp
SQL Server 2005 hỗ trợ các loại cơ sở dữ liệu dưới đây:
 Cơ sở dữ liệu hệ thống:
o Tạo ra bởi SQL Server để lưu trữ thông tin về SQL Server
o Để quản lý cơ sở dữ liệu người dùng
 Cơ sở dữ liệu người dung:
o Do người dùng tạo ra
o Lưu trữ dữ liệu người dùng
 Cơ sở dữ liệu mẫu:
o SQL Server phân phối kèm theo một số cơ sở dữ liệu mẫu
24


o AdventureWorks là cơ sở dữ liệu mẫu mới được giới thiệu trong
SQL Server 2005
 Các tính năng cơ bản của SQL Server 2005:
o Dễ cài đặt
o Tích hợp với internet
o Kiến trúc mô hình Client/Server
o Tương thích hệ điều hành
o Tương thích chuẩn ANSI, SQL-92
o Nhân bản dữ liệu

o Tìm kiếm Full-Text
 Tính năng nâng cao:
o Dịch vụ thông báo
o Dịch vụ báo cáo
o Dịch vụ môi giới
o Cải tiến của Database Engine
Dịch vụ thông báo là một nền tảng cho phép phát triển ứng dụng gửi nhận
thông báo với tính khả cỡ cao
Cơ chế xử lý cơ sở dữ liệu của SQL Server 2005 được bổ sung tính năng mới
cũng như nâng cao những khã năng về lập trình như bổ sung kiểu dữ liệu mới, kiểu dữ
liệu XML và khác nữa
Các phiên bản của SQL Server 2005:
 Enterprise Edition
o Hỗ trợ: 32-bit và 64-bit
o Không hạn chế kích thước cơ sở dữ liệu
o Hỗ trợ Xử lý giao dịch trực tuyến (OLTP)
o Khã dụng và khã cỡ cao

25


×