Tài liệu Xây dựng hệ thống thông tin quản lý tài sản cố định trong Ngân hàng nông nghiệp và phát triển nông thôn (AgriBank) Nam Hà Nội (Visual FoxPro): ... Ebook Xây dựng hệ thống thông tin quản lý tài sản cố định trong Ngân hàng nông nghiệp và phát triển nông thôn (AgriBank) Nam Hà Nội (Visual FoxPro)
144 trang |
Chia sẻ: huyen82 | Lượt xem: 1522 | Lượt tải: 2
Tóm tắt tài liệu Xây dựng hệ thống thông tin quản lý tài sản cố định trong Ngân hàng nông nghiệp và phát triển nông thôn (AgriBank) Nam Hà Nội (Visual FoxPro), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
Trang
NHỮNG TỪ VIẾT TẮT TRONG LUẬN VĂN
TSCĐ : Tài sản cố định
TSCĐVH : Tài sản cố định vô hình
TSCĐ HH : Tài sản cố định hữu hình
KHTSCĐ : Khấu hao tài sản cố định
NGTSCĐ : Nguyên giá tài sản cố định
HTTT : Hệ thống thông tin
CNTT : Công nghệ thông tin
NHNo&PTNTNam Hà Nội: Ngân hàng Nông nghiệp và Phát triển nông Nam Hà Nội
NHNo&PTNT Hà Nội : Ngân hàng Nông nghiệp và Phát triển nông thôn Hà Nội
NHNo&PTNT Việt Nam : Ngân hàng Nông nghiệp và Phát triển nông thôn Việt Nam
LỜI NÓI ĐẦU
Kinh tế toàn cầu đặt ra những cơ hội và thách thức cho đất nước ta, nhất là trong lĩnh vực kinh tế. Làm sao đưa Việt Nam thành một nước có nền công nghiệp phát triển đó là một câu hỏi lớn trong đại hội Đảng toàn quốc lần thứ X vừa qua.
Chúng ta đang sống trong kinh tế tri thức hay kinh tế thông tin. Thông tin đóng một vai trò vô cùng quan trọng. Nó làm xuất hiện những yêu cầu mới, những đòi hỏi mới, những thách thức mới đặc biệt là vấn đề nắm bắt thông tin chính vì lẽ đó công nghệ thông tin ngày càng phát triển mạnh mẽ trên thế giới. Quốc gia nào, người nào nắm bắt được thông tin nhanh, đúng, chính xác và kịp thời nhưng phải đảm bảo an toàn và bảo mật thông tin dữ liệu quốc gia đó, người đó sẽ là người chiến thắng. Những ứng dụng công nghệ thông tin vào trong mọi mặt của đời sống xã hội đã và đang đem lại những kết quả khả quan không thể phủ nhận. Từ chính phủ đến các doanh nghiệp, từ các công ty lớn đến các công ty nhỏ đang dần áp dụng những thành tựu của công nghệ thông tin. Thuật ngữ tin học hóa không còn xa lạ nữa. Nhất là trong lĩnh vực kinh doanh tiền tệ như Ngân hàng, công nghệ thông tin được áp dụng từ rất sớm và hiện nay hầu hết các Ngân hàng đã có những phầm mềm chuyên dụng, trong Ngân hàng Nông nghiệp và Phát triển nông thôn Việt Nam đang sử dụng đồng bộ các phần mềm thống nhất từ tổng đến các chi nhánh. Song vẫn còn một số bộ phận, một số mảng vẫn chưa được áp dụng công nghệ thông tin, muốn thành công hơn nữa thì Ngân hàng này cần tin học hóa triệt để nhằm đem lại hiệu quả kinh doanh cao hơn. Do vậy qua thời gian thực tập tại Ngân hàng Nông nghiệp và Phát triển nông thôn Nam Hà nội và được sự gợi ý của Ngân hàng em đã chọn đề tài “Xây dựng hệ thống thông tin Quản lí tài sản cố định trong NHNo&PTNT Nam Hà Nội” để làm luận văn tốt nghiệp của mình.
Mục đích của việc thực hiện đề tài này đầu tiên giúp em có điều hiện thực hành những kiến thức đã được đào tạo trong trường và tìm hiểu thực tế môi trường công việc sau này.
LỜI CẢM ƠN
Trong suốt 4 năm học tập và rèn luyện dưới mái trường Đại học Kinh tế Quốc dân, được sự dìu dắt của các thầy các cô giáo. Đặc biệt các thầy cô trong khoa Tin học kinh tế và thầy trưởng khoa P.GS-TS Hàn Viết Thuận là người trực tiếp hướng dẫn tận tình cho em từ những bước đi ban đầu, trong suốt thời gian thực tập thầy là người luôn động viên, chỉ bảo cho em về chuyên môn cũng như kinh nghiệm sống được làm việc với thầy em không chỉ học được ở thầy những kiến thức chuyên môn mà còn học được một tinh thần trách nhiện với công việc và với những sinh viên của mình. Em đã và đang hoàn thiện bản thân cũng như trình độ chuyên môn. Cho em gửi lời cảm ơn trân thành đến các thầy cô giáo và người thầy P.GS-TS Hàn Viết Thuận.
Để hoàn thành được luận văn tốt nghiệp này em đã nhận được sự giúp đỡ nhiệt tình của các anh các chị trong Ngân hàng Nông nghiệp và Phát triển Nông thôn chi nhánh Nam Hà Nội, đặc biệt là cán bộ hướng dẫn trưởng phòng Nguyễn Danh Vận, em cũng xin chân thành cảm ơn gia đình, bạn bè đã cổ vũ em trong thời gian qua.
Em xin chân thành cảm ơn !
Sinh viên
Đào Thị Lan Hương
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ NGÂN HÀNG NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN CHI NHÁNH NAM
HÀ NỘI
Ngân hàng Nông nghiệp và Phát triển nông thôn Việt Nam (NHNo&PTNTVN) là ngân hàng thương mại hàng đầu Việt Nam, có mạng lưới chi nhánh trên toàn quốc và cơ sở nghiệp vụ hiện đại và có hệ thống dịch vụ tự động ATM hoạt động 24/24h. Ngân hàng Nông Nghiệp cam kết luôn mang đến cho khách hàng những dịch vụ tốt nhất, hiện đại nhất mọi lúc mọi nơi. Với phương châm AGIBANK phát triển bền vững hoà nhập quốc tế
Tổng quan về NHNo&PTNTVN
Tên cơ quan
Ngân hàng nông nghiệp và phát triển nông thôn Hà Nội
Địa chỉ
Số 2 Láng Hạ – Hà Nội
Điện thoại
04 8687500
Web
www.agibank.com.vn
Lãnh đạo
GĐ-BTĐU: TSKT Lê Văn Sở
Căn cứ vào “Quyết định của hội đồng quản trị NHNo&PTNT Việt Nam” Số: 454/QĐ/HĐQT-TCCB V/v Ban hành Qui chế về Tổ chức và Hoạt động của chi nhánh NHNo&PTNT Việt Nam.
NHNo&PTNT Nam Hà Nội là chi nhánh cấp 1 của NHNo&PTNT Việt Nam là đơn vị hạch toán phụ thuộc có con dấu riêng và bảng cân đối tài khoản, có trụ sở giao dịch riêng nơi có điều kiện thuận lợi cho hoạt động kinh doanh tiền tệ, tín dụng và dịch vụ ngân hàng khác là đại diện theo uỷ quyền của NHNo&PTNT Việt Nam có quyền tự chủ kinh doanh theo phân cấp và chịu sự ràng buộc về nghĩa vụ và quyền lợi đối với NHNo&PTNT Việt Nam.
NHNo&PTNT Nam Hà Nội nằm trong mối liên hệ mật thiết với: NHNo&PTNT Việt Nam, Ngân hàng Nhà nước, NHNo&PTNT Hà Nội, Khách hàng và các chi nhánh khác trên cả nước.
Mối quan hệ chủ yếu của NHNo&PTNT chi nhánh Nam Hà Nội với môi trường trực tiếp xung quanh.
NHNo&PTNT
Nam Hà Nội
Ngân hàng Nhà nước
Khách hàng
NHNo&PTNT
Hà Nội
NHNo&PTNT
Việt Nam
Tổng quan chi nhánh Nam Hà Nội
Nơi thực tập
NHNo&PTNT Nam Hà Nội
Địa chỉ
C3-Phương Liệt-Thanh Xuân-Hà Nội
Điện thoại
04 8687661 (Phòng Kế Toán Ngân Quĩ)
Giám đốc điều hành
Nguyễn Văn Dương
I. NHIỆM VỤ CHỨC NĂNG CHÍNH CỦA NHNo&PTNT NAM HÀ NỘI
1. Các nhiệm vụ chính
1.1. Huy động vốn
- Khai thác và nhận tiền gửi của các tổ chức, cá nhân và tổ chức tín dụng khác dưới các hình thức tiền gửi không kì hạn, tiền gửi có kì hạn và các loại tiền gửi khác trong nước và nước ngoài bằng đồng Việt Nam và ngoại tệ.
- Phát hành chứng chỉ tiền gửi, trái phiếu và giấy tờ có giá trị khác để huy động vốn của các tổ chức, cá nhân trong và ngoài nước theo qui định của NHNo&PTNT Việt Nam
- Tiếp nhận các nguồn vốn tài trợ, vốn uỷ thác của chính phủ, chính quyền địa phương và các tổ chức kinh tế, cá nhân trong nước và nước ngoài theo qui định của NHNo&PTNT Việt Nam.
- Được phép vay vốn của các tổ chức tài chính, tín dụng khác hoạt động tại Việt Nam và tổ chức tín dụng nước ngoài khi được Tổng giám đốc NHNo&PTNT Việt Nam cho phép bằng văn bản.
- Các hình thức huy động vốn khác theo qui định của NHNo&PTNT Việt Nam.
- Việc huy động có thể bằng tiền Việt Nam, ngoại tệ, vàng và các công cụ khác theo qui định của NHNo&PTNT Việt Nam
1.2. Cho vay
- Cho vay ngắn hạn nhằm đáp ứng nhu cầu cho sản xuất, kinh doanh, dịch vụ, đời sống cho các tổ chức cá nhân hoạt động trên lãnh thổ Việt Nam
- Cho vay trung hạn, dài hạn nhằm thực hiện các dự án đầu tư phát triển sản xuất, kinh doanh, dịch vụ, đời sống cho các tổ chức cá nhân hoạt động trên lãnh thổ Việt Nam
1.3. Kinh doanh ngoại hối
Huy động vốn là cho vay, mua, bán ngoại tệ, thanh toán quốc tế, bảo lãnh, tái bảo lãnh, chiết khấu, tái chiết khấu bộ chứng từ và các dịch vụ khác về ngoại hối theo chính sách quản lí ngoại hối của chính phủ, Ngân hàng nhà nước và của NHNo&PTNT Việt Nam
1.4. Cung ứng các dịch vụ thanh toán và ngân quĩ gồm:
- Cung ứng các dịch vụ thanh toán
- Thực hiện các dịch vụ thanh toán trong nước cho khách hàng
- Thực hiện các dịch vụ thu hộ và chi hộ
- Thực hiện dịch vụ thu và phát tiền mặt cho khách hàng
- Thực hiện các dịch vụ thanh toán khác theo qui định của ngân hàng nhà nước và của NHNo&PTNT Việt Nam
1.5. Kinh doanh các dịch vụ ngân hàng khác.
Kinh doanh các dịch vụ ngân hàng bao gồm: thu, phát tiền mặt, thu bán vàng bạc, máy rút tiền tự động dịch vụ thẻ: két sắt, nhận bảo quản, cất ghi, chiết khấu thương phiếu và các loại giấy tờ có giá khác, thẻ thanh toán: Nhận uỷ thác cho vay của các tổ chức tài chính, tín dụng, tổ chức, cá nhân trong và ngoài nước; đại lí cho thuê tài chính, các dịch vụ ngân hàng khác được nhà nước và NHNo&PTNT Việt Nam cho phép
1.6. Tư vấn tài chính, tín dụng cho khách hàng dưới hình thức trực tiếp tư vấn cho khách hàng.
1.7. Cân đối, điều hoà vốn kinh doanh đối với các chi nhánh cấp 2 phụ thuộc trên địa bàn.
1.8. Thực hiện hạch toán kinh doanh và phân phối thu nhập theo qui định cuả NHNo&PTNT Việt Nam.
1.9 Đầu tư dưới các hình thức như: góp vốn, mua cổ phần của danh nghiệp và các tổ chức kinh tế khác khi được NHNo&PTNT Việt Nam cho phép.
1.10 Bảo lãnh vay, bảo lãnh thanh toán, bảo lãnh thực hiện hợp đồng, bảo lãnh dự thầu, bảo lãnh đảm bảo chất lượng sản phẩm, bảo lãnh hoàn thanh toán, bảo lãnh đối ứng và các hình thức bảo lãnh ngân hàng khác cho các tổ chức, cá nhân trong nước theo qui định của NHNo&PTNT Việt Nam
1.11 Quản lí nhà khách, nhà nghỉ và các cơ sở đào tạo trên địa bàn do NHNo&PTNT Việt Nam giao.
1.12 Thực hiện công tác tổ chức, cán bộ, đào tạo, lao động, tiền lương thi đua, khen thưởng theo phân cấp, uỷ quền của NHNo&PTNT Việt Nam
1.13 Thực hiện kiểm tra, thanh toán nội bộ việc chấp hành thể lệ, chế độ nghiệp vụ trong phạm vi địa bàn theo qui định của NHNo&PTNT Việt Nam.
1.14 Tổ chức phổ biến, hướng dẫn và triển khai thực hiện các cơ chế, qui chế nghiệp vụ và văn bản pháp luật của Nhà nước, Ngân hàng nhà nước và NHNo&PTNT Việt Nam liên quan đến hoạt động của chi nhánh
1.15 Nghiên cứu, phân tích kinh tế liên quan đến hoạt động tiền tệ, tín dụng và đề ra kế hoạch kinh doanh phù hợp với kế hoạch kinh doanh của NHNo&PTNT Việt Nam và kế hoạch triển khai kinh tế xã hội địa phương
1.16 Thực hiện công tác thông tin, tuyên truyền, quảng các, tiếp thị lưu trữ các hình ảnh làm tư liệu phục vụ cho việc trực tiếp kinh doanh của chi nhánh cũng như việc quảng bá thương hiệu của NHNo&PTNT Việt Nam
1.17 Chấp hành đầy đủ các báo cáo, thống kê theo chế độ qui định và theo yêu cầu đột xuất của tổng Giám đốc NHNo&PTNT Việt Nam
1.18 Thực hiện các nhiệm vụ khác do Hội đồng quản trị, Tổng giám đốc NHNo&PTNT Việt Nam giao
2. Các chức năng chính
1.1 Trực tiếp kinh doanh tiền tệ, tín dụng, dịch vụ ngân hàng và các hoạt động kinh doanh khác có liên quan vì mục đích lợi nhuận theo phân cấp của NHNo&PTNT Việt Nam trên địa bàn theo địa gới hành chính
1.2 Tổ chức điều hành kinh doanh và kiểm tra, kiểm toán nội bộ theo uỷ quyền của tổng Giám đốc NHNo&PTNT Việt Nam
1.3 Thực hiện các nhiệm vụ khác được giao và lệnh của tổng giám đốc NHNo&PTNT Việt Nam
II. NGUYÊN TẮC TỔ CHỨC HOẠT ĐỘNG VÀ ĐIỀU HÀNH CỦA NHNo&PTNT NAM HÀ NỘI
1. Nguyên tắc tổ chức hoạt động
1.1 Tuân thủ các chính sách, chế độ của ngành và qui định của pháp luật có liên quan đến hoạt động kinh doanh ngân hàng; bảo đảm nguyên tắc tập trung, thống nhất trong hệ thống NHNo&PTNT Việt Nam; đồng thời kết hợp việc phân cấp, uỷ quyền, khuyến khích tính năng động, sáng tạo và chủ động của chi nhánh trong NHNo&PTNT Việt Nam
1.2. Cùng với các đơn vị trong hệ thống NHNo&PTNT Việt Nam tạo thành một hệ thống đồng bộ thống nhất trong tổ chức và hoạt động kinh doanh tiền tệ, tín dụng và dịch vụ ngân hàng
2. Nguyên tắc điều hành
1.1 Điều hành hoạt động của chi nhánh là giám đốc, giúp việc giám đốc có ba phó giám đốc
1.2 Điều hành hoạt động nghiệp vụ của các phòng, tổ chuyên môn nghiệp vụ và tương đương là trưởng phòng, tổ trưởng. Giúp việc trưởng phòng, tổ trưởng có một số phó trưởng phòng, tổ phó.
3. Cơ cấu tổ chức
Giám đốc
Giám đốc điều hành
Các P.giám đốc
1. Phó giám đốc kinh doanh
2. Phó giám đốc tài chính
3. Phó giám đốc thanh toán quốc tế
Các Trưởng phòng nghiệp vụ trung tâm
1. Phòng Kế toán Ngân quĩ
2. Phòng Nguồn vốn và Kế hoạch tổng hợp
3. Phòng Tín Dụng
4. Phòng Thẩm Định
5. Phòng Kinh doanh ngoại tệ và Thanh toán quốc tế
6. Phòng Tổ chức Hành chính
7. Phòng Kiểm tra Kiểm toán nội bộ
Các chi nhánh phòng giao dịch
1. Các phòng giao dịch số 4,5,6,9
2. Các chi nhánh các cấp 2 thuộc NHNo&PTNT Nam Hà Nội
+Chi nhánh Nam Đô
-Phòng giao dịch Học viện ngân hàng
-Phòng giao dịch Chùa Bộc
+Phòng giao dịch chi nhánh Tây Đô
-Phòng giao dịch số 1
+Chi nhánh Giảng Võ
-Phòng giao dịch số 1
Sơ đồ tổ chức của Ban giám đốc
GIÁM ĐỐC
Phó Giám đốc
Thanh toán quốc tế
Phó Giám đốc
Tổ chức, tài chính
Phó Giám đốc
Kinh danh
Sơ đồ tổ chức NHNo&PTNT Nam Hà Nội
Giảng Võ
Số 4
P
Kế toán & Ngân quỹ
Số 5
Số 6
Số 9
Nam Đô
Tây
Đô
Các
chi nhánh cấp 2
Các phòng giao dịch
BAN GIÁM ĐỐC
P
Tín dụng
P
Tổ chức hành chính
P
Kiểm tra & Kiểm toán Nội bộ
P
Thẩm định
P
KD
ngoại tệ
Thanhtoán QT
P
Nguồn vốn & Kế hoạch TH
Sơ đồ tổ chức tại trụ sở chính của chi nhánh
P
Tổ chức hành chính
P
Nguồn vốn &
kế hoạch tổng hợp
P.GĐ
Thanh toán quốc tế
P.GĐ
Kinh doanh
P
Thẩm định
P
KD ngoại tệ & thanh toán
quốc tế
P
Kế toán &
kiểm toán nội bộ
P
Kế
toán ngân quĩ
P
Tín dụng
Giám đốc
P.GĐ
Tổ chức hành chính
III. CHỨC NĂNG CỦA CÁC PHÒNG BAN VÀ CÁC CHI NHÁNH CẤP 2
1. Phòng Nguồn Vốn và Kế hoạch tổng hợp
Phòng Nguồn Vốn và kế hoạch tổng hợp có các nhiệm vụ sau:
- Nghiên cứu, đề xuất chiến lược khách hàng, chiến lược huy động vốn tại địa phương
- Xây dựng kế hoạch kinh doanh ngắn hạn, trung và dài hạn theo định hướng kinh doanh của NHNo&PTNT Việt Nam
- Tổng hợp, theo dõi các chỉ tiêu kế hoạch kinh doanh và quyết toán kế hoạch đến các chi nhánh địa bàn
- Tổng hợp, phân tích hoạt động kinh doanh quí, năm. Dự thảo các báo cáo sơ kết tổng kết
- Tổ tiếp thị
- Thư kí hội đồng TĐKT
- Tổng hợp, báo cáo chuyên đề theo qui định
- Thực hiện các nhiệm vụ khác do Giám đốc chi nhánh giao
- Xây dựng chương trình công tác hàng tháng, quí của chi nhánh và có trách nhiệm thường xuyên đôn đốc việc thực hiện chương trình đã được giám đốc chi nhánh phê duyệt
- Xây dựng và triển khai chương trình giao ban nội bộ chi nhánh và các chi nhánh NHNo&PTNT trực thuộc trên địa bàn. Trực tiếp làm thư kí tổng hợp cho Giám đốc NHNo&PTNT
2. Phòng Tín dụng
Phòng Tín dụng có những nhiệm vụ sau:
- Nghiên cứu xây dựng chiến lược khách hàng tín dụng, phân loại khách hàng và đề xuất các chính sách ưu đãi đối với từng loại khách hàng nhằm mở rộng theo hướng đầu tư tín dụng khép kín: sản xuất, chế biến, tiêu thụ, xuất khẩu và gắn tín dụng sản xuất, lưu thông và tiêu dùng
- Phân tích kinh tế theo ngành, nghề kinh tế kĩ thuật, danh mục khách hàng lựa chọn biện pháp cho vay an toàn và đạt hiệu quả cao
- Thẩm định và đề xuất cho vay các dự án tín dụng theo phân cấp uỷ quyền
- Thẩm định các dự án, hoàn thiện hồ sơ trình ngân hàng cấp trên theo phân cấp uỷ quyền
- Tiếp nhận và thực hiện các chương trình, dự án thuộc nguồn vốn trong nước và ngoài nước. Trực tiếp làm dịch vụ uỷ thác nguồn vốn thuộc chính phủ, bộ, ngành khác và các tổ chức kinh tế, cá nhân trong và ngoài nước.
- Xây dựng và thực hiện các mô hình tín dụng thí điểm, thử nghiệm trong địa bàn, đồng thời theo dõi, đánh giá, sơ kết, tổng kết; đề xuất Tổng giám đốc cho phép nhân rộng
- Thường xuyên phân loại dư nợ, phân tích nợ quá hạn, tìm nguyên nhân và đề xuất hướng khắc phục
- Thực hiện các nhiệm vụ khác do giám đốc chi nhánh giao
3. Phòng Thẩm định
Phòng Thẩm định có các nhiệm vụ sau:
- Thu thập, quản lí, cung cấp những thông tin phục vụ cho việc thẩm định và phòng ngừa rủi ro tín dụng
- Thẩm định các khoản vay do giám đốc chi nhánh cấp 1 qui định, chỉ định theo uỷ quyền của Tổng giám đốc và thẩm định những món vay vượt quyền phán quyết của Giám đốc chi nhánh cấp dưới
- Thẩm định những khoản vay vượt mức phán quyết của giám đốc chi nhánh cấp 1, đồng thời lập hồ sơ trình Tổng giám đốc để xem xét phê duyệt
- Thẩm định khoản vay do Tổng giám đốc qui định hoặc do giám đốc chi nhánh cấp 1 qui định theo mức phán quyết cho vay của giám đốc chi nhánh cấp1
- Tổ chức kiểm tra công tác thẩm định chi nhánh cấp 1
- Tập huấn nghiệp vụ cho cán bộ thẩm định
- Thực hiện chế độ thông tin, báo cáo theo qui định
- Thực hiện các công việc khác do giám đốc chi nhánh cấp 1 giao
- Đầu mối thực hiện thông tin phòng ngừa rủi ro và xử lí rủi ro tín dụng
- Giúp giám đốc chi nhánh chỉ đạo, kiểm tra hoạt động tín dụng của các chi nhánh trực thuộc trên địa bàn
- Tổng hợp báo cáo và kiểm tra chuyên đề theo qui định
4. Phòng Kinh doanh và Thanh toán quốc tế
Phòng Kinh doanh và thanh toán quốc tế có nhiệm vụ sau:
- Các nghiệp vụ kinh doanh ngoại tệ (mua-bán, chuyển đổi) thanh toán quốc tế trực tiếp theo qui đinh
- Thực hiện công tác thanh toán quốc tế thông qua mạng SWIFT NHNo&PTNT Việt Nam
- Thực hiện các nghiệp vụ tín dụng, bảo lãnh ngoại tệ có liên quan đến thanh toán quốc tế
- Thực hiện các nghiệp vụ kiều hối và chuyển tiền, mở tài khoản các hàng khách nước ngoài
- Thực hiện các nghiệp vụ khác do giám đốc giao
5. Phòng Kế toán Ngân quỹ
Phòng Kế toán Ngân quỹ có các nhiệm vụ sau:
- Trực tiếp hoạch toán kế toán, hoạch toán thống kê và thanh toán theo qui định của Ngân hàng nhà nước, NHNo&PTNT Việt Nam
- Xây dựng chỉ tiêu kế hoạch tài chính, quyết toán kế hoạch thu, chi tài chính, quĩ tiền lương đối với các chi nhánh trên địa bàn trình Ngân hàng nông nghiệp cấp trên phê duyệt
- Quản lí và sử dụng các quĩ chuyên dùng theo qui định của NHNo&PTNT trên địa bàn
- Tổng hợp, lưu trữ hồ sơ tài liệu về hạch toán, kế toán, quyết toán và báo cáo theo qui định
- Thực hiện các khoản nộp ngân sách theo luật định
- Thực hiện nghiệp vụ thanh toán trong và ngoài nước
- Chấp hành qui định về an toàn kho quĩ và định mức tồn kho theo qui định
- Quản lí, sử dụng thiết bị thông tin, điện toán phục vụ nghiệp vụ kinh doanh theo qui định của NHNo&PTNT Việt Nam
- Chấp hành chế độ báo cáo và kiểm tra chuyên đề
- Thực hiện các nhiệm vụ khác do giám đốc chi nhánh giao
6. Phòng Tổ chức Hành chính
Nhiệm vụ của phòng Tổ chức Hành chính như sau:
- Thực thi luật pháp có liên quan đến an ninh, trật tự, phòng cháy, nổ tại cơ quan
- Lưu trữ các văn bản pháp luật có liên quan đến ngân hàng và văn bản định chế của NHNo&PTNT Việt Nam
- Đầu mối giao tiếp với khách đến làm việc, công tác tại chi nhánh
- Trực tiếp quản lí con dấu của chi nhánh: thực thi công tác hành chính, văn thư, lễ tân, phương tiện giao thông, bảo vệ, y tế chi nhánh
- Thực hiện công tác xây dựng văn bản, sửa chữa TSCĐ, mua sắm công cụ lao động, vật rẻ mau hỏng, quản lí nhà tập thể, nhà khách, nhà nghỉ của cơ quan
- Đầu mối trong việc chăm lo đời sống vật chất, văn hoá, tinh thần và thăm hỏi ốm, đau, hiếu, hỉ cán bộ, nhân viên.
- Thực hiện nhiệm vụ khác được Giám đốc chi nhánh giao.
- Xây dựng qui chế lề lối làm việc trong đơn vị và mối quan hệ với tổ chức Đảng, Công đoàn, chi nhánh trực thuộc trên địa bàn.
- Đề xuất mở rộng mạng lưới kinh doanh trên địa bàn
- Đề xuất định mức lao động, giao khoán quĩ tiền lương đến các chi nhánh (chi nhánh NHNo&PTNT trực thuộc trên địa bàn theo qui chế khoán tài chính của NHNo&PTNT Việt Nam)
- Đề xuất, hoàn thiện và lưu trữ hồ sơ theo đúng qui định của Nhà nước, Đảng, Ngân hàng nhà nước trong việc bổ nhiệm, miễn nhiệm, khen thưởng, kỉ luật cán bộ, nhân viên trong phạm vi phân cấp uỷ quyền của Tổng giám đốc NHNo&PTNT Việt nam
7. Phòng Kiểm tra, Kiểm toán nội bộ
Phòng Kiểm tra kiểm toán nội bộ có nhiệm vụ sau:
- Xây dựng chương trình công tác năm, quí phù hợp với chương trình công tác kiểm tra, kiểm toán của NHNo&PTNT Việt Nam và đặc điểm cụ thể của từng đơn vị
- Tuân thủ tuyệt đối sự chỉ đạo nghiệp vụ kiểm tra kiểm toán. Tổ chức thực hiện kiểm tra, kiểm toán theo đề cương, chương trình công tác kiểm tra, kiểm toán của NHNo&PTNT Việt Nam và kế hoạch của đơn vị, kiểm toán nhằm đảm bảo an toàn trong hoạt động kinh doanh ngay tại hội sở và các chi nhánh phụ thuộc
- Thực hiện sơ kết, tổng kết chuyên đề theo định kì hàng quí, 6 tháng, năm. Tổ chức giao ban hàng tháng đối với kiểm tra viên chi nhánh Ngân hàng cấp 2. Tổng hợp và báo cáo kịp thời các kết quả kiểm tra, kiểm toán, việc chỉnh sửa các tồn tại thiếu sót của chi nhánh, đơn vị mình theo định kì gửi tổ chức kiểm tra, kiểm toán văn phòng đại diện và ban kiểm tra, kiểm toán nội bộ. Hàng tháng có báo cáo nhanh về các công tác chỉ đạo điều hành hoạt động kiểm tra, kiểm toán của mình gửi về ban kiểm tra, kiểm toán nội bộ
- Tổ chức kiểm tra xác minh, tham mưu cho giám đốc giải quyết đơn thư thuộc thẩm quyền. Làm nhiệm vụ thường trực ban chống tham nhũng, tham ô, lãng phí và thực hành tiết kiệm của đơn vị mình
- Thực hiện các nhiệm vụ khác do Tổng giám đốc, trưởng ban kiểm tra, kiểm tra, kiểm toán nội bộ hoặc giám đốc giao.
8. Chi nhánh cấp 2
. Có con dấu riêng
. Có nhiệm vụ thực hiện một phần các hoạt động của chi nhánh cấp 1 và theo uỷ quyền của NHNo&PTNT Việt Nam
Huy động vốn
Cho vay
Cung ứng các dịch vụ thanh toán và ngân quĩ
Kinh doanh các dịch vụ ngân hàng khác
Hướng dẫn khách hàng xây dựng dự án, thẩm định các dự án tín dụng vượt quyền phán quyết; trình chi nhánh cấp trên quyết định
Kinh doanh các nghiệp vụ ngoại hối khi được tổng giám đốc NHNo&PTNT Việt Nam cho phép
Thực hiện hạch toán kinh doanh và phân phối thu nhập theo qui định của NHNO&PTNT Việt Nam.
Thực hiện kiểm tra, kiểm toán nội bộ việc chấp hành thể lệ, chế độ nghiệp vụ trong phạm vi địa bàn theo qui định.
Tổ chức thực hiện việc phân tích kinh tế liên quan đến hoạt động tiền tệ, tín dụng và đề ra kế hoạch kinh doanh phù hợp với kế hoạch kinh doanh của cấp trên và kế hoạch phát triển kinh tế xã hội ở điạ phương.
Chấp hành đầy đủ các báo cáo, thống kê theo chế độ qui định và theo yêu cầu đột xuất của giám đốc chi nhánh cấp trên.
Thực hiện công tác thông tin, truyền bá, quảng cáo, tiếp thị phục vụ trực tiếp cho kinh doanh của chi nhánh cũng như việc quảng bá thương hiệu của NHNo&PTNT Việt Nam.
Thực hiện các nghiệp vụ khác được giám đốc chi nhánh cấp trên giao.
IV. GIỚI THIỆU PHÒNG KẾ TOÁN NGÂN QUĨ
1. Cơ cấu tổ chức của phòng
Trưởng phòng : Trần Thị Mai Anh
Phó phòng : Nguyễn Thị Thục
Các nhân viên : 27 nhân viên
Trong đó : Có tổ tin học 3 nhân viên
2. Nhiệm vụ, chức năng, quyền hạn
1. Trực tiếp hoạch toán kế toán, hoạch toán thống kê và thanh toán theo qui định của Ngân hàng nhà nước, NHNo&PTNT Việt Nam.
2. Xây dựng chỉ tiêu kế hoạch tài chính, quyết toán kế hoạch thu, chi tài chính, quĩ tiền lương đối với các chi nhánh trên địa bàn trình Ngân hàng nông nghiệp cấp trên phê duyệt.
3. Quản lí và sử dụng các quĩ chuyên dùng theo qui định của NHNo&PTNT trên địa bàn.
Tổng hợp, lưu trữ hồ sơ tài liệu về hạch toán, kế toán, quyết toán và báo cáo theo qui định.
Thực hiện các khoản nộp ngân sách theo luật định.
Thực hiện nghiệp vụ thanh toán trong và ngoài nước.
Chấp hành qui định về an toàn kho quĩ và định mức tồn kho theo qui định.
Quản lí, sử dụng thiết bị thông tin, điện toán phục vụ nghiệp vụ kinh doanh theo qui định của NHNo&PTNT Việt Nam.
Chấp hành chế độ báo cáo và kiểm tra chuyên đề.
Thực hiện các nhiệm vụ khác do giám đốc chi nhánh giao.
3. Lý do lựa chọn đề tài
Trong thời gian thực tập tại NHNo&PTNT Nam Hà Nội cụ thể là tại phòng Kế Toán Ngân Quĩ em đã tìm hiểu về cơ cấu tổ chức, cách thức hoạt động và đặc biệt em đã đi sâu tìm hiểu về các ứng dụng công nghệ thông tin của Ngân Hàng. Em nhận thấy NHNO&PTNT Việt Nam đã thực hiện tin học hoá từ rất sớm, các phần mềm công nghệ đã được triển khai như:
1. Phần mềm quản lí nhân sự, tháng 8 năm 1999
2. Ngân hàng bán lẻ
3. Chương trình tính tiền lương chạy trên Excel
4. Qui trình mua bán ngoại tệ được thực hiện bằng hệ thống thanh toán SWIFT-Foxpro forDos
5. Phần mềm thông tin báo cáo Foxpro for Dos thường xuyên được sử dụng để báo cáo các vấn đề cho NHNO&PTNTTW
6. Phần mềm truyền tin Fastnet viết bằng Visual Basis
7. Dịch vụ Phone Banking bằng VB do NHNo&PTNTVN cung cấp hoặc giải đáp trực tiếp cho khách hàng
8. Chương trình IPCAS.
Các ứng dụng công nghệ thông tin được áp dụng từ trên tổng đến các chi nhánh cụ thể là từ NHNo&PTNT Việt Nam đến các chi nhánh, phòng giao dịch và tuỳ vào từng qui mô để áp dụng.
Tại phòng Kế toán Ngân Quĩ và phòng Tổ chức Hành chính các hoạt động kế toán được thực hiện và quản lý một cách thường xuyên liên tục nhưng chưa có những phần mềm chuyên dụng cho kế toán như Kế toán về Tài sản cố định và Quản lý Tài sản cố định vẫn đang được thực hiện một cách thủ công trên Excel.
Tài sản cố định là cơ sở vật chất không thể thiếu của mỗi quốc gia trong nền kinh tế nói chung và cho mỗi doanh nghiệp sản xuất cũng như kinh doanh tiền tệ nói riêng. Quản lí Tài sản cố định luôn được đặt ra cấp bách, luôn có những câu hỏi thường trực như: Trong đơn vị có bao nhiêu loại tài sản, tình trạng của các tài sản đó hiện nay như thế nào, giá trị còn lại là bao nhiêu, khấu hao trong bao nhiêu năm, đã hết thời gian khấu hao hay chưa…. Việc theo dõi phản ánh đầy đủ, chính xác tình hình tăng giảm, hao mòn, khấu hao, sửa chữa lớn và hiệu quả sử dụng tài sản cố định là nhiệm vụ quan trọng của quản lí TSCĐ và đặc biệt trong ngành Ngân Hàng quản lí tài sản lại có những nét đặc trưng riêng rất cần được quản lí tốt để không chỉ đem lại hiệu quả sử dụng cao mà còn có ý nghĩa thiết thực trong việc định hướng đầu tư và sản xuất kinh doanh.
Bài toán Quản lí tài sản cố định không phải là bài toán mới nhưng hoàn toàn không phải là bài toán dễ. Để tiến hành hoạt động kinh doanh của mình, bất cứ một doanh nghiệp nào cũng cần 3 yếu tố: Tư liệu sản xuất, đối tượng lao động và lao động. Tài sản cố định là tư liệu lao động là một trong ba yếu tố cơ bản của quá trình sản xuất kinh doanh, song không phải tất cả các Tư liệu lao động đều là Tài sản cố định mà chỉ bao gồm những Tư liệu lao động chủ yếu có đủ tính chất về mặt giá trị và thời gian sử dụng qui định trong chế độ quản lý tài chính hiện hành.
Chính vì những lí do trên nên sau một thời gian tìm hiểu em đã quyết định chọn đề tài “ Xây dựng và thiết kế hệ thống thông tin Quản lí tài sản cố định trong NHNo&PTNT Nam Hà Nội”.
Chương trình “Xây dựng hệ thống thông tin Quản lí tài sản cố định trong NHNo&PTNT Nam Hà Nội” bao gồm các chức năng chính sau đây:
Hệ thống
Danh mục từ điển
Cập nhật dữ liệu
Theo dõi thay đổi liên quan dến TS
Tính khấu hao
Lập và in các báo cáo
Trợ giúp.
CHƯƠNG II. PHƯƠNG PHÁP LUẬN NGHIÊN CỨU ĐỀ TÀI
I. TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN
1. Khái niệm về hệ thống
- Hệ thống là tập hợp các phần tử tương tác được tổ chức nhằm thực hiện một mục tiêu xác định
Trong đó:
Phần tử bao gồm các phương tiện vật chất và nhân lực, mỗi phần tử đều có thuộc tính (đặc trưng)
Giữa các phần tử luôn có mối quan hệ, các mối quan hệ quyết định sự tồn tại và phát triển của hệ. Mỗi khi thêm bớt phần tử sẽ làm biến đổi các mối quan hệ
Hệ thống có tính kiểm soát (cân bằng và tự điều chỉnh) điều đó đảm bảo tính thống nhất và để theo đuổi mục tiêu của mình
Hệ thống luôn có mục tiêu, tổng thể phải hướng về một mục tiêu chung cho tất cả các phần tử.
Hệ thống có giới hạn xác định những phần tử trong và ngoài hệ thống, tính giới hạn mang tính chất mở
Hệ thống luôn nằm trong một môi trường, trong đó có một số phần tử của hệ thống tương tác với môi trường bên ngoài.
- Quản lí (theo J.W.Forsester) như một quá trình biến đổi thông tin đưa đến hành động, là một quá trình tương đương việc ra quyết định...
Hay (theo F.Kast và J.Rosenweig) quản lí bao gồm việc điều hòa các nguồn tài nguyên nhân lực và vật chất để đạt tới mục đích. Vậy quản lí có 4 yếu tố cơ bản: Hướng tới mục tiêu, Thông qua con người, Sử dụng các kĩ thuật, Bên trong một tổ chức.
- Thông tin trong quản lí là thông tin được nhà quản lí cần hoặc muốn sử dụng để thực hiện tốt chức năng của họ
2. Khái niệm về hệ thống thông tin
Hệ thống thông tin là một tập hợp những con người, các thiết bị phần cứng, phần mềm, dữ liệu... thực hiện hoạt động thu thập dữ liệu, lưu trữ, xử lí và phân phối thông tin trong một tập hợp các rằng buộc được gọi là môi trường.
Nó được thể hiện bởi những con người, các thủ tục, dữ liệu và thiết bị tin học hoặc không tin học. Đầu vào (Inputs) của hệ thống thông tin được lấy từ các nguồn (Sources) và được xử lý (Outputs) và được chuyển đến đích (Destination) hoặc cập nhật vào các kho lưu trữ dữ liệu (Storage).
Nguồn
Đích
Xử lý và
lưu trữ
Thu thập
Kho dữ liệu
Phân phát
Mô hình hệ thống thông tin
Như hình trên minh hoạ, mọi hệ thống thông tin có bốn bộ phận: bộ phận đưa dữ liệu vào, bộ phận xử lí, kho dữ liệu và bộ phận đưa dữ liệu ra.
3. Khái niệm hệ thống thông tin quản lý (MIS)
MIS là một cấu trúc hợp nhất các cơ sở dữ liệu và dòng thông tin làm tối ưu cho việc thu thập, truyền và trình bày thông tin thông qua tổ chức nhiều cấp có các nhóm thực hiện nhiều nhiệm vụ để hoàn thành mục tiêu thống nhất.
Đặc trưng của MIS:
Hỗ trợ cho chức năng xử lý dữ liệu trong giao dịch và lưu trữ
Dùng cơ sở dữ liệu hợp nhất và hỗ trợ cho nhiều lĩnh vực chức năng.
Cung cấp cho các nhà quản lý chiến lược, sách lược và tác nghiệp khả năng thu thập các thông tin theo thời gian (phần lớn thông tin có cấu trúc).
Linh hoạt có thể thích ứng với những thay đổi về nhu cầu thông tin của tổ chức.
Có cơ chế bảo mật thông tin theo từng cấp độ có thẩm quyền sử dụng.
II. PHƯƠNG PHÁP XÂY DỰNG HỆ THỐNG THÔNG TIN
Trong việc phát triển một hệ thống thông tin người ta lại coi phương pháp phát triển hệ thống thông tin và coi đó là một trong những công đoạn quan trọng đặc biệt do nhu cầu hoàn thiện và bổ xung chỉ được thực hiện với một hệ thống thông tin được thiết kế đầy đủ.
Hệ thống thông tin là một đối tượng phức tạp, vận động trong một môi trường cũng rất phức tạp. Để làm chủ sự phức tạp đó, phân tích viên cần có một cách tiến hành nghiêm túc, một phương pháp
Mục đích của dự án phát triển một hệ thống thông tin là có một sản phẩm đáp ứng nhu cầu của người sử dụng, mà nó được hoà hợp trong các hoạt động của tổ chức, chính xác về mặt kĩ thuật, tuân thủ các giới hạn về tài chính và thời gian định trước. Không nhất thiết phải theo đuổi một phương pháp để phát triển một hệ thống thông tin, nhưng nếu không có một phương pháp cụ thể thì ta có nguy cơ không đạt được những mục tiêu đã định trước.
Vậy phương pháp: như một tập hợp các bước và các công cụ cho phép tiến hành một quá trình phát triển hệ thống chặt chẽ nhưng dễ quản lí hơn. Phương pháp phải dựa vào 3 nguyên tắc cơ sở chung của nhiều phương pháp hiện đại có cấu trúc để phát triển hệ thống thông tin. Ba nguyên tắc đó là:
Sử dụng các mô hình
Chuyển từ cái chung sang cái riêng
Chuyển từ mô hình vật lý sang mô hình logíc khi phân tích từ mô hình logíc sang mô hình vật lý khi thiết kế.
Sử dụng các mô hình của hệ thống thông tin cùng mô tả một đối tượng nhưng được nhìn từ nhiều góc độ khác nhau. Phương pháp phát triển một hệ thống cần được phân định rõ ràng ba bước
Nguyên tắc đi từ chung đến riêng là một nguyên tắc của sự đơn giản hóa. Trên thực tế người ta khẳng định rằng để hiểu tốt một hệ thống thì trước hết phải hiểu các mặt chung trước khi xem._. xét chi tiết. Sự cần thiết áp dụng nguyên tắc này là điều hiển nhiên. Tuy nhiên những công cụ đầu tiên được sử dụng để phát triển ứng dụng tin học cho phép tiến hành mô hình hóa một hệ thống bằng các khía cạnh chi tiết hơn. Nhiệm vụ lúc đó sé khó khăn hơn nhiều
Nguyên tắc chuyển từ mô hình vật lý sang mô hình logíc khi phân tích từ mô hình logic sang mô hình vật lý khi thiết kế làm cho nhiệm vụ phát triển hệ thống cũng đơn giản hơn, việc phân tích bắt đầu từ thu thập dữ liệu về hệ thống thông tin đang tồn tại và về khung cảnh của nó. Nguồn dữ liệu là những người sử dụng, các tài liệu khái quát. Cả ba nguồn này cung cấp chủ yếu sự mô tả mô hình vật lý ngoài của hệ thống.
Ta thử tưởng tượng nếu không có phương pháp phát triển hệ thống thông tin hay một phần mềm được sản xuất ra không theo một phương pháp thiết kế nào thì sản phẩm của nó sẽ ra sao? Người phát triển hệ thống sẽ rất dễ rơi vào tình trạng không xác dịnh, mất phương hướng, họ sẽ không hiểu họ đang làm gì và cái họ làm ra được sử dụng như thế nào. Nếu không có phương pháp thì chỉ cần một thay đổi nhỏ cũng có thể làm đảo lộn cơ chế hoạt động của toàn bộ phần mềm, vì thế khi muốn bổ xung thêm 1 chức năng công việc đầu tiên là phải xem xét lại toàn bộ thiết kế.
Tùy theo từng người, từng đối tượng mà có các sự lựa chọn phương pháp khác nhau. Có thể chia làm 3 phương pháp phát triển hệ thống thông tin sau:
1. Phương pháp 1: Đi từ chi tiết đến tổng hợp
Đây là phương pháp sẽ đi từ những vấn đề nhỏ, vấn đề cụ thể, chi tiết. Sau đó tập hợp chúng, phân tích đánh giá trên cơ sở đánh giá mức độ tương tự về chức năng của các vấn đề này trong việc giải quyết bài toán. Người ta gộp chúng lại thành từng nhóm có cùng chức năng. Cuối cùng ta có thể thêm những chương trình làm phong phú hơn, đầy đủ hơn, tổng quát hơn cho đến khi đạt được vấn đề cần đưa ra theo yêu cầu của hệ thống
Áp dụng phương pháp này hệ thống sẽ đảm bảo không trùng lặp thông tin, loại bỏ được phần lớn các thông tin trùng lặp và không cần thiết mà lại đem lại một hệ thống hoạt động tốt .
2. Phương pháp 2: Đi từ tổng hợp đến cụ thể
Phương pháp này đi ngược lại với phương pháp trên, nó xuất phát từ yêu cầu thực tiễn của hệ thống ta từng bước chia nhỏ đi tìm cái cụ thể chi tiết hơn. Ta sẽ bắt đầu từ những vấn đề tổng quát nhất, yêu cầu bao gồm toàn bộ hệ thống chia nhỏ thành các module chính đến các module nhỏ hơn cho đến khi giải quyết được các module nhỏ đó thì dừng lại
Với phương pháp này hệ thống sẽ họat động ngay cả khi chưa thật hoàn thiện, tức là nó có thể hoạt động theo từng phần, từng bộ phận.
Nhưng phương pháp nào cũng có ưu và nhược, với phương pháp này thì dễ gây ra lãng phí trong việc trùng lặp thông tin trong hệ thống hay có những thao tác không cần thiết
3. Phương pháp 3: Tổng hợp hai phương pháp
Như ta đã biết cả hai phương pháp trên đều thể hiện ưu và nhược điểm, việc kết hợp cả hai phương pháp trên để phát triển một hệ thống thông tin dường như sẽ đem lại một hiệu qủa cao hơn.
Phương pháp này là tiến hành song song hai phương pháp cùng một lúc đảm bảo sự kết hợp chặt chẽ với nhau, các thông tin cần nhất quán. Đây là phương pháp nhằm giảm thiểu tối đa các nhược điểm của hai phương pháp trên, chúng bổ xung cho nhau nhằm đem lại hiệu quả tốt hơn. Song tùy từng doanh nghiệp, tùy từng phong cách phát triển hệ thống thông tin mà người ta chọn phương pháp nào cho phù hợp nhất. Chứ đây cũng không phải là phương pháp tối ưu nhất.
Dù thực hiện bất cứ phương pháp nào xong muốn phát triển một hệ thống thông tin tốt nhất định không được bỏ qua 3 nguyên tắc đã nêu ở trên, mà còn phải tuân thủ chặt chẽ nó mới đem lại hiệu quả cao.
III. CÁC CÔNG ĐOẠN PHÁT TRIỂN HỆ THỐNG
Làm bất cứ một công việc gì mà muốn đem lại hiệu quả cao thì chúng ta cần phải có phương pháp cụ thể và các công đoạn làm việc. Thông qua các công đoạn đó ta có thể quản lí được quá trình làm việc, biết mình đang làm ở đâu, kết quả ra sao, nên tiếp tục hay dừng lại, hay đổi hướng phát triển như thế nào.
Trong một hệ thống thông tin dù lớn hay nhỏ muốn xây dựng được thì không thể tùy tiện làm việc mà phải làm việc theo những công đoạn cụ thể nhất định gọi là các công đoạn phân tích thiết kế. Đây là một công việc chủ đạo xuyên suốt quá trình phát triển hệ thống thông tin.
Phương pháp phát triển một hệ thống thông tin gồm 7 giai đoạn sau:
Đánh giá yêu cầu
Phân tích chi tiết
Thiết kế logic
Đề xuất phương án và giải pháp
Thiết kế vật lý ngoài
Triển khai kĩ thuật hệ thống
Bảo trì và khai thác hệ thống
Giai đoạn bao gồm một dãy các công đoạn được liệt kê kèm theo dưới đây. Cuối mỗi giai đoạn cần kèm theo việc ra quyết định có tiếp tục hay chấm dứt việc phát triển hệ thống. Quyết định này được trợ giúp dựa vào nội dung báo cáo mà phân tích viên hoặc nhóm phân tích viên trình bày cho người sử dụng. Phát triển hệ thống là một quá trình lặp dựa theo kết quả của một giai đoạn có thể và đôi khi phải cần thiết phải quay lại giai đoạn trước để khắc phục những sai sót. Một số nhiệm vụ được thực hiện trong suốt quá trình, đó là việc lập kế hoạch cho giai đoạn tới, kiểm soát các nhiệm vụ đã hoàn thành, đánh giá dự án, và lập tài liệu về hệ thống và về dự án:
Mô tả các giai đoạn của việc phát triển hệ thống thông tin
1. Giai đoạn đánh giá yêu cầu
Đánh giá yêu cầu có mục đích cung cấp cho lãnh đạo của tổ chức hay hội đồng giám đốc những dữ liệu đích thực để ra quyết định về thời cơ, tính khả thi và hiệu quả của một dự án phát triển hệ thống. Giai đoạn này thực hiện tương đối nhanh và đòi hỏi chi phí lớn. Song đánh giá đúng yêu cầu là quan trọng cho việc thành công của một dự án. Một sai lầm phạm phải trong giai đoạn này có thể làm lùi bước trên toàn bộ dự án, kéo theo những chi phí lớn lãng phí cho tổ chức.
Đánh giá một yêu cầu gồm việc nêu vấn đề, ước đoán độ lớn của dự án và những thay đổi có thể, đánh giá tác động của những thay đổi đó, đánh giá tính khả thi của dự án và đưa ra những gợi ý cho những người có trách nhiệm ra quyết định. Giai đoạn này phải được tiến hành trong thời gian tương đối ngắn để không kéo theo nhiều chi phí về thời gian. Một số chuyên gia ước tính rằng, thời gian dành cho đánh giá dự án chiếm 4-5% tổng số thời gian dành cho dự án. Đó là một nhiệm vụ phức tạp, vì nó đòi hỏi người phân tích phải thực hiện nhanh với sự nhạy bén cao, từ đó xác định những nguyên nhân có thể nhất và đề xuất các giải pháp, xác định độ lớn về chi phí và thời hạn để đi đến giải pháp mới, đánh giá được tầm quan trọng của những biến đổi, dự báo được những ảnh hưởng của chúng.
Như vậy trong một thời gian ngắn, phân tích viên phải thực hiện lướt qua toàn bộ các công đoạn của việc phát triển hệ thống thông tin. Nên cần phải giao công việc này cho những người giàu kinh nghiệm.
Đánh giá yêu cầu gồm 4 công đoạn chính:
Lập kế hoạch
Làm rõ yêu cầu
Đánh giá khả thi
Chuẩn bị yêu cầu và đánh giá yêu cầu
Lập kế hoạch
Mỗi giai đoạn của quá trình phát triển hệ thống cần phải được lập kế hoạch cẩn thận, mức độ hình thức hóa của kế hoạch này sẽ thay đổi theo quy mô của dự án và theo giai đoạn phân tích.
Lập kế hoạch của giai đoạn thẩm định dự án là làm quen với hệ thống đang xét, xác định thông tin phải thu thập cũng như phương pháp thu thập cần dùng, số lượng và sự đa dạng của nguồn thông tin này phụ thuộc vào kích thước và độ phức tạp của hệ thống cần nghiên cứu.
Làm rõ yêu cầu
Làm rõ yêu cầu là làm cho các phân tích viên yêu cầu hiểu đúng yêu cầu của người yêu cầu, xác định chính xác đối tượng yêu cầu, thu thập các yêu cầu cơ bản của hệ thống và xác định khung cảnh nghiên cứu. Giai đoạn đánh giá yêu cầu và cụ thể là công đoạn làm rõ yêu cầu cho phép các phân tích viên xác định chính xác xem người sử dụng muốn gì?
Tiếp theo phân tích viên phải đánh giá xem yêu cầu có đúng như đề nghị để có thể giảm xuống hay mở rộng tăng thêm.
Làm sáng tỏ yêu cầu chủ yếu được làm sáng tỏ qua những cuộc gặp gỡ với những người yêu cầu sau đó là với những quản lý chính mà bộ phận của họ bị tác động hay bị ảnh hưởng bởi hệ thống đang nghiên cứu.
Khung cảnh của hệ thống được xem như các nguồn hay các đích của thông tin cũng như các bộ phận, các chức năng và các cá nhân tham gia vào xử lý dữ liệu. Xác định khung cảnh của hệ thống không phải dễ dàng, nếu phân tích viên xác định nó quá dễ dàng sẽ dẫn đến một số thành phần bị bỏ qua, hệ thống – kết quả của dự án sẽ không đáp ứng tốt nhu cầu của tổ chức, và nó có thể tác động đến những bộ phận hoặc hệ thống mà người ta không tính đến trong quá trình phát triển hệ thống. Nhưng nếu xác định quá rộng khung cảnh cũng có những hậu quả tiêu cực, mặc dù nó đảm bảo cho nhà phân tích tính hết các tác động quan trọng của môi trường nhưng sẽ làm tăng thời gian và chi phí của hệ thống tương lai. Chính vì vậy phân tích viên phải tận dụng những cuộc gặp gỡ cũng như tham vấn từ những tài liệu khác nhau có trong tổ chức để thu thập những thông tin về hệ thống và môi trường xác thực của nó. Những thông tin có liên quan đến các mặt kỹ thuật, tổ chức và tài chính rất cần cho việc tiến hành đánh giá khả năng thực thi của dự án.
Những cuộc trao đổi cho phép thu thập cái nhìn của các nhân tố khác nhau về vấn đề nguồn gốc của yêu cầu, do vậy phân tích viên phải rút ra những yếu tố khách quan nhất.
Các công cụ được nhà phân tích dùng cho quá trình phát triển dự án đặc biệt là trong giai đoạn đánh giá yêu cầu là phỏng vấn, quan sát, nghiên cứu tài liệu, sử dụng phiếu điều tra.
Cuối cùng phân tích viên phải tổng hợp thông tin dưới ánh sáng của những vấn đề đã được xác định, và những nguyên nhân có thể nhất, chuẩn bị một bức tranh khái quát về giải pháp để tiến hành đánh giá khả năng thực thi của dự án.
Đánh giá khả thi
Đánh giá khả thi của một dự án là tìm xem có yếu tố nào ngăn cản các nhà phân tích thực hiện, cài đặt một cách thành công giải pháp đã đề xuất hay không. Trong quá trình phát triển hệ thống luôn luôn phải tiến hành đánh giá lại.
Những vấn đề chính về khả năng thực thi là: khả thi về tổ chức, khả thi về tài chính, khả thi về thời gian, khả thi về kỹ thuật.
Chuẩn bị yêu cầu và đánh giá yêu cầu
Báo cáo giúp các nhà quyết định cho phép dự án tiếp tục hay dừng lại, báo cáo phải cung cấp một bức tranh sáng sủa và đầy đủ về tình hình và kiến nghị những hành động tiếp theo. Báo cáo thường được trình bày để các nhà ra quyết định có thể yêu cầu làm rõ thêm các vấn đề, sau đó là tiếp tục hay loại bỏ dự án.
2. Giai đoạn phân tích chi tiết
Phân tích chi tiết được tiến hành sau khi có sự đánh giá thuận lợi về yêu cầu. Những mục đích chính của phân tích chi tiết là hiểu rõ các vấn đề của hệ thống đang nghiên cứu, xác định nguyên nhân đích thực của vấn đề đó, xác định những đòi hỏi, những ràng buộc, áp đặt đối với hệ thống và xác định mục tiêu mà hệ thống thông tin mới cần đạt được. Trên cơ sở nội dung báo cáo phân tích chi tiết sẽ quyết định tiến hành hay thôi phát triển hệ thống mới. Để đảm bảo giai đoạn phân tích chi tiết cần thực hiện qua các công đoạn sau:
- Lập kế hoạch phân tích chi tiết
- Nghiên cứu môi trường của hệ thống đang tồn tại
- Nghiên cứu hệ thống thực tại
- Đưa ra chuẩn hóa và xác định các yếu tố giải pháp
- Đánh giá lại khả thi
- Thay đổi đề xuất của dự án
- Chuẩn bị và trình bày báo cáo chi tiết của dự án
Cụ thể công việc từng công đoạn như sau:
Lập kế hoạch phân tích chi tiết
Người chịu trách nhiệm của giai đoạn này phải lập kế hoạch về các nhiệm vụ phải thực hiện. Kế hoạch đưa ra cần chi tiết cụ thể tránh tình trạng chung chung kế hoạch chỉ để làm kế hoạch, lập kế hoạch chi tiết cụ thể để thực hiện các giai đoạn sau dễ dàng hơn.
Nghiên cứu môi trường của hệ thống đang tồn tại
Khi đưa ra chuẩn đoán về hệ thống hiện thời, phân tích viên phải cố gắng có được sự hiểu biết sâu sắc về môi trường hệ thống nghiên cứu để đánh giá mức độ phù hợp giữa các đặc trưng hệ thống với các ràng buộc của môi trường.
Nghiên cứu hệ thống thực tại
Cho biết lý do tồn tại của hệ thống, các mối liên hệ của nó với các hệ thống khác trong tổ chức, những người sử dụng, các bộ phận cấu thành, các phương thức xử lý, thông tin mà nó sản sinh ra, những dữ liệu mà nó thu nhận, khối lượng dữ liệu mà nó xử lý, giá cả gắn liền với thu thập, xử lý và phân phát thông tin, hiệu quả xử lý dữ liệu...
Đưa ra chuẩn hóa và xác định các yếu tố giải pháp
Nhiệm vụ của công đoạn này là:
Đưa ra chuẩn đoán, xác định các mục tiêu mà hệ thống được sửa chữa hoặc hệ thống cần đạt được, và xác định các yếu tố của giải pháp.
Đánh giá lại khả thi
Được thực hiện bằng việc so sánh các thông tin mà thu thập được từ những công đoạn trước với những ràng buộc về tổ chức kỹ thuật và tài chính, thời hạn đã được xác định trước đây.
Thay đổi đề xuất của dự án
Khi đánh giá lại khả thi người phân tích đã phác họa một đề xuất của dự án và được người sử dụng chấp nhận. Cùng với những thông tin vừa mới thu thập được và việc đánh giá lại khả thi vừa rồi, chúng ta cần xem xét và sửa đổi lại lần cuối cùng đề xuất của dự án, phải cố gắng cung cấp cho những người ra quyết định một bức tranh toàn cảnh và rõ nét về dự án, các nhiệm vụ cần thực hiện, chi phí cùng các ràng buộc về thời gian thực hiện hệ thống mới.
Chuẩn bị và trình bày báo cáo chi tiết của dự án
Báo cáo chi tiết của dự án là một tài liệu vô cùng quan trọng bởi nó sẽ phục vụ cho việc ra quyết định tiếp tục hay hủy bỏ dự án.
Báo cáo không nên đi quá chi tiết, chỉ nên đưa ra những vấn đề căn bản mà người phân tích đã tìm thấy đúc kết được, báo cáo tốt nên đưa ra các phụ lục có hình minh họa chi tiết. Những tài liệu về hệ thống như DCI, DFD, từ điển dữ liệu không phải là một bộ phận của báo cáo. Đừng để cho người ra quyết định phải lặn ngụp vào một đống tài liệu sau đó mới có thể hiểu được những kết luận và gợi ý của nhà nghiên cứu.
Tóm lại: Bản thảo là đối tượng của một buổi trình bày, buổi trình bày này nêu ra các điểm chính đưa ra bởi các nhà phân tích. Những kết luận của các nhà phân tích sẽ giúp ích cho các nhà ra quyết định.
3. Giai đoạn thiết kế logic
Sau khi bản báo cáo phân tích chi tiết được thông qua và có quyết định tiếp tục phát triển dự án thì đội ngũ phân tích chuyển sang giai đoạn thiết kế logic cho hệ thống thông tin mới.
Mục đích của giai đoạn này là xác định một cách chi tiết và chính xác những gì mà hệ thống mới phải làm đề đạt được mục tiêu đã được thiết lập từ giai đoạn phân tich chi tiết.
Sản phẩm đưa ra của giai đoạn thiết kế logic là các sơ đồ dữ liệu (DFD), các sơ đồ cấu trúc dữ liệu (DSD), các sơ đồ phân tích tra cứu và các phích logic của từ điển hệ thống.
Các công đoạn chính của giai đoạn:
- Thiết kế cơ sở dữ liệu
- Thiết kế xử lý
- Thiết kế các luồng dữ liệu vào
- Chỉnh sửa tài liệu cho mức logic
- Hợp thức hóa mô hình logic
Thiết kế cơ sở dữ liệu là thiết kế hệ thống lưu giữ thông tin của người sử dụng sao cho thông tin vào một cách dễ dàng đơn giản nhất mà thông tin ra đầy đủ và phong phú nhất.
Đây là công việc tương đối phức tạp cán bộ thiết kế không chỉ cần phải biết về các phương pháp mà còn dựa vào kinh nghiệm thiết kế. Do đó thiết kế ban đầu có thể nhiều sai sót song trong quá trình nghiên cứu kĩ lưỡng hơn hệ thống cơ sở dữ liệu sẽ được chau chuốt hơn
Có hai phương pháp thiết kế cơ sở dữ liệu chủ yếu đó là:
- Thiết kế cơ sở dữ liệu logic từ các thông tin ra
Đây là phương pháp cổ điển và cơ bản của thiết kế CSDL. Các bước thực hiện như sau:
. Xác định các đầu ra
. Xác định các tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra như: Liệt kê các thông tin đầu ra; Thực hiện việc chuẩn hóa mức 1(1.NF); Thực hiện việc chuẩn hóa mức 2 (2.NF); Chuẩn hóa mức 3 (3.NF).
- Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa: Đi từ các khái niệm như thực thể, liên kết đến các mức độ liên kết như liên kết một- một, liên kết một- nhiều, khả năng tùy chọn của liên kết, chiều của liên kết đến các thuộc tính để mô tả các đặc trưng của một thực thể hoặc một quan hệ.
4. Giai đoạn đề xuất các phương án giải pháp
Sau khi hoàn thành giai đoạn 3, giai đoạn thiết kế logic, về cơ bản nhóm phân tích viên đã xác định về mặt logic những đầu vào, những xử lý những tệp CSDL và những đầu ra cho phép giải quyết tốt hơn những vấn đề của hệ thống hiện tại.
Giai đoạn này diễn ra khi đã xác định về mặt logic những đầu vào những xử lý, những tệp cơ sở dữ liệu và những đầu ra cho phép giải quyết tốt hơn những vấn đề của hệ thống thông tin hiện có và đạt được những mục tiêu đề ra của người sử dụng. Tuy nhiên những khía cạnh như: Ai chịu tránh nhiệm nhập dữ liệu? Cách thức xử lý như thế nào? Phương tiện xử lý nào sẽ được dùng? ...Vẫn chưa được làm rõ. Chính vì vậy mục đích của giai đoạn này là: Thiết lập các phác họa cho mô hình vật lý, đánh giá chi phí lợi ích cho các phác họa, xác định khả năng đạt mục tiêu cũng như sự tác động của chúng vào lĩnh vực tổ chức nhân sự đang làm việc tại hệ thống và đưa ra các kiến nghị cho lãnh đạo những phương án khả thi nhất.
Các công đoạn chính của giai đoạn này:
- Xác định các ràng buộc tin học và ràng buộc về tổ chức
- Xây dựng các phương án giải pháp
- Đánh giá các phương án của giải pháp
- Chuẩn bị và trình bày báo cáo
Cụ thể công việc của các công đoạn như sau:
Xác định các ràng buộc tin học và ràng buộc về tổ chức
Một hệ thống thông tin không thể tồn tại tách rời môi trường mà nó sẽ hoạt động. Hệ thống thông tin không thể cài đặt thành công nếu không tính đến các ràng buộc của môi trường, cùng một hệ thống đó nhưng sẽ thành công tuyệt vời với công ty này nhưng có thể lại kém hiệu quả với một công ty khác. Như chúng ta đã thấy trong suốt quá trình phát triển hệ thống thông tin, phân tích viên phải chý ý đến yêu cầu riêng của tổ chức mà hệ thống thông tin sẽ được cài đặt. Nếu kinh nghiệm thu được của các phân tích viên trong quá khứ của phân tích viên là vô cùng quí báu thì điều đó vẫn không đủ để phân tích viên phát triển một hệ thống thông tin mới, nếu không dựa vào môi trường, đặc trưng riêng của hệ thống thông tin đang xét thì chẳng khác nào làm một bài toán mà không biết rõ đề, một bài văn làm lạc đề.
Trong thực tế có những điều đúng cho mô hình logic nhưng không đúng cho mô hình, nhưng một môi trường cụ thể thì cần một cách thức cụ thể hóa khác nhau. Đó là những ràng buộc quan trọng nhất cho việc thiết kế các hệ thống mới là:
Các ràng buộc liên quan đến tổ chức
Các ràng buộc về tin học
Xây dựng các phương án giải pháp
Xây dựng một phương án của giải pháp được bắt đầu từ hai khâu chính sau đây:
Xây dựng biên giới cho phần mềm tin học
Biên giới tin học hóa phân chia phần thủ công và phần tin học hóa của hệ thống thông tin, sơ đồ luồng dữ liệu (DFD) mức 0 hoặc mức 1 là công cụ tốt nhất cho việc phân tích biên giới. Việc xác định biên giới phục thuộc vào khả năng đạt được các mục tiêu đề ra, phụ thuộc vào chi phí cho hệ thống thông tin tin học hóa và lợi ích thu được từ hệ thống thông tin đó.
Xác định cách thức xử lý
Sau khi xác định được các phương án về biên giới tin học hóa thì sẽ tin học hóa thì ta cần phải xác định cách thức xử lý cụ thể là:
Một là: Lựa chọn cách thức xử lý theo lô, thời gian thực hay hỗn hợp, hội thoại người máy.
Hai là: Kết hợp phương án biên giới và phương thức xử lý để đạt được phương án sơ bộ bước 2.
Ba là: Tính toán chi phí cho các phương án giữ lại một số phương án khả thi nhất.
Đánh giá các phương án giải pháp
Phân tích chi phí và lợi ích
Người ta có thể phân loại chi phí/ lợi ích theo những cách sau: Trực tiếp/ gián tiếp; Hữu hình/ vô hình; Biến động/ cố định.
Phân tích đa tiêu chuẩn
Phân tích đa tiêu chuẩn là phương pháp dựa vào nhiều tiêu chuẩn. Chẳng có gì khó hiểu khi phân tích đa tiêu chuẩn lại là một phương án được sử dụng nhiều nhất, do nó tập hợp nhiều tiêu chuẩn, nhiều tiêu thức sẽ đem lại cái nhìn tổng quát và đi đến quyết định đúng đắn.
Chuẩn bị và trình bày báo cáo
Đánh giá phương án của giải pháp là công việc giai đoạn quan trọng nhất của giai đoạn này, thực chất của họat động này là phân tích chi phí lợi ích phân tích đa tiêu chuẩn. Ngoài ra phân tích viên còn có thể trình bày thêm các phương án phân tích khác như phương pháp chuyên gia, phương pháp so sánh. Đối với hệ thống thông tin của các doanh nghiệp cần đặc biệt nhấn mạnh hiệu quả kinh tế. Sự thuyết phục về mặt tài chính và tính khả thi tài chính của dự án sẽ quyết định xem dự án có được đi tiếp hay không, hoặc là sẽ được thay đổi theo phương pháp khác.
5. Giai đoạn thiết kế vật lý ngoài
Thiết kế vật lý ngoài là mô tả chi tiết phương án của giải pháp đã được lựa chọn ở giai đoạn trước đây. Đây là một giai đoạn hết sức quan trọng vì nó mô tả chính xác ở đây có ảnh hưởng và tác động trực tiếp tới công việc thường ngày của những người sử dụng, mỗi lỗi của thiết kế vật lý như báo cáo khó đọc, một hộp thoại không dứt khoát, form hiển thị rối rắm ... sẽ là một nguyên nhân gây nên một trong những thất bại của hệ thống. Sản phẩm của giai đoạn này là một tài liệu miêu tả tất cả các đặc trưng của hệ thống mới sẽ cần cho việc thực hiện kĩ thuật, tài liệu cho người sử dụng và nó mô tả cả phần thủ công và cả những giao diện đã được tin học hóa.
Các công đoạn chính của giai đoạn này:
- Lập kế hoạch thiết kế vật lý ngoài
- Thiết kế chi tiết vào/ra
- Thiết kế các cách thức giao tác với phần tin học hóa
- Thiết kế các thủ tục thủ công
- Chuẩn bị và trình bày báo cáo
Cụ thể công việc của các giai đoạn này là:
Lập kế hoạch thiết kế vật lý ngoài
Lập kế hoạch cho giai đoạn này cần phải chọn phương tiện, khuôn dạng của các dòng vào/ ra, xác định các cách thức hội thoại với phần tin học hóa của hệ thống thông tin và cách thức thực hiện các thủ tục thủ công. Phân bố thời gian và lập danh mục các sản phẩm.
Thiết kế chi tiết vào ra
Thiết kế khuôn dạng trình bày của các đầu ra và thể thức nhập tin cho người sử dụng. Khuôn dạng vào/ ra không những đẹp, hợp lý mà còn giúp cho người sử dụng thực hiện tốt hơn, dễ dàng hơn trong công việc của họ.
Thiết kế các cách thức giao tác với phần tin học hóa
Một hệ thống thông tin thường thực hiện nhiều công việc khác nhau như: Cập nhật, in ấn báo cáo, tra cứu cơ sở dữ liệu, sao chép đảm bảo an toàn dữ liệu...
Có 4 cách thức chính để thực hiện thao tác với hệ thống tin học hóa. Thiết kế viên cần phải biết và kết hợp tốt 4 cách thức đó để tạo ra những thao tác chuẩn cho hệ thống thông tin tin học hóa.
Giao tác bằng tập hợp lệnh
Giao tác bằng các phím trên bàn phím
Giao tác qua thực đơn
Giao tác dựa vào các biểu tượng.
Thiết kế các thủ tục thủ công
Chuẩn bị và trình bày báo cáo
6. Giai đoạn Triển khai kỹ thuật hệ thống
Nhiệm vụ của giai đoạn này đưa ra các quyết định có liên quan tới việc lựa chọn công cụ phát triển hệ thống tổ chức vật lý cơ sở dữ liệu, cách thức truy nhập tới bản ghi của các tệp và những chương trình khác cấu thành nên hệ thống thông tin. Việc viết các chương trình máy tính, thử nghiệm chương trình, các module và toàn bộ hệ thống cũng được thực hiện trong giai đoạn này. Mục tiêu chính của giai đoạn này là xây dựng thành công hệ thống từ các tài liệu của các giai đoạn trước, nhưng đồng thời trong quá trình xây dựng hệ thống cũng là lúc phải bổ xung hoàn thiện các tài liệu đó. Kết quả của giai đoạn này là phần mềm tin học, hoàn thành tài liệu hệ thống và tài liệu hướng dẫn người sử dụng, cho các thao tác viên cũng là tránh nhiệm của những nhà thiết kế hệ thống.
Những công đoạn chính của giai đoạn này:
Lập kế hoạch thực hiện kĩ thuật
Thiết kế vật lý trong
Lập các chương trình cho máy tính
Thử nghiệm phần mềm
Hoàn thiện tài liệu cho hệ thống
Cụ thể công việc của từng giai đoạn như sau:
Lập kế hoạch thực hiện kĩ thuật
Nhiệm vụ quan trọng nhất của lập kế hoạch triển khai là lựa chọn các công cụ, sự lựa chọn này sẽ quyết định tới những hoạt động thiết kế vật lý trong như thiết kế vật lý cơ sở dữ liệu, thiết kế các chương trình cũng như hoạt động lập trình sau này.
Thiết kế vật lý trong
Mục đích thiết kế vật lý trong là đảm bảo độ chính xác của thông tin và làm hệ thống mềm dẻo, ít chi phí. Hai bộ phận của hệ thống là cơ sở dữ liệu và các xử lý sẽ được xem xét và đánh giá kĩ lưỡng ở đây. Nhằm tìm cách tiếp cận tới dữ liệu nhanh hơn và hiệu quả hơn.
Lập các chương trình cho máy tính
Phần mềm máy tính cho hệ thống thông tin do các lập trình viên thực hiện với yêu cầu đảm bảo rằng các chương trình phù hợp hoàn toàn với các đặc tả thiết kế.
Như vậy: Trong giai đoạn này, công đoạn lập trình là quan trọng nhất, đây là quá trình chuyển đổi các thiết kế vật lý của nhà phân tích thành phần mềm máy tính do các lập trình viên đảm nhận.
Lập kế hoạch thử nghiệm bao gồm việc xác định xem cái gì cần được thử nghiệm và việc thu thập dữ liệu phục vụ cho mục đích thử nghiệm.
Thử nghiệm phần mềm
Thử nghiệm chương trình là quá trình tìm lỗi, là một đánh giá cuối cùng về các đặc tả, thiết kế và mã hóa. Mục đích của việc thử nghiệm chương trình là nhằm đảm bảo rằng tất cả các thành phần của chương trình ứng dụng đều được thiết kế và triển khai đúng với yêu cầu đề ra.
Trong chương trình ứng dụng thường có 2 kiểu lỗi đặc trưng đó là:
Chương trình không làm những điều cần phải làm
Lỗi này được gọi là lỗi bỏ xót và hay gặp đối với các ứng dụng mới được phát triển
Chương trình làm những điều không cần phải làm
Lỗi này thường gặp trong quá trình bảo trì
Một thử nghiệm tốt là một thử nghiệm phải xác định được cả 2 loại lỗi trên. Giai đoạn thử nghiệm chương trình có rất nhiều đối tượng tham gia vào các chiến lược thử nghiệm khác nhau với những mức khác nhau, nhằm mục tiêu cuối cùng là tìm lỗi còn tiềm ẩn trong chương trình.
Giai đoạn phân tích hệ thống: Thử nghiệm hệ thống (Master Test) được xây dựng.
Giai đoạn thiết kế hệ thống: Thử nghiệm module (Unit Test), thử nghiệm tích hợp ( Integration Test) và thử nghiệm toàn hệ thống (System).
Trong quá trình triển khai hệ thống, các kế hoạch thử nghiệm khác nhau này sẽ được thực hiện và quá trình thử nghiệm thực sự được bắt đầu.
Hoàn thiện tài liệu cho hệ thống
Đây là một bước hết sức quan trọng và cần thiết trước khi các phân tích viên kết thúc một dự án tin học hóa để bắt đầu chuyển sang một dự án khác, nhằm tập hợp các thông tin quan trọng mà họ có được về hệ thống trong quá trình phát triển và triển khai hệ thống.
Tài liệu hệ thống cần cho các quản trị viên hệ thống thông tin thì được gọi là “ Tài liệu hệ thống”: Đó là một trong những bộ phận quan trọng nhất của một hệ thống thông tin, nó cho biết lịch sử của một hệ thống thông tin, thiết kế và mục tiêu của hệ thống.
Tài liệu cần cho những người sử dụng phục vụ công việc hàng ngày gọi là “Tài liệu cho người sử dụng”: Đó là một tài liệu giúp cho người sử dụng hiểu rõ về hệ thống và cách sử dụng hệ thống. Người sử dụng cần được làm quen với các thủ tục nhập dữ liệu và hợp lệ hóa dữ liệu, biểu diễn các báo cáo đầu ra, các biện pháp xử lý lỗi và các thủ tục cần tuân thủ khi tiến hành thử nghiệm và chuyển đổi hệ thống.
Cuối cùng là tài liệu về hoạt động của hệ thống với các sơ đồ dòng hệ thống, trong đó xác định các chương trình và trình tự thực hiện chúng.
7. Giai đoạn cài đặt bảo trì và khai thác
Cài đặt là quá trình chuyển đổi từ hệ thống cũ sang hệ thống mới. Mục tiêu của giai đoạn này là tích hợp hệ thống được phát triển và các hoạt động của tổ chức một cách ít va vấp nhất đồng thời đáp ứng được những thay đổi có thể xẩy ra trong suốt quá trình sử dụng. Công việc của giai đoạn này chuyển đổi về mặt kỹ thuật, về mặt con người.
Các phương pháp cài đặt:
Cài đặt trực tiếp: Là phương pháp dừng hoạt động của hệ thống cũ và đưa ngay hệ thống mới vào sử dụng.
Cài đặt song song: Là cả hai hệ thống cùng song song hoạt động, cho đến khi quyết định dừng hệ thống cũ lại, tức là khi người sử dụng và bộ phận quản lý nhận thấy hệ thống mới đã đáp ứng được yêu cầu nhiệm vụ.
Cài đặt thí nghiệm cục bộ: Đây là phương pháp dung hòa giữa cài đặt trực tiếp và cài đặt song song. Cài đặt cục bộ chỉ thực hiện chuyển đổi từ hệ thống cũ sang hệ thống mới cục bộ tại một vài bộ phận. Phương pháp chuyển đổi tại bộ phận thí điểm lại có thể là một trong các phương pháp cài đặt quen biết: trực tiếp, song song hay theo giai đoạn.
Chuyển đổi theo giai đoạn: Theo phương pháp này chuyển đổi từ hệ thống thông tin cũ sang hệ thống thông tin mới một cách dần dần, bắt đầu bằng một hay một vài module và sau đó mở rộng dần việc chuyển đổi sang toàn bộ hệ thống mới, những thành phần khác nhau của hệ thống mới và hệ thống cũ được sử dụng phối hợp với nhau cho tới tận khi toàn bộ hệ thống mới được cài đặt xong
Các công đoạn cần thực hiện trong giai đoạn này là:
- Lập kế hoạch chuyển đổi
- Chuyển đổi hệ thống
- Khai thác và bảo trì
- Đánh giá
Cụ thể các công việc cần thực hiện trong các công đoạn là:
Lập kế hoạch chuyển đổi
Chuyển đổi một hệ thống thông tin bao gồm việc chuyển đổi phần mềm, dữ liệu, phần cứng, tài liệu, các giải pháp làm việc, các mô tả công việc, các phương tiện làm việc, các tài liệu đào tạo, các biểu mẫu nghiệp vụ...
Trong thực tế quá trình chuyển đổi thường được kết hợp rất nhiều phương pháp và lập kế hoạch cài đặt có thể bắt đầu từ khi tiến hành phân tích hệ thống, một số hoạt động mua sắm phần cứng, hợp thức hóa dữ liệu mới để ghi vào các tệp của hệ thống mới cần được tiến hành trước khi cài đặt phần mềm.
Chuyển đổi hệ thống
Khi một hệ thống mới được thực hiện thì có ba khả năng về dữ liệu như sau:
Thứ nhất: Các kho dữ liệu đã tồn tại nhưng không đầy đủ và cấu trúc chưa phù hợp. Vậy cần nhập thêm những dữ liệu mới chưa có trên máy và trích các dữ liệu có cấu trúc không phù hợp từ tệp cơ sở dữ liệu, sửa và ghi lại vào cơ sở dữ liệu của hệ thống.
Thứ hai: Các kho dữ liệu cần thiết đã có theo đúng các đặc trưng của cấu trúc. Thì ta không cần phải chuẩn bị gì.
Thứ ba: Các kho dữ liệu hoàn toàn chưa tồn tại. Trường hợp này ta cần tạo ra các kho dữ liệu đó, nếu dữ liệu chưa được tin học hóa nhưng đã có các vật mang tin thủ công thì việc thu thập và nhập dữ liệu vào cơ sở dữ liệu chỉ là vấn đề thời gian mà thôi.
Nhưng cũng cần chú ý rằng, trong nhiều trường hợp, việc chuẩn bị cơ sở dữ liệu là rất khó khăn, thậm chí còn không thể thực hiện được.
Khai thác và bảo trì
Đây là giai đoạn chiếm chi phí lớn nhất trong chu kỳ sống của một hệ thống thông tin đối với phần lớn các tổ chức. Quá trình này bắt đầu ngay khi hệ thống được cài._. STORE "" to m.so_hd,m.loai_hd,_prompt
ENDPROC
PROCEDURE tb_dmhd_F4
SELECT tb_dmhd
SCATTER memvar MEMO BLANK
_Moi_sua=[M]
_Prompt="Them mot ban ghi"
PUSH KEY Clear
do form (D_FORM+[f_dm1hd])
POP key
ENDPROC
**************************************************
PROCEDURE tb_dmhd_F3
SELECT tb_dmhd
SCATTER memvar Memo
_recno=RECNO()
_macu=m.so_hd
_Moi_Sua=[S]
_prompt="Sua mot ban ghi"
PUSH KEY Clear
do form (D_FORM+[f_dm1hd])
POP key
ENDPROC
************************************************
PROCEDURE tb_dmhd_F8
SELECT tb_dmhd
IF MESSAGEBOX("Co chac muon xoa?",4,"Chu y")=6 then
DELETE
USE IN cur_dmhd
Pack
IF !EOF()
SKIP
ENDIF
IF EOF() and !BOF()
SKIP -1
ENDIF
ENDIF
ENDPROC
***************************************************
PROCEDURE tb_dmhd_ESC
CLOSE ALL
* Dong bang bang nut
ENDPROC
***************************************************
FUNCTION tb_dmhd_nhan
SELECT tb_dmhd
SET ORDER TO 1
tm=.F.
* Kiem tra ma trong
IF EMPTY(m.so_hd) OR Empty(m.loai_hd) then
MESSAGEBOX("Ban da de trong truong ma hoac truong ten hoac truong ma nhom khach hang",0,"Chu y")
ELSE
* them cac kiem tra khac neu can
* kiem tra ma trung
IF _Moi_sua=[M] then
IF SEEK(ALLTRIM(m.so_hd))
MESSAGEBOX("Ma da co trong danh muc")
ELSE
* Cap nhat vao bang
APPEND blank
GATHER memvar memo
tm=.T.
ENDIF
ELSE
IF SEEK(ALLTRIM(m.so_hd)) and (_recno#RECNO())
MESSAGEBOX("Ma da co trong danh muc")
ELSE
GO _recno
GATHER memvar Memo
tm=.T.
ENDIF
ENDIF
ENDIF
return tm
****************************************************
PROCEDURE tb_dmhd_huy
ENDPROC
*****************************************************
PROCEDURE tb_dmhd_Xem
SELECT tb_dmhd
_moi_sua=[X]
_recno=RECNO()
_prompt="Thong tin chi tiet mot ban ghi"
PUSH KEY CLEAR
DO FORM (D_FORM+[f_dm1hd])
POP KEY
ENDPROC
*****************************************************
PROCEDURE tb_dmhd_chitiet
SELECT tb_dmhd
ENDPROC
Danh muc phong ban
* Program nhap 0them xoa sua cho danh muc khach hang
* tham so neu la nhap moi
PROCEDURE tb_dmpb_Open
IF !USED("tb_dmpb")
use (D_DATA+[tb_dmpb]) ALIAS tb_dmpb IN 0
ELSE
SELECT tb_dmpb
ENDIF
ENDPROC
**********************************************
PROCEDURE tb_dmpb_init
* Khai bao bien
PUBLIC m.ma_pb,m.ten_pb, _Moi_sua,_prompt,_recno,_macu
&&_MOI_SUA de luu trang thai X- xem, S-sua,M-them moi
STORE "" to m.ma_pb,m.ten_pb,_prompt
ENDPROC
PROCEDURE tb_dmpb_F4
SELECT tb_dmpb
SCATTER memvar MEMO BLANK
_Moi_sua=[M]
_Prompt="Them mot ban ghi"
PUSH KEY Clear
do form (D_FORM+[f_dm1pb])
POP key
ENDPROC
**************************************************
PROCEDURE tb_dmpb_F3
SELECT tb_dmpb
SCATTER memvar Memo
_recno=RECNO()
_macu=m.ma_pb
_Moi_Sua=[S]
_prompt="Sua mot ban ghi"
PUSH KEY Clear
do form (D_FORM+[f_dm1pb])
POP key
ENDPROC
************************************************
PROCEDURE tb_dmpb_F8
SELECT tb_dmpb
IF MESSAGEBOX("Co chac muon xoa?",4,"Chu y")=6 then
DELETE
USE IN cur_dmpb
Pack
IF !EOF()
SKIP
ENDIF
IF EOF() and !BOF()
SKIP -1
ENDIF
ENDIF
ENDPROC
***************************************************
PROCEDURE tb_dmpb_ESC
CLOSE ALL
* Dong bang bang nut
ENDPROC
***************************************************
FUNCTION tb_dmpb_nhan
SELECT tb_dmpb
SET ORDER TO 1
tm=.F.
* Kiem tra ma trong
IF EMPTY(m.ma_pb) OR Empty(m.ten_pb) then
MESSAGEBOX("Ban da de trong truong ma hoac truong ten hoac truong ma nhom khach hang",0,"Chu y")
ELSE
* them cac kiem tra khac neu can
* kiem tra ma trung
IF _Moi_sua=[M] then
IF SEEK(ALLTRIM(m.ma_pb))
MESSAGEBOX("Ma da co trong danh muc")
ELSE
* Cap nhat vao bang
APPEND blank
GATHER memvar memo
tm=.T.
ENDIF
ELSE
IF SEEK(ALLTRIM(m.ma_pb)) and (_recno#RECNO())
MESSAGEBOX("Ma da co trong danh muc")
ELSE
GO _recno
GATHER memvar Memo
tm=.T.
ENDIF
ENDIF
ENDIF
return tm
****************************************************
PROCEDURE tb_dmpb_huy
ENDPROC
*****************************************************
PROCEDURE tb_dmpb_Xem
SELECT tb_dmpb
_moi_sua=[X]
_recno=RECNO()
_prompt="Thong tin chi tiet mot ban ghi"
PUSH KEY CLEAR
DO FORM (D_FORM+[f_dm1pb])
POP KEY
ENDPROC
*****************************************************
PROCEDURE tb_dmpb_chitiet
SELECT tb_dmpb
ENDPROC
Phần code hiện danh mục người sử dụng
******************************************************************************************
* tb_dmts_F3 Sua or them moi tai san
* tb_dmts_Nhan Luu nhan vien
* tb_dmts_F10 Sap xep danh muc tai san
SET SAFETY OFF
SET DATE TO dmy
CLOSE TABLES all
DO open_table WITH 'tb_dmnts','ma_nts'
DO open_table WITH 'tb_dmhd','so_hd'
DO open_table WITH 'tb_dmpb','ma_pb'
DO open_table WITH 'tb_dmnvon','ma_nvon'
DO open_table WITH 'tb_dmncc','ma_ncc'
DO open_table WITH 'tb_md_sd','ma_md_sd'
DO open_table WITH 'tb_dmts','ma_ts'
DO open_table WITH 'tb_tinh_trang','ma_tinh_tr'
PUBLIC m.ma_ts,m.ten_ts,m.ma_nts,m.so_hd,m.ma_ncc,m.Ma_pb,m.ma_md_sd,m.ma_tinh_tr,;
m.Ngay_sd,m.Nguyen_gia,m.thoi_gian_sd,m.Nam_sx,m.nuoc_sx
STORE "" TO m.ma_ts,m.ten_ts,m.ma_nts,m.so_hd,m.ma_ncc,m.Ma_pb,m.ma_md_sd,m.ma_tinh_tr,;
m.Ngay_sd,m.Nguyen_gia,m.thoi_gian_sd,m.Nam_sx,m.nuoc_sx
ON KEY LABEL F3 DO tb_dmts_F3 with [S]
ON KEY LABEL F4 DO tb_dmts_F3 with [M]
ON KEY LABEL F8 DO tb_dmts_F8
ON KEY LABEL F9 DO tb_dmts_F9
ON KEY LABEL F10 do tb_dmts_F10
SELECT tb_dmts
BROWSE FIELDS
ma_ts :H = [M· tµi s¶n] :10,;
ten_ts :H = [Tªn tµi s¶n] :30,;
ngay_sd :H = [Ngµy sö dông] :10,;
nguyen_gia :H = [Nguyªn gi¸] :15,;
thoi_gian_sd :H = [Thêi gian sö dông]:10,;
nam_sx :H = [N¨m s¶n xuÊt] :7,;
nuoc_sx :H = [Níc s¶n xuÊt] :15,;
ma_nts :H = [M· nhãm TS] :9,;
ma_nvon :H = [M· nguån vèn] :9,;
so_hd :H = [Sè hîp ®ång] :9,;
ma_ncc :H = [M· nhµ cc] :9,;
Ma_pb :H = [M· phßng ban] :9,;
ma_md_sd :H = [M· md sd] :9,;
ma_tinh_tr: H = [M· t×nh tr¹ng]:9;
FONT [VK sans serif],9;
FOR ALLTRIM(Ma_tinh_tr)='DSD' ;
TITLE "F3-Sua, F4-Them moi,F8-Thay doi tinh trang, F9-Loc,F10-Sap xep ESC-Thoat" NOAPPEND NOMODIFY NODELETE WINDOW WinBrw
ON KEY LABEL F3
ON KEY LABEL F4
ON KEY LABEL F8
ON KEY LABEL F9
ON KEY LABEL F10
USE IN tb_dmnts
USE in tb_dmhd
USE in tb_dmpb
USE IN tb_dmnvon
USE IN tb_dmncc
USE IN tb_md_sd
USE IN tb_dmts
USE IN tb_tinh_trang
IF USED([Temp7])
USE IN Temp7
ENDIF
************************************ PROCEDURE tb_dmts_F3 **************************************
PROCEDURE tb_dmts_F3
LPARAMETERS _M_S
_InSELECT = SELECT()
_Recno = RECNO()
STORE _M_S TO _Moi_Sua
PUSH KEY CLEAR
IF _Moi_Sua = [S] AND RECNO() > RECCOUNT([tb_dmts])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
SELECT tb_dmts
IF _Moi_Sua = [M]
SCATTER MEMVAR MEMO BLANK
ELSE
GO _Recno
SCATTER MEMVAR MEMO
ENDIF
M.ma_ts_old = M.ma_ts
M.Ngay_td = DATE()
M.User_Id = ALLTRIM(S_user)
_Caption = IIF(_Moi_Sua = [M],"Them moi mot TSCD","Sua chua thong tin tscd")
* Tim kiem ten tron danh muc
=SEEK(M.ma_ncc,[tb_dmncc])
M.Ten_ncc=IIF(FOUND([tb_dmncc]),tb_dmncc.ten_ncc,[])
=SEEK(M.ma_nts,[tb_dmnts])
M.Ten_nts=IIF(FOUND([tb_dmnts]),tb_dmnts.ten_nts,[])
=SEEK(M.ma_md_sd,[tb_md_sd])
M.Ten_md_sd=IIF(FOUND([tb_md_sd]),tb_md_sd.ten_md_sd,[])
=SEEK(M.ma_nvon,[tb_dmnvon])
M.Ten_nvon=IIF(FOUND([tb_dmnvon]),tb_dmnvon.ten_nvon,[])
=SEEK(M.ma_pb,[tb_dmpb])
M.Ten_pb=IIF(FOUND([tb_dmpb]),tb_dmpb.ten_pb,[])
=SEEK(M.ma_tinh_tr,[tb_tinh_trang])
M.tinh_trang=IIF(FOUND([tb_tinh_trang]),tb_tinh_trang.tinh_trang,[])
ON KEY LABEL F9 KEYBOARD CHR(23)
DO FORM (D_FORM + [f_dmts_F3]) NAME _SCX LINKED
ON KEY LABEL F9
POP KEY
SELECT (_InSelect)
RETURN
************************************ PROCEDURE _Nhan
FUNCTION tb_dmts_F3_Nhan
PARAMETERS M_Nhan
SELECT tb_dmts
IF LASTKEY()= 27 OR M_Nhan 1
IF _Recno<=RECCOUNT([tb_dmts])
GO _Recno
_SCX = ""
ENDIF
_SCX = ""
RETURN .T.
ELSE
IF M_Nhan = 1
* Luu gia tri vao cac bang
* Truong hop them moi, cac cong viec gom luu vao bang dmtscd, logfile va bang theo doi
If _Moi_Sua = [M]
*Chuan bi cac gia tri ve thoi gian, nguoi su dung trong bang log file
M.Ngay_td = m.Ngay_sd
M.User_Id = alltrim(s_user)
m.ma_tdoi='TMTS'
m.stt="01"
m.ngay_bd=m.ngay_sd
m.Ma_tinh_tr='DSD'
* Ghi vao cac bang
SELECT tB_dmts
APPEND BLANK
GATHER MEMVAR memo
FLUSH
UNLOCK IN tb_dmts
DO open_table WITH 'logfile','ma_ts'
SELECT logfile
APPEND BLANK
GATHER MEMVAR memo
FLUSH
UNLOCK IN logfile
DO open_table WITH 'theo_doi','ma_ts'
SELECT theo_doi
APPEND BLANK
GATHER MEMVAR memo
FLUSH
UNLOCK IN theo_doi
ELSE
*Truong hop sua chua thong tin trong bang danh muc tscd, phai ghi vao bang logfile
* va danh muc tscd
M.Ngay_td = DATE()
M.User_Id = alltrim(s_user)
m.ma_tdoi='TDTT'
m.stt=stt_min('logfile',m.ma_ts)
m.ngay_bd=m.ngay_sd
m.Ma_tinh_tr='DSD'
* Ghi thong tin vao bang dmts
SELECT tb_dmts
GO _Recno
GATHER MEMVAR memo
FLUSH
UNLOCK IN tb_dmts
* Ghi thong tin vao bang logile
DO open_table WITH 'logfile','ma_ts'
SELECT logfile
APPEND BLANK
GATHER MEMVAR memo
FLUSH
UNLOCK IN logfile
ENDIF
_SCX = ""
ENDIF
ENDIF
SELECT tb_dmts
RETURN .T.
****************************************Function dua ra dc stt nho nhat theo ma_ts********
FUNCTION stt_min
PARAMETERS tablename,_ma_ts
DO open_table WITH tablename,'ma_ts'
_max=0
SCAN FOR ma_ts=ALLTRIM(_ma_ts)
_max=IIF(_max<VAL(stt),VAL(stt),_max)
ENDSCAN
_max=_max+1
IF _MAX<10 then
RETURN ("0"+ALLTRIM(STR(_max)))
ELSE
RETURN ALLTRIM(STR(_max))
ENDIF
RETURN .T.
*!* *************************** PROCEDURE tb_dmts_F8 **************************************
PROCEDURE tb_dmts_F8
CLEAR
_recno=RECNO()
IF RECNO() > RECCOUNT([tb_dmts])
RETURN .T.
ENDIF
IF (MESSAGEBOX('Se dinh chi TSCD nay. Ban chac chan chu?',4+32+256,'Chu y') 6)
GO _Recno
RETURN
ENDIF
_date=INPUTBOX(" Hay nhap ngay dinh chi su dung "," Nhap gia tri",DTOC(DATE()),15000,DTOC(DATE()),'0')
_date=CTOD(_date)
SELECT tb_dmts
GO _recno
SCATTER MEMVAR memo
m.ma_tinh_tr="KSD"
* Phai chuan bi tham so ngay thang va nguoi su dung them vao de ghi vao logfile
M.ngay_td = _date
M.User_Id = ALLTRIM(s_user)
M.ma_tinh_tr="KSD"
M.stt=stt_min('logfile',m.ma_ts)
m.ma_tdoi="DCTS"
* Thuc hien ghi vao logfile
DO open_table WITH 'logfile','ma_ts'
APPEND BLANK
GATHER MEMVAR memo
* Thuc hien ghi vao bang theo doi
DO open_table WITH 'theo_doi','ma_ts'
SELECT theo_doi
SCAN FOR ma_ts=ALLTRIM(m.ma_ts)
_rn=RECNO()
ENDSCAN
GO _rn
SCATTER MEMVAR memo
m.ngay_kt=_date
GATHER MEMVAR memo
* Cap nhat lai tinh trang vao bang dmts
SELECT tb_dmts
GATHER MEMVAR
RETURN .T.
*!* ************************************ PROCEDURE tb_dmts_F9 **************************************
PROCEDURE tb_dmts_F9
PRIVATE _Form
PUSH KEY
DO FORM (D_Form + [f_dmts_F9]) NAME _Form LINKED
POP KEY
ENDPROC
*************** ************Nhan cua F9******************************
PROCEDURE tb_dmts_F9_Nhan
PARAMETERS _NhanHuy
PRIVATE _key
_key=".T."
IF _NhanHuy 1
_Form = ""
RETURN
ENDIF
_Form = ""
SELECT tb_dmts
* Phan ten va ma, co chon lua nam trong hay bat dau
IF !EMPTY(ALLTRIM(M.ma_ts))
_key = "ma_ts = ALLTRIM(M.ma_ts)"
ENDIF
IF !EMPTY(ALLTRIM(M.ten_ts))
IF _c=1
_key = _key + ' AND ALLTRIM(M.ten_ts) $ ALLTRIM(ten_ts)'
ELSE
_key = _key + ' AND ten_ts =ALLTRIM(M.ten_ts)'
ENDIF
ENDIF
* Phan ma cac bang ngoai lai
IF !EMPTY(ALLTRIM(M.Ma_nts))
_key = _key + ' AND Ma_nts=ALLTRIM(M.Ma_nts)'
ENDIF
IF !EMPTY(ALLTRIM(M.Ma_nvon))
_key = _key + ' AND Ma_nvon=ALLTRIM(M.Ma_nvon)'
ENDIF
IF !EMPTY(ALLTRIM(M.so_hd))
_key = _key + ' AND So_hd=ALLTRIM(M.So_hd)'
ENDIF
IF !EMPTY(ALLTRIM(M.Ma_ncc))
_key = _key + ' AND Ma_ncc=ALLTRIM(M.Ma_ncc)'
ENDIF
IF !EMPTY(ALLTRIM(M.Ma_pb))
_key = _key + ' AND Ma_pb=ALLTRIM(M.Ma_pb)'
ENDIF
IF !EMPTY(ALLTRIM(M.Ma_md_sd))
_key = _key + ' AND Ma_md_sd=ALLTRIM(M.Ma_md_sd)'
ENDIF
* Phan so sanh cac dieu kien
IF !EMPTY(ALLTRIM(M.thoi_gian_sd))
_key = _key + ' AND thoi_gian_sd' + ptThoi_Gian_sd+'val(ALLTRIM(m.thoi_gian_sd))'
ENDIF
IF !EMPTY(ALLTRIM(M.Ngay_sd))
_key = _key + ' AND Ngay_sd' + ptNgay_sd+'ctoD(ALLTRIM(m.Ngay_sd))'
ENDIF
IF !EMPTY(ALLTRIM(M.Nguyen_gia))
_key = _key + ' AND Nguyen_gia' + ptNguyen_Gia+'val(ALLTRIM(m.Nguyen_gia))'
ENDIF
IF !EMPTY(ALLTRIM(M.Nam_sx))
_key = _key + ' AND Nam_sx' + ptNam_sx+'val(ALLTRIM(m.Nam_sx))'
ENDIF
SET FILTER TO &_key
GO TOP
RETURN
ENDPROC
*!* ************************************ PROCEDURE tb_dmts_F10 **************************************
PROCEDURE tb_dmts_F10
PRIVATE _Form
PUSH KEY
DO FORM (D_FORM + [f_dmts_F10.scx]) NAME _form linked
POP KEY
RETURN
*****************************Nhan F10**************************
PROCEDURE tb_dmts_F10_nhan
PARAMETERS _N_H,_sx,_c
IF _N_H=0 THEN
_form=""
RETURN
ENDIF
_Form=""
***** _sx Nguon cua Combobox, _c Nguon cua option button
SELECT tb_dmts
DO CASE
* Theo ma ts
CASE _sx = [1] AND _c=1
SET ORDER TO ma_ts ASCENDING
CASE _sx = [1] AND _c=2
SET ORDER TO ma_ts DESCENDING
* Theo ten ts
CASE _sx = [2] AND _c=1
SET ORDER TO ten_ts ASCENDING
CASE _sx = [2] AND _c=2
SET ORDER TO ten_ts DESCENDING
* Theo Ma_nts
CASE _sx = [3] AND _c=1
SET ORDER TO ma_nts ASCENDING
CASE _sx = [3] AND _c=2
SET ORDER TO ma_nts DESCENDING
* Theo ngay dua vao su dung
CASE _sx = [4] AND _c=1
SET ORDER TO Ngay_sd ASCENDING
CASE _sx = [4] AND _c=2
SET ORDER TO Ngay_sd DESCENDING
* Theo nguyen gia
CASE _sx = [5] AND _c=1
SET ORDER TO Nguyen_gia ASCENDING
CASE _sx = [5] AND _c=2
SET ORDER TO Nguyen_gia DESCENDING
* Theo thoi gian su dung
CASE _sx = [6] AND _c=1
SET ORDER TO thoi_gian_sd ASCENDING
CASE _sx = [6] AND _c=2
SET ORDER TO thoi_gian_sd DESCENDING
ENDCASE
RETURN
************************Prcocedure mo mot bang*************************
PROCEDURE open_table
PARAMETERS tbName, ma_dt
IF !USED(tbname)
SELECT 0
USE (D_DATA+tbName) order &ma_dt ALIAS &tbName SHARED
ELSE
SELECT &tbName
SET ORDER TO &ma_dt
ENDIF
RETURN
Phần code quản lý thanh lý tài sản
*******************************Tiep tuc su dung mot tscd***************
PROCEDURE tl_tscd_F3
PUSH KEY
_recno=RECNO()
* Khoi phuc lai nhung tscd da dinh chi su dung
IF (MESSAGEBOX('Tiep tuc su dung TSCD nay, co chac chan khong?',4+32+256,'Chu y') 6)
GO _Recno
RETURN
ENDIF
_date=INPUTBOX(" Hay nhap ngay tiÕp tôc sö dông su dung "," Nhap gia tri",DTOC(DATE()),15000,DTOC(DATE()),'0')
*!* IF _date='0' THEN
*!* GO _recno
*!* RETURN
*!* ENDIF
_date=CTOD(_date)
SELECT tb_dmts
SCATTER MEMVAR memo
m.ma_tinh_tr="DSD"
* Phai chuan bi tham so ngay thang va nguoi su dung them vao de ghi vao logfile
M.ngay_td = _date
M.User_Id = ALLTRIM(s_user)
M.ma_tinh_tr="DSD"
M.stt=stt_min('logfile',m.ma_ts)
m.ma_tdoi="TTSD"
* Thuc hien ghi vao logfile
DO open_table WITH 'logfile','ma_ts'
APPEND BLANK
GATHER MEMVAR memo
* Thuc hien ghi vao bang theo doi
DO open_table WITH 'theo_doi','ma_ts'
SELECT theo_doi
SCAN FOR ma_ts=ALLTRIM(m.ma_ts)
_rn=RECNO()
ENDSCAN
GO _rn
SCATTER MEMVAR memo
m.ngay_kt=""
GATHER MEMVAR memo
* Cap nhat lai tinh trang vao bang dmts
SELECT tb_dmts
GATHER MEMVAR
POP KEY
RETURN
******************************Thanh ly mot scd*************************
PROCEDURE tl_tscd_F4
PUSH KEY
* Goi form de theo doi so tien thanh ly tscd
SELECT tb_dmts
_recno=RECNO()
SCATTER MEMVAR memo
DO FORM (D_FORM+[f_thanhly]) NAME _scx LINKED
POP KEY
RETURN
************************************ PROCEDURE _Nhan **************************************
PROCEDURE tl_tscd_F4_nhan
PARAMETERS M_nhan
SELECT tb_dmts
IF LASTKEY()=27 OR M_nhan1
IF _Recno<=RECCOUNT([tb_dmts])
GO _Recno
_SCX = ""
ENDIF
_SCX = ""
RETURN .T.
ELSE
* Phai them vao bang logfile cac gia tri,
* dong thoi xoa han trong bang danh muc tscd
* cac thong tin ve tscd
* Chuan bi cac gia tri vao bang logfile
DO open_table WITH 'logfile','ma_ts'
DO open_table WITH 'theo_doi','ma_ts'
m.user_id=ALLTRIM(s_user)
m.stt=stt_min('logfile',m.ma_ts)
m.ma_tdoi='TLTS'
m.ma_tinh_tr='DTL'
SELECT logfile
APPEND BLANK
GATHER MEMVAR MEMO
* Xoa bo cac ban ghi trong bang theo_doi khau hao
SELECT theo_doi
SCAN FOR ALLTRIM(ma_ts)=ALLTRIM(m.ma_ts)
DELETE
ENDSCAN
* Xoa bo cac ban ghi trong bang logfile
* Xoa bo ban ghi ve tscd
SELECT tb_dmts
GO _recno
GATHER MEMVAR MEMO
SET EXCLUSIVE ON
DELETE
_scx=""
ENDIF
RETURN
****************************************Function dua ra dc stt nho nhat theo ma_ts********
FUNCTION stt_min
PARAMETERS tablename,_ma_ts
DO open_table WITH tablename,'ma_ts'
_max=0
SCAN FOR ma_ts=ALLTRIM(_ma_ts)
_max=IIF(_max<VAL(stt),VAL(stt),_max)
ENDSCAN
_max=_max+1
IF _MAX<10 then
RETURN ("0"+ALLTRIM(STR(_max)))
ELSE
RETURN ALLTRIM(STR(_max))
ENDIF
RETURN .T.
Phần code thay đổi nguyên giá tscđ
************************************ PROCEDURE tb_dmts_F3 **************************************
PROCEDURE nguyen_gia_F3
SELECT tb_dmts
_InSELECT = SELECT()
_Recno = RECNO()
SCATTER MEMVAR memo
PUSH KEY CLEAR
ON KEY LABEL F9 KEYBOARD CHR(23)
DO FORM (D_FORM + [f_nguyen_gia]) NAME _SCX LINKED
ON KEY LABEL F9
POP KEY
SELECT (_InSelect)
RETURN
************************************ PROCEDURE _Nhan **************************************
********************************************************************************************
FUNCTION Nguyen_gia_F3_Nhan
PARAMETERS M_Nhan
SELECT tb_dmts
IF LASTKEY()= 27 OR M_Nhan 1
IF _Recno<=RECCOUNT([tb_dmts])
GO _Recno
_SCX = ""
ENDIF
_SCX = ""
RETURN .T.
ELSE
IF M_Nhan = 1
nguyen_gia_moi=m.nguyen_gia
_ngaytd=m.ngay_td
tg_sd_moi=m.thoi_gian_sd
* Luu gia tri vao cac bang
*Chuan bi cac gia tri ve thoi gian, nguoi su dung trong bang log file
M.User_Id = alltrim(s_user)
m.ma_tdoi=IIF(_c=1,'NCTS','DGTS' )
m.stt=stt_min('logfile',m.ma_ts)
* Ghi vao danh muc tscd
SELECT tB_dmts
GATHER MEMVAR memo
FLUSH
UNLOCK IN tb_dmts
* Ghi vao logfile
DO open_table WITH 'logfile','ma_ts'
SELECT logfile
APPEND BLANK
GATHER MEMVAR memo
FLUSH
UNLOCK IN logfile
* Trong bang theo doi can phai tinh dc gtcl, thoi gian sd con lai
DO open_table WITH 'theo_doi','ma_ts'
SELECT theo_doi
* Den ban ghi cuoi cung
SCAN FOR ALLTRIM(ma_ts)=ALLTRIM(m.ma_ts)
_rn=RECNO()
ENDSCAN
GO _rn
SCATTER MEMVAR memo
m.ngay_kt=m.ngay_td
GATHER MEMVAR memo
* Tinh gia tri cl, tg_sd_cl
SET PROCEDURE TO (D_PROG+[tinh_kh.prg])
_tg=(nguyen_gia_moi-KH_1td(m.ma_ts,m.ngay_td))
m.nguyen_gia=IIF(_tg>0,_tg,0)
m.thoi_gian_sd=tg_sd_moi-(YEAR(_ngaytd)-YEAR(m.ngay_sd))*12+(MONTH(_ngaytd)-MONTH(m.ngay_sd))
RELEASE PROCEDURE (D_PROG+[tinh_kh.prg])
m.ngay_bd=m.ngay_td
m.ngay_kt=""
m.stt=stt_min('theo_doi',m.ma_ts)
SELECT theo_doi
APPEND BLANK
GATHER MEMVAR memo
FLUSH
UNLOCK IN theo_doi
_SCX = ""
ENDIF
endif
RETURN
Phần code tạo ra các báo cáo
Lập báo cáo thẻ tscđ
PROCEDURE in_the_F3
SET PROCEDURE TO (D_PROG+[tinh_kh])
ngay_lap=INPUTBOX(" Ngay lap bao cao "," Nhap gia tri",DTOC(DATE()),15000,DTOC(DATE()),'0')
ngay_lap=CTOD(ngay_lap)
SELECT tb_dmts
SCATTER MEMVAR memo
SELECT dmts.*,theo_doi.*,dmts.nguyen_gia as NG_ht,theo_doi.nguyen_gia as NG_td, ;
dmts.thoi_gian_sd as TG_ht,theo_doi.thoi_gian_sd as TG_td ;
FROM (D_Data+[tb_dmts]) as dmts INNER JOIN (D_Data+[theo_doi]) as theo_doi ON dmts.ma_ts=theo_doi.ma_ts ;
where ALLTRIM(dmts.ma_ts)=m.ma_ts;
INTO TABLE (D_TEMP+[bc_1ts_tg])
* thay doi gia tri trong bang
GO BOTTOM
IF bc_1ts_tg.ngay_kt={ / / }
IF ngay_lap>ng_het_kh(bc_1ts_tg.ngay_bd,bc_1ts_tg.thoi_gian_)
replace bc_1ts_tg.ngay_kt WITH ng_het_kh(bc_1ts_tg.ngay_bd,bc_1ts_tg.thoi_gian_)
ELSE
replace bc_1ts_tg.ngay_kt WITH ngay_lap
ENDIF
ENDIF
* tinh khau hao
SELECT tg.*, kh_2td(tg.ma_ts_a,tg.ngay_sd,tg.ngay_kt) as khlk,;
(tg.NG_td/tg.TG_td) as Mkh, (tg.NG_ht- kh_2td(tg.ma_ts_a,tg.ngay_sd,tg.ngay_kt)) as gtcl ;
FROM (D_TEMP+[bc_1ts_tg]) as tg ;
INTO TABLE (D_TEMP+[bc_1ts])
* Goi bao cao
REPORT FORM (D_REPO+[r_thets.frx]) preview
Báo cáo hiện trạng tscđ
SET PROCEDURE TO (D_PROG+[tinh_kh])
ngay_lap=thisform.txtNgay_lap.Value
ngay_th=CTOD(ALLTRIM(thisform.txtNgay_th.Value))
m.ma_nts=thisform.cboMa_nts.Value
IF (ngay_lap={ / / } or ngay_th={ / / }) then
MESSAGEBOX("Ngay thang nhap khong dung hay nhap lai",0,"Chu y")
thisform.txtNgay_lap.SetFocus
ELSE
* cap nhat query, goi bao cao
IF empty(thisform.cboMa_nts.Value) then
SELECT dmts.*,dmnts.*,ti_tr.*,kh_1td(dmts.ma_ts,ngay_th) as khlk,(dmts.nguyen_gia-kh_1td(dmts.ma_ts,ngay_th)) as gtcl;
FROM (D_DATA+[tb_dmts]) as dmts INNer JOIN (D_DATA+[tb_dmnts]) as dmnts ON dmts.ma_nts=dmnts.ma_nts ;
INNER JOIN (D_DATA+[tb_tinh_trang])as ti_tr ON ti_tr.ma_tinh_tr=dmts.ma_tinh_tr ;
WHERE (dmts.ngay_sd<=ngay_th) ;
ORDER BY dmnts.ma_nts;
INTO TABLE (D_TEMP+[bc_thts])
ELSE
SELECT dmts.*,dmnts.*,ti_tr.*,kh_1td(dmts.ma_ts,ngay_th) as khlk,(dmts.nguyen_gia-kh_1td(dmts.ma_ts,ngay_th)) as gtcl;
FROM (D_DATA+[tb_dmts]) as dmts INNer JOIN (D_DATA+[tb_dmnts]) as dmnts ON dmts.ma_nts=dmnts.ma_nts ;
INNER JOIN (D_DATA+[tb_tinh_trang])as ti_tr ON ti_tr.ma_tinh_tr=dmts.ma_tinh_tr ;
WHERE ALLTRIM(dmts.ma_nts)=ALLTRIM(thisform.cboMa_nts.Value) ;
AND (dmts.ngay_sd<=ngay_th);
ORDER BY dmnts.ma_nts;
INTO TABLE (D_TEMP+[bc_thts])
ENDIF
REPORT FORM (D_REPO+[r_htts.frx]) Preview
ENDIF
Báo cáo khấu hao tscđ
SET PROCEDURE TO (D_PROG+[tinh_kh])
*Kiem tra cac dieu kien -> date1 va date 2
x=thisform.optiongroup1.Value
ngay_lap=thisform.txtNgay_lap.Value
_kt=.T.
_promt=""
DO CASE
CASE x=1
IF EMPTY(thisform.op1Nam.Value) OR EMPTY(thisform.op1Quy.Value)
MESSAGEBOX("Khong duoc de trong Nam va Quy, xin ban nhap gia tri",0,"Chu y")
_KT=.F.
ELSE
_quy=ALLTRIM(thisform.op1Quy.Value)
DO CASE
CASE _quy="I"
_thang1=1
_thang2=4
CASE _quy="II"
_thang1=4
_thang2=7
CASE _quy="III"
_thang1=7
_thang2=9
CASE _quy="IV"
_thang1=9
_thang2=1
ENDCASE
_nam=ALLTRIM(thisform.op1Nam.Value)
IF _quy="IV"
_nam1=VAL(_nam)
_nam2=VAL(_nam)+1
ELSE
_nam1=VAL(_nam)
_nam2=VAL(_nam)
ENDIF
_date1=DATE(_nam1,_thang1,1)
_date2=DATE(_nam2,_thang2,1)
_prompt="Quý "+_quy+"/"+_nam
ENDIF
CASE x=2
IF EMPTY(thisform.op2Nam.Value) OR EMPTY(thisform.op2Thang.Value)
MESSAGEBOX("Khong duoc de trong Nam va Thang, xin ban nhap gia tri",0,"Chu y")
_KT=.F.
ELSE
_nam=VAL(ALLTRIM(thisform.op2Nam.Value))
_thang=VAL(ALLTRIM(thisform.op2thang.value))
IF _thang=12
_date1=DATE(_nam,_thang,1)
_date2=DATE(_nam+1,_thang,1)
ELSE
_date1=DATE(_nam,_thang,1)
_date2=DATE(_nam,_thang+1,1)
ENDIF
_prompt="Th¸ng "+ALLTRIM(STR(_thang))+"/"++ALLTRIM(STR(_nam))
ENDIF
CASE x=3
_date1=thisform.op3Ngay1.Value
_date2=thisform.op3Ngay2.Value
IF _date1>_date2 THEN
MESSAGEBOX("Ngay sau phai lon hon ngay truoc",0,"chu y")
_KT=.F.
ELSE
_prompt="Tõ "+ALLTRIM(DTOC(_date1))+" ®Õn"+ALLTRIM(DTOC(_date1))
ENDIF
** Dang lam do dang
ENDCASE
IF _kt=.F.then
thisform.txtNgay_lap.SetFocus
ELSE
* cap nhat query
IF !EMPTY(thisform.cboMa_nts.Value)
SELECT tb_dmnts.*,tb_dmts.*,kh_2td(tb_dmts.ma_ts,_date1,_date2) as KH_trich,kh_1td(tb_dmts.ma_ts,_date2) as khlk ;
FROM (D_DATA+[tb_dmts]) INNER JOIN (D_DATA+[tb_dmnts]) ON tb_dmnts.ma_nts=tb_dmts.ma_nts ;
WHERE (tb_dmts.ngay_sd<=_date2);
AND (ALLTRIM(tb_dmts.ma_nts)=ALLTRIM(thisform.cboMa_nts.Value));
order by tb_dmnts.ma_nts ;
into table (d_temp+[bc_trichKH])
ELSE
SELECT tb_dmnts.*,tb_dmts.*,kh_2td(tb_dmts.ma_ts,_date1,_date2) as KH_trich,kh_1td(tb_dmts.ma_ts,_date2) as khlk ;
FROM (D_DATA+[tb_dmts]) INNER JOIN (D_DATA+[tb_dmnts]) ON tb_dmnts.ma_nts=tb_dmts.ma_nts;
WHERE (tb_dmts.ngay_sd<=_date2);
order by tb_dmnts.ma_nts;
into table (d_temp+[bc_trichKH])
ENDIF
REPORT FORM (D_REPO+[r_trichKH]) PREVIEW
ENDIF
Báo cáo tình hình hoạt động của tscđ
SET PROCEDURE TO (D_PROG+[tinh_kh])
*Kiem tra cac dieu kien -> date1 va date 2
x=thisform.optiongroup1.Value
_kt=.T.
DO CASE
CASE x=1
IF EMPTY(thisform.op1Nam.Value) OR EMPTY(thisform.op1Quy.Value)
MESSAGEBOX("Khong duoc de trong Nam va Quy, xin ban nhap gia tri",0,"Chu y")
_KT=.F.
ELSE
_quy=ALLTRIM(thisform.op1Quy.Value)
DO CASE
CASE _quy="I"
_thang1=1
_thang2=4
CASE _quy="II"
_thang1=4
_thang2=7
CASE _quy="III"
_thang1=7
_thang2=9
CASE _quy="IV"
_thang1=9
_thang2=1
ENDCASE
_nam=ALLTRIM(thisform.op1Nam.Value)
IF _quy="IV"
_nam1=VAL(_nam)
_nam2=VAL(_nam)+1
ELSE
_nam1=VAL(_nam)
_nam2=VAL(_nam)
ENDIF
_date1=DATE(_nam1,_thang1,1)
_date2=DATE(_nam2,_thang2,1)
ENDIF
CASE x=2
IF EMPTY(thisform.op2Nam.Value) OR EMPTY(thisform.op2Thang.Value)
MESSAGEBOX("Khong duoc de trong Nam va Thang, xin ban nhap gia tri",0,"Chu y")
_KT=.F.
ELSE
_nam=VAL(ALLTRIM(thisform.op2Nam.Value))
_thang=VAL(ALLTRIM(thisform.op2thang.value))
IF _thang=12
_date1=DATE(_nam,_thang,1)
_date2=DATE(_nam+1,_thang,1)
ELSE
_date1=DATE(_nam,_thang,1)
_date2=DATE(_nam,_thang+1,1)
ENDIF
ENDIF
CASE x=3
_date1=thisform.op3Ngay1.Value
_date2=thisform.op3Ngay2.Value
IF _date1>_date2 THEN
MESSAGEBOX("Ngay sau phai lon hon ngay truoc",0,"chu y")
_KT=.F.
ENDIF
** Dang lam do dang
ENDCASE
IF _kt=.F.then
thisform.txtNgay_lap.SetFocus
ELSE
* cap nhat query
IF !EMPTY(thisform.cboMa_nts.Value)
SELECT tb_dmnts.*,logfile.*,tb_hoat_dong.*,;
(logfile.nguyen_gia-kh_1td(logfile.ma_ts,logfile.ngay_td)) as gtcl;
FROM (D_DATA+[logfile]) INNER JOIN (D_DATA+[tb_dmnts]) ON tb_dmnts.ma_nts=logfile.ma_nts ;
INNER JOIN (D_DATA+[tb_hoat_dong]) ON logfile.ma_tdoi=tb_hoat_dong.ma_tdoi;
where (logfile.ngay_td>=_date1) AND (logfile.ngay_td<=_date2) AND (logfile.ngay_sd<=_date2) ;
AND (ALLTRIM(logfile.ma_nts)=ALLTRIM(thisform.cboMa_nts.Value)) ;
ORDER BY logfile.ma_nts,logfile.ngay_td ;
INTO TABLE (D_TEMP+[bc_sotheodoi])
ELSE
SELECT tb_dmnts.*,logfile.*,tb_hoat_dong.*,;
(logfile.nguyen_gia-kh_1td(logfile.ma_ts,logfile.ngay_td)) as gtcl;
FROM (D_DATA+[logfile]) INNER JOIN (D_DATA+[tb_dmnts]) ON tb_dmnts.ma_nts=logfile.ma_nts ;
INNER JOIN (D_DATA+[tb_hoat_dong]) ON logfile.ma_tdoi=tb_hoat_dong.ma_tdoi;
where (logfile.ngay_td>=_date1) AND (logfile.ngay_td<=_date2) AND (logfile.ngay_sd<=_date2) ;
ORDER BY logfile.ma_nts,logfile.ngay_td ;
INTO TABLE (D_TEMP+[bc_sotheodoi])
ENDIF
REPORT FORM (D_REPO+[r_sotheodoi]) PREVIEW
ENDIF
Đoạn code chương trình dùng để tính khấu hao
* Doan chuong trinh de tinh khau hao TSCD
* Dau vao: nguyen gia, thoi gian su dung, thoi diem dua vao su dung
* ky tinh khau hao, khau hao luy ke trong ky, gia tri con lai cu ( truoc khi tinh khau hao)
* Dau ra:
*thangnam1, thangnam2
* Tinh khau hao luy ke den thoi diem thangnam
* so thang giua ngaybd va ngaykt dc tinh bang
***********************Function Tinh khau hao luy ke giua 2 date ************
FUNCTION KH_2date
PARAMETERS date1,date2,_NG,_TG
*So thang giua 2 date
nmonth=(YEAR(date2)-YEAR(date1))*12+(MONTH(date2)-MONTH(date1))
* Muc khau hao trong khoang thoi gian giua 2 date
_MKH=_NG/(_TG)
RETurN _MKH*nmonth
***********************Function tinh muc_kh den 1 thoi diem *******
FUNCTION KH_1td
PARAMETERS _ma_ts,_date
IF !USED('theo_doi')
USE (D_DATA+[theo_doi]) order khoachinh ALIAS theo_doi IN 0
ELSE
SELECT theo_doi
ENDIF
SELECT theo_doi
tong_kh=0
d=_date
SCAN FOR ALLTRIM(ma_ts)=ALLTRIM(_ma_ts)
bd=ngay_bd
IF ngay_kt={} then
kt=ng_het_kh(bd,thoi_gian_sd)
ELSE
kt=ngay_kt
ENDIF
IF BETWEEN(d,bd,kt)
tong_kh=tong_kh+kh_2date(bd,d,nguyen_gia,thoi_gian_sd)
ELSE
IF d>kt
tong_kh=tong_kh+kh_2date(bd,kt,nguyen_gia,thoi_gian_sd)
ENDIF
ENDIF
ENDSCAN
RETURN tong_kh
************************TInh khau hao luy ke trong 2 thoi diem*********************************************
FUNCTION KH_2td
PARAMETERS _ma_ts,d1,d2
_KH1=KH_1td(_ma_ts,d1)
_KH2=Kh_1td(_ma_ts,d2)
RETURN (_KH2-_KH1)
***************************FUNCTION tinh khau hao luy ke trong 2 thoi diem PB 2***************
FUNCTION KH_2td_2
PARAMETERS _ma_ts,_date1,_date2
IF !USED('theo_doi')
USE (D_DATA+[theo_doi]) order khoachinh ALIAS theo_doi IN 0
ELSE
SELECT theo_doi
ENDIF
SELECT theo_doi
tong_kh=0
d1=_date1
d2=_date2
SCAN FOR ALLTRIM(ma_ts)=ALLTRIM(_ma_ts)
_kh=0
bd=ngay_bd
IF ngay_kt={} then
kt=ng_het_kh(bd,thoi_gian_sd)
ELSE
kt=ngay_kt
ENDIF
DO CASE
CASE (bd>d1) AND BETWEEN(d2,bd,kt)
_kh=kh_2date(bd,d2,nguyen_gia,thoi_gian_sd)
CASE BETWEEN(d1,bd,kt) AND BETWEEN(d2,bd,kt)
_kh=kh_2date(d1,d2,nguyen_gia,thoi_gian_sd)
CASE BETWEEN(d1,bd,kt) AND (d2>kt)
_kh=kh_2date(d1,kt,nguyen_gia,thoi_gian_sd)
ENDCASE
tong_kh=tong_kh+_kh
ENDSCAN
RETURN tong_kh
************ Ngay theo so thang su dung tu
FUNCTION Ng_het_kh
PARAMETERS ng_bd_sd,nmonth
ng_kh= DATE(YEAR(ng_bd_sd)+INT((nmonth)/12),MONTH(ng_bd_sd)+(nmonth)%12,DAY(ng_bd_sd))
i=1
DO WHILE (ng_kh={ / / })
ng_kh=DATE(YEAR(ng_bd_sd)+INT((nmonth)/12),MONTH(ng_bd_sd)+(nmonth)%12,DAY(ng_bd_sd)-1)
ENDDO
RETURN ng_kh
._.
Các file đính kèm theo tài liệu này:
- 29489.doc