E12 應用軟件開發(fā)
12.1 different types of software
不同的軟件類型
源程序由各種計算機語言編制而成,計算機語言可分為機器語言(machine language)、匯編語言(assembly language)、過程化語言(procedure language)和非過程化語言(non procedure language)。
軟件由程序、過程(函數)、處理規(guī)則以及相應的文檔構成。軟件可分為系統(tǒng)軟件(system software)和應用軟件(application software),系統(tǒng)軟件用于管理計算機資源并為應用軟件提供各種基本的和高級的運算支持,應用軟件則是為解決特定問題而編寫的程序。
系統(tǒng)軟件包括操作系統(tǒng)(operating system)、數據庫管理系統(tǒng)(database management system)、語言轉換程序(1anguage translator)、實用程序(utility program)、中間件(middleware)等。磁盤工具(disk utility)是一種實用程序。 大多數刪除程序只是刪除文件的指針,并不實際刪除文件所包含的數據塊,而磁盤工具則可以保證將數據塊中的數據也一并抹去。
程序根據其運行的方式可分為可直接執(zhí)行程序和可解釋執(zhí)行程序。
直接執(zhí)行(executable)程序包含二進制機器語言,可由CPU直接運行。編譯器(compiler)將高級過程化語言程序轉換成El標代碼(objective program),匯編器(assembler)將匯編語言程序轉換成目標代碼程序,鏈接器(1inker)將多個目標代碼程序鏈接成可執(zhí)行程序(executive program)。動態(tài)鏈接庫(DDL:dynamic link libraries)是一種特殊的執(zhí)行程序文件,它在需要時才由主執(zhí)行文件調入內存并執(zhí)行。
解釋執(zhí)行(interpretative).程序包含的是一種中間代碼,不能由CPU直接運行,而需要由解釋程序將其轉換成二進制機器語言后再由CPU執(zhí)行。解釋器(interpreter)將高級語言程序轉換成中間代碼,并逐行解釋執(zhí)行。宏(macro)程序是解釋運行的程序之一,通常用于記錄重復執(zhí)行的命令或擊鍵,使用戶能減少擊鍵的次數。
12.2 Methodologies for System Development
系統(tǒng)開發(fā)方法
隨著信息技術的發(fā)展,信息系統(tǒng)的開發(fā)越來越成為一個龐大的系統(tǒng)工程,對內它涉及組織的內部結構、管理模式、業(yè)務運營、數據的收集與處理的各個方面,對外它涉及與其他系統(tǒng)的互聯與數據交換,面對一個大型、復雜的組織機構和管理系統(tǒng),需要有一個系統(tǒng)的開發(fā)方法學來指導人們進行應用軟件開發(fā),并在使用與維護過程中進行有效的管理,以保證應用系統(tǒng)的機密性、完整性與可用性。
生命周期法(system life cycle)是一種自頂向下的結構化開發(fā)方法,它把系統(tǒng)生命周期分為六個階段:項目定義(project definition)、系統(tǒng)分析(systems analysis)、系統(tǒng)設計(design)、編程(programming)、實施(implementing)和后續(xù)維護(post implementation)。對每一個階段的任務、承擔人員、職責、各階段成果及其相互關系進行了嚴格的定義,并制定了嚴密的文檔編制規(guī)范。 生命周期法具有系統(tǒng)性、規(guī)范性、嚴密性等優(yōu)點,其缺點則是開發(fā)周期長、難以適應系統(tǒng)需求的快速變化。生命周期法對系統(tǒng)分析的要求極高,一旦系統(tǒng)分析出現偏差,則整個系統(tǒng)開發(fā)過程就可能要推倒重來。
原型法(prototyping)首先根據用戶的最基本需求迅速開發(fā)一個實驗模型交給用戶使用,啟發(fā)用戶提出進一步需求,然后對原型進行修改,再使用,再修改,如此反復,直至滿足用戶需求。 原型法的優(yōu)點是用戶可以更好地參與系統(tǒng)的需求分析和設計過程,并在應用過程中不斷完善,因此用戶滿意度高,開發(fā)速度較快。但由于原型法需要經常根據用戶的需要迅速修改系統(tǒng),對系統(tǒng)開發(fā)技術和工具要求極高。通常開發(fā)者只有在擁有并掌握了強大的計算機輔助開發(fā)工具時才有可能應用原型開發(fā)方法,因此,原型法又稱為快速原型法或快速應用開發(fā)(rapid application development)方法。快速原型法通常分模塊創(chuàng)建系統(tǒng)直至整個系統(tǒng)完成,因此往往在系統(tǒng)的整體性和文檔的嚴密性上不如生命周期法。
面向對象的開發(fā)方法認為世界是由各種各樣的對象組成,每種對象都有各自的內部狀態(tài)和運動規(guī)律,不同對象之間的相互作用和聯系就構成了各種不同的系統(tǒng)。當我們設計和實現一個客觀系統(tǒng)時,如能在滿足需求的條件下把系統(tǒng)設計成由一些不可變(相對固定)部分組成的最小結合,這個設計就是最好的。因為它把握了事件的本質,因而不再會被周圍環(huán)境(物理環(huán)境和管理模式)的變化及用戶不斷變化的需求所左右,而這些不變的部分就是所謂的對象。
12.3 Activities in System Development
系統(tǒng)開發(fā)的各項活動
◆ 系統(tǒng)分析是對需要用信息系統(tǒng)解決的問題的分析,包括用戶需求分析和系統(tǒng)可行性研究。系統(tǒng)分析工作由系統(tǒng)分析員完成,因此系統(tǒng)分析員是信息系統(tǒng)部門和其他業(yè)務部門聯系的主要橋梁。系統(tǒng)分析階段的成果是《系統(tǒng)需求分析規(guī)格書》。能力計劃(capacity planning)是《系統(tǒng)需求分析規(guī)格書》的一個重要組成部分,包括系統(tǒng)能力的設計目標、現有的設備能力清單以及對未來需求的預測,它可以確保系統(tǒng)能滿足現有及未來的性能需求,同時避免設備的浪費。如對于一項網絡工程,就必須在網絡實施前考慮程序的重新設置,并根據預期工作流量設計合適的網絡改造方案。
◆ 系統(tǒng)設計是按照系統(tǒng)分析的要求來具體設計系統(tǒng)的過程,通常可分為邏輯設計和物理設計。系統(tǒng)設計階段的成果是《系統(tǒng)設計規(guī)格書》。
◆ 編程是把設計規(guī)格書轉化成計算機軟件代碼的過程。
◆ 測試:對所有編好的程序都必須進行詳盡徹底的測試以確定系統(tǒng)是否能產生正確的結果。為確保系統(tǒng)測試的成功,開發(fā)小組與用戶應共同作出一個系統(tǒng)的測試計劃。測試包括:模塊測試(unit testing/program testing)(也叫程序測試)、系統(tǒng)測試(system testing)、驗收測試(acceptance testing)。
◆ 轉換是用新系統(tǒng)替代老系統(tǒng)的過程。轉換策略包括:平行轉換策略(parallel strategy)、直接轉換策略(direct cutover strategy)、試點轉換策略(pilot study strategy)、分階段的轉換策略(phased approach strategy)。
◆ 運行與維護是為了保障生產系統(tǒng)的正常運營,并解決系統(tǒng)中可能存在的不足,不斷完善系統(tǒng)的功能。
12.4 Techniques of Data Handling
數據處理方式
根據處理的時間分為:
◆ 批處理(batch processing):適用于有大量相似數據且可以間隔一定時間進行集中處理的數據。
◆ 在線處理(on-line processing):適用于需要實時處理的數據。
根據處理的地點分為:
◆ 集中處理(centralized processing):所有處理都在處理中心進行,遠程終端沒有處理能力。便于加強控制。
◆ 分散處理(decentralized processing):數據處理在各個遠程節(jié)點獨立進行,每個節(jié)點都有自己的獨立處理能力。用戶與系統(tǒng)數據最接近。
◆ 分布處理(distributed processing):根據需要決定部分數據集中處理、部分數據分配到遠程節(jié)點共同處理,與分散處理的區(qū)別是:在分布式處理方式下,數據更新需要各節(jié)點協調進行,并增加了數據備份需求。 其優(yōu)點是具有弱化保護(fail-soft protection)功能,即某一個節(jié)點發(fā)生故障,其他節(jié)點仍可以照常工作。
12.5 Popular Computer Audit Techniques
常用計算機審計技術
◆ 測試數據(test data):審計人員設計測試數據來檢查被審計單位計算機信息系統(tǒng)是否按預期要求運行。
◆ 平行模擬(parallel simulation):審計人員設計一種與被審計單位計算機信息系統(tǒng)功能相同的模擬系統(tǒng),將數據在被審計單位的信息系統(tǒng)和模擬系統(tǒng)上平行運行,比較兩者運行的結果是否一致。
◆ 集成測試設施(integrated test facility):審計人員虛構一些公司的數據并與被審計單位的真實數據一起處理,分析處理結果。這種方法可以對被審計單位的信息系統(tǒng)進行持續(xù)測試,但其 缺點是測試數據可能進入被審計單位的真實數據環(huán)境。
◆ 嵌入式審計模塊(embedded audit module):在應用系統(tǒng)的各個環(huán)節(jié)嵌入審計專用模塊,特點是能對被審計事項進行連續(xù)監(jiān)督。
應用計算機審計技術可以大大提高內部審計的效率與效果。如電腦化賬務處理可以自動平賬,減少了大量人工查找核對的工作。
12.6 Change Control
變更控制
變更控制是指計算機系統(tǒng)的任何變動只有經過管理層的批準后才能進行,包括硬件變更控制和程序(軟件)變更控制。
程序變更必須經過全面測試并保存文檔,以留下何人、何時、做了何事的線索。良好的變更控制程序可以將擅自編輯生產程序、工作控制語言和操作系統(tǒng)軟件的可能性降到最低限度,減少修改程序給系統(tǒng)帶來的風險。例如,若對負責系統(tǒng)安裝與維護的程序員缺乏必要的監(jiān)督,該程序員就有可能利用系統(tǒng)的工具軟件對生產程序進行變更,并且不留下任何審計線索。
12.7 End—User Computing
終端用戶計算(終端用戶開發(fā))
指系統(tǒng)的終端用戶在沒有或只有很少技術專家 正式協助的條件下,自行完成系統(tǒng)開發(fā)的一種開發(fā)策略。這存在一定的風險,包括:系統(tǒng)整體分析功能常被忽略,難以和其他系統(tǒng)集成和共享數據;系統(tǒng)內會產生一些專用的信息系統(tǒng);缺乏標準和文檔,使用及維護都嚴重地依賴開發(fā)者;由于缺乏監(jiān)督,致使相同的信息可能被以不同的方式處理,失去了信息的一致性,這也是終端用戶開發(fā)的系統(tǒng)中最難發(fā)現的缺陷。
對應用終端用戶計算的審計包括:確定終端用戶計算的應用程序、對應用程序風險進行排列、對控制情況進行文件處理和測試等。
為降低終端用戶計算的風險,內部審計師可以建議:在組織內部成立以咨詢服務為主要職能的“信息中心”;制定相應的政策、規(guī)章制度來管理用戶開發(fā)。
12.8 Application User Authentication
應用系統(tǒng)用戶認證
用戶認證是一種從數據庫到操作系統(tǒng)等各類軟件中都很常見的安全防范技術,應用系統(tǒng)用戶認證從概念上來說是非常簡單的:系統(tǒng)的每一位用戶都被分配了一個唯一的用戶名。對關聯該用戶名的資源或功能的訪問都要接受特定口令的保護。 用戶認證機制的主要優(yōu)點是它可以為創(chuàng)造出更復雜的授權方案提供選擇。所謂的認證(authentication)是證明用戶身份的過程,而授權(authorization)則是標識認證用戶可訪問資源的過程。
在特殊情況下,用戶認證類型有可能采用多種復合認證技術,基本上分為:
◆ 只有你知道的事情,如賬號和密碼;
◆ 只有你擁有的東西,如身份證、工作證;
◆ 只有你具有的特征,如指紋、聲音、虹膜。
相關推薦:國際注冊內審師考試《經營分析和信息技術》講義匯總
新添考試應用:
①資訊訂閱,查詢最新考試信息②章節(jié)習題 海量套題全免費體驗!!
典型試題
1.某電子公司決定通過應用快速應用程序開發(fā)技術來實現某新系統(tǒng)。以下哪項內容將被包括在該新系統(tǒng)的開發(fā)之中?
a.將系統(tǒng)文檔編制的需要延遲到最后模塊完成之時。
b.把項目管理責任從開發(fā)小組轉移出去。
c.分模塊創(chuàng)建系統(tǒng)直至系統(tǒng)完成。
d.應用對象開發(fā)技術將以往編碼的使用減少到最低程度。
『正確答案』c
『解題思路』
a.不正確。快速應用開發(fā)技術并不能取消或延遲系統(tǒng)文檔的編制,應在將每個模塊交付用戶使用時交付文檔。
b.不正確。采用快速應用開發(fā)方法時開發(fā)小組應承擔起項目管理的責任。
c.正確。快速應用開發(fā)方法根據系統(tǒng)需求的緊迫程度邊開發(fā)邊使用,因此新系統(tǒng)應該分模塊開發(fā)直至完成。
d.不正確。如應用對象開發(fā)技術,則將增加而不是減少對以往代碼的利用。
2.一個大型組織在開發(fā)一個內部廣泛使用的新應用程序的時候,信息系統(tǒng)部門與其他部門之間的主要聯絡人通常是
a.終端用戶
b.應用程序員。
c.維護程序員。
d.系統(tǒng)分析員。
『正確答案』d
『解題思路』
a.不正確。終端用戶使用信息系統(tǒng)。
b.不正確。應用程序員根據需求分析報告設計并編碼實現系統(tǒng)功能。
c.不正確。維護程序員負責修復系統(tǒng)運行過程中暴露的軟件故障。
d.正確。系統(tǒng)分析員負責系統(tǒng)的需求分析,在進行需求分析時需要不斷和其他業(yè)務部門進行交流,因此通常成為信息系統(tǒng)部門與其他部門之間的主要聯絡人。
3. 以下哪一項不是一個新的應用系統(tǒng)的實施方法?
a.直接轉換
b.平行轉換
c.試點轉換
d.測試
『正確答案』d
『解題思路』
a.不正確。直接轉換、平行轉換、試點轉換和分階段的轉換是用新系統(tǒng)替代老系統(tǒng)的四種主要策略。
b.不正確。見題解a。
c.不正確。見題解a。
d.正確。測試是系統(tǒng)開發(fā)階段的任務之一,以驗證系統(tǒng)按預定的功能運行,因此測試不是新應用系統(tǒng)的實施方法。
4. 在以自頂向下開發(fā)法設計系統(tǒng)元素時,應該檢查以下哪一項?
a.競爭對手使用的處理系統(tǒng)類型。
b.系統(tǒng)需要的計算機設備。
c.管理者為進行計劃和控制所需的信息。
d.現有系統(tǒng)的控制。
『正確答案』c
『解題思路』
a.不正確。競爭對手的處理過程可能是不相關的,或者根本是未知的。
b.不正確。重點應該首先放在目的和對新系統(tǒng)的需要上,而不是放在設備上。
c.正確。用戶的信息需要和目標是首要的。
d.不正確。與現行系統(tǒng)相關的控制可能是不相關的或不重要的。
5.要最大程度地降低未經授權編輯生產程序、作業(yè)控制語言和操作系統(tǒng)軟件的可能性,以下哪種方法效果最佳?
a.數據庫訪問檢查
b.符合性檢查。
c.良好的變更控制程序。
d.有效的網絡安全軟件。
『正確答案』c
『解題思路』
a.不正確。數據庫訪問檢查可以防止對數據庫的非授權訪問,但不能防止未經授權編輯生產程序、作業(yè)控制語言和操作系統(tǒng)軟件。
b.不正確。符合性檢查可以在非授權編輯操作發(fā)生后發(fā)現該事件并予以糾正,但不能預防非授權編輯操作的發(fā)生。
c.正確。良好的變更控制程序是安全政策、安全管理和安全技術的綜合,可最大程度地預防未經授權編輯生產程序、作業(yè)控制語言和操作系統(tǒng)軟件的行為發(fā)生
d.不正確。網絡安全軟件用于防止通過網絡進行的非授權編輯,但對于直接通過控制臺進行的非授權編輯可能就無能為力。有效的網絡安全軟件只是安全管理的技術因素,如沒有管理方面的配合,安全效果會大打折扣。
6.能對源程序進行語法檢查,并將其翻譯成目標代碼的程序是
a.解釋程序
b.編譯程序。
c.調試程序。
d.加密程序。
『正確答案』b
『解題思路』
a.不正確。解釋程序將高級語言程序轉換成中間代碼,并逐行解釋執(zhí)行。
b.正確。編譯程序對源程序進行語法檢查,并將其翻譯成目標代碼的程序。
c.不正確。調試程序用于跟蹤程序的執(zhí)行,并找到發(fā)生錯誤的代碼。
d.不正確。加密程序用于對敏感數據進行密碼變換,防止信息泄露。
7.與主機系統(tǒng)相比,終端用戶計算(EUC)環(huán)境更有可能遇到以下哪種風險?
a.沒有能力提供足夠的不間斷電源系統(tǒng)。
b.用戶輸入屏幕缺乏圖形用戶接口(GUI)。
c.應用軟件難以與其他信息系統(tǒng)進行集成。
d.缺乏足夠的工具程序。
『正確答案』c
『解題思路』
a.不正確。終端用戶計算環(huán)境所要求的不間斷電源系統(tǒng)完全能夠得到滿足。
b.不正確。終端用戶計算環(huán)境的圖形用戶接口能力比主機系統(tǒng)更為強大。
c.正確。由于終端用戶計算環(huán)境的應用軟件是終端用戶在沒有或只有很少技術專家協助的條件下,根據各自的需求而自行開發(fā)的,系統(tǒng)整體分析功能常被忽略,因此存在難以和其他系統(tǒng)集成和共享數據的風險。
d.不正確。終端用戶計算環(huán)境具備足夠的工具程序。
8.當在應用層面上對終端用戶計算(EUC)控制進行審計時,檢查程序應包括:
a.評價EUC管理、政策、程序及終端用戶支持。
b.標識出EUC應用,對其進行風險分級,并對控制進行文件記錄和測試。
c.檢查培訓情形、用戶滿意程度及數據所有權。
d.對物理安全性、邏輯安全性、備份及恢復計劃進行評價。
『正確答案』b
『解題思路』
a.不正確。這些應是組織層面而不是應用層面上的審計工作。
b.正確。鑒于EUC應用所固有的潛在風險,有必要對EUC應用進行標識、風險分級和測試。
c.不正確。這些僅是構成檢查過程中的一些具體操作,而不是應用層面上的檢查程序。
d.不正確。這些同樣僅是構成檢查程序的一些具體操作。
9.當審計一項計算機應用時,以下哪一項是使用整體測試法(ITF)的缺點?
a.整體測試法在證實賬戶余額的正確性時可能有用,但是在確定出來控制的存在性時可能沒有用。
b.測試數據可能進入真實的數據環(huán)境。
c.應用測試時,整體測試法不能與模擬的主文件記錄一起使用。
d.測試數據必須由具有豐富技術技能的信息技術職員處理。
『正確答案』b
『解題思路』
a.不正確。通過設計特定的虛擬交易,ITF可以確定處理控制的存在性。
b.正確。在采用ITF時,測試人員需虛擬一些記錄和交易,并與真實數據一起處理,以分析處理結果。因此測試數據可能進入真實的數據環(huán)境。
c.不正確。ITF可以使用模擬的主文件記錄來測試應用,只要該模擬主文件記錄和真實記錄不同即可。
d.不正確。整體測試法的測試數據處理人員需要精通業(yè)務,但不需要很深的計算技術技能。
10.用戶驗收測試在面向對象開發(fā)過程中比在傳統(tǒng)環(huán)境中更重要,因為它隱含著:
a.缺乏傳統(tǒng)的設計文檔
b.缺少對變化的跟蹤系統(tǒng)
c.持續(xù)監(jiān)聽的潛力
d,在層次中屬性的繼承
『正確答案』d
『解題思路』
a.不正確。盡管不同于傳統(tǒng)的設計文檔,面向對象的開發(fā)過程也需形成諸如商業(yè)模型、功能描述、迭代開發(fā)屏、計算機處理和報告、以及產品說明指南等文檔,但是這些特定文檔的存在并不影響用戶接受測試的重要性。
b.不正確。通常,面向對象的開發(fā)系統(tǒng)確實包含有對對象和層次的變動進行追蹤的系統(tǒng)。
c.不正確。由于對象系統(tǒng)通常在客戶/服務器環(huán)境下開發(fā),因此確實具有針對系統(tǒng)使用的連續(xù)監(jiān)控的潛能,但這種情況僅發(fā)生在系統(tǒng)運行而不是系統(tǒng)開發(fā)階段。
d.正確。由于一個類中的所有對象繼承了其層次屬性,意味著對某個對象的改變將影響到其他對象,這就增加了用戶接受度測試的重要性,以便驗證整個系統(tǒng)是否在正確運轉。
11.在審查某公司對外出售已用過微機的政策時,審計人員最關心的是以下哪項內容?
a.硬盤驅動器上已經刪除的文件是否徹底刪除
b.電腦是否有病毒
c.電腦上的所有軟件是否獲得恰當許可
d.電腦上是否存在終端仿真軟件
『正確答案』a
『解題思路』
a.正確。多數刪除程序只是刪除文件的指針,而并不清除相關的數據。公司要徹底清除數據就必須使用特殊的工具。因為微機上可能存在機密的數據,所以這樣做很重要。
b.不正確。如果微機上的病毒破壞了購買單位的數據或程序,公司可能需承擔一定責任。但是,購買單位應該使用反病毒軟件來檢測和消除微機上的病毒。這個問題雖然也重要,但沒有a選項嚴重。
c.不正確。購買單位有責任確保他們的軟件都有適當的許可。如果公司宣稱所有的軟件都有適當的許可,則也可能會產生法律責任。然而,這種可能性沒有a選項所產生的后果嚴重。
d.不正確。終端仿真軟件隨處可得。
12.使用嵌入審計模塊的目的是:
a.能夠對交易處理進行持續(xù)的監(jiān)控
b.辨認出插入的非法程序代碼
c.證實主文件賬戶余額的正確性
d.檢查計算機存儲器中特定部分的內容
『正確答案』a
『解題思路』
a.正確。嵌入式審計模塊可以對交易處理進行持續(xù)的監(jiān)控。
b.不正確。辨認插入的非法程序代碼是安全軟件的功能。
c.不正確。證實主文件賬戶余額的正確性是核算軟件的功能。
d.不正確。檢查計算機存儲器中特定部分的內容是調試軟件的功能。
相關推薦:國際注冊內審師考試《經營分析和信息技術》講義匯總
新添考試應用:
①資訊訂閱,查詢最新考試信息②章節(jié)習題 海量套題全免費體驗!!
(責任編輯:中大編輯)