軟件開發術語


一、結構化程序設計

  結構化程序設計是以模塊功能和詳細處理過程設計為主的一種傳統的程序設計思想,通常采用自頂向下、逐步求精的方式進行。在結構化程序設計中,任何程序都可以由順序、選擇、循環三種基本結構構成。結構化程序采用模塊化設計思想來實現,基本思路是把程序要解決的總目標分解為若干個簡單的小目標來處理,再進一步分解為具體的任務項來實現,在模塊化的程序設計中,應盡量做到模塊之間的高內聚、低耦合  

  

二、面向對象的基本概念

  (1)對象:是要研究的任何事務,可以是自然界的任何事物。對像由數據和作用於數據的操作構成一個獨立整體,從程序設計者來看,對象是一個程序模塊,從用戶來看,對象可以提供用戶所希望的行為。

  (2):類是一組有相同數據和相同操作對象的定義,一個類包含的方法和數據描述一組對象的共同屬性和行為。類是在對象之上的抽象,對象則是類的具體化,是類的實例。面向對象的程序設計語言通過類庫來代替傳統的函數庫。

  (3)消息和方法對象之間進行通信的機制叫作消息

  (4)軟件復用

  軟件復用是指在兩次或多次不同的軟件開發過程中重復使用相同或相擬軟件元素的過程,軟件元素包括 程序代碼、測試用例、設計文檔、設計過程、需求分析文檔甚至領域知識

  根據復用跨越的問題領域,軟件復用可分為垂直式復用和水平式復用

  垂直式復用:指在一類具有較多公共性的應用領域之間進行軟件重用,大多數軟件組織采用這種重用形式。

  水平式復用:重用不同應用領域中的軟件元素,例如數據結構、分類算法、人機界面構件等,標准函數庫屬於水平式重用

 

三、面向對象的主要特征

  (1)繼承性

  繼承性是子類自動共享父類的數據結構和方法的一種機制。在類層次中,若子類只繼承一個父類的數據結構和方法,則稱為單重繼承,若子類繼承多個父類的結構和方法,則稱為多重繼承。

  (2)多態性

  多態性是指相同的操作、函數或過程可作用於多種不同類型的對象上,對象收到同一個消息可以產生不同的結果,這種現象稱為多態性

  (3)封裝性

  封裝是一種信息隱蔽技術,是對象的一種重要特性。封裝使數據和加工數據的方法變為一個整體以實現獨立性很強的模塊,用戶只能見到對象的外部特性,對象的內部特性對用戶是隱蔽的

 

四、面向對象的開發方法

  面向對象的開發方法主要有Booch方法、Coad方法和OMT方法

  4.1 Booch方法

  (1)類圖:描述類與類之間的關系。

  (2)對象圖:描述實例和對象間傳遞的消息。

  (3)模塊圖:描述構件。

  (4)進程圖:描述進程分配處理器的情況。

  Booch方法也可以划分為靜態模型和動態模塊,其中靜態模型表示系統的構與和結構動態模型表示系統執行的行為動態模型又包含時序圖和狀態轉換圖

  (1)時序圖:描述對象圖中不同對象之間的動態交互關系。

  (2)狀態圖:描述一個類的狀態變化。

  

  4.2 Coad方法

  Coad方法是多年來開發大系統的經驗與面向對象概念的有機結合,在對象、結構、屬性和操作的認定方面提出了一套系統的原則。Coad方法可分為面向對象分析(OOA)和面向對象設計(OOD)兩部分。在OOA中建立概念模型,由類與對象、屬性、服務、結構和主題五個分析層次組成。

  面向對象設計就是根據已建立的分析模型,運用面向對象技術進行系統軟件設計,它將OOA模型直接變成OOD模型。

  

  4.3 OMT方法

  OMT方法認為開發工作的基礎是對真實世界的對象建模,然后圍繞這些對象使用分析模型來進行獨立於語言的設計。

 

五、UML

  UML標准建模語言主要是因為它與程序設計語言無關,UML提供了多種類型的模型描述圖,常用的UML圖包括用例圖、類圖、序列圖、狀態圖、活動圖、組件圖和部署圖。

  (1)用例圖

  描述了系統提供的一個功能單元以一種可視化的方式理解系統的功能需求

  (2)類圖

  表示不同的實體如何彼此相關,它顯示了系統的靜態結構

  (3)序列圖

  顯示具體用例的詳細流程,並且顯示了流程中不同對象之間的調用關系

  (4)狀態圖

  表示類所處的不同狀態和類的狀態轉換信息

  (5)活動圖

  活動圖表示在處理某個活動時,兩個或多個類對象之間的過程控制流

  (6)組件圖

  提供系統的物理視圖,顯示系統中的軟件對其他軟件的依賴關系

  (7)部署部

  表示軟件系統如何部署到硬件環境中。

 

六、軟件開發模型

  是指軟件開發的全部過程‘、活動和任務的結構框架,其主要過程包括需求、設計、編碼、測試及維護階段等環節,軟件開發模型使開發人員能清晰、直觀地表達軟件開發的全過程,明確了解完成的主要活動和任務。軟件開發過程中,常用的軟件開發模型可以概括為以下六類。

  (1)瀑布模型

  最早出現的軟件開發模型,它將軟件生命周期分為制訂計划、需求分析、軟件設計、程序編寫、軟件測試和運行維護六個基本活動,並規定了它們自上而下、相互銜接的固定次序。由於模型的線性過程太過理想化,已不適合現代的軟件開發模式

  (2)快速原型模型

  首先建立一個快速原型,以實現客戶與系統的交互,用戶通過對原型進行評價,進一步細化軟件的開發需求,從而開發出令客戶滿意的軟件產品。

  (3)增量模型

  又稱演化模型,認為軟件開發是通過一系統的增量構件來設計、實現、集成和測試的,每一個構件由多種相互作用的模塊構成。

  (4)螺旋模型

  結合了瀑布模型和快速原型的特點,特別適合於大型復雜的系統

  (5)噴泉模型

  也稱為面向對象的生存期模型,相對傳統的結構化生存期而言,其增量和迭代更多。

  (6)RUP模型

  軟件統一過程RUP也是具有迭代特點的模型,RUP強調采用螺旋和增量的方式來開發軟件

  依據時間順序,RUP生命周期分為四個階段,初始階段、細化階段、構建階段、交付階段

 

七、軟件開發方法

  軟件開發方法是在軟件系統開發過程中使用的方法。與軟件開發模型不同的是,開發模型強調規划,即規划軟件開發的流程;而軟件開發開發方法強調軟件系統的具體實現

  1、結構化方法

  結構化方法把系統開發分為若干階段,相鄰兩階段中,前階段是后階段的工作前提。

  結構化方法的基本思想是自頂向下,逐層分解,把一個大問題分解成若干個小問題,每個小問題再分解成若干個更小的問題。經過逐層分解,每個最低層的問題都是足夠簡單、容易解決的。結構化方法分析模型的核心是數據字典,圍繞這個核心,有三個層次的模型,分別是數據模型、功能模型和行為模型(也稱為狀態模型)。在實際工作中,一般使用E-R圖表示數據模型,用DFD表示功能模型,用狀態轉換圖表示行為模型

  2、原型法(又稱快速原型法)

  原型法獲取基本的需求,快速構建原型,通過用戶試用、補充、修改,構成新系統。重復這一過程,形成最終系統。原型法用於解決需求不明確的情況

  原型還可以分為演化式原型和拋棄式原型

  (1)演化式原型:從目標系統的部分基本需求出發,通過修改和完善功能的過程演化成最終的目標系統

  (2)拋棄式原型:在真正捕獲用戶的需求后就放棄不用的原型

  3、面對對象方法

  把面向對象思想應用到軟件開發中,簡稱OO方法。方法分為分析、設計、實現三個階段。

  4、Jackson方法

  是一種面向數據結構的軟件設計方法,是面向數據流的分析方法。

  5、敏捷開發方法

  其最基本的特征是輕量和簡單、增量、協作、直接、適應性強。更適應互聯網軟件需求模糊、快速變更的特點

 

八、CMM模型

  能力成熟度模型CMM是對軟件組織在定義、實施、度量、控制和改善其軟件過程的實踐中各個發展階段的描述

  CMM是一種用於評價軟件承包能力並幫助其改善軟件質量的方法,側重於軟件開發過程的管理及工程能力的提高與評估,CMM分為五個等級,一級為初始級;二級為可重復級;三級為已定義級;四級為已管理級;五級為優化級。

 

九、軟件測試

  軟件測試是軟件開發過程中的一個重要環節,主要目的是檢驗軟件是否符合需求,測試的對象不僅有程序部分,還有軟件開發過程中各階段產生的文檔,如需求規格說明、概要設計文檔等。

  軟件測試一般分為動態測試和靜態測試兩個大類,動態測試通過運行程序發現錯誤,包括邊界值分析、邏輯覆蓋、基本路徑等方法,靜態測試采用人工和計算機輔助靜態分析的手段對程序進行檢測,包括桌面檢查、代碼審查、代碼走查等方法。

  根據動態測試在軟件開發過程中所處的階段和作用,可以分為單元測試、集成測試、系統測試、驗收測試和回歸測試

  單元測試對軟件中的基本組成單位進行的測試

  集成測試系統的各個部件的聯合測試,組件是多個單元的集成聚合。集成測試的組裝策略可以分為一次性組裝和增量式組裝(包括自頂向下、自底向上及混合式)兩個。

  系統測試將系統中的軟件與各種依賴的資源結合起來,在系統實際運行環境下進行測試

  驗收測試:系統開發生命周期方法的一個重要階段,也是部署軟件之前的最后一個測試。一般有三種策略:正式驗收、非正式驗收、Alpha測試、Best測試

  (1)正式驗收:是一項管理嚴格的過程,它通常是系統測試的延續。

  (2)非正式驗收:非正式驗收測試中,執行測試的過程的限制不如正式驗收測試中那樣嚴格。

  (3)Alpha測試:由最終用戶或其他人員來完成,不能由程序員或測試員完成

  (4)Best測試:由軟件的多個用戶在一個或多個用戶的實際使用環境下進行測試,開發者通常不在測試現場,不能由程序員或測試員完成。

  (5)回歸測試:在發生修改之后,重新測試之前的測試,以保證修改的正確性

  (6)白盒測試:又稱結構測試或邏輯驅動測試。它把測試對象看作一個能打開、可以看見內部結構的盒子。(主要方法有邏輯驅動、基路測試等)

  (7)黑盒測試:又稱功能測試或數據驅動測試。它把測試對象看作一個不能打開的盒子,因此不考慮軟件內部的運作原理

  軟件測試驅動模型V模型

  V模型中,需求分析通過驗收測試;概要設計需要通過系統測試;詳細設計需要通過集成測試;編碼需要通過單元測試

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM