3.4. Thiết kế và thực hiện hệ thống:3.4.1. Mơ hình logic: 3.4.1. Mơ hình logic:
3.4.1.1. Chuyển đổi mơ hình E – R sang mơ hình quan hệ:
► Biểu diễn các thực thể:
KHÁCH HÀNG → KHÁCH HÀNG (MaDt, Tendt, Diachi, Sdt, Email,
MST, Sotknh, Tennhkh).
NHÀ CUNG CẤP → NHÀ CUNG CẤP (MaDt, Tendt, Diachi, Sdt, Email, MST, Sotknh, Tennh)
NHÂN VIÊN → NHÂN VIÊN (MaNv, TenNv, Gioitinh, CMT, Diachi,
Sdt, Mapb, Chucvu)
PHÒNG BAN → PHÒNG BAN (MaPb, TenPb, Sdt, Fax)
NGÂN HÀNG → NGÂN HÀNG (MaNh, TenNh, Diachi, Sdt)
TÀI KHOẢN NGÂN HÀNG → TÀI KHOẢN NGÂN HÀNG(MaTknh,
TenTknh, MaNh, Sodu)
TÀI KHOẢN → TÀI KHOẢN(MaTk, TenTk, CapTk, LoaiTk, Sodu,
Duben)
► Biểu diễn các mối quan hệ:
<Thu tiền mặt> => PHIẾU THU (SoCt, NgayCt, MaDt, DiaChi, TkNo, TkCo, NguoiNop, LyDo, SoTien, MaTien, TyGia, KemTheo)
<Chi tiền mặt> => PHIẾU CHI (SoCt, NgayCt, MaDt, DiaChi, TkNo, TkCo, NguoiNhan, LyDo, SoTien, MaTien, TyGia, KemTheo)
<Chi tiền gửi> => GIẤY BÁO NỢ (SoCt, NgayCt, SoTknhDi,SoTknhDen, MaDt, DiaChi, TkNo, TkCo, NguoiNop, LyDo, SoTien, MaTien, TyGia)
<Phiếu kế tốn> => PHIẾU KẾ TỐN (SoCt, NgayCt, TkNo, TkCo, SoTien)
<Kiểm kê quỹ> => BIÊN BẢN KIỂM KÊ (SoBb, NgayBb, DaiDien1, DaiDien2, DaiDien3, MucDich, MenhGia, SoLuong) Quan hệ KHÁCH HÀNG, NHÀ CUNG CẤP và NHÂN VIÊN có cấu trúc tương tự nhau nên ta gộp thành một quan hệ là ĐỐI TƯỢNG như sau:
ĐỐI TƯỢNG (MaDt, Tendt, DiaChi, DienThoai, Email, MST, SoTknh,
TenNh).
Gộp các quan hệ PHIẾU THU, PHIẾU CHI, GIẤY BÁO NỢ, GIẤY
BÁO CĨ, PHIẾU KẾ TỐN thành 1 quan hệ là CHỨNG TỪ như sau :
CHỨNG TỪ (SoCt, MaLoaiCt, TenCt, NgayCt, SoTknhDi, SoTknhDen,
MaDt, DiaChi, TkNo, TkCo, NguoiGiaoDich, LyDo, SoTien, SoTienNt, MaTien, TyGia, KemTheo)
3.4.1.2. Biểu đồ của mơ hình quan hệ: ChungTu * SoCT LoaiCT NgayCT NgayGhiSo MaDt NguoiGD DiaChi LyDo MaTien TyGia TknhDi TknhDen KemTheo TkNo TkCo SoTien SoTienNT TrangThai DMTG MaTien TyGia NgayTyGia DMTK MaTk TenTK CapTk TkCha DuNoDk DuCoDk DuNoNt DuCoNt MaNt DoiTuong * MaDt MaNhomDT TenDt DiaChi DienThoai Email MST KiemKe SoBB NgayBB DaiDien1 DaiDien2 DaiDien3 MucDich KiemKe_CT Id SoBb MenhGia SoLuong DienGiai NGANHANG MaNH TenNH NhomDoiTuong MaNhomDT TenNhomDT TIENTE MaTien TenTien TKNH SoTknh TenTknh MaNh ChiNhanh 3.4.2. Thiết kế mơ hình vật lý:
3.4.2.1. Thiết kế cơ sở dữ liệu vật lý:
Sử dụng hệ quản trị dữ liệu Microsoft SQL Server 2014.
a. Bảng NHOMDT (Danh mục nhóm đối tượng)
Tên trường Kiểu Ý nghĩa Khóa
MaNhomDt VARCHAR(10) Mã loại đối tượng Khóa chính
TenNhomDt VARCHAR(50) Tên loại đối tượng
b. Bảng DOITUONG (Danh mục khách hàng, nhà cung cấp và nhân viên)
Tên trường Kiểu Ý nghĩa Khóa
MaDt VARCHAR(10) Mã đối tượng Khóa chính
MaNhomDt VARCHAR(10) Loại đối tượng Khóa thường
Tendt NVARCHAR(200) Tên đối tượng
DiaChi NVARCHAR(200) Địa chỉ
Email VARCHAR(100) Email
DienThoai VARCHAR(15) Số điện thoại
MST VARCHAR(20) Mã số thuế
SoTknh VARCHAR(20) Tài khoản ngân hàng
TenNh NVARCHAR(100) Tên ngân hàng
Bảng 3.5. Bảng Danh mục đối tượng
Quy tắc đặt mã đối tượng
- Khách hàng : CCNNNN. Ví dụ: KH0001 - Nhà cung cấp: CCCNNNN. Ví dụ: NCC0001 - Nhân viên: CCNNN. Ví dụ: NV0001
c. Bảng NGANHANG (Danh mục ngân hàng)
Tên trường Kiểu Ý nghĩa Khóa
MaNh VARCHAR(10) Mã ngân hàng Khóa chính
TenNh NVARCHAR(200) Tên ngân hàng
Bảng 3.7. Bảng Danh mục ngân hàng
d. Bảng DMTK (Danh mục tài khoản)
Tên trường Kiểu Ý nghĩa Khóa
LoaiTk NVARCHAR(100) Loại tài khoản
CapTk INT Cấp tài khoản
TkCha VARCHAR(7) Tài khoản cha
DuNoDk NUMERIC(18,0) Số dư nợ đầu kỳ VNĐ
DuCoDk NUMERIC(18,0) Số dư có đầu kỳ VNĐ
DuNoNt NUMERIC(18,2) Dư nợ nguyên tệ
DuCoNt NUMERIC(18,2) Dư có nguyên tệ
MaNt VARCHAR(5) Mã nguyên tệ Khóa thường
Bảng 3.8. Bảng Danh mục tài khoản
e. Bảng TKNH (Danh mục tài khoản ngân hàng)
Tên trường Kiểu Ý nghĩa Khóa
SoTknh VARCHAR(20) Số tài khoản Khóa chính
TenTknh NVARCHAR(100) Tên tài khoản
MaNh VARCHAR(10) Mã ngân hàng Khóa thường
ChiNhanh NVARCHAR(100) Chi nhánh ngân hàng
Bảng 3.9. Bảng Danh mục tài khoản ngân hàng
f. Bảng TIENTE (Danh mục các loại tiền)
Tên trường Kiểu Ý nghĩa Khóa
MaTien VARCHAR(5) Mã loại tiền Khóa chính
TenTien NVARCHAR(100) Tên loại tiền
g. Bảng DMTG (Danh mục tỷ giá)
Tên trường Kiểu Ý nghĩa Khóa
MaTien VARCHAR(5) Mã loại tiền Khóa chính
NgayTyGia DATETIME Ngày tỷ giá Khóa chính
TyGia NUMERIC(18,2) Tỷ giá
Bảng 3.11. Bảng Danh mục tỷ giá
h. Bảng CHUNGTU (Bảng chứng từ)
Tên trường Kiểu Ý nghĩa Khóa
SoCt VARCHAR(10) Số chứng từ Khóa chính
LoaiCt VARCHAR(5) Loại chứng từ
NgayCt DATETIME Ngày chứng từ
NgayGhiSo DATETIME Ngày ghi sổ
MaDt VARCHAR(10) Mã đối tượng Khóa thường
NguoiGd NVARCHAR(50) Người giao dịch
DiaChi NVARCHAR(200) Địa chỉ
LyDo NVARCHAR(200) Lý do
MaTien VARCHAR(5) Mã loại tiền Khóa thường
TyGia FLOAT Tỷ giá
TknhDi VARCHAR(20) Số TKNH chuyển đi
TknhDen VARCHAR(20) Số TKNH chuyển đến
KemTheo VARCHAR(10) Kèm theo
TkNo VARCHAR(7) Tài khoản nợ Khóa thường
TkCo VARCHAR(7) Tài khoản có Khóa thường
TrangThai BIT Ghi sổ hoặc chưa ghi sổ Bảng 3.12. Bảng chứng từ Quy tắc đặt mã Số chứng từ: CCNNNN. Ví dụ: - Phiếu thu: PT0001 - Phiếu chi: PC0001 - Giấy báo nợ: BN0001 - Giấy báo có: BC0001
i. Bảng KIEMKE (Bảng kiểm kê)
Tên trường Kiểu Ý nghĩa Khóa
SoBb VARCHAR(10) Số biên bản Khóa chính
NgayBb DATETIME Ngày biên bản
DaiDien1 VARCHAR(10) Mã đối tượng 1(thành
viên ban kiểm kê
Khóa thường
DaiDien2 VARCHAR(10) Mã đối tượng 2(thành
viên ban kiểm kê)
Khóa thường
DaiDien3 VARCHAR(10) Mã đối tượng 3(thành
viên ban kiểm kê)
Khóa thường
MucDich NVARCHAR(200) Mục đích lập biên bản
TrangThai BIT Đã xử lý hoặc chưa xử lý
Bảng 3.13. Bảng kiểm kê
j. Bảng KIEMKE_CT (Bảng kiểm kê chi tiết)
Tên trường Kiểu Ý nghĩa Khóa
Id INT Tự tăng Khóa chính
SoBb VARCHAR(10) Số biên bản Khóa thường
MenhGia NUMERIC(6,0) Mệnh giá
SoLuong NUMERIC(6,0) Số lượng
DienGiai NVARCHAR(200) Diễn giải
Bảng 3.14. Bảng chi tiết kiểm kê
3.5. Xây dựng PMKT vốn bằng tiền:
Một số màn hình giao diện của hệ thống:
3.5.1. Giao diện chính của chương trình:
Hình 3.13. Giao diện chính của chương trình
Sau khi đăng nhập thành cơng, giao diện chính của chương trình sẽ được hiển thị, người dùng có thể quan sát bao quát được các chức năng chính.
- Hệ thống menu ngang gồm:
Hệ thống: quản lý Người dùng, Sao lưu dữ liệu và thoát khỏi chương trình.
Hình 3.14. Giao diện menu Hệ thống
Danh mục: quản lý các danh mục Tài khoản, Đối tượng (Nhân viên, Khách hàng, Nhà cung cấp), Ngân hàng, Tài khoản ngân hàng và Tiền tệ.
Hình 3.15. Giao diện menu Danh mục
Nghiệp vụ: quản lý Thông tin đầu kỳ (Bảng số dư đầu kỳ), nghiệp vụ Tiền mặt (Phiếu thu, Phiếu chi) và nghiệp vụ Tiền gửi ngân hàng (Giấy báo Nợ, Giấy báo Có).
Hình 3.16. Giao diện menu Nghiệp vụ
Sổ và Báo cáo: quản lý các sổ và báo cáo cần lập trong kỳ (Sổ quỹ tiền mặt, tiền gửi, Sổ nhật ký thu – chi, Sổ cái, Báo cáo tồn quỹ).
3.5.2. Một số form chính của của hệ thống:
► Form đăng nhập hệ thống:
Hình 3.18. Form đăng nhập hệ thống
- Mục tiêu: khi bắt đầu chạy chương trình, người dùng phải đăng nhập để xác định quyền hạn truy cập.
- Thao tác xử lý:
+ Người dùng sẽ nhập Tên đăng nhập và Mật khẩu vào hai textbox, sau đó nhấn vào button Đăng nhập để tiến hành gửi yêu cầu đăng nhập tởi hệ thống.
+ Hệ thống tiến hành kiểm tra Tên đăng nhập và Mật khẩu có đúng với thơng tin được mã hóa trong bảng NguoiDung hay khơng.
- Kết quả:
+ Nếu Tên đăng nhập và Mật khẩu đúng, hệ thống sẽ di chuyển đến giao diện chính của phần mềm.
+ Nếu Tên đăng nhập hoặc Mật khẩu sai, hệ thống sẽ đưa ra một thông báo đăng nhập khơng thành cơng và người dùng có thể nhập lại Tên đăng nhập và Mật khẩu.
► Form đổi mật khẩu:
Hình 3.19. Form đổi mật khẩu
- Mục tiêu: đổi mật khẩu cho người dùng đang đăng nhập trong hệ thống. - Thao tác xử lý:
+ Người dùng thực hiện nhập Mật khẩu cũ và Mật khẩu mới trong hai textbox.
+ Khi nhấn button Lưu, hệ thống sẽ thực hiện đổi và lưu lại mật khẩu mới trong bảng NguoiDung.
+ Khi nhấn button Thoát, form Đổi mật khẩu sẽ ẩn đi, trở về màn hình giao diện chính của hệ thống.
► Form quản trị người dùng:
Hình 3.20. Form quản trị người dùng
Ở mỗi form này, người dùng có thể thực hiện các thao tác Thêm, Sửa, Xóa người dùng, đồng thời có thể xuất được dữ liệu dưới dạng PDF để in.
► Giao diện danh mục:
Ở mỗi form của một danh mục, người dùng có thể thực hiện các thao tác Thêm, Sửa, Xóa các bản ghi, đồng thời có thể xuất được dữ liệu dưới dạng PDF. - Giao diện Danh mục tài khoản:
Hình 3.21. Giao diện danh mục tài khoản
Giao diện Danh mục tài khoản thể hiện tất cả những tài khoản được sử dụng trong kế tốn vốn bằng tiền, người dùng có thể thêm, sửa hoặc xóa thơng
- Giao diện Danh mục đối tượng (gồm khách hàng, nhà cung cấp, nhân viên):
Hình 3.22. Giao diện danh mục đối tượng
- Giao diện Danh mục ngân hàng:
Hình 3.23. Giao diện danh mục ngân hàng
Hình 3.24. Giao diện danh mục tài khoản ngân hàng
- Giao diện danh mục tiền tệ:
Hình 3.25. Giao diện danh mục tiền tệ
► Giao diện của nghiệp vụ tiền mặt:
- Phiếu thu:
Hình 3.26. Giao diện danh sách phiếu thu
- Phiếu chi:
► Giao diện của nghiệp vụ tiền gửi:
- Giấy báo Nợ:
Hình 3.28. Giao diện danh sách Giấy báo Nợ
- Giấy báo Có:
3.5.3. Một số Sổ, Báo cáo:
► Sổ quỹ tiền mặt:
► Sổ tiền gửi ngân hàng:
► Sổ cái:
► Báo cáo tồn quỹ:
PHẦN KẾT LUẬN
Vốn bằng tiền là tiền đề cho một doanh nghiệp, là điều kiện cơ bản để doanh nghiệp thực hiện hoạt động sản xuất kinh doanh của mình, nó là một trong những khoản mục quan trọng của một doanh nghiệp, cơ sở để xác định khả năng thanh toán và kết quả hoạt động kinh doanh. Việc sử dụng phần mềm kế toán vốn bằng tiền sẽ giúp cán bộ quản lý vốn và hạch tốn một cách nhanh chóng, thuận tiện hơn.
Là một sinh viên chuyên ngành Tin học Tài chính Kế tốn, được may mắn thực tập Trung tâm sản xuất kinh doanh số 2 thuộc Công ty Cổ phần Ominext là nơi có điều kiện để em có thể học hỏi, trau dồi và nâng cao kiến thức chuyên môn. Đồng thời, hiểu rõ hơn trong việc xây dựng một hệ thống thông tin, cách thức xây dựng một phần mềm và lựa chọn một ngơn ngữ lập trình sao cho phù hợp nhất.
Trong khuôn khổ đồ án tốt nghiệp, em xin giới thiệu một cách tổng quan nhất về cơ sở lý luận, ngôn ngữ sử dụng để lập trình, phần phân tích chi tiết, thiết kế và xây dựng hoàn chỉnh phần mềm kế tốn vốn bằng tiền tại Cơng ty Cổ phần Ominext. Em rất mong sẽ nhận được các ý kiến đóng góp từ thầy, cơ để em có thể học hỏi thêm được nhiều kinh nghiệm và hồn thiện chương trình tốt hơn.
Một lần nữa, em xin cảm ơn TS. Vũ Bá Anh đã hỗ trợ em trong quá trình làm đồ án này. Em xin kính chúc Ban Giám đốc Học viện cùng Quý thầy cô luôn mạnh khỏe và thành công trong sự nghiệp trồng người cao cả. Kính chúc Ban Giám đốc Cơng ty Cổ phần Ominext và các anh chị trong công ty luôn gặt hái được nhiều thành công trong công việc để xây dựng Ominext ngày càng lớn mạnh hơn nữa.
DANH MỤC TÀI LIỆU THAM KHẢO
[1]. Ths Vũ Bá Anh - Giáo trình Cơ sở dữ liệu - Học viện tài chính.
[2]. Nguyễn Văn Ba - Phân tích và thiết kế hệ thống thông tin - Nhà xuất bản Đại học Quốc Gia Hà Nội, Hà Nội 2006.
[3]. GS.TS Ngô Thế Chi, TS Trương Thị Thủy - Giáo trình Kế Tốn Tài Chính - Nhà xuất bản Tài Chính 2010.
[4]. Nguyễn Văn Vỵ - Giáo trình Phân tích thiết kế hệ thống thơng tin - Nhà xuất bản Nông nghiệp, Hà Nội 2004.
[5]. TS Hồng Hải Xanh- Giáo trình Phân tích thiết kế hệ thống thơng tin- Học viện tài chính [6] Các website: www.mof.gov.vn http://hvtc.edu.vn http://webketoan.vn http://google.com.vn
PHỤ LỤC
Một số đoạn code trong chương trình:
Code: Giao diện chính
private void navBarItemPhieuThu_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
{
foreach (Form f in MdiChildren) {
f.Close(); }
ChungTu.FrmDanhSachChungTu frm = new ChungTu.FrmDanhSachChungTu(); frm.luachonds.LuaChon = "DanhSachPhieuThu";
frm.MdiParent = this; frm.Show();
}
private void barBtnPhieuThu_ItemClick(object sender, ItemClickEventArgs e) {
if (connectsql.quyen == "3") {
MessageBox.Show("Bạn không đủ quyền thực hiện chức năng này"); return;
}
foreach (Form f in MdiChildren) {
f.Close(); }
ChungTu.FrmDanhSachChungTu frm = new ChungTu.FrmDanhSachChungTu(); frm.luachonds.LuaChon = "DanhSachPhieuThu";
//frm.MdiParent = this; frm.ShowDialog(); }
private void navBarItemPhieuChi_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
{
foreach (Form f in MdiChildren) {
f.Close(); }
ChungTu.FrmDanhSachChungTu frm = new ChungTu.FrmDanhSachChungTu(); frm.luachonds.LuaChon = "DanhSachPhieuChi";
frm.MdiParent = this; frm.Show();
}
private void barBtnPhieuChi_ItemClick(object sender, ItemClickEventArgs e) {
return; }
foreach (Form f in MdiChildren) {
f.Close(); }
ChungTu.FrmDanhSachChungTu frm = new ChungTu.FrmDanhSachChungTu(); frm.luachonds.LuaChon = "DanhSachPhieuChi";
//frm.MdiParent = this; frm.ShowDialog(); }
private void navBarItemBaoNo_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
{
foreach (Form f in MdiChildren) {
f.Close(); }
ChungTu.FrmDanhSachChungTu frm = new ChungTu.FrmDanhSachChungTu(); frm.luachonds.LuaChon = "DanhSachGiayBaoNo";
frm.MdiParent = this; frm.Show();
}
private void barBtnBaoNo_ItemClick(object sender, ItemClickEventArgs e) {
if (connectsql.quyen == "3") {
MessageBox.Show("Bạn không đủ quyền thực hiện chức năng này"); return;
}
foreach (Form f in MdiChildren) {
f.Close(); }
ChungTu.FrmDanhSachChungTu frm = new ChungTu.FrmDanhSachChungTu(); frm.luachonds.LuaChon = "DanhSachGiayBaoNo";
//frm.MdiParent = this; frm.ShowDialog(); }
private void navBarItemBaoCo_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
{
foreach (Form f in MdiChildren) {
f.Close(); }
ChungTu.FrmDanhSachChungTu frm = new ChungTu.FrmDanhSachChungTu(); frm.luachonds.LuaChon = "DanhSachGiayBaoCo";
frm.MdiParent = this; frm.Show();
private void barBtnBaoCo_ItemClick(object sender, ItemClickEventArgs e) {
if (connectsql.quyen == "3") {
MessageBox.Show("Bạn không đủ quyền thực hiện chức năng này"); return;
}
foreach (Form f in MdiChildren) {
f.Close(); }
ChungTu.FrmDanhSachChungTu frm = new ChungTu.FrmDanhSachChungTu(); frm.luachonds.LuaChon = "DanhSachGiayBaoCo";
//frm.MdiParent = this; frm.ShowDialog(); }