深入到系统组件是否白盒测试_2019年系统集成项目管理工程师:第一章 信息化知识(三)要点?...
今天幸福哥助理繼續為大家分享第一章 第三節 信息化知識(二) 信息系統設計、軟件工程
及面向對象系統分析與設計等復習知識要點,備考筆記知識點的分享會不定期整理,如果你正好參加這個考試,可以關注我,收藏,或者轉發。
一、信息系統設計
信息系統設計是開發階段的重要內容,其主要任務是從信息系統的總體目標出發,根據系統邏輯功能的要求,并結合經濟、技術條件、運行環境和進度等要求,確定系統的總體架構和系統各組成部分的技術方案,合理選擇計算機、通信及存儲的軟、硬件設備,制訂系統的實施計劃。
系統方案設計包括總體設計和各部分的詳細設計(物理設計)兩個方面。
系統總體設計:包括系統的總體架構方案設計、軟件系統的總體架構設計、數據存儲的總體設計、計算機和網絡系統的方案設計等。
系統詳細設計:包括代碼設計、數據庫設計、人/機界面設計、處理過程設計等。
系統架構是將系統整體分解為更小的子系統和組件,從而形成不同的邏輯層或服務。之后,進一步確定各層的接口,層與層相互之間的關系。
二、軟件工程
軟件需求是針對待解決問題的特性的描述。
軟件具體需求分類的方法如下:
功能需求:軟件必須完成的基本動作
性能需求:說明軟件或人與軟件交互的靜態或動態數值需求。如系統響應速度、處理速度等。
設計約束:受其他標準硬件限制等方面的影響
屬性:可用性、安全性、可維護性、可轉移/轉換性
外部接口需求:用戶接口、硬件接口、軟件接口、通信接口。
軟件需求的三個層次:
業務需求:表示組織或客戶高層次的目標。業務需求通常來自項目投資人、購買產品的客戶、實際用戶的管理者、市場營銷部門或產品策劃部門。業務需求描述了組織為什么要開發一個系統,即組織希望達到的目標。使用前景和范圍文檔來記錄業務需求,這份文檔有時也被稱作項目輪廓圖或市場需求文檔。
用戶需求描述的是用戶的目標,或用戶要求系統必須能完成的任務。
功能需求規定開發人員必須在產品中實現的軟件功能,用戶利用這些功能來完成任務,滿足業務需求。
需求開發的過程有四個主要活動:
1.需求獲取。積極地與用戶進行交流,捕捉、分析和修正用戶對目標系統的需求,并提煉出符合解決問題的用戶需求,產生《用戶需求說明書》。
2.需求分析。需求分析的目的是對各種需求信息進行分析并抽象描述,為目標系統建立一個概念模型。
3.需求定義。需求定義的目標是根據需求調查和需求分析的結果,進一步定義準確無誤的產品需求,產生《需求規格說明書》。系統設計人員將依據《需求規格說明書》開展系統設計工作。
4.需求驗證。需求驗證是指開發方和用戶共同對需求文檔評審,經雙方對需求達成共識后做出書面承諾,使需求文檔具有商業合同效果。
三、軟件測試的分類方法:
(一)、白盒測試、黑盒測試、灰盒測試:從是否關心軟件內部結構和具體實現的角度劃分。
1.白盒測試:白盒測試是把程序看成裝在一只透明的盒子里,測試者完全了解程序的結構和處理過程。它根據程序的內部邏輯來設計測試用例,檢查程序中的邏輯是否都按預定的要求正確地工作。
2.黑盒測試:黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息
3.灰盒測試:是介于白盒測試與黑盒測試之間的一種測試,灰盒測試多用于集成測試階段,不僅關注輸出、輸入的正確性,同時也關注程序內部的情況。灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關注程序的內部邏輯,常常是通過一些表征性的現象、事件、標志來判斷內部的運行狀態。
(二)、靜態測試和動態測試:從是否執行程序的角度劃分
1.靜態測試是指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。
2.動態測試方法是指通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確性和健壯性等性能。這種方法由三部分組成:構造測試用例、執行程序、分析程序的輸出結果。
(三)、從軟件開發的過程按階段劃分有單元測試、集成測試、確認測試、系統測試、驗收測試。
(1)單元測試。單元測試也稱為模塊測試,測試的對象是可獨立編譯或匯編的程序模塊、軟件構件或00軟件中的類(統稱為模塊),其目的是檢查每個模塊能否正確地實現設計說明中的功能、性能、接口和其他設計約束等條件,發現模塊內可能存在的各種差錯。單元測試的技術依據是軟件詳細設計說明書,著重從模塊接口、局部數據結構、重要的執行通路、出錯處理通路和邊界條件等方面對模塊進行測試。
(2)集成測試。集成測試的目的是檢查模塊之間,以及模塊和己集成的軟件之間的接口關系,并驗證己集成的軟件是否符合設計要求。集成測試的技術依據是軟件概要設文檔。除應滿足一般的測試準入條件外,在進行集成測試前還應確認待測試的模塊均己通過單元測試。
(3)確認測試。確認測試主要用于驗證軟件的功能、性能和其他特性是否與用戶需求一致。根據用戶的參與程度,通常包括以下類型。
·內部確認測試。內部確認測試主要由軟件開發組織內部按照SRS進行測試。
·Alpha測試和Beta測試。對于通用產品型的軟件開發而言,Alpha測試是指由用戶在開發環境下 進行測試,通過Alpha測試以后的產品通常稱為Alpha版;Beta測試是指由用戶在實際使用環境下進行測試,通過Beta測試的產品通常稱為Beta版。一般在通過Beta測試后,才能把產品發布或交付給用戶。
(4)系統測試。系統測試的對象是完整的、集成的計算機系統,系統測試的目的是在真實系統工作環境下,驗證完整的軟件配置項能否和系統正確連接,并滿足系統/子系統設計文檔和軟件開發合同規定的要求。系統測試的技術依據是用戶需求或開發合同。
(5)驗收測試是部署軟件之前的最后一個測試操作。在軟件產品完成了單元測試、集成測試和系統測試之后,產品發布之前所進行的軟件測試活動。它是技術測試的最后一個階段,也稱為交付測試。驗收測試的目的是確保軟件準備就緒,并且可以讓最終用戶將其用于執行軟件的既定功能和任務。
四、面向對象系統分析與設計
面向對象的基本概念包括對象、類、抽象、封裝、繼承、多態、接口、消息、組件、復用和模式等。
(1)對象:由數據及其操作所構成的封裝體,是系統中用來描述客觀事物的一個模塊,是構成系統的基本單位。用計算機語言來描述,對象是由一組屬性和對這組屬性進行的操作構成的。
對象包含三個基本要素,分別是對象標識、對象狀態和對象行為。例如,對于姓名(標識)為Joe的教師而言,其包含性別、年齡、職位等個人狀態信息,同時還具有授課等行為特征,Joe就是封裝后的一個典型對象。
(2)類:現實世界中實體的形式化描述,類將該實體的屬性(數據)和操作(函數)封裝在一起。
(3)抽象:通過特定的實例抽取共同特征以后形成概念的過程。抽象是一種單一化的描述,強調給出與應用相關的特性,拋棄不相關的特性。對象是現實世界中某個實體的抽象,類是一組對象的抽象。
(4)封裝:將相關的概念組成一個單元模塊,并通過一個名稱來引用它。面向對象封裝是將數據和基于數據的操作封裝成一個整體對象,對數據的訪問或修改只能通過對象對外提供的接口進行。
(5)繼承:表示類之間的層次關系(父類與子類),這種關系使得某類對象可以繼承另外一類對象的特征,繼承又可分為單繼承和多繼承。Java是單繼承的語言,而C++允許多繼承。
(6)多態:使得在多個類中可以定義同一個操作或屬性名,并在每個類中可以有不同的實現。多態使得某個屬性或操作在不同的時期可以表示不同類的對象特性。
(7)接口:描述對操作規范的說明,其只說明操作應該做什么,并沒有定義操作如何做。可以將接口理解成為類的一個特例,它規定了實現此接口的類的操作方法,把真正的實現細節交由實現該接口的類去完成。
(8)消息:體現對象間的交互,通過它向目標對象發送操作請求。
(9)組件:表示軟件系統可替換的、物理的組成部分,封裝了模塊功能的實現。組件應當是內聚的,并具有相對穩定的公開接口。
(10)復用:指將己有的軟件及其有效成分用于構造新的軟件或系統。組件技術軟件復用實現的關鍵。
(11)模式:描述了一個不斷重復發生的問題,以及該問題的解決方案。其包括特定環境、問題和解決方案三個組成部分。應用設計模式可以更加簡單和方便地去復用成功的軟件設計和架構,從而幫助設計者更快更好地完成系統設計。
接下來,幸福哥助理用一張圖簡單表示上面的整體內容,可以清晰掌握。
總結
以上是生活随笔為你收集整理的深入到系统组件是否白盒测试_2019年系统集成项目管理工程师:第一章 信息化知识(三)要点?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elasticsearch内存分配设置详
- 下一篇: hdfs数据节点分发什么协议_分布式文件