NỘI DUNG
MỀM QUẢN LÝ CHI TIÊU TRỰC TUYẾN CHO CÔNG TY
1.1 Khái niệm cơ bản vềngôn ngữJava
Java là một ngôn ngữ lập trình bậc cao, hướng đối tượng và dựa trên các lớp, được phát triển bởi Sun Microsystems Ngôn ngữ này kế thừa trực tiếp từ C/C++, vì vậy cú pháp của Java tương tự như cú pháp của C và C++.
Khác với các ngôn ngữ lập trình khác, Java biên dịch mã nguồn thành bytecode thay vì mã máy, và bytecode này sẽ được môi trường runtime thực thi.
Trong ngôn ngữ lập trình Java, mọi thứ đều là đối tượng, cho phép Java mở rộng và linh hoạt hơn Ngoài ra, Java được thiết kế với mục tiêu đơn giản, giúp người học dễ dàng tiếp cận và nắm bắt.
Java là một ngôn ngữ lập trình độc lập với nền tảng, khác với các ngôn ngữ như C và C++ Khi được biên dịch, Java không chuyển đổi sang mã máy cho một hệ thống cụ thể, mà tạo ra các bytecode có thể chạy trên bất kỳ nền tảng nào.
Java cung cấp tính năng bảo mật mạnh mẽ, cho phép phát triển các hệ thống an toàn khỏi virus và phần mềm độc hại Ngoài ra, với khả năng đa luồng, Java cho phép lập trình viên tạo ra các ứng dụng có khả năng thực hiện nhiều tác vụ đồng thời, giúp nâng cao hiệu suất và trải nghiệm người dùng.
Trường Đại học Kinh tế Huế
CƠ SỞ LÝ THUYẾT CHO VIỆC XÂY DỰNG PHẦN MỀM QUẢN LÝ CHI TIÊU TRỰC TUYẾN CHO CÔNG TY SOFTWORLD VIỆT NAM
Khái niệm cơ bản về ngôn ngữ Java
Java là một ngôn ngữ lập trình bậc cao, hướng đối tượng và dựa trên các lớp, được phát triển bởi Sun Microsystems Ngôn ngữ này kế thừa trực tiếp từ C/C++, do đó cú pháp của Java tương tự như cú pháp của C và C++.
Khác với các ngôn ngữ lập trình khác, Java biên dịch mã nguồn thành bytecode thay vì mã máy, và bytecode này sẽ được môi trường runtime thực thi.
Đặc điểm của Java
Trong ngôn ngữ lập trình Java, mọi thứ đều được xem như là đối tượng (Object), điều này giúp Java có khả năng mở rộng linh hoạt Hơn nữa, Java được thiết kế với mục tiêu đơn giản, nhằm tạo điều kiện thuận lợi cho người học.
Java là một ngôn ngữ lập trình độc lập với nền tảng, khác với các ngôn ngữ như C và C++ Khi được biên dịch, Java không chuyển đổi sang mã máy cụ thể cho một hệ thống nào, mà tạo ra các bytecode có thể chạy trên bất kỳ nền tảng nào.
Java cung cấp tính năng bảo mật cao, cho phép phát triển các hệ thống miễn virus và giả mạo Bên cạnh đó, tính năng đa luồng của Java cho phép lập trình viên viết các chương trình thực hiện nhiều tác vụ đồng thời, giúp xây dựng các ứng dụng tương tác chạy mượt mà.
Trường Đại học Kinh tế Huế
Ngôn ngữ lập trình Java được thiết kế mạnh mẽ với mục tiêu giảm thiểu các lỗi bằng cách tập trung vào việc kiểm tra lỗi trong thời gian biên dịch và kiểm tra lỗi trong quá trình chạy.
Ứng dụng của Java
Hỗtrợ[7] cho cácứng dụng trên nền tảng hệ điều hành Android.
Thường được sử dụng vào trong các dịch vụ tài chính, ngân hàng vì độ bảo mật cao.
Là nền tảng của nhiềuứng dụng Website.
Dùng để viết nên các công cụ phát triển và phần mềm hữu ích như: Eclipse,
Không gian nhúng rộng. Được sử dụng trong lĩnh vực giao dịch chứng khoán vì sự an toàn, linh động và bảo trì với tốc độnhanh.
Các loại hình Java phổ biến
Chương trình [8] Java chia làm hai loại: Java Applet và Java Application.
Java Applet là các đối tượng chạy trên trình duyệt Web, mang lại hiệu ứng tương tự như một ứng dụng thông thường Tuy nhiên, thông tin cần thiết để Java Applet hoạt động được cung cấp từ các trang web.
Người dùng sử dụng trình duyệt web để truy cập các trang thông tin có chứa Java Applet Khi truy cập vào trang này, Java Applet sẽ được tải về và thực thi thông qua Java Virtual Machine (JVM) đã được cài đặt sẵn trong trình duyệt.
Java Application (JA) là các ứng dụng độc lập, tương tự như các chương trình có đuôi EXE hoặc COM Việc thực hiện Java App dễ dàng hơn so với Java Applet vì chúng không yêu cầu trình duyệt Web.
Trường Đại học Kinh tế Huế
Java Virtual Machine (JVM) là yếu tố then chốt cho sự hoạt động của các ứng dụng Java Nó hoạt động như một máy tính ảo, sở hữu bộ lệnh, cấu trúc dữ liệu và quản lý bộ nhớ Khi các ứng dụng Java được biên dịch, JVM thực hiện chúng, đảm bảo tính tương thích và hiệu suất cao cho các chương trình.
Java có phần mở rộng là class, trong đó JVM sẽ phân tích mã trong tệp class này thành các lệnh của JVM và thực hiện chúng, tương tự như cách mà máy tính PC xử lý các ứng dụng thông thường.
Hạn chế khi lập trình bằng ngôn ngữ Java
Tốn nhiều bộnhớ hơn các ngôn ngữbiên dịch khác như C hoặc C++.
Thư viện Java khá nặng.
Các giao diện mặc định và thiết kế của các ứng dụng GUI viết bằng Java sử dụng bộ công cụ Swing khá đơn giản.
Máyảo Java có thểchiếm nhiều bộnhớ.
Tương tác Database cần cóthưviện riêng.
Thực trạng sử dụng ngôn ngữ Java hiện nay
Trong những năm gần đây, Java đã trở nên phổ biến và được sử dụng rộng rãi để phát triển ứng dụng trên hầu hết các nền tảng, bao gồm cả điện thoại thông minh và các thiết bị khác.
Android đến các trang web, xe hơi…
Hình 1.1: Thứtựngôn ngữ được sửdụng phổbiến hiện nay
(Nguồn: http://www.ictvietnam.vn/danh-gia-va-trao-doi/tai-sao-va-khi-nao-nen-su-dung-java-de- phat-trien-ung-dung.html)
Trường Đại học Kinh tế Huế
Java vẫn là ngôn ngữ lập trình phổ biến nhất và là công nghệ phát triển đứng thứ năm trên toàn cầu Với hơn 97% hệ thống doanh nghiệp sử dụng, Java là nền tảng thời gian chạy được ưa chuộng nhất Nhiều công ty áp dụng Java cho nhiều chức năng khác nhau nhờ vào số lượng lớn thư viện hỗ trợ, tính bảo mật và khả năng mạnh mẽ Tài liệu phong phú cùng khả năng tương thích với hầu hết mọi loại máy tính giúp Java giảm chi phí đáng kể trong việc phát triển trang web và phần mềm cho các doanh nghiệp Tình hình phát triển thương mại tại Việt Nam cũng đang ghi nhận sự gia tăng sử dụng Java.
So sánh sự thông dụng của Java với các ngôn ngữ khác
B ả ng 1.1: So sánh Java v ớ i Python
Python là một ngôn ngữ bậc cao, hỗ trợ đầy đủ lập trình hướng đối tượng.
Java không phải là một ngôn ngữ hướng đối tượng thuần khiết.
Python là một ngôn ngữkịch bản
(scripting) dễsửdụng, mạnh mẽ vượt trội như một ngôn ngữ"gắn kết" vì nó kết nối các thành phần hệthống.
Java có đặc điểm là một ngôn ngữthực thi cấp thấp (low-level).
Các chương trình viết bằng Python thường ngắn.
Các chương trình viết bằng Java thường dài hơn các chương trình viết bằng Python.
Chạy kiểu biên dịch nên chậm hơn Java Chạy nhanh hơn Python vìđược biên dịch thành binary code.
Trường Đại học Kinh tế Huế
C++ chủyếu đểlập trình các hệthống và mởrộng ngôn ngữlập trình C.
Java được tạo ra ban đầu đểhỗtrợlập trình mạng.
Các thư viện chuẩn C++ rất đơn giản và mạnh mẽ.
Java có một thư viện đa nền tảng mạnh mẽ.
C++ không có quá trình thu dọn lại các vùng nhớ.
Java quá trình thu dọn lại các vùng nhớ sẽxảy ra tự động.
B ả ng 1.2: So sánh Java v ớ i PHP
Là một ngôn ngữkịch bản máy chủ Là một ngôn ngữ đa mục đích.
Không yêu cầu biên dịch mã Yêu cầu biên dịch mã.
PHP thì lập trình viên không cần phải khai báo kiểu dữliệu cho mỗi biến.
Java thì lập trình viên cần phải khai báo kiểu dữliệu cho mỗi biến.
FrameWork Java phổ biến hiện nay
Spring Framework tối ưu hóa nguyên tắc thiết kế IoC, giúp lập trình viên dễ dàng tập trung vào chức năng của từng mô-đun Điều này giải phóng các mô-đun khỏi những giả định không cần thiết, đồng thời tăng khả năng mở rộng cho các chương trình.
Framework này bao gồm nhiều mô-đun hỗ trợ các chức năng khác nhau trong ứng dụng, như Spring Core (mô-đun cơ sở), Spring AOP (cho logic đan xen), Spring Transaction (hỗ trợ giao dịch), và Spring MVC (giao diện web).
Trường Đại học Kinh tế Huế
Grail [11] là một framework cơ động, được dựa trên ngôn ngữ lập trình
Groovy JVM Nó hoạt động tốt với các công nghệJava, bao gồm Java EE containers,
Spring SiteMesh, Quartz, và Hibernate.
Framework phát triển web mã nguồn mở rất phổ biến trong cộng đồng lập trình viên Java nhờ vào việc hỗ trợ Java Bean và EJB, giúp giảm thiểu yêu cầu cấu hình.
XML và vì thếnên các lập trình viên có thể nhanh chóng thúc đẩy quá trình phát triển đểtạo nên một ứng dụng đồsộvà có thểmởrộng.
Framework ra đời vào năm 2015 rất đơn giản và nhẹ, giúp lập trình viên có thể thành thạo trong bất kỳ dự án nào chỉ trong vòng 1 ngày.
Balde là một Framework MVC nhẹ dựa trên Java 8, cung cấp giao diện định tuyến theo phong cách RESTful, giúp các web API trở nên gọn gàng và dễ hiểu, đồng thời đồng bộ hóa với dữ liệu trên website.
Mô hình Spring MVC
MVC (Model – View - Controller) là phương pháp thiết kế ứng dụng, chia nhỏ giao diện người dùng thành ba phần chính: Model, View và Controller.
Mô hình là một đối tượng hoặc tập hợp các đối tượng thể hiện dữ liệu trong chương trình, chẳng hạn như dữ liệu được lưu trữ trong cơ sở dữ liệu (CSDL) hoặc từ các hệ thống ứng dụng khác như email.
Phần "Hiển thị" (View) là giao diện người dùng, bao gồm việc trình bày dữ liệu trên màn hình và cung cấp các menu, nút bấm, lựa chọn để người dùng thực hiện các thao tác như thêm, sửa, xóa, tìm kiếm và quản lý dữ liệu.
Controller là phần điều khiển toàn bộ logic của giao diện, đảm nhiệm việc tương tác với người dùng và thực hiện các cập nhật cũng như thao tác cần thiết.
Trường Đại học Kinh tế Huế trên dữliệu theo đầu vào nhận được và điều khiển việc chọn phần “Hiển thị” thích hợp đểtruyền dữliệu với người dùng.
Hình 1.2: Luồng đi trong MVC
(Nguồn: https://khoanguyen.me/tim-hieu-mo-hinh-mvc-la-gi/)
Khi máy chủ gửi yêu cầu đến server, bộ phận controller sẽ nhận và xử lý yêu cầu đó Nếu cần thiết, controller sẽ gọi đến phần model, nơi thực hiện các thao tác với cơ sở dữ liệu.
Sau khi xửlý xong, toàn bộkết quả được đẩy vềphần View Tại View, sẽtạo ra mã HTML tạo nên giao diện, và trảtoàn bộhtml vềtrình duyệt để hiển thị.
1.9.3 Ưu nhược điểm khi sửdụng mô hình MVC
Trường Đại học Kinh tế Huế
Phát triển phần mềm chuyên nghiệp cho phép phân chia công việc giữa nhiều nhóm với kỹ năng đa dạng, từ đó giúp tăng tốc độ phát triển ứng dụng, đồng thời đơn giản hóa quy trình và dễ dàng nâng cấp.
Bảo trì hệ thống trở nên dễ dàng hơn nhờ vào việc phân chia thành các lớp, cho phép thay đổi các thành phần mà không ảnh hưởng đến toàn bộ hệ thống, vì sự thay đổi có thể được thực hiện một cách cô lập trong từng lớp.
Mở rộng: Với các lớp được chia theo ba lớp, việc thêm chức năng vào cho từng lớp sẽdễ dàng hơn là phân chia theo cách khác.
Mô hình MC có nhược điểm là gây cồng kềnh và tốn thời gian cho các dự án nhỏ, đặc biệt trong quá trình phát triển và trung chuyển dữ liệu giữa các tầng.
1.9.4 So sánh mô hình MVC với mô hình 3 lớp (3–layer)
Tách rời programming core/business logic ra khỏi những phụ thuộc về tài nguyên và môi trường Presentation Layer (PL) thể hiện giống như chức năng của
View và Controller Business Layer (BL) và Data Access Layer (DL) thể hiện giống như chức năng của Model Nhìnở góc độnày, thì MVC tương đương với 3-layer.
Trong mô hình 3 lớp, quá trình đi theo chiều dọc, bắt đầu từPL, sang BL, rồi tới DL, và từDL, chạy ngược lại BL rồi quay ra lại PL.
Trường Đại học Kinh tế Huế
(Nguồn: http://tiennv02.blogspot.com/2016/08/tong-quan-mo-hinh-mvc-so-sanh-mo- hinh)
Trong mô hình MVC, dữ liệu được nhận từ View, sau đó View sẽ chuyển tiếp cho Controller để cập nhật vào Model Cuối cùng, dữ liệu trong Model sẽ được đưa trở lại cho View.
View mà không thông qua Controller, do vậy luồng xửlý này có hình tam giác.
(Nguồn: http://tiennv02.blogspot.com/2016/08/tong-quan-mo-hinh-mvc-so-sanh-mo- hinh)
Trường Đại học Kinh tế Huế
TỔNG QUAN VỀ CÔNG TY SOFTWORLD VIỆT NAM VÀ TÌNH HÌNH QUẢN LÝ CHI TIÊU TẠI CÔNG TY SOFTWORLD
Tổng quan về công ty SoftWorld
Soft World là một công ty công nghệ thông tin tại Việt Nam, được đầu tư bởi các cổ đông Nhật Bản Được thành lập bởi những thành viên có hơn 15 năm kinh nghiệm trong việc triển khai các giải pháp và dự án công nghệ thông tin tại Nhật Bản.
Công ty có trụ sở chính tại TP Hồ Chí Minh, với một chi nhánh tại Nhật Bản và trung tâm phát triển đặt tại thành phố Huế, Việt Nam Địa chỉ cụ thể là Tầng 6, toà nhà Viettel, phường Phú Nhuận, Thành phố Huế.
Mục tiêu của công ty
Cung cấp các giải pháp công nghệtốt nhất dựa trên nhu cầu khách hàng.
Phát triển ứng dụng IOS, Android, kết nối dữ liệu online cloud server Ứng dụng quản lý thông qua mobile Xây dựng hệthống quản lý trên nền web.
Tư vấn giải pháp nâng cấp hệthống web, phần mềm hiện có nhằm tối ưu hiệu quảbán hàng, hiệu quảquản lý online.
Dịch vụSEO, quảng cáo Google Adwords, quảng cáo trên mạng xã hội.
Xây dựng trang chủ tương thích mobile, xây dựng website bán hang, xây dựng hệthống quản lý trên nền Web.
Sự cần thiết phải xây dựng phần mềm quản lý chi tiêu cho công ty
Được thành lập trong bối cảnh bùng nổ công nghệ thông tin và cách mạng 4.0, công ty đối mặt với cả cơ hội lẫn thách thức lớn Những thách thức này không chỉ liên quan đến dự án phần mềm và phát triển ứng dụng theo nhu cầu khách hàng, mà còn đòi hỏi sự quản lý hiệu quả về nguồn lực như vốn, nhân lực, cơ sở vật chất và các chi tiêu trong công ty.
Trường Đại học Kinh tế Huế
Trong thời đại công nghệ tiên tiến, sự bùng nổ của các ứng dụng quản lý và mạng internet đã trở thành yếu tố quan trọng Để nâng cao hiệu quả quản lý chi tiêu, việc xây dựng một hệ thống quản lý chi tiêu hiệu quả, phù hợp với nhu cầu và đầy đủ chức năng cần thiết cho công ty là điều cần thiết.
Trong giai đoạn này, các công ty lớn đã nhanh chóng áp dụng các phương thức quản lý hiện đại, nâng cao tính chuyên nghiệp và hiệu quả Điều này giúp họ tập trung nguồn lực trí tuệ vào việc phát triển các dự án có khả năng mang lại nguồn thu nhập lớn.
Công ty quản lý hiện đang áp dụng các phương pháp lưu trữ truyền thống, nhưng hiệu quả không cao và gặp khó khăn trong việc đảm bảo tính chính xác Điều này dẫn đến việc tiêu tốn thời gian và ảnh hưởng tiêu cực đến hiệu quả của dự án.
Trước tình hình đó, cần có những giải pháp cụ thể để nhanh chóng cải thiện kết quảquản lý chi tiêu hiệu quảcho công ty.
Phân tích ma trận SWOT về quản lý chi tiêu của công ty SoftWorld
B ả ng 2: Ma tr ậ n SWOT Điểm mạnh Điểm yếu
Công ty chúng tôi là một trong những đơn vị hàng đầu trong lĩnh vực phát triển công nghệ thông tin tại thành phố Huế, sở hữu đội ngũ nhân lực chất lượng cao, được đào tạo bài bản và có kỹ năng phát triển các phần mềm ứng dụng đáp ứng nhu cầu của khách hàng, đồng thời nhận được đánh giá tích cực từ thị trường.
Hiện nay, nhiều công ty tại thành phố Huế đã thiết lập hệ thống quản lý chi tiêu hiệu quả, giúp tiết kiệm thời gian và nhân lực Điều này cho phép các công ty vừa cạnh tranh trong việc thu hút khách hàng dự án, vừa quản lý nguồn lực và chi tiêu, từ đó ảnh hưởng tích cực đến năng suất làm việc.
Trường Đại học Kinh tế Huế
Công ty, nổi bật với chất lượng sản phẩm, hoàn toàn có khả năng tự phát triển phần mềm quản lý chi tiêu hiệu quả Việc này không chỉ giúp tiết kiệm chi phí, thời gian và công sức mà còn mở rộng hệ thống quản lý chi tiêu của công ty.
Hiện nay, quản lý vẫn gặp nhiều bất cập và hạn chế trong kiểm duyệt, do đó cần tăng cường sự sâu sát và nâng cao tính chuyên nghiệp trong quá trình xử lý Việc này không chỉ tiết kiệm thời gian mà còn giúp tập trung nhân lực vào việc phát triển và nâng cao chất lượng công ty.
Trường Đại học Kinh tế Huế
XÂY DỰNG PHẦN MỀM QUẢN LÝ CHI TIÊU CHO CÔNG TY
Xây dựng hệ thống phần mềm
Trong xu thế phát triển của công nghệ thông tin cùng với sự xuất hiện của
Internet đã có ảnh hưởng sâu rộng đến mọi lĩnh vực trong cuộc sống con người, tạo ra cả cơ hội và thách thức cho các công ty trong hoạt động kinh doanh Do đó, cần thiết phải xây dựng các giải pháp và chiến lược quản lý phù hợp với xu thế toàn cầu.
Để giải quyết tình hình hiện tại, bài viết đề xuất các giải pháp ứng dụng công nghệ thông tin vào quản lý chi tiêu của công ty, thông qua việc phát triển một phần mềm quản lý hiệu quả.
Quy trình quản lý chi tiêu thông qua phần mềm như sau:
Khi nhân viên truy cập phần mềm, họ cần đăng nhập bằng Email và mật khẩu đã đăng ký Nếu chưa có tài khoản, họ phải đăng ký làm thành viên bằng cách cung cấp các thông tin cần thiết như Email, mật khẩu, tên đăng nhập, mã văn phòng, mã vai trò và hoàn tất quá trình tạo tài khoản.
Nhân viên có quyền tham gia giao dịch chi tiêu chung tại văn phòng mà không cần sự phê duyệt của quản lý Để thực hiện bất kỳ giao dịch chi tiêu nào, nhân viên cần cung cấp đầy đủ thông tin như văn phòng, thời gian giao dịch, loại chi tiêu, tổng số tiền chi tiêu, đơn vị, trạng thái thanh toán, và trạng thái xét duyệt (mặc định là chưa xét duyệt cho tài khoản nhân viên), cùng với hóa đơn và biên lai.
(nếu có) Nếu không nhập đầy đủthông tin thì hệthống phần mềm sẽbáo lỗi.
Sau khi hoàn tất việc nhập thông tin giao dịch chi tiêu, giao dịch sẽ tự động được lưu vào danh sách báo cáo chi tiêu Nhân viên có thể kiểm tra và chỉnh sửa nếu phát hiện sai sót, sau đó cập nhật lại thông tin giao dịch Mỗi giao dịch sẽ
Trường Đại học Kinh tế Huế sẽ cập nhật trạng thái xét duyệt từ chưa xét duyệt sang đã duyệt nếu giao dịch được người quản lý thông qua đúng cách.
Mọi nhân viên đểcó thểthống kê danh sách chi tiêu theo ngày tháng, theo văn phòng, và theo tên loại giao dịch chi tiêu.
Hình 3.1: Quy trình quản lý chi tiêu
Phần mềm quản lý hỗ trợ nhân viên tham gia giao dịch chi tiêu chung tại văn phòng bằng cách cung cấp thông tin đầy đủ về các giao dịch Người dùng có thể đăng ký thành viên và quản lý tài khoản cá nhân, giúp dễ dàng tham gia giao dịch chi tiêu và theo dõi danh sách giao dịch trong công ty.
Phần mềm giúp người quản lý dễ dàng cập nhật thông tin nhân viên bằng cách cho phép xoá hoặc chỉnh sửa dữ liệu của nhân viên trong công ty, đồng thời quản lý các giao dịch hiệu quả.
Trường Đại học Kinh tế Huế cung cấp phần mềm quản lý giao dịch hoá đơn, cho phép lưu trữ và quản lý thông tin liên quan Phần mềm này còn có khả năng tổng hợp và thống kê các giao dịch chi tiêu thông qua báo cáo chi tiêu, giúp người dùng nắm bắt được các giao dịch đã thực hiện, tình trạng xét duyệt theo tháng, năm, văn phòng giao dịch hoặc theo loại giao dịch chi tiêu.
Yêu cầu phi chức năng
Phần mềm cung cấp mức độ truy cập ổn định và giao diện thân thiện, giúp người sử dụng dễ dàng thao tác và thực hiện các yêu cầu Thông tin trên phần mềm được đảm bảo về tính xác thực và bảo mật.
3.1.1.2 Phân tích các ch ức năng củ a ph ầ n m ề m
B ả ng 3.1: Ch ức năng đăng kí tài khoả n
Để đăng ký thành viên tham gia phần mềm, người dùng cần cung cấp các thông tin sau: email đăng nhập, mật khẩu, tên đăng nhập, mã văn phòng, mã văn trò và mã khoá.
Quá trình xửlý Kiểm tra tính hợp lệcủa form.
Kết nối cơ sở dữ liệu để kiểm tra tính hợp lệ và sự trùng lặp của thông tin người dùng từ form đăng ký Nếu phát hiện dữ liệu trùng lặp, hệ thống sẽ thông báo cho khách hàng và yêu cầu nhập lại thông tin Nếu không có sự trùng lặp, thông tin thành viên sẽ được lưu vào cơ sở dữ liệu và kết quả đăng ký sẽ được hoàn tất.
B ả ng 3 2: Ch ức năng đăng nhậ p
Mô tả Đăng nhập khi đã có tài khoản. Đầu vào Email đăngnhập, mật khẩu.
Quá trình xử lý kết nối cơ sở dữ liệu kiểm tra tính chính xác của thông tin, xác định xem thông tin đã bị khóa hay chưa Nếu thông tin không đúng, hệ thống sẽ yêu cầu người dùng nhập lại.
Trường Đại học Kinh tế Huế Đầu ra Kết quả đăng nhập.
B ả ng 3 3: Ch ức năng cậ p nh ậ t thông tin tài kho ả n
Mô tả Cập nhật thông tin tài khoản. Đầu vào Tài khoản cần cập nhật.
Thông tin cần thay đổi: email đăng nhập, mật khẩu, tên đăng nhập…
Quá trình xửlý Kiểm tra tính hợp lệcủa thông tin.
Cập nhật thông tin vào cơ sởdữliệu. Đầu ra Kết quảcập nhật.
B ả ng 3.4: Ch ức năng đăng xuấ t tài kho ả n
Mô tả Đăng xuất tài khoản. Đầu vào Thông tin tài khoản đang đăng nhập.
Quá trình xửlý Xoá khỏi phiên làm việc hiện tại. Đầu ra Vềlại trang đăng nhập.
B ả ng 3 5: Ch ức năng quản lí ngườ i dùng
Mô tả Quản lý thông tin chi tiết thông tin về người dùng. Đầu vào Thông tin người dùng.
Quá trình xửlý Lưu trữ thông tin người dùngvào cơ sởdữliệu. Đầu ra Thông tin người dùng đã lưu trữ.
B ả ng 3.6: Ch ức năng t ìm ki ế m
Mô tả Hiển thịthông tin liên quan đến nội dung mà người tìm kiếm nhập
Trường Đại học Kinh tế Huế vào. Đầu vào Thông tin cần tìm kiếm.
Quá trình xửlý Tìm kiếm thông tin trong cơ sở dữliệu. Đầu ra Kết quảtìm kiếm.
B ả ng 3.7: Ch ức năng quả n lý giao d ị ch chi tiêu
Mô tả Quản lý thông tin chi tiết thông tin vềcác giao dịch chi tiêu. Đầu vào Thông tin vềcác giao dịch chi tiêu.
Quá trình xửlý Lưu trữ thông tin giao dịch chi tiêu vào cơ sởdữliệu. Đầu ra Thông tin giao dịch chi tiêu đã lưu trữ.
B ả ng 3.8: Ch ức năng quả n lý lo ạ i chi tiêu
Mô tả Quản lý thông tin chi tiết thông tin vềcác loại giao dịch chi tiêu. Đầu vào Thông tin vềcác loại giao dịch chi tiêu.
Quá trình xửlý Lưu trữ thông tin loại giao dịch chi tiêu vào cơ sởdữliệu. Đầu ra Thông tin loại giao dịch chi tiêu đã lưu trữ.
B ả ng 3.9: Ch ứ c năng quả n lý văn ph òng
Quản lý thông tin chi tiết về các văn phòng giao dịch chi tiêu là rất quan trọng, vì đây là nơi diễn ra các giao dịch chi tiêu Thông tin đầu vào về các văn phòng giao dịch cần được cập nhật và quản lý một cách hiệu quả.
Quá trình xửlý Lưu trữ thông tin loại giao dịch chi tiêuliên quan đếnvăn phòng. Đầu ra Thông tin loạivăn phòng giao dịch chi tiêu đã lưu trữ.
B ả ng 3.10: Ch ức năng thố ng kê giao d ị ch chi tiêu
Trường Đại học Kinh tế Huế
Mô tả Thống kê danh sách giao dịch chi tiêu. Đầu vào Danh sách giao dịch chi tiêu.
Quá trình xửlý Kiểm tra giao dịch chi tiêu có trong hệthống. Đầu ra Danh sách các giao dịch chi tiêu.
3.1.2 Sơ đồchức năng (BFD- Business Function Diagram)
Sơ đồ chức năng là công cụ quan trọng để phân tích chức năng trong hệ thống, giúp mô tả sự phân chia các chức năng thành các phần nhỏ hơn Cấu trúc của nó được tổ chức theo hình cây, cho phép các phân tích viên hệ thống thực hiện quá trình đi từ tổng quát đến cụ thể, từ tổng hợp đến chi tiết.
Từmô tảbài toán và quá trình khảo sát phân tích các nghiệp vụcủa công ty ta có sơ đồ BFD như sau:
Thiết kế
3.2.1 Các tập thực thểvà thuộc tính tương ứng
Dựa trên việc phân tích hiện trạng, sơ đồ chức năng BFD và sơ đồ phân rã các mức, chúng tôi đã xác định được các thực thể cùng với các thuộc tính tương ứng.
+ Tập thực thể “Tài khoản”: Quản lí thông tin của người dùng đăng kí.
NGUOI DUNG (MaDangNhap, MatKhau, TenĐangNhap, MaVanPhong, MaVaiTro, MaKhoa).
+ Tập thực thể “Văn phòng”: Quản lí thông tin văn phòng giao dịch.
Trường Đại học Kinh tế Huế
+ Tập thực thể “Giaodịch chi tiêu”: Quản lí giao dịch chi tiêu.
GIAODICHCHITIEU (MaChiTieu, VanPhong, NamThang, TenChiTieu, TongChiTieu, DonVi, TrangThaiThanhToan, XetDuyet, HoaDon).
VANPHONG (MaVanPhong, TenVietTat, TenDayDu, DiaChi, SĐT, VanPhongChinh).
3.2.2 Mối quan hệgiữa các tập thực thể
- Giữa 2 tập thực thể “Giao dịch chi tiêu” và “Văn phòng” có mối quan hệ
Mối quan hệ 1 – n giữa giao dịch chi tiêu và văn phòng cho thấy mỗi giao dịch chỉ thuộc về một văn phòng duy nhất, trong khi mỗi văn phòng có thể thực hiện nhiều giao dịch chi tiêu khác nhau.
- Giữa 2 tập thực thể “Loại chi tiêu” và “Giao dịch chi tiêu” có mối quan hệ
Mối quan hệ "thuộc" giữa giao dịch chi tiêu và loại chi tiêu là mối quan hệ 1 – n, trong đó mỗi giao dịch chi tiêu có thể liên kết với 0 hoặc 1 loại chi tiêu duy nhất, trong khi mỗi loại chi tiêu có thể thuộc về nhiều giao dịch khác nhau.
- Giữa 2 tập thực thể “Giao dịch chi tiêu” và “Người dùng” có mối quan hệ
“Tham gia” Đây là mối quan hệ1 –n vì mỗi giao dịch chi tiêu chỉ có thểcó 0 hoặc 1
Người dùng duy nhất đại diện và mỗi người dùng đại diện có thểtham gia nhiều giao dịch chi tiêu.
Trường Đại học Kinh tế Huế
Giữa hai tập thực thể “Người dùng” và “Văn phòng” tồn tại mối quan hệ “Thuộc”, trong đó mỗi người dùng chỉ có thể thuộc về một văn phòng duy nhất hoặc không thuộc về văn phòng nào Ngược lại, mỗi văn phòng có thể có nhiều người dùng khác nhau.
3.2.3.Sơ đồthực thểmối quan hệ(ERD–Entity Relationship Diagram)
Sơ đồ3.9: Sơ đồthực thểmối quan hệERD 3.2.4 Chuẩn hóa cơ sởdữliệu
B ả ng 3.12: C ấ u trúc d ữ li ệ u b ả ng NGUOIDUNG
Thuộc tính Kiểu dữliệu Kích thước Diễn giải
MaDangNhap Varchar 50 Email đăng nhập
TenNguoiDung Varchar 50 Tên đăng nhập
Trường Đại học Kinh tế Huế
MaVanPhong Int 3 Mã văn phòng
MaVaiTro Int 1 Mã văn trò
TaoBoi Int 3 Tạo bởi ai
TaoLuc TimeStamp Tạo vào thời gian nào
CapNhatLuc Int 3 Cập nhật vào thời gian nào
CapNhatBoi TimeStamp Cập nhật bởi ai
CoXoa (del_flg) Int 1 Cờxóa
B ả ng 3.13: C ấ u trúc d ữ li ệ u b ả ng LOAICHITIEU
Thuộc tính Kiểu dữliệu Kích thước Diễn giải
MaChiTieu Int 3 Mã chi tiêu
NhomChiTieu Varchar 15 Nhóm chi tiêu
TaoBoi Int 3 Tạo bởi ai
TaoLuc TimeStamp Tạo vào thời gian nào
CapNhatLuc Int 3 Cập nhật vào thời gian nào
CapNhatBoi TimeStamp Cập nhật bởi ai
CoXoa (del_flg) Int 1 Cờxóa
B ả ng 3.14: C ấ u trúc d ữ li ệ u b ả ng GIAODICHCHITIEU
Thuộc tính Kiểu dữliệu Kích thước Diễn giải
VanPhong Int 3 Tên văn phòng
NamThang Int 6 Năm tháng giao dịch
MaChiTieu Int 3 Mã chi tiêu
Trường Đại học Kinh tế Huế
TongChiTieu Int 15 Tổng chi tiêu
TrangThaiThanhToan Int 1 Trạng thái thanh toán
TaoBoi Int 3 Tạo bởi ai
TaoLuc TimeStamp Tạo vào thời gian nào
CapNhatBoi Int 3 Cập nhật bởi ai
CapNhatLuc TimeStamp Cập nhật vào thời gian nào
CoXoa (del_flg) Int 1 Cờxoá
MaVanPhong Varchar 10 Mã văn phòng
MaDangNhap Varchar 50 Email đăng nhập
MaChiTieu Int 3 Mã chi tiêu
B ả ng 3.15: C ấ u trúc d ữ li ệ u b ả ng VANPHONG
Thuộc tính Kiểu dữliệu Kích thước Diễn giải
MaVanPhong Varchar 10 Mã văn phòng
TenNgan Varchar 100 Tên viết tắt
Ten Varchar 255 Tên văn phòng
SĐT Varchar 15 Số điện thoại
VanPhongChinh Int 1 Là văn phòng chính hay không
TaoBoi Int 3 Tạo bởi ai
Trường Đại học Kinh tế Huế
TaoLuc TimeStamp Tạo vào thời gian nào
CapNhatBoi Int 3 Cập nhật bởi ai
CapNhatLuc TimeStamp Cập nhật vào thời gian nào
CoXoa (del_flg) Int 1 Cờxóa
3.2.5 Lược đồquan hệcủa cơ sởdữliệu
Sơ đồ3.10: Lược đồ cơ sởdữliệu quan hệ 3.2.6 Đối chiếu tương ứng với từng bảng của phần mềm
Trường Đại học Kinh tế Huế
Hình 3.2 : Bảngngười dùngtương ứng với bảng m_user
Hình 3.3: Bảngvăn phòngứng với bảng m_office_info
Trường Đại học Kinh tế Huế
Hình 3.4: Bảng loại chi phítương ứng với bảng m_expense_type
Bảng báo cáo chi tiêu
Hình 3.5: Bảng báo cáo chitiêu tương ứng với bảng t_office_expense.
Giới thiệu phần mềm
Sau thời gian nghiên cứu về các hoạt động chi tiêu trong công ty, đề tàiđã xây dựng đượcphần mềmquản lý cho công tytại địachỉ: http://localhost:8080/Serp_Demo/
Dưới đây là giao diện của phần mềm:
Trường Đại học Kinh tế Huế
Giao diện trang đăng nhập:
Hình 3.6: Giao diện đăng nhập phần mềm quản lý chi tiêu.
Giao diện trang đăng ký cho phép người dùng mới nhập thông tin cần thiết để tạo tài khoản, bao gồm mã đăng nhập (email), mật khẩu, tên người dùng, mã văn phòng, mã vai trò và mã khóa Người dùng có vai trò quản lý có quyền thêm và chỉnh sửa thông tin của tất cả người dùng khác, trong khi người dùng không phải quản lý chỉ có thể chỉnh sửa thông tin cá nhân của mình Sau khi hoàn tất đăng ký, người dùng có thể đăng nhập và sử dụng phần mềm quản lý chi tiêu.
Trường Đại học Kinh tế Huế
Hình 3.7: Giao diện đăng kí phần mềm quản lý chi tiêu.
Giao diện trang chủ rất đơn giản và dễ sử dụng, bao gồm tên tài khoản đăng nhập và các danh mục Trong danh mục, người dùng có thể thêm mới dữ liệu và xem danh sách các loại dữ liệu tương ứng với từng bảng Ngoài ra, trang chủ còn cung cấp thống kê tổng số lượng qua các bảng, chẳng hạn như số lượng tài khoản trong bảng người dùng, số văn phòng tham gia giao dịch trong bảng văn phòng, và tổng số giao dịch chi tiêu đã được thực hiện, bao gồm cả các giao dịch đã kiểm duyệt và chưa kiểm duyệt, cùng với tổng số tiền của tất cả các giao dịch chi tiêu.
Trường Đại học Kinh tế Huế
Hình 3.8: Giao diện trang chủ.
Trường Đại học Kinh tế Huế
Giao diện trang người dùng bao gồm danh sách thông tin về người dùng như:
Phần mềm quản lý người dùng cho phép đăng nhập bằng email, mật khẩu, tên người dùng, mã văn phòng, mã vai trò và mã khóa Chức năng của phần mềm bao gồm thêm, sửa, xóa hoặc khóa tài khoản người dùng Người dùng có vai trò quản lý có quyền chỉnh sửa tất cả thông tin của các tài khoản, trong khi người dùng không phải quản lý chỉ có thể quản lý tài khoản của chính mình Ngoài ra, phần mềm hỗ trợ xuất danh sách người dùng thành file hoặc in ấn.
Hình 3.9: Giao diện chính trang người dùng.
Trường Đại học Kinh tế Huế
Hình 3.10: Giao diện thêm người dùng mới (với vai trò là quản lý).
Hình 3.11: Giao diện cập nhật thông tin người dùng (với vai trò là quản lý).
Trường Đại học Kinh tế Huế
Hình 3.13: Giao diện thêmngười dùng mới (với vai trò là nhân viên).
Hình 3.14: Giao diện cập nhật chính thông tinngười dùngđó(với vai trò là nhân viên).
Trường Đại học Kinh tế Huế
Hình 3.15: Giao diện xóa người dùng.
Hình 3.16: Giao diện lọc người dùng.
Giao diện trang văn phòng bao gồm danh sách thông tin về văn phòng như:
Phần mềm quản lý văn phòng cho phép người dùng nhập mã văn phòng, tên viết tắt, tên đầy đủ và địa chỉ, đồng thời xác định xem đó có phải là văn phòng chính hay không Người dùng có thể dễ dàng thêm văn phòng mới, chỉnh sửa thông tin hoặc xóa văn phòng khỏi danh sách thông qua các tùy chọn trong giao diện Để thêm mới, chỉ cần điền thông tin vào form, trong khi việc chỉnh sửa và xóa được thực hiện qua các mục tương ứng.
Trường Đại học Kinh tế Huế phần mềm còn có thể tìm kiếm theo tên và xuất được danh sách bảng thành các file hoặc inấn.
Hình 3.17: Giao diện trang văn phòng.
Hình 3.18: Giao diện tạovăn phòng mới.
Trường Đại học Kinh tế Huế
Hình 3.19: Giao diện cập nhật thông tin.
Hình 3.20: Giao diệnxóa văn phòng.
Giao diện trang loại chi tiêu
Giao diện trang loại chi tiêu bao gồm danh sách thông tin vềloại chi tiêunhư:
Phần mềm cho phép người dùng quản lý mã chi tiêu, nhóm chi tiêu và tên chi tiêu một cách dễ dàng Người dùng có thể thêm loại chi tiêu mới, chỉnh sửa thông tin hoặc xóa loại chi tiêu khỏi danh sách bằng cách sử dụng các chức năng tương ứng Để thêm mới, chỉ cần điền thông tin vào form, trong khi chỉnh sửa hoặc xóa có thể thực hiện thông qua các tùy chọn đã được cung cấp.
Trường Đại học Kinh tế Huế
Hình 3.21: Giao diện trang loại chi tiêu.
Hình 3.22: Giao diện tạo loại chi tiêu mới.
Trường Đại học Kinh tế Huế
Hình 3.23: Giao diện cập nhật thông tin loại chi tiêu.
Hình 3.24: Giao diện xóa loại chi tiêu.
Giao diện trang giao dịch chi tiêu
Giao diện trang giao dịch chi tiêu hiển thị thông tin chi tiết như văn phòng, thời gian giao dịch, tên chi tiêu, tổng chi phí, đơn vị tiền tệ, trạng thái thanh toán, xét duyệt, hóa đơn và biên lai Người dùng có thể dễ dàng thêm mới giao dịch bằng cách điền thông tin vào form Phần mềm cũng hỗ trợ tìm kiếm theo tên và xuất danh sách thành file hoặc in ấn.
Trường Đại học Kinh tế Huế
Hình 3.25: Giao diện trang giao dịch chi tiêu.
Giao diện trang báo cáo chi tiêu
Giao diện báo cáo chi tiêu cung cấp thông tin chi tiết về giao dịch, bao gồm tháng năm chi tiêu, tổng chi tiêu, hóa đơn, trạng thái thanh toán và xét duyệt Người dùng có thể lọc danh sách và tìm kiếm theo ngày tháng năm, tên văn phòng, hoặc tên chi tiêu Phần mềm cũng cho phép xuất danh sách thành file hoặc in ấn.
Hình 3.26: Giao diện trang báo cáo chi tiêu.
Trường Đại học Kinh tế Huế
Hình 3.27: Giao diện thốngkê theo ngày tháng, văn phòng và tên loại chi tiêu.
Hình 3.28: Giao diện xuất file báo cáo.
Trường Đại học Kinh tế Huế