- 嵌入式軟件系統(tǒng)測試:基于形式化方法的自動化測試解決方案
- 殷永峰 姜博編著
- 835字
- 2021-02-22 15:46:17
2.2.2 軟件開發(fā)方法學
就當前的嵌入式系統(tǒng)軟件而言,軟件的工程化開發(fā)主要與軟件開發(fā)的方法學有關。
當前的軟件開發(fā)方法學主要有:
·結構化方法。結構化方法包括結構化的分析、結構化的設計、結構化的編程和結構化的測試。結構化方法認為軟件系統(tǒng)是以一定的結構形式存在的,由若干子系統(tǒng)構成。軟件系統(tǒng)可以按照一定的準則,自頂向下進行層次分解,直至分解到低層次的模塊。當前嵌入式軟件大多仍采用結構化的開發(fā)方法。
·面向?qū)ο蟮姆椒āC嫦驅(qū)ο蟮姆椒ㄊ且詫ο鬄橹行臉嬙炷P汀⒔M織軟件系統(tǒng)。這種方法認為客觀世界由對象組成,不同對象間的相互作用和聯(lián)系構成了不同的系統(tǒng)。應用計算機解決問題的方法空間應當與客觀世界的問題空間相一致。面向?qū)ο蠓椒ㄖ械膶ο笫怯蓴?shù)據(jù)及其上的操作組成的封裝體,對象是類的實例,而類則是具有相同屬性和服務的對象的集合。
·凈室(Clean Room)方法。凈室方法是在結構化分析和設計方法的基礎上,增加了需求分析和設計的形式化方法。這種方法認為軟件程序設計開發(fā)人員應努力開發(fā)出在進入測試之前就幾乎無錯的系統(tǒng)。
·形式化方法。形式化方法是以嚴格的數(shù)學證明為基礎的,要求軟件需求規(guī)格說明用形式化的語言描述,以保證其正確無誤,然后經(jīng)過一系列變換直到產(chǎn)生出可執(zhí)行程序。基于形式化方法的軟件開發(fā)對后續(xù)基于模型的軟件開發(fā)可起到積極的推動作用。
·基于模型的軟件開發(fā)。隨著軟件工程技術的不斷演化,基于模型的系統(tǒng)工程(MBSE)和軟件工程(MBSwE)正在逐步替代傳統(tǒng)的軟件開發(fā)方式,日益受到軟件開發(fā)界的重視。基于模型的開發(fā)將系統(tǒng)中的物理模型與嵌入式軟件相結合,確保構成系統(tǒng)的各部件協(xié)調(diào)一致地工作,通過各專業(yè)模型的統(tǒng)一構建與一體化協(xié)同仿真,使得各專業(yè)、各環(huán)節(jié)的技術人員能夠更加直觀地理解和表達嵌入式系統(tǒng),提高開發(fā)的一致性和自動化。
綜上所述,在嵌入式軟件開發(fā)中,選擇何種開發(fā)方法學取決于軟件項目的特點、能得到的支持環(huán)境和技術支持,以及開發(fā)人員的技術水平和經(jīng)驗等因素。鑒于上述軟件開發(fā)方法學在諸多軟件工程書籍中均有專業(yè)的技術講解,故本書不再贅述。
- Expert C++
- Apache ZooKeeper Essentials
- 云原生Spring實戰(zhàn)
- 你必須知道的204個Visual C++開發(fā)問題
- 人人都是網(wǎng)站分析師:從分析師的視角理解網(wǎng)站和解讀數(shù)據(jù)
- QGIS By Example
- INSTANT Adobe Edge Inspect Starter
- QGIS 2 Cookbook
- Vue.js 3應用開發(fā)與核心源碼解析
- Sails.js Essentials
- 跟戴銘學iOS編程:理順核心知識點
- Robot Framework Test Automation
- Learning Kotlin by building Android Applications
- Android編程權威指南(第4版)
- Python編程入門(第3版)