Đề tài: Phần mềm quản lý kho
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRUNG TÂM ĐÀO TẠO TÀI NĂNG
BÀI TẬP LỚN
Đề tài: Phần mềm quản lý kho cho chi nhánh công ty cổ phần thương
mại Xây dựng Cơ khí Điện tự động hóa COMEECO
số 54/16 Nguyến Khánh Toàn – Hà Nội
Hướng dẫn nghiệp vụ: chị Phùng Thị Kim Loan. Mobile: 0916 853 575
Giảng viên hướng dẫn: PGS.TS Nguyễn Việt Hương
Thực hiện: Nhóm sinh viên 2
Họ và tên Email Số điện thoại
Nguyễn Tiến Cường 0973 255 677
Phạm Văn Chí 0985 372 146
Lê Thái Hưng 0972 186 249
Vũ Hữu Tiệp 0975 936 743
Vũ Đình Quyền 01693 053 446
Lớp: KSTN – ĐTVT – K52
Hà Nội, 3 - 2010
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 1
Đề tài: Phần mềm quản lý kho
Thông tin cá nhân của các thành viên trong nhóm 2
Vũ Hữu Tiệp (Lớp trưởng)
Mobile: 0975 936 743
Mail:
Vũ Đình Quyền
Mobile: 01693 053 446
Mail:
Lê Thái Hưng – TL
Mobile: 0972 186 249
Mail:
Nguyễn Tiến Cường
Mobile: 0973 255 677
Mail:
Phạm Văn Chí
Mobile: 0985 372 146
Mail:
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 2
Đề tài: Phần mềm quản lý kho
Mục lục
Thông tin cá nhân của các thành viên trong nhóm 2.....................................................2
Mục lục..............................................................................................................................3
........................................................................................................................................... 5
CHƯƠNG I: MỞ ĐẦU.....................................................................................................6
1.1Giới thiệu (Senario)........................................................................................................6
1.1.1 Chi nhánh công ty cổ phần thương mại Xây dựng Cơ khí Điện tự động hóa
COMEECO.....................................................................................................................6
1.1.2 Sơ đồ tổ chức chi nhánh công ty và đối tượng phục vụ chính của project.............7
1.2Báo cáo khả thi (Project Feasibility)..............................................................................8
1.2.1Khả thi về kỹ thuật..................................................................................................8
1.2.2Khả thi về kinh tế....................................................................................................8
1.2.3Khả thi về vận hành.................................................................................................8
1.2.4Khả thi về kế hoạch làm việc..................................................................................9
1.3 Phạm vi của project (Project Scope)...........................................................................10
1.3.1 Chức năng.............................................................................................................10
1.3.2 Dữ liệu..................................................................................................................10
1.3.3 Phần cứng.............................................................................................................10
1.3.4 Phần mềm.............................................................................................................10
1.3.5 Nhân lực...............................................................................................................10
CHƯƠNG II. GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG...............................................12
2.1. Đánh giá Hệ Quản trị Cơ sở Dữ liệu (Database Management System Assessment). 12
2.1.1 Microsoft Access.................................................................................................12
2.1.2 Oracle..................................................................................................................13
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 3
Đề tài: Phần mềm quản lý kho
2.1.3 FoxPro.................................................................................................................14
2.1.4 SQL Server..........................................................................................................14
2.2. Đánh giá các công nghệ khác ...................................................................................17
2.2.1 C/C++..................................................................................................................17
2.2.2 Visual Basic..........................................................................................................18
2.2.3 C#........................................................................................................................18
2.3. Kết luận & đánh giá..................................................................................................19
CHƯƠNG III: PHÂN TÍCH HỆ THỐNG....................................................................20
3.1 System requirements analysis.....................................................................................20
3.2 Phân tích các yêu cầu về xử lý của hệ thống hiện hành (Processing Requirement
Analysis ò existing system)...............................................................................................21
3.2.1 Phỏng vấn (interview)..........................................................................................21
3.2.2 Thủ tục xử lý........................................................................................................21
3.3. Phân tích yêu cầu về dữ liệu (Data Requirement Analysis).......................................23
3.3.1Dữ liệu đầu vào.....................................................................................................23
3.3.2 Dữ liệu đầu ra.......................................................................................................38
3.4.1 Phân tích các chức năng.......................................................................................46
3.4.2 Fuction Diagram...................................................................................................48
3.4.3 Data flow diagram ...............................................................................................49
CHƯƠNG IV: THIẾT KẾ HỆ THỐNG.......................................................................58
4.1 Thiết kế Cơ sở dữ liệu (Database design)...................................................................58
4.1.1 Dữ liệu thông tin yêu cầu mua vật tư (theo mẫu biểu Hình 3.3 - “Phiếu yêu
cầu vật tư (Dùng cho yêu cầu mua vật tư)”...................................................................58
STT...................................................................................................................................60
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 4
Đề tài: Phần mềm quản lý kho
4.1.2 Dữ liệu thông tin yêu cầu sự dụng dụng cụ, vật tư (theo mẫu biểu Hình 3.4 -
“Phiếu yêu cầu vật tư (Dùng cho đội thi công hoặc nhân viên cần sử dụng dụng cụ, vật
tư)”.................................................................................................................................68
STT...................................................................................................................................69
4.1.3 Dữ liệu thông tin hóa đơn nhập kho (theo mẫu biểu Hình 3.9 Phiếu nhập kho)..77
4.1.4 Dữ liệu thông tin hóa đơn xuất kho (theo mẫu biểu Hình 3.10 Phiếu xuất kho)..86
4.2 Thiết kế giao diện (Interface design)...........................................................................97
........................................................................................................................................101
Hình 4.15 Chỉnh sửa thông tin nhân viên....................................................................101
KẾT LUẬN....................................................................................................................102
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 5
Đề tài: Phần mềm quản lý kho
CHƯƠNG I: MỞ ĐẦU
(Instroduction)
1.1 Giới thiệu (Senario)
1.1.1 Chi nhánh công ty cổ phần thương mại Xây dựng Cơ khí Điện tự động
hóa COMEECO
Chi nhánh Công ty công ty cổ phần thương mai Xây dựng Cơ khí Điện tự động hóa
COMEECO là một công ty đa ngành nghề hoạt động trên các lĩnh vực:
Điện tự động hóa- COMEECO ELECTRIC
Cơ khí – COMEECO MECHANICAL
Xây dựng – COMEECO CÓNTRUCTION
Các lĩnh vực hoạt động chủ yếu:
Tư vấn giải pháp, Thiết kế, Cung cấp thiết bị, lắp đặt và viết phần mềm cho hệ
thống điện, hệ thống tủ bảng điện, hệ thống tự động hóa và điều khiển tự động,
hệ thống thàn máng cáp cho các tòa nhà, cho các nhà má công nghiệp, cho các hệ
thống lạnh, tiết giảm năng lượng…
Thiết kế, chế tạo, lắp đặt các loại tủ, bảng điện, hệ thống đo lường tự động hóa
trong công nghiệp.
Lắp đặt: Hệ thống điện, hệ thống cấp thoát nước, điều hòa không khí, máy móc
và thiết bị ngành công nghiệp;
Gia công cơ khí;
Cung cấp các thiết bị, phần mềm đặc thù và chuyên dụng;
Cung cấp các dịch vụ ngành điện tử, tin học, bưu chính viễn thông;
Tư vấn và chuyển giao công nghệ trong lĩnh vực công nghệ thông tin;
Xây dựng các công trình: dân dụng, công nghiệp, giao thông (đường sắt và
đường bộ), đường dây và trạm biến áp đến 110kV;
Sản xuất các sản phẩm điện tử dân dụng;
Sản xuất thiết bị đo lường, kiểm tra, định hướng và điều khiển, mua bán, lắp đặt
thi công bảo trì bảo dưỡng: hệ thống điện chiếu sáng, tin học, hệ thống bảo vệ,
báo cháy, chống cháy, thông gió, điều hòa không khí, thang máy, cân điện tử.
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 6
Đề tài: Phần mềm quản lý kho
1.1.2 Sơ đồ tổ chức chi nhánh công ty và đối tượng phục vụ chính của project
Trên đây là sơ đồ tổ chức chi nhánh công ty với phòng kế toán là đối tượng phục vụ
chính của project.
1. Mối quan hệ với các phòng khác:
Phòng Kỹ thuật và xưởng cơ khí yêu cầu vật tư, gửi phiếu đến phòng kế toán để yêu
cầu mua vật tư – Thông qua quản lý kho
Phòng Kinh doanh bán hàng và mua hàng, quan hệ với phòng kế toán thông qua
chức năng quản lý đối tác và quản lý kho.
Phòng hành chính tổng hợp cung cấp cho phòng kế toán về dữ liệu nhân viên trong
công ty.
Hàng tháng, hàng quý và hàng năm, phòng kế toán gửi báo cáo về kinh doanh, lương
nhân viên, Thuế, Ngân Hàng, về thông tin trong kho, thông tin khách hàng cho giám đốc
điều hành và hội đồng quản trị.
2. Các chức năng của phòng kế toán:
- Quản lý kho
- Quản lý lương nhân viên
- Quản lý danh mục đối tác, bao gồm khách hàng và nhà cung cấp
- Kế toán thuế
- Kế toán ngân hàng
- Kế toán công trình
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 7
Đề tài: Phần mềm quản lý kho
- Quản lý quỹ
Công ty hoạt động trên rất nhiều lĩnh vực với nhiều công việc phức tạp, đòi hỏi đội
ngũ kế toán phải xử lý khối lượng công việc lớn. Tuy nhiên, công cụ xử lý của công ty chủ
yếu là Excel và một số phần mềm nhỏ khác, chưa đáp ứng được tốc độ phát triển nhanh của
công ty. Trên cơ sở đó, nhóm chúng em sẽ thiết kế một phần mềm quản lý 1 chức năng
chính của phòng kế toán hiện giờ .
Trong đề tài này, nhóm chỉ tập trung triển khai làm phần mềm cho chức năng đó là:
Quản lý Kho. Mặc dù chưa có kinh nghiệm làm phần mềm nhưng chúng em tin rằng với sự
cố gắng của tất cả các thành viên trong nhóm, sau ba tháng nữa, nhóm sẽ có kết quả tốt.
1.2Báo cáo khả thi (Project Feasibility)
1.2.1 Khả thi về kỹ thuật
Phần mềm viết cho phòng kế toán của công ty CPTM Xây Dựng Cơ khí Điện tự
động hóa COMEECO dựng trên: hệ quản trị cơ sở dữ liệu và các ngôn ngữ thiết kế giao
diện. Chúng là những công nghệ tốt và không khó tiếp thu:
• Đã biết lập trình C++, sắp tới là hệ quản trị cơ sở dữ liệu.
• Các công cụ trên có thể tìm thấy trên internet.
1.2.2 Khả thi về kinh tế
Đây là bài tập lớn bổ trợ cho việc tiếp thu môn học. Vì vậy nhóm không xét
đến tính khả thi về kinh tế.
1.2.3 Khả thi về vận hành
Công ty có dàn máy tính, cấu hình khá cao:
- Chip xử lý: Intel Core 2 Duo, 2.26 GHz ~ 2.3GHz
- Ram: 1G
- Ổ cứng: Samsung 160G.
- Hệ điều hành: Window XP SP2
Mặt khác, phần mềm nhóm định thực hiện giao diện không quá bóng bảy, không đòi
cấu hình cao như các phần mêm thực hiện các chức năng mô phỏng đồ họa. Đó là cơ sở
vững chắc nhóm tin rằng các máy tính trên hoàn toàn có khả năng chạy được phần mềm sẽ
thiết kế với đầy đủ tính năng
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 8
Đề tài: Phần mềm quản lý kho
1.2.4 Khả thi về kế hoạch làm việc
Sau khi đánh giá sơ bộ về thực trạng, yêu cầu doanh nghiệp, khả năng nhóm phát
triển cũng như quá trình vận hành dự án có thể được phát triển theo trình tự:
Task Name Duration Start Finish
Nghiên cứu sơ bộ 1 week 22/2/2010 28/2/2010
Phân tích hệ thống 3 weeks 26/2/2010 12/3/2010
Thiết kế hệ thống 5 weeks 10/3/2010 9/4/2010
Phát triển hệ thống 5 weeks 6/4/2010 7/5/2010
Triển khai, đánh
giá
4 weeks 3/5/2010 21/5/2010
Trong quá trình thực hiện kế hoạch, do những hạn chế nhất định về thời gian, nghiệp
vụ chuyên môn cũng như một số vấn đề khác, các giai đoạn trên có thể được thực hiện lồng
vào nhau hoặc thực hiện nhiều lần.
Nhóm hoàn toàn có đủ cơ sở đê tin tưởng rằng khung thời gian này law đủ và hợp lý
cho việc xây dựng phầm mềm kế toán cho phòng kế toán, công ty CPTM Xây dựng Cơ khí
Điện tự động hóa COMEECO
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 9
Đề tài: Phần mềm quản lý kho
1.3 Phạm vi của project (Project Scope)
1.3.1 Chức năng
Do thời gian có hạn, trong khuôn khổ project, chương trình quản lý Kho bao gồm:
• Xử lý đầu vào: phiếu yêu cầu vật tư, nhập kho, xuất kho
• Lập báo cáo Kho: Cho biết tình trạng kho vật tư trên máy tính
Đây là chỉ là những chức năng chính mà nhóm lập trình, phù hợp với sự hoạt động
của chi nhánh công ty hiện thời. Nghiệp vụ kế toán luôn là một hoạt động quan trọng trong
công ty, bên cạnh các thủ tục xuất-nhập Kho còn có kế toán vốn bằng tiền, kế toán lương,
kế toán vật tư, kế toán ngân hàng, kế toán tài sản cố định…nhóm không tiến hành xử lý
trong phần mềm
1.3.2 Dữ liệu
Dữ liệu đầu vào: phiếu yêu cầu vật tư, phiếu nhập kho, phiếu xuất kho.
Dữ liệu đầu ra: Báo cáo nhập kho, xuất kho, tồn kho.
1.3.3 Phần cứng
Cấu hình máy tính không cần quá cao với ứng dụng trong khuân khổ project
- Máy tính: Bộ vi xử lý Intel Dual Core hoặc cao hơn
- Ram 1GB trở lên.
- Ổ cứng 80GB trở lên
- Các thiết bị ngoại vi kèm theo: Máy in, máy Fax.
- Hệ thống máy tính được nối mạng nội bộ công ty với nhau. Cơ sở dữ liệu
được sao lưu trên máy chủ.
1.3.4 Phần mềm
• Máy tính chạy hệ điều hành WinXP/Vista/Window 7.
• Bộ gõ tiếng Việt: TCVN 5712:1993, nên dùng Unikey 3.5 hoặc Vietkey 2000 trở
lên.
• Phần mềm khác: Microsoft Office XP/2003 cho kết xuất báo cáo, viết thư.
1.3.5 Nhân lực
Đề tài được thực hiện bởi nhóm 5 sinh viên.
• Nguyễn Tiến Cường
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 10
Đề tài: Phần mềm quản lý kho
• Phạm Văn Chí
• Lê Thái Hưng (TL)
• Vũ Hữu Tiệp
• Vũ Đình Quyền.
Với thời gian dự kiến 12 tuần,cùng với sự hợp tác và trách nhiệm của mỗi thành
viên. Nhóm 2 sẽ hoàn thành đề tài hiệu quả và đúng yêu cầu đưa ra.
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 11
Đề tài: Phần mềm quản lý kho
CHƯƠNG II. GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG
(Instroduction to Technology)
2.1. Đánh giá Hệ Quản trị Cơ sở Dữ liệu (Database Management
System Assessment)
HQTCSDL là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu.
Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm
thông tin trong một cơ sở dữ liệu (CSDL). Có rất nhiều loại hệ quản trị CSDL khác nhau:
từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên
một hoặc nhiều siêu máy tính
Hiện nay có rất nhiều HQTCSDL, tùy từng yêu cầu cụ thể ta sẽ sử dụng các công cụ
khác nhau. Một số Hệ QTCSDL thông dụng hiện nay:
- MS Access
- Oracle (của hãng Oracle)
- FoxPro
- SQL Server (của hãng Microsoft)
2.1.1 Microsoft Access
Microsoft Access là một Hệ Quản Trị Cơ Sở Dữ Liệu (QTCSDL) tương tác người
sử dụng chạy trong môi trường Windows. Microsoft Access cho chúng ta một công cụ hiệu
lực và đầy sức mạnh trong công tác tổ chức, tìm kiếm và biểu diễn thông tin.
Microsoft Access cho ta các khả năng thao tác dữ liệu, khả năng liên kết và công cụ
truy vấn mạnh mẽ giúp quá trình tìm kiếm thông tin nhanh. Người sử dụng có thể chỉ dùng
một truy vấn để làm việc với các dạng cơ sở dữ liệu khác nhau. Ngoài ra, có thể thay đổi
truy vấn bất kỳ lúc nào và xem nhiều cách hiển thị dữ liệu khác nhau chỉ cần động tác nhấp
chuột.
Microsoft Access và khả năng kết xuất dữ liệu cho phép người sử dụng thiết kế
những biểu mẫu và báo cáo phức tạp đáp ứng đầy đủ các yêu cầu quản lý, có thể vận động
dữ liệu và kết hợp các biểu mẫu va báo cáo trong một tài liệu và trình bày kết quả theo dạng
thức chuyên nghiệp.
Microsoft Access là một công cụ đầy năng lực để nâng cao hiệu suất công việc.
Bằng cách dùng các Wizard của MS Access và các lệnh có sẵn (macro) ta có thể dễ dàng
tự động hóa công việc mà không cần lập trình. Đối với những nhu cầu quản lý cao, Access
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 12
Đề tài: Phần mềm quản lý kho
đưa ra ngôn ngữ lập trình Access Basic (Visual Basic For application) một ngôn ngữ lập
trình mạnh trên CSDL.
Microsoft Access được tích hợp sẵn trong bộ Microsoft Office nên có ưu thế hơn
các phần mềm khác về giá cả.
Nhược điểm chính: phần mềm thích hợp khi cài đặt và sử dụng trong mạng nội bộ
(LAN), không thích hợp nếu như công ty phải sử dụng ở nhiều địa điểm cách xa nhau.
Ngoài ra Access không thể quản lí cơ sở dữ liệu quá lớn và có đông người sử dụng cùng
truy cập một lúc.
2.1.2 Oracle
Oracle bao gồm một tập hợp hoàn thiện các sản phẩm xây dựng ứng dụng và người
dùng cuối được trang bị các giải pháp kỹ thuật thông tin hoàn hảo. Các ứng dụng Oracle
tương thích với hầu hết các hệ điều hành từ các máy tính cá nhân đến các hệ thống xử lý
song song lớn.
Oracle cung cấp một hệ quản trị cơ sở dữ liệu (Database Management System -
DBMS) uyển chuyển: Oracle Server để lưu giữ và quản lý các thông tin dùng trong các ứng
dụng. Phiên bản Oracle 7 quản lý cơ sở dữ liệu với tất cả các ưu điểm của cấu trúc CSDL
quan hệ cộng thêm khả năng lưu giữ và thực thi các đối tượng CSDL như các procedure và
các trigger.
Oracle Server là một hệ quản trị CSDL điều khiển:
- Lưu giữ dữ liệu trên các vùng dữ liệu đã thiết kế
- Truy xuất dữ liệu cho các ứng dụng, dùng các kỹ thuật tương đối tối ưu
- Bảo mật dữ liệu, cấp quyền khác nhau cho các user
- Liên kết và toàn vẹn dữ liệu khi CSDL được phân bố trên mạng
Đây là hệ cơ sở dữ liệu mạnh với rất nhiều ưu điểm tính bảo mật cao, tính an toàn
dữ liệu cao, dễ dàng bảo trì nâng cấp, cơ chế quyền hạn rõ ràng, ổn định,…Bên cạnh đó
Oracle dễ cài đặt, dễ triển khai và dễ nâng cấp lên phiên bản mới. Phần mềm này còn tích
hợp thêm PL/SQL, là một ngôn ngữ lập trình có cấu trúc - Structure Language. Tạo thuận
lợi cho các lập trình viện viết các Trigger, StoreProcedure, Package.
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 13
Đề tài: Phần mềm quản lý kho
2.1.3 FoxPro
Foxpro là hệ quản trị cơ sở dữ liệu dùng để giải quyết các bài toán trong lĩnh vực
quản lý. FoxPro được thừa kế và phát triển trên phần mềm DBASE III PLUS và DBASE
IV, những sản phẩm nổi tiếng của hãng ASTON-TATE. Khi các công cụ lập trình và các
ứng dụng trên môi trường Windowns ngày càng nhiều thì Microsoft cho ra đời các phiên
bản FoxPro 2.6, chạy được trên hai môi trường DOS và Windows. Phiên bản cuối cùng của
FoxPro (2.6) làm việc trên Mac OS, MS-DOS, Windows và Unix. Visual FoxPro 3.0 là
phiên bản "Visual" đầu tiên, có thể chạy trong Mac và Windows, các phiên bản sau chỉ
dùng trong Windows.
Visual FoxPro là sản phẩm của hãng Microsoft, nó kế thừa từ Foxpro for Windows,
là một trong những công cụ tiện lợi để giải quyết các bài toán trong lĩnh vực quản lý cho
những người chuyên nghiệp và không chuyên nghiệp. Visual FoxPro, ký hiệu vắn tắt là
VFP, là một hệ quản trị cơ sở dữ liệu (Database Management System -DBMS) trực quan.
Nó không chỉ là một hệ DBMS mà còn là một ngôn ngữ lập trình có triển vọng. Nó có thể
được dùng để viết cả các ứng dụng web.
Ứng dụng biên-dịch bởi VFP có thể chạy trong Windows mà không cần cài đặt
(install), tuy nhiên phải chứa các file thư viện hỗ trợ lúc chạy (run time support library) tùy
theo version của VFP và Windows.
- Là một hệ biên dịch (compiled), do đó cho phép lập trình viên mềm dẻo trong xử
lý mã : chương trình có thể hoạt động với các mã do nó tự sinh ra trong quá trình
chạy.
- Dễ tách ứng dụng thành nhiều module và do đó có thể dễ dàng nâng cấp sửa đổi.
- Visual Foxpro version trước 9 sẽ không hỗ trợ trực tiếp mã Unicode, VFP9 có hỗ
trợ trực tiếp mã Unicode tùy theo cài đặt trên Windows version.
2.1.4 SQL Server
SQL (Structured Query Language - ngôn ngữ truy vấn mang tính cấu trúc) là một
loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu
quan hệ. Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để phục vụ các hệ
quản trị cơ sở dữ liệu đối tượng-quan hệ. Nó là một tiêu chuẩn ANSI/ISO.
SQL Server là hệ thống quản trị cơ sở dữ liệu quan hệ (Relational DataBase
Management System- RDBMS) sử dụng các lệnh giáo chuyển Transaction-SQL để trao đổi
dữ liệu giữa Client Computer và Server Computer.
SQL Server có một số đặc tính sau:
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 14
Đề tài: Phần mềm quản lý kho
- Cho phép quản trị một hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý dữ
liệu nhanh đáp ứng yêu cầu về thời gian.
- Cho phép nhiều người cùng khai thác trong một thời điểm đối với một CSDL và
toàn bộ quản trị CSDL (lên đến vài chục ngàn user).
- Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công
nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của Windows
NT hoặc sử dụng hệ thống bảo vệ độc lập của SQL Server.
- Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet
- Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựng các
ứng dụng đặc thù (Visual Basic, C, C++, ASP, ASP.NET, XML,...).
- Sử dụng câu lệnh truy vấn dữ liệu Transaction-SQL (Access là SQL, Oracle là
PL/SQL).
- Tính tương thích cao cũng như chi phí rẻ hơn các phần mềm như Oracle, Visual
FoxPro. So sánh giá cả 2 sản phẩm SQL Server và Oracle như trên bảng 2.1 và
bảng 2.2
Bảng 2.1 Bảng so sánh giá cả giữa SQL Server và Oracle 9i Standard Edition
Số
CPU
Oracle 9i Standard Edition SQL Server 2000 Standard Edition
1 15 $ 4,999 $
2 30 $ 9,998 $
4 60 $ 19,998 $
8 120 $ 39,992 $
16 240 $ 79,984 $
32 480 $ 159,968 $
Bảng 2.2: Bảng so sánh giá cả giữa SQL Server và Oracle các phiên bản khác
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 15
Đề tài: Phần mềm quản lý kho
Số
CPU
Oracle 9i
Enterprise
Edition
Oracle 9i
Enterprise
Edition with
OALP or data
mining
Oracle 9i
Enterprise
Edition with
OALP and data
mining
SQL Server 2000
Enterprise Edition
1 40 $ 60 $ 80 $ 19,999 $
2 80 $ 120 $ 160 $ 39,998 $
4 160 $ 240 $ 320 $ 79,996 $
8 320 $ 480 $ 640 $ 159,992 $
16 640 $ 960 $ 1280 $ 319,984 $
32 1280 $ 1920 $ 2560 $ 639,968 $
Có khả năng xử lý khá tốt, nhanh các cơ sở dữ liệu tầm trung nên phù hợp với các
doanh nghiệp vừa và nhỏ.Access không xử lý tốt lắm các dữ liệu lớn.
Ta có thể so sánh 1 vài thông số phụ giữa 2 công cụ Oracle và SQL Server như trên
bảng 2.3:
Hình 2.3: Bảng so sánh một số thông số khác giữa SQL Server và Oracle
Đặc tính SQL Sever 2000 Oracle 9i Database
Độ dài tên cơ sở dữ liệu 128 8
Độ dài tên cột 128 30
Độ dài tên chỉ số 128 30
Độ tài tên bảng 128 30
Độ dài tên được xem 128 30
Độ dài tên thủ tục được lưu 128 30
Độ dài chỉ số 900 749
Số cột tối đa cho mỗi chỉ số 16 32
Số cột tối đa mỗi bảng 1024 1000
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 16
Đề tài: Phần mềm quản lý kho
Số hàng tối đa 1 bảng 8036 255000
Số truy vấn tối đa 16777216 16777216
Đệ quy Subqueries 40 64
Hằng chuỗi kích thước trong
SELECT
16777216 4000
Hằng chuỗi kích thước trong
WHERE
8000 4000
Ngoài ra công cụ SQL server cũng có tính tương thích và hỗ trợ cao với công cụ lập
trình mà nhóm sử dụng là C#.
Với công cụ SQL server, ta dùng phần mềm SQL Server 2005 của Microsoft với các
tính năng khá đầy đủ, tương thích với hệ điều hành tốt
2.2. Đánh giá các công nghệ khác .
Để xây dựng hoàn chỉnh phần mềm quản lý, ngoài DBMS ta còn cần công cụ lập
trình đủ mạnh, thích hợp để viết phần mềm. Một số lựa chọn có thể cân nhắc:.
- C/C++.
- Visual Basic
- C#.
So sánh ưu nhược điểm và đặc điểm từng ngôn ngữ giúp ta có sự lựa chọn tối ưu.
2.2.1 C/C++
Ngôn ngữ lập trình C là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên
1970 bởi Ken Thompson và Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ dó, ngôn
ngữ này đã lan rộng ra nhiều hệ điều hành khác và trở thành một những ngôn ngữ phổ dụng
nhất. C là ngôn ngữ rất có hiệu quả và được ưa chuộng nhất để viết các phần mềm hệ
thống, mặc dù nó cũng được dùng cho việc viết các ứng dụng.
- Đây là một dạng ngôn ngữ đa mẫu hình tự do có kiểu tĩnh và hỗ trợ lập trình thủ
tục, dữ liệu trừu trượng, lập trình hướng đối tượng, và lập trình đa hình. Từ thập
niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại phổ biến
nhất.
- So với C, C++ tăng cường thêm nhiều tính năng, bao gồm: khai báo như mệnh
đề, chuyển kiểu giống như hàm, new/delete, bool, các kiểu tham chiếu, const,
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 17
Đề tài: Phần mềm quản lý kho
các hàm trong dòng (inline), các đối số mặc định, quá tải hàm, vùng tên
(namespace), các lớp (bao gồm tất cả các chức năng liên quan tới lớp như kế
thừa, hàm thành viên (phương pháp), hàm ảo, lớp trừu tượng, và cấu tử), sự quá
tải toán tử, tiêu bản, toán tử ::, xử lí ngoại lệ, và sự nhận dạng kiểu trong thời
gian thi hành.
- C++ là ngôn ngữ hướng đối tượng, 1 điều mà C không có.
- Công cụ soạn thảo của 2 ngôn ngữ này không trực quan tạo điều kiện thuận
lợicho người sử dụng.
2.2.2 Visual Basic
Visual Basic (viết tắt VB) là một ngôn ngữ lập trình hướng sự kiện (event driven) và
môi trường phát triển tích hợp (IDE) kết bó được phát triển đầu tiên bởi Alan Cooper dưới
tên Dự án Ruby (Project Ruby), và sau đó được Microsoft mua và cải tiến nhiều.
Visual Basic đã được thay thế bằng Visual Basic .NET. Phiên bản cũ của Visual
Basic bắt nguồn phần lớn từ BASIC và để lập trình viên phát triển các giao diện người
dùng đồ họa (GUI) theo mô hình phát triển ứng dụng nhanh (Rapid Application
Development, RAD); truy cập các cơ sở dữ liệu dùng DAO (Data Access Objects), RDO
(Remote Data Objects), hay ADO (ActiveX Data Objects); và lập các điều khiển và đối
tượng ActiveX.
Một lập trình viên có thể phát triển ứng dụng dùng các thành phần (component) có
sẵn trong Visual Basic. Các chương trình bằng Visual Basic cũng có thể sử dụng Windows
API, nhưng làm vậy thì phải sử dụng các khai báo hàm bên ngoài.
Visual có khá nhiều ưu điểm như đơn giản, dễ học, dễ sử dụng nhưng cũng có khá
nhiều nhược điểm không phù hợp với dự án:
- Không hỗ trợ khả năng lập trình hướng đối tượng nhất là tính thừa kế
(Inheritance)
- Giới hạn trong khi chạy nhiều tiểu trình trong 1 ứng dụng.
- Khả năng xử lý lỗi yếu.
- Khó dùng chung với các ngôn ngữ khác như C++.
- Không có User Interface thích hợp cho Internet.
2.2.3 C#
Là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần
khởi đầu cho kế hoạch .NET của họ.
Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ
bao gồm dấu số thường. Microsoft phát triển C# dựa trên 2 ngôn ngữ cực mạnh là C++ và
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 18
Đề tài: Phần mềm quản lý kho
Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và
Java.
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với
các sản phẩm Turbo Pascal, Delphi, J++, WFC.
C# là ngôn ngữ khá đơn giản với hơn 80 từ khóa,10 kiểu dữ liệu định nghĩa sẵn.Tuy
nhiên nó vẫn có khả năng hỗ trợ đầy đủ lập trình cấu trúc,thành phần component, lập trình
hướng đối tượng.
C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhất đến .NET
Framework mà tất cả các chương trình .NET chạy, và nó phụ thuộc mạnh mẽ vào
Framework này. Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn
rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate,
interface, exception, v.v, phản ánh rõ ràng những đặc trưng của .NET runtime.
Tóm tắt ưu điểm của công cụ lập trình này:
- Là ngôn ngữ đơn giản, ít từ khóa.
- C# có khả năng lập trình đa dạng, hỗ trợ hướng đối tượng, hướng module
- Hiện nay C# là ngôn ngữ khá phổ biến.
2.3. Kết luận & đánh giá.
Với đề tài nhóm thực hiện, trong khuôn khổ của mình, nhóm sẽ sử dụng các công
cụ chính sau:
- Access vì công cụ này có khá nhiều ưu điểm phù hợp với khôn khổ project.
- C# được lựa chọn làm ngôn ngữ lập trình vì các tính năng đã nói.
- Công cụ sử dụng là Microsoft Visual C# 2005 với khả năng lập trình thuận tiện,
kết nối dữ liệu SQL linh hoạt.
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 19
Đề tài: Phần mềm quản lý kho
CHƯƠNG III: PHÂN TÍCH HỆ THỐNG
(System Analysis)
3.1 System requirements analysis
Hình 3.1 Yêu cầu của toàn thể hệ thống lớn
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 20
Đề tài: Phần mềm quản lý kho
3.2 Phân tích các yêu cầu về xử lý của hệ thống hiện hành
(Processing Requirement Analysis ò existing system)
3.2.1 Phỏng vấn (interview)
Nhóm đề tài đã sử dụng phương pháp interview và unofficial observation để thu
thập được các thông tin về processing, data và functions.
Phỏng vấn nhân viên phòng kế toán (đồng thời cũng là trưởng phòng): Chị Phùng
Thị Kim Loan. Các câu hỏi được dùng để phỏng vấn:
- Chức năng cơ bản của hệ thống quản lý hiện hành là gì?
- Quá trình nhập dữ liệu đầu vào được thực hiện như thế nào?
- Ai là người thực hiện việc nhập các dữ liệu đầu vào?
- Yêu cầu được xem các mẫu biểu đầu vào và đầu ra của hệ thống.
- Cách thức xử lý dữ liệu đầu vào của hệ thống là gì?
- Ý nghĩa của từng phần tử dữ liệu?
- Công thức nào được sử dụng để so sánh các thông số kiểm soát chất lượng
nhập vào với bộ Tiêu chuẩn chất lượng đã được cài đặt sẵn trong hệ thống?
- Đầu ra của hệ thống là gì?
- Ai là người quan tâm đến đầu ra của hệ thống?
3.2.2 Thủ tục xử lý
Thủ tục xử lý được trình bày trong trang sau.
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 21
Đề tài: Phần mềm quản lý kho
Hình 3.2 Thủ tục xư lý
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 22
Đề tài: Phần mềm quản lý kho
3.3. Phân tích yêu cầu về dữ liệu (Data Requirement Analysis)
3.3.1 Dữ liệu đầu vào
• “Phiếu yêu cầu vật tư (Dùng cho đề nghị mua vật tư)” – Hình 3.3
• “Phiếu yêu cầu vật tư (Dùng cho đội thi công hoặc nhân viên cần sử dụng dụng cụ
vật tư)” – Hình 3.4
• “Phiếu nhập kho” – Hình 3.5
• “Phiếu xuất kho” – Hình 3.6
Hình 3.3 “Phiếu yêu cầu vật tư” (Dùng cho đề nghị mua vật tư)
Phần giải thích dữ liệu của “Phiếu yêu cầu vật tư – Dùng cho đề nghị mua vật tư”
(hình 3.3) được trình bày ở bảng 3.1 (trang sau)
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 23
Đề tài: Phần mềm quản lý kho
Bảng 3.1 Phân tích “Phiếu yêu cầu vật tư – Dùng cho đề nghị mua vật tư”
(theo Hình 3.3)
STT Tên phần
tử dữ liệu
Ý nghĩa Giá trị ví dụ Miền giá trị
hợp lệ
Tên hàm kiểm
tra dữ liệu
1. Số
COMEE
YCVT/01-
Số thứ tự của
phiếu (Auto
number)
01,02,03 Số nguyên
dương
Check_number
2. Ngày Ngày tháng năm
lập phiếu
08/03/2010 Ngày không
hơn ngày
hiện tại
Check_date1
3. Tên tôi là Họ tên người lập
phiếu
Lê Thái Hưng Kiểu string
với kí tự
chữ và dấu
cách
Check_name
4. Bộ phận Tên bộ phận làm
việc của người lập
phiểu
Đội thi công Kiếu string Check_string
5. Lý do: Lý do yêu cầu vật
tư
Phục vụ công
trình
Kiểu string Check_string
6. Diễn giải Tên vật tư yêu cầu Sắt Kiêu string Check_string
7. Xuất xứ Nguồn gốc sản
phẩm
Việt Nam Kiểu string Check_string
8. ĐVT Đơn vị tính Tấn Kiểu string Check_string
9. Thời gian
yêu cầu
Thời gian người
lập phiếu yêu cầu
cần có
5/03/08 Ngày không
bé hơn ngày
lập phiếu
Check_date2
10. Thời gian
giao
Thời gian người
mua giao hàng vào
kho.
14/03/08 Ngày không
bé hơn ngày
yêu cầu,
không lớn
hơn ngày
hiện tại.
Check_date3
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 24
Đề tài: Phần mềm quản lý kho
11. Số lượng
yêu cầu
Số lượng hoặc
khối lượng yêu
cầu
5 số thực
không âm
Check_amount
12. Số lượng
trong kho
Số lượng hoặc
khối lượng trong
kho hiện có
3 số thực
không âm
Check_money
13. Số lượng
mua
Số lượng hàng
nhập thêm để có
thể đáp ứng yêu
cầu
2 số thực
không âm
Check_money
14. Đơn giá Thủ kho không dùng trường này (Chỉ dành cho người mua, kế toán,
giám đốc)
15. Số chứng
từ gốc
kèm theo
Số lượng phiếu
xuất kho kèm theo
02 Kiếu số
nguyên
không âm
Check_number
16. Người yêu
cầu
Tên, chữ kí người
yêu cầu
Lê Thái Hưng Kiểu string
với kí tự
chữ và dấu
cách
Check_name
17. Thủ kho Tên, chữ kí thủ
kho
Phạm Văn
Chí
Kiểu string
với kí tự
chữ và dấu
cách
Check_name
18. Người
mua
Tên, chữ kí của
người mua hàng
Vũ Hữu Tiệp Kiểu string
với kí tự
chữ và dấu
cách
Check_name
19. Ngày
tháng năm
Ngày tháng năm kế toàn và giám đốc duyệt phiếu này. Song không
liên quan đến project đang thực hiện
20. Kế toán Tên, chữ kí của kế
toán
Đặng Thị X Kiểu string
với kí tự
chữ và dấu
cách
Check_name
Nhóm 2 lớp KSTN – ĐTVT – K52 Page 25