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

Tài liệu Đề 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: 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 cuongdtvtk52@gmail.com 0973 255 677 Phạm Văn Chí chipvc@gmail.com 0985 372 146 Lê Thái Hưng hung.kstn.k52@gmail.com 0972 186 249 Vũ Hữu Tiệp vuhuutiep@gmail.com 0975 936 743 Vũ Đình Quyền vudinhquyen@gmail.com 01693 053 446 Lớp: KSTN – ĐTVT – K52 Hà Nội, 3 - 2010 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: vuhuutiep@gmail.com Vũ Đình Quyền Mobile: 01693 053 446 Mail: vudinhquyen@gmail.com Lê Thái Hưng – TL Mobile: 0972 186 249 Mail: hung.kstn.k52@gmail.com Nguyễn Tiến Cường Mobile: 0973 255 677 Mai...

doc91 trang | Chia sẻ: hunglv | Lượt xem: 1198 | Lượt tải: 2download
Bạn đang xem trước 20 trang mẫu tài liệu Đề 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, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
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 cuongdtvtk52@gmail.com 0973 255 677 Phạm Văn Chí chipvc@gmail.com 0985 372 146 Lê Thái Hưng hung.kstn.k52@gmail.com 0972 186 249 Vũ Hữu Tiệp vuhuutiep@gmail.com 0975 936 743 Vũ Đình Quyền vudinhquyen@gmail.com 01693 053 446 Lớp: KSTN – ĐTVT – K52 Hà Nội, 3 - 2010 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: vuhuutiep@gmail.com Vũ Đình Quyền Mobile: 01693 053 446 Mail: vudinhquyen@gmail.com Lê Thái Hưng – TL Mobile: 0972 186 249 Mail: hung.kstn.k52@gmail.com Nguyễn Tiến Cường Mobile: 0973 255 677 Mail: cuongdtvtk52@gmail.com Phạm Văn Chí Mobile: 0985 372 146 Mail: chipvc@gmail.com Mục lục CHƯƠNG I: MỞ ĐẦU (Instroduction) 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ử. 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. 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ị. 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 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. Báo cáo khả thi (Project Feasibility) 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. 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ế. 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 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 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 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. 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 đư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. 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: 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 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 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, 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à 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. 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 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. Hình 3.2 Thủ tục xư lý 3.3. Phân tích yêu cầu về dữ liệu (Data Requirement Analysis) 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) 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 Số COMEE YCVT/01- Số thứ tự của phiếu (Auto number) 01,02,03 Số nguyên dương Check_number 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 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 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 Lý do: Lý do yêu cầu vật tư Phục vụ công trình Kiểu string Check_string Diễn giải Tên vật tư yêu cầu Sắt Kiêu string Check_string Xuất xứ Nguồn gốc sản phẩm Việt Nam Kiểu string Check_string ĐVT Đơn vị tính Tấn Kiểu string Check_string 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 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 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 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 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 Đơ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) 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 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 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 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 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 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 Giám đốc Tên, chữ kí của giám đốc Nguyễn Văn B Kiểu string với kí tự chữ và dấu cách Check_name 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ư) Phần giải thích dữ liệu của “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) được trình bày ở bảng 3.2 (trang sau) Bảng 3.2 Phân tích “Phiếu yêu cầu vật tư – Dùng cho đội thi công hoặc nhân viên sử dụng dụng cụ, vật tư” (theo Hình 3.4) 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 Số COMEE YCVT/02- Số thứ tự của phiếu (auto number) 06 Số nguyên dương Check_number Ngày Ngày tháng năm nhân viên bắt đầu lập phiếu 08/03/2010 Ngày không lớn hơn ngày hiện tại Check_date1 Tên 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 Bộ phận Tên bộ phận làm việc của người lập phiểu (chỉ có thể là đội thi công hoặc nhân viên phòng kinh doanh) Đội thi công Kiếu string Check_string Lý do Lý do yêu cầu vật tư Đối tác yêu cầu gia cố thêm Kiểu string Check_string Từ Ngày, giờ bắt đầu sử dụng 7h, ngày 10/03/2010 Kiểu string không nhỏ hơn thời điểm lập phiếu. Check_time1 Đến Ngày giờ trả 10h, ngày 11/03/2010. Kiểu string không nhỏ hơn thời điểm mượn dụng cụ Check_time2 Diễn giải Tên vật tư yêu cầu Sắt Kiêu string Check_string Xuất xứ Nguồn gốc sản phẩm Đài Loan Kiểu string Check_string Đơn vị Đơn vị tính vật tư yêu cầu tấn Kiếu string Check_string Số lương Số lượng mỗi loại vật tư 5 Kiểu số thực không âm Check_amount Ghi chú Ghi chú thêm về việc nhân viên đã trả hay chưa. Hỏng hóc gì Đã trả đủ Kiểu string Check_string Số phiếu xuất kho kèm theo Mã số phiếu xuất kho kèm theo 02 Kiếu số nguyên không âm Check_number Số phiếu nhập kho kèm theo Mã số phiếu nhập kho kèm theo 03 Kiếu số nguyên không âm Check_number Ngày tháng Ngày nhập lại kho các dụng cụ. Hay ngày tháng Trưởng phòng vật tư ký 15/3/2010 Ngày không lớn hơn ngày hiện tại và không nhỏ hơn ngày lập phiếu Check_date2 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 Thủ kho (kiểm duyệt khi xuất kho) Tên, và chữ kí của thủ kho Phạm Văn Chí Kiểu string với kí tự chữ và dấu cách Check_name TP Vật tư (Kiểm duyệt khi nhập kho) Tên và chữ ký của Trưởng phòng Vật tư (Hiện tại Thủ kho đồng thời là trưởng phòng vật tư) Phạm Văn Chí Kiểu string với kí tự chữ và dấu cách Check_name Hình 3.5 “Phiếu nhập kho” Phần giải thích dữ liệu của “Phiếu nhập kho” (hình 3.5) được trình bày ở bảng 3.3 (trang sau) Bảng 3.5 Phân tích “Phiếu nhập kho” (theo Hình 3.5) 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 Số Số thứ tự của phiếu (Auto number) 32 Tiếp theo phiếu trước đó Check_order Nợ Mục này, thủ kho không dùng nên ta không phân tích. Có Ngày tháng năm Thời gian lập phiếu Ngày 08 tháng 03 năm 2010 Ngày không lớn hơn ngày hệ thống Check_date Đơn vị Luôn luôn là COMEECO Họ, tên người giao hàng Họ, tên người giao hàng Lê Thái Hưng Kiểu string với kí tự chữ và dấu cách Check_name Theo Tên hóa đơn, biên bản giao hàng của nhà cung cấp Biên bản giao hàng Kiểu string Check_string Số Số hóa đơn tương ứng của hóa đơn trong mục (7) 04 Dãy sô nguyên Check_str_number Ngày tháng năm Thời gian lập hóa đơn của hóa đơn trong mục (7) Ngày 29 tháng 5 năm 2010 Không được bé hơn ngày lập phiếu nhập Check_date2 Của Tên đơn vị lập hóa đơn trong mục (7) Của công ty thép Việt Úc Kiểu string Check_string Nhập tại kho Chỉ có một kho là COMEECO Tên nhãn hiệu vật tư (sản phẩm hàng hóa) Tên nhãn hiệu của mặt hàng nhập kho Thép Kiểu string Check_string Quy cách phẩm chất vật tư (sản phẩm, hàng hóa) Mô tả cách thức đóng gói, quy cách, chất lượng sản phẩm Cuộn Kiểu string Check_string Mã số Không dùng Đơn vị tính Giá trị đơn vị để tính mặt hàng Tấn Kiểu string Check_string Số lượng – Theo chứng từ Số lượng hàng dựa theo đơn vị tính được ghi trên hóa đơn tương ứng trong mục (7) 5 Số thực không âm Check_amount Số lượng – thực nhập Số lượng hàng dựa theo đơn vị tính thực tế được nhập vào kho 5 ≥ 0, ≤ số lượng theo chứng từ Check_amount_limit Đơn giá Không dùng Nhập ngày tháng năm Thời gian nhập kho thực tế Ngày 08 tháng 03 năm 2010 Ngày không bé hơn ngày lập phiếu Check_date2 Phụ trách cung tiêu Không dùng Người giao hàng Tên, chữ ký người giao hàng Phạm Văn Chi Kiểu string với kí tự chữ và dấu cách Check_name Thủ kho Tên, chữ ký thủ kho Lê Thái Hưng Kiểu string với kí tự chữ và dấu cách Check_name Kê toán trưởng Không dùng Thủ trưởng đơn vị Không dùng Hình 3.6 “Phiếu xuất kho” Phần phân tích dữ liệu “Phiếu xuẩ kho” (Hình 3.6) được trình bày trong bảng 3.4 (trang sau) Bảng 3.4 Phân tích “Phiều xuất kho” (theo Hình 3.6) 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 Số Số thứ tự của phiếu (auto number) 32 Tiếp theo phiếu trước đó Check_order Nợ Mục này, theo nhân viên kế toán cho là không cần thiết và không dùng bao giờ. Nên ta không phân tích. Có Đơn vị Tên đơn vị doanh nghiệp lập phiếu Công ty COMEECO Giá trị duy nhất Check_com Địa chỉ Địa chỉ đơn vị 54/16/ Nguyễn Khánh Toàn, Cầu Giấy Giá trị duy nhất Check_add Mã DVSDNS Là công ty tư nhân nên “Mã đơn vị sử dụng ngân sách” bỏ. Nhân viên không dùng đến. Ta không phân tích Ngày tháng năm Thời gian lập hóa đơn (5) Ngày 29 tháng 3 năm 2010 Không được lớn hơn ngày lập phiếu Check_date2 Họ, tên người giao hàng Họ, tên người giao hàng Lê Thái Hưng Kiểu string với kí tự chữ và dấu cách Check_name Địa chỉ (bộ phận) Tên đơn vị công tác của người lập phiếu Phòng kinh doanh Kiểu string Check_string Lý do xuất kho Lý do xuất kho Đơn vị thi công yêu cầu Kiểu string Check_string Xuất tại kho Số thứ tự hoặc tên kho (chỉ có 1 kho duy nhất). Địa điểm Địa điẻm kho 151, Đường Nguyễn Đức Cảnh Kiểu string Check_string Tên nhãn hiệu vật tư (sản phẩm hàng hóa) Tên nhãn hiệu của mặt hàng nhập kho Thép Kiểu string Check_string Quy cách phẩm chất vật tư (sản phẩm, hàng hóa) Mô tả cách thức đóng gói, quy cách, chất lượng sản phẩm Cuộn Kiểu string Check_string Mã số Không dung Đơn vị tính Giá trị đơn vị để tính mặt hàng Tấn Kiểu string Check_string Số lượng – yêu cầu Số lượng hàng dựa theo đơn vị tính thực tế được ghi trên hóa đơn 5 Tấn Số thực dương Check_amount Số lượng – thực xuất Số lượng hàng dựa theo đơn vị tính thực tế được xuất ra kho 5 Tấn Số thực dương Check_amount Đơn giá Không dùng Số chứng từ gốc kèm theo Thông tin về hóa đơn chứng từ kèm theo Hóa đơn GTGT số 0471268 Kiểu string Check_string Nhập ngày tháng năm Thời gian xuất kho thực tế Ngày 15 tháng 03 năm 2010 Ngày không bé hơn ngày lập phiếu Check_date2 Thủ trưởng đơn vị Tên, chữ ký thủ trưởng đơn vị Trần Tiến Cường Kiểu string với kí tự chữ và dấu cách Check_name Kê toán trưởng Tên, chữ ký kế toán trưởng Vũ Đình Quyền Kiểu string với kí tự chữ và dấu cách Check_name Người lập phiếu Tên, chữ ký người lập phiếu Vũ Hữu Tiệp Kiểu string với kí tự chữ và dấu cách Check_name Người giao hàng Tên, chữ ký người giao hàng Phạm Văn Chi Kiểu string với kí tự chữ và dấu cách Check_name Thủ kho Tên, chữ ký của thủ kho Nguyễn Văn E Kiểu string với kí tự chữ và dấu cách Check_name 3.3.2 Dữ liệu đầu ra “Báo cáo nhập kho” – Hình 3.7 “Báo cáo xuất kho” – Hình 3.8 “Báo cáo tồn kho” – Hình 3.9 Báo cáo nhập kho lập vào ngày ……….. Số liệu từ ngày………đến ngày………. STT Mã hàng Tên hàng Nhà cung cấp ĐVT Số lượng Ngày nhập Số chứng từ Đơn giá nhập Thành tiền Cộng tiền Tổng tiền bằng chữ: Hình 3.7 “Báo cáo nhập kho” Phần phân tích dữ liệu “Báo cáo nhập kho” (Hình 3.7) được trình bày trong bảng 3.5 Bảng 3.5 Bảng phân tích “Báo cáo nhập kho” – theo hình 3.7 STT Tên phần tử dữ liệu Ý nghĩa Giá trị ví dụ Miền giá trị hợp lệ Lập vào ngày Ngày lập báo cáo nhập kho 1/4/2010 Kiểu string không lớn hơn ngày hiện tại Số liệu từ ngày Ngày bắt đầu – dùng tính toán hàng nhập 20/03/2010 Kiểu string không nhỏ hơn ngày lập phiếu. Không lớn hơn ngày kết thúc (ghi ở mục 3) Đến ngày Ngày cuôi cùng - dùng tính toán hàng nhập 23/03/2010 Kiểu string không nhỏ hơn ngày bắt đầu (mục 2) và không lớn hơn ngày hiện tại Mã hàng Mã số hàng hóa (mỗi hàng hóa, vật tư, dụng cụ có một mã số riêng) MS0200 Kiểu string Tên hàng Tên hàng hóa, dụng cụ, sản phẩm Thép Kiểu string Nhà cung cấp Tên đơn vị, doanh nghiệp cung cấp cho công ty Công ty thép Việt Úc Kiểu string ĐVT Đơn vị tính của hàng hóa, dụng cụ, vật tư Tấn Kiểu string Số lượng Số lượng tính theo đơn vị tính ghi ở mục trên còn trong kho 2 Kiểu số thực không âm Số chứng từ Mã số của hóa đơn nhập kho kèm theo với từng loại mặt hàng. Số 03 Kiểu string Ngày nhập Ngày nhập hàng hóa– tức là ngày nhập phiếu nhập kho. 21/03/2010 Kiểu string không nhỏ hơn ngày bắt đầu(mục 2). Không lớn hơn ngày kết thúc (ghi ở mục 3) Đơn giá nhập Đơn giá sản phẩm. Được xác định bởi phiếu nhập kho (xác định bởi 2 mục 8 và 9) 10.000.000 Kiểu số thực không âm Báo cáo xuất kho lập vào ngày ……….. Số liệu lập từ ngày……….. đến ngày……… STT Mã hàng Tên hàng ĐVT Số lượng Ngày xuất Số chứng từ Hình 3.8 “Báo cáo xuất kho” Phần phân tích dữ liệu “Báo cáo xuẩt kho” (Hình 3.8) được trình bày trong bảng 3.6 Bảng 3.6 Bảng phân tích “Báo cáo xuất kho” – theo Hình 3.8 STT Tên phần tử dữ liệu Ý nghĩa Giá trị ví dụ Miền giá trị hợp lệ Lập vào ngày Ngày lập báo cáo xuất kho 1/4/2010 Kiểu string không lớn hơn ngày hiện tại Số liệu từ ngày Ngày bắt đầu – dùng tính toán hàng xuất 20/03/2010 Kiểu string không nhỏ hơn ngày lập phiếu. Không lớn hơn ngày kết thúc (ghi ở mục 3) Đến ngày Ngày cuôi cùng - dùng tính toán hàng xuất 23/03/2010 Kiểu string không nhỏ hơn ngày bắt đầu (mục 2) và không lớn hơn ngày hiện tại Mã hàng Mã số hàng hóa (mỗi hàng hóa, vật tư, dụng cụ có một mã số riêng) MS0200 Kiểu string Tên hàng Tên hàng hóa, dụng cụ, sản phẩm Thép Kiểu string ĐVT Đơn vị tính của hàng hóa, dụng cụ, vật tư Tấn Kiểu string Số lượng Số lượng tính theo đơn vị tính ghi ở mục trên còn trong kho 2 Kiểu số thực không âm Ngày xuất Ngày nhập hàng hóa – tức là ngày nhập phiếu nhập kho. 21/03/2010 Kiểu string không nhỏ hơn ngày bắt đầu(mục 2). Không lớn hơn ngày kết thúc (ghi ở mục 3) Số chứng từ Mã số của hóa đơn xuất kho kèm theo với từng loại mặt hàng. Số 03 Kiểu string Báo cáo tồn kho lập vào ngày ……….. STT Mã hàng Tên hàng Nhà cung cấp ĐVT Số lượng tồn Hình 3.9 “Báo cáo tồn kho” Phần phân tích dữ liệu “Báo cáo tồn kho” (Hình 3.9) được trình bày trong bảng 3.7 Bảng 3.7 Phân tích “Báo cáo tồn kho” – theo Hình 3.9 STT Tên phần tử dữ liệu Ý nghĩa Giá trị ví dụ Miền giá trị hợp lệ Lập vào ngày Ngày lập báo cáo nhập kho 1/4/2010 Kiểu string không lớn hơn ngày hiện tại Mã hàng Mã số hàng hóa (mỗi hàng hóa, vật tư, dụng cụ có một mã số riêng) MS0200 Kiểu string Tên hàng Tên hàng hóa, dụng cụ, sản phẩm Thép Kiểu string Nhà cung cấp Tên đơn vị, doanh nghiệp cung cấp cho công ty Công ty thép Việt Úc Kiểu string ĐVT Đơn vị tính của hàng hóa, dụng cụ, vật tư Tấn Kiểu string Số lượng Số lượng tính theo đơn vị tính ghi ở mục trên còn trong kho 2 Kiểu số thực không âm 3.4. Phân tích yêu cầu về chức năng Công ty có các công việc chính là: Nhập vật tư(hàng chưa thành phẩm) về lắp ráp theo đơn đặt hàng; Nhập thành phẩm và bán cho đối tác. Hệ thống quản lý kho, đối tác yêu cầu các hoạt động khởi tạo, cập nhật, xóa và xử lý thông tin trong các chức năng: đăng nhập, nhập hàng, xuất hàng, quản lý hàng trong kho, quản lý lương nhân viên, quản lý thôn tin các đơn vị đối tác, tìm kiếm thông tin và báo cáo kết quả cho người quản lý. 3.4.1 Phân tích các chức năng 3.4.1.1 Quản lý danh mục Trong phần quản lý danh mục, kế toán có thể chỉnh sửa, thêm bớt danh mục hàng hóa cũng như danh mục nhà cung cấp. 3.4.1.2 Quản lý quyền sử dụng Mỗi người sử dụng sẽ được cấp 1 tài khoản (user name) và password riêng bởi người quản lí. Thông tin sẽ được lưu trên máy chủ đảm bảo tính bảo mật. Người sử dụng (kế toán viên) có thể chỉnh sửa thông tin của mình. 3.4.1.3 Quản lý việc nhập kho Khi có “Phiếu yêu cầu vật tư – dành cho đề nghị mua vật tưu”, kế toán viên nhập toàn bộ dữ liệu vào trong mục tương ứng. Khi có hàng được nhập mới, thủ kho cần làm “Phiếu nhập kho”. Yêu cầu hóa đơn có đủ thông tin: số phiếu, chứng từ kèm theo (“Phiếu yêu cầu vật tư – dành cho đề nghị mua vật tư” 3.4.1.4 Quản lý việc xuất kho Khi có “Phiếu yêu cầu vật tư – dành đội thi công hoặc nhân viên cần sử dụng dụng cụ vật tư”, nhân viên nhập toàn bộ dữ liệu vào trong mục tương ứng. Nếu trong kho còn, thủ kho lập luôn “Phiếu xuất kho”. Ngược lại nếu số lượng không đảm bảo. Sẽ có yêu cầu nhân viên yêu cầu làm “Phiếu yêu cầu vật tư – Dùng cho đề nghị mua vật tư” 3.4.1.5 Tìm kiếm thông tin Tìm kiếm thông tin giúp cho kế toán viên và người quản lý dễ dàng tìm kiếm: Theo ngày tháng: Trong ngày tháng xác định, công ty nhập xuất kho dụng cụ, vật tư gì, số lượng bao nhiêu? Theo hàng hóa: Liệu xem trong kho có mặt hàng (hoặc dụng cụ, vật tư) này không. Nếu còn thì còn bao nhiêu, ngày nhập, tên nhà cung cấp,… Theo nhà cung cấp: tìm kiếm thông tin số lượng, chủng loại hàng hóa mà một nhà cung cấp. Theo nhân viên: Liệu nhân viên đó đã yêu cầu vật tư gì, bao nhiêu, hay đã mượn những dụng cụ nào chưa trả… 3.4.1.6 Báo cáo Báo cáo giúp cho kế toán viên có những báo cáo chi tiết cho nhà quản lý, gồm có: Báo cáo nhập kho (trong một khoảng thời gian nhất định) Báo cáo xuất kho (trong một khoảng thời gian nhất định) Báo cáo tồn kho Báo cáo các dụng cụ mà đơn vị, cá nhân đang mượn (gồm ngày hoàn trả) 3.4.1.7 Hỗ trợ Chương trình có chức năng giới thiệu phần mềm, hướng dẫn sử dụng cho người mới sử dụng. Ngoài ra còn chức năng thông báo bản quyền phần mềm. Đặc biệt có chức năng sao lưu dữ liệu tránh trường hợp mất mát dữ liệu do sự cố ngoài ý muốn 3.4.2 Fuction Diagram Hình 3.10 Function diagram 3.4.3 Data flow diagram 3.4.3.1. Context diagram Hình 3.11 Context diagram 3.4.3.2. Other level Data Flow Diagram Hình 3.12 Data flow diagram (High level) Hình 3.13 Data flow diagram (function 1) Hình 3.14 Data flow diagram (function 2) Hình 3.15 Data flow diagram (function 3) Hình 3.16 Data flow diagram (function 4) Hình 3.17 Data flow diagram (function 5) Hình 3.18 Data flow diagram (function 6) Hình 3.19 Data flow diagram (function 7) CHƯƠNG IV: THIẾT KẾ HỆ THỐNG (System Design) 4.1 Thiết kế Cơ sở dữ liệu (Database design) 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ư)” Bảng 4.1: Thông tin yêu cầu mua vật tư – thuộc tính theo mẫu Mã số phiếu yêu cầu mua vật tư Ngày yêu cầu Tên nhân viên Bộ phận Lý do Tên hàng Xuất xứ Đơn vị tính Thời gian yêu cầu Thời gian giao Số lượng yêu cầu Số lượng trong kho Số lượng phải mua Mã số chứng từ gốc kèm theo Tên người yêu cầu Tên thủ kho Tên nhân viên mua hàng Nhận xét 1: Repeating Group Bổ sung các trường: Mã nhân viên yêu cầu, Mã hàng hóa, Mã bộ phận, , Mã Thủ kho, Mã nhân viên mua hàng. Thuộc tính 3. Tên nhân viên và thuộc tính 15. Tên nhân viên yêu cầu là như nhau, nên ta bỏ trường 15 đi. Ta có: Bảng 4.2: Thông tin yêu cầu mua vật tư – thuộc tính trước chuẩn hóa 1NF STT Tên phần tử dữ liệu Comment Mã số phiếu yêu cầu mua PK Ngày yêu cầu Mã nhân viên yêu cầu Tên nhân viên yêu cầu Mã bộ phận Bộ phận Lý do Mã hàng Repeating Group PK của RGP Tên hàng Xuất xứ Đơn vị tính Thời gian yêu cầu Thời gian giao Số lượng yêu cầu Số lượng trong kho Số lượng phải mua Mã số chứng từ gốc kèm theo Mã thủ kho Tên thủ kho Mã nhân viên mua hàng Tên nhân viên mua hàng Nhận xét 2: Bảng 4.2: Thông tin yêu cầu mua vật tư có nhóm các thuộc tính lặp lại được hightlight màu vàng. Để nhận được bảng ở dạng 1NF, ta tách thành 2 bảng: Bảng 4.3: Thông tin yêu cầu mua vật tư và Bảng 4.4: Chi tiết yêu cầu mua vật tư Bảng 4.3: Thông tin yêu cầu mua vật tư – 1NF,2NF Mã số phiếu yêu cầu mua (PK) Ngày yêu cầu Mã nhân viên yêu cầu Tên nhân viên yêu cầu Mã bộ phận Bộ phận Lý do Mã số chứng từ gốc kèm theo Mã thủ kho Tên thủ kho Mã nhân viên mua hàng Tên nhân viên mua hàng Bảng 4.4: Chi tiết yêu cầu mua vật tư Mã số phiếu yêu cầu mua (PK )(FK =>B4.3) Mã hàng (PK) Tên hàng Đơn vị tính Xuất xứ Thời gian yêu cầu Thời gian giao Số lượng yêu cầu Số lượng trong kho Số lượng phải mua Nhận xét 3: Bảng 4.3: Thông tin yêu cầu mua vật tư đã ở dạng 2NF do các thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính. Bảng 4.4: Chi tiết yêu cầu mua vật tư chưa ở dạng 2NF vì các thuộc tính Tên hàng, Đơn vị tính chỉ phụ thuộc hàm đầy đủ vào Mã hàng. Vậy ta tách Bảng 4.4 được 2 bảng: Bảng 4.5: Thông tin hàng hóa và Bảng 4.6: Chi tiết yêu cầu mua vật tư. Bảng 4.5: Thông tin hàng hóa – 3NF Mã hàng (PK) Tên hàng Đơn vị tính Bảng 4.6: Chi tiết yêu cầu mua vật tư – 2NF, 3NF Mã số phiếu yêu cầu mua(PK) Mã hàng (PK) (FK -> B4. 5) Xuất xứ Thời gian yêu cầu Thời gian giao Số lượng yêu cầu Số lượng trong kho Số lượng phải mua Nhận xét 4: Bảng 4.5: Thông tin hàng hóa Bảng 4.6: Chi tiết yêu cầu mua vật tư đã ở dạng 3NF Bảng 4.3: Thông tin yêu cầu mua vật tư chưa ở dạng 3NF do: Thuộc tính Tên nhân viên yêu cầu phụ thuộc hàm đầy đủ vào Mã nhân viên yêu cầu, ta triển khai ra Bảng 4.7: Nhân viên yêu cầu Thuộc tính Bộ phận phụ thuộc hàm đầy đủ vào Mã bộ phận, ta triển khai ra Bảng 4.8: Bộ phận Thuộc tính Tên thủ kho phụ thuộc hàm đầy đủ vào Mã thủ kho, ta triển khai ra Bảng 4.9: Thủ kho Thuộc tính Tên nhân viên mua hàng phụ thuộc hàm đầy đủ vào Mã nhân viên mua hàng, ta triển khai ra Bảng 4.10: Nhân viên mua hàng Tách các thuộc tính trên ta được dạng chuẩn 3NF Bảng 4.7: Nhân viên yêu cầu -3NF Mã nhân viên yêu cầu (PK) Tên nhân viên yêu cầu Bảng 4.8: Bộ phận – 3NF Mã Bộ phận (PK) Bộ phận Bảng 4.9: Thủ kho – 3NF Mã thủ kho (PK) Tên thủ kho Bảng 4.10: Nhân viên mua hàng – 3NF Mã nhân viên mua hàng (PK) Tên nhân viên mua hàng Bảng 4.11: Thông tin yêu cầu mua vật tư – 3NF Mã số phiếu yêu cầu mua (PK) Ngày yêu cầu Mã nhân viên yêu cầu (FK -> B4.7) Mã bộ phận (FK -> B4.8) Lý do Mã số chứng từ gốc kèm theo Mã thủ kho (FK -> B4.9) Mã nhân viên mua hàng (FK -> B4.10) Từ các bảng trên ta có Hình 4.1: Sơ đồ thực thể liên kết của 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ư)” 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ư)” Bảng 4.13: Thông tin yêu cầu sử dụng dụng cụ, vật tư – thuộc tính theo mẫu Mã số phiếu yêu cầu sử dụng Ngày yêu cầu Tên nhân viên yêu cầu Bộ phận Lý do Thời gian bắt đầu sử dụng Thời gian kết thúc sử dụng Tên hàng Xuất xứ Đơn vị tính Số lượng Ghi chú Mã số phiếu xuất khoa kèm theo Mã số phiếu nhập kho kèm theo Ngày Trưởng phòng vật tư ký Tên người yêu cầu Tên thủ kho Tên Trưởng phòng vật tư Nhận xét 1: Bổ sung các trường: Mã nhân viên yêu cầu, Mã bộ phận, Mã hàng hóa, Mã Thủ kho, Mã thủ kho, Mã Trưởng phòng vật tư. Thuộc tính 3. Tên nhân viên yêu cầu và thuộc tính 15. Tên người yêu cầu là như nhau, nên ta bỏ trường 15 đi. Ta có: Bảng 4.14: Thông tin yêu cầu sử dụng dụng cụ, vật tư – trước chuẩn hóa STT Tên phần tử dữ liệu Comment Mã số phiếu yêu cầu sử dụng PK Ngày yêu cầu Mã nhân viên yêu cầu Tên nhân viên yêu cầu Mã bộ phận Bộ phận Lý do Thời gian bắt đầu sử dụng Thời gian kết thúc sử dụng Repeating Group Mã hàng PK của RGP Tên hàng Đơn vị tính Xuất xứ Số lượng Ghi chú Mã số phiếu xuất khoa kèm theo Mã số phiếu nhập kho kèm theo Ngày Trưởng phòng vật tư ký Mã thủ kho Tên thủ kho Mã Trưởng phòng vật tư Tên Trưởng phòng vật tư Nhận xét 2: Bảng 4.14: Thông tin yêu cầu sử dụng dụng cụ, vật tư có nhóm các thuộc tính lặp lại được hightlight màu vàng. Để nhận được bảng ở dạng 1NF, ta tách thành 2 bảng: Bảng 4.15: Thông tin yêu cầu sử dụng dụng cụ, vật tư và Bảng 4.16: Chi tiết yêu cầu sử dụng cụ, vật tư. Bảng 4.15: Thông tin yêu cầu sử dụng dụng cụ, vật tư – 1NF, 2NF Mã số phiếu yêu cầu sử dụng (PK) Ngày yêu cầu(PK) Mã nhân viên yêu cầu Tên nhân viên yêu cầu Mã bộ phận Bộ phận Lý do Thời gian bắt đầu sử dụng Thời gian kết thúc sử dụng Mã số phiếu xuất khoa kèm theo Mã số phiếu nhập kho kèm theo Ngày Trưởng phòng vật tư ký Mã thủ kho Tên thủ kho Mã Trưởng phòng vật tư Tên Trưởng phòng vật tư Bảng 4.16: Chi tiết yêu cầu sử dụng dụng cụ, vật tư Mã số phiếu yêu cầu sử dụng (PK) Mã hàng Tên hàng Đơn vị tính Xuất xứ Số lượng Ghi chú Nhận xét 3: Bảng 4.15: Thông tin yêu cầu sử dụng dụng cụ, vật tư đã ở dạng 2NF do các thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính. Bảng 4.16: Chi tiết yêu cầu sử dụng dụng cụ, vật tư chưa ở dạng 2NF vì các thuộc tính Tên hàng, Đơn vị tính chỉ phụ thuộc hàm đầy đủ vào Mã hàng. Vậy ta tách Bảng 4.16 thành 2 bảng: Bảng 4.17: Thông tin hàng hóa Bảng 4.18: Chi tiết yêu cầu sử dụng dụng cụ, vật tư Bảng 4.17: Thông tin hàng hóa – 3NF Mã hàng (PK) Tên hàng Đơn vị tính Bảng 4.18: Chi tiết yêu cầu sử dụng dụng cụ, vật tư – 2NF, 3NF Mã số phiếu yêu cầu sử dụng(PK) Mã hàng (PK) (FK -> B4.17) Xuất xứ Số lượng Ghi chú Nhận xét 4: Bảng 4.17: Thông tin hàng hóa và Bảng 4.18: Chi tiết yêu cầu sử dụng dụng cụ, vật tư đã ở dạng 3NF Bảng 4.15: Thông tin yêu cầu sử dụng dụng cụ, vật tư chưa ở dạng 3NF do: Thuộc tính Tên nhân viên yêu cầu phụ thuộc hàm đầy đủ vào Mã nhân viên yêu cầu, ta triển khai ra Bảng 4.19: Nhân viên yêu cầu Thuộc tính Bộ phận phụ thuộc hàm đầy đủ vào Mã bộ phận, ta triển khai ra Bảng 4.20: Bộ phận Thuộc tính Tên thủ kho phụ thuộc hàm đầy đủ vào Mã thủ kho, ta triển khai ra Bảng 4.21: Thủ kho Thuộc tính Tên Trưởng phòng vật tư phụ thuộc hàm đầy đủ vào Mã Trưởng phòng vật tư, ta triển khai ra Bảng 4.22: Trưởng phòng vật tư Tách các thuộc tính trên ta được dạng chuẩn 3NF Bảng 4.19: Nhân viên yêu cầu -3NF Mã nhân viên yêu cầu (PK) Tên nhân viên yêu cầu Bảng 4.20: Bộ phận – 3NF Mã Bộ phận (PK) Bộ phận Bảng 4.21: Thủ kho – 3NF Mã thủ kho (PK) Tên thủ kho Bảng 4.22: Trưởng phòng vật tư – 3NF Mã Trưởng phòng vật tư Tên Trưởng phòng vật tư Bảng 4.23: Thông tin yêu cầu sử dụng dụng cụ, vật tư – 3NF Mã số phiếu yêu cầu sử dụng (PK) Ngày yêu cầu Mã nhân viên yêu cầu (FK ->B4.19) Mã bộ phận (FK -> B4.20) Lý do Thời gian bắt đầu sử dụng Thời gian kết thúc sử dụng Mã số phiếu xuất khoa kèm theo Mã số phiếu nhập kho kèm theo Ngày Trưởng phòng vật tư ký Mã thủ kho (FK -> B4.21) Mã Trưởng phòng vật tư (FK -> B4.22) Hình 4.2: Sơ đồ thực thể liên kết của 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ư)”) 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) Bảng 4.25: Hóa đơn nhập kho- theo “Phiếu nhập kho” – hình 3.5 Số hóa đơn nhập kho* Ngày lập hóa đơn nhập kho Họ tên người giao hàng Mã số Ngày tháng năm của chứng từ kèm theo Tên nhà cung cấp Tên hàng Quy cách , phẩm chất vật tư. Đơn vị tính Số lượng theo chứng từ Số lượng thực nhập Tên thủ kho Sau khi và thêm vào các thuộc tính Mã hàng, Mã nhà cung cấp, Mã người giao hàng, Mã thủ kho ta có bảng hóa đơn nhập hàng sau: Bảng 4.26:Hóa đơn nhập kho- trước chuẩn hóa 1NF STT Tên phần tử dữ liệu Comment Số hóa đơn nhập kho* PK Ngày lập hóa đơn nhập kho Mã người giao hàng Tên người giao hàng Mã nhà cung cấp Tên nhà cung cấp Mã thủ kho Tên thủ kho Mã số hóa đơn giao hàng Ngày tháng năm của chứng từ kèm theo Mã hàng* RGP PK của RGP Tên hàng Quy cách, phẩm chất vật tư Đơn vị tính Số lượng yêu cầu Số lượng thực nhập Chuẩn hóa 1NF Bảng 4.26 có nhóm các thuộc tính lặp lại là: Mã hàng, Tên hàng, Đơn vị tính, số lượng, Quy cách phẩm chất vật tư. Để nhận được bảng ở dạng 1NF, ta tách thành 2 bảng: Bảng 4.27: Hóa đơn nhập kho Bảng 4.28: Chi tiết nhập kho Bảng 4.27: Hóa đơn nhập kho – 1NF, 2NF Số hóa đơn nhập kho* Ngày lập hóa đơn nhập kho Mã người giao hàng Tên người giao hàng Mã nhà cung cấp Tên nhà cung cấp Mã thủ kho Tên thủ kho Mã số hóa đơn giao hàng Ngày tháng năm của chứng từ gốc kèm theo Bảng 4.28: Chi tiết nhập kho – 1NF: Số hóa đơn nhập kho* Mã hàng* Tên hàng Đơn vị tính Quy cách, phẩm chất vật tư Số lượng yêu cầu Số lượng thực nhập Chuẩn hóa 2NF Bảng 4.27: Hóa đơn nhập kho đã ở dạng 2NF Bảng 4.28: Chi tiết nhập kho chưa ở dạng 2NF do thuộc tính Tên hàng, Đơn vị tính, Quy cách phẩm chất vật tư chỉ phụ thuộc hàm đầy đủ vào Mã hàng. Bảng 4.29: Chi tiêt nhập kho – 2NF, 3NF Số hóa đơn nhập kho*( FK ->B4.31) Mã hàng*(FK ->B4.30) Số lượng yêu cầu Số lượng thực nhập Bảng 4.30: Thông tin hàng hóa. Mã hàng* Tên hàng Đơn vị tính Quy cách, phẩm chất vật tư Số lượng tồn kho Chuẩn hóa 3NF Bảng 4.29: Chi tiết nhập kho đồng thời cũng là 3NF Bảng 4.27: Hóa đơn nhập kho chưa ở dạng 3NF do: Thuộc tính Nhà cung cấp phụ thuộc hàm đầy đủ vào thuộc tính Mã nhà cung cấp, các thuộc tính này có trong Bảng 4.2: Dữ liệu nhà cung cấp Thuộc tính Tên người giao hàng phụ thuộc hàm đầy đủ vào thuộc tính Mã người giao hàng, các thuộc tính này có trong Bảng 4.4: Thông tin người giao hàng Thuộc tính Tên thủ kho phụ thuộc hàm đầy đủ vào thuộc tính Mã thủ kho, các thuộc tính này có trong Bảng 4.5: Thông tin thủ kho Tách các thuộc tính trên ta được dạng chuẩn hóa 3NF Bảng 4.31: Hóa đơn nhập kho-3NF Số hóa đơn nhập kho* Ngày lập hóa đơn nhập kho Mã người giao hàng(FK->B4.32) Mã nhà cung cấp(FK->B4.33) Mã thủ kho(FK->B4.34) Mã số hóa đơn giao hàng Ngày tháng năm của chứng từ gốc kèm theo Bảng 4.32: Thông tin người giao hàng Mã người giao hàng* Tên người giao hàng Bảng 4.33: Dữ liệu nhà cung cấp Mã nhà cung cấp* Tên nhà cung cấp Bảng 4.34: Thông tin thủ kho Mã thủ kho* Tên thủ kho Hình 4.3 Sơ đồ thực thể liên kết của hóa đơn nhập kho 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) Bảng 4.35: Hóa đơn xuất kho- theo “Phiếu xuất kho” - hình 3.6 Số hóa đơn xuất kho* Ngày lập hóa đơn xuất kho Họ tên người nhận hàng Tên người lập phiếu Tên hàng Quy cách , phẩm chất vật tư. Đơn vị tính Số lượng yêu cầu Số lượng thực xuất Tên thủ kho Số chứng từ gốc kèm theo Lý do xuất kho Sau khi và thêm vào các thuộc tính Mã hàng, Mã nhà cung cấp, Mã người lập phiếu, Mã đơn vị tính, Mã thủ kho ta có bảng hóa đơn xuất kho sau: Bảng 4.36: Hóa đơn xuất kho- trước chuẩn hóa 1NF STT Tên phần tử dữ liệu Comment Số hóa đơn xuất kho* PK Ngày lập hóa đơn xuất kho Mã người nhận hàng Tên người nhận hàng Mã người lập phiếu Tên người lập phiếu Mã thủ kho Tên thủ kho Số chứng từ gốc kèm theo Lý do xuất kho Mã hàng* RGP PK của RGP Tên hàng Quy cách, phẩm chất vật tư Đơn vị tính Số lượng yêu cầu Số lượng thực xuất a) Chuẩn hóa 1NF Bảng 4.15 có nhóm các thuộc tính lặp lại là: Mã hàng, Tên hang, Đơn vị tính, số lượng. Để nhận được bảng ở dạng 1NF, ta tách thành 2 bảng: Bảng 4.37: Hóa đơn xuất kho Bảng 4.38: Chi tiết xuất kho Bảng 4.37: Hóa đơn xuất kho – 1NF, 2NF Số hóa đơn xuất kho* Ngày lập hóa đơn xuất kho Mã người nhận hàng Tên người nhận hàng Mã người lập phiếu Tên người lập phiếu Mã thủ kho Tên thủ kho Số chứng từ gốc kèm theo Lý do xuất kho Bảng 4.38: Chi tiết xuất kho – 1NF: Số hóa đơn xuất kho* Mã hàng* Tên hàng Đơn vị tính Quy cách, phẩm chất vật tư Số lượng yêu cầu Số lượng thực xuất b) Chuẩn hóa 2NF Bảng 4.37: Hóa đơn xuất kho đã ở dạng 2NF Bảng 4.38: Chi tiết xuất kho chưa ở dạng 2NF do thuộc tính Tên hàng, Đơn vị tính, Quy cách phẩm chất vật tư chỉ phụ thuộc hàm đầy đủ vào Mã hàng. Bảng 4.40: Chi tiêt xuất kho – 2NF, 3NF Số hóa đơn xuất kho*( FK ->B4.42) Mã hàng*(FK ->B4.41) Số lượng yêu cầu Số lượng thực xuất Bảng 4.41: Thông tin hàng hóa-2NF, 3NF Mã hàng* Tên hàng Đơn vị tính Quy cách, phẩm chất vật tư Số lượng trong kho c) Chuẩn hóa 3NF Bảng 4.40: Chi tiết xuất kho đồng thời cũng là 3NF Bảng 4.37: Hóa đơn xuất kho chưa ở dạng 3NF do: Thuộc tính Người lập phiếu phụ thuộc hàm đầy đủ vào thuộc tính Người lập phiếu, các thuộc tính này có trong Bảng 4.4:Thông tin người lập phiếu Thuộc tính Tên người nhận hàng phụ thuộc hàm đầy đủ vào thuộc tính Mã người nhận hàng, các thuộc tính này có trong Bảng 4.43: Thông tin người nhận hàng. Thuộc tính: Tên thủ kho phụ thuộc hàm đầy đủ vào thuộc tính Mã thủ kho, các thuộc tính này có trong Bảng 4.45: Thông tin thủ kho Tách các thuộc tính trên ta được dạng chuẩn hóa 3NF Bảng 4.42: Hóa đơn xuất kho-3NF Số hóa đơn xuất kho* Mã người nhận hàng(FK->B4.43) Mã người lập phiếu(FK->B4.44) Mã thủ kho(FK->B4.45) Số chứng từ gốc kèm theo Lý do xuất kho Bảng 4.43: Thông tin người nhận hàng Mã người nhận hàng* Tên người nhận hàng Bảng 4.44:Thông tin người lập phiếu Mã người lập phiếu* Tên người lập phiếu Bảng 4.45: Thông tin thủ kho Mã thủ kho* Tên thủ kho Sơ đồ thực thể liên kết quá trình xuất kho: Hình 4.4 Sơ đồ thực thể liên kết của hóa đơn xuất kho 4.1.5. Sơ đồ thực thể liên kết của toàn bộ cơ sở dữ liệu 4.2 Thiết kế giao diện (Interface design) Giao diện bắt đầu chạy phần mềm : Hình 4.6 Giao diện đăng nhập Sau khi nhập tên đăng nhập và mật khẩu chính xác (có trong cơ sở dữ liệu ) thì sẽ vào main chính: Hình 4.7 Giao diện chính Trong đây có các mục để lựa chọn : Ví dụ ta chon Nhập kho Hình 4.8 Giao diện nhập kho Chọn tiếp Nhập thông tin nhập kho Hình 4.9 Giao diện phiếu nhập kho Sau đó ta nhập các thông tin cho phiếu này. Hình 4.10 Nhập thông tin cho phiếu nhập kho Sau khi điền xong kick đồng ý. Hình 4.11 Kết thúc nhập thông tin cho phiếu nhập kho Dữ liệu sẽ được lưu trong cơ sở dữ liệu, muốn xem phần nhập kho ta tắt phiếu nhập kho đi sau đó vào phần xem thông tin nhập kho Hình 4.12 Xem cơ sở dữ liệu của phiếu nhập kho Trong quá trình nhập nếu sai sót sẽ hiện ra thông báo, ví dụ đã có số hóa đơn có mã là 1 mà ta vẫn tiếp tục nhập thì sẽ hiện ra thông báo : Hình 4.13 Thông báo Hoặc không tồn tại nhân viên như thế ta sẽ nhận được thông báo. Khi đó ta có thể chỉnh sửa nhân viên ở form khác: Hình 4.14 Thông tin nhân viên Hình 4.15 Chỉnh sửa thông tin nhân viên KẾT LUẬN Sau một kì học với rất nhiều nỗ lực chúng em đã hoàn thành những mục tiêu cơ bản cho phần mềm Quỷ lý kho cho chi nhánh công ty COMEECO. Mặc dù có nhiều sai sót song chúng em tin tưởng từ phần mềm đầu tay này chúng em có thể thiết kế những phần mềm tốt hơn trong tương lai Nhân đây cũng cám ơn GS TS Nguyễn Việt Hương đã tận tình chỉ bảo cho chúng em.

Các file đính kèm theo tài liệu này:

  • dock52_kstn_ase_gr2_310510_299.doc