Xây dựng chương trình mô phỏng quy trình quản lý công nợ

Mục lục Trang Lời nói đầu 1 Chương I : Giới thiệu tổng quan I.1 Giới thiệu đề tài 2 I.2 Tổng quan về tình hình nghiên cứu .3 I.3 Hiện trạng ứng dụng . 3 I.3.1 Những khó khăn trong hướng dẫn thực hành kế toán . .3 I.3.2 Hiện trạng tin học . .4 I.3.3 Mục tiêu thực hiện của đề tài .4 Chương II : Cơ sở lý thuyết II.1 Hệ thống quản lý công nợ 5 II.1.1 Khái niệm quản lý công nợ .5 II.1.2 Khái niệm mô phỏng 5 II.1.3 Quy trình quản lý công nợ .5 II.2 Xác định yêu cầu .8 II.2.1 Yêu cầu chức năng nghiệp vụ . .8 a) Nghiệp vụ quản lý tình huống . 8 b) Các nghiệp vụ trong quy trình quản lý công nợ .9 II.2.2 Yêu cầu chức năng hệ thống 14 II.2.3 Yêu cầu phi chức năng 14 II.3 Công nghệ sử dụng . .15 II.3.1 Ngôn ngữ lập trình VB.Net 15 II.3.2 Hệ quản trị cơ sở dữ liệu SQL Developer Edition 2005 .15 II.3.3 Công nghệ Flash và ngôn ngữ lập trình Action script 2.0 . 17 Chương III : Phân tích thiết kế hệ thống III.1 Phân tích thiết kế hệ thống ở mức quan niệm .18 III.1.1 Thành phần dữ liệu mức quan niệm 21 a) Mô tả thực thể 21 b) Mô tả mối kết hợp .28 c) Mô hình thực thể kết hợp . 34 III.1.2 Thành phần xử lý ở mức quan niệm 35 III.2 Phân tích thiết kế hệ thống ở mức logic . 40 III.2.1 Thành phần dữ liệu ở mức logic . .40 III.2.2 Ràng buộc toàn vẹn trên 1 quan hệ 42 a) Ràng buộc khóa chính .42 b) Ràng buộc miền giá trị 46 III.2.3 Ràng buộc toàn vẹn trên nhiều quan hệ .49 a) Ràng buộc tồn tại .49 b) Ràng buộc liên thuộc tính, liên quan hệ 53 III.2.4 Thành phần xử lý ở mức logic .55 III.3 Phân tích thiết kế hệ thống ở mức vật lý .60 III.3.1 Thành phần dữ liệu mức vật lý . 60 a) Mô tả các bảng 60 b) Mô tả các mối kết hợp . 65 c) Mô hình vật lý 70 III.3.2 Thành phần xử lý ở mức vật lý 71 a) Những đoạn code chính 71 b) Thành phần giao diện ở mức vật lý 86 Chương IV : Giới thiệu sản phẩm IV.1 Các chức năng quản lý tình huống của chương trình .93 IV.2 Thực hành mô phỏng quy trình quản lý công nợ .94 IV.2.1 Giao diện của chương trình 94 IV.2.2 Các chức năng chính của chương trình .95 a) Quy trình quản lý công nợ 95 b) Chức năng nhận biết và kiểm tra việc lập báo cáo trong khi thực hành .97 c) Các chức năng trợ giúp và hướng dẫn 97 Kết luận 98 Danh mục tài liệu tham khảo 100 Phụ Lục : Các mẫu biểu xuất hiện trong quy trình quản lý công nợ .101 1 Lời nói đầu Nhận thức được vai trò quan trọng của công nghệ thông tin trong nền kinh tế tri thức với nhân tố nguồn nhân lực đóng vai trò trọng tâm. Trong thời đại bùng nổ công nghệ thông tin ngày nay, không thể đo lường hết phạm vi ứng dụng công nghệ thông tin cũng như hiệu quả vào mọi lĩnh vực của đời sống, nhất là đối với các hoạt động quản lý kinh doanh. Trong đó hoạt động kế toán là một nhu cầu không thể thiếu trong bất kỳ công ty hay cơ quan nào. Nhu cầu về nguồn nhân lực kế toán là một nhu cầu quan trọng nhưng hiện nay cung đang vượt cầu. Chính vì thế các công ty đang tìm kiếm nguồn nhân lực chất lượng và có nhiều kinh nghiệm. Đó chính là cái khó lớn nhất cho các sinh viên chuyên ngành kế toán sắp ra trường, chưa có nhiều điều kiện thực tập, chưa được tiếp xúc với môi trường làm việc thực tế. Chính vì thế họ không có nhiều kinh nghiệm để đáp ứng được nhu cầu của các Công ty, cơ quan hiện nay. Đồng thời việc tìm kiếm một nơi để sinh viên có thể thực tập trước khi ra trường là một vấn đề khó khăn với cả sinh viên lẫn nhà trường. Trong khi số lượng sinh viên khá đông như bây giờ thì số lượng các công ty, doanh nghiệp trên địa bàn và các khu vực lân cận vẫn chưa đáp ứng được vấn đề cung cấp một nơi thực tập cho sinh viên. Mục đích xây dựng phòng thực hành mô phỏng kế toán cũng không nằm ngoài mục tiêu trên. Bên cạnh đó việc đào tạo được những cử nhân kinh tế chuyên ngành Kế toán phù hợp yêu cầu của nền kinh tế thị trường, có năng lực hoạt động, giỏi về chuyên môn, năng động sáng tạo trong công việc, được xã hội thừa nhận, thực sự là một thách thức lớn đối với các trường đại học nói chung và Đại Học Lạc Hồng nói riêng. Với việc xây dựng chương trình Phòng thực hành mô phỏng kế toán và cụ thể là quy trình quản lý công nợ sẽ góp phần giải quyết được bài toán về đào tạo và truyền đạt kinh nghiệm làm việc thực tế cho sinh viên chuyên ngành kế toán về các hoạt động quản lý công nợ của các công ty, doanh nghiệp. Đồng thời góp phần nâng cao trình độ của sinh viên, giúp sinh viên không bỡ ngỡ với môi trường làm việc thực tế sau này. 2 Chương I : Giới thiệu tổng quan I.1 Giới thiệu đề tài Hiện nay sinh viên ngành kế toán ra trường đi làm việc thường phải mất không dưới 6 tháng mới tiếp nhận được phần mềm kế toán đang sử dụng trong các doanh nghiệp. Trong các trường đại học, kế toán thường chỉ được dạy bằng lý thuyết, thực hành trên máy chỉ thực hiện vào năm cuối và trên các phần mềm ít được nâng cấp. Số lượng sinh viên quá đông so với máy tính trang bị nên dường như không có hiệu quả. Cụ thể tại trường Đại học Lạc Hồng, phòng thực hành máy tính với số lượng máy có hạn, nhưng phải dạy cho hơn vài ngàn sinh viên chính quy/năm . Đó là chỉ tính mỗi khoa kế toán. Khi đi thực tập, sinh viên có 6 tháng tiếp cận thực tế nhưng hầu hết các doanh nghiệp đều ít cho sinh viên tìm hiểu hoạt động tài chính kế toán của công ty mà sinh viên chỉ được giao làm những công việc không đúng với chuyên môn của mình. Đồng thời với tình hình sinh viên khá đông như hiện nay thì việc tìm kiếm một nơi để sinh viên thực tập là một vấn đề không đơn giản. Việc không có nhiều cơ hội tiếp xúc với môi trường làm việc thực tế do số lượng sinh viên chuyên ngành kế toán ngày càng nhiều mà số lượng đơn vị thực tập dành cho sinh viên không phát triển tương xứng. Đó là một trở ngại vô cùng lớn với sinh viên và nhà trường, để giải quyết tình trạng học của sinh viên ngành kế toán như hiện nay cũng như tạo cho sinh viên một môi trường làm việc mà trong đó có đầy đủ các tình huống thường thấy trong công việc, góp phần nâng cao khả năng xử lý tình huống, áp dụng được các kiến thức đã học vào công việc cụ thể, giảm bớt sự nhàm chán đơn điệu trong việc học, giúp cho giáo viên truyền đạt kiến thức dưới hình thức phong phú hơn, đồng thời cũng góp phần làm giảm gánh nặng của nhà trường và sinh viên trong việc tìm kiếm nơi thực tập. Đảm bảo sinh viên được thực tập đúng với những gì mình đã học trong một môi trường làm việc ảo được mô phỏng sát với thực tế. Đồng thời giúp sinh viên không còn bỡ ngỡ khi bước vào làm việc tại một Công ty thật sự. Bên cạnh đó công việc quản lý công nợ là một nghiệp vụ không thể thiếu trong bất kỳ công ty hay doanh nghiệp nào. Việc nắm bắt được các công việc mà một nhân viên kế toán công nợ phải làm là một yếu tố cần có cho bất kỳ sinh viên chuyên ngành kế toán khi đi làm việc. Sinh viên có thể áp dụng những kiến thức về các công việc đó để áp dụng vào thực tế, giúp sinh viên không gặp nhiều khó khăn, bỡ ngỡ khi làm việc thực tế. Dự án phòng thực hành mô phỏng kế toán mà cụ thể là quy trình kế toán quản lý công nợ sẽ được xây dựng với mục tiêu chính là đem thực tế vào trường học. Đào tạo những kỹ năng chuyên về quản lý công nợ cho sinh viên ngành kế toán. Qua đó góp phần vào công tác đào tạo của nhà trường, đào tạo ra những sinh viên có chất lượng cao, đáp ứng được các nhu cầu xã hội. Và cụ thể hơn sẽ trang bị cho các sinh viên những kiến thức làm việc thực tế của một nhân viên kế toán về quản lý công nợ, một nghiệp vụ không thể thiếu trong bất kỳ công ty nào, đảm bảo nâng cao khả năng tìm kiếm nơi làm việc và các kỹ năng làm việc thực tế của sinh viên. 3 I.2 Tổng quan về tình hình nghiên cứu Hiện nay các chương trình liên quan đến lĩnh vực kế toán tồn tại trên thị trường khá nhiều, phục vụ cho nhiều mục đích khác nhau nhưng chủ yếu tập trung trong lĩnh vực kinh doanh. Trên thị trường vẫn chưa có nhiều sản phẩm phục vụ cho mục đích giảng dạy kế toán. Các chương trình mô phỏng các công việc kế toán hiện nay rất ít. Có thể nói đây là một lĩnh vực khá mới mẻ nhưng mang lại hiệu quả thực tiễn khá lớn. Góp phần nâng cao chất lượng đào tạo của các trường đối với sinh viên chuyên ngành kế toán. Tiên phong trong việc xây dựng chương trình mô phỏng các quy trình kế toán ứng dụng vào công tác giảng dạy có thể đề cập đến Trường Đại học Văn Lang. Trường đã đưa vào hoạt động mô phỏng tài chính kế toán từ năm 2003 với mục đích đưa thực tiễn vào trường học. Giúp sinh viên tiếp xúc với công việc kế toán như thật trước khi đi thực tập tại các công ty. Mô phỏng kế toán là một trong những môn học hiện đại nhất của Khoa Kế toán của trường Đại học Văn Lang. Tại phòng mô phỏng, sinh viên năm cuối có thể thực hiện tất cả các thao tác, công việc của một nhân viên kế toán, tài chính thực thụ như: kế toán trưởng, kế toán chi phí, kế toán tổng hợp của công ty. Điều này giúp sinh viên tích lũy kiến thức chuyên môn và kỹ năng cần thiết để tự tin vào làm việc chính thức tại các doanh nghiệp sau khi ra trường. Khoa tài chính - kế toán đã thiết lập phòng chuyên đề như một công ty và các sinh viên trở thành . kế toán của công ty này. Mô hình chia sinh viên thành nhiều nhóm, mỗi nhóm như một công ty được trang bị bốn máy tính nối mạng với nhau. Trong đó các sinh viên đóng vai trò như nhân viên phòng kế toán: kế toán trưởng, kế toán tổng hợp, kế toán chi tiết (tiền mặt, thanh toán .). Tài chính - kế toán là một ngành khá nhạy cảm vì liên quan tới chứng từ sổ sách của công ty. Chương trình mô phỏng là một hình thức kết hợp giữa lý thuyết và thực hành để sinh viên có điều kiện tiếp xúc với thực tế và có cơ hội làm việc như thật, đáp ứng yêu cầu học và hành. Đặc biệt, với mô hình này sinh viên thật sự được tiếp xúc với những chứng từ mới và được các kế toán trưởng, các chuyên gia - được mời từ các doanh nghiệp - trực tiếp hướng dẫn. Với những lợi ích mà việc đưa vào sử dụng phòng thực hành mô phỏng kế toán cho các sinh viên đem lại càng minh chứng tầm quan trọng của việc xây dựng chương trình. Qua đó chúng tôi cần phải cố gắng thật nhiều để chương trình có thể hoàn thiện và đưa vào sử dụng , góp phần giải quyết phần nào bài toán về đào tạo nguồn nhân lực của nhà trường. I.3 Hiện trạng ứng dụng I.3.1 Những khó khăn trong hướng dẫn thực hành kế toán Hiện nay do vẫn chưa có một chương trình nào giúp sinh viên thực hành được những công việc của kế toán như thực tế cho nên những sinh viên ngành kế toán hầu hết đều thiếu kinh nghiệm làm việc thực tiễn. Trên nhà trường các sinh viên chỉ được thực hành các phần mềm kế toán phổ biến, đó là các công việc dường như đã đi vào 4 chi tiết quá sâu, sinh viên không thể hình dung một cách tổng quát các công việc mà nhân viên kế toán phải làm gì ngoài việc chỉ biết định khoản hay tính toán sổ sách. Thậm chí sinh viên không phân biệt được công việc nào làm trước, công việc nào làm sau hay muốn lập báo cáo này phải lấy dữ liệu ở đâu. Chính vì những điều đó khi vào các doanh nghiệp, công ty thật sự không ít sinh viên cảm thấy bỡ ngỡ trước những công việc được giao. Các doanh nghiệp thường phải tốn khá nhiều thời gian để đào tạo lại các nghiệp vụ chính cho sinh viên. Thêm vào đó thời gian thực tập của sinh viên kéo dài nhưng không mang lại hiệu quả, bởi trên thực tế rất nhiều sinh viên khi đi thưc tập không được giao những công việc liên quan đến chuyên ngành. Những bài báo cáo thực tập nhiều khi chỉ là sự sao chép của những thế hệ khác nhau, thiếu sự tìm tòi, sáng tạo. Sinh viên chưa nắm được các công việc của kế toán, cụ thể là kế toán quản lý công nợ như thế nào, gồm các chứng từ, sổ sách hay biểu mẫu nào. Thời điểm phải làm các báo cáo, trình tự lập các báo cáo, sinh viên chưa được tiếp xúc nhiều với các loại chứng từ và cách thức lập báo cáo. Tất cả những gì sinh viên được học trên ghế nhà trường là các công việc định khoản và các lý thuyết về kế toán được truyền đạt chưa được sinh động, rất khó để cho sinh viên hình dung cụ thể những công việc đó như thế nào. Việc tạo ra một chương trình giải quyết các vấn đề trên là một giải pháp thiết thực với tình trạng hiện nay. I.3.2 Hiện trạng tin học Chương trình mô phỏng quy trình kế toán công nợ chạy trên nền .Net Framework 2.0 . Chương trình sử dụng hệ quản trị cơ sở dữ liệu SQL server 2005 và Flash 8 trở lên.Với điều kiện như vậy thì chương trình hoàn toàn có thể được cài đặt và chạy tốt tại các hệ thống phòng máy có cấu hình tương đối . Theo khảo sát thì với cấu hình hiện tại thì tất cả các phòng máy của Trường Đại Học Lạc Hồng - Nơi áp dụng chương trình vào việc thực hành - hoàn toàn có thể đáp ứng được yêu cầu hệ thống của chương trình. I.3.3 Mục tiêu thực hiện của đề tài Dự án phòng thực hành mô phỏng kế toán mà cụ thể là quy trình kế toán quản lý công nợ sẽ được xây dựng với các mục tiêu sau : · Xây dựng một phần mềm mô phỏng đầy đủ các bước trong quy trình kế toán công nợ . · Giúp sinh viên kế toán hiểu rõ về các bước trong quy trình quản lý công nợ, biết cách nhận biết các chứng từ và có khả năng lập được các báo cáo xuất hiện trong quy trình. · Đánh giá được khả năng của sinh viên trong quá trình thực hành. · Áp dụng phần mềm mô phỏng này vào công tác giảng dạy và kiểm tra

pdf115 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2535 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Xây dựng chương trình mô phỏng quy trình quản lý công nợ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
)>=0 + Bối cảnh : ChiTietCongNo + Tầm ảnh hưởng : T X S ChiTietCongNo + - +( CTCN_ Co) * R26 : ChiTietDKThu. SoTien >= 0 + Biểu diễn : "h Î ChiTietDKThu SoTien>=0 + Bối cảnh : ChiTietDKThu + Tầm ảnh hưởng : T X S ChiTietDKThu + - +( SoTien) * R27 : ChiTietDKTra. SoTien >= 0 + Biểu diễn : "h Î ChiTietDKTra SoTien>=0 + Bối cảnh : ChiTietDKTra + Tầm ảnh hưởng : T X S ChiTietDKTra + - +( SoTien) * R28 : ChiTietPhaiThu. SoTienPhatSinh >= 0 + Biểu diễn : "h Î ChiTietPhaiThu SoTienPhatSinh >=0 + Bối cảnh : ChiTietPhaiThu + Tầm ảnh hưởng : T X S ChiTietPhaiThu + - +( SoTienPhatSinh ) * R29 : ChiTietPhaiThu. SoTienDaThu >= 0 + Biểu diễn : "h Î ChiTietPhaiThu SoTienDaThu >=0 + Bối cảnh : ChiTietPhaiThu + Tầm ảnh hưởng : T X S ChiTietPhaiThu + - +( SoTienDaThu) 48 * R30 : ChiTietPhaiThu. SoTienConPhaiThu >= 0 + Biểu diễn : "h Î ChiTietPhaiThu SoTienConPhaiThu >=0 + Bối cảnh : ChiTietPhaiThu + Tầm ảnh hưởng : T X S ChiTietPhaiThu + - +( SoTienConPhaiThu) * R31 : ChiTietPhaiTra. SoTienPhatSinh >= 0 + Biểu diễn : "h Î ChiTietPhaiTra SoTienPhatSinh >=0 + Bối cảnh : ChiTietPhaiTra + Tầm ảnh hưởng : T X S ChiTietPhaiTra + - +( SoTienPhatSinh) * R32 : ChiTietPhaiTra. SoTienDaTra >= 0 + Biểu diễn : "h Î ChiTietPhaiTra SoTienDaTra >=0 + Bối cảnh : ChiTietPhaiTra + Tầm ảnh hưởng : T X S ChiTietPhaiTra + - +( SoTienDaTra) * R33 : ChiTietPhaiTra. SoTienConPhaiTra >= 0 + Biểu diễn : "h Î ChiTietPhaiTra SoTienConPhaiTra >=0 + Bối cảnh : ChiTietPhaiTra + Tầm ảnh hưởng : T X S ChiTietPhaiTra + - +( SoTienConPhaiTra) * R34 : HopDong. TongTienHD >= 0 + Biểu diễn : "h Î HopDong TongTienHD >=0 + Bối cảnh : HopDong + Tầm ảnh hưởng : T X S HopDong + - +( TongTienHD) 49 III.2.3 Ràng buộc toàn vẹn trên nhiều quan hệ a) Ràng buộc tồn tại * R35 : DeBai.MaDB tồn tại trong BaoCaoDuKienPhaiThu + Biểu diễn : BaoCaoDuKienPhaiThu [MaDB] Í DeBai [MaDB] + Bối cảnh : DeBai, BaoCaoDuKienPhaiThu + Tầm ảnh hưởng : T X S DeBai + - +(MaDB) BaoCaoDuKienPhaiThu - + + * R36: DeBai.MaDB tồn tại trong BaoCaoDuKienPhaiTra + Biểu diễn : BaoCaoDuKienPhaiTra [MaDB] Í DeBai [MaDB] + Bối cảnh : DeBai, BaoCaoDuKienPhaiTra + Tầm ảnh hưởng : T X S DeBai + - +(MaDB) BaoCaoDuKienPhaiTra - + + * R37: DeBai.MaDB tồn tại trong BaoCaoPhaiThu + Biểu diễn : BaoCaoPhaiThu [MaDB] Í DeBai [MaDB] + Bối cảnh : DeBai, BaoCaoPhaiThu + Tầm ảnh hưởng : T X S DeBai + - +(MaDB) BaoCaoPhaiThu - + + * R38: DeBai.MaDB tồn tại trong BaoCaoPhaiTra + Biểu diễn : BaoCaoPhaiTra [MaDB] Í DeBai [MaDB] + Bối cảnh : DeBai, BaoCaoPhaiTra + Tầm ảnh hưởng : T X S DeBai + - +(MaDB) BaoCaoPhaiTra - + + * R39: DeBai.MaDB tồn tại trong SoCongNo + Biểu diễn : SoCongNo [MaDB] Í DeBai [MaDB] + Bối cảnh : DeBai, SoCongNo + Tầm ảnh hưởng : T X S 50 DeBai + - +(MaDB) SoCongNo - + + * R40: DeBai.MaDB tồn tại trong DeBai_HopDong + Biểu diễn : DeBai_HopDong [MaDB] Í DeBai [MaDB] + Bối cảnh : DeBai, DeBai_HopDong + Tầm ảnh hưởng : T X S DeBai + - +(MaDB) DeBai_HopDong - + + * R41: ChucDanh.MaCD tồn tại trong BieuMau + Biểu diễn : BieuMau [MaDB] Í ChucDanh [MaCD] + Bối cảnh : ChucDanh, BieuMau + Tầm ảnh hưởng : T X S ChucDanh + - +(MaCD) BieuMau - + + * R42: HopDong.MaHD tồn tại trong BieuMau + Biểu diễn : BieuMau [MaHD] Í HopDong [MaHD] + Bối cảnh : HopDong, BieuMau + Tầm ảnh hưởng : T X S HopDong + - +( MaHD) BieuMau - + + * R43: LoaiBieuMau.MaLoai tồn tại trong BieuMau + Biểu diễn : BieuMau [MaLoai] Í LoaiBieuMau [MaLoai] + Bối cảnh : LoaiBieuMau, BieuMau + Tầm ảnh hưởng : T X S LoaiBieuMau + - +( MaLoai) BieuMau - + + * R44: SoCongNo. MaCN tồn tại trong ChiTietCongNo + Biểu diễn : ChiTietCongNo [MaCN] Í SoCongNo [MaCN] + Bối cảnh : SoCongNo, ChiTietCongNo + Tầm ảnh hưởng : T X S SoCongNo + - +( MaCN) ChiTietCongNo - + + 51 * R45: BaoCaoDuKienPhaiThu. MaDKThu tồn tại trong ChiTietDKThu + Biểu diễn : ChiTietDKThu [MaDKThu] Í BaoCaoDuKienPhaiThu [MaDKThu] + Bối cảnh : BaoCaoDuKienPhaiThu, ChiTietDKThu + Tầm ảnh hưởng : T X S BaoCaoDuKienPhaiThu + - +( MaDKThu) ChiTietDKThu - + + * R46: BaoCaoDuKienPhaiTra. MaDKTra tồn tại trong ChiTietDKTra + Biểu diễn : ChiTietDKTra [MaDKTra] Í BaoCaoDuKienPhaiTra [MaDKTra] + Bối cảnh : BaoCaoDuKienPhaiTra, ChiTietDKTra + Tầm ảnh hưởng : T X S BaoCaoDuKienPhaiTra + - +( MaDKTra) ChiTietDKTra - + + * R47: BaoCaoPhaiThu. MaCNPTh tồn tại trong ChiTietPhaiThu + Biểu diễn : ChiTietPhaiThu [MaCNPTh] Í BaoCaoPhaiThu [MaCNPTh] + Bối cảnh : BaoCaoPhaiThu, ChiTietPhaiThu + Tầm ảnh hưởng : T X S BaoCaoPhaiThu + - +( MaCNPTh) ChiTietPhaiThu - + + * R48 : BaoCaoPhaiTra. MaCNPT tồn tại trong ChiTietPhaiTra + Biểu diễn : ChiTietPhaiTra [MaCNPT] Í BaoCaoPhaiTra [MaCNPT] + Bối cảnh : BaoCaoPhaiTra, ChiTietPhaiTra + Tầm ảnh hưởng : T X S BaoCaoPhaiTra + - +( MaCNPT) ChiTietPhaiTra - + + * R49 : GiaoVien. MaGV tồn tại trong DeBai + Biểu diễn : DeBai [MaGV] Í GiaoVien [MaGV] + Bối cảnh : GiaoVien, DeBai + Tầm ảnh hưởng : T X S GiaoVien + - +( MaGV) DeBai - + + 52 * R50 : KhachHang. MaKH tồn tại trong HopDong + Biểu diễn : HopDong [MaKH] Í KhachHang [MaKH] + Bối cảnh : KhachHang, HopDong + Tầm ảnh hưởng : T X S KhachHang + - +( MaKH) HopDong - + + * R51: KhachHang. MaKH tồn tại trong SoCongNo + Biểu diễn : SoCongNo [MaKH] Í KhachHang [MaKH] + Bối cảnh : KhachHang, SoCongNo + Tầm ảnh hưởng : T X S KhachHang + - +( MaKH) SoCongNo - + + * R52: HopDong. MaHD tồn tại trong DeBai_HopDong + Biểu diễn : DeBai_HopDong [MaHD ] Í HopDong [MaHD ] + Bối cảnh : HopDong, DeBai_HopDong + Tầm ảnh hưởng : T X S HopDong + - +( MaHD ) DeBai_HopDong - + + * R53 : BieuMau. MaBM tồn tại trong ChiTietBieuMau + Biểu diễn : ChiTietBieuMau [MaBM ] Í BieuMau [MaBM ] + Bối cảnh : BieuMau, ChiTietBieuMau + Tầm ảnh hưởng : T X S BieuMau + - +( MaBM ) ChiTietBieuMau - + + * R54 : DuLieu. MaDL tồn tại trong ChiTietBieuMau + Biểu diễn : ChiTietBieuMau [MaDL ] Í DuLieu [MaDL ] + Bối cảnh : DuLieu, ChiTietBieuMau + Tầm ảnh hưởng : T X S DuLieu + - +( MaDL ) ChiTietBieuMau - + + 53 b) Ràng buộc liên thuộc tính, liên quan hệ * R55: BaoCaoDuKienPhaiThu. NgayLap >= SoCongNo.CN_NgayLap + Biểu diễn : "h Î BaoCaoDuKienPhaiThu & k Î SoCongNo → h. NgayLap >= k. CN_NgayLap + Bối cảnh : BaoCaoDuKienPhaiThu, SoCongNo + Tầm ảnh hưởng : T X S BaoCaoDuKienPhaiThu + - +( NgayLap) SoCongNo - + +( CN_NgayLap) * R56: BaoCaoDuKienPhaiTra. NgayLap >= SoCongNo.CN_NgayLap + Biểu diễn : "h Î BaoCaoDuKienPhaiTra & k Î SoCongNo → h. NgayLap >= k. CN_NgayLap + Bối cảnh : BaoCaoDuKienPhaiTra, SoCongNo + Tầm ảnh hưởng : T X S BaoCaoDuKienPhaiTra + - +( NgayLap) SoCongNo - + +( CN_NgayLap) * R57: BaoCaoPhaiThu. NgayLap >= BaoCaoDuKienPhaiThu. NgayLap + Biểu diễn : "h Î BaoCaoPhaiThu & k Î BaoCaoDuKienPhaiThu → h. NgayLap >= k. NgayLap + Bối cảnh : BaoCaoPhaiThu, BaoCaoDuKienPhaiThu + Tầm ảnh hưởng : T X S BaoCaoPhaiThu + - +( NgayLap) BaoCaoDuKienPhaiThu - + +( NgayLap) * R58: BaoCaoPhaiTra. NgayLap >= BaoCaoDuKienPhaiTra. NgayLap + Biểu diễn : "h Î BaoCaoPhaiTra & k Î BaoCaoDuKienPhaiTra → h. NgayLap >= k. NgayLap + Bối cảnh : BaoCaoPhaiTra, BaoCaoDuKienPhaiTra + Tầm ảnh hưởng : T X S BaoCaoPhaiTra + - +( NgayLap) BaoCaoDuKienPhaiTra - + +( NgayLap) * R59: SoCongNo. CN_NgayLap >= DeBai. NgayLamViec + Biểu diễn : "h Î SoCongNo & k Î DeBai → h. CN_NgayLap >= k. NgayLamViec + Bối cảnh : SoCongNo, DeBai + Tầm ảnh hưởng : T X S SoCongNo + - +( CN_NgayLap) DeBai - + +( NgayLamViec) 54 * R60: BaoCaoDuKienPhaiThu. TongCong >= ChiTietCongNo. CTCN_ConLai + Biểu diễn : "h Î BaoCaoDuKienPhaiThu & k Î ChiTietCongNo → h. TongCong >= k. CTCN_ConLai + Bối cảnh : BaoCaoDuKienPhaiThu, ChiTietCongNo + Tầm ảnh hưởng : T X S BaoCaoDuKienPhaiThu + - +( TongCong) ChiTietCongNo - + +( CTCN_ConLai) * R60: BaoCaoDuKienPhaiTra. TongCong >= ChiTietCongNo. CTCN_ConLai + Biểu diễn : "h Î BaoCaoDuKienPhaiTra & k Î ChiTietCongNo → h. TongCong >= k. CTCN_ConLai + Bối cảnh : BaoCaoDusKienPhaiTra, ChiTietCongNo + Tầm ảnh hưởng : T X S BaoCaoDuKienPhaiTra + - +( TongCong) ChiTietCongNo - + +( CTCN_ConLai) * R61: BaoCaoPhaiThu. TongCong >= ChiTietCongNo. CTCN_ConLai + Biểu diễn : "h Î BaoCaoPhaiThu & k Î ChiTietCongNo → h. TongCong >= k. CTCN_ConLai + Bối cảnh : BaoCaoPhaiThu, ChiTietCongNo + Tầm ảnh hưởng : T X S BaoCaoPhaiThu + - +( TongCong) ChiTietCongNo - + +( CTCN_ConLai) * R62: BaoCaoPhaiTra. TongCong >= ChiTietCongNo. CTCN_ConLai + Biểu diễn : "h Î BaoCaoPhaiTra & k Î ChiTietCongNo → h. TongCong >= k. CTCN_ConLai + Bối cảnh : BaoCaoPhaiTra, ChiTietCongNo + Tầm ảnh hưởng : T X S BaoCaoPhaiTra + - +( TongCong) ChiTietCongNo - + +( CTCN_ConLai) 55 III.2.4 Thành phần xử lý ở mức logic Biểu đồ 3.12 : Xử lý cho việc quản lý tình huống của giáo viên TT hợp lệ TT Ko hợp lệ Bắt đầu Giáo viên Đăng nhập Đăng nhập lại Vào màn hình quản lý tình huống Thêm mới tình huống Chỉnh sửa nội dung tình huống Xóa tình huống 56 Biểu đồ 3.13 : Xử lý cho việc thêm mới tình huống Bắt đầu Thêm mới tình huống Tạo nội dung tình huống Thêm hợp đồng có sẳn vào tình huống Thêm mới hợp đồng Tạo nội dung cho hợp đồng Lập các chứng từ đi kèm theo hợp đồng Lập các sổ chi tiết công nợ cho các khách hàng Lập kế hoạch thu chi Lập báo cáo công nợ phải thu và phải trả Kết thúc 57 Biểu đồ 3.14 : Xử lý cho việc chỉnh sửa tình huống ,thêm hợp đồng mới vào tình huống Thêm hợp đồng vào tình huống đã có Lập chứng từ đi kèm với hợp đồng mới Cập nhật sổ chi tiết công nợ cho khách hàng thuộc hợp đồng vừa tạo Cập nhật kế hoạch thu hoặc kế hoạch chi Cập nhật báo cáo công nợ phải thu hoặc phải trả Kết thúc Bắt đầu 58 Biểu đồ 3.15 : Mô hình xử lý cho việc thực hiện quy trình của sinh viên Lập sai Nhận biết sai Phát sinh các hợp đồng và hóa đơn thuộc tình huống Nhận biết hợp đồng Tìm hóa đơn Thực hiện lại Nhận biết đúng Lập các sổ chi tiết công nợ phải thu và phải trả Thực hiện lại Lập đúng Lập các dự kiến phải thu và phải trả Lập sai Lập đúng Thực hiện lại Đem kế toán trưởng kiểm tra và ký duyệt Trình Giám đốc ký duyệt Bắt đầu 59 Cập nhật các sổ chi tiết công nợ phải thu và phải trả Thực hiện lại Lập đúng Lập sai Thực hiện lại Lập báo cáo công nợ phải thu và phải trả Lập sai Lập đúng Đem cho kế toán trưởng kiểm tra Đem cho Giám đốc ký duyệt Chuyển báo cáo cho bộ phận kế toán thanh toán Kết thúc Thu thập các chứng từ mới phát sinh Nhận biết các chứng từ mới phát sinh 60 III.3 Phân tích thiết kế hệ thống ở mức vật lý III.3.1 Thành phần dữ liệu mức vật lý a) Mô tả các bảng Bảng III.1 : SoCongNo Bảng III.2 : BaoCaoDuKienPhaiThu Bảng III.3 : BaoCaoDuKienPhaiTra Bảng III.4 : BaoCaoPhaiThu 61 Bảng III.5 : BaoCaoPhaiTra Bảng III.6 : BieuMau Bảng III.7 : ChiTietBieuMau Bảng III.8 : ChiTietCongNo 62 Bảng III.9 : ChiTietDKThu Bảng III.10 : ChiTietDKTra Bảng III.11 : ChiTietPhaiThu 63 Bảng III.12 : ChiTietPhaiTra Bảng III.13 : ChucDanh Bảng III.14 : DeBai Bảng III.15 : DeBai_HopDong Bảng III.16 : DuLieu 64 Bảng III.17 : GiaoVien Bảng III.18 : HopDong Bảng III.19 : KhachHang Bảng III.20 : LoaiBieuMau 65 b) Mô tả các mối kết hợp * Mối kết hợp có thuộc tính - Kết hợp 2 thực thể BieuMau va DuLieu -Kết hợp 2 thực thể DeBai va HopDong * Mối kết hợp không có thuộc tính - Kết hợp 2 thực thể BaoCaoDuKienPhaiThu và ChiTietDKThu - Kết hợp 2 thực thể BaoCaoDuKienPhaiTra và ChiTietDKTra 66 - Kết hợp 2 thực thể BaoCaoPhaiTra và ChiTietPhaiTra - Kết hợp 2 thực thể BaoCaoPhaiThu và ChiTietPhaiThu - Kết hợp 2 thực thể SoCongNo và ChiTietCongNo - Kết hợp 2 thực thể DeBai và GiaoVien 67 - Kết hợp 2 thực thể DeBai và BaoCaoDuKienPhaiTra - Kết hợp 2 thực thể DeBai và BaoCaoDuKienPhaiThu - Kết hợp 2 thực thể DeBai và BaoCaoPhaiTra - Kết hợp 2 thực thể DeBai và BaoCaoPhaiThu 68 - Kết hợp 2 thực thể DeBai và SoCongNo - Kết hợp 2 thực thể BieuMau và ChucDanh - Kết hợp 2 thực thể BieuMau và HopDong - Kết hợp 2 thực thể BieuMau và LoaiBieuMau 69 - Kết hợp 2 thực thể HopDong và KhachHang - Kết hợp 2 thực thể KhachHang và SoCongNo 70 c) Mô hình vật lý Hình III.1 : Mô hình vật lý 71 III.3.2 Thành phần xử lý ở mức vật lý * Những đoạn code chính Chúng tôi đã xây dựng 183 procedure để thực hiện các công việc giao tiếp với cơ sỏ dữ liệu. Dưới đây là một số procedure tiêu biểu : - Procedure dùng để hiển thị chi tiết công nợ theo mã đề bài,mã khách hàng và loại khách hàng Create proc [dbo].[sp_HienThiChiTietCongNo_MaDB_MaKH_Loai] @madb int, @makh int, @loaikh int as select c.* from socongno a,khachhang b,chitietcongno c where a.madb=@madb and a.makh=b.makh and b.makh=@makh and loaikh=@loaikh and c.macn=a.macn - Procedure dùng để hiển thị chứng từ theo mã đề bài và mã khách hàng Create proc [dbo].[sp_HienThiChungTuTheoMaDB_MaKH] @MaDB int, @MaKH int as Select * from bieumau a,khachhang b,debai_hopdong c,hopdong d where a.maloai not in (1,2) And a.mahd=c.mahd and b.makh=d.makh and c.mahd=d.mahd And c.madb=@MaDB and b.makh=@MaKH - Procedure hiển thị hóa đơn theo mã đề bài và mã khách hàng Create proc [dbo].[sp_HienThiHoaDonTheoMaDB_MaKH] @MaDB int, @MaKH int as Select * from bieumau a,khachhang b,debai_hopdong c,hopdong d where a.maloai in (1,2) And a.mahd=c.mahd and b.makh=d.makh and c.mahd=d.mahd And c.madb=@MaDB and b.makh=@MaKH - Procedure hiển thi hợp đồng theo tên khách hàng Create proc [dbo].[sp_HienThiHopDong_TenKhachHang] @debai int, @htthamgia int, @tenkh nvarchar(100) as if @htthamgia=3 begin select *from khachhang a,hopdong b,debai_hopdong c where a.tenkh=@tenkh and a.makh=b.makh and b.mahd=c.mahd and c.madb=@debai 72 end else begin select *from khachhang a,hopdong b,debai_hopdong c where a.tenkh=@tenkh and a.makh=b.makh and b.htthamgia=@htthamgia and b.mahd=c.mahd and c.madb=@debai end - Procedure hiển thị khách hàng theo loại khách hàng và mã đề bài Create proc [dbo].[sp_HienThiKHTheoLoaiVaMaDB] @LoaiKH int, @MaDB int as select distinct a.TenKH,a.MaKH from khachhang a,hopdong b,debai_hopdong c where LoaiKH=@LoaiKH and MaDB=@MaDB and a.MaKH=b.makh and b.mahd=c.mahd - Procedure hiển thị những khách hàng có sổ chi tiết công nợ Create proc [dbo].[sp_HTKhachHang_LamCTCN] @madb int as select distinct b.makh,b.tenkh from debai_hopdong a,khachhang b ,HopDong c where a.madb=@madb and a.mahd=c.mahd and b.makh=c.makh and b.makh 3 -Procedure dùng để lấy mã hợp đồng mới nhất Create proc [dbo].[sp_LayMaHopDongMoi] as select * from HopDong where mahd =(select max(mahd) from HopDong) * Phần code kiểm tra sinh viên cập nhật sổ chi tiết công nợ đúng hay sai Private Sub btnLap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLap.Click Dim loi As Boolean = False Dim i As Integer = 0 Dim j As Integer = 0 Dim grid As New DataTable grid = laygribCongNoCapNhat() If DG_CN.RowCount - 1 = grid.Rows.Count Then For i = 0 To grid.Rows.Count - 1 For j = 0 To DG_CN.RowCount - 2 Try If CInt(Trim(DG_CN.Rows(j).Cells("So").Value)) = CInt(Trim(grid.Rows(i).Item("CTCN_ChungTuSo"))) Then Exit For End If 73 Catch ex As Exception loi = True End Try Next If j = DG_CN.RowCount - 1 Then loi = True Else Try If CLng(Trim(DG_CN.Rows(j).Cells("No").Value)) CLng(Trim(grid.Rows(i).Item("CTCN_No"))) Then loi = True Exit For End If If CLng(Trim(DG_CN.Rows(j).Cells("Co").Value)) CLng(Trim(grid.Rows(i).Item("CTCN_Co"))) Then loi = True Exit For End If Catch ex As Exception loi = True End Try End If Next Else loi = True End If Dim loi_conlai As Boolean = False If loi = True Then MsgBox("Xem lại các chứng từ liên quan đi.Chi tiết công nợ này có vấn đề rồi đó ") DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1 DuLieuChung.listboxLoi.Items.Add("- Đã từng lập chi tiết công nợ sai") Else Dim gt1 As Long = 0 Dim gt2 As Long = 0 Dim gt3 As Long = 0 If txtNo.Text = "" Then gt1 = 0 Else gt1 = CLng(Trim(txtNo.Text)) End If If txtCo.Text = "" Then gt2 = 0 Else gt2 = CLng(Trim(txtCo.Text)) End If 74 If txtConLai.Text = "" Then gt3 = 0 Else gt3 = CLng(Trim(txtConLai.Text)) End If If tongno gt1 Or tongco gt2 Or tongconlai gt3 Then MsgBox("Xem lại giá trị tổng nợ, có, còn lại. Giá trị chưa chính xác") Else Try For p As Integer = 0 To DG_CN.RowCount - 2 Dim _No As Long = 0 Dim _Co As Long = 0 Dim _ConLai As Long = 0 Dim Prev_ConLai As Long = 0 If Trim(DG_CN.Rows(p).Cells("No").Value).ToString = "" Then _No = 0 Else _No = CLng(Trim(DG_CN.Rows(p).Cells("No").Value)) End If If Trim(DG_CN.Rows(p).Cells("Co").Value).ToString = "" Then _Co = 0 Else _Co = CLng(Trim(DG_CN.Rows(p).Cells("Co").Value)) End If If Trim(DG_CN.Rows(p).Cells("ConLai").Value).ToString = "" Then _ConLai = 0 Else _ConLai = CLng(Trim(DG_CN.Rows(p).Cells("ConLai").Value)) End If If loaikh = 1 Then If p = 0 Then If _No - _Co _ConLai Then loi_conlai = True Exit For End If Else If Trim(DG_CN.Rows(p - 1).Cells("ConLai").Value).ToString = "" Then Prev_ConLai = 0 Else Prev_ConLai = CLng(Trim(DG_CN.Rows(p – 1).Cells("ConLai").Value)) End If If Prev_ConLai + _No - _Co _ConLai Then loi_conlai = True Exit For End If 75 End If Else If p = 0 Then If _Co - _No _ConLai Then loi_conlai = True Exit For End If Else If Trim(DG_CN.Rows(p - 1).Cells("ConLai").Value).ToString = "" Then Prev_ConLai = 0 Else Prev_ConLai = CLng(Trim(DG_CN.Rows(p – 1).Cells("ConLai").Value)) End If If Prev_ConLai + _Co - _No _ConLai Then loi_conlai = True Exit For End If End If End If Next Catch ex As Exception loi_conlai = True End Try If loi_conlai = True Then MsgBox("Lỗi giá trị cột còn lại") Else If txtBo.Text "" And txtDoiTuong.Text "" And txtDonVi.Text "" Then MsgBox("Đã cập nhật giảm trừ công nợ cho " + TenKhachHang) DuLieuChung.TuFormTroGiup = 0 DuLieuChung.DayLaFormCTCN_CN = 0 Me.PicNguoiLap.Visible = True Me.btnThoat.Enabled = True Me.btnLap.Enabled = False Else MsgBox("Phải nhập đầy đủ dữ liệu ") End If End If End If End If End Sub * Phần code thuật toán kiểm tra việc lập sổ chi tiết công nợ của sinh viên đúng hay sai Dim loi As Boolean = False Dim i As Integer = 0 Dim j As Integer = 0 76 Dim grid As New DataTable grid = LayDuLieuChiTietSoCongNo() If DG_CN.RowCount - 1 = grid.Rows.Count Then For i = 0 To grid.Rows.Count - 1 For j = 0 To DG_CN.RowCount - 2 Try If CInt(Trim(DG_CN.Rows(j).Cells("So").Value)) = CInt(Trim(grid.Rows(i).Item("CTCN_ChungTuSo"))) Then Exit For End If Catch ex As Exception loi = True End Try Next If j = DG_CN.RowCount - 1 Then loi = True Else Try If CLng(Trim(DG_CN.Rows(j).Cells("No").Value)) CLng(Trim(grid.Rows(i).Item("CTCN_No"))) Then loi = True Exit For End If If CLng(Trim(DG_CN.Rows(j).Cells("Co").Value)) CLng(Trim(grid.Rows(i).Item("CTCN_Co"))) Then loi = True Exit For End If Catch ex As Exception loi = True End Try End If Next Else loi = True End If Dim loi_conlai As Boolean = False If loi = True Then MsgBox("Xem lại các chứng từ liên quan đi.Chi tiết công nợ này có vấn đề rồi đó") DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1 DuLieuChung.listboxLoi.Items.Add("- Đã từng lập chi tiết công nợ sai") Else Dim gt1 As Long = 0 Dim gt2 As Long = 0 Dim gt3 As Long = 0 If txtNo.Text = "" Then 77 gt1 = 0 Else gt1 = CLng(Trim(txtNo.Text)) End If If txtCo.Text = "" Then gt2 = 0 Else gt2 = CLng(Trim(txtCo.Text)) End If If txtConLai.Text = "" Then gt3 = 0 Else gt3 = CLng(Trim(txtConLai.Text)) End If If tongno gt1 Or tongco gt2 Or tongconlai gt3 Then MsgBox("Xem lại giá trị tổng nợ, có, còn lại. Giá trị chưa chính xác") Else Try For p As Integer = 0 To DG_CN.RowCount - 2 Dim _No As Long = 0 Dim _Co As Long = 0 Dim _ConLai As Long = 0 Dim Prev_ConLai As Long = 0 If Trim(DG_CN.Rows(p).Cells("No").Value) = "" Then _No = 0 Else _No = CLng(Trim(DG_CN.Rows(p).Cells("No").Value)) End If If Trim(DG_CN.Rows(p).Cells("Co").Value) = "" Then _Co = 0 Else _Co = CLng(Trim(DG_CN.Rows(p).Cells("Co").Value)) End If If Trim(DG_CN.Rows(p).Cells("ConLai").Value) = "" Then _ConLai = 0 Else _ConLai = CLng(Trim(DG_CN.Rows(p).Cells("ConLai").Value)) End If If loaikh = 1 Then If p = 0 Then If _No - _Co _ConLai Then loi_conlai = True Exit For End If Else If Trim(DG_CN.Rows(p - 1).Cells("ConLai").Value) = "" Then Prev_ConLai = 0 78 Else Prev_ConLai = CLng(Trim(DG_CN.Rows(p – 1).Cells("ConLai").Value)) End If If Prev_ConLai + _No - _Co _ConLai Then loi_conlai = True Exit For End If End If Else If p = 0 Then If _Co - _No _ConLai Then loi_conlai = True Exit For End If Else If Trim(DG_CN.Rows(p - 1).Cells("ConLai").Value) = "" Then Prev_ConLai = 0 Else Prev_ConLai = CLng(Trim(DG_CN.Rows(p – 1).Cells("ConLai").Value)) End If If Prev_ConLai + _Co - _No _ConLai Then loi_conlai = True Exit For End If End If End If Next Catch ex As Exception loi_conlai = True End Try If loi_conlai = True Then MsgBox("Lỗi giá trị cột còn lại") Else If txtBo.Text "" And txtDoiTuong.Text "" And txtDonVi.Text "" Then MsgBox("Đã lập báo cáo chi tiết công nợ cho " + tenkhachhang) kiemtra = True Me.PicNguoiLap.Visible = True Me.btnThoat.Enabled = True Me.btnLap.Enabled = False Else MsgBox("Phải nhập đầy đủ dữ liệu ") End If End If End If End If 79 *Phần code thuật toán kiểm tra việc lập báo cáo của sinh viên Private Sub btSVLap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btSVLap.Click Dim loi As Boolean = False Dim solan As Integer = 0 Dim i As Integer = 0 Dim j As Integer = 0 Dim giatri1 As Double Dim giatri2 As Double Dim grid As New DataTable grid = layChiTietCongNoPhaiThu() If DG_BaoCaoThu.RowCount - 1 = grid.Rows.Count Then For i = 0 To DG_BaoCaoThu.RowCount - 2 For j = 0 To grid.Rows.Count - 1 If DG_BaoCaoThu.Rows(j).Cells("TenKhachHang").Value = CStr(grid.Rows(i).Item("TenKhachHang")) Then If DG_BaoCaoThu.Rows(j).Cells("SoTienPhatSinh").Value = "" Then giatri1 = 0 Else giatri1 = CDbl(DG_BaoCaoThu.Rows(j).Cells("SoTienPhatSinh").Value) End If If grid.Rows(i).Item("SoTienPhatSinh").ToString = "" Then giatri2 = 0 Else giatri2 = CDbl(grid.Rows(i).Item("SoTienPhatSinh")) End If If giatri1 giatri2 Then Continue For End If If DG_BaoCaoThu.Rows(j).Cells("SoLuong").Value = "" Then giatri1 = 0 Else giatri1 = 0 'CDbl(DG_BaoCaoThu.Rows(i).Cells("SoLuong").Value) End If If grid.Rows(i).Item("SoDuDauKy").ToString = "" Then giatri2 = 0 Else giatri2 = 0 'CDbl(grid.Rows(j).Item("SoDuDauKy")) End If If giatri1 giatri2 Then Continue For End If If DG_BaoCaoThu.Rows(j).Cells("DaThu").Value = "" Then giatri1 = 0 Else giatri1 = CDbl(DG_BaoCaoThu.Rows(j).Cells("DaThu").Value) End If 80 If grid.Rows(i).Item("SoTienDaThu").ToString = "" Then giatri2 = 0 Else giatri2 = CDbl(grid.Rows(i).Item("SoTienDaThu")) End If If giatri1 giatri2 Then Continue For End If If DG_BaoCaoThu.Rows(j).Cells("ConLai").Value = "" Then giatri1 = 0 Else giatri1 = CDbl(DG_BaoCaoThu.Rows(j).Cells("ConLai").Value) End If If grid.Rows(i).Item("SoTienConPhaiThu").ToString = "" Then giatri2 = 0 Else giatri2 = CDbl(grid.Rows(i).Item("SoTienConPhaiThu")) End If If giatri1 giatri2 Then Continue For End If solan = solan + 1 Exit For End If Next Try Catch ex As Exception loi = True End Try Next Else loi = True End If If solan = grid.Rows.Count Then loi = False Else loi = True End If If loi = True Then MsgBox("Xem lại các chứng từ liên quan đi.Báo cáo công nợ phải thu này có vấn đề rồi đó") DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1 DuLieuChung.listboxLoi.Items.Add("- Đã từng lập công nợ phải thu sai") Me.Button1.Enabled = False Else Me.PicNguoiLap.Visible = True 81 MsgBox("Đã lập báo cáo công nợ phải thu của tháng này. Tiếp tục công việc nào.") DuLieuChung.SV_KiemTraBuoc10 = 1 DuLieuChung.XemCoCK = 0 Dim a As New LapBaoCao a.Show() Me.Close() End If End Sub (Ghi chú : Việc kiểm tra lập báo cáo phải trả tương tự như trên) *Phần code thuật toán kiểm tra việc lập kế hoạch thu chi Private Sub btnLap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLap.Click Dim loi As Boolean = False Dim loint As Boolean = False Dim solanthay As Integer = 0 Dim i As Integer = 0 Dim j As Integer = 0 Dim grid As New DataTable grid = laygiatriGrid() Try If DG_DuKienThu.RowCount - 1 = grid.Rows.Count Then For i = 0 To DG_DuKienThu.RowCount - 2 For j = 0 To grid.Rows.Count - 1 If DG_DuKienThu.Rows(i).Cells("TenKhachHang").Value = CStr(grid.Rows(j).Item("TenNCC")) Then If CDbl(DG_DuKienThu.Rows(i).Cells("SoTien").Value) CDbl(grid.Rows(j).Item("SoTien")) Then Continue For End If If CStr(Trim(DG_DuKienThu.Rows(i).Cells("NgayGiaoHang").Value)) CStr(Trim(grid.Rows(j).Item("NgayGiaoHang"))) Then loint = True Continue For End If If CStr(Trim(DG_DuKienThu.Rows(i).Cells("NgayThu").Value)) CStr(Trim(grid.Rows(j).Item("NgayThuDuKien"))) Then loint = True Continue For End If solanthay = solanthay + 1 End If Next Next Else 82 loi = True End If Catch ex As Exception loi = True End Try If solanthay = grid.Rows.Count Then loi = False Else loi = True End If Label1.Text = CStr(solanthay) If loint = True Then MsgBox("Nhập sai ngày tháng.(Theo định dạng : dd/mm/yyyy. Ví dụ : 03/09/2009") Me.btnThoat.Enabled = False DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1 DuLieuChung.listboxLoi.Items.Add("- Đã từng lập kế hoạch chi sai") ElseIf loi = True Then MsgBox("Xem lại đi. Lập kế hoạch thu sai rồi") Me.btnThoat.Enabled = False DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1 DuLieuChung.listboxLoi.Items.Add("- Đã từng lập kế hoạch thu sai") Else Me.PicNguoiLap.Visible = True MsgBox("Tốt lắm. Đã lập xong kế hoạch thu ") DuLieuChung.SV_KiemTraBuoc4 = 1 Me.btnThoat.Enabled = True Me.btnLap.Enabled = False End If End Sub (Ghi chú : Việc kiểm tra lập kế hoạch chi tương tự như trên). *Phần code kiểm tra việc nhận biết chứng từ Private Sub btn_KiemTraBM_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_KiemTraBM.Click loi = True Dim ChungTuHD As New DataTable ChungTuHD = load_ChungTu_TheoHopDong(list_HopDong.SelectedItem) Dim tmp As Integer = 0 If list_DSBMChon.Items.Count ChungTuHD.Rows.Count Then loi = True Else For i As Integer = 0 To list_DSBMChon.Items.Count - 1 For j As Integer = 0 To ChungTuHD.Rows.Count - 1 If list_DSBMChon.Items.Item(i) = ChungTuHD.Rows(j).Item("TenBM") Then tmp = tmp + 1 End If 83 Next Next End If If tmp = ChungTuHD.Rows.Count Then loi = False End If If loi = False Then ' If list_HopDong.Items.Count > 0 Then MsgBox("Đã nhận biết đúng! Tiếp tục phân loại các chứng từ còn lại cho phù hợp với hợp đồng") list_HopDong.Items.RemoveAt(list_HopDong.SelectedIndex) list_DSBMChon.Items.Clear() If list_HopDong.Items.Count > 0 Then If list_HopDong.SelectedIndex = -1 Then list_HopDong.SelectedIndex = 0 End If Else GroupBox1.Enabled = False GroupBox2.Enabled = False GroupBox4.Enabled = False GroupBox7.Enabled = False GbCT_HD.Enabled = False MsgBox("Chúng ta đã hoàn thành công việc nhận biết chứng từ! ") End If Else MsgBox("Nhận biết chứng từ sai rồi") DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1 solanloi = solanloi + 1 End If End Sub *Phần code kiểm tra việc nhận biết hợp đồng Private Sub btnKiemTra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKiemTra.Click loiban = True Dim i, j As Integer Dim tmp As Integer = 0 Dim HDMua As New DataTable() HDMua = loadHopDongMua() Dim HDBan As New DataTable() HDBan = loadHopDongBan() If list_HDBan.Items.Count HDBan.Rows.Count Then loiban = True Else For i = 0 To list_HDBan.Items.Count - 1 For j = 0 To HDBan.Rows.Count - 1 If list_HDBan.Items.Item(i) = HDBan.Rows(j).Item("TenHD") Then 84 tmp = tmp + 1 'Exit For End If Next Next End If If tmp = HDBan.Rows.Count Then loiban = False End If tmp = 0 If list_HDMua.Items.Count HDMua.Rows.Count Then loimua = True Else For i = 0 To list_HDMua.Items.Count - 1 For j = 0 To HDMua.Rows.Count - 1 If list_HDMua.Items.Item(i) = HDMua.Rows(j).Item("TenHD") Then tmp = tmp + 1 End If Next Next End If If tmp = HDMua.Rows.Count Then loimua = False End If If loimua = True Or loiban = True Then solanloi = solanloi + 1 MsgBox("Nhận biết hợp đồng sai rồi") DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1 Else MsgBox("Nhận biết hợp đồng đúng rồi đó") btnHD_Ban.Visible = True btnHD_Mua.Visible = True DuLieuChung.SV_KiemTraBuoc1 = 1 Me.btnKiemTra.Enabled = False Me.btnMua.Enabled = False Me.btnMuaAll.Enabled = False Me.btnReMua.Enabled = False Me.btnReMuaAll.Enabled = False Me.btnReTra.Enabled = False Me.btnReTraAll.Enabled = False Me.btnTra.Enabled = False End If End Sub *Phần code kiểm tra việc tìm hóa đơn theo đúng hợp đồng Private Sub btnKiemTra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKiemTra.Click loi1 = True 85 Dim HoaDon_HopDong As New DataTable HoaDon_HopDong = load_hoadon_TheoHopDong(LayHopDongTheoMaHD().rows(0).item("tenhd")) Dim tmp As Integer = 0 If list_HoaDon_HopDong.Items.Count HoaDon_HopDong.Rows.Count Then loi1 = True Else For i As Integer = 0 To list_HoaDon_HopDong.Items.Count - 1 For j As Integer = 0 To HoaDon_HopDong.Rows.Count - 1 If list_HoaDon_HopDong.Items.Item(i) = HoaDon_HopDong.Rows(j).Item("TenBM") Then tmp = tmp + 1 End If Next Next End If If tmp = HoaDon_HopDong.Rows.Count Then loi1 = False End If If loi1 = False Then MsgBox("Nhận biết hóa đơn đúng rồi.") Me.Button1.Enabled = False Me.Button2.Enabled = False Me.GroupBox2.Enabled = False Else MsgBox("Nhận biết hóa đơn sai rồi") DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1 solanloi = solanloi + 1 End If End Sub 86 III.3.3 Thành phần giao diện ở mức vật lý Hình III.2 : Giao diện màn hình chính Hình III.3 : Màn hình chọn tình huống 87 Hình III.4 : Màn hình mô phỏng mô hình công ty Hình III.5 : Màn hình mô phỏng bàn làm việc của nhân viên kế toán 88 Hình III.6 : Màn hình mô phỏng phòng Kế toán trưởng Hình III.7 : Màn hình mô phỏng phòng Giám Đốc 89 Hình III.8 : Màn hình mô phỏng bộ phận kế toán thanh toán Hình III.9 : Màn hình mô phỏng bộ phận kế toán thu chi 90 Hình III.10 : Màn hình trợ giúp lập biểu mẫu Hình III.11 : Màn hình cập nhật sổ chi tiết công nợ 91 Hình III.12 : Màn hình Lập sổ chi tiết công nợ Hình III.13 : Màn hình lập kế hoạch thu chi 92 Hình III.14 : Màn hình lập báo cáo công nợ phải thu và báo cáo công nợ phải trả Hình III.15 : Màn hình Chức năng quản lý tình huống của giáo viên 93 Chương IV : Giới thiệu Sản phẩm IV.1 Các chức năng quản lý tình huống của chương trình Quản lý tình huống là một module quan trọng của chương trình. Gồm các chức năng thêm, sửa, xóa các nguồn dữ liệu dành cho người dùng thực hành. Chúng tôi đã cố gắng xây dựng module quản lý này làm sao cho một cách tối ưu nhất, tiết kiệm được thời gian và công sức của người dùng trong việc quản lý các tình huống, nhất là trong việc tạo ra các tình huống mới cho người dùng thực hành. Module này gồm những chức năng chính sau : - Quản lý thông tin của các đối tượng khách hàng và nhà cung cấp. Đây là các thông tin dùng để điền vào các biểu mẫu, chứng từ xuất hiện trong chương trình. Chương trình sẽ tự lấy dữ liệu thông tin này để tạo ra nội dung cho các biểu mẫu, chứng từ trong quá trình tạo tình huống mới. Người dùng sẽ không cần phải nhập các dữ liệu này lại, giúp tiết kiệm thời gian cho người dùng trong việc tạo tình huống. - Tạo tình huống một cách nhanh chóng. Đây là công việc sẽ tạo ra các đáp án để so sánh với bài thực hành của người dùng. Vì ngoài việc người dùng phải đi đúng quy trình quản lý công nợ, người dùng phải thực hiện các công việc như nhận biết và lập các báo cáo, đòi hỏi các báo cáo mà người dùng lập phải chính xác. Chính vì thế việc tạo tình huống sẽ là đáp án cơ sở so sánh với những gì người dùng làm. Công việc tạo tình huống sẽ trải qua các giai đoạn sau : o Tạo các hợp đồng cho tình huống. Hợp đồng chính là nguồn dữ liệu đầu vào của chương trình, là nguồn dữ liệu ban đầu cho người dùng thực hành. Chúng tôi đã xây dựng 2 chức năng cho việc tạo ra các hợp đồng : § Thêm các hợp đồng đã có sẳn vào tình huống. Đây là chức năng khá hay của chương trình, chúng ta có thể sử dụng lại các hợp đồng đã tạo ra trước đó khi tạo các tình huống cũ. Việc tái sử dụng các hợp đồng giúp tiết kiệm khá nhiều thời gian trong việc tạo tình huống. Việc hoán đổi các hợp đồng và cả số lượng của hợp đồng trong tình huống sẽ tạo ra một tình huống mới cho người dùng thực hành, chính điều này sẽ tạo ra sự phong phú về nguồn dữ liệu của chương trình. § Tạo ra các hợp đồng mới cho chương trình. Các hợp đồng mới khi tạo ra sẽ không mất đi khi chúng ta xóa tình huống, điều này rất có ích trong việc tái sử dụng hợp đồng như đã nói ở trên. Việc tạo ra các hợp đồng cũng không tốn nhiều thời gian vì hầu hết các thông tin đã được nhập vào sẳn như thông tin khách hàng, nhà cung cấp, các điều lệ và quy định của hợp đồng, người dùng chỉ việc tạo ra các thông tin cơ bản như loại hợp đồng mua hay bán, thời hạn thanh toán và trị giá hợp đồng. Và đi kèm với việc tạo hợp đồng sẽ kèm theo việc tạo thêm một bộ chứng từ đi kèm với hợp đồng đó, từ 2 đến 3 chứng từ cho một hợp đồng tùy theo loại 94 hợp đồng như thế nào mà sẽ có loại chứng từ tương ứng. Việc tạo các chứng từ cũng khá đơn giản như việc tạo hợp đồng, người dùng chỉ việc chọn ngày lập và nhập số tiền. o Lập các sổ chi tiết công nợ phải thu cho khách hàng và các sổ chi tiết công nợ phải trả cho nhà cung cấp. Giai đoạn tiếp theo sau khi tạo các hợp đồng cho tình huống, dựa vào số lượng đối tác qua các hợp đồng mà sẽ có số lượng các sổ chi tiết công nợ tương ứng cho các đối tác. Giai đoạn này chúng tôi đã xử lý tự động trong việc tạo ra các dữ liệu cho các sổ chi tiết công nợ từ những nguồn dữ liệu khác nhau như hợp đồng, hóa đơn đã tạo trước đó. Người dùng không phải thực hiện giai đoạn này. Giúp người dùng tiết kiệm rất nhiều thời gian và công sức trong việc tạo tình huống. o Lập kế hoạch thu chi. Chúng tôi cũng đã tổng hợp dữ liệu từ nhiều nguồn dữ liệu khác nhau đã có trước đó để xử lý và tự động sinh ra hai báo cáo kế hoạch thu chi. Người dùng không phải thực hiện giai đoạn này. o Lập các báo cáo công nợ phải thu và phải trả. Chúng tôi đã tổng hợp dữ liệu từ nhiều nguồn dữ liệu khác nhau về xử lý để có thể tự động sinh ra các báo cáo này với đúng quy cách của nghiệp vụ kế toán. Người dùng không phải thực hiện giai đoạn này. - Với khả năng tự động sinh ra các báo cáo xuất hiện trong quy trình cũng là nguồn đáp án để so sánh với bài làm của người dùng đã giúp việc tạo tình huống trở nên đơn giản, người dùng không phải tính toán nhiều giúp tiết kiệm khá nhiều thời gian trong việc tạo tình huống mới. - Chương trình có chức năng chỉnh sửa các tình huống, chỉnh sửa các thông tin của hợp đồng, các thông tin trên biểu mẫu chứng từ. - Chương trình có chức năng xóa các tình huống, xóa các hợp đồng. Khi chúng ta xóa hợp đồng thì sẽ xóa các chứng từ đi kèm theo hợp đồng đó, nhưng khi chúng ta xóa các tình huống thì sẽ không xóa kèm các hợp đồng của tình huống đó, mục đích của việc này là để giữ lại các hợp đồng đó vào việc tạo các tình huống khác. Với module quản lý tình huống này sẽ giúp cho chương trình có thể tạo ra một nguồn dữ liệu phong phú để cho người dùng thực hành. Tạo ra tính phong phú cho chương trình. IV.2 Thực hành mô phỏng quy trình quản lý công nợ Đây là chức năng chính của chương trình, là phần dùng để cho người dùng thực hành. IV.2.1 Giao diện của chương trình Chúng tôi đã xác định đây là một chương trình mô phỏng không phải dạng chương trình ứng dụng quản lý và đối tượng sử dụng chính là sinh viên ngành kế toán hoặc những người học kế toán. Chính vì thế yêu cầu giao diện được đặt ra là phải thật sinh động, mô phỏng được gần với thực tế nhất. Bên cạnh đó giao diện chương trình phải đáp ứng được yêu cầu dễ sử dụng và không quá phức tạp. Chúng tôi đã tìm hiểu và nghiên cứu cách thức sử dụng Flash trong việc thiết kế giao diện của chương trình. 95 Việc kết hợp flash vào môi trường VB.Net không phải là việc quá mới, nhưng chỉ dừng lại ở mức dùng ngôn ngữ VB.Net điều khiển cho Flash chạy hoặc dừng lại. Việc dùng flash để thực hiện ngược lại các câu lệnh của VB.Net có thể nói là khá mới mẻ. Việc tìm hiểu và áp dụng thành công Flash làm giao diện đã làm cho chương trình trở nên sinh động hơn, tạo ra sự thích thú cho người dùng trong việc sử dụng chương trình. IV.2.2 Các chức năng chính của chương trình a) Quy trình quản lý công nợ : Chương trình đáp ứng được các bước trong quy trình quản lý công nợ đúng với yêu cầu nghiệp vụ kế toán. Gồm các giai đoạn sau : - Nhận biết hợp đồng và tìm hóa đơn theo đúng hợp đồng o Sau khi đã phân tích và tham khảo ý kiến của các giảng viên khoa Kế toán chúng tôi đã xác định dữ liệu đầu vào để người dùng thực hành là các hợp đồng và hoá đơn. Khi bắt đầu thực hành người dùng sẽ nhận được một số hợp đồng và các hóa đơn tùy theo tình huống khác nhau mà số lượng sẽ khác nhau. Công việc nhận biết hợp đồng và tìm hóa đơn là công việc phải làm đầu tiên, khi thực hiện công việc này sẽ tập cho người dùng kỹ năng nhận biết đâu là các hợp đồng mua hàng, đâu là các hợp đồng bán hàng từ đó sẽ phân ra để theo dõi các khoản phải thu và phải trả. Bên cạnh đó sẽ giúp người dùng làm quen với các mẫu hợp đồng và hóa đơn, có thể đọc hiểu thông tin trên đó. Thực hiện xong giai đoạn này mới có thể thực hiện tiếp giai đoạn sau. - Lập các sổ chi tiết công nợ phải thu và các sổ chi tiết công nợ phải trả. o Đây là loại báo cáo đầu tiên mà người dùng phải lập khi thực hành. Chương trình đã cung cấp cho người dùng mẫu báo cáo sát với thực tế nhất.Việc lập báo cáo chi tiết công nợ sẽ dựa vào thông tin trên hóa đơn và hợp đồng. Sau khi người dùng nhận biết xong các hợp đồng, hóa đơn chương trình sẽ tự động xuất hiện chúng dưới dạng đã được sắp xếp , tiện lợi hơn cho người dùng khi lập các báo cáo, tránh gây rối và làm phức tạp chương trình với người dùng. Tùy theo số lượng khách hàng và nhà cung cấp xuất hiện trong tình huống mà người dùng phải lập số lượng sổ chi tiết công nợ tương ứng. Người dùng phải lập đúng sổ chi tiết công nợ đã chọn mới được lập sổ khác và phải lập đúng hết các sổ chi tiết công nợ cho tất cả đối tác mới được thực hiện tiếp quy trình. - Lập kế hoạch thu và kế hoạch chi o Sau khi lập xong các sổ chi tiết công nợ người dùng sẽ tiếp tục lập các kế hoạch thu chi. Mẫu kế hoạch thu chi trong chương trình được mô phỏng giống với mẫu kế hoạch thu chi trong thực tế. Chương trình sẽ cung cấp các sổ chi tiết công nợ mà người dùng vừa lập ở giai đoạn trước để người dùng có thể xem lại, vì đó chính là cơ sở để người dùng lập các kế hoạch thu chi. Người dùng phải lập đúng và đủ 2 kế hoạch này mới được thực hiện tiếp quy trình. - Đem kế hoạch thu chi cho kế toán trưởng ký duyệt. 96 o Khi hoàn thành xong giai đoạn trước đó, người dùng phải di chuyển đến phòng kế toán trưởng. Giai đoạn này sẽ thực hiện hành động ký duyệt vào kế hoạch thu chi vừa lập. Chương trình sẽ cho xem lại các hợp đồng, hóa đơn, các sổ chi tiết công nợ và kế hoạch thu chi để thực hiện hành động kiểm tra của kế toán trưởng. Sau khi ký duyệt vào kế hoạch thu chi người dùng mới có thể tiếp tục quy trình. Trường hợp người dùng chưa lập kế hoạch thu chi mà đến phòng kế toán trưởng thì chương trình sẽ không xuất hiện các chứng từ trước đó để kiểm tra và ký. - Đem kế hoạch thu chi cho giám đốc ký duyệt. o Di chuyển đến phòng giám đốc và thực hiện hành động ký duyệt vào kế hoạch thu chi. - Phát sinh thêm các chứng từ mới. o Ngay sau khi thực hiện xong hành động ký duyệt của giám đốc chương trình sẽ tự động phát sinh thêm các chứng từ mới tại phòng kế toán thu chi. - Thu thập các chứng từ mới phát sinh. o Người dùng sẽ di chuyển đến bộ phận kế toán thu chi, lúc này chương trình sẽ xuất hiện màn hình hiển thị các chứng từ mới xuất hiện để người dùng có thể thực hiện hành động lấy chứng từ. Trường hợp không đi đúng quy trình mà vào bộ phận này thì sẽ xuất hiện thông báo chưa có chứng từ mới phát sinh. - Cập nhật sổ chi tiết công nợ phải thu và phải trả. o Sau khi lấy được các chứng từ mới phát sinh, người dùng sẽ dùng chức năng cập nhật sổ chi tiết công nợ. Cũng giống như việc lập sổ người dùng phải cập nhật dữ liệu đúng thì mới được cập nhật tiếp. Cập nhật tất cả các sổ chi tiết công nợ người dùng mới tiếp tục thực hiện quy trình. - Lập báo cáo công nợ phải thu và báo cáo công nợ phải trả. o Sau khi cập nhật các sổ chi tiết công nợ, người dùng mới được quyền lập các báo công nợ phải thu và phải trả. Chương trình yêu cầu người dùng phải lập đúng dữ liệu và phải lập đủ cả 2 báo cáo mới được thực hiện tiếp quy trình. - Đem báo cáo công nợ phải thu và phải trả cho kế toán trưởng kiểm tra ký duyệt. o Tương tự như giai đoạn đem kế hoạch thu chi cho kế toán trưởng kiểm tra, tuy nhiên ở giai đoạn này chương trình sẽ cho xem lại các sổ chi tiết công nợ đã cập nhật. - Đem báo cáo cho giám đốc ký duyệt o Giám đốc sẽ thực hiện hành động ký duyệt. - Chuyển các báo cáo cho bộ phận kế toán thanh toán. o Người dùng sẽ di chuyển đến bộ phận kế toán thanh toán và thực hiện hành động chuyển báo cáo. Trường hợp không đi đúng quy trình mà vào bộ phận này sẽ xuất thông báo chưa đủ báo cáo. 97 - Kết thúc quy trình. b) Chức năng nhận biết và kiểm tra việc lập báo cáo trong khi thực hành: Đối với các giai đoạn mà yêu cầu người dùng nhận biết như nhận biết hợp đồng, hóa đơn và chứng từ, chương trình sử dụng các thuật toán kiểm tra với cơ sở dữ liệu. Đảm bảo xử lý chính xác các trường hợp lựa chọn của người dùng. Đối với việc lập các báo cáo chúng tôi đã sử dụng các thuật toán để lấy dữ liệu từ cơ sở dữ liệu do giáo viên tạo ra lúc ban đầu để kiểm tra đối chiếu với dữ liệu mà người dùng nhập vào. Đảm bảo ràng buộc hầu hết các tình huống nhập liệu của người dùng vào form chương trình, đã bẫy lổi những trường hợp nhập liệu sai như nhập chuỗi thay vì nhập số hay nhập giá trị rỗng. Chương trình yêu cầu người dùng phải thực hiện đúng từng giai đoạn mới được tiếp tục thực hiện quy trình cho nên các phần kiểm tra việc thực hành của người dùng rất là quan trọng. Chúng tôi đã cố gắng sao cho các thuật toán kiểm tra hoàn thiện nhất, tuy nhiên vẫn chưa lường được hết các tình huống phát sinh, cần có nhiều thời gian để kiểm thử để có thể hoàn thiện hơn. c) Các chức năng trợ giúp và hướng dẫn Đây là chức năng quan trọng đối với những người dùng đang làm quen với chương trình. Phần trợ giúp gồm : - Trợ giúp về quy trình, cho người dùng gợi ý về giai đoạn tiếp theo phải làm gì. - Trợ giúp trong việc lập các báo cáo, sẽ hiển thị các báo cáo đã nhập dữ liệu đúng. - Trợ giúp trong việc tìm hóa đơn theo đúng hợp đồng. - Trợ giúp trong việc nhận biết chứng từ theo đúng hợp đồng. Bên cạnh đó chương trình còn có phần hướng dẫn được đặt tại màn hình mô phỏng các phòng ban của công ty nếu người dùng chọn phần thực hành có hướng dẫn ở đầu chương trình. Phần này sẽ hướng dẫn người dùng phải làm những gì tiếp theo và hướng dẫn lập các báo cáo như thế nào. Trên đây là một số chức năng chính của chương trình, vì thời gian có hạn nên không thể tránh khỏi các sai sót. Chương trình cần có thêm thời gian để hoàn thiện và xử lý thêm nhiều tình huống có thể xảy ra trong thực tế. Qua đó nâng cao tính hiệu quả và thực tiễn của chương trình hơn. 98 Kết luận Đề tài nghiên cứu khoa học này chính là cơ hội cho chúng tôi có thể áp dụng, tổng kết lại những kiến thức mà mình đã tích lũy trong suốt quá trình học tập. Thông qua quá trình làm đề tài, bản thân chúng tôi cũng đã rút ra những kinh nghiệm thực tế hết sức quý báu. Bên cạnh đó cũng tích lũy thêm được khá nhiều kiến thức cả về lĩnh vực Công nghệ thông tin lẫn lĩnh vực kế toán mà cụ thể là kế toán công nợ. Quy trình kế toán công nợ là một quy trình khá phức tạp, trải qua nhiều công đoạn khác nhau trong suốt quá trình làm việc và các công việc đều có liên hệ chặt chẽ với nhau. Chính vì thế việc mô phỏng công việc thực tế của nhân viên kế toán công nợ gặp khá nhiều khó khăn. Khi phân tích những công việc mà nhân viên kế toán công nợ phải làm chúng tôi phải điều chỉnh sao cho những việc đó thành một quy trình qua các bước cụ thể. Và trong mỗi bước sẽ phải làm những công việc quy định. Chính điều đó sẽ giúp người dùng khi thực hành có thể có một cái nhìn tổng quát về công việc. Tuy nhiên vì thời gian có hạn và kiến thức về nghiệp vụ kế toán của chúng tôi chưa được hoàn chỉnh nên đề tài sẽ không tránh khỏi những thiếu sót và còn nhiều hạn chế. Rất mong nhận được ý kiến đóng góp từ các Thầy cô của khoa Công nghệ thông tin, khoa Tài chính kế toán và những người am hiểu nghiệp vụ và công việc thực tế. Bên cạnh đó chúng tôi cũng rất mong nhận được sự phản hồi từ người dùng chương trình để chương trình ngày một hoàn thiện hơn. · Những công việc đã làm được o Mô phỏng được các công việc của kế toán công nợ thành từng bước cụ thể, tạo thành một quy trình xuyên suốt. Giúp người dùng có thể thực hành một cách dễ dàng và nắm bắt được công việc nhanh hơn. o Mô phỏng được việc lập các biểu mẫu xuất hiện trong quy trình như sổ chi tiết công nợ phải thu, sổ chi tiết công nợ phải trả, kế hoạch thu, kế hoạch chi, báo cáo công nợ phải thu, báo cáo công nợ phải trả.Giải quyết được các vấn đề phức tạp khi lập biểu mẫu và kiểm tra việc lập biểu mẫu của người dùng trong chương trình. Đáp ứng được yêu cầu của thực tế. Giúp người dùng không bỡ ngỡ khi tiếp xúc với các biểu mẫu, chứng từ lúc đi làm sau này. o Xây dựng được phần hướng dẫn cho người dùng thực hành khá chi tiết. o Xây dựng được phần trợ giúp cho người dùng thực hành. o Xây dựng được phần quản lý tình huống với việc thêm và chỉnh sửa các tình huống cho người dùng thực hành.Công việc thêm tình huống của giáo viên đã được xây dựng tối ưu nhất tiết kiệm thời gian tạo tình huống và đã hạn chế các công việc xử lý tính toán bằng tay. o Giao diện chương trình khá sinh động phù hợp với mục tiêu đề tài và người dùng. · Những công việc chưa được o Chương trình chưa đáp ứng được đầy đủ các tình huống thực tế. Vì thực tế sẽ phát sinh các tình huống rất phong phú và đa dạng, trong 99 thời gian có hạn chương trình chỉ đáp ứng được phần nào yêu cầu thực tế làm việc . Còn nhiều trường hợp phát sinh như : § Lên danh sách nợ quá hạn và xử lý nợ quá hạn § Khách hàng trả tiền nhiều lần, thời gian giao dịch giữa hai bên kéo dài đã có các sổ chi tiết công nợ được lập trước đó,… · Đề nghị hướng phát triển o Mô phỏng đầy đủ hơn các tình huống mà thực tế phát sinh. Để chương trình có thể đáp ứng một cách đầy đủ nhất, sát với thực tế khi đi làm việc bên ngoài. o Đưa vào sử dụng tại các phòng máy của nhà trường, cho phép người dùng thực hành trên máy. Từ đó thu nhận các đóng góp, phản hồi từ phía người dùng để chương trình ngày một hoàn thiện hơn. o Cải tiến giao diện chương trình sao cho thân thiện với người dùng hơn nữa. 100 Danh mục tài liệu tham khảo Nguồn in ấn [1] Phương Lan, Hoàng Đức Hải (2007), “Visual Basic 2005 Tập 3 – Quyển 1 : Lập trình cơ sở dữ liệu với ADO.NET 2.0”, Nhà xuất bản Phương Đông, tr 1 - 308. Internet [2] [3] [4] [5] [6] 101 Phụ lục : Các mẫu biểu xuất hiện trong quy trình quản lý công nợ 102 103 104 105 106 107

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

  • pdfBao_Cao_NCKH.pdf
  • pdfBai_bao_NCKH.pdf
Luận văn liên quan