phần mềm quản lý kho trong môn lập trình window, được viết bằng C dùng cơ sở dữ liệu là access rất đơn giản và dễ sử dụng. Tài liệu bao gồm cả code, phục vụ cho các bài tập lớn. hãy tải ngay về tham khảo các bạn nhé
Trang 1v
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN MÔN: LẬP TRÌNH WINDOWS
Đề tài: Phần mềm quản lí kho hàng
GV hướng dẫn: TS Phạm Văn Hà Lớp: CĐ-ĐH Khoa Học Máy Tính 1_K10 Nhóm : Thân Quang Định
Lương Phương Đông Phan Quang Minh
Hà Nội, 2016
Trang 2
LỜI NÓI ĐẦU
Công nghệ thông tin đóng vai trò quan trọng trong sự phát triển của xã hộitrong thời đại ngày nay Những ứng dụng của CNTT đang được sử dụng rộng rãitrên tất cả các lĩnh vực của đời sống, đặc biệt là trong các công tác quản lý, lưu trữthông tin, dữ liệu trong các công ty
Quản lý kho trong doanh nghiệp là một công việc quan trọng đòi hỏi bộ phận quản
lý phải tiến hành nhiều nghiệp vụ phức tạp Các doanh nghiệp không chỉ có môhình tập trung mà còn tổ chức mô hình kho phân tán trên nhiều địa điểm trongphạm vi vùng, quốc gia, quốc tế Quản lí thống nhất mô hình này không phải làviệc đơn giản nếu dùng phương pháp quản lí kho truyền thống Việc ứng dụngCNTT đã mang lại bước đột phá mới cho công tác quản lý kho, giúp doanh nghiệpnắm bắt được thông tin về hàng hóa, vật tư, nguyên vật liệu và sản phẩm một cáchchính xác kịp thời Từ đó, người quản lý doanh nghiệp có thể đưa ra các kế hoạch
và quyết định đúng đắn, giảm chi phí và tăng khả năng cạnh tranh, nâng cao kếtquả hoạt động sản xuất kinh doanh Nhu cầu của công ty về xử lí thông tin đòi hỏiphải luôn chính xác, hiệu quả, khả năng cập nhật, tìm kiếm một cách nhanh chóng
Vì vậy chúng em chọn đề tài quản lý Kho Hàng mong muốn đáp ứng được nhu cầucần thiết hiện nay của công ty và giúp việc quản lý hiệu quả hơn
Dưới sự hướng dẫn, chỉ bảo nhiệt tình của thầy Phan Văn Hà cùng với sự cốgắng nỗ lực của các thành viên trong nhóm chúng em đã hoàn thành đề tài đúngthời gian cho phép Tuy nhiên do thời gian còn hạn chế, cũng như tầm hiểu biết cóhạn nên chúng em không tránh khỏi sai sót Vì vậy chúng em rất mong nhận đượcnhiều ý kiến đánh giá, đóng góp của thầy giáo và các bạn để chúng em có thể hoànthiện thêm đề tài này
Chúng em xin chân thành cảm ơn!
Trang 3Mục lục
LỜI NÓI ĐẦU 2
PHẦN 1: MỞ ĐẦU 5
1 Mô tả đề tài 5
2 Lý do chọn đề tài 5
3 Bố cục đề tài 5
CHƯƠNG 1 GIỚI THIỆU VỀ LẬP TRÌNH WINDOW 6
1 Mở đầu 6
2 Các thư viện lập trình của Window 6
3 Các khái niệm cơ bản 7
4 Lập trình sự kiện (Even driven programming) 8
5 Các thành phần giao diện đồ họa (GUI) 9
6 Cấu trúc chương trình C for win 10
7 Quy trình hoạt động của chương trình ứng dụng 10
8 Một số quy ước đặt tên 10
CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG 11
2.1 Sơ đồ phân rã chức năng 11
2.1.1 Quản trị hệ thống 11
2.1.2 Quản lý kho 11
2.1.3 Thống kê báo cáo 12
2.1.4 Tìm kiếm 12
2.2 Sơ đồ luồng dữ liệu 12
2.2.1 Sơ đồ luồng dữ liệu ở mức bối cảnh 12
2.2.2 Chức năng nhập – xuất (mức dưới đỉnh) 13
2.2.3 Chức năng thống kê (mức dưới đỉnh) 13
2.2.4 Chức năng tìm kiếm (mức dưới đỉnh) 13
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 14
3.1 Thiết kế cơ sở dữ liệu 14
3.1.1 Giới thiệu về Microsoft Access 14
3.1.2 Mô hình liên kết giữa các bảng CSDL 15
3.2 Thiết kế phần mềm 16
3.2.1 Hình ảnh form main chương trình 16
Trang 43.2.2 Form đăng nhập 17
3.2.3 Danh mục nghiệp vụ nhập kho 19
3.2.4 Danh mục nghiệp vụ xuất kho 21
3.2.5 Tìm Kiếm 21
CHƯƠNG 4 KẾT LUẬN 23
1 Kết quả đạt được 23
2 Những tồn tại của chương trình 23
3 Hướng phát triển 23
Trang 5PHẦN 1: MỞ ĐẦU
1 Mô tả đề tài
- Mỗi doanh nghiệp đều có lĩnh vực để quản lý và trong một doanh nghiệp sảnxuất bên cạnh việc quản lý tài chính là xương sống thì việc quản lý kho hàngcũng quan trọng không kém Khi có một hệ thống quản lý kho tốt sẽ giúp chocác chủ doanh nghiệp tìm ra được các kế hoạch kinh doanh, kế hoạch sản xuất
và định hướng phát triển doanh nghiệp
- Các hoạt động chủ yếu của hệ thống là nhập và xuất, yêu cầu báo cáo chi tiếtđịnh kì
2 Lý do chọn đề tài
- Việc áp dụng công nghệ thông tin sẽ dễ dàng cho quản lý
- Giảm chi phí, làm tăng tính hiệu quả trong việc quản lý
- Tự động hóa trong việc kiểm kê số lượng các mặt hàng
3 Bố cục đề tài
Nội dung chính của đề tài gồm ba chương:
Chương 1: Giới thiệu về lập trình windows
Chương 2: Phân tích hệ thống
Chương 3: Thiết kế hệ thống
Chương 4: Kết luận
Trang 6CHƯƠNG 1 GIỚI THIỆU VỀ LẬP TRÌNH WINDOW
1 Mở đầu
Các ứng dụng của Windows rất dễ sử dụng, nhưng rất khó đối với người đãtạo lập ra chúng Để đạt được tính dễ dùng đòi hỏi người lập trình phải bỏ
ra rất nhiều công sức để cài đặt
Lập trình trên Windows khó và phức tạp hơn nhiều so với lập trình trênDOS Tuy nhiên lập trình trên Windows sẽ giải quyết được một số vấn đềkhó khăn trong môi trường DOS như xây dựng giao diện người dùng, quản
lý bộ nhớ ảo, độc lập thiết bị vào ra, thâm nhập Internet, khả năng chia sẻtài nguyên,
Windows cung cấp các hàm để người lập trình thâm nhập các đặc trưng của
hệ điều hành gọi là giao diện lập trình ứng dụng (Application ProgrammingInterface – API) Những hàm này được đặt trong các thư viện liên kết động(Dynamic Link Library – DLL) Các chương trình ứng dụng sử dụng chúngthông qua các lời gọi hàm và chỉ chia sẻ được khi trong máy có cài đặtWindows
2 Các thư viện lập trình của Window
SDK – Software Development Kit
Là bộ thư viện lập trình nền tảng của HĐH Windows
Cung cấp tất cả các công cụ cần thiết để xây dựng 1 ứng dụng trênWindows
Được sử dụng như là thư viện cơ sở để tạo ra những thư viện cao cấp hơntrong những ngôn ngữ lập trình VD: OWL của BorlandC, MFC của VisualC++,…
Trang 7+ Win32 Console: ứng dụng 32 bits, với giao diện dạng DOS commandline.
+ Win32 (SDK): ứng dụng 32 bits, chỉ sử dụng thư viện SDK
Win32 DLL: ứng dụng 32 bits, dạng thư viện liên kết động (Dynamic –Linked Library), sử dụng SDK
Win32 LIB: ứng dụng 32 bits, dạng thư viện liên kết tĩnh (Static –Linked Library)
MFC EXE: ứng dụng 32 bits, sử dụng thư viện Microsoft FoundationClass
MFC DLL: ứng dụng 32 bits, dạng thư viện liên kết động (Dynamic –Linked Library), sử dụng MFC
3 Các khái niệm cơ bản
Trang 8Phát sinh các sự kiện và thông điệp
Quy trình xử lý thông điệp
5 Các thành phần giao diện đồ họa (GUI)
- GUI: Graphics User Interface có các dạng cơ bản :
Trang 9+ SDI – Single Document Interface :
+ Một cửa sổ làm việc
+ Cho phép thay đổi kích thước cửa sổ (Resizeable)
+ Không có các cửa sổ con
+ Ví dụ : Notepad, Paint…
+ MDI – Multi Document Interface
+ Một cửa sổ làm việc chính (Frame window) và nhiều cửa sổ con (child window)
+ Cho phép thay đổi kích thước cửa sổ
+ Cho phép Maximize/ Minimize/Close các cửa sổ con
+ Ví dụ : Word, Excel…
+ Dialog:
+ Một cửa sổ làm việc
+ Thường có kích thước cố định
+ Thường không có menu bar
+ Thường có các button, Edit box, list box…
+ Ví dụ: Calculator, CD player…
+ Cửa sổ:
+ Là vùng chữ nhật trên màn hình, dùng để hiển thị kết quả Output và nhậncác input từ người dùng
+ Công việc đầu tiên của 1 ứng dụng GUI là tạo 1 cửa sổ làm việc
+ Mô hình phân cấp: mỗi cửa sổ đều có cửa sổ cha (parent window), ngoại trừ cửa sổ trên nền Desktop
+ Tại mỗi thời điểm chỉ có 1 cửa sổ nhận input từ user
+ Phân loại: Cửa sổ desktop, cửa sổ tiêu chuẩn, cửa sổ hộp thoại (Dialog box), các Control
Trang 106 Cấu trúc chương trình C for win
7 Quy trình hoạt động của chương trình ứng dụng
Cửa sổ được hiển thị lên màn hình
Windows chờ cửa sổ gửi thông điệp
Các thông điệp được Windows gửi trả lại chương trình ứng dụng thông qualời gọi hàm của chúng trong chương trình ứng dụng
Khi nhận được thông điệp, chương trình ứng dụng gọi các hàm API và hàmcủa riêng chúng để thực hiện công việc mong muốn
Lập trình trên Windows là lập trình trên cơ sở thông điệp, quá trình trao đổithông tin và điều khiển dựa trên thông điệp Có rất nhiều thông điệp được phátsinh ngẩu nhiên như nhấn phím hay chuột, chọn menu,
Tương tác của ứng dụng với người sử dụng thông qua một hay nhiều cửa sổ,tạo lập các cửa sổ khi cần thiết và quản lý thông tin trong đó
8 Một số quy ước đặt tên
Tên hằng: chữ cái viết hoa, nên phân loại các hằng theo nhóm Thông thường gồm có
2 phần: phần đầu là loại nhóm và phần sau là tên hằng Loại nhóm và tên hằng cách nhau bằng dấu gạch nối Ví dụ: WM_DESTROY (hàm này được định nghĩa trong windows.h, WM cho ta biết hằng Destroy thuộc nhóm thông điệp cửa sổ windows Message)
Tên biến: bắt đầu bằng ký tự thường cho biết kiểu dữ liệu Ví dụ: itong cho biết bến Tong có kiểu int Các tiền tố thường dùng khác: c (char), p (pointer), d (word), h (chỉ số), dw (DWORD)
Trang 11CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG2.1 Sơ đồ phân rã chức năng
Hệ thống quản lý kho hàng là một hệ thống thông tin hoạt động với sự trợ giúpcủa tin học nhằm quản lý và thực hiện các giao dịch xuất nhập Đầu vào của hệthống là thông tin chi tiết mã hàng, tên hàng, số lượng các danh mục hàng hóa nhập
- xuất, thống kê báo cáo
2.1.1 Quản trị hệ thống.
Gồm quản lý người dùng và chức năng đổi mật khẩu cho người dùng
Quản lý người dùng: Thông tin về người sử dụng phần mềm
Đổi mật khẩu: cho phép người dùng đổi mật khẩu mới
2.1.2 Quản lý kho
Gồm: quản lý phiếu nhập và phiếu xuất
Viết phiếu nhập : Khi đã được nhà cung cấp thỏa thuận cung ứng hàng hóa thì
bộ phận kinh doanh sẽ tiến hành lập phiếu nhập kho và nhận hàng về kho của
công ty
Nhập hàng : Mỗi khi nhập kho về thì tiến hành cập nhật lại danh mục hàng
như là : Tên mặt hàng , số lượng
Trang 12 Viết phiếu xuất : Dựa vào các đơn đặt hàng đã đươc giải quyết, bộ phận kinh
doanh sẽ tiến hành lập phiếu xuất kho
Xuất hàng : Lập các hóa đơn chứng từ xuất kho, tiến hành xuất kho cho khách
mua hàng
2.1.3 Thống kê báo cáo
Thống kê nhập : Thống kế lượng hàng hóa nhập về theo tháng hoặc theo yêu
cầu của ban quản lý
Thống kê xuất : Thống kê lượng hàng hóa xuất kho theo tháng hoặc theo yêu
cầu của ban quản lý
Thống kê tồn : Thống kê lượng hàng hóa còn tồn trong kho theo tháng hoặc
theo yêu cầu của ban quản lý
2.1.4 Tìm kiếm
Tìm kiếm tên mặt hàng: tìm kiếm thông tin về hàng hóa có trong kho
2.2 Sơ đồ luồng dữ liệu
2.2.1 Sơ đồ luồng dữ liệu ở mức bối cảnh
Trang 132.2.2 Chức năng nhập – xuất (mức dưới đỉnh)
2.2.3 Chức năng thống kê (mức dưới đỉnh)
2.2.4 Chức năng tìm kiếm (mức dưới đỉnh)
Trang 14CHƯƠNG 3 THIẾT KẾ HỆ THỐNG3.1 Thiết kế cơ sở dữ liệu
3.1.1 Giới thiệu về Microsoft Access
Access là một hệ thống quản lý cơ sở dữ liệu (CSDL) Cũng giống như các hệCSDL khác, Access lưu trữ và tìm kiếm dữ liệu, thích hợp với các doanh nghiệpvừa và nhỏ Việc sử dụng Access giúp chúng ta có thể phát triển các ứng dụng mộtcách nhanh chóng
Access là một hệ quản trị dữ liệu rất tốt, đồng thời nó có thể giúp chúng ta truynhập tới tất cả các dạng dữ liệu Nó có thể làm việc với nhiều hơn một bảng (Table)tại cùng một thời điểm để giảm bớt sự rắc rối của dữ liệu và làm cho công việc dễdàng thực hiện hơn
Access là một Hệ quản trị cơ sở dữ liệu quan hệ (RDMS- Relational DatabaseManagement System), rất phù hợp cho các bài toán quản lý vừa và nhỏ Hiệu năngcao và đặc biệt dễ sử dụng - bởi lẽ giao diện sử dụng phần mềm này gần giống hệtmột số phần mềm khác trong bộ MS Office quen thuộc như : MS Word, MS Excel;Access cung cấp hệ thống công cụ phát triển khá mạnh đi kèm (DevelopmentTools) Công cụ này sẽ giúp các nhà phát triển phần mềm đơn giản trong việc xâydựng trọn gói các dự án phần mềm quản lý quy mô vừa và nhỏ Và ta có thể khẳngđịnh được 2 ứng dụng chính của Access là
- Dùng để xây dựng hệ cơ sở dữ liệu (chỉ là phần cơ sở dữ liệu, còn phần pháttriển thành phần mềm có thể dùng các công cụ khác để làm như : Visual Basic,Visual C, Delphi, NET, )
- Có thể dùng để xây dựng trọn gói những phần mềm quản lý quy mô vừa vànhỏ
Access cung cấp những thông tin quản lý CSDL quan hệ thực sự, hoàn thiện vớinhững định nghĩa khoá (Primary key) và khoá ngoại (Foreign key), các loại luậtquan hệ (một - một, một - nhiều), các mức kiểm tra mức toàn vẹn của dữ liệu cũngnhư định dạng và những định nghĩa mặc định cho các trường (Field) trong mộtbảng Bằng việc thực hiện sự toàn vẹn dữ liệu ở mức database engine, Access ngănchặn được sự cập nhật và xoá thông tin không phù hợp
Trang 15Tóm lại: Microsoft Access là một hệ quản trị cơ sở dữ liệu tương tác với người
sử dụng chạy trên môi trường Windows, nó tăng thêm sức mạnh trong công tác tổchức, tìm kiếm và tổ chức thông tin Các quy tắc kiểm tra dữ liệu, giá trị mặc định,khuôn nhập dữ liệu … của Microsoft Access hoàn toàn đáp ứng yêu cầu Khả năngkết nối và công cụ truy vấn mạnh của nó giúp ta tìm kiếm thông tin một cách nhanhchóng Nó cho phép ta thiết kế được các biểu mẫu và báo cáo phức tạp đáp ứng cácyêu cầu đề ra đối với những yêu cầu quản lý dữ liệu ở mức độ bộ phận cao
3.1.2 Mô hình liên kết giữa các bảng CSDL
Trang 16Sơ đồ giải thuật:
Trang 173.2.2 Form đăng nhập
Tài khoản mặc định:
Trang 18Sơ đồ giải thuật:
Trang 193.2.3 Danh mục nghiệp vụ nhập kho
Tiến trình: Menu quản lý nhập kho cho phép nhập dữ liệu để đưa vào kho hàng
Dòng dữ liệu: cho phép người quàn lý cũng như người dùng có thể lưu, in, xóacác thông tin trong kho dữ liệu dựa trên mẫu phiếu nhập
Sơ đồ giải thuật:
Trang 20Phân tích:
Tiến trình: Form cho phép nhà quản lý cũng như người dùng có thể thêm mới,lưu và xóa các thông tin trong kho dữ liệu dựa trên mẫu phiếu nhập thực tế
Khi người dùng muốn:
+ Thêm dữ liệu: chọn nút “Thêm” nếu không có lỗi thì thông tin sẽ được hiển thịlên bảng dữ liệu
+ Lưu: chọn nút “Lưu” dữ liệu sẽ được cập nhật vào CSDL và update thêm DLvào form main
Trang 213.2.4 Danh mục nghiệp vụ xuất kho
Tiến trình: menu quản lý xuất kho cho phép xuất dữ liệu khỏi kho hàng
Dòng dữ liệu: cho phép người quản lý cũng như người dùng có thể lưu, in, xóacác thông tin trong kho dữ liệu dựa trên mẫu phiếu xuất
Khi người dùng muốn:
+ Thêm dữ liệu: chọn nút “Thêm” để chọn dữ liệu có trong kho muốn xuất, saukhi chọn xong dữ liệu được hiển thị lên bảng
+ Lưu: chọn nút “Lưu” dữ liệu sẽ được cập nhật lại trong CSDL và update lạiform main
3.2.5 Tìm Kiếm
Trang 22Phân tích:
Tiến trình: tìm kiếm thông tin tên hàng có trong kho
Dòng dữ liệu: cho phép người dùng có thể tìm tên hàng có trong CSDL
Sơ đồ giải thuật:
Trang 23CHƯƠNG 4 KẾT LUẬN
1 Kết quả đạt được
Hệ thống quản lý kho hàng giúp cho việc quản lý nhập xuất hàng thực hiện mộtcách nhanh chóng thuận tiện và an toàn, góp phần tiết kiệm thời gian và giảmbớt các công việc thủ công
Hệ thống đáp ứng được những yêu cầu cơ bản trong công tác cập nhật, xử lýxuất nhập hàng hóa một cách nhanh chóng, chính xác như cập nhật dữ liệu, tìmkiếm thông tin…giao diện thân thiện, đơn giản dễ sử dụng
2 Những tồn tại của chương trình
- Hệ thống chỉ mới phát triển bằng ngôn ngữ Microsoft Access và chỉ chạy được trên máy đơn
- Chưa xây dựng hệ thống bảo mật cơ cở dữ liệu và phân quyền người sử dụng
- Chưa xây dựng được chức năng đổi mật khẩu cho người dùng
- Chưa xây dựng được chức năng thống kê báo cáo
3 Hướng phát triển
- Tiếp tục hoàn thiện các chức năng còn chưa làm được
- Phân quyền cho người dùng
- Tối ưu hóa các chức năng của chương trình
- Tiếp tục nghiên cứu phát triển các chức năng mới cho chương trình
- Mở rộng phạm vi quản lý cho chương trình
Trang 24Tài liệu tham khảo
1 Giáo trình Lập trình windows – Đỗ Ngọc Sơn – Đỗ Thị Tâm- Vũ Đức Huy
2 Tài liệu tổng hợp internet:
http:// vi.wikipedia.org/
http://vnforum.vn
http://congdongcviet.vn