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