轉自:http://wenku.baidu.com/link?url=h_n8QLhdtRu5KgaVxy1v0gAiS5t7HVv5JH9tPFcOBXYUMvqnf_NZJMYDUBVkWVc43v1MbfJhXq0v9HADhA18arsAXo6W38mFFN-WdGGgkJi數據庫
軟件開發術語定義編程
劉昌其 (華北計算所)安全
軟件開發在溝經過程中,經常會出現因對一些名詞-術語理解的差別,而發生爭論,有時甚至產生僵局使工做沒法開展,不得不花時間去討論這些名詞-術語,取得共識後工做才能進行下去。其實,若是在一開始就把一些容易產生混淆的名詞先定義好,讓大統一認識可能就不會出現上述狀況,從而提升效率和提高軟件質量。數據結構
如下列舉這些術語定義就是本人在軟件開發中常常遇到的,有些通過思考後改寫的,有些是通過編輯的,有些是彙編過來的,但願對軟件開發人員有所幫助,共你們參考:框架
01. 標準ide
是權威部門爲某種產品制定的有關功能、性能和質量等的一組規範,供設計和生產部門遵守執行,以提升質量,下降成本,增長互換性。工具
02. 設計性能
是肯定產品功能、性能、組成、質量和成本的優化過程。(設計是產品質量造成過程當中的關鍵環節,經過設計把顧客的要求轉化爲產品的功能-性能及實現採購、檢驗、服務、技術規範等過程並造成文件,使工做按程序進行,以確保知足規定要求。)單元測試
03. 軟件設計開發工具
是將用戶需求轉化爲軟件的功能-性能、結構、組成、接口、質量和成本的優化過程。
04. 方法
是解決問題的途徑和辦法。
05. 工具
是下降勞動強度,提升生產率的器具。
06. 驗證定義
通俗講是肯定一個操做是否正確完成的過程;或者說是經過檢驗和提供客觀證據,證實某項過程的輸出已經知足了輸入的要求。若輸出知足了輸入的要求,則該處理過程的正確性就獲得了驗證,不然就沒有獲得驗證。
軟件驗證定義:經過測試報告證實軟件輸出已經知足本階段輸入的要求。驗證的要點是過程的輸出必定要知足輸入時的要求。
07. 認證定義 Certif1cation
認證一詞的英文原意是一種由權威機構出具證實文件(如資格證書)的行爲。ISO/IEC指南2:1986中對「認證」的定義是:「由能夠充分信任的第三方證明某一經鑑定的產品或服務符合特定標準或規範性文件的活動」。舉例來講,對第一方(賣方)生產的產品,第二方(買方)沒法斷定其品質是否合格,而由第三方來斷定。第三方既要對第一方負責,又要對第二方負責,不偏不倚,出具的證實要能得到雙方的信任,這樣的活動就叫作「認證」。第三方的認證活動必須公開、公正、公平,纔能有效。
08· 可靠性定義reliability
在規定的時間和條件下,軟件系統維持正常運行的機率。(或者是在單位時間內,系統維持正確運行的機率。)
09. 穩定性定義 stability
a.在有干擾或破壞事件影響下仍能保持不變的能力。
b.在(無心的)干擾事件發生以後,系統恢復原始狀態的能力。
10. 安全性定義,保密性定義 security
對系統(硬件、軟件)進行保護,以防止其受到有意攻擊和破壞(如:存取、使用、修改、毀壞或泄密)的程度。安全性也涉及對數據的傳輸、存儲、及處理的物理保護。
11. 有效性定義 effectiveness
衡量策劃活動達到策劃結果的程度。
有效性(validity)是衡量實際活動達到規定目標的程度(對質量體系而言,其有效性是指文件上說到-作到的程度)。
12. 需求分析定義
定義1. 需求分析是肯定系統功能-性能、組成、接口、進度、成本和設備配置的優化過程。它是軟件開發的關鍵步驟,主要是理解和表達軟件系統的用戶需求,包括:軟件的功能、性能、可靠性、安全性、成本消耗、開發進度、資源利用、用戶接口和所需的數據庫等方面。系統分析員在研究用戶需求的基礎上,通過分析編寫成軟件需求說明書或軟件規格說明書,做爲需求分析階段的主要工做成果。
定義2. 需求分析是開發人員對系統須要作什麼和如何作的定義過程。從系統分析的經驗來看,這個過程每每是個按部就班的過程,一次性對系統造成完整的認識是困難的。只有不斷地和客戶領域專家進行交流確認,方能逐步明瞭用戶的需求。從系統開發的過程得知,系統分析時犯下的錯誤,會在接下來的階段被成倍的放大,越是在開發的後期,糾正分析時犯下的錯誤所花費的代價越是昂貴,也愈加影響系統的工期和系統的質量。
13. 軟件設計定義
肯定軟件功能、性能、接口及組成框架的過程;可分爲概要設計(也稱爲整體設計或結構設計)和詳細設計(模塊設計)兩個階段。
14. 概要設計定義
是根據需求規格書,進行功能分解,肯定程序結構、數據結構的優化過程。概要設計從宏觀角度解決軟件「怎麼作」的問題,把系統按功能分界成各個模塊,明確各模塊的功能以及它們之間的接口,即各模塊之間的相互關係以及相互間傳遞的信息。
15. 詳細設計定義
詳細設計是根據開發工具,把概要設計逐級細化成能在運行環境上進行編程的過程。詳細設計將詳細描述模塊內部的處理過程,即給出每一個模塊的詳細說明、流程圖、一些典型或重要方法的結構化說明或僞代碼等。
詳細設計主要使用的工具備三種類型①圖示工具,經常使用的有結構化流程圖、N-S圖和PAD圖;②僞代碼語言;③表格工具,如斷定表、斷定樹等。
16. 軟件測試定義
測試是爲了發現程序中的錯誤,而執行程序的過程。它的主要任務是發現並排除需求分析、軟件設計和編碼等階段產生的各類錯誤,獲得正確-可靠的軟件。
軟件測試可分爲四級①單元測試;②集成測試;③確認測試;④系統測試。經常使用的測試方法有白盒測試和黑盒測試二種。
測試-審計:測試是過後檢驗產品的質量,保證產品符合客戶的需求;而 SQA 的職責是審計過程的質量,保證 CMM 中各個 KPA 過程被正確執行。
17. 軟件維護定義
軟件維護是在軟件交付使用後,爲使系統正常工做而進行的修改過程。目的是及時消除故障,保證軟件能正確、持續、有效地爲用戶服務。維護可分爲:
正確性維護,即:改正在系統開發階段發生的而系統測試階段還沒有發現的錯誤。
適應性維護,即:是爲適應軟件的外界環境變化而進行的修改。
完善性維護,即:是爲擴充系統的功能和改善系統性能而進行的修改。它是軟件工程的重要環節,據統計資料代表,該階段的花費佔整個軟件生存期花費的60%以上。
正確性維護是在軟件運行中發生異常或故障時進行的,這種故障經常是因爲遇到了從未用過的輸入數據組合,或與其餘硬、軟件接口發生了問題。適應性維護是在軟件的外部環境發生的變化時進行的,如計算機的更新換代,操做系統的升級,數據格式的變更等等。完善性維護是在擴充軟件的功能時進行的,目的是提升原有軟件性能而開展的維護活動。
18. 項目定義:
項目是在規定時間、成本、資源(含人力資源)內,按照某種標準和規範去生產某種新產品或提供某項新服務的過程。美國-哈佛大學
·軟件項目定義
是軟件企業根據合同,在規定時間和預算範圍內,按某種規範,達到預計收益和合同規定目標的一次性任務。
有關項目定義還有其餘一些說法,列舉以下,供參考:
(1) 項目是在規定時間和預算範圍內,達到特定目的和預計收益的一組活動。
(2) 項目是一項創造惟一產品或服務的時限性工做。
(3) 由一組有起止時間的、相互協調的受控活動所組成的特定過程,該過程要達到符合規定要求的目標,包括時間、成本和資源的約束條件。
(4) 項目一般可表述爲:是一個組織爲實現本身既定的目標,在必定的時間、人員和資源約束條件下,所開展的一種具備必定獨特性的一次性工做。-南開大學戚安邦教授《現代項目管理講義》
(5)項目是一種一次性的工做,是在規定的時間內,由專門組織起來的人員來完成;它有一個明確的預期目標;而且有明確的可利用的資源,它須要運用多種學科的知識來解決問題;沒有或不多有以往的經驗能夠借鑑。這些都是一次性的,都要求在必定的期限內完成,不得超過必定的費用,並有必定的性能要求等。因此,有人說項目是新企業、新產品、新工程、新系統和新技術的總稱。
19. 項目管理定義
是經過項目的啓動、計劃、實施、控制與結束等階段,爲使成本、進度、質量控制在預約範圍內,所進行的分析和管理活動。
有關項目管理定義還有其餘一些說法,列舉以下,供參考:
(1)軟件項目管理是爲了使軟件項目可以按照預約的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。
(2)MBOK(Project Management Body of Knowledge)定義
爲了知足甚至超越項目涉及人員對項目的需求和指望,而將理論知識、技能、工具和技巧應用到項目的活動中去。(項目管理就是組織利用資源,按照預約的成本和進度,高質量地完成一個既定的目標。)
(3)所謂項目管理就是對項目的管理,項目管理者的中心工做就是按工期、按預算、按要求完成任務。美國項目管理學會(PMI)認爲:項目管理就是把各類知識、技能、手段和技術應用於項目中,以達到人們的須要和指望。
·管理要素定義
是構成管理的必要因素和要解決的關鍵性問題。
20. 軟件配置和配置項定義
軟件配置(software configuration)是指開發過程當中,構成軟件產品的各類文檔、程序及其數據的集合。該集合中的每個元素稱爲配置中的一個配置項(configuration item)。
21. 軟件配置管理定義
是對軟件生存期內各階段的文檔、軟件實體和最終產品的演化和變動進行管理;同時要解決變動的標識、控制和發佈等問題。目的是使開發制度化、提升效率、減小錯誤,從而保證產品的質量。
◇里程碑即一般所說的軟件開發過程當中的「階段」,若是說它們之間有區別的話,那麼「階段」強調的是過程,而「里程碑」則強調過程的終點和終點的標識。這些階段能夠是需求分析階段,概要設計階段等等。
◇基線是軟件開發過程當中最重要的里程碑,不過基線更強調的是一個開發階段到達里程碑時的結果及其內容,如:功能基線是通過評審和批准的需求規格說明書;產品基線是經集成和確認測試後,經正式審批可交付客戶的軟件產品的所有配置項(包括:軟件實體和全部的文檔)。
◇受控庫是軟件開發過程當中,其修改權限接受控制的文檔庫和程序庫,其中基線庫和產品庫,特別是產品庫的修改權限將受到嚴格的控制,即便是受權修改的人,在修改前還必須獲得批准。
◇ 基線庫是受控庫中一些特別重要的庫,如:需求(基線)庫和產品(基線)庫。
◇ 產品庫是存放軟件最終產品(即:產品基線)的庫,基於它的重要性,對它的修改將受到特別的控制。產品基線是最初批准的產品配置標識。
22. 信息定義 information
定義1:信息是物質、事物、現象的屬性、狀態、關係標記的集合。
定義2:信息是物質、事物、現象的屬性、狀態、關係、效用,藉助某種方式描記、排布的信號、符號及語義的序列集合。(再如C. Shannon 有名的Information Theory 將信息定義爲事件發生機率倒數的對數值,則是將信息的重要屬性『機率』予以量化)
定義3:是對物質運動和生物活動產生的數據、文字、圖象、聲音及其內在規律的記錄。
定義4:信息是有必定含義、通過加工處理、對決策有價值的數據。 信息=數據+處理
23. 文件定義 document
定義1:文件是信息及其承載媒體。如:記錄、規範、程序、圖樣、報告、標準。
注1:媒體能夠是紙張,磁盤、光盤或其餘電子媒體或它們的組合。
注2:一組文件,如若干個規範和記錄,常常稱爲"documentation"。
注3:某些要求(如易讀的要求)與全部類型的文件有關,但是對規範(如修訂受控的要求)和記錄(如可檢索的要求)能夠有不一樣的要求。
定義2:文件是一種在媒體上記錄的數據。它具備永久性並能夠由人或機器閱讀。一般僅用於描述人工可讀的內容。例如,技術文件、設計文件、版本說明文件。
23. 規範定義 specification
24. 質量定義
產品質量是產品知足客戶要求的程度。客戶的具體要求能夠是功能、價格、壽命、易用、可靠性、穩定性、安全性以及維護服務的方便性等等。
25. 質量管理 (quality management)定義
通俗講是在質量方面指揮和控制企業的協調活動。嚴格講是制定質量方針和目標,明確崗位職責,經過質量體系的運做,即經過質量的策劃、實施、控制和改進等步驟,完成管理職能的所有活動。
26. 軟件質量定義
軟件質量(software quality)是軟件的一組固有特性(如:功能、性能)知足客戶要求的程度。具體講軟件質量就是軟件在正確、易用、健壯、快捷、抗毒、安全等方面知足顧客要求的程度。
27. 質量計劃定義 quality plan
對特定的項目或產品,規定由誰什麼時候使用哪些程序和相關資源的文件。或者是利用資源,爲達質量目標而對特定產品的質量活動和順序作出規定的文件。
注1:這些程序一般涉及那些質量管理過程和產品實現過程。
注2:一般,質量計劃引用質量手冊的部份內容或程序文件。
注3:質量計劃一般是質量策劃的結果之一。
28. 記錄定義 record
闡明所取得的結果或提供所完成活動的證據的文件。
注1:記錄可用於實現和證實可追溯性提供文件,並提供驗證、預防措施和糾正措施的證據。
注2:一般記錄不須要控制版本。記錄和文件的最主要區別是記錄不能修改。而文件能夠修改。
29. 評審定義 review
爲肯定主題事項達到規定目標的適宜性、充分性和有效性所進行的活動。
示例:管理評審、設計與開發評審、顧客要求評審和不合格評審。
30. 設計評審 design review
設計評審定義是專家對設計方案中的功能-性能是否符合用戶需求,及其實現的可行性進行評價,找出設計缺陷、提出改進建議的過程。
31. 軟件驗證定義:
經過測試報告證實軟件輸出已經知足本階段輸入的要求。驗證的要點是過程的輸出必定要知足輸入時的要求。
32. 確認定義validation
在軟件開發過程結束時對軟件進行評價,以確認它和軟件需求是否相一致的過程。軟件開發結束,經過驗收報告認定:軟件的功能-性能已經知足客戶的需求。「確認」要注意2個要點:一是確認必定要在項目結束時進行,二是必定要由用戶確認。
33. 測試用例定義 test case
根據軟件功能-性能和操做流程組織的測試數據,以及與之相關的測試規程的集合。它是爲了特定目的(如考察特定程序路徑或驗證是否符合特定的需求)而產生出來的。
34. 測試用例設計
測試用例要根據用戶對軟件的實際操做和業務流程來設計,同時設定測試數據。重要的是這些設定的數據必定要有意義(例如:你不能把員工的性別定爲「A或B」,必定要定爲「男或女」;也不能把籍貫設定爲「ZXCV」或「ASDF」什麼的,必定要設定成「北京」或「江蘇」等);不然測試獲得的結果令人看不懂,而使測試失去原有的意義。可見,對大型軟件測試用例的設計和數據準備的工做量是很大的。這是由於要全面測試軟件的功能和性能,不只須要設計大量的用例,更要準備更多有實際意義的數據才行。若是有用戶真實的數據就更好,沒有就只好根據軟件功能,設定一些有真實含義的模擬數據進行測試。只有當準備的測試數據比較全面(如:正常值、邊界值、異常值),軟件測試才能被全面覆蓋。
35.測試用例構造
對一個新開發的軟件,構造其測試用例的最好辦法,就是根據用戶的實際使用的案例,通過改造變成該軟件的測試用例和數據。用這樣的測試用例去測軟件效果是最好的,由於它很接近實際使用狀況。若是實在找不到用戶的實際案例,只好根據軟件功能認真地設計一個測試用例,並模仿用戶使用狀況,儘量定義一組符合實際狀況的模擬數據,將其保存在測試數據庫中。
36. 測試範圍定義 test coverage
一個範圍,在此範圍內測試系統可否知足規定需求。
37. 測試數據定義 test data
用來測試系統或系統部件的數據。
38. 測試日誌定義 test log
按年月日所作的測試活動的所有有關細節的記錄。
39. 測試階段定義 test phase
軟件生存週期中的一段時間。在此期間對軟件產品的部件進行評價且進行集成。並評價軟件產品以肯定需求是否已獲得知足。
40. 測試計劃定義 test plan
一個文件,它敘述了對於預約的測試活動將要採起的途徑。典型的計劃應包括:標識要測試的項目、要完成的測試、測試進度表、人事安排要求、報告要求、評價準則,以及任何臨界的要求的臨時計劃。
軟件測試計劃主要描述測試階段的劃分、測試時機的安排、測試人員的配備、測試環境的要求等。爲了使測試計劃相對標準些,還須要增長一些章節如:測試目的、背景、定義、參考資料等。
41. 測試規程定義 test procedure
對給定的測試,就其創建、運行和結果估計所做的詳細說明。經常把一組有關的過程組合起來造成測試過程文件。
42. 測試可重現性 test repeatability
測試的一種屬性。指明相同環境、不一樣時間進行的測試是否產生相同的結果。
43. 測試報告定義 test report
描述對系統或系統部件進行的測試行爲及結果的文件。
44. 測試有效性定義 test validity
完成測試規定目標的程度。
45. 可測試性定義 testability
a.軟件的一種性質。它代表了既便於測試準則的創建又便於就這些準則對軟件進行評價的程度。
b.需求的定義便於對需求進行分析以創建測試準則的程度。
46. 測試定義 testing
由人工或自動方法來執行或評價系統或系統部件的過程,以驗證它是否知足規定的需求;或識別出指望的結果和實際結果之間有無差異。
47. 審覈定義 audit
爲得到審覈證據並對其進行客觀的評價,以肯定知足審覈準則的程度所進行的系統的、獨立的並造成文件的過程。
48. 審覈方案 audit program
針對特定的時間框架和特定的目的所策劃的一組(一個或多個)審覈。
49. 審覈準則定義 audit criteria
用做依據的一組方針、程序或要求。
50. 審覈證據定義 audit evidence
與審覈準則有關的而且可以證明的記錄、事實陳述或其餘信息。
注:審覈發現能代表是否符合審覈準則,也能指出改進的機會。
51. 審覈發現定義 audit findings
將收集到的審覈證據對照審覈準則進行評價的結果。
注:審覈發現能代表是否符合審覈準則,也能指出改進的機會。
52. 審覈結論定義 audit conclusions
審覈組在考慮了全部審覈發現之後得出的審覈結果。
53. 能力定義competence
經證明的應用知識和技能的本領。
54. 知識
定義1:知識是人們通過實踐、試驗獲得的經驗和規則,它們被普遍生產和社會活動所驗證。因此知識只有通過普遍實踐檢驗,成爲人們的信念和活動準則後才能真正發揮做用。
定義2:知識是人們經過對信息進行概括、演繹、比較等手段,使其有價值的部分沉澱下來,並與已有人類知識結合造成知識體系。這部分有價值的信息就轉變成知識。
55. 智慧
定義1:智慧是人類運用已有知識去解決問題的一種特有能力。
定義2:智慧是人類按照已有的知識,針對物質世界運動過程當中產生的問題,根據得到的信息進行分析、對比、演繹找出解決方案的能力。