Đề tài Xây dựng hệ thống bán hàng tại công ty VINDA

 Thực hiện demo cơ sở dữ liệu được trên máy đơn.  Chương trình chạy tương đối ổn định.  Cung cấp cho người dùng một giao diện đồ họa có hệ thống menu, toolbar,.  Cung cấp các báo cáo phục vụ cho việc quản lý.

pdf84 trang | Chia sẻ: lylyngoc | Lượt xem: 2361 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống bán hàng tại công ty VINDA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Khai báo biến*/ Begin /*Phần thực thi*/ If (so> 3) Then DBMS_OUTPUT.PUT_LINE(‘Hello, World’); Else RAISE bad_data; End If; Exceptions /*Xử lý exception*/ When bad_data Then DBMS_PUTLINE(‘Error condition’); End; II.3 CÁC KIỂU DỮ LIỆU  NUMBER: chứa bất kỳ số nào.  CHAR( size), VARCHAR2(size): dùng để lưu trữ các chuỗi ký tự số. kiểu CHAR thêm các khoảng trắng vào lưu trữ đủ chiều dài.  DATE: dùng để lưu trữ ngày.  LONG: Lưu trữ các Text lớn, đến 2 gigabyte chiều dài.  LONG RAW: dùng lưu trữ những khối dữ liệu lớn ở khuôn dạng nhị phân.  RAW: Lưu trữ những khối dữ liệu nhỏ hơn khuôn dạng nhị phân.  MLSLABEL: Sử dụng trong Oracle Trusted.  ROWID: sử dụng để lưu trữ khuôn dạng đặc biệt của ROWID trong cơ sở dữ liệu.  BOOLEAN: Lưu trữ giá trị True/false.  TABLE/RECORD: Các bảng có thể sử dụng để lưu các giá trị tương đương với một dãy, các record lưu các biến có kiểu dữ liệu composite. II.4. ĐIỀU KHIỂN LUỒNG XỬ LÝ PL/SQL. 1. Các vòng lặp: Declare … begin exec get_it; A:=fcnt(5) End; Các khối PL/SQL Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 34  Loop-exit: Là vòng lặp đơn giản nhất trong PL/SQL. Từ khoá loop định nghĩa bắt đầu của khối mã lệnh sẽ được lặp lại, end loop chỉ định kết thúc vòng lặp.Từ khoá exit chỉ định thoát khỏi vòng lặp. VD: Declare My_leg NUMBER:=0; My_hypotenuse NUMBER:=0; BEGIN LOOP My_leg:=my_leg+1; Execute find_hypotenuse(my_leg,my_leg,my_hypotenuse); If my_leg=25 Then EXIT; END IF; END LOOP; END;  Vòng lặp While-Loop:tương đương loop-exit. Vd: Decclare So1 NUMBER:=0; So 2 NUMBER:=0; Kq NUMBER:=0; BEGIN While ( So1<10) and (So 2<20) Loop Kq:=So1+So2; End Loop; END;  Vòng lặp For-loop VD: Declare So1 NUMBER:=0; BEGIN For So1 IN 1..25 Loop Execute Tinh(So1,So1); End Loop; END; 2. LẶP TRÌNH VỚI CON TRỎ( CURSOR). Có hai loại : Cursor ngầm và Cursor tường minh.  Cursor tường minh được đặt tên bỡi nhà phát triển ứng dụng. Nó chính là một lệnh select được đặt tên. Bất kỳ lệnh nào cũng có thể sử dụng trong một cursor tường minh bằng cách sử dụng cú pháp. Cursor cursor_name is. 1) XỬ LÝ EXCEPTION. Ba loại Exception trong PL/SQL là:  Predefined Exceptions: Để tiện ích việc xử lý lỗi trong PL/SQL, Oracle đã thiết kế một số Exception xây dựng sẵn tức là các predefined exception. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 35 Những exception này được sử dụng để xử lý những tình huống chung có thể xảy ra trong cơ sở dữ liệu.  User- defined Exceptions:Ngoài các Predefined Exception có thể tạo ra các User defined Exception để quản lý các tình huống xuất hiện trong mã lệnh. Không như các predefined exception xảy ra ngầm khi điều kiện lỗi tương ứng phát sinh, một user defined exception cần có mã lệnh tường minh trong PL/SQL. để sinh ra. Cần có mã lệnh trong ba phần của một khối PL/SQL . Các phần mã lệnh yêu cầu được mô tả như sau:  Khai báo exception: Trong phần khai báo của khối PL/SQL, tên exception cần phải khai báo. Tên này sẽ sử dụng để yêu cầu exception trong phần thực thi nếu các điều kiện của exception xảy ra.  Kiểm tra exception: Trong phần thực thi của một khối PL/SQL, cần có mã lệnh kiểm tra tường minh các điều kiện lỗi user-defined để gọi exception nếu điều kiện được thỏa.  Xử lý Exception: Trong phần exception handler của khối PL/SQL, cần có một mệnh đề đặc biệt when gọi tên exception và mã lệnh cần thực hiện nếu exception xảy ra. 2) EXCEPTION_INIT PRAGMA. Lệnh pragma cho phép nhà phát triển ứng dụng khai báo một lỗi được đánh số kết hợp với một exception được đặt tên trong khối. Việc dùng này cho phép dùng mã lệnh xử lý các lỗi chưa được xử lý rõ ràng. 4. CHỈ ĐỊNH CÁC EXCEPTION CHUNG(COMMON EXCEPTION). Một số predefined exception:  invalid_cursor: Xảy ra khi đóng một cursor không mở.  cursor_already_open: Xảy ra khi mở một cursor chưa đóng.  dup_val_on_index:Xâm phạm ràng buộc unique hay primary key.  no_data_found: Không có hàng nào được chọn hay thay đổi bởi tác vụ SQL.  too_many_rows: Nhận được hơn một hàng bỡi một subquery một hàng hay trong một lệnh SQL mà Oracle mong đợi một hàng.  zero_divide: Chia cho không.  rowtype_mismatch: Các kiểu dữ liệu của record mà dữ liệu từ cursor được gán không tương thích.  invalid_number: Một chuỗi các ký số được tham trỏ như một số. 5. MÃ HOÁ TRÌNH XỬ LÝ LỖI. Mỗi user-defined exception trong phần khai báo và thực thi của một khối PL/SQL nên có một exception handler kết hợp viết cho nó. Cách tốt nhất để xử lý một exception là gọi tên nó rõ ràng khi sử dụng mệnh đề when trong khối exception của chương trình PL/SQL. Exception handler có lẽ là một thành tựu lớn nhất đạt được bằng cách sử dụng PL/SQL để viết các store procedure trong Oracle. Tính linh hoạt và dễ dàng giúp đơn giãn hoá việc phát triển những chương trình lớn CHƯƠNG IV: PHƯƠNG PHÁP LUẬN PHÂN TÍCH THIẾT KẾ HỆ THỐNG. I. Phương pháp phân tích có cấu trúc. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 36 Phương pháp phân tích có cấu trúc,trãi qua thời gian đã chứng tỏ được tính kinh điển của nó. Nó là phương pháp dung dị, không cầu kỳ như một số phương pháp khác, dễ áp dụng, nhưng lại rất hữu hiệu. Ngày nay nó chưa lạc hậu, mà vẫn còn phát huy tác dụng tốt. Bằng chứng là một hệ thống lớn và hiện đại như ORACLE vẫn tiếp sử dụng nó. I.1 Phương pháp phân tích hệ thống về chức năng. Đó là phương pháp SA(Structured Analysis) do De Macro và những những người khác như (Yourdon, Constatine…) đưa ra năm 70 nhưng vẫn còn phát huy tác dụng cho đến ngày nay. Nó vẫn là nền tảng của những phần mềm trợ giúp phân tích , thiết kế nổi tiếng như Designer 2000 của ORACLE. Công cụ chính là biểu đồ luồng dữ liệu. I.1.1 Biểu đồ phân cấp chức năng. Là một loại biểu đồ diễn tả sự phân rã dần dần các chức năng từ đại thể đến chi tiết. Mỗi nút trong biểu đồ là một chức năng, và quan hệ duy nhất giữa các chức năng, diển tả bỡi các cung nối liền các nút, là quan hệ bao hàm. Như vậy biểu đồ phân cấp chức năng là một cấu trúc cây. Đặc điểm của biểu đồ phân cấp chức năng là:  Cho một cách nhìn khái quát ,dễ hiểu, từ đại thể đến chi tiết về các chức năng, nhiệm vụ cần thực hiện.  Dễ thành lập, bằng cách phân rã dần các chức năng từ trên xuống.  Có tính chất tĩnh, bởi chúng chỉ cho thấy các chức năng mà không cho thấy trình tự xử lý.  Thiếu vắng sự trao đổi thông tin giữa các chức năng. Vì những đặc điểm kể trên mà biểu đồ phân cấp chức năng thường được sử dụng làm mô hình chức năng trong bước đầu phân tích, hoặc cho các hệ thống đơn giãn. Nếu hệ thống là phức tạp thì mô hình chức năng dưới dạng biểu đồ phân cấp chức năng là quá sơ lược và các thiếu sót nêu trên trong hai đặc điểm cuối ở trên là không thể châm chước được. Lúc đó người dùng biểu đồ luồng dữ liệu thay cho biểu đồ phân cấp chức năng. I.1.2 Biểu đồ luồng dữ liệu. Biểu đồ luồng dữ liệu(BLD) là một loại biểu đồ nhằm mục đích diển tả một quá trình xử lý thông tin với các yêu cầu sau:  Sự diễn tả là ở mức logic, nghĩa là nhằm trả lời câu hỏi “Làm gì”, mà bỏ qua câu hỏi “Làm thế nào?”.  Chỉ rõ các chức năng con phải thực hiện để hoàn tất quá trình xử lý cần mô tả.  Chỉ rõ các thông tin được chuyển giao giữa các chức năng đó, và qua đó phần nào thấy được trình tự thực hiện của chúng. (1) Chức năng: Là một quá trình biến đổi dữ liệu( thay đổi giá trị, cấu trúc, vị trí của một dữ liệu, hoặc từ một số dữ liệu đã cho, tạo ra một dữ liệu mới). Biểu diễn: Bởi hình tròn hoặc ovan bên trong có tên chức năng. Tên chức năng. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 37 Tên chức năng phải là động từ, có thêm bổ ngữ nếu cần, cho phép hiểu vắn tắt chức năng làm gì. (2) Các luồng dữ liệu. Luồng dữ liệu là một tuyến truyền dẫn thông tin vào hay ra một chức năng nào đó. Biểu diễn: Một luồng dữ liệu được vẽ trong một BLD dưới dạng một mũi tên, trên đó có viết tên của luồng dữ liệu. Tên luồng dữ liệu là danh từ, kèm theo tính ngữ nếu cần, cho phép hiểu vắn tắt nội dung dữ liệu được chuyển giao. (3) Kho dữ liệu. Một kho dữ liệu là một dữ liệu đơn hay có cấu trúc được lưu lại, để có thể truy cập nhiều lần về sau. Biểu diễn: Một kho dữ liệu được vẽ trong BLD dưới dạng hai đoạn thẳng nằm ngang, kẹp giữa tên của kho dữ liệu. (4) Các đối tác. Một đối tác ( hay tác nhân ngoài, hay điểm nút) là một thực thể ngoài hệ thống, có trao đổi thông tin với hệ thống. Biểu diễn: Đối tác trong biểu đồ luồng dữ liệu vẽ bằng hình chữ nhật, bên trong có tên đối tác. (5) Tác nhân trong Một tác nhân trong là một chức năng hay 1 hệ con của hệ thống, được mô tả ở một trang khác của mô hình, nhưng có trao đổi thông tin với các phần tử thuộc trang hiện tại của mô hình. Như vậy tác nhân trong xuất hiện trong biểu đồ chỉ để làm nhiệm vụ tham chiếu. Biểu diễn: Tác nhân trong biểu đồ luồng dữ liệu được vẽ dưới dạng một hình chữ nhật thiếu cạnh trên, trong đó viết tên tác nhân trong ( chức năng hay hệ thống con). Tên tác nhân trong phải là động từ, kèm theo bổ ngữ nếu cần. II. Phương pháp phân tích hệ thống về dữ liệu. Tên luồng dữ liệu Kho dữ liệu Tên đối tác Tên tác nhân trong Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 38 Mô hình thực /thể liên kết E/A(Entity/Association Model) là mô hình dữ liệu do P.P Chen đưa ra năm 1976 và sau đó được dùng khá phổ biến trên thế giới. Nó có ưu điểm là khá đơn giản và gần với tư duy trực quan.  Mô hình thực thể liên kết kinh điển. Xuất phát từ ba khái niệm cơ bản.: Thực thể, liên kết, và thuộc tính. Các giá trị ứng số thường dùng: : Một và chỉ một. 0..1: không hay một. m..n: Từ m tới n. 0..*: từ không tới nhiều. 1..*: Từ một tới nhiều.  Biểu diển đồ hoạ: Thực thể: Liên kết:  Mô hình thực thể liên kết mở rộng.  Mô hình thực thể liên kết hạn chế. Tuy bị hạn chế nhiều về hình thức diển tả, nhưng lại rất gần với mô hình quan hệ và do đó dễ dàng chuyển sang cài đặt với hệ quản trị cơ sở dữ liệu quan hệ. Đây là mô hình được dùng trong một số hệ trợ giúp thiết kế CASE, chẳn hạn trong ORACLE. a) Các hạn chế. + Đối với kiểu liên kết hai ngôi dạng: Thì chỉ còn liên kết một -nhiều, tức là trường hợp n=1 và q>1 hoặc q=* và được biểu diển dưới dạng mới sau: III. Phương pháp thiết kế hệ thống. Đồ án thực hiện theo phương pháp SD(Structured design) do E. Yourdon và L.Constanie đề xuất. CHƯƠNG VI: GIỚI THIỆU ORACLE DEVELOPER 6.O Bộ Oracle Developer 6.0 bao gồm:Form buider, Report buider , Schema buider và Project buider A B m..n p..q Đơn hàng -SH-đơn hàng -Ngày ĐH Giao nộp A B Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 39 I. Form Buider. Là các mẫu nối với bảng cơ sở dữ liệu đã định. Những người dùng sử dụng Form Buider để tạo các ứng dụng cung cấp cho người sử dụng đầu cuối truy xuất thông tin được lưu trong cơ sở dữ liệu. Các thành phần của Form Buider. Quá trình ánh xạ dữ liệu từ bảng vào Form. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 40 II. Report Buider. Report buider là chương trình ứng dụng Oracle Developer, có công dụng tạo báo biểu dựa trên dữ liệu trong cơ sở dữ liệu, vốn có thể xem trên màn hình, in ra tập tin hoặc in lên giấy. Báo biểu có thể truy xuất dữ liệu bằng SQL, thực hiện các phép toán trên dữ liệu truy xuất, và định dạng kết quả cho giống với hoá đơn, thư mẫu hoặc tài liệu thương mại khác. Report buider là khung nhìn dữ liệu tỉnh vào thời điểm cụ thể xem hoặc in được. III. Graphics buider. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 41 Graphics buider là chương trình ứng dụng Oracle Developer dành để tạo đồ họa trong cơ sở dữ liệu Oracle chẳng hạn như: biểu đồ tròn, biểu đồ thanh, biểu đồ vạch. Oracle graphics buider có thể chạy như một chương trình ứng dụng độc lập, hoặc lồng trong form, report. IV. Query Buider. Query buider là môi trường đồ họa giúp vấn tin câu lệnh SELECT được dễ dàng hơn. Thay vì phải viết vấn tin bằng tay, Query buider cho phép bạn chọn bảng muốn truy vấn rồi hiển thị bảng và cột liên quan trên màn hình. Các liên kết khóa ngoài hiển thị giữa các cột trong bảng liên quan. Hiển thị dữ liệu thông qua truy vấn. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 42 V. Schema buider. Là công cụ thể hiện các relationship giữa các table trong Oracle Developer. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 43 Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 44 PHẦN HAI I. Đặt Vấn đề Hiện nay trên thị trường tin học ở Việt Nam việc áp dụng tin học vào công tác quản lý đã và đang áp dụng và thu đuợc nhiều thành công bước đầu. Tuy nhiên hầu hết là sử dụng các chương trình quản lý viết bằng hệ quản trị cơ sở dữ liệu Foxpro, Access,…do đó với tình hình phát triển của nền kinh tế hiện nay và với vị trí quan trọng của việc áp dụng tin học hoá và công tác quản lý thì các chương trình trên đang đứng trước một số vấn đề khó khăn cần được giải quyết. Các vấn đề đó là:  Khả năng đảm bảo an toàn dữ liệu của Foxpro còn tương đối yếu. Đây là trở ngại cần được khắc phục vì cơ sở dữ liệu của hệ quản trị cơ sở dữ liệu Foxpro không đủ lớn nên không đáp ứng được nhu cầu cần lưu trữ thông tin lớn, khả năng bảo mật dữ liệu, độ chính xác cao để đáp ứng uy tín cho công ty. Từ những khó khăn trên yêu cầu đặt ra là xây dựng chương trình quản lý bán hàng tại công ty VINDA phải thỏa mãn được các yêu cầu sau:  Tự động hoá nghiệp vụ.  Khả năng lưu trữ lớn.  Tố độ truy xuất nhanh.  Bảo mật Giải quyết vấn đề Từ những phân tích nêu trên rõ ràng các vấn đề phát sinh chủ yếu là do hệ quản trị cơ sở dữ liệu Foxpro yếu, không đáp ứng được các nhu cầu mới. Như vậy chỉ cần thay đổi hệ quản trị cơ sở dữ liệu cùng với việc xây dựng phần mềm trên hệ quản trị đó và lựa chọn mộ hệ điều hành cho phù hợp là có thể giải quyết được các vấn đề nêu trên. Sự lựa chọn một hệ quản trị cơ sở dữ liệu và một hệ điều hành tương thích cần phải được thực hiện một cách kỹ càng sao cho có lợi nhất.  Phần cứng  Loại máy: do yêu cầu về tốc độ và khả năng lưu trữ lớn nên đòi hỏi cấu hình máy phải đủ tốt. Như vậy tối thiểu là loại máy Pentium trở lên, riêng server thì đòi hỏi cao hơn. Các máy phải được nối mạng với nhau để đảm bảo thống nhất về thông tin.  Phần mềm  Hệ điều hành: có ba loại hệ điều hành chủ yếu như: Novell Netware, NT, UNIX. Hệ điều hành NT chỉ chạy được trên hai plafform là X86 và Alpha. Hệ điều hành NT chỉ hỗ trợ cho hệ thống đa xử lý đến 8 CPU, chỉ quản lý bộ nhớ lên tới Gb. Hệ điều hành UNIX có thể chạy trên ba plaform là X86, SPARTC, PPC. UNIX có thể hỗ trợ cho hệ thống xử lý lên đến 128 CPU và có khả năng quản lý bộ nhớ lên đến TGb. UNIX còn hỗ trợ unlimited uer nghĩa là chỉ cần một bản UNIX/Solaris là có thể cài đặt cho cả hệ thống. Ngoài ra UNIX còn có LINUX là hệ điều hành mã nguồn mở rất tiện dụng.  Hệ quản trị cơ sở dữ liệu: hiện nay thị trường tin học có các hệ quản trị cớ sở dữ liệu quan hệ như:FOXPRO, ACCESS, SQL Server, Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 45 Oracle…Tuy nhiên chỉ có hai loại là SQL Server và Oracle có thể giải quyết vấn đề trên. Đối với SQL server : điểm hạn chế của SQL Server là chỉ chạy được trên một hệ điều hành duy nhất là NT do đó khi lựa chọn SQL Server thì phải chọn hệ điều hành NT. Trong khi đó NT chỉ chạy được trên hai plafform là X86 và Alpha và chỉ quản lý tối đa lên đến Gb, đây chính là điểm yếu của hệ điều hành NT. Đối với ORACLE: đây là hệ quản trị cơ sở dữ liệu rất mạnh và tiện lợi, nó có thể chạy trên 80 hệ điều hành khác nhau từ Laptop đến Mainframe. Tuy nhiên trong số các hệ điều hành này thì hệ UNIX dòng Solaris có ưu thế hơn cả vì nó có thể chạy trên ba plafform là X86, SPARTC, PC và hơn nữa nó rất phù hợp cho mạng WAN. Riêng Oracle còn có một số ưu điểm:  Cho phép chia sẽ dòng dữ liệu  Refesh trước khi update  Qui định timeout khi người sử dụng để quá lâu hay trong tình trạng dealock thì tự động relase  Xử lý dữ liệu lên đến 5 TGb  Cho phép xử lý dữ liệu song song  Cung cấp nhiều cung cụ hỗ trợ( Design Development tools, Design 2000…)  Cho phép cơ chế phân tán dữ liệu hay tập trung dữ liệu  Qua các hướng giải quyết trên thì tôi đề nghị nên chọn hệ điều hành UNIX và hệ quản trị cơ sở dữ liệu là Oracle. Tuy nhiên do Oracle có cơ chế phân tán dữ liệu nên chúng ta có một số cách cài đặt chương trình như sau:  Cài đặt dữ liệu trên nhiều Server, đây chính là hình thức phân tán dữ liệu thực sự. Với cách cài đặt như thế này thì đòi hỏi đường truyền phải thật tốt, tốt nhất là sử dụng cáp quang. Tuy nhiên với đường truyền bằng cáp quang thì chi phí lắp đặt và bảo trì rất đắt. Điều này làm cho chi phí của dự án tăng lên rất cao do đó cách giải quyết này không khả thi.  Cài đặt dữ liệu trên nhiều Server. Mối server có dữ liệu riêng cho mình và bản sao dữ liệu( sự ánh xạ dữ liệu) của tất cả các server khác. Như vậy sau một khoản thời gian quy định thì phải tiến hành cập nhật (refresh) lại thông tin toàn bộ để thông tin được thống nhất .Với cách giải quyết này thì thông tin lưu trữ không được thống nhất tại một thời điểm,có nhiều khi mâu thuẫn có thể gây thiệt hại cho công ty.  Cài đặt dữ liệu trên một Server duy nhất, đây có thể coi là dữ liệu tập trung. Khi các trạm khác muốn trao đổi trên dữ liệu thì phải thông qua một user nào đó do người quản trị cơ sở dữ liệu tạo ra. Với mỗi một user sẽ có một số quyền nhất định, các quyền này do người quản trị cơ sở dữ liệu quy định. Với cách giải quyết này có thể nói thông tin sẽ được thống nhất một cách tuyệt đối.  Kết hợp giữa tập trung và phân tán dữ liệu, dữ liệu sẽ tập trung tại mỗi trung tâm, các server phụ thao tác dữ liệu tại trung tâm mà được quyền sử dụng. Tại trung tâm vừa chứa dữ liệu của mình và bản sao của trung tâm khác. Tóm lại giải pháp chọn là: Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 46  Hệ điều hành UNIX dòng Solaris  Hệ quản trị cơ sở dữ liệu Oracle với cơ chế dữ liệu tập trung kết hợp với phân tán dữ liệu  Mạng sẽ cài đặt là WAN. Khảo sát hiện trạng. Công ty thép VinDa (A4-E23-F2-Quận Tân Bình-TPHCM) là công ty kinh doanh tương đối lớn. Gần đây bộ phận kế toán bán hàng tại công ty tỏ ra bất cập. Vì vậy có yêu cầu cải tiến quản lý ở bộ phận này. Nhiệm vụ cơ bản. Khi bộ phận nghiệp vụ có yêu cầu mua hàng, bộ phận kế toán bán hàng tại công ty phải thực hiện mua hàng từ nhà cung cấp đáp ứng kịp thời bán hàng cho khách hàng. Cơ cấu tổ chức. Bộ phận kế toán bán hàng tại công ty gồm: Bộ phận bán hàng và bộ phận mua hàng  Bộ phận mua hàng đảm nhận việc đặt hàng dựa trên dự trù của bộ phận nghiệp vụ đưa ra. Bộ phận này có dùng một máy tính trong đó có dùng một chương trình lưu trữ những thông tin của người cung cấp (bao gồm tên người cung cấp, địa chỉ người cung cấp và những thông tin liên quan) giúp chọn người cung cấp, làm đơn hàng và theo dõi sự hoàn tất của đơn hàng một cách dể dàng hơn . Ngoài ra còn có tổ kiểm tra.,vì hai máy tính ở hai bộ phận trên là không tương thích với nhau nên không nối ghép với nhau được. Tổ này có nhiệm vụ kiểm tra các sai xót về hàng và tiền để khiếu nại với nhà cung cấp nhằm chỉnh lại cho đúng.  Bộ phận bán hàng có trách nhiệm làm hoá đơn, phiếu xuất hàng, giao hàng cho khách hàng và tiền hàng thanh toán với khách hàng. Bộ phận này có một máy tính (máy đơn) trong đó dùng chương trình quản lý tất cả các mặt hàng của công ty giúp việc quản lý tốt hơn. Quy trình xử lý và các loại dữ liệu xử lý: Qua khảo sát ta thấy quy trình làm việc cùng các loại chứng từ giao dịch sử dụng trong quy trình đó như sau: Khi có nhu cầu về hàng, bộ phận nghiệp vụ sẽ lập một bản dự trù gửi cho bộ phận mua hàng, trong đó có các mặt hàng được yêu cầu, với các số lượng yêu cầu tương ứng. Bộ phận mua hàng trước hết chọn nhà cung cấp để đặt mua các mặt hàng nói trên. Muốn vậy, nó dùng máy tính để tìm các thông tin về các người cung cấp được lưu trong tập tin người cung cấp. Sau đó thương lượng với nhà cung cấp (trực tiếp hoặc gián tiếp). Khi đã thỏa thuận xong dùng hệ chương trình Đơn hàng để in một đơn hàng. Các thông tin trên đơn hàng được lưu lại để theo dõi trong tập tin đơn hàng, còn đơn hàng in ra thì gửi tới người cung cấp. Để tiện theo dõi người ta áp dụng nguyên tắc: mỗi khoản đặt hàng trên một đơn hàng giải quyết trọn vẹn một khoản yêu cầu về một mặt hàng trên một bản dự trù. Tuy nhiên một đơn hàng ,gồm nhiều khoản, có thể đáp ứng yêu cầu của nhiều bản dự trù khác nhau. Ngược lại các khoản yêu cầu trên một bản dự trù lại có thể phân bố lên nhiều đơn hàng khác nhau, gửi đến các nhà cung cấp khác nhau. Nhà cung cấp, căn cứ trên đơn hàng, sẽ chuyển đến các kho, kèm Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 47 phiếu giao hàng. Hàng đưa vào kho, còn thông tin trên phiếu giao hàng cùng địa điểm cất hàng được lưu vào máy tính, trong tập tin Phiếu NHẬN HÀNG. Trên phiếu giao hàng, mỗi mặt hàng được giao đều có ghi rõ số hiệu đơn hàng đã đặt mặt hàng đó. Để giải quyết vấn đề này, hàng tuần tổ nhận hàng sử dụng hệ chương trình NHẬN HÀNG, in một danh sách nhận hàng trong tuần, gửi cho tổ kiểm tra, với nội dung :Số Hiệu(SH) giao hàng- Tên Nhà Cung Cấp(NCC)- Số Hiệu(SH) mặt hàng- Số Lượng (SL) nhận- Số Hiệu(SH) đơn hàng. Mặt khác, hàng tuần, tổ Đặt hàng sử dụng hệ chương trình Đặt hàng(ĐH), in ra một danh sách Đặt hàng trong tuần, gửi cho tổ kiểm tra với nội dung sau: Mã Số(MS) đơn hàng- Tên NCC- Số Hiệu(SH) mặt hàng- Số lượng đặt- Số Hiệu(SH) dự trù- Tên Kho. Bộ phận kiểm tra khớp hai danh sách này, tìm ra mã Số đơn hàng và Số Hiệu mặt hàng chung và từ đó xác định lượng hàng nào là cần phát về cho các kho nào. Tổ kiểm tra còn tiếp nhận hoá đơn từ nhà cung cấp gửi đến, đối chiếu với hàng đã nhận, nếu chính xác thì chi lên hoá đơn và gửi đi thanh toán thuộc phòng tài chính. Nếu phát hiện có sự không ăn khớp giữa hàng đặt- hàng nhận và tiền phải trả thì tổ kiểm tra khiếu nại với nhà cung cấp để chỉnh sữa lại. Đối với khách hàng khi mua hàng từ công ty phải có đơn hàng chuyển đến theo mẫu đã in sẳn bao gồm: phần đầu là những thông tin đầy đủ về một khách hàng , phần thứ hai là danh sách mặt hàng đặt mua ,số lượng ,đơn giá từng loại,và ngày nhận hàng . Đơn đặt hàng được đưa đến bộ phận nghiệp vụ để xem xét. Nếu khách hàng còn nợ trể hạn quá 1 số tiền quy định thì bộ phận nghiệp vụ từ chối bán hàng. Khi đặt hàng có thể khách hàng đặt một số tiền nào đó.Người ta tiến hành kiểm tra đơn hàng của khách xem có hợp lệ hay không. Nếu hợp lệ thì đơn đó được đáp ứng ngay và chuyển cho khách giấy báo chờ hàng ngược lại báo cho khách biết chỉnh sữa lại. Sau đó ngưòi ta lập hoá đơn và phiếu xuất để bán hàng cho khách. Một phiếu xuất để giao hàng và một hoá đơn để chuyển cho khách. Khách hàng nhận phiếu giao hàng sẽ đến thanh toán tại phòng tài chính của công ty. Khi khách hàng trả tiền, bộ phận kế toán xuất 1 phiếu nhận tiền trên đó ghi đầy đủ thông tin về khách hàng, số tiền và ngày trả. Hàng ngày bộ phận Nghiệp Vụ xem xét các đơn đặt hàng so sánh hàng tồn kho để làm giấy báo nhận hàng cho khách và đặt hàng từ nhà cung cấp khi lượng hàng tồn vượt mức tồn tối thiểu. Đồng thời bộ phận nghiệp vụ cũng xem xét tình hình công nợ để làm giấy báo nợ cho khách hàng Những khó khăn hiện tại của công ty.  Thiếu: Thiếu một kho hàng dự trữ các mặt hàng thông dụng và rẻ tiền. Đầu tư cho một kho như thế không tốn kém mấy.  Kém:  Chu trình quá lâu, do khâu chờ đợi địa chỉ phát hàng .  Kiểm tra không chặt, để sai sót hàng-tiền.  Tốn: Tốn nhân lực ở khâu đối chiếu và kiểm tra bằng tay. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 48 II. PHÂN TÍCH HỆ THỐNG. II.1. Phân tích hệ thống về chức năng II.1.1. Biểu đồ phân cấp chức năng. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 49 Làm Hoá đơn và phiếu xuất Kiểm tra đơn hàng Giao hàng Thanh toán QỦẢN LÝ BÁN HÀNG- MUA HÀNG. BÁN HÀNG In Đơn hàng Chọn người CC Theo dõi thực hiện đơn hàng In danh sách đơn hàng Khớp đơn hàng với hàng về Làm danh sách địa chỉ phát hàng Ghi nhận hàng về theo đơn hàng Khớp đơn hàng có hàng về vơí hoá đơn MUA HÀNG Đặt hàng Nhận hàng Làm séc Kiểm tra In phiếu phát hàng In danh sách hàng về Ghi nhận hàng về Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 50 II.1.2. Biểu đồ luồng dữ liệu: II.1.3. Biểu đồ luồng dữ liệu mức bối cảnh. NHÀ CUNG CẤP KHÁCH HÀNG QUẢN LÝ BÁN HÀNG- MUA HÀNG NGHIỆP VỤ Dự trù Thương lượng Đơn hàng phiếu giao hàng Hoá đơn thanh toán Hàng hay hoá đơn sai tiền Đơn hàng Khách Giấy báo chờ hàng Giấy báo chờ hàng Phiếu giao hàng Tiền Đơn không hợp lệ Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 51 Đặc tả chức năng:QUẢN LÝ BÁN HÀNG-MUA HÀNG. Đầu đề: Tên chức năng: QUẢN LÝ BÁN HÀNG-MUA HÀNG. Đầu vào: Thương lượng, phiếu giao hàng, hoá đơn, dự trù, đơn hàng khách hàng, tiền khách hàng. Đầu ra: Tiền , đơn không hợp lệ, phiếu giao hàng, giấy báo chờ hàng, hoá đơn khách hàng, hàng hay hoá đơn sai, đơn hàng. Thân: Khi nhận được dự trù từ bộ phận nghiệp vụ, bộ phận quản lý bán hàng- mua hàng sẽ thương lượng với nhà cung cấp để thực hiện mua hàng thông qua đơn hàng. Nếu đơn hàng là hợp lệ thì nhà cung cấp sẽ chuyển phiếu giao hàng và hoá đơn thanh toán ngược lại báo nhà cung cấp biết là hàng hay hoá đơn sai. Bộ phận quản lý bán hàng-mua hàng sẽ chuyển tiền tới nhà cung cấp Đối với khách hàng khi mua hàng phải có đơn hàng chuyển tới. Nếu đơn hàng khách là hợp lệ thì chuyển phiếu giao hàng cho khách và giấy báo chờ hàng cộng với hoá đơn chuyển hàng cho khách ngược lại đơn hàng là không hợp lệ phải báo cho khách biết để chỉnh sữa kịp thời. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 52 II.1.4 Biểu đồ luồng dữ liệu mức đỉnh. Hàng hay hoá đơn sai Giấy báo chờ hàng Đơn hàng khách KHÁCH HÀNG NHÀ CUNG CẤP BÁN HÀNG 1 MUA HÀNG 2 NGHIỆP VỤ Kho hàng dự trù Đơn hàng tiền Thương lượng Phiếu giao hàng nhà cung cấp Hoá đơn khách Đơn hàng khách không hợp lệ Phiếu giao hàng Khách hàng Tiền Hoá đơn thanh toán Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 53 Đặc tả chức năng 1. Đặc tả chức năng 2. Đầu đề: Tên chức năng: BÁN HÀNG. Đầu vào: Kho hàng, Đơn hàng khách. Đầu ra: Phiếu giao hàng, Giấy báo chờ hàng, Đơn hàng khách không hợp lệ, Hoá đơn khách. Thân : Khi khách hàng cần mua hàng việc đầu tiên là chuẩn bị hoá đơn mua hàng chuyển đến bộ phận bán hàng. Nếu trong kho còn hàng thì báo cho khách giấy báo chờ hàng và hoá đơn và kèm phiếu giao hàng ngược lại báo đơn hàng không hợp lệ để cho khách kịp thời chỉnh sửa. Đầu đề: Tên chức năng: MUA HÀNG. Đầu vào: Dự trù, thương lượng, phiếu giao hàng. Đầu ra: Tiền , đơn hàng, hàng hay hoá đơn sai, thương lượng, kho hàng. Thân: Bộ phận nghiệp vụ khi thấy hàng trong kho hết sẽ đề xuất một bản dự trù gửi tới bộ phận mua hàng. Bộ phận này thương lượng với nhà cung cấp được chọn để mua hàng. Nếu thương lượng mua hàng thành công thì chuẩn bị đơn hàng gửi tới nhà cung cấp,Nhà cung cấp căn cứ trên đơn hàng sẽ chuyển đến công ty kèm phiếu giao hàng. Khi mua hàng hoàn tất bộ phận mua hàng sẽ chuyển tiền tới nhà cung cấp . Ngược lại báo hàng hay hoá đơn sai để nhà cung cấp kịp thời chỉnh sữa. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 54 II.1.5 Biểu đồ luồng dữ liệu mức dưới đỉnh. Phân rã chức năng 1. Đặc tả chức năng 1.1 Đầu đề: Tên chức năng: GIAO HÀNG. Đầu vào: Hàng hoá , phiếu giao hàng đã xác nhận. Đầu ra: Hàng, phiếu giao hàng. Thân: Nếu nhận được phiếu giao hàng đã xác nhận và hàng hoá thì chuyển hàng và phiếu giao hàng cho khách hàng. Tiền KHÁCH HÀNG Kỉêm tra đơn hàng 1.4 Làm hoá đơn và phiếu xuất 1.2 Giao hàng 1.1 Thanh toán 1.3 Đơn hàng khách Đơn hàng khách không hợp lệ Giấy báo chờ hàng Đơn hợp lệ Phiếu giao hàng Kho hàng Hàng+ phiếu giao hàng Phiếu giao hàng đã xác nhận Hoá đơn Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 55 Đặc tả chức năng 1.2. Đặc tả chức năng 1.3. Đặc tả chức năng 1.4. Phân rã chức năng 2. Đầu đề: Tên chức năng: LÀM HOÁ ĐƠN VÀ PHIẾU XUẤT. Đầu vào: Đơn hợp lệ. Đầu ra: Phiếu giao hàng. Thân: Nếu đơn là hợp lệ thì làm phiếu xuất hàng. Đầu đề: Tên chức năng: THANH TOÁN. Đầu vào: Tiền, hoá đơn , phiếu giao hàng. Đầu ra: Phiếu xác nhận thanh toán trong hoá đơn khách. Thân: Thực hiện thanh toán tiền, hoá đơn , phiếu giao hàng. Đầu đề: Tên chức năng: Kiểm tra đơn hàng. Đầu vào: Đơn hàng khách. Đầu ra: Đơn hàng khách sai, giấy báo chờ hàng, đơn hợp lệ. Thân: Khi tiếp nhận đơn hàng khách nếu đơn hợp lệ thì báo cho khách chờ và làm hoá đơn , phiếu xuất hàng ngược lại báo cho khách biết là đơn hàng sai. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 56 dự trù Nghiệp vụ Thương lượng mua hàng Đặt Hàng 2.1 Nhận hàng 2.2 Kiểm tra 2.3 NGƯỜI CUNG CẤP Đơn hàng NCC Phiếu giao hàng địa chỉ phát hàng Hàng hay hoá đơn sai Hoá đơn Danh sách đơn hàng Làm séc 2. 4 Xác nhận chi séc Danh sách hàng về Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 57 Đặc tả chức năng 2.1. Đặc tả chức năng 2.2 Đặc tả chức năng 2.3. Đầu đề: Tên chức năng: ĐH Đầu vào: Thương lượng mua hàng, dự trù. Đầu ra: Đơn hàng, danh sách đơn hàng, thương lượng mua hàng, xác nhận chi. Thân: chức năng này thực hiện việc đặt hàng từ nhà cung cấp. Nếu thương lượng mua hàng từ nhà cung cấp thành công và nhận nhận được dự trù từ nhà cung cấp thì chuyển đơn hàng tới nhà cung cấp và danh sách đơn hàng để kiểm tra. Đầu đề: Tên chức năng: NHẬN HÀNG. Đầu vào: Phiếu giao hàng, địa chỉ phát hàng. Đầu ra:Danh sách hàng về, phiếu phát hàng. Thân: Nếu nhận được phiếu giao hàng từ nhà cung cấp, và địa chỉ phát hàng từ bộ phận kiểm tra thì chuyển phiếu phát hàng đến bộ phận nghiệp vụ và danh sách hàng về để kiểm tra. Đầu đề: Tên chức năng: KIỂM TRA. Đầu vào :Hoá đơn, danh sách hàng về, danh sách đơn hàng. Đầu ra: Hàng hay hoá đơn sai, địa chỉ phát hàng, xác nhận chi. Thân: Nếu nhận được hoá đơn ,danh sách hàng về, và danh sách đơn hàng thì phát địa chỉ phát hàng đến bộ phận nhận hàng làm phiếu xác nhận chi thông báo cho nhà cung cấp biết hàng hay hóa đơn sai. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 58 Đặc tả chức năng 2.4. Phân rã chức năng 2.1. Đầu đề: Tên chức năng: LÀM SÉC. Đầu vào: Xác nhận chi. Đầu ra: Séc. Thân: Nếu nhận được phiếu xác nhận chi thì làm séc đưa tới nhà cung cấp. Bản ghi trả tiền Chọn người cung cấp 2.1.1 In đơn hàng 2.1.2 In danh sách đơn hàng 2.1.3 Theo dõi thực hiện đơn hàng 2.1.4 Nhà cung cấp Thương lượng mua hàng Đơn hàng Đơn Hàng Làm séc dự trù + người cung cấp + SH đơn Nghiệp vụ dự trù Nhà CC Kiểm tra Danh sách đơn hàng DT/ĐH Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 59 Đặc tả chức năng 2.1.1. Đặc tả chức năng 2.1.2. Đặc tả chức năng 2.1.3. Đầu đề: Tên chức năng: CHỌN NGƯỜI CUNG CẤP. Đầu vào:Thương lượng mua hàng, Nhà CC, dự trù. Đầu ra:Dự trù+ Người CC+ SH đơn. Thân: Nếu nhận được dự trù từ bộ phận nghiệp vụ , thông tin về nhà cung cấp , và tiến hành thương lượng mua hàng từ nhà cung cấp thành công thì chuyển dự trù + SH đơn +người cung cấp để in đơn hàng. Đầu đề: Tên chức năng: IN ĐƠN HÀNG. Đầu vào: dự trù Nhà cung cấp + Số hiệu đơn. Đầu ra: Đơn hàng. Thân : Nếu nhận được dự trù Nhà cung cấp và Số hiệu đơn thì chuyển đơn hàng đến nhà cung cấp . Đầu đề: Tên chức năng: IN DANH SÁCH ĐƠN HÀNG. Đầu vào: Đơn hàng. Đầu ra: Danh sách đơn hàng. Thân: Khi có nhu cầu về danh sách đơn hàng thì in danh sách đơn hàng. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 60 Đặc tả chức năng 2.1.4. Phân rã chức năng 2.2 Đặc tả chức năng 2.2.1. Đầu đề: Tên chức năng: GHI NHẬN HÀNG VỀ. Đầu vào: Phiếu giao hàng. Đầu ra: Phiếu nhận hàng. Thân: Nếu nhận được phiếu giao hàng thì tiến hành ghi nhận hàng về vào phiếu nhận hàng. Đầu đề: Tên chức năng: THEO DÕI THỰC HIỆN ĐƠN HÀNG. Đầu vào: Đơn hàng, bản ghi trả tiền. Đầu ra: Đơn hàng. Thân: Nếu nhận được bản ghi trả tiền từ bộ phận làm séc thì theo dõi thực hiện đơn hàng. Kho Kiểm tra Nhà cung cấp In phiếu phát hàng 2.2.3 In danh sách hàng về 2.2.2 Ghi nhận hàng về 2.2.1 phiếu phát hàng địa chỉ phát hàng Danh sách hàng về Phiếu nhận hàng phiếu giao hàng Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 61 Đặc tả chức năng 2.2.2. Đặc tả chức năng 2.2.3. Đầu đề: Tên chức năng: IN DANH SÁCH HÀNG VỀ Đầu vào: Phiếu nhận hàng. Đầu ra: Danh sách hàng về. Thân: Nếu nhận được phiếu nhận hàng thì tiến hành in danh sách hàng về để kiểm tra. Đầu đề: Tên chức năng: IN PHIẾU PHÁT HÀNG. Đầu vào: Địa chỉ phát hàng, phiếu nhận hàng. Đầu ra: Phiếu phát hàng. Thân: Nếu nhận được địa chỉ phát hàng từ bộ phận kiểm tra thì tiến hành in phiếu phát hàng Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 62 Phân rã chức năng 2.3. Đặc tả chức năng 2.3.1 Khớp đơn hàng với hàng về 2.3.1 Làm danh sách địa chỉ phát hàng 2.3.2 Ghi nhận hàng về theo đơn hàng 2.3.3 Khớp đơn hàng có hàng về với hoá đơn. 2.3.4 Hệ ĐH Danh sách đơn hàng Hệ NH Danh sách hàng về địa chỉ phát hàng. dự trù đã có hàng về Đơn hàng đâ có hàng về Nhà CC Hàng về sai với đặt hàng Hoá đơn Hóa đơn sai với hàng về Làm Séc Hoá đơn đã xác nhận chi Đơn hàng Đầu đề: Tên chức năng: KHỚP ĐƠN HÀNG VỚI HÀNG VỀ. Đầu vào: danh sách đơn hàng, hàng về sai với đặt hàng, danh sách hàng về. Thân: Nếu nhận danh sách đơn hàng từ hệ ĐH và dang sách hàng về từ hệ NH cộng với hàng sai với đặt hàng từ nhà cung cấp thì đưa đơn hàng đã có hàng về để ghi nhận hàng về theo đơn hàng và đưa dự trù đã có hàng về để làm danh sách địa chỉ phát hàng. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 63 Đặc tả chức năng 2.3.2 Đặc tả chức năng 2.3.2 Đặc tả chức năng 2.3.4 Sau khi tiến hành phân tích hệ thống ta thấy tồn tại một số chức năng vật lý mà ta có thể bỏ ra khỏi hệ thống. Kết quả từ biểu đồ luồng dữ liệu vật lý mức đỉnh ta được biểu đồ luồng dữ liệu logic mức đỉnh. Đầu đề: Tên chức năng: KHỚP ĐƠN HÀNG CÓ HÀNG VỀ. Đầu vào: hoá đơn sai với hàng về, hoá đơn. Đầu ra: hoá đơn đã xác nhận chi. Thân: Nếu nhận được hoá đơn hoá đơn sai với hàng về từ nhà cung cấp thì chuyển hoá đơn đã xác nhận chi đến bộ phận làm séc. Đầu đề: Tên chức năng: GHI NHẬN HÀNG VỀ THEO ĐƠN HÀNG. Đầu vào: đơn hàng đã có hàng về. Đầu ra: đơn hàng. Thân: Nếu nhận được đơn hàng đã có hàng về thì ghi nhận hàng về theo đơn hàng . Đầu đề: Tên chức năng: LÀM DANH SÁCH ĐỊA CHỈ PHÁT HÀNG. Đầu vào: dự trù đã có hàng về. Đầu ra: địa chỉ phát hàng. Thân: Nếu nhận được dự trù đã có hàng về thì phát địa chỉ phát hàng đến hệ Nhận hàng. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 64 Nghiệp vụ Khách hàng Đơn hàng khách sai Phiếu giao hàng Giấy báo chờ hàng Đơn hợp lệ Tiền khách Đơn hàng khách Phiếu giao hàng đã xác nhận Chọn nhà cung cấp. dự trù Làm đơn hàng dự trù +Người CC Nhà cung cấp Đơn hàng Thương lượng mua hàng Khớp hoá đơn với hàng về Hoá đơn thanh toán Thanh toán Hoá đơn Xác nhận chi tiền Ghi nhận hàng về Đơn hàng Khớp đơn hàng với hàng về. DT/ĐH Nhà CC Làm phiếu phát hàng địa chỉ phát hàng Phiếu nhận hàng Hoá đơn sai với hàng về Giao hàng Phiếu giao hàng+hàng Làm hoá đơn và phiếu xuất Kiểm tra đơn hàng Hoá đơn Kho hàng Phiếu giao hàng Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 65 II.2 Phân tích hệ thống về dữ liệu. II.2.1. Mô hình quan niệm dữ liệu . DONG DON HANG-NCC -MSMH -MS-ĐH - Lượng đặt NHÀ CC -Mã NCC. -Ten NCC -Email NCC -DT NCC -DCNCC KHACH HANG -MSKH -Ho KH -Ten KH -DTKH -Email KH -DCKH MAT HANG -MSMH -Ten MH -Đơn vị tính -Quy cách -Đơn giá mua. -Đơn giá bán. HOA ĐON -SH-HĐ -Mã NCC -Ngày HĐ DONG HOA DON -SH-HĐ -MSMH -Tên HHDV -SLĐ -DG P-GIAO HANG -SH-GH -Mã NCC -Ngay GH DONG G-HANG -SH-GH -MSMH - Lượng GH. ĐONHANG-NCC -MS-ĐH -Ngày ĐH -MSNCC DU TRU -SH-DT -MS-NV -Ngay DT DONG DT -SH-DT -MSMH -Lượng DT NGHVU -MS-NV -Ten NV P-PHAT-HANG -MS-PPH -Ngay PH -MS-K DONG -PH -MS-PPH -MSMH -LPH DHANG-KH -MSĐHKH -MSKH -Ngay ĐH D-ĐH-KH -MSĐHKH -MSMH -SLĐ NHA CC-MH -Mã NCC -MSMH -Đơn giá KHO -MS-K -Ten K - ĐC K Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 66 II.2.2 MÔ HÌNH TỔ CHỨC DỮ LIỆU. NHACC(Mã NCC, Ten NCC, DTNCC, Email NCC, DCNCC). P-GIAO HANG(SH-GH, Mã NCC, Ngày GH). DONGG-HANG(MSMH, SH-GH, Luong GH). NHACC-MH(Mã NCC, MSMH, Đơn giá). MATHANG(MSMH,Ten MH, Qui cach, DVT, Đơn giá mua , Đơn giá bán). HOADON(SH-HĐ, Mã NCC,Ngay HĐ). DONGHOADON(SH-HĐ,MSMH, Ten HHDV, SLĐ, DG). DONHANG-NCC(MS-ĐH,Ngay ĐH, MSNCC). DONGDONHANG-NCC(MSMH, MS-ĐH, Lượng đặt). KHACHHANG(MSKH, Ho KH, Ten KH, DTKH, Email KH). KHO(MS-K,Ten K) DHANG-KH(MSĐHKH, MSMH, Ngay ĐH). D-ĐH-KH(MSĐHKH,MSKH,SLĐ). NGHVU(MS-NV, Ten NV). DUTRU(SH-DT, MS-NV, Ngay DT).. DDUTRU(SH-DT, MSMH, Luong DT). P-PHATHANG(MSPPH, Ngay PH). DONG-PH(MSPPH, MSMH, LPH). II.2.3. MÔ HÌNH VẬT LÝ DỮ LIỆU. NHACC(Mã NCC, Ten NCC, DCNCC, Email NCC, DTNCC) NHACC. Field Name Data type Field Size Validation Rule Mã NCC(K) CHAR 10 Len()=10 Tên NCC CHAR 50 Len()=50 DCNCC CHAR 50 Len()=50 Email NCC CHAR 30 Len()=30 DTNCC CHAR 20 Len()=20 Ý nghĩa: Mã NCC: Mã số nhà cung cấp . Ten NCC:Tên nhà cung cấp. DCNCC: Địa chỉ nhà cung cấp Email NCC:Email Nhà cung cấp DTNCC: Điện thoại nhà cung cấp. P-GIAO HANG(SH-GH,Mã NCC, Ngày GH) P-GIAO HANG Field Name Data type Field Size Validation Rule SH-GH(K) CHAR 12 Len()=12 Mã NCC CHAR 10 Lookup(NHACC) Ngày GH DATE Ý nghĩa: Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 67 SH-GH: Số hiệu phiếu giao hàng. Mã NCC: Mã nhà cung cấp. Ngày GH: Ngày giao hàng. DONG G-HANG(MSMH, SH-GH, Luong GH, MS-ĐH). DONG G-HANG. Field Name Data type Field size Validation rule MSMH(K) CHAR 10 Lookup(MATHANG) SH-GH(K) CHAR 12 Lookup(P-GIAOHANG) MS-ĐH CHAR 12 Lookup(DĐONHANGNCC) Luong GH NUMBER 15 Ý nghĩa: MSMH: Mã số mặt hàng. SH-GH: Số hiệu giao hàng. Luong GH: Số lượng giao hàng. MS-ĐH: Mã số đơn hàng nhà cung cấp. NHACC-MH(Mã NCC, MSMH, Đơn giá). NHACC-MH. Field name Data type Field size Validation rule Mã NCC(K) CHAR 10 Lookup(NHACC) MSMH(K) CHAR 10 Lookup(MATHANG) Đơn giá NUMBER Mã NCC: Mã số nhà cung cấp. MSMH: Mã số mặt hàng. Đơn giá: Giá bán. MATHANG(MSMH,Ten MH, Qui cach, Dg mua VND, Dg ban VND). MATHANG. Field name Data type Field size Validation rule MSMH(K) CHAR 10 Len()=10 Ten MH CHAR 50 Len()=50 Qui cach CHAR 10 Len()=10 Đơn giá mua NUMBER 15 Đơn giá bán NUMBER 15 MSMH:Mã số mặt hàng. Ten MH: Tên mặt hàng. Qui cach:Qui cách tính Dg mua VND: Đơn giá mua tính theo Việt Nam đồng Dg ban VND: Đơn giá bán tính theo Việt Nam đồng. HOADON(SH-HĐ, Mã NCC,Ngay HĐ). Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 68 HOADON. Field name Data type Field size Validation rule SH-HĐ(K) CHAR 12 Mã NCC CHAR 10 Lookup(NHACC) Ngay HĐ DATE Ý nghĩa: SH-HĐ: Mã số hoá đơn. Mã NCC: Mã nhà cung cấp. Ngày HĐ: Ngày ghi lên hoá đơn. DONGHOADON(SH-HĐ, MSMH, Ten HHDV, SLĐ). DONGHOADON. Field name Data type Field size Validation rule SH-HĐ(K) CHAR 12 Lookup(HOADON) MSMH(K) CHAR 10 Lookup(MATHANG) Ten HHDV CHAR 20 SLĐ NUMBER Ý nghĩa: SH-HĐ: Mã số hoá đơn. Mã NCC: Mã số nhà cung cấp. MSMH: Mã số mặt hàng. Ten HHDV: Tên hàng hóa dịch vụ. SLĐ: Số lượng đặt. DONHANG-NCC(MS-ĐH,Mã NCC,Ngay ĐH). DONHANG-NCC. Field Name Data type Field size Validation rule MS-ĐH(K) CHAR 12 Len()=12 Mã NCC CHAR 10 Lookup(NHACC) Ngay ĐH DATE Ý nghĩa: MS-ĐH: Mã số đơn hàng. Mã NCC: Mã nhà cung cấp. Ngay ĐH: Ngày đặt hàng. DONGDONHANG-NCC(MSMH, MS-ĐH, Lượng đặt). DONGDONHANG-NCC. Field name Data type Field size Validation rule MSMH(K) CHAR 10 Lookup(MATHANG) MS-ĐH(K) CHAR 12 Lookup(DONHANG- NCC) Lượng đặt NUMBER Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 69 Ý nghĩa: MSMH: Mã số mặt hàng. MS-ĐH:Mã số đơn hàng. KHACHHANG(MSKH,Ho KH, Ten KH, DTKH, Email KH, DCKH). KHACHHANG. Field Name Data type Field size Validation rule MSKH(K) CHAR 10 Len()=10. Ho KH CHAR 30 Len()=30 Ten KH CHAR 7 Len()=7 DTKH NUMBER 7 Len()=7 Email KH CHAR 30 Len()=30 DCKH CHAR 50 Len()=50 Ý nghĩa: MSKH: Mã số khách hàng. Ho KH:Họ khách hàng. Ten KH: Tên khách hàng DTKH: Điện thoại khách hàng. Email KH: Email khách hàng. DCKH: Địa chỉ khách hàng. DHANG-KH(MSĐHKH, MSKH, Ngay ĐH). DHANG-KH. Field Name Data Type Field size Validation rule MSĐHKH(K) CHAR 12 Len()=12 MSKH CHAR 10 Lookup(KHACHANG) Ngay ĐH DATE Ý nghĩa: MSĐHKH: Mã số đơn hàng khách hàng. MSKH: Mã số khách hàng Ngày ĐH: Ngày đặt hàng. D-ĐH-KH(MSĐHKH,MSKH,SLĐ). D- ĐH-KH. Field Name Data Type Field size Validation rule MSĐHKH(K) CHAR 12 MSMH(K) CHAR 10 Lookup(MATHANG) SLĐ NUMBER Ý nghĩa: MSĐHKH: Mã số đơn hàng khách hàng. MSKH: Mã số khách hàng. SLĐ: Số lượng đặt. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 70 KHO(MS-K, Ten K, Địa chỉ) KHO. Field Name Data Type Field size Validation rule MS-K(K) CHAR 10 Len()=10 Ten K CHAR 40 Địa chỉ K CHAR 50 Len()=50 Ý nghĩa: MS-K: Mã số kho. Ten K: Tên kho. Địa chỉ: địa chỉ của kho dùng để chứa hàng. DUTRU(SH-DT, MS-K, Ngay DT). DUTRU. Field Name Data type Field size Validation rule SH-DT(K) CHAR 12 MS-NV CHAR 10 Lookup(NGHVU) Ngay DT DATE Ý nghĩa: SH-DT: Số hiệu dự trù. MS-NV: Mã số bộ phận nghiệp vụ. Ngay DT: Ngày dự trù. DDUTRU(SH-DT, MSMH, Luong DT). DDUTRU. Field Name Data Type Field Size Validation rule SH-DT(K) CHAR 12 Lookup(DUTRU) MSMH(K) CHAR 10 Lookup(MATHANG) Luong DT NUMBER Ý nghĩa: SH-DT: Số hiệu dự trù. MSMH: Mã số mặt hàng. Luong DT: Lượng dự trù. P-PHATHANG(MSPPH, Ngay PH, MS-K). P-PHATHANG. Field Name Data type Field Size Validation rule MSPPH(K) CHAR 12 Ngay PH DATE MS-K CHAR 10 Lookup(KHO) Ý nghĩa: MSPPH: Mã số phiếu phát hàng. Ngay PH: Ngày Phát hàng. MS-K:Mã số kho. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 71 DONG-PH(MSPPH, MSMH, LPH). DONG-PH. Field Name Data type Field size Validation rule MSPPH(K) CHAR 12 Lookup(PPHATHANG) MSMH(K) CHAR 10 Lookup(MATHANG) LPH NUMBER Ý nghĩa: MSPPH: Mã số phiếu phát hàng. MSMH: Mã số mặt hàng. LPH:Lượng phát hàng. Field name Data Type Field size Validation rule MNV(K) CHAR 8 Len()=8 Ten NV CHAR 20 Len()=20 Ý nghĩa: MNV: Mã nghiệp vụ. TNV: Tên nghiệp vụ. II.3 THIẾT KẾ HỆ THỐNG. II.3.1 PHÂN CHIA CÁC HỆ THỐNG THÀNH CÁC HỆ CON. Hệ thống được phân chia thành hai hệ con 1 và 2 bởi đường đứt nét. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 72 Nghiệp vụ Khách hàng Đơn hàng khách sai Phiếu giao hàng Giấy báo chờ hàng Đơn hợp lệ Tiền khách Đơn hàng khách Phiếu giao hàng đã xác nhận Chọn nhà cung cấp. dự trù Làm đơn hàng dự trù +Người CC Nhà cung cấp Đơn hàng Thương lượng mua hàng Khớp hoá đơn với hàng về Hoá đơn Thanh toán Hoá đơn Xác nhận chi tiền Ghi nhận hàng về Đơn hàng Khớp đơn hàng với hàng về. DT/ĐH Nhà CC Làm phiếu phát hàng địa chỉ phát hàng phiếu phát hàng Phiếu nhận hàng Hoá đơn sai với hàng về Giao hàng Phiếu giao hàng+hàng Làm hoá đơn và phiếu xuất Kiểm tra đơn hàng Hoá đơn Kho hàng Phiếu giao hàng HT 2 HT 1 Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 73 THIẾT KẾ GIAO DIỆN CHÍNH CỦA CHƯƠNG TRÌNH. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 74 Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 75 Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 76 Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 77 Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 78 Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 79 Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 80 THIẾT KẾ MỘT SỐ MODULE XỬ LÝ CỦA CHƯƠNG TRÌNH. (1) Thủ tục chặn thông báo từ hệ thống. PROCEDURE Chan IS BEGIN :SYSTEM.MESSAGE_LEVEL:=25; END; (2) Thủ tục nạp ảnh vào Form chính. PROCEDURE Nap IS BEGIN SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,WINDOW_STATE,MAXIMIZE); :Global.project_path:='D:\Totnghiep\cwproject\'; READ_IMAGE_FILE(:Global.project_path||'\Moi.bmp','Bitmap','splash_block.splash_image'); END; (3) Thủ tục thoát khỏi Form. PROCEDURE THOAT IS loi EXCEPTION; alert_button NUMBER; BEGIN alert_button:=SHOW_ALERT('THOAT_ALERT'); IF alert_button=ALERT_BUTTON1 THEN EXIT_FORM; COMMIT; ELSE ROLLBACK; END IF; EXCEPTION WHEN loi THEN MESSAGE('Chuong Trinh Bi Loi'); END; (3) Thủ tục thêm mẫu tin PROCEDURE THEM IS alert_button NUMBER; loi EXCEPTION; BEGIN alert_button:=SHOW_ALERT('THEM_ALERT'); IF alert_button=ALERT_BUTTON1 THEN INSERT INTO SCOTT.KHACHHANG VALUES(:MSKH,:HOKH,:TENKH,:DCKH,:DTKH,:EMAILKH); CLEAR_FORM; MESSAGE('BAN DA THEM MOT MAU TIN'); COMMIT; ELSE ROLLBACK; END IF; EXCEPTION WHEN loi THEN MESSAGE('Chuong Trinh Bi loi'); END; (4) Thủ tục Cập nhật mẫu tin Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 81 PROCEDURE CAPNHAT IS alert_button NUMBER; loi EXCEPTION; BEGIN alert_button:=SHOW_ALERT('CAPNHAT_ALERT'); IF alert_button=ALERT_BUTTON1 THEN UPDATE SCOTT.KHACHHANG SET HOKH=:HOKH,TENKH=:TENKH,DCKH=:DCKH,DTKH=:DTKH,EMAILKH=:EMAILKH WHERE MSKH =:MSKH; MESSAGE('BAN DA CAP NHAT MOT MAU TIN'); COMMIT; ELSE ROLLBACK; END IF; EXCEPTION WHEN loi THEN MESSAGE('Chuong Trinh Bi loi'); END; (5) Thủ tục xoá mẫu tin PROCEDURE XOA IS alert_button NUMBER; loi EXCEPTION ; BEGIN alert_button:=SHOW_ALERT('XOA_ALERT'); IF alert_button=ALERT_BUTTON1 THEN INSERT INTO SCOTT.KHACHHANG1 VALUES(:MSKH,:HOKH,:TENKH,:DCKH, :DTKH,:EMAILKH); DELETE FROM SCOTT.KHACHHANG WHERE MSKH=:MSKH; MESSAGE('BAN DA XOA MOT MAU TIN'); COMMIT; ELSE ROLLBACK; END IF; EXCEPTION WHEN loi THEN MESSAGE('Chuong Trinh Bi loi'); END; (6) Thủ tục gọi Form CALL_FORM(:GLOBAL.project_path.’KHACHHANG.FMX’,HIDE,DO_REPLCAE); (7) Thủ tục in báo cáo Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 82 /* DECLARE dummy_list PARAMLIST; BEGIN RUN_PRODUCT(REPORTS,:GLOBAL.project_path||'HOADON.RDF',ASYNCHRONOUS,RUNTIME, FILESYSTEM,dummy_list,NULL); END; */ /* DECLARE dummy_list PARAMLIST; BEGIN RUN_PRODUCT(REPORTS,:GLOBAL.project_path||'DHNCC.rdf',ASYNCHRONOUS,RUNTIME,FILE SYSTEM,dummy_list,NULL); END; */ /* DECLARE dummy_list PARAMLIST; BEGIN RUN_PRODUCT(REPORTS,:Global.project_path||'DHKH.RDF',ASYNCHRONOUS,RUNTIM E,FILESYSTEM,dummy_list,NULL); END; */ /* DECLARE dummy_list PARAMLIST; BEGIN RUN_PRODUCT(REPORTS,:Global.project_path||'PPHANG.RDF',ASYNCHRONOUS,RUNTIME,FILE SYSTEM,dummy_list,NULL); END; */ /* DECLARE dummy_list PARAMLIST; BEGIN RUN_PRODUCT(REPORTS,:GLOBAL.project_path||'PGIAOHANG.RDF',ASYNCHRONOUS,RUNTI ME,FILESYSTEM,dummy_list,NULL); END; */ Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 83 III. KẾT LUẬN, HƯỚNG PHÁT TRIỂN ĐỒ ÁN.  Hiện tại đồ án đang được thiết kế chạy trên máy đơn nhưng theo hướng mở có thể phát triển ứng dụng trên nền Web. Server có thể lấy dữ liệu trên các máy đơn thông qua môi trường mạng phân tán. Và đó cũng là mục đích thiết kế của đồ án.  Tiếp tục hoàn thiện một số chức năng chưa cài đặt  Xây dựng thêm phần Oracle Web Server cho phép người dùng tra cứu thông tin từ xa. Những kết quả đạt được của đồ án:  Thực hiện demo cơ sở dữ liệu được trên máy đơn.  Chương trình chạy tương đối ổn định.  Cung cấp cho người dùng một giao diện đồ họa có hệ thống menu, toolbar,..  Cung cấp các báo cáo phục vụ cho việc quản lý. Những vấn đề tồn tại:  Chưa thực hiện được trên môi trường mạng.  Giao diện còn một số phần chưa thân thiện với người dùng.  Font chữ chưa việt hoá hoàn toàn có một số phần còn tiếng anh. Đồ Án Tốt Nghiệp SVTH: Đỗ Hữu Bá Trang 84 TÀI LIỆU THAM KHẢO [1] Giáo Trình Phân Tích Thiết Kế Hệ Thống Thông Tin. PGS- TS Nguyễn Văn Ba-Nhà Xuất Bản Đại Học Gia Hà Nội- 2003. [2]. De Macro T..,Structured Analysisa and System Specification, Yourdon Press, New York 1989. [3] Weinberg V.., Structured Analysia, Yourdon Press, New York 1978. [4] Oracle 8 VN-Guide- Nhà xuất Bản Thống kê-2003. [5] Giáo Trình Lý Thuyết Và Thực Hành Oracle Trần Tiến Dũng-Nhà Xuất Bản Giáo Dục. [6] Special Edition Using Oracle8, 1998, Macmillan Computer Puslishing. [7] Oracle8 Unleased, 1996-1998, The Coriolis Group. [8] Oracle8 How-To,1998, Macmillan Computer Puslishing. [9] SAMS Teach YourSelf Oracle8 in 21 days,1998, Sams Publishing. [10] Oracle Documentation Online,1996-1999, Oracle Corporation. [11] Các bài viết trong Oracle Magazine, 1997-2000. [12] Bài Giảng Môn Học Nhập Môn Công Nghệ Phần Mềm Tiến Sĩ: Nguyễn Ngọc Bình-Đại Học Bách Khoa Hà Nội. [13] Bài giảng môn học Cơ sở dữ liệu phân tán Tiến sĩ :Nguyễn Kim Anh – Đại Học Bách Khoa Hà Nội. [14] Nhập Môn Cơ Sở Dữ Liệu Quan Hệ PGS-TS: Lê Tiến Vương- Nhà xuất bản thống kê. [15] Mạng Máy Tính Và Các Hệ Thống Mở. GS-TS:Nguyễn Thúc Hải- Nhà Xuất Bản Giáo Dục-1999.

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

  • pdfĐồ án tốt nghiệp - Phân tích thiết kế hệ thống - Xây dựng hệ thống bán hàng tại công ty VINDA.pdf