- Yêu cầu về tính bảo mật: Tính bảo mật của sản phẩm có thể căn cứ vào vào các tiêu thức sau: Khả năng phân quyền sử dụng cho người dùng: Phần mềm nên có chức năng chophép những người
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số liệu, kếtquả nêu trong luận văn/đồ án tốt nghiệp là trung thực, xuất phát từ tình hình thực
tế của đơn vị thực tập
Sinh viên
(Ký và ghi rõ họ tên)
Trang 3
MỤC LỤC
Trang
Trang bìa……… i
Lời cam đoan……… ii
Mục lục……… iii
Danh mục các chữ viết tắt………iv
Danh mục các bảng……… v
Danh mục các hình……… vi
PHẦN MỞ ĐẦU……… 1
Chương 1: LÝ LUẬN CHUNG VỀ XÂY DỰNG PHẦN MỀM KẾ TOÁN TIỀN LƯƠNG
1.1 Nhận thức chung về phần mềm kế toán
1.1.1 Khái niệm, đặc điểm của phần mềm kế toán
1.1.2 Yêu cầu đối với một kế toán hiện nay
1.1.3 Quy trình xây dựng phần mềm kế toán
1.1.3.1 Khảo sát hiện trạng và lập kế hoạch dự án
1.1.3.2 Phân tích hệ thống
1.1.3.3 Thiết kế hệ thống
1.1.3.4 Lập trình
1.1.3.5 Kiểm thử
1.1.3.6 Cài đặt, bảo hành và bảo trì
1.1.4 Các công cụ tin học sử dụng để xây dựng phần mềm kế toán
1.1.4.1 Hệ quản trị cơ sở dữ liệu
1.1.4.2 Ngôn ngữ lập trình
1.1.4.3 Công cụ tạo báo cáo
1.2 Nhận thức chung về kế toán tiền lương
1.2.1 Chức năng, nhiệm vụ của kế toán tiền lương
1.2.2 Hình thức tiền lương, quỹ tiền lương, và các khoản trích theo lương
1.2.2.1 Các hình thức trả lương
Trang 41.2.2.2 Quỹ tiền lương và cách tích tiền lương
1.2.3 Kế toán tổng hợp tiền lương và các khoản trích theo lương
2.1 Khái quát về Ngân hàng TMCP Quốc Dân NCB
2.1.1 Giới thiệu về ngân hàng
2.1.2 Sơ đồ cơ cấu bộ máy quản lý ngân hàng
2.2 Hiện trạng hệ thống thông tin kế toán tiền lương tại ngân hàng
2.2.1 Tổ chức bộ máy kế toán tại ngân hàng
2.2.2 Hệ thống tài khoản kế toán
2.2.3 Các tham số sử dụng để tính lương tại ngân hàng
2.2.4 Công thức tính lương Thu nhập tai ngân hàng
2.2.5 Các chứng từ và sổ kế toán sử dụng
2.2.6 Quy trình tính lương tại ngân hàng
2.2.7 Tình hình ứng dụng công nghệ thông tin tại ngân hàng
2.3 Đánh giá hiện trạng và biên pháp khắc phục
Trang 52.3.8 Tình hình áp dụng công nghệ thông tin tại ngân hàng
Chương 3: XÂY DỰNG PHẦN MỀM KẾ TOÁN TIỀN LƯƠNG TẠI NGÂN HÀNG TMCP QUỐC DÂN CHI NHÁNH LÁNG HẠ
3.1 Phân tích hệ thống
3.1.1 Mục tiêu của hệ thống
3.1.2 Mô tả bài toán và xác địng yêu cầu
3.1.3 Phân tích yêu cầu
3.1.4 Dữ liệu và thông tin ra
3.2 Mô hình chức năng nghiệp vụ của hệ thống
3.3 Mô hình khái niệm logic
3.3.1 Biểu đồ luồng dữ liệu mức 0
3.3.2 Biểu đồ luồng dữ liệu mức 1
3.3.2.1 Biểu đồ luồng dữ liệu của tiến trình “ cập nhật thông tin lương”
3.3.2.2 Biểu đồ luồng dữ liệu mức 1 của tiến trình” tính lương”
3.3.2.3 Biểu đồ luồng dữ liệu mức 1 của tiến trình” lập báo cáo”
Trang 63.4.1.2 Chuyển các kiểu liên kết
3.4.1.3 Xác định các phụ thuộc hàm
3.4.1.4 Chuẩn hóa các lược đồ quan hệ
3.4.1.5 Tách các lược đồ quan hệ
3.4.2 Mô hình quan hệ
3.4.3 Thiết kế cơ sở dữ liệu vật lý
3.5 Xây dựng phần mềm kế toán tiền lương tại ngân hàng TMCP Quốc Dân chi nhánh Láng Hạ
3.5.1 Môi trường cài đặt
3.5.2 Giao diện chương trình
3.5.2.1 Giao diện thông tin nhân viên
3.5.2.2 Giao diện danh sách phòng ban
3.5.2.3 Giao diện chấm công tháng
3.5.2.4 Giao diện danh sách khen thưởng- kỷ luật
Trang 7DANH MỤC VIẾT TẮT
BCĐKT: Bảng cân đối kế toán
BHYT: Bảo hiểm y tế
BHNT: Bảo hiểm nhân thọ
BHXH: Bảo hiểm xã hội
CSDL: Cơ sở dữ liệu
NVKT: Nhân viên kế toán
NCB : Ngân hàng thương mại cổ phần Quốc Dân (National Citizen CommercialJoint Stock Bank)
NVU: Nghiệp vụ
KPCĐ: Kinh phí công đoàn
FRX: Báo cáo của Foxpro
TMCP: Thương mại cổ phần
TSCĐ: Tài sản cố định
Trang 8
DANH MỤC CÁC BẢNG
Tran g
Bảng
Bảng 2.1 Bảng tỷ lệ các khoản trích nộp các khoản bảo hiểm
Trang 9
DANH MỤC CÁC HÌNH
Trang
Hình
Hình 1.1 Mô hình hoạt động của phần mềm kế toán
Hình 2.1 Sơ đồ bộ máy của Ngân hàng
Hình 2.3: Trình tự ghi sổ kế toán theo hình thức kế toán nhật ký chung
Trang 10PHẦN MỞ ĐẦU
Cùng với sự phát triển vượt bậc của khoa học kỹ thuật, tin học ngày càng trởthành một lĩnh vực quan trọng, thiết yếu trong thời đại ngày nay Bất cứ một lĩnhvực nào trong cuộc sống người ta cũng đều phải ứng dụng tin học để có thể nângcao chất lượng các hoạt động Đặc biệt, đối với các doanh nghiệp, việc ứng dụngtin học là bắt buộc nếu muốn tồn tại và đứng vững trên thị trường Khối lượngcông việc đồ sộ của các doanh nghiệp không thể không có sự trợ giúp của máytính điện tử Một máy tính điện tử giúp người ta thực hiện hàng chục triệu phéptính chỉ trong vòng một giây, giảm thiểu thời gian cũng như công sức con người
bỏ ra nên tiết kiệm chi phí nhân công, lại có thông tin nhanh chóng, chính xác, kịpthời Vì vậy, ngày nay bất cứ một doanh nghiệp nào cũng cần ứng dụng tin học.Xuất phát từ xu thế chung của xã hội, hàng loạt các phần mềm phục vụ hoạt độngsản xuất, kinh doanh, quản trị đã ra đời và để đáp ứng nhu cầu cấp thiết của cácdoanh nghiệp hiện nay Thực tế cho thấy, từ khi áp dụng các phần mềm tin học,hoạt động quản lý ngày càng nhẹ nhàng, hiệu quả, chính xác và đem lại thànhcông lớn cho rất nhiều doanh nghiệp Tuy nhiên, để có được một phần mềm phùhợp với công tác quản lý, phù hợp với hoạt động của mỗi doanh nghiệp lại không
Trang 11phải là một vấn đề dễ dàng Qua quá trình khảo sát hoạt động thực tiễn tại Ngânhàng TMCP Quốc Dân NCB chi nhánh Láng Hạ, em đã chọn đề tài “Xây dựngphần mềm kế toán tiền lương tại Ngân hàng TMCP Quốc Dân NCB”
II Sự cần thiết của đề tài
Phần mềm kế toán tiền lương là một phần mềm vô cùng hữu ích đối với mọidoanh nghiệp trong điều kiện hiện nay Nhờ những tiện ích của phần mềm này màcông việc tính lương, thu nhập cá nhân trở nên đơn giản, chính xác, linh hoạt, tiếtkiệm chi phí, thời gian và nhân lực cho doanh nghiệp đồng thời nó còn được ápdụng rộng rãi cho các doanh nghiệp khác Đối với doanh nghiệp, phần mềm kếtoán tiền lương mang lại những chức năng riêng biệt quan trọng cho doanh nghiệpnhư:
Tính toán lương phải trả cho nhân viên, in phiếu thanh toán lương, tính thuế thunhập cho các cán bộ công nhân viên Với hệ thống kế toán tiền lương riêng biệtcho phép thực hiện khấu trừ các khoản phải trừ vào lương cơ bản và từ đó tính ratổng thu nhập mà cán bộ công nhân viên được hưởng để từ đó in báo cáo thuế thunhập cá nhân để nộp cho cơ quan thuế Hơn nữa đề tài kế toán tiền lương có ýnghĩa thực tiễn rất cao Xây dựng phần mềm kế toán tiền lương cho ngân hàng sẽgiúp ngân hàng có thêm một công cụ quản lý lương hữu hiệu, phần mềm này thựchiện việc tính toán và chi trả lương cho nhân viên một cách chính xác và nhanhchóng, đồng thời đưa ra những báo cáo cần thiết về tiền lương sẽ giúp giám đốcngân hàng có những quyết định đúng đắn về tiền lương và chế độ đãi ngộ với nhânviên Mặt khác,lương là một công cụ vật chất hữu hiệu để khuyến khích nhân viên.Việc ngân hàng trả lương đúng đắn, khen thưởng kịp thời sẽ tạo động lực mạnh
mẽ cho nhân viên làm việc hăng say và gắn bó hơn với ngân hàng
- Được người sử dụng chấp nhận Đề tài được tạo ra nhằm mục đích phát triểnphần mềm có sẵn tại ngân hàng nên mục đích của đề tài là giúp cho người dùng cóthể tính lương đơn giản hơn
Trang 12- Cung cấp thông tin cho lãnh đạo ngân hàng, đặc biệt là bộ phận kế toán tiềnlương một cách chính xác, kịp thời, đầy đủ.
- Tận dụng năng lực tài nguyên (hệ thống máy tính), năng lực con người nhằmnâng cao hiệu quả công tác quản lý
- Ngoài ra, thực tập còn là cầu nối giữa lý thuyết và thực tiễn, do đó việc thực hiện
đề tài này ngoài mục đích thực tế giúp cho ngân hàng quản lý tốt hơn mà đồngthời nó còn có mục đích giúp cho bản thân em có kinh nghiệm và kiến thức làmviệc thực tế Đó là điều vô cùng quan trọng đối với mỗi sinh viên trước khi ratrường
Hệ thống kế toán tiền lương tại Ngân hàng
Trong điều kiện thời gian nghiên cứu tại đơn vị có hạn và tại doanh nghiệpcũng chưa sử dụng đến nghiệp vụ này nên đề tài không áp dụng nghiệp vụ kế toánsau: Trả lương nghỉ phép cho nhân viên
Phương pháp nghiên cứu chung là phương pháp duy vật biện chứng và phươngpháp duy vật lịch sử Tuy nhiên trong đề tài sử dụng các phương pháp cụ thể sau:
- Phương pháp thu thập thông tin (Phỏng vấn, điều tra, hỏi ý kiến chuyên gia)
- Phương pháp phân tích, thiết kế hệ thống thông tin quản lý
Đề tài “Xây dựng phần mềm kế toán tiền lương tại Ngân hàng Quốc Dân NCBchi nhánh Láng Hạ ”.Ngoài lời mở đầu và kết luận, em xin phép được trình bàynội dung đồ án làm ba chương như sau:
Chương 1:Lý luận chung về xây dựng phần mềm kế toán tiền lương
Chương 2: Thực trạng hệ thống thông tin kế toán tiền lương tại ngân hàng TMCP Quốc Dân chi nhánh Láng Hạ.
Chương 3: Xây dựng phần mềm kế toán tiền lương tại ngân hàng TMCP Quốc Dân chi nhánh Láng hạ.
Trang 13Dưới góc độ của một sinh viên còn nhiều thiếu sót về kinh nghiệm cũng nhưnhững kiến thức thực tiễn, đồ án của em không thể tránh khỏi nhiều hạn chế Dovậy, em rất mong nhận được sự đánh giá và góp ý của các thầy cô Khoa Hệ ThốngThông Tin Kinh Tế để giúp em hoàn thiện hơn những kiến thức đã được học và cóthể vận dụng vào thực tế Em xin chân thành cảm ơn sự hướng dẫn tận tình củathầy Phan Phước Long và sự giúp đỡ nhiệt tình của toàn thể cán bộ nhân viênphòng kế toán tài chính Ngân hàng quốc dân NCB chi nhánh Láng Hạ đã giúp emhoàn thành đề tài này.
CHƯƠNG 1: LÝ LUẬN CHUNG VỀ XÂY DỰNG PHẦN MỀM KẾ TOÁN TIỀN LƯƠNG
1.1 Nhận thức chung về phần mềm kế toán
1.1.1 Khái niệm, đặc điểm của phần mềm kế toán.
a) Khái niệm:
Phần mềm kế toán là hệ thống các chương trình máy tính dùng để tự động xử
lý các thông tin kế toán trên máy vi tính, bắt đầu từ khâu lập chứng từ gốc,phânloại chứng từ, ghi chép sổ sách, xử lý thông tin trên các chứng từ theo quy trìnhcủa chế độ kế toán đến khâu in ra các sổ kế toán, các báo cáo tài chính, báo cáo kếtoán quản trị và các báo cáo thống kê, phân tích tài chính khác Hoạt động của mộtphần mềm kế toán được chia làm 3 giai đoạn như sau:
Hình 1.1 Mô hình hoạt động của phần mềm kế toán
đầu vào:
Trong quá trình hoạt động kinh doanh, khi một nghiệp vụ kinh tế phát sinh,người dùng cần phải xác định chứng từ tương ứng với nghiệp vụ kinh tế đó vàthực hiện nhập bằng tay vào phần mềm kế toán Chứng từ sau khi nhập vào sẽđược lưu trữ dưới dạng một hoặc nhiều tệp trong cơ sở dữ liệu trong máy tính
Giai đoạn 2: Xử lý dữ liệu:
Xử lý dữ liệu Xuất thông tin đầu ra Nhập dữ liệu
đầu vào
Trang 14Giai đoạn này thực hiện việc lưu trữ, tổ chức thông tin, tính toán các thôngtin tài chính kế toán dựa trên thông tin của các chứng từ đã nhập trong giai đoạn1
để làm căn cứ kết xuất báo cáo, sổ sách, thống kê trong giai đoạn sau
Trong giai đoạn này sau khi người sử dụng quyết định ghi thông tin chứng từ
đã nhập vào nhật ký (đưa chứng từ vào hạch toán), phần mềm sẽ tiến hành tríchlọc các thông tin cốt lõi trên chứng từ để ghi vào các nhật ký, sổ chi tiết liên quan,đồng thời ghi các bút toán hạch toán lên sổ cái và tính toán lưu giữ kết quả cân đốithử của từng tài khoản
Giai đoạn 3: Xuất thông tin đầu ra:
Căn cứ trên kết quả tổ chức lưu trữ, tìm kiếm thông tin và tính toán số liệu tàichính, quản trị trong giai đoạn 2, phần mềm tiến hành kết xuất báo cáo tài chính,báo cáo thuế, sổ chi tiết, báo cáo thống kê phân tích, để in ra máy in hoặc lưu giữ
ra dưới dạng tệp để phục vụ cho mục đích phân tích thống kê khác hay kết nối vớicác hệ thống phần mềm khác
Tùy thuộc nhu cầu của người sử dụng và khả năng của từng phần mềm kếtoán cụ thể mà người sử dụng có thể thêm bớt, tùy biến các báo cáo, phân tíchphục vụ nhu cầu quản trị
b) Đặc điểm của phần mềm kế toán:
(1) Tính chính xác
So với việc ghi chép kế toán bằng thủ công, sử dụng phần mềm giúp các khâutính toán, ghi chép sổ sách và kết xuất báo cáo một cách chính xác hơn nhiều Nếunhư trước đây khi kế toán viên cộng sổ kế toán sai thì toàn bộ các báo cáo tàichính, quản trị đều phải được lập lại từ đầu mà đôi khi mất vài ngày tới một tuầnmới hoàn thành thì nay công tác tính toán, cộng sổ được thực hiệnchính xác 100%trên máy
Do dữ liệu tính toán kết xuất ra báo cáo đều căn cứ vào duy nhất một nguồn làcác chứng từ gốc được nhập vào nên dữ liệu được cung cấp bằng phần mềm kếtoán mang tính nhất quán Trong khi đó công tác kế toán thủ công, thông tin trênmột chứng từ có thể do nhiều kế toán viên ghi chép trên nhiều sổ sách theo bản
Trang 15chất nghiệp vụ mà mình phụ trách cho nên dễ dẫn tới tình trạng khi tổng hợp xảy
ra việc sai lệch dữ liệu trên các sổ làm công tác kế toán tổng hợp bị sai
(2) Tính hiệu quả
Trong xã hội cạnh tranh ngày nay thông tin chính là sức mạnh, ai có thông tinnhanh hơn thì người đó có khả năng chiến thắng nhanh hơn Với khả năng cungcấp thông tin tài chính và quản trị một cách đa chiều và nhanh chóng, phần mềm
kế toán giúp cho chủ doanh nghiệp ra quyết định nhanh hơn, chính xác hơn vàhiệu quả hơn
Công tác kế toán thủ công đòi hỏi nhiều nhân sự làm kế toán Trong khi đóphần mềm kế toán do tự động hóa hoàn toàn được các công đoạn tính toán, lưutrữ, tìm kiếm và kế xuất báo cáo nên tiết kiệm được nhân sự và thời gian và điềunày chính là tiết kiệm được chi phí cho doanh nghiệp
(3) Tính chuyên nghiệp
Bằng việc sử dụng phần mềm kế toán, toàn bộ hệ thống sổ sách của doanhnghiệp được in ấn sạch sẽ (không bị tẩy xóa), đẹp và nhất quán theo các chuẩnmực quy định Điều này giúp doanh nghiệp thể hiện được tính chuyên nghiệp củamình với các khách hàng, đối tác và đặc biệt là các tổ chức tài chính, nhà đầu tư,kiểm toán và các cơ quan chức năng có liên quan Đây là yếu tố cũng hết sức cógiá trị khi xây dựng thương hiệu cho riêng mình
(4) Tính cộng tác
Các phần mềm kế toán ngày nay đều cung cấp đầy đủ các phần hành kế toán từmua hàng, bán hàng, tới lương, tài sản cố định và cho phép nhiều người làm kếtoán cùng làm việc với nhau trên cùng một dữ liệu kế toán Như vậy trong môitrường làm việc này số liệu đầu ra của người này có thể là số liệu đầu vào củangười khác và toàn bộ hệ thống tích hợp chặt chẽ với nhau tạo ra mộtmôi trườnglàm việc cộng tác và cũng biến đổi cả văn hóa làm việc của doanh nghiệp theochiều hướng chuyên nghiệp và tích cực hơn
Các thành phần của phần mềm kế toán
Một phần mềm kế toán thường gồm các thành phần sau:
Trang 16- Cơ sở dữ liệu:
Đó là các thông tin được lưu và duy trì nhằm phản ánh thực trạng hiện thời hayquá khứ của doanh nghiệp Các dữ liệu này được chia thành hai phần: các dữ liệuphản ánh cấu trúc nội bộ của cơ quan như dữ liệu về nhân sự, nhà xưởng, thiết bị,
… và các dữ liệu phản ánh các hoạt động kinh doanh dịch vụ của cơ quan như dữliệu về sản xuất, mua bán, giao dịch,…
- Form:
Là giao diện tương tác giữa người sử dụng và phần mềm Một phần mềm kếtoán thường bao gồm các loại form: form đăng nhập, form chương trình chính,form nhập liệu, form truy vấn dữ liệu, form điều khiển in báo cáo,…
1.1.2 Yêu cầu đối với một phần mềm kế toán hiện nay.
Ngày nay, do tính đa dạng và phức tạp của các hoạt động kinh doanh, cùng với
sự phát triển và ngày càng phổ cập của công nghệ thông tin, các phần mềm kế toánđang trở thành công cụ hỗ trợ hiệu quả và chính xác nhất Các phần mềm kế toángiúp các doanh nghiệp xử lý thông tin nhanh, an toàn, cung cấp các báo cáo kếtoán kịp thời, giúp chủ doanh nghiệp đưa ra được các quyết định quản lý và kinhdoanh hiệu quả Một phần mềm kế toán cần phải đảm bảo các yêu cầu cơ bản sau:
- Dễ sử dụng và dễ hiểu:
Đây là tiêu chí rất quan trọng, đặc biệt là đối với các kế toán viên mới vào nghềhoặc đối với các kế toán đã quen làm việc thủ công Phần mềm kế toán dễ sử dụnggiúp tiết kiệm được thời gian và chi phí huấn luyện ban đầu cho doanh nghiệp
Trang 17cũng như sau này khi kế toán cũ ra đi, kế toán mới vào tiếp nhận thì khâu chuyểngiao cũng trở nên đơn giản hơn rất nhiều so với một phần mềm kế toánquá phứctạp và khó hiểu
- Thích ứng với quy trình kinh doanh:
Ứng dụng phải đáp ứng các yêu cầu nghiệp vụ kế toán, tuân thủ các chuẩn mực kếtoán và pháp luật kế toán hiện hành Để đạt được yêu cầu này đòi hỏi đơn vị cungcấp phần mềm phải có chuyên viên am hiểu sâu sắc về nghiệp vụ kế toán thực tế.Với các doanh nghiệp hoạt động trong các lĩnh vực khác nhau thì quy trình sảnxuất kinh doanh cũng khác nhau, trong khi đó một phần mềm kế toán thôngthường chỉ đáp ứng được một số lĩnh vực nhất định Chẳng hạn như một số phầnmềm phù hợp với ngành công nghiệp dệt may trong khi một số khác lại phù hợpvới ngành sản xuất dược phẩm hơn, … Vì vậy để đánh giá tốt một phần mềm,người sử dụng có thể căn cứ vào khả năng đáp ứng của phần mềm với những lĩnhvực hoạt động, tìm hiểu xem có bao nhiêu công ty cùng ngành đã sử dụng phầnmềm và nói chuyện với nhân viên của các đơn vị đó về mức độ hài lòng của họ khi
sử dụng các phần mềm này
- Khả năng nâng cấp và sửa đổi:
Doanh nghiệp không ngừng thay đổi, hoạt động của doanh nghiệp cũng khôngngừng thay đổi để cạnh tranh tốt hơn trong một môi trường kinh doanh ngày càngphức tạp Vì vậy, bạn đang không chỉ đang lựa chọn một phần mềmkế toán chonhu cầu hiện tại mà cho cả sự phát triển trong tương lai của công ty bạn Nhữngsản phẩm đóng gói thường không có khả năng nâng cấp hoặc bị từ chối nâng cấpbởi đơn vị cung cấp Công nghệ ứng dụng cũng là yếu tố ảnh hưởng đến khả năngnâng cấp của phần mềm trong tương lai Thực tế các phần mềm thiết kế theo đơnđặt hàng thường gặp khó khăn trong việc nâng cấp so với các phần mềm đóng gói.Bởi vì rất có nhiều khả năng là mã nguồn không được lưu giữ theo tiêu chuẩnquốc tế, và những nhân viên trước đây thiết kế phần mềm không còn công tác tạicông ty nữa hoặc không còn làm việc sau một vài năm Do đó, việc nâng cấp các
Trang 18phần mềm thiết kế theo đơn đặt hàng thường gây ra nhiều gián đoạn đáng kể vàchi phí cao cho công ty
- Khả năng kết nối với các phần mềm khác:
Doanh nghiệp nên xem xét liệu phần mềm mà mình lựa chọn có thể kết nối vớimột phần mềm khác hay không Ví dụ như nhiều phần mềm kế toán có khả năngkết nối với các phần mềm tạo báo cáo khác như Crystal Reports hoặc FRX
- Yêu cầu về tính bảo mật:
Tính bảo mật của sản phẩm có thể căn cứ vào vào các tiêu thức sau:
Khả năng phân quyền sử dụng cho người dùng: Phần mềm nên có chức năng chophép những người sử dụng khác nhau chỉ được truy cập những chức năng cụ thểhoặc những thông tin cần thiết cho công việc của mình
Nhật ký sử dụng: Cho phép nhà quản trị cao nhất có thể theo dõi được các hoạtđộng của người sử dụng một cách chi tiết Có thể biết được hoạt động chỉnh sửa sốliệu của người sử dụng tại đâu, tại thời điểm nào Ngoài người quản lý hệ thống ra,người sử dụng không được phép sửa đổi những thông tin về nhật ký này
Mã hóa dữ liệu sử dụng: Phần mềm nên hỗ trợ các dữ liệu có thể được lưu giữdưới dạng mã hóa để các chương trình khác không thể truy cập được những dữliệu đó
Ngăn chặn truy cập từ bên ngoài: Một phần mềm tốt nên thiết lập một hệ thốngbảo vệ tốt để có khả năng ngăn chặn việc truy cập trái phép từ bên ngoài vào cơ sở
dữ liệu trong phần mềm Bởi việc truy cập đó có thể phá hoại dữliệu hoặc lộ rangoài những thông tin tuyệt mật
Bản sao dự phòng: Nên có một hệ thống lưu trữ tất cả tập tin vào những ổ đĩa cứng
dự phòng hoặc những cách thức lưu trữ khác nhằm bảo vệ khỏi việc mất dữ liệu
do hư ổ cứng, trộm máy vi tính, hoặc những tai họa không lường trước được như
lũ lụt hoặc hỏa hoạn Cũng nên giữ một bản sao dự phòng ở một nơi khác vănphòng công ty
1.1.3 Quy trình xây dựng phần mềm kế toán
1.1.3.1 Khảo sát hiện trạng và lập kế hoạch dự án
Trang 19Khảo sát hiện trạng là bước khởi đầu của tiến trình phát triển phần mềm, đây làgiai đoạn nghiên cứu sơ bộ và xác định tính khả thi của dự án đối với hệ thốngmới Bước này tập trung giải quyết các vấn đề: môi trường, các ràng buộc đối vớiphần mềm cần xây dựng như thế nào Chức năng, nhiệm vụ, mục tiêu cần đạt đượccủa phần mềm là gì Định ra giải pháp phân tích, thiết kế sơ bộ và xem xét tínhkhả thi của chúng.
Trên cơ sở các thông tin khảo sát nhà phát triển đánh giá hiện trạng, xác địnhcác điểm yếu của hệ thống hiện tại, đánh giá khả thi lập dự án phát triển phầnmềm
* Khảo sát hiện trạng
- Mục tiêu của khảo sát
+ Tìm hiểu nghiệp vụ, chuyên môn, môi trường hoạt động của hệ thống cũ
+ Tìm hiểu các chức năng, nhiệm vụ và cách thức hoạt động của hệ thống
+ Xác định các nhược điểm của hệ thống
- Nội dung khảo sát
+ Tìm hiểu môi trường xã hội, kinh tế và kỹ thuật của hệ thống
+ Nghiên cứu cơ cấu tổ chức của hệ thống
+ Xác định các chức năng, nhiệm vụ, quyền hạn,… của các đơn vị ở các cấp khácnhau
+ Thu thập và nghiên cứu các hồ sơ, sổ sách…của các đơn vị ở các cấp khác nhau.+ Thu thập và nghiên cứu các quy tắc quản lý bao gồm luật, các quy định,…chiphối đến các quá trình xử lý thông tin
+ Nghiên cứu các chu trình luân chuyển và xử lý thông tin của hệ thống
+ Thống kê các phương tiện và tài nguyên được sử dụng cho hoạt động của hệthống
+ Thu thập và nghiên cứu các yêu cầu về thông tin, đánh giá về hệ thống, cácnguyện vọng và kế hoạch phát triển hệ thống
+ Đánh giá hiện trạng và đề ra giải pháp
+ Lập tài liệu khảo sát
Trang 20hệ thống cũng như các cá nhân có liên quan tới hệ thống
+ Phiếu điều tra
- Đề xuất giải pháp sơ bộ và xác định tính khả thi
* Lập kế hoạch triển khai dự án
+ Phân công trách nhiệm và nhân sự
+ Phương pháp và tiến trình triển khai
- Công tác huấn luyện sử dụng chương trình
+ Thời gian huấn luyện bao lâu và chia làm bao nhiêu nhóm
- Điều hành dự án
+ Đưa ra các quyết định mang tính định hướng cho dự án
+ Quyết định các mục tiêu và chỉ ra cách đạt các mục tiêu đó
+ Xác định các mức độ an toàn
+ Phân phối các nguồn lực
+ Kiểm tra sự phát triển đúng đắn của dự án
+ Quyết định lựa chọn giải pháp
1.1.3.2 Phân tích hệ thống
Trang 21Phân tích làm sáng tỏ các mục tiêu và yêu cầu chi tiết của hệ thống Trong rấtnhiều trường hợp cần phụ thuộc vào yêu cầu và chức năng của hệ thống nhằm tối
đa hóa lợi ích của hệ thống trong việc phục vụ các mục tiêu kinh doanh/quản lý Quá trình phân tích hệ thống được thực hiện trên hai khía cạnh là phân tích hệthống về chức năng và phân tích hệ thống về dữ liệu
Đây là giai đoạn sau giai đoạn khảo sát sơ bộ, đây là pha quan trọng để đi sâuvào nghiên cứu các thành phần hệ thống
Kết quả của giai đoạn này, ta xây dựng được các biểu đồ mô tả logic chức năng
xử lý của hệ thống xem xét Giai đoạn này còn được gọi là giai đoạn thiết kế logicchuẩn bị cho giai đoạn thiết kế vật lý Mục đích của phân tích hệ thống về chứcnăng là nhằm trả lời câu hỏi:”hệ thống làm gì?” Đây là bước đầu tiên của phântích hệ thống nhằm:
Xác định các nhiệm vụ, chức năng mà hệ thống cần đảm nhiệm
Xác định các hạn chế hay ràng buộc áp đặt lên các chức năng của hệ thống Xác định các mối quan hệ giữa các chức năng của hệ thống
Đặc tả các chức năng của hệ thống và quy trình hoạt động
Cách thức tiến hành phân tích hệ thống về chức năng dựa theo phương pháp SA( Structured Analysic) nghĩa là phân tích từ trên xuống, phân tích từ hệ thống cũsang hệ thống mới, phân tích từ mức vật lý sang mức logic
Kết quả của giai đoạn này là các biểu đồ mô tả logic chức năng của hệ thốngnhư: biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu, ma trận thực thểchứcnăng
Biểu đồ phân cấp chức năng (FDD- Function Decomposition Diagram): là biểu
đồ dùng để diễn tả hệ thống các chức năng cần thực hiện của hệ thống cần pháttriển dưới dạng hình cây Trong đó:
Gốc của cây là chức năng chung cần thực hiện của hệ thống doanh nghiệp hoặc
tổ chức Mỗi chức năng được phân rã thành các chức năng con tương đương
Trang 22Các chức năng lá là các chức năng tương đối cụ thể, đơn giản, dễ hiểu, dễ thựchiện
- Cú pháp biểu diễn của biểu đồ phân cấp chức năng: có 2 ký pháp
+ Ký pháp biểu diễn chức năng: là hình chữ nhật có ghi tên của chức năng cầnthực hiện ( ở dạng động từ kết hợp với bổ ngữ)
+ Ký pháp biễu diễn liên kết giữa chức năng cha và các chức năng con là dạnghình cây gấp khúc
-Ý nghĩa của biểu đồ phân cấp chức năng:
+ Cho phép dễ dàng hiểu được các chức năng, nhiệm vụ từ khái quát đến chi tiếtcủa tổ chức
+ Dễ thành lập bằng cách phân rã từ chức năng cha đến chức năng con hoặc nhómxác định các chức năng cha từ các chức năng con
+ Giúp phát hiện các chức năng còn thiếu hoặc các chức năng trùng lặp
+ Là cơ sở để thiết kế kiến trúc của phần mềm sau này
- Cách thức xây dựng biểu đồ phân cấp chức năng.
Cách 1: Xây dựng từ trên xuống
Nghiên cứu sơ đồ tổ chức của hệ thống và tài liệu khảo sát để xác định chức năngchung của hệ thống Phân rã các chức năng chung thành các chức năng con đơngiản hơn sao cho các công việc trong mỗi chức năng có liên quan gần gũi vớinhau Tiếp tục phân rã các chức năng cho đến khi thu được các chức năng đủ đơngiản và dễ hiểu
Cách 2: Xây dựng từ dưới lên
Dựa vào tài liệu khảo sát và sơ đồ tổ chức của hệ thống, liệt kê các công việc mà
hệ thống đảm nhận Sau đó gộp các công việc có liên quan với nhau thành mộtchức năng mức cha
Quá trình này được lặp đi lặp lại cho đến khi thu được một chức năng chungcủa hệ thống
- Các quy tắc xây dựng biểu đồ phân cấp chức năng
Trang 23+ Mỗi chức năng con được phân rã từ chức năng cha phải là một bộ phận thực sựtham gia thực hiện chức năng cha
+ Mỗi chức năng con thực hiện các công việc tương đối độc lập với nhau
+ Các chức năng con phải bảo toàn chức năng cha
+ Không nên phân rã các chức năng thành nhiều mức vì sẽ dẫn đến sự phức tạpcho quá trình thiết kế và mã hóa
+ Các chức năng cùng mức nên biểu diễn thuộc cùng một hàng
+ Tên của các chức năng khác nhau là khác nhau
+ Các chức năng lá cần phải được mô tả chi tiết và cách thực hiện
Tài liệu đặc tả chức năng.
Dựa trên tài liệu khảo sát về nghiệp vụ, nhà phát triển tiến hành viết tài liệu mô
tả các hoạt động cụ thể của mỗi chức năng lá Cách thức xây dựng tài liệu đặc tảchức năng: dựa trên sơ đồ phân rã chức năng và tài liệu khảo sát để tiến hành đặc
tả cách thức thực hiện cho chức năng lá
Khái niệm:
+ Là một bảng bao gồm có các hàng và các cột Trong đó, mỗi cột tương ứng vớimột thực thể dữ liệu, mỗi hàng ứng với một chức năng ở mức tương đối chi tiết + Mỗi ô giao giữa hàng và cột thể hiện mối quan hệ giữa chức năng và thực thểtương ứng
+ Giá trị của mỗi ô thể hiện mối quan hệ giữa hàng và cột tương ứng, giá trị củamột cột có thể là R (read), U( update), C( creat)
Các đặc điểm của ma trận thực thể chức năng
+ Nếu một hàng ứng với một chức năng không có ô nào được đánh giá trị thì chứcnăng đó hoặc là không phải là một chức năng có tác động lên dữ liệu hoặc là việcđánh giá trị của các ô bị bỏ sót
+ Nếu một cột ứng với một thực thể dữ liệu không có ô nào được đánh giá trị thìthực thể đó hoặc là đánh thiếu chức năng hoặc là bỏ sót chức năng hoặc làthực thểkhông liên quan đến các chức năng của hệ thống và có thể bỏ đi
Trang 24 Ý nghĩa của ma trận thực thể chức năng
+ Cho phép xác định các chức năng hoặc các thực thể dữ liệu còn thiếu
+ Cho phép loại bỏ các chức năng hoặc các dữ liệu còn thừa
Cách thức xây dựng ma trận thực thể chức năng
+ Xây dựng sơ đồ phân cấp chức năng
+ Liệt kê danh sách các thực thể dữ liệu
+ Xác định các mối quan hệ giữa thực thể và chức năng lá tương ứng
+ Lập bảng ma trận thực thể chức năng
Biểu đồ luồng dữ liệu: là biểu đồ biểu diễn quá trình xử lý thông tin của hệ thống,
mỗi biểu đồ bao gồm có các tiến trình, tác nhân, luồng dữ liệu, kho dữ liệucủa hệthống Đây là công cụ cho phép mô tả hệ thống toàn diện và đầy đủ nhất
Tiến trình: là một công việc của hệ thống nhằm thao tác trên các dữ liệuđầu vào
và cho kết quả dữ liệu ở đầu ra xác định
Kho dữ liệu: là một đối tượng lưu một tập các dữ liệu có cấu trúc xác định được sử
dụng cho hoạt động của các tiến trình tướng ứng với biểu đồ luồng dữ liệu
Tác nhân: Mô tả các yếu tố môi trường có tương tác với hệ thống
Tác nhân phải xác định 3 tiêu chí:
Số hiệu
Tên tiến trình
Trang 25- Tác nhân phải là người, nhóm người, một tổ chức, một bộ phận của một tổ chứchay một hệ thống thông tin khác.
- Nằm ngoài hệ thống: Không thực hiện chức năng của hệ thống
- Có tương tác với hệ thống: Gửi dữ liệu vào hệ thống hoặc nhân dữ liệu từ hệthống.Tên gọi: Phải là danh từ chỉ người, nhóm người hoặc tổ chức
Kí pháp: Hình chữ nhật có tên bên trong
+ Hiệu chỉnh lại biểu đồ từng mức khác nhau nhằm đảm bảo tính logic
+ Một kỹ thuật sử dụng khá phổ biến để phân rã biểu đồ là kỹ thuật phân mức Có
3 mức cơ bản được đề cập:
•Mức 0: biểu đồ luồng dữ liệu khung cảnh (biểu đồ ngữ cảnh) Sơ đồ mô tảtổngquát hệ thống, mô tả liên hệ thông tin giữa hệ thống và môi trường bên ngoài
•Mức 1: biểu đồ luồng dữ liệu mức đỉnh
•Mức 2: biểu đồ luồng dữ liệu mức dưới đỉnh
•Mức 3: biểu đồ luồng dữ liệu mức dưới đỉnh phân rã từ biểu đồ luồng dữ liệumức đỉnh + Các nguyên tắc chung áp dụng cho quá trình phân rã từ biểu đồluồng dữ liệu từ mức trên thành biểu đồ luồng dữ liệu mức dưới như sau:
Các luồng dữ liệu được bảo toàn
Các yếu tố tác động bên ngoài được bảo toàn
Có thể xuất hiện bổ sung các kho dữ liệu
TÊN TÁC NHÂN
Trang 26 Bổ sung thêm các luồng dữ liệu nội tại giữa các tiến trình nếu cần thiết
-Ý nghĩa của biểu đồ luồng dữ liệu
+ Biểu diễn các chức năng và các dữ liệu cần thiết của hệ thống
+ Cho phép biểu diễn mối quan hệ thông tin giữa các chức năng, mối quan hệthông tin giữa tác nhân, kho dữ liệu với các chức năng
+ Biểu diễn quy trình di chuyển của các dữ liệu qua các chức năng
-Các quy tắc ràng buộc trong xây dựng biểu đồ luồng dữ liệu
+ Tiến trình: một tiến trình luôn có yếu tố vào và yếu tố ra, hai yếu tố này là khácnhau và phải bảo toàn thông tin
+ Kho dữ liệu: dữ liệu không di chuyển trực tiếp giữa các kho dữ liệu, không dichuyển trực tiếp giữa kho với tác nhân và ngược lại
+ Tác nhân: dữ liệu không di chuyển trực tiếp giữa các tác nhân
+ Luồng dữ liệu: mỗi luồng dữ liệu chi có một hướng di chuyển dữ liệu Mộtluồng dữ liệu không thể quay lại nơi và nó đi khỏi Một luồng dữ liệu đi vào(hoặc
đi ra) nghĩa là kho được cập nhật ( hoặc được đọc)
+ Các quy tắc khác: các đối tượng trong biểu đồ luồng dữ liệu phải khác nhau Dữliệu vào và ra của một chức năng phải khác nhau
Phân tích hệ thống về dữ liệu
Mục tiêu của phân tích về dữ liệu là xây dựng mô hình dữ liệu quan niệm(CDM)hay còn gọi là lược đồ dữ liệu hệ thống CMD mô tả các dữ liệu nghiệp vụ và mốiquan hệ giữa chúng Mô hình nàykhông chứa các chi tiết cài đặt nên nó rất tựnhiên, dễ hiểu cho người phát triển vàngười sử dụng Mô hình này là cơ sở choviệc thiết kế CSDL vật lý cho phần mềm
- Các bước tiến hành xây dựng CMD
+ Phân tích các hồ sơ thu được từ giai đoạn khảo sát
+ Lựa chọn, mã hóa sắp xếp thông tin cơ sở
+ Xác định các thực thể dữ liệu, mỗi thực thể bao gồm một tập các thông tin cơ sở
và mối quan hệ giữa chúng
+ Xây dựng mô hình dữ liệu quan niệm
Trang 27+ CMD được thể hiện ở hai mô hình:
+ Mô hình thực thể liên kết(E/A- entity Association Model)
+ Mô hình dữ liệu quan hệ: gồm các bảng dữ liệu có quan hệ
Mô hình thực thể liên kết (E/A)
Đây là mô hình được sử dụng phổ biến trong xây dựng mô hình dữ liệu nghiệp vụcủa các hệ thống thông tin quản lý nhờ tính đơn giản, trực quan, dễ hiểu và chặtchẽ Mô hình này gồm các thành phần cơ bản sau:
- Thực thể và thuộc tính
+ Thực thể: là một đối tượng trừu tượng hay cụ thể tồn tại trong thế giới thực Ví
dụ vật tư, đơn vị…
+ Thuộc tính của thực thể: là một thành của thực thể có giá trị xác định nhằm mô
tả một khía cạnh của thực thể Thuộc tính có thể được phân loại thành thuộc tínhđơn hay phức hợp, thuộc tính đơn trị, đa trị, thuộc tính lưu trữ, thuộc tính suy diễn,thuộc tính phức tạp, giá trị Null
+ Kiểu thuộc tính: là một tập các giá trị khác nhau nhằm biểu diễn cùng một khíacạnh của một thực thể Mỗi kiểu thuộc tính được xác định bởi tên và được mô tảdưới dạng một hình ellipse có chứa tên của kiểu thuộc tính Kiểu thuộc tính phứchợp được mô tả bới một hình ellipse kết nối với các kiểu thực thể thành phần bởicác đoạn thẳng Kiểu thuộc tính đa trị được tả bởi hình ellipse kép
+ Kiểu thực thể: là một tập các thực thể có cùng các kiểu thuộc tính Mỗi kiểu thựcthể xác định bởi một tên định danh và được mô tả bởi một hình chữ nhật kết hợpvới tên của kiểu thực thể và nối với các kiểu thuộc tính bởi các đoạn thẳng
+ Kiểu thuộc tính khóa: là một kiểu thuộc tính của kiểu thực thể mà các giá trị của
nó là khác nhau đối với các thực thể khác nhau thuộc kiểu thực thể Mỗi kiểuthuộc tính khóa được biểu diễn bởi hình Ellipse có chứa tên và gạch châncủa kiểuthuộc tính khóa
+ Miền giá trị của kiểu thuộc tính: là tập các giá trị hợp lệ có thể gán cho thuộctính
- Kiểu liên kết, thuộc tính của kiểu liên kết
Trang 28+ Kiểu liên kết: một kiểu liên kết R giữa n kiểu thực thể E1, E2 , En là một tậpcác liên kết giữa các thực thể tương ứng của n kiểu thực thể đã cho có cùng ýnghĩa Đây là quan hệ toán học trên tập thực thể E1, E2 , En được xác định bởicácliên kết thông qua tích Đề các E1 x E2 x…xEn
+ Số các kiểu thực thể tham gia liên kết xác định số ngôi của quan hệ ( sốcấp củaquan hệ) + Mỗi một kiểu liên kết có một tên gọi xác định nhằm thể hiện ý nghĩacủa việc liên kết giữa các thực thể
+ Một số kiểu liên kết: Liên kết đệ quy, liên kết phức, liên kết có thuộc tính
+ Các ràng buộc kiểu liên kết:
•Ràng buộc lực lượng tham gia vào kiểu liên kết bao gồm: 0 1, 0 n, 1 1, 1 n,n m ( n,m là số tự nhiên)
•Ràng buộc tham gia bộ phận: chỉ có một bộ phận các thực thể của một kiểu thựcthể tham gia vào liên kết với các thực thể của kiểu thực thể khác
•Ràng buộc tham gia toàn bộ: toàn bộ các thực thể đều tham gia vào liên kết vớicác thực thể của kiểu thực thể khác
- Yêu cầu:
+ Không bỏ sót thông tin: các thông tin để tạo sơ đồ E/A được lấy từ các hồ sơ,chứng từ, sổ sách, báo cáo, tài liệu lưu trữ liên quan
+ Không dư thừa thông tin: thông tin không được trùng lặp
+ Có thể bổ sung các thông tin hỗ trợ cho việc tin học hóa như bổ sung thuộc tínhlàm khóa
- Xây dựng bảng từ điển dữ liệu
+ Liệt kê các hồ sơ nghiệp vụ thu được trong quá trình khảo sát
+ Liệt kê các mục thông tin cơ sở trong mỗi hồ sơ, mỗi mục thông tin là kiểuthuộc tính
+ Quy định tên viết tắt cho mỗi kiểu thuộc tính
+ Xác định các kiểu thuộc tính trùng lặp giữa các hồ sơ với nhau
Trang 29+ Xác định các tính chất cho các thuộc tính: thuộc tính tên gọi, thuộc tính mô tả,thuộc tính của kiểu liên kết, thuộc tính đa trị, thuộc tính phức hợp
+ Xác định danh sách các mối liên kết: căn cứ danh dách các kiểu thực thể vừa xácđịnh, dựa vào các hoạt động nghiệp vụ phát sinh cơ bản
+ Xác định các kiểu thuộc tính của kiểu liên kết: dựa vào bảng từ điển dữ liệu,trong đó thường kiểu thuộc tính của kiểu liên kết chỉ tồn tại khi kiểu kết đó hìnhthành hoặc là thể hiện đặc trưng của kiểu liên kết đó
+ Xác định các ràng buộc tham gia liên kết: dựa vào quy định nghiệp vụ của hệthống xác định được ở giai đoạn khảo sát
- Vẽ sơ đồ E/A
- Với kiểu thuộc tính phức hợp: thay thế mỗi kiểu thuộc tính phức hợp thành tậptập các kiểu thuộc tính đơn tương ứng, mỗi thuộc tính đơn tương ứng với mộtthành phần của kiểu thuộc tính phức hợp
- Với kiểu thực thể: mỗi kiểu thực thể E trong lược đồ E/A tạo một quan hệ Rtương ứng các thuộc tính của R là các kiểu thuộc tính đơn của E Chọn một trongcác khóa của E làm khóa chính cho R hoặc tạo ra một thuộc tính mới thêm vào Rlàm khóa
- Với kiểu liên kết 1 1: với mỗi kiểu liên kết hai ngôi 1 1 là R trong mô hình E/A,xác định các quan hệ S và T tương ứng với các kiểu thực thể tham gia vào R Chọnkhóa chính của một quan hệ đưa vào làm khóa ngoài của quan hệ còn lại Nếu cóhai kiểu thực thể đều có ràng buộc tham gia toàn bộ vào liên kết R thì có thể nhập
S và T thành một quan hệ K
- Với kiểu liên kết 1 n: mỗi kiểu liên kết hai ngôi R kiểu 1 n, xác định hai quan
hệ S,T biểu diễn cho hai kiểu thực thể tham gia ở phía một và phía nhiều tươngứng của R Đưa khóa chính của S vào làm khóa ngoài của T, đưa các kiểu thuộctính đơn của R vào làm các thộc tính của T
- Với kiểu liên kết n m: với mỗi kiểu liên kết n m ( hai ngôi) R, xác định hai quan
hệ S,T biểu diễn cho hai kiểu thực thể tham gia vào R Tạo ra một quan hệ mới Q
Trang 30để thay thế cho R Đưa các khóa chính của các quan hệ S,T vào làm khóa ngoàicủa Q Tổ hợp hai khóa ngoài đó sẽ tạo nên khóa chính của Q Đưa tất cả cácthuộc tính đơn của R vào làm thuộc tính của Q
- Với kiểu thuộc tính đa trị: mỗi thuộc tính đa trị A tạo ra một quan hệ mới R chứamột thuộc tính tương ứng của A Đưa khóa K của kiểu thực thể ( hoặc kiểu liênkết) chứa thuộc tính là A vào làm khóa chính của R, khóa chính của Rlà kiểuthuộc tính A và K
- Với kiểu liên kết n ngôi( n>2): mỗi kiểu liên kết R ( n ngôi,n>2), tạo ra một quan
hệ S để biểu diễn R Đưa các khóa chính của các quan hệ biểu diễn cho các kiểuthực thể tham gia vào liên kết R để làm khóa ngoài của S Đưa các kiểu thuộc tínhđơn của R vào làm thuộc tính của S Khóa chính của S thường là mộttổ hợp cáckhóa ngoài Tuy nhiên, nếu ràng buộc tham gia trên một kiểu thực thể E nào đótham gia vào R là phía một thì khóa chính của S không được chứa thuộc tính khóa
ngoài được tạo tương ứng với kiểu thực thể E 1.1.3.3 Thiết kế hệ thống
Căn cứ vào yêu cầu của hệ thống và kết quả phân tích trong bước 2 để tiếnhành thiết kế chi tiết hệ thống Công việc thiết kế bao gồm: thiết kế kiến trúc hệthống và các modul chương trình, thiết kế cơ sở dữ liệu, thiết kế giao diện ngườidùng và thiết kế các báo cáo
Việc thực hiện các công việc trên có quan hệ mật thiết với nhau nên thôngthường được thực hiện đồng thời
* Thiết kế kiến trúc hệ thống
Mục tiêu của giai đoạn này là đi xây dựng sơ đồ kiến trúc hệ thống, đây là sơ đồphân cấp có dạng hình cây hoặc dạng đồ thị có các đỉnh ở nhiều mức khác nhaubao gồm các modul lồng nhau, trong đó mỗi đỉnh của sơ đồ là một hệ thống con
Sơ đồ kiến trúc của hệ thống được lập bằng cách áp dụng phân chia hệ thống thànhcác hệ thống con nhằm để tạo thuận lợi cho việc xây dựng chương trình và bảo trìsau này Trong đó, hệ thống con được xác định bằng cách gộp nhóm các chứcnăng trong hệ thống theo một mục đích nào đó như theo vấn đề giải quyết, thựcthể dữ liệu…
Trang 31Sự phân chia hệ thống thành các hệ thống con được áp dụng trên biểu đồ luồng
dữ liệu của hệ thống và tiến hành ở các mức khác nhau Các hệ thống con phảiđược phân định giữa phần được thực hiện thủ công với phần do máy thực hiện.Việc xác định hệ thống con bằng cách gộp các chức năng trong BLD thường dựavào các tiêu chí:
+ Gộp theo thực thể dữ liệu: gộp các chức năng liên quan tới một hoặc mộtsố thựcthể dữ liệu thành hệ thống con
+ Gộp theo vấn đề giải quyết
+ Gộp theo sự kiện giao dịch
+ Gộp theo sơ đồ tổ chức hoặc thích ứng với cấu hình phần cứng, phần mềm…Dựa trên tài liệu đặc tả chức năng và biểu đồ luồng dữ liệu, việc phân định phầncủa hệ thống con được thực hiện thủ công với phần thực hiện máy tính
- Đối với các tiến trình: xác định tiến trình được thực hiện bởi hệ thống, tên củacác tiến trình này giữ nguyên, và nên đặt lại tên cho các tiến trình có một phầnđược thực hiện bởi hệ thống
- Đối với kho dữ liệu: xác định các kho dữ liệu được thực hiện bởi máy tính, vàthay thế các hồ sơ này bởi các thực thể trong mô hình E/A hoặc bảng trong môhình dữ liệu, các hồ sơ được thực hiện thủ công sẽ bị loại ngay ra khỏi môhình dữliệu
* Thiết kế cơ sở dữ liệu
- Khái niệm: Thiết kế cơ sở dữ liệu là quá trình chuyển các đặc tả dữ liệu logicthành đặc tả dữ liệu vật lý để lưu dữ liệu, nghĩa là quá trình chuyển mô hình dữliệu quan hệ thành thiết kế dữ liệu vật lý tương ứng (cấu trúc tệp tin) Sản phẩmcủa thiết kế cơ sở dữ liệu là một tập các đặc tả mà lập trình viên sẽ sử dụng để xâydựng các cấu trúc của các dữ liệu trên máy tính bằng cách sửdụng một hệ quản trị
cơ sở dữ liệu bao gồm: lược đồ cơ sở dữ liệu quan hệ phi chuẩn hóa, đặc tả cáctrường và file của cơ sở dữ liệu
- Các bước thiết kế cơ sở dữ liệu: Dựa vào mô hình dữ liệu quan hệ, loại bỏ cácquan hệ không cần tin học hóa
Trang 32+ Phi chuẩn hóa mô hình dữ liệu quan hệ nhằm giảm bớt các phức tạp cho cácmodul xử lý, song song với nó là thiết lập các trigger cho mối quan hệ Kết quảcủa phi chuẩn hóa là ta thu được sơ đồ dữ liệu quan hệ Mỗi quan hệ trong sơ đồ
dữ liệu quan hệ xác định một mô tả thiết kế chotệp dữ liệu cần xây dựng tươngứng Phi chuẩn hóa sơ đồ dữ liệu quan hệ: mục đích của công việc này là gộp một
số quan hệ trong lược đồ cơ sở dữ liệu quan hệ lại với nhau thành một quanhệhoặc bổ sung một số thuộc tính phụ thuộc của một quan hệ trong lược đồ cơ sở dữliệu nhằm giảm độ phức tạp trong xử lý dữ liệu Phi chuẩn hóa bao gồmcác côngviệc:
+ Bổ sung các trường thuộc tính suy diễn
+ Gộp các quan hệ có liên kết 1 1 thành một quan hệ
+ Gộp các quan hệ có liên kết 1 n thành một quan hệ
- Thiết kế trường:
+ Khái niệm: Trường là một thuộc tính của một bảng trong mô hình quan hệ, mỗitrường được đặc trưng bởi tên, kiểu, miền giá trị
+ Các yêu cầu khi thiết kế trường: tiết kiệm không gian nhớ, biểu diễn cácgiá trị
có thể, đảm bảo tính toàn vẹn, hỗ trợ thao tác nhập liệu
+ Các bước thiết kế trường: chọn kiểu dữ liệu, xác định trường tính toán, xác địnhlàm khóa chính và định dạng giá trị cho trường khóa chính, xác định tính toàn vẹn
dữ liệu (chọn giá trị ngầm định, xác định khuôn dạng dữ liệu, xác định các giớihạn dữ liệu, xác định tính toàn vẹn tham chiếu, xác định ràng buộcgiá trị rỗng) + Thiết kế file vật lý: mỗi bảng dữ liệu trong mô hình quan hệ được chuyển thànhmột bảng đặc tả thiết kế như sau: tên trường, kiểu dữ liệu, kích thước dữ liệu,khuôn dang, ràng buộc, mô tả
* Thiết kế giao diện người dùng:
- Giao diện người dùng là nơi giao tiếp hay tương tác để trao đổi thông tin giữa hệthống với người dùng
Trang 33- Căn cứ vào mô tả cấu trúc và mô tả thiết kế dữ liệu tiến hành thiết kế giao diệnngười dùng Gồm các thành phần: thiết kế các form như form chương trình chính,form mức con, thiết kế thực đơn, thiết kế các mẫu báo cáo.
* Thiết kế các modul chương trình
Dựa vào tài liệu đặc tả chức năng và kết quả thiết kế kiến trúc hệ thống,mỗimodul chương trình được mô tả chi tiết xử lý bao gồm:
- Thông tin đầu vào: gồm các dữ liệu cần xử lý và các điều kiện ràng buộc với dữliệu đầu vào
- Sơ đồ giải thuật xử lý: mô tả chi tiết quy trình hoạt động xử lý dữ liệu của mỗimodul được diễn tả bằng sơ đồ khối hoặc ngôn ngữ giả mã
- Thông tin đầu ra: mô tả dạng thông tin thể hiện kết quả sau xử lý và các điềukiện ràng buộc với dữ liệu đầu ra
1.1.3.4 Lập trình
Khi đã có kế hoạch chi tiết cho việc thực hiên ta bắt đầu đi vào giai đoạn lậptrình
Giai đoạn này bao gồm các công việc sau:
- Bước 1: Lựa chọn các công cụ để xây dựng phần mềm kế toán Bao gồm:
+ Lựa chọn môi trường cài đặt
+ Lựa chọn công cụ cài đặt dữ liệu và chức năng
+ Lựa chọn công cụ tạo giao diện và báo cáo
- Bước 2: Xây dựng phần mềm
+ Cơ sở dữ liệu: thiết kế các bảng của cơ sở dữ liệu với cấu trúc, kiểu dữ liệu hợp
lý, các ràng buộc đảm bảo tính toàn vẹn dữ liệu
+ Form: form đăng nhập, form chương trình chính, form nhập liệu, form báocáo,
… để đảm bảo sự tương tác giữa người sử dụng và phần mềm Các formđược thiết
kế phải đảm bảo tính trực quan, khoa học và dễ sử dụng
+ Báo cáo: Là một tài liệu chứa các thông tin được đưa ra từ chương trình ứngdụng theo yêu cầu của người dùng, thị ra máy in hoặc màn hình, tuỳ theo yêu cầu
Trang 34của người sử dụng + Menu: thiết kế hệ thống menu một cách khoa học và hợp lý
để giúp người sử dụng tương tác với phần mềm một cách dễ dàng
- Bước 3: Viết tài liệu sử dụng
1.1.3.5 Kiểm thử
- Mỗi khi các phần độc lập của hệ thống được xây dựng xong và đã trải qua quytrình kiểm thử nội bộ, một phiên bản chạy thử sẽ được tạo dựng và hoạt động đểkiểm thử
- Kiểm thử là việc kiểm tra chương trình bằng cách chạy thử, sau đó đối chiếu vớimột kết quả đã được kiểm nghiệm
+ Nhược điểm: Không kiểm tra được hết các nghiệp vụ trong chương trình
Cách 2: Sử dụng bộ dữ liệu giả định của tester
+ Ưu điểm: Bao quát hết tất cả các nghiệp vụ, chính và đầy đủ các module củachương trình
+ Nhược điểm: Khó và tốn kém Người kiểm thử phải hiểu rõ cả hai phần nghiệp
vụ và kế toán
1.1.3.6 Cài đặt, bảo hành và bảo trì
Giai đoạn này gồm các công việc:
- Lắp đặt phần cứng để làm cơ sở cho hệ thống
- Cài đặt phần mềm
- Chuyển đổi hoạt động của hệ thống cũ sang hệ thống mới, gồm có: chuyển đổi
dữ liệu; bố trí, sắp xếp người làm việc trong hệ thống; tổ chức hệ thống quảnlí vàbảo trì
- Tổ chức đào tạo
- Đưa phần mềm vào sử dụng
Trang 35- Bảo hành: đảm bảo hệ thống hoạt động tốt trong thời gian thỏa thuận
- Bảo trì hệ thống, gồm có: Sửa lỗi, hoàn thiện và nâng cấp hệ thống
- Trong quá trình sử dụng, người sử dụng và chuyên viên kỹ thuật vận hành cầnđánh giá xem hệ thống có đáp ứng các mục tiêu đặt ra ban đầu hay không? Từ đó
đề xuất những sửa đổi, cải tiến
- Bảo trì nhằm đảm bảo cho phần mềm hoạt động ổn định, đáp ứng mộtcách tốtnhất cho công tác kế toán cũng như hoạt động sản xuất, kinh doanh củađơn vị
1.1.4 Các công cụ tin học sử dụng để xây dựng phần mềm kế toán
1.1.4.1 Hệ quản trị cơ sở dữ liệu
Cơ sở dữ liệu là tập hợp các dữ liệu có liên quan đến nhau chứa thông tin vềmột tổ chức nào đó, được lưu trữ trên các thiết bị nhớ thứ cấp để đáp ứng nhu cầukhai thác thông tin của nhiều người sử dụng với mục đích khác nhau Hệ quản trị
cơ sở dữ liệu là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữliệu bao gồm các công việc: lưu trữ, tìm kiếm, thay đổi và xóathông tin trong một
cơ sở dữ liệu Chức năng của hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu cung cấp một môi trường để người dùng dễ dàng khaibáo kiểu dữ liệu, các cấu trúc dữ liệu thể hiện thông tin và các ràng buộc dữ liệu
Hệ quản trị cơ sở dữ liệu cung cấp môi trường cập nhật và khai thác cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu cung cấp công cụ kiểm soát, điều khiển truy cập vào cơ
sở dữ liệu
Ưu điểm của một hệ quản trị cơ sở dữ liệu
Quản lý được dữ liệu dư thừa
Đảm bảo được tính nhất quán cho dữ liệu
Tạo khả năng chia sẻ dữ liệu nhiều hơn
Cải tiến tính toàn vẹn cho dữ liệu
Nhược điểm của một hệ quản trị cơ sở dữ liệu
Một hệ quản trị CSDL tốt thì khá phức tạp, thường chiếm nhiều dung lượng bộnhớ
Trang 36 Để đảm bảo cho việc lưu trữ thông tin đầy đủ, xử lý kịp thời, hệ quản trị cơ sở dữliệu cần phải thiết kế cho nhiều người có thể sử dụng, do đó quá trình xử lý thườngchậm Lựa chọn hệ quản trị cơ sở dữ liệu hợp lý giúp quản lý, giám sát chặt chẽ dữliệu Hiện nay những hệ quản trị cơ sở dữ liệu đang được dùng nhiều là:Microsoft Acess, SQL Server, Foxpro, Oracle…
a) Hệ quản trị CSDL Microsoft Acess
Ưu điểm:
- Nhỏ gọn, cài đặt dễ dàng, phù hợp với các ứng dụng quy mô nhỏ
Nhược điểm:
- Hạn chế số người dùng (số người cùng truy cập vào cơ sở dũ liệu)
- Hạn chế về kích thước cơ sở dữ liệu (< 2GB)
- Hạn chế về tổng số module trong một ứng dụng
- Kích thước dữ liệu càng lớn, độ ổn định càng giảm
- Không hỗ trợ truy cập từ xa qua mạng
- Đối với những người phát triển : ORACLE cũng tỏ ra có rất nhiều ưu điểm như
dê § cài đăt ¨, dê § triển khai và nâng cấp lên phiên bản mới
Nhược điểm:
- Giá đầu tư cao: cần máy cấu hình mạnh, cài đặt và thiết lập khó
- Độ phức tạp cao, quản trị rất khó cần người có kiến thức chuyên môn về côngnghệ thông tin mới có thể quản trị được
Sử dụng:
- Thích hợp với các ứng dụng có cơ sở dữ liệu lớn
Trang 37- Thích hợp với các cơ sở dư liệu loại vừa và nhỏ, còn với các cơ sở dữ liệu lớn,
có yêu cầu nghiêm ngặt về tính liên tục thì chưa đáp ứng được mà cần có giải pháptổng thể về cả hệ điều hành, phần cứng và mạng
d) Hệ quản trị cơ sở dữ liệu Visual Foxpro
- Dễ tách ứng dụng thành nhiều mô-đun nên khá dễ dàng trong việc nâng cấp, sửa
đổi Nhược điểm:
- Bảo mật kém, không an toàn và không thuận tiện khi chạy trên môi trường mạng
- Visual Foxpro version trước 9 sẽ không hỗ trợ trực tiếp mã Unicode,VFP9 có hỗtrợ trực tiếp mã Unicode tùy theo cài đặt trên Windows
Sử dụng:
- Thích hợp cho các ứng dụng có CSDL quy mô vừa và nhỏ
1.1.4.2 Ngôn ngữ lập trình
- Khái niệm:
Trang 38Ngôn ngữ lập trình là một tập con của ngôn ngữ máy tính Đây là một dạngngôn ngữ được chuẩn hóa được dùng đẻ miêu tả những quá trình, ngữ cảnh mộtcách chi tiết
- Đặc điểm:
Dễ hiểu và dễ sử dụng đối với người lập trình để con gười có thể dùng để giảiquyết các bài toán Miêu tả một cách đầy đủ, rõ ràng các tiến trình để có thể chạyđược trên các máy tính
- Các ngôn ngữ lập trình thường dùng:
Ngôn ngữ lập trình hướng cấu trúc: cho phép diễn tả một thuật giải dễ dàngcũng như áp dụng thuật toán “chia để trị” giúp tránh lỗi khi viết các chươngtrìnhlơn, phức tạp Phương pháp này rất phổ biến và vẫn áp dụng nhiều trong hiệntại
VD: Pascal, C…
Ngôn ngữ lập trình hướng đối tượng: là phương thức cao hơn của lập trình, chophép “đóng gói” dữ liệu và các phương thức hoạt động trên chúng,đồng thời “cáchly” các đối tượng với nhau Mới hơn so với lập trình cấu trúc vàđược áp dụngnhiều trong thực tế VD: C++, C#, Java, Ada…
1.1.4.3 Công cụ tạo báo cáo
Báo cáo là một tài liệu chứa các thông tin được đưa ra từ chương trình ứng dụngtheo yêu cầu của người dùng Các báo cáo thường chứa các thông tin kết xuất từcác bảng cơ sở dữ liệu và được hiển thị ra máy in hoặc màn hình, tuỳ theo yêu cầucủa người sử dụng
Đặc điểm của các báo cáo trong hệ thống thông tin quản lý:
Thông qua các giao diện được hỗ trợ sẵn trong hệ thống giúp người quản lý dễdàng in ấn các báo cáo cần thiết đưa ra giấy
Báo cáo được cấu tạo bao gồm nhiều dòng, nhiều cột Nhưng do khổ giấy in cógiới hạn nên các báo cáo thường được thiết kế gồm ít cột và nhiều dòng
Một số công cụ tạo báo cáo:
Trang 39Crystal Report: đây là một công cụ tạo báo cáo được sử dụng phổ biến hiện nay,
hỗ trợ hầu hết các ngôn ngữ lập trình Crystal Report có thể thực hiện việc tạo báocáo một cách độc lập hoặc được tích hợp vào một số ngôn ngữ lập trìnhhiện nay(.NET) Crystal Report hỗ trợ các chức năng in ấn, kết xuất sang các định dạngkhác như Excel
Zoho Report: Nhiều doanh nghiệp mới có thể không có kinh phí ban đầu để cóđược tất cả mọi thứ họ muốn khi họ lần đầu tiên bắt đầu Zoho Reports sẽgiúp bạntiết kiệm tiền và vẫn có một báo cáo siêu chuyên nghiệp để chia sẻ
Element WordPro: Với Element WordPro bạn có thể tạo các báo cáo, thư từ, sơyếu lý lịch, bản fax một cách nhanh chóng và dễ dàng Element WordPro hỗ trợtất cả định dạng tài liệu hàng đầu: PDF, DOC (MSWord),DOCX (MSWord 2007+), và RTF (Rich Text Format)
Hệ quản trị CSDL trong VFP hỗ trợ người lập trình tạo báo cáo theo 2 cách:
Tạo báo cáo bằng report winzard: Đây là công cụ hỗ trợ tạo báo cáo khá thuận lợi
và nhanh chóng Cách thức thực hiện đơn giản
Tạo báo cáo bằng report designer: Công cụ này giúp người lập trình tự thiết kếbáo cáo từ đầu theo ý tưởng của mình, phù hợp với từng điều kiện hoàn cảnh
1.2 Nhận thức chung về kế toán tiền lương
1.2.1 Chức năng, nhiệm vụ của kế toán tiền lương.
Tiền lương là một phạm trù kinh tế gắn với người lao động, tiền tệ và nền sảnxuất hàng hóa trong điều kiện có sự biểu hiện bằng tiền của bộ phận sản phẩm xãhội mà người lao động được sử dụng để bù đắp hao phí về sức lao động của mìnhtrong quá trình lao động Tiền lương (hay tiền công) là số tiền thù lao mà doanhnghiệp trả cho người lao động theo số lượng và chất lượng lao động mà họ đónggóp cho doanh nghiệp, để tái sản xuất sức lao động, bù đắp hao phí của họ trongquá trình sản xuất kinh doanh Trong điều kiện tồn tại của nền sản xuất hàng hóanhiều thành phần, tiền lương là một bộ phận cấu thành giá trị của hàng hóa, đó làmột phần chi phí sản xuất, kinh doanh của doanh nghiệp Còn với người lao động,tiền lương là một bộ phận cơ bản của thu nhập người lao động Tiền lương là giá
Trang 40trị sức lao động được hình thành trên cơ sở giá trị sức lao động và nguồn sử dụnglao động Để bù đặp phần hao phí lao động đó, họ cần có một lượng nhất định cácvật phẩm tiêu dùng đáp ứng nhu cầu ăn ở, mặc, đi lại Như vậy người sử dụng laođộng phải đáp ứng nhu cầu đó cho người lao động đúng mức hao phí mà họ đã bỏ
ra thông qua tiền lương Tiền lương đảm bảo cho người lao động có thể tái sảnxuất sức lao động để họ có thể tham gia vào quá trình sản xuất tiếp theo Thu nhập
là nguồn sống chủ yếu của bản thân người lao động và gia đình của họ Như vậybản chất của tiền lương là toàn bộ phần thu nhập từ lao động mà người lao độngnhận được sau thời gian lao động mà họ đã bỏ ra
*Chức năng:
Tiền lương về mặt sản xuất và đời sống có hai chức năng cơ bản sau:
- Chức năng tái sản xuất sức lao động: Trong qua trình lao động sản xuất, sức laođộng hao mòn dần cùng với quá trình tạo ra sản phẩm Để thu hút nguồn lực sảnxuất và thực hiện các mục tiêu kinh tế, xã hội, một mặt nhà nước tạo môi trường,điều kiện để người lao động có việc làm, mặt khác nhà nước có chính sách hợp lý
để đảm bảo đời sông vật chất và tinh thần cho người lao động
- Chức năng đòn bẩy kinh tế: Lợi ích kinh tế là một hình thức biểu hiện của mộtchế độ kinh tế xã hội nhất định, là hoạt động thúc đẩy kinh tế của con người.Trong quà trình lao động, lơi ích kinh tế là động lực manh mẽ nhất của toàn bộnền kinh tế xã hội Việc giải quyết đúng đắn vấn đề về lợi ích sẽ phát huy tiềmnăng của mỗi người lao động một cách tốt nhất trong quá trình lao động sản xuất.Người lao động là nguồn lực sản xuất, chính sách tiền lương đúng đắn sẽ là độnglực to lớn nhằm phát huy sức mạnh của con người trong việc thực hiện mục tiênkinh tế xã hội Chính vì vậy việc tổ chức hệ thống quản lý lương phải thúc đẩy vàkhuyến khích người lao động nâng cao năng suất, chất lượng và hiệu quả lao động
Để trả tiền lương cho người lao động đúng (hợp lý), doanh nghiệp phải đảmbảo được các yêu cầu sau: Đúng với chế độ tiền lương của Nhà nước; gắn vớiquản lý lao động của doanh nghiệp Các yêu cầu trên có quan hệ chặt chẽ với nhau
và chỉ có trên cơ sở yêu cầu đó thì tiền lương mới kích thích được người lao động