Lời nói đầu
Quản lý hàng hóa vật tư là hoạt động có ở bất cứ cơ sở kinh doanh
nào, kể cả nhà nước lẫn tư nhân. Việc quản lý hàng hóa vật tư thủ công làm
mất rất nhiều thời gian, chi phí mà hiêu quả lại không cao. Ngày nay cùng
với sự phát triển của khoa học công nghệ các đơn vị sản xuất dần dần
chuyển từng bước áp dụng công nghệ thông tin vào quản lý nhằm giảm
thiểu tối đa chi phí, nâng cao hiệu quả trong công tác quản lý. Yều cầu đặt
ra đối với một bài toán quản lý hàng hóa đó là quản lý được hàng hóa tồn
trong kho, có thể biết được hiện nay trong kho này hàng hóa tồn với số
lượng bao nhiêu, chất lượng sản phẩm tồn ra sao. Ngoài ra cũng cần quản
lý được các đơn vị, tổ chức thường xuyên giao dịch với đơn vị mình, thực
hiện việc viết phiếu nhập kho, xuất kho khi phát sinh giao dịch với khách
hàng hay nhà cung cấp, cho phép lập các báo cáo về tình hình xuất nhập,
báo cáo về số lượng hàng tồn kho…gửi lên các cấp lãnh đạo để giúp ban
lãnh đạo đưa ra những giải pháp kịp thời, đúng đắn xây dựng công ty ngày
càng phát triển.
Đề án:"Xây dựng phần mềm quản lí kho hàng Công ty cổ phần
PT& TM Goldtech.” mong sẽ giúp giải quyết được những khó khăn gặp
phải trong công tác quản lý kho hàng kể trên. Đề án còn rất nhiều thiếu sót
mong nhận được những ý kiến đóng góp quí báu của các thầy cô.
Em xin chân thành cảm ơn!
Hà Nội, tháng 11 năm 2008
Sinh viên thực hiện:
Nguyễn Trọng Thành
Chương 1: Tổng quan về công ty tin học Goldtech
và bài toán quản lý kho hàng.
1.1 Tổng quan về công ty tin học Goldtech.
Trụ sở : 192 Hoàng Ngân - Trung Hòa – Cầu Giấy – Hà Nội
Tel : 04. 5565750
Văn phòng đại diện: 106 G4 – Thành Công – Hà Nội.
•Kinh doanh phân phối các sản phẩm tin học cho khách hàng và cho
các công ty, doanh nghiệp khác.
•Kinh doanh phân phối các thiết bị công nghê tin học.
- Phòng kinh doanh dự án:
•Tư vấn, thực hiện các dự ắn về CNTT trên phạm vi toàn quốc
•Tiếp cận với các đối tác nước ngoài
•Tư vấn triển khai các dây truyền công nghiệp, thực hiện các dự án về
cung cấp thiết bị công nghiêp.
- Trung tâm tích hợp hệ thống:
•Phân tích thiết kế hệ thống, xây dựng các giải pháp mạng, xây dựng
hệ thống quản lý doanh nghiệp.
•Tư vấn xây dựng các giải pháp mạng cho khách hàng
- Phòng kỹ thuật máy tính:
•Hỗ trợ tất cả các dự án, các hợp đồng trong việc đảm bảo lắp đặt toàn
bộ hệ thống thiết bị phần cứng, cài đặt phần mềm hệ thống và ứng dựng.
•Lắp đặt các thiết bị ngoại vi như máy in, Projector,Scanner, máy vẽ
và các thiết bị chuyên dụng như: Tapebackup, CD-Writer,
•Bảo trì các thiết bị mạng, các phần mềm hệ thống, phần mềm ứng dựng.
- Phòng kỹ thuận chuyên dụng:
•Hỗ trợ tất cả các dự án, các hợp đồng liên quan đến thiết bị viễn thông.
•Nghiên cứu và đưa vào áp dụng những thành tựu mới của Khoa học
công nghệ.
- Trung tâm bảo hành:
•Tổ chức quản lý, bảo hành toàn bộ các thiết bị mà công ty đã cung cấp
•Tiếp nhận thắc mắc của khách hàng và bố trí cán bộ giải quyết thắc mắc.
•Thay thế sửa chữa các thiết bị hỏng hóc.
1.1.3 Các mặt hàng kinh doanh chủ yếu:
- Máy tính nguyên chiếc( PC, Notebook, Server) của các hãng nổi
tiếng như: Compaq, IBM, HP, DELL, Toshiba, Acer,
- Máy in Laser, máy in kim, máy in Mạng, Máy chiếu Projector, máy
- Việc lưu trữ dữ liệu trên giấy tờ, sổ sách vẫn còn nhiều hạn chế.
1.3 Đề xuất giải pháp tin học hóa cho bài toán quản lý kho
•Giải pháp kỹ thuật:
Phần mềm sẽ giúp đơn giản hóa các thao tác để người sử dụng có thể
thực hiện một cách dễ dàng nhất.
Phần mềm được viết bằng ngôn ngữ lập trình Visual Basic, sử dụng hệ
quản trị cơ sở dữ liệu Microsoft Office Access 2003 và công cụ Crystal
Report 8.5 để hỗ trợ lập báo cáo.
•Giải pháp giao diện:
Phần mềm sẽ sử dụng ngôn ngữ Tiếng Việt đế người dùng dễ sử dụng.
Các màn hình xử lý cơ bản có sự tương đồng về hình thức. Trong quá trình
thiết kế, phần mềm có sử dụng một số công cụ hỗ trợ thiết kế giao diện nên
đảm bảo tính thân thiện và thẩm mỹ cao.
Chương 2: Cơ sở phương pháp luận xây dựng phần mềm.
2.1 Công nghệ phần mềm và các khái niệm liên quan
2.1.1 Khái niệm phần mềm
Phần mềm là một hệ thống các chương trình có thể thực hiện trên máy
tính nhằm hỗ trợ các nhà chuyên môn trong từng lĩnh vực chuyên ngành
thực hiện tốt nhất các thao tác nghiệp vụ của mình. Nhiệm vụ chính yếu
của phần mềm là cho phép các nhà chuyên môn thực hiện các công việc
của họ trên máy tính dễ dàng và nhanh chóng hơn so với khi thực hiện
cùng công việc đó trong thế giới thực.
Phân loại phần mềm:
• Phần mềm hệ thống là những phần mềm đảm nhận công việc tích
hợp và điều khiển các thiết bị phần cứng đồng thời tạo ra môi trường thuận
lợi để các phần mềm khác và người sử dụng có thể thao tác trên đó như
một khối thống nhất mà không cần phải quan tâm đến những chi tiết kỹ
thuật phức tạp bên dưới như cách thức trao đổi dữ liệu giữa bộ nhớ chính
và đĩa, cách hiển thị văn bản lên màn hình,
• Phần mềm ứng dụng là những phần mềm được dùng để thực
Công nghệ phần mềm ra đời khi tin học phát triển đến một trình độ
nhất định nào đó. Từ những năm 90 trở đi công nghệ phần mềm được nói
đến như một ngành mũi nhọn trong nền kinh tế quốc dân.
Công nghệ phần mềm bao gồm một tập hợp với 3 thành phần chủ chốt
– Quy trình công nghệ, Phương pháp phát triển phần mềm, công cụ và môi
trường phát triển phần mềm - giúp cho người quản lý có thể kiểm soát
được quá trình phát triển phần mềm và cung cấp cho một nền tảng để xây
dựng một phần mềm chất lượng cao.
•Quy trình công nghệ phần mềm : Hệ thống các giai đoạn mà quá
trình phát triển phần mềm phải trải qua. Với mỗi giai đoạn cần xác định rõ
mục tiêu, kết quả nhận được từ giai đoạn trước đó cũng chính là kết quả
chuyển giao cho giai đoạn kế tiếp.
•Để tiến hành xây dựng một phần mềm, chúng ta có thể áp dụng
nhiều phương pháp khác nhau. Mỗi phương pháp sẽ có những hướng dẫn
cụ thể các công việc cần phải thực hiện trong từng giai đoạn trong quy trình
xây dựng phần mềm. Các phương pháp xây dựng phần mềm được chia làm
hai nhóm khác nhau dựa vào tính chất của công việc cần thực hiện:
- Phươn pháp xây dựng :
+ Phương pháp hướng chức năng
+ Phương pháp hướng dữ liệu
+ Phương pháp hướng đối tượng
- Phương pháp tổ chức quản lý:
+ Xây dựng dự án
+ Tổ chức nhân sự
Công nghệ phần mềm
Chức năng
Kĩ sư phần mềm
Quản trị dự ánQuy trình công nghệ
Thành phần
Công cụ và môi trường
Định nghĩa
các yêu cầu
Sản xuất và
bảo trì
Tổng hợp và thử
nghiệm toàn bộ
phần mềm
Thực hiện và
thử nghiện
từng đơn vị
Thiết kế phần
mềm và hệ
thống
Hình 2.2: Vòng đời phát triển của phần mềm
3. Thực hiện và thử nghiệm các đơn vị : trong giai đoạn này, thiết kế
phần mềm phải được chứng thực như là một tập hợp nhiều chương trình
hay nhiều đơn vị nhỏ. Thử nghiệm các đơn vị bao gồm xác minh rằng mỗi
đơn vị thỏa mãn đặc tả của nó.
4. Tổng hợp và thử nghiệm toàn bộ : các đơn vị chương trình riêng lẻ
hay các chương trình được tích hợp lại và thử nghiệm như là một hệ thống
hoàn tất và chứng tỏ được các yêu cầu của phần mềm được thỏa mãn. Sau
khi thử nghiệm phần mềm được cung ứng cho người tiêu dùng.
5. Sản xuất và bảo trì : thông thường ( nhưng không bắt buộc ) đây là
pha lâu nhất của chu kỳ tồn tại của sản phẩm. Phần mềm được cài đặt và
được dùng trong thực tế. Bảo trì bao gồm điều chỉnh các lỗi mà chưa được
phát hiện trong các giai đoạn trước của chu kỳ mà phần mềm được cài đặt,
nâng cấp sự thực hiện của hệ thống các đơn vị và nâng cao hệ thống dịch
vụ cho là các phát hiện về yêu cầu mới.
2.2 Tổng quan về quy trình phát triển phần mềm
Trong quy trình sản xuất phần mềm người ta thường tuân theo 6 quy
Quá trình phân tích:
- Phân tích phạm vi dự án
- Phân tích mở rộng yêu cầu nghiệp vụ
- Phân tích yêu cầu bảo mật
- Phân tích yêu cầu tốc độ
- Phân tích khả năng vận hành
- Phân tích yếu tố con người
Xác định yêu cầu : xác định thật chính xác và đầy đủ các yêu cầu
đặt ra cho phẩn mềm sẽ được sử dụng.
- Yêu cầu và mô tả yêu cầu : Các yêu cầu của phần mềm cần được
mô tả thật rõ ràng, cu thể, đầy đủ chính xác các thông tin liên quan đến
công việc tương ứng. Việc mô tả sơ sài, mơ hồ yêu cầu phần mềm sẽ dẫn
đến việc hiểu nhầm giữa chuyên viên tin học ( người thực hiện phần mềm )
và khách hàng ( người đặt hàng thực hiện phần mềm).
- Phân loại yêu cầu : Bao gồm yêu cầu chức năng và yêu cầu phi
chức năng.
Yêu cầu chức năng là danh sách các công việc sẽ được thực hiện trên
máy tính cùng với các thông tin mô tả tương ứng
Yêu cầu phi chức năng là các yêu cầu liên quan đến chất lượng phần
mềm, là sự ràng buộc cách thức thực hiện các yêu cầu chức năng.
- Các bước xác định yêu cầu : Quá trình thực hiện xác định yêu cầu
gồm 2 bước chính như sau
Bước 1 : Khảo sát hiện trạng, kết quả nhận được là các báo cáo về
hiện trạng
Bước 2 : Lập danh sách các yêu cầu, kết quả nhận được là danh sách
các yêu cầu sẽ được thực hiện trên máy tính.
Mô hình hóa yêu cầu hệ thống : Cho phép ta hiểu một cách chi tiết
hơn về ngữ cảnh vấn đề cần giải quyết một cách trực quan và bản chất nhất
( thông tin cốt lõi ) yêu cầu. Kết quả cho một mô hình mô tả lại hoạt động
của hệ thống thực. Mỗi phương pháp phân tích đưa ra một kiểu sơ đồ hay
DFD là công cụ đơn giản dễ hiểu đối với phân tích viên hệ thống và người
dùng và biểu diễn tài liệu phân tích hệ thống một cách đầy đủ, súc tích,
ngắn gọn.
Các bước xây dựng DFD :
o Phân rã chức năng hệ thống
o Liệt kê các tác nhân, các khoản mục dữ liệu
o Vẽ DFD cho các mức
Nguyên tắc :
o Các tiến trình phải có luồng vào, luồng ra
o Không có luồng dữ liệu trực tiếp giữa các tác nhân với tác nhân và
kho dữ liệu
o Luồng dữ liệu không quay lại nơi xuất phát
o Bắt đầu bằng sơ đồ ngữ cảnh, từ sơ đồ ngữ cảnh đó phân rã thành
các sơ đồ mức 0, mức 1…
- Mô hình thực thể quan hệ ERD ( Entity – Relation Diagram )
o Thực thể : Là đối tượng thế giới thực mà chúng ta muốn xử lý, có
thể là đối tượng hay trừu tượng.
o Thuộc tính : Đặc điểm của thực thể
o Quan hệ : Là mối liên hệ giữa các thực thể, là thông tin cần lưu trữ,
xử lý
o Kế thừa : Là quan hệ kế thừa giữa các thực thể
2.2.3 Quy trình phân tích thiết kế
Vai trò :
• Thiết kế phần mềm nằm ở trung tâm kỹ thuật của tiến trình công
nghệ phần mềm. Một khi các yêu cầu phần mềm đó được phân tích và đặc
tả thì thiết kế phần mềm là một trong những hoạt động cần để kiểm chứng
phần mềm.
• Thiết kế là nơi chất lượng được nuôi dưỡng trong việc phát triển
phần mềm. Thiết kế cung cấp cho ta cách biểu diễn phần mềm có thể được
xác nhận về chất lượng. Thiết kế là cách duy nhất mà chúng ta có thể dịch
quát được toàn bộ bài toán. Sau đó phân chia nhiệm vụ cần giải quyết thành
những nhiệm vụ cụ thể hơn, tức là chuyển dần từ module chính đến các
module con từ trên xuống dưới.
• Thiết kế từ dưới lên ( Bottom up Design ) : Trước hết người ta
tiến hành giải quyết các vấn đề cụ thể, sau đó trên cơ sở đánh giá mức độ
tương tự về chức năng của các vấn đề này trong việc giải quyết bài toán
người ta gộp chúng lại thành từng nhóm cùng chức năng từ dưới lên trên
cho đến module chính. Sau đó sẽ thêm một số chương trình làm phong phú
và đầy đủ hơn chức năng của các phân hệ và cuối cùng là thiết kế một
chương trình làm nhiệm vụ tập hợp các module thành một hệ chương trình
thống nhất hoàn chỉnh.
2.2.4 Quy trình lập trình
Mục đích : Trên cơ sở của hồ sơ thiết kế, bộ phận lập trình tiến
hành chi tiết hóa các sơ đồ khối hay các lưu đồ để biến thành các bản vẽ
thiết kế sản phẩm phần mềm nhưng bản thân công đoạn lập trình phải trung
thành với thiết kế kiến trúc của phần mềm, không được làm thay đổi.
Nội dung :
• Lập trình các thư viện chung
• Lập trình module
• Tích hợp hệ thống
Tổng quan về ngôn ngữ lập trình
• Ngôn ngữ thế hệ thứ
nhất : Đặc điểm là phụ thuộc rất mạnh vào từng máy tính cụ thể và mức độ
trừu tượng của các chương trình thường rất thấp. Tiêu biểu là hợp ngữ.
• Ngôn ngữ thế hệ thứ
hai : Phát triển từ cuối những năm 1950 và đầu những năm 1960. Các ngôn
ngữ thứ hai được đặc trưng bởi việc sử dụng một thư viện các chương trình
phần mềm rất lớn được sử dụng rộng rãi trong các lĩnh vực khác nhau. Tiêu
biểu là : FORTRAN, COBOL, BASIC.
• Ngôn ngữ thế hệ thứ 3 :
Những hệ quản trị cơ sở dữ liệu được dùng nhiều nhất là Microsoft
Access, Microsoft Visual Foxpro, Microsoft SQL Server và Oracle.
Microsoft Access là một thành phần của chùm phần mềm Microsoft
Office Professional, vì thế mà những đối tượng thuộc giao diện như thực
đơn, dải công cụ và hộp thoại đề tương tự như các ứng dụng khác của
office mà phần lớn cán bộ văn phòng đã quen dùng. Việc trao đổi dữ liệu
giữa Access và các ứng dụng khác trong môi trường Windows cũng rất
thuận tiện.
Access có rất nhiều chức năng để đáp ứng những nhu cầu khác nhau
về CSDL. Có thể dùng Access để phát triển sáu kiểu ứng dụng phổ biến
nhất : ứng dụng cá nhân, ứng dụng cho doanh nghiệp nhỏ, ứng dụng cho
nội bộ từng phòng ban, ứng dụng cho toàn công ty, ứng dụng ở tuyến trước
cho các CSDL theo mô hình khách chủ trên một phạm vi toàn doanh
nghiệp và ứng dụng trên mạng nội bộ của một cơ quan và mạng máy tính
quốc tế.
Các thành phần của một cơ sở dữ liệu Access :
Table ( Bảng ) : các
bảng lưu dữ liệu được định dạng theo cột và dòng, tương tự như việc ứng
dụng bảng tính. Chúng ta có thể tạo và mở nhiều bảng ( được giới hạn bởi
bộ nhớ của máy tính ).
Query ( Truy vấn ) :
Mỗi truy vấn là một câu hỏi đơn giản từ cơ sở dữ liệu cho phép bạn hiển thị
dữ liệu thỏa mãn điều kiện hỏi. Mỗi lần xem dữ liệu bạn thường không
muốn hiển thị toàn bộ dữ liệu trong cơ sở dữ liệu, bằng việc dùng các truy
vấn bạn có thẻ xác định xem những bản ghi nào và những trường nào từ
các bảng dữ liệu đã có sẽ được hiển thị.
Form ( Mẫu biểu) : Các
form được sử dụng để truy nhập dữ liệu và cập nhật các dữ liệu hiện thời.
Các form sẽ hiển thị dữ liệu thường là một bản ghi nhiều hơn là dạng cột và
dòng. Các form có thể đại diện cho các trường trong bảng theo bất kỳ một
trình khác, Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng hình
dáng, màu sắc, kích thước của đối tượng có trong mặt ứng dụng.
Mặt khác khả năng của Visual Basic là khả năng kết hợp các thư viện
liên kết động DLL ( Dynamic Link Library ). DLL chính là phần mở rộng
cho Visual Basic tức là khi ta xây dựng một ứng dụng nào đó có một yêu
cầu mà Visual Basic không thể đáp ứng được ta có thể viết thêm DLL phụ
trợ.
Người dùng Visual Basic cũng thấy tiện lợi khi tiết kiệm được thời
gian, công sức so với các ngôn ngữ khác khi xây dựng cùng một ứng dụng.
Khi viết chương trình bằng Visual Basic, chúng ta phải trải qua hai
bước :
- Thiết kế giao diện
- Viết lệnh
Thiết kế giao diện :
Visual Basic là ngôn ngữ lập trình hướng đối tượng nên việc thiết kế
giao diện rất đơn giản. Trong hộp Tools box, ta có thể xác định đối tượng,
sau đó ta đặt đối tượng vào Form và tiến hành thay đổi một số thuộc tính
của đối tượng đó trực tiếp trên đối tượng hoặc thông qua cửa sổ thuộc tính
Properties Windows.
Form :
Tương tự như trong Access, Form là biểu mẫu mỗi ứng dụng trong
Visual Basic. Ta dùng Form nhằm định vị và sắp xếp các bộ phận trên nó
khi thiết kế các phần giao tiếp với người dùng.
Ta có thể xem Form như một bộ phận mà nó chứa các bộ phận khác.
Form chính là ứng dụng, các thành phần của nó tương tác với các Form
khác, các bộ phạn của chúng tạo nên giao tiếp cho ứng dụng. Form chính là
giao diện chính cho ứng dụng, các Form khác có thể chứa các hộp thoại
hiển thị các nhập liệu…
Trong nhiều ứng dụng Visual Basic, kích cỡ và vị trí của biểu mẫu
vào lúc hoàn tất thiết kế là kích cỡ và hình dạng người dùng sẽ gặp vào thời
Basic phải nằm trong thủ tục hoặc các hàm, các dòng mã cô lập sẽ không
làm việc.
Cửa sổ code :
Cửa sổ code là nơi viết mã. Cửa sổ code có một thành tách ( Split
Bar ) nằm bên dưới thành tiêu đề, tại đầu thanh cuộn dọc để có thể xem hai
phần cửa sổ code cùng một lúc.
Chương 3: Xây dựng phần mềm quản lý kho hàng của
công ty GoldTech.
3.1 Xác định yêu cầu.
Sau khi nắm bắt được những khó khăn của doanh nghiệp ta xác
định những yêu cầu cần có của phần mềm để giải quyết tốt khó khăn trên.
Ta quan tâm nghiên cứu đến các yêu cầu chức năng là các yêu cầu quản lý
chính của doanh nghiệp, ngoài ra cần nghiên cứu các yêu cầu phi chức
năng để phần mềm thân thiện và có những tính năng bảo mật tốt hơn.
3.1.1 Yêu cầu chức năng
* Quản lý danh mục:
- Cập nhật danh mục các loại máy tính, máy in, linh kiện,
- Cập nhật danh mục đơn vị nhập, nhân viên nhập.
- Cập nhật danh mục đơn vị xuất, nhân viên xuất.
* Quản lý xuất, nhập
- Cập nhật phiếu nhập kho
- Cập nhật phiếu xuất kho
* Quản lý tồn kho
- Cập nhật hàng hóa tồn kho
- Thống kê các mặt hàng, loại hàng theo từng tháng, từng kỳ kinh
doanh
- Tổng hợp các phát sinh xuất, nhập trong kỳ.
* Xuất báo cáo
- Báo cáo danh mục hàng hóa
- Lập báo cáo hàng nhập kho theo loại hàng, tên hàng
phiếu nhập kho
Nhận, kiểm tra
HĐBH
Cập nhật hàng
nhập kho
Truy xuất dữ
liệu
Cập nhật hàng
xuất kho
Lập phiếu
xuất kho
Tính toán,
tổng hợp
Vào sổ
hàng xuất
Lên báo cáo
Tổng hợp tồn
kho
Hình 3.1: Sơ đồ chức năng kinh doanh phân hệ quản lý kho
Quản Lý
Kho hàng
Khách hàng Nhà cung cấp
Thông tin về hàng hóa,
Phiếu xuất hàng
Yêu cầu thông tin,
đơn đặt hàng
Đơn đặt hàng, phiếu
nhập hàng
Thông tin về hàng hóa,
HĐBH