Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển và ứng dụng sâu rộng vào mọi hoạt động quản lý của xã hội, công tác quản lý tài chính và tiền lương đóng vai trò thiết yếu tại các cơ quan, tổ chức và doanh nghiệp. Việc tính toán lương đòi hỏi phải xử lý khối lượng dữ liệu lớn, nhiều tham số phức tạp trong thời gian ngắn và đảm bảo độ chính xác cao. Trên thực tế, phần mềm bảng tính thương mại Microsoft Excel đang được sử dụng phổ biến nhưng đòi hỏi chi phí bản quyền cao và vận hành chủ yếu trên các hệ điều hành độc quyền.
Khóa luận đặt vấn đề nghiên cứu và ứng dụng giải pháp thay thế dựa trên nền tảng mã nguồn mở nhằm tối ưu hóa chi phí và đảm bảo tính chủ động trong quản trị hệ thống. Cụ thể, đề tài tập trung vào công cụ bảng tính OpenOffice.org Calc vận hành trên hệ điều hành Ubuntu.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài gồm:
- Tổng quan hóa cơ sở lý thuyết về phần mềm nguồn mở, hệ điều hành Ubuntu và bộ phần mềm văn phòng OpenOffice.org.
- Phân tích chi tiết cấu trúc, kiểu dữ liệu, hệ thống hàm và cơ chế hoạt động của OpenOffice.org Calc; đồng thời so sánh đối chiếu toàn diện giữa Calc và Microsoft Excel.
- Thiết kế và ứng dụng mô hình bảng tính tự động hóa bài toán quản lý và tính lương nhân viên trên môi trường OpenOffice.org Calc.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng: Hệ điều hành nguồn mở Ubuntu, bộ ứng dụng OpenOffice.org (trọng tâm là phần mềm bảng tính Calc) và quy trình quản trị, tính toán tiền lương nhân viên.
- Phạm vi: Không gian nghiên cứu tập trung vào hệ thống ứng dụng văn phòng trên máy tính cá nhân; phạm vi nghiệp vụ bao quát các cấu phần tính lương bao gồm hệ số lương cơ bản, hệ số chức vụ, hệ số chuyên môn nghiệp vụ, phí công đoàn, bảo hiểm và thuế thu nhập cá nhân (TNCN).
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên các khung lý thuyết và nguyên lý kỹ thuật sau:
- Khái niệm Phần mềm Nguồn mở (Open Source Software - OSS): Phần mềm có mã nguồn được công bố công khai theo các điều kiện cấp phép tự do. Khung phân tích tập trung vào mô hình bảo mật "bảo mật nhờ mở" (nguyên lý cộng đồng "Four eyes see more than two eyes" - đông tay vỗ nên kêu), tính tương thích, hiệu năng vận hành và mô hình Tổng chi phí sở hữu (Total Cost of Ownership - TCO).
- Hệ điều hành Ubuntu và nhân Linux: Nền tảng phân phối phát triển từ nhánh Debian Linux, sử dụng môi trường Desktop GNOME (và Unity từ bản 11.04), kiến trúc phân quyền quản trị nhằm bảo vệ hệ thống trước virus và mã độc.
- Cấu trúc bảng tính điện tử: Lý thuyết cấu trúc bảng tính với các khái niệm Workbook (tập tin bảng tính định dạng
.ods), Sheet (trang tính), Cell (ô tính hình thành từ giao điểm của cột và hàng), cùng các quy tắc tham chiếu địa chỉ (tương đối, tuyệt đối, hỗn hợp) và thứ tự ưu tiên xử lý toán tử.
Phương pháp nghiên cứu được tác giả áp dụng:
- Phương pháp phân tích và tổng hợp tài liệu: Thu thập, hệ thống hóa tài liệu kỹ thuật về phần mềm nguồn mở, các phiên bản Ubuntu và tài liệu hướng dẫn chuẩn của OpenOffice.org.
- Phương pháp so sánh đối chiếu: So sánh trực diện giữa hệ điều hành Ubuntu và Microsoft Windows; phân tích đối chiếu chuyên sâu giữa OpenOffice.org Calc và Microsoft Excel trên các khía cạnh cú pháp hàm, phân cách tham số, DataPilot/PivotTable, bộ lọc AutoFilter, công thức mảng và hệ thống phím tắt.
- Phương pháp mô hình hóa và thiết kế bảng tính: Xây dựng cấu trúc dữ liệu gồm các bảng chính (bảng chi tiết lương, bảng lương nhân viên, phiếu lương) và hệ thống bảng phụ định mức để thực hiện các phép tính tự động.
Nguồn dữ liệu của đề tài bao gồm tài liệu kỹ thuật của dự án Ubuntu, tài liệu đặc tả của OpenOffice.org, và hệ thống tham số tính lương (hệ số lương, mức đóng bảo hiểm, phí công đoàn, biểu thuế TNCN).
Nội dung chính theo từng chương
Chương 1: Tổng quan về Phần Mềm Nguồn Mở
Chương 1 trình bày khái niệm mã nguồn mở cùng việc đánh giá khách quan hai mặt lợi ích và hạn chế của mô hình phần mềm này.
Về mặt ưu điểm, phần mềm nguồn mở mang lại:
- Bảo mật nhờ mở: Khả năng kiểm tra mã nguồn giúp phát hiện lỗi nhanh, rút ngắn chu kỳ phát hành bản vá (patch) và giảm nguy cơ bị tấn công.
- Tính tương thích và hiệu năng: Cho phép tùy biến không giới hạn để phù hợp nhu cầu, hạn chế tối đa việc phụ thuộc vào một nhà cung cấp độc quyền khi xảy ra rủi ro phá sản.
- Chi phí: Tiết kiệm chi phí bản quyền mua mới ban đầu, tối ưu hóa tổng chi phí sở hữu (TCO) trong dài hạn.
Về mặt hạn chế, chương này chỉ rõ: sự đa dạng quá mức gây phức tạp cho người dùng mới; sự phân nhánh mã nguồn có thể gây dư thừa và lãng phí nguồn lực; sự thiếu hụt ứng dụng ở một số lĩnh vực chuyên biệt; giao diện người dùng và tiện ích đôi khi chưa được tối ưu hóa như các phần mềm thương mại.
Chương 1 cũng điểm qua các sản phẩm nguồn mở tiêu biểu:
- Hệ điều hành: Linux, FreeBSD, OpenBSD, NetBSD, Darwin.
- Dịch vụ Internet: Máy chủ web Apache (chiếm hơn 50% thị phần máy chủ web toàn cầu tại thời điểm nghiên cứu), hệ thống tên miền BIND, trình chuyển tiếp email sendmail, trình duyệt Mozilla, giao thức bảo mật OpenSSL.
- Công cụ lập trình: Các ngôn ngữ Perl, PHP, Python, Ruby, Tcl/Tk và bộ công cụ biên dịch GNU (GCC, Make, Autoconf, Automake).
Chương 2: Tìm hiểu về Hệ điều hành Ubuntu và bộ OpenOffice
Chương 2 phân tích lịch sử hình thành của Ubuntu từ ngày 20/10/2004 do Mark Shuttleworth và nhóm Warthogs khởi xướng trên nền Debian Linux. Triết lý của Ubuntu xuất phát từ ngôn ngữ Bantu ("Humanity to others"). Ubuntu duy trì chu kỳ phát hành định kỳ 6 tháng một lần và phát hành phiên bản hỗ trợ dài hạn (LTS) mỗi 2 năm một lần (hỗ trợ 3 năm cho bản desktop và 5 năm cho bản server). Các biến thể chính thức gồm có Kubuntu (giao diện KDE), Edubuntu (dành cho giáo dục), Xubuntu (giao diện Xfce nhẹ) và Gobuntu (thuần phần mềm tự do).
Chương này phân biệt rõ sự khác nhau giữa Ubuntu và Microsoft Windows: chi phí miễn phí so với thương mại; cơ chế bảo mật khóa mặc định người dùng root; dữ liệu người dùng được quy hoạch tập trung trong thư mục /home; cài đặt thông qua Live-CD, Synaptic Package Manager, Software Center và dòng lệnh (apt-get, aptitude).
| Nhóm ứng dụng |
Phần mềm trên Ubuntu |
Phần mềm tương ứng trên Microsoft Windows |
| Duyệt Web và Email |
Trình duyệt Firefox, Trình quản lý email Evolution |
Trình duyệt Internet Explorer, Trình quản lý email Outlook Express |
| Xử lý văn bản |
Bộ OpenOffice.org |
WordPad |
| Giải trí đa phương tiện |
Sound Juicer, Rhythmbox, Serpentine, Movie Player, Sound Recorder |
Windows Media Player, Windows Media Center |
| Quản lý & hiệu chỉnh ảnh |
F-Spot, GIMP |
Picture Gallery, Paint |
Chương 2 giới thiệu 6 thành phần chính trong bộ OpenOffice.org (tiền thân từ StarOffice):
- OpenOffice.org Writer: Phần mềm soạn thảo văn bản, định dạng mặc định OASIS ODF 1.1, đọc/ghi tệp DOC, DOCX, RTF, XHTML và xuất bản trực tiếp ra PDF.
- OpenOffice.org Calc: Phần mềm bảng tính hỗ trợ macro bằng OpenOffice.org Basic, hỗ trợ 1024 cột từ phiên bản 3.0.
- OpenOffice.org Impress: Phần mềm trình chiếu, hỗ trợ xuất định dạng SWF (Flash) và PDF, đọc/ghi tệp PPT.
- OpenOffice.org Base: Hệ quản trị cơ sở dữ liệu tích hợp động cơ HSQL, kết nối được với MySQL, PostgreSQL, MS Access qua JDBC/ODBC.
- OpenOffice.org Draw: Biên tập đồ họa vector hỗ trợ kích thước bản vẽ lên đến 300 cm × 300 cm, tích hợp đường nối thông minh (smart connector).
- OpenOffice.org Math: Soạn thảo và chỉnh sửa công thức toán học, tương tự Microsoft Equation Editor.
Chương 3: Ứng dụng OpenOffice.org Calc trong bài toán quản lý lương
Chương 3 đi sâu vào chi tiết kỹ thuật của phần mềm Calc và bài toán ứng dụng thực tế.
Cấu trúc bảng tính và kiểu dữ liệu trong Calc
- Màn hình làm việc gồm: Thanh tiêu đề (Title Bar), Thanh trình đơn (Menu Bar), Thanh công cụ chuẩn và định dạng, Thanh công thức (Formula Bar), Thanh thẻ trang tính (Sheet Bar), Thanh trạng thái (Status Bar).
- Bảng tính gồm 65.536 hàng (đánh số từ 1 đến 65536) và 256 cột (đánh nhãn từ A, B... đến IV), tạo ra tổng cộng 16.777.216 ô tính.
- Mỗi tập tin Workbook (
.ods) có thể chứa từ 1 đến 255 sheet (mặc định tạo sẵn 3 sheet: Sheet1, Sheet2, Sheet3).
- Các loại địa chỉ: Địa chỉ tương đối (
A1), địa chỉ tuyệt đối ($A$1), địa chỉ hỗn hợp ($A1 hoặc A$1). Tổ hợp phím chuyển đổi nhanh giữa các loại địa chỉ là Shift + F4.
- Bốn kiểu dữ liệu cơ bản:
- Kiểu chuỗi/văn bản (Text): Tối đa 255 ký tự/ô, mặc định căn trái; các chuỗi dạng số nhập dấu nháy đơn (
') ở đầu.
- Kiểu số (Number): Mặc định căn phải.
- Kiểu ngày giờ (Date/Time): Quy ước nhập theo Control Panel (thông thường
MM/DD/YY), nếu sai quy chuẩn sẽ tự động chuyển sang dạng chuỗi.
- Kiểu công thức (Formula): Bắt đầu bằng dấu
=. Thứ tự ưu tiên toán tử trong Calc: ưu tiên các phép toán so sánh/logic trước, sau đó tới toán tử số học theo thứ tự: (1) Đảo dấu - $\rightarrow$ (2) Phần trăm % $\rightarrow$ (3) Lũy thừa ^ $\rightarrow$ (4) Nhân và chia *, / $\rightarrow$ (5) Cộng và trừ +, - $\rightarrow$ (6) Nối chuỗi & $\rightarrow$ (7) So sánh logic (=, >, <, >=, <=, <>).
So sánh chuyên sâu giữa OpenOffice Calc và Microsoft Excel
| Tiêu chí so sánh |
OpenOffice.org Calc |
Microsoft Excel |
| Dấu phân cách tham số |
Luôn luôn sử dụng dấu chấm phẩy (;) |
Sử dụng dấu phẩy (,) hoặc chấm phẩy (;) tùy hệ thống |
| Thuật ngữ toàn bộ tệp |
Bảng tính (Spreadsheet) |
Sổ làm việc (Workbook) |
| Thuật ngữ trang tính con |
Trang tính (Sheet) |
Bảng công tác (Worksheet) |
| Thông dịch chuỗi chứa số |
Ô định dạng văn bản chứa ký tự "1" khi tính =A1+1 trả về kết quả là 1 (coi chuỗi là 0) |
Ô định dạng văn bản chứa ký tự "1" khi tính =A1+1 tự động ép kiểu trả về 2 |
| Số sheet tối đa |
256 sheet |
32.768 sheet |
| Tham chiếu tên sheet |
Cú pháp =$Bảng2!$A$1 hoặc =Bảng2!$A$1 (sao chép sang sheet khác sẽ tự trỏ tới sheet tiếp theo) |
Cú pháp =Sheet2!A1 (cố định tên sheet khi sao chép giữa các sheet) |
| Tham số tùy chọn bỏ trống |
Báo lỗi Err:511 nếu để trống liên tiếp (ví dụ =PV(0.05;10;100;;1) bị lỗi; giải pháp: phải điền số 0) |
Cho phép để trống tham số tùy chọn (ví dụ =PV(0.05,10,100,,1) trả về kết quả) |
| Hàm ToolPak |
Thêm hậu tố _ADD vào tên hàm (ví dụ EFFECT_ADD, CONVERT_ADD) |
Tên hàm nguyên bản không có hậu tố _ADD |
| Hàm không hỗ trợ |
Không có hàm INFO, GETPIVOTDATA; có hàm ARABIC |
Có hàm INFO, GETPIVOTDATA; không có hàm ARABIC |
| Công cụ DataPilot vs PivotTable |
Giới hạn tối đa 8 trường trong các vùng dữ liệu, dòng, cột; không hỗ trợ trực tiếp PivotChart |
Hỗ trợ nhiều trường hơn, hỗ trợ PivotChart tích hợp |
| Phím tắt sửa chú thích |
Ctrl + F1 |
Shift + F2 |
| Phím tắt chuyển tham chiếu |
Shift + F4 |
F4 |
| Phím tắt chèn hàm |
Ctrl + F2 |
Không có phím chuẩn tương đương |
| Phím tắt mở Navigator |
F5 |
F5 dùng cho lệnh "Go To" |
Chương này cũng phân tích việc sử dụng Biểu thức chính quy (Regular Expressions) trong bộ lọc Tự động lọc (AutoFilter) của Calc:
| Lệnh tùy chỉnh tương đương trong Excel |
Điều kiện lọc bằng Biểu thức chính quy trong Calc |
| Bắt đầu với $x$ |
= ^x.* |
| Không bắt đầu với $x$ |
<> ^x.* |
| Kết thúc bằng $x$ |
= .*x$ |
| Kết thúc không bằng $x$ |
<> .*x$ |
Ngoài ra, tác giả trình bày cú pháp liên kết dữ liệu ngoài:
- Liên kết giữa các tập tin bảng tính:
'file:///home/hillview/Documents/Tests/Address.ods'#$Sheet1.A1 trên Linux hoặc 'file:///C:/Documents/Tests/Address.ods'#$Sheet1.A1 trên Windows.
- Liên kết dữ liệu HTML từ Internet qua
Insert > Link to External Data.
- Liên kết nguồn cơ sở dữ liệu thông qua cửa sổ Data Source Viewer (
F4).
Thiết kế và triển khai
Hệ thống tính lương nhân viên bằng OpenOffice.org Calc được thiết kế gồm 3 sheet chính và các bảng phụ tham chiếu định mức:
-
Cấu trúc các sheet làm việc chính:
- Sheet 1 (Bảng chi tiết lương): Chứa các cột thông tin: Số thứ tự (STT), Họ và tên, Chức vụ, Học hàm/Học vị, Lương cơ bản, Tổng hệ số, Ký nhận, Ghi chú.
- Sheet 2 (Bảng lương nhân viên): Bảng tổng hợp thu nhập, tính toán chi tiết các khoản phụ cấp và các khoản trích nộp theo lương.
- Sheet 3 (Phiếu lương nhân viên): Biểu mẫu trích xuất thông tin thu nhập thực lĩnh của từng nhân viên để phục vụ công tác thanh toán và đối chiếu cá nhân.
-
Hệ thống các bảng phụ tham chiếu dữ liệu:
- Bảng phụ 1 (trang 53): Hệ số lương cơ bản theo ngạch, bậc.
- Bảng phụ 2 (trang 54): Hệ số lương chức vụ quản lý.
- Bảng phụ 3 (trang 54): Hệ số chuyên môn nghiệp vụ.
- Bảng 6: Bảng tỷ lệ trích nộp Phí công đoàn.
- Bảng 7: Bảng trích nộp Bảo hiểm (BHXH, BHYT, BHTN).
- Bảng 8 (trang 56): Bảng bậc và mức biểu thuế Thuế thu nhập cá nhân (TNCN).
-
Quy trình tính toán và kiểm soát dữ liệu:
- Sử dụng địa chỉ tuyệt đối (ký hiệu
$) để cố định các vùng tham chiếu đến bảng phụ hệ số và tỷ lệ trích đóng bảo hiểm.
- Thiết lập công thức logic và hàm tìm kiếm để liên kết dữ liệu giữa Bảng chi tiết lương và các Bảng phụ.
- Cấu hình vùng in ấn trang tính thông qua
Format > Print Area > Modify và View > Page Break Preview nhằm phục vụ xuất phiếu lương và bảng lương ra giấy hoặc định dạng PDF.
Kết quả và đóng góp
Khóa luận đạt được các kết quả cụ thể:
- Hệ thống hóa toàn bộ kiến thức nền tảng về phần mềm nguồn mở, hệ điều hành Ubuntu và bộ công cụ văn phòng OpenOffice.org bằng tiếng Việt.
- Xây dựng bảng đối chiếu kỹ thuật chi tiết giữa OpenOffice Calc và Microsoft Excel, chỉ ra các điểm khác biệt then chốt về cú pháp dấu chấm phẩy (
;), cơ chế xử lý chuỗi văn bản dạng số, công thức mảng và danh mục phím tắt.
- Triển khai thành công ứng dụng bảng tính quản lý lương hoàn chỉnh gồm 3 sheet chức năng liên kết với 6 bảng phụ tham chiếu, đáp ứng yêu cầu tính lương tự động cho nhân viên.
Về mặt đóng góp thực tiễn, đề tài chứng minh tính khả thi của việc thay thế phần mềm thương mại độc quyền bằng phần mềm mã nguồn mở miễn phí trong công tác quản lý tài chính - văn phòng, giúp các đơn vị cắt giảm chi phí đầu tư phần mềm ban đầu và duy trì tính an toàn bảo mật trên hệ điều hành Ubuntu.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận ghi nhận các hạn chế kỹ thuật:
- Đề tài nghiên cứu trên phiên bản OpenOffice.org với giới hạn kích thước bảng tính 256 cột và tối đa 256 sheet; công cụ DataPilot bị giới hạn trong phạm vi 8 trường dữ liệu và chưa tích hợp trực tiếp PivotChart.
- Thao tác chuyển đổi chuỗi văn bản thành cột (Text to Columns) hoặc công cụ giải bài toán tối ưu (Solver) chưa được tích hợp mặc định hoàn chỉnh mà phải sử dụng các macro và phần mở rộng bên ngoài.
Hướng phát triển tiếp theo được đề xuất:
- Mở rộng ứng dụng trên các phiên bản mới của bộ phần mềm văn phòng nguồn mở và giao diện Unity của Ubuntu.
- Tự động hóa nâng cao quy trình nghiệp vụ bằng cách lập trình macro với ngôn ngữ OpenOffice.org Basic hoặc kết nối trực tiếp bảng tính Calc với hệ quản trị cơ sở dữ liệu OpenOffice.org Base thông qua kết nối JDBC/ODBC.
Giá trị tham khảo
Tài liệu là nguồn tham khảo hữu ích cho:
- Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin quản lý: Nắm bắt quy trình xây dựng giải pháp tin học hóa văn phòng trên nền tảng Linux/Ubuntu và bộ phần mềm mã nguồn mở.
- Cán bộ quản lý nhân sự, kế toán tiền lương: Tham khảo mẫu bảng tính lương đa thành phần và quy tắc chuyển đổi công thức từ Excel sang OpenOffice Calc mà không bị gián đoạn công việc.
- Phần đáng tham khảo nhất: Mục 3.3 (So sánh Calc với Excel) với các bảng tổng hợp chi tiết về phím tắt, biểu thức chính quy trong lọc dữ liệu và các lưu ý về lỗi cú pháp tham số.
Câu hỏi thường gặp
1. Điểm khác biệt cơ bản nhất về cú pháp tham số trong hàm giữa OpenOffice Calc và Microsoft Excel là gì?
Calc luôn bắt buộc dùng dấu chấm phẩy (;) để ngăn cách các tham số trong một hàm, trong khi Excel có thể dùng dấu phẩy (,) hoặc chấm phẩy (;) tùy thuộc vào thiết lập hệ điều hành và ngôn ngữ.
2. OpenOffice.org Calc quy định giới hạn về số cột, số hàng và số trang tính (sheet) như thế nào?
Bảng tính trong Calc có tối đa 65.536 hàng, 256 cột (từ cột A đến cột IV), tổng cộng 16.777.216 ô tính; một tập tin Workbook có thể chứa từ 1 đến 255 sheet (trong khi Excel hỗ trợ tới 32.768 sheet).
3. Khi một ô chứa định dạng văn bản (Text) nhưng mang giá trị số (ví dụ ô A1 chứa ký tự "1"), phép tính =A1+1 trong Calc và Excel cho kết quả khác nhau như thế nào?
Trong Excel, công thức =A1+1 sẽ tự động ép kiểu chuỗi thành số và trả về kết quả là 2. Trong Calc, ô định dạng văn bản được coi là giá trị 0, do đó kết quả trả về là 1.
4. Khi sử dụng hàm có các tham số tùy chọn ở cuối danh sách trong Calc, người dùng cần xử lý như thế nào để không bị báo lỗi Err:511?
Người dùng không được để trống liên tiếp các dấu chấm phẩy phân cách tham số (như =PV(0.05;10;100;;1) sẽ báo lỗi Err:511), mà phải điền giá trị tường minh (ví dụ điền số 0 vào vị trí tham số bị khuyết).
5. Mô hình quản lý và tính lương nhân viên trong đề tài được phân chia thành những bảng tính nào?
Hệ thống gồm 3 sheet chính (Bảng chi tiết lương, Bảng lương nhân viên, Phiếu lương nhân viên) cùng các bảng phụ tham chiếu định mức: Bảng phụ 1 (Hệ số lương cơ bản), Bảng phụ 2 (Hệ số lương chức vụ), Bảng phụ 3 (Hệ số chuyên môn nghiệp vụ), Bảng Phí công đoàn, Bảng bảo hiểm và Bảng thuế TNCN.
Kết luận
Khóa luận đã nghiên cứu và hệ thống hóa toàn diện cơ sở lý thuyết về phần mềm nguồn mở, hệ điều hành Ubuntu và bộ phần mềm OpenOffice.org. Tác giả đã phân tích sâu sắc các đặc tính kỹ thuật của OpenOffice.org Calc, thiết lập bảng so sánh chi tiết với Microsoft Excel về cấu trúc, hàm và phím tắt. Đề tài ứng dụng thành công công cụ Calc để xây dựng hệ thống bảng tính quản lý và tính lương nhân viên gồm 3 sheet chính và 6 bảng phụ định mức, mang lại giải pháp thay thế hiệu quả và tiết kiệm chi phí bản quyền cho các tổ chức, doanh nghiệp.