《指揮控制軟件工程》結(jié)合指揮控制信息系統(tǒng)軟件研制的一般特點(diǎn),以及作者在指揮控制軟件工程實(shí)踐中的運(yùn)用經(jīng)驗(yàn)和教訓(xùn),對(duì)軟件工程本質(zhì)的認(rèn)識(shí),介紹了軟件工程相關(guān)基本理論,涉及軟件需求工程、設(shè)計(jì)開發(fā)、測(cè)試聯(lián)試驗(yàn)證、數(shù)據(jù)工程、配置管理、組織運(yùn)用、定價(jià)與知識(shí)產(chǎn)權(quán)等普遍性理論和方法!吨笓]控制軟件工程》可作為指揮控制系統(tǒng)工程相關(guān)專業(yè)師生的教材,也可作為工程技術(shù)人員從事指控軟件科研開發(fā)或者管理的參考書籍。
三年前,收到指控學(xué)會(huì)撰寫此書提議的時(shí)候,出于職業(yè)習(xí)慣以及作為學(xué)會(huì)成員和該領(lǐng)域工作者的責(zé)任,加上戴浩院士的信任,我痛快地接受了這個(gè)任務(wù),覺(jué)得有諸多經(jīng)典理論作為指導(dǎo),有很多從事該領(lǐng)域工作的實(shí)踐與心得,有這樣一個(gè)分享的渠道,應(yīng)是一件有意義的事。
“軟件工程”一詞提出已有多年的歷史,軟件工程方法也在這一發(fā)展進(jìn)程中不斷演進(jìn),呈現(xiàn)出多樣化的特點(diǎn)。作為最具有創(chuàng)新激情的領(lǐng)域之一,軟件工程理論和技術(shù)的發(fā)展已不足以用日新月異來(lái)描述,對(duì)人類社會(huì)進(jìn)步做出的貢獻(xiàn),令所有贊美的詞都顯得蒼白,特別是其通用原理和方法,已經(jīng)被領(lǐng)域?qū)<曳顬槭サ,引?dǎo)著一波又一波的軟件科學(xué)家創(chuàng)造出一個(gè)又一個(gè)奇跡,今天已被公認(rèn)為一門重要的學(xué)科。
一般來(lái)講,軟件工程本質(zhì)上是借鑒工業(yè)生產(chǎn),通過(guò)將規(guī)則和秩序極致化于產(chǎn)品生產(chǎn)過(guò)程,以保證產(chǎn)品質(zhì)量,將系統(tǒng)化、規(guī)范化、可度量的方法應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)的過(guò)程。建造高質(zhì)量軟件的工作框架,起點(diǎn)和終點(diǎn)都是軟件質(zhì)量。軟件工程的生命力在于其開放性和持續(xù)發(fā)展性,需要與時(shí)俱進(jìn)地把經(jīng)過(guò)實(shí)踐證明正確的管理技術(shù)和最優(yōu)的技術(shù)方法結(jié)合起來(lái)。如同人類文明發(fā)展的本質(zhì)特征是秩序的不斷建立和完善一樣,軟件工程追求的是對(duì)至臻完美的規(guī)則和秩序的踐行,以嚴(yán)格的產(chǎn)品控制和實(shí)用的技術(shù)創(chuàng)造代表先進(jìn)生產(chǎn)力的軟件。
對(duì)軟件及軟件工程本質(zhì)的認(rèn)識(shí),貫穿軟件實(shí)踐的始終,但始終存在理論和實(shí)踐的背離問(wèn)題。在特定的歷史階段,既有對(duì)軟件及軟件工程的實(shí)踐和理論突破,同時(shí)還存在大量無(wú)法自覺(jué)將軟件工程已經(jīng)揭示的基本方法、原則貫徹于實(shí)踐的情況。這與軟件工程工作框架的本質(zhì)特點(diǎn)有關(guān),要求實(shí)踐者在一系列規(guī)范過(guò)程與具體條件之間達(dá)成平衡,這無(wú)疑是十分困難的,實(shí)踐者或者刻板地照本宣科,或者肆意踐踏那些已被證明是正確的法則。
透析工業(yè)生產(chǎn)要素間的關(guān)系,生產(chǎn)投入和產(chǎn)品質(zhì)量這兩個(gè)基本因素決定生產(chǎn)過(guò)程的一般規(guī)律,即高質(zhì)量產(chǎn)品的生產(chǎn)離不開高的生產(chǎn)投入,其中生產(chǎn)投入包括時(shí)間、人員及其水平、技術(shù)、管理制度、資金、政策等要素。設(shè)定了產(chǎn)品質(zhì)量目標(biāo),也就明確了對(duì)生產(chǎn)要素組合的預(yù)期,二者關(guān)系必須要在一個(gè)平衡區(qū)間內(nèi).如果生產(chǎn)投入偏離了預(yù)期,那么產(chǎn)品質(zhì)量的偏差在所難免。因此,在借鑒工業(yè)生產(chǎn)方法時(shí),一般性規(guī)律需得到足夠重視,然而,實(shí)踐表明這一點(diǎn)是最容易被忽視的。
要解決這些問(wèn)題,就有必要將普遍性理論和方法與具體領(lǐng)域?qū)嵺`相結(jié)合,有助于實(shí)踐者把握好一個(gè)平衡“度”,同時(shí)這一行業(yè)的發(fā)展規(guī)律也已證明了結(jié)合的必要性。大多領(lǐng)域的軟件和軟件工程一般都是從作坊式發(fā)展而來(lái)的,現(xiàn)實(shí)的需求使得工作框架在任何階段都不可避免地存在或多或少的作坊基因。然而實(shí)踐中,作坊因素的存在能夠被認(rèn)可本身就有難度,即使采取了與普遍理論和方法相結(jié)合的措施予以調(diào)整,也往往會(huì)被誤認(rèn)為是落后的和不時(shí)髦的,導(dǎo)致調(diào)整的效果難以達(dá)到預(yù)期目標(biāo)的那個(gè)“度”。
這些現(xiàn)象,同樣在指揮控制軟件工程中普遍存在。要對(duì)領(lǐng)域內(nèi)類似問(wèn)題提出解決方法,并從理論層次進(jìn)行提煉和總結(jié),困難重重,這與完成某項(xiàng)具體科研工程所要解決的難題有所不同。
指揮控制軟件項(xiàng)目本身的計(jì)劃性、周期性、管理策略、研制模式、開發(fā)人員等,均具有不同于通用軟件項(xiàng)目的特點(diǎn),軟件質(zhì)量設(shè)計(jì)和管理缺乏可直接借鑒的經(jīng)驗(yàn),如何結(jié)合通用軟件工程成果進(jìn)行領(lǐng)域性創(chuàng)新,仍有許多難題需要在實(shí)踐中不斷探索。例如,有時(shí)候用戶對(duì)質(zhì)量的要求是空前乃至絕后的高,這不是用戶為了使需求看上去很高大上,而是有特殊的使命需要,然而軟件工程方法和技術(shù)水平等無(wú)法在有限的條件下生產(chǎn)出相匹配的產(chǎn)品,一些明知不可為而為的事情不得不發(fā)生。
第1章 概述
1.1 軟件與軟件工程
1.1.1 軟件定義
1.1.2 軟件工程定義
1.1.3 軟件工程知識(shí)領(lǐng)域
1.1.4 軟件工程模型
1.2 指揮控制信息系統(tǒng)
1.2.1 指揮與控制
1.2.2 指揮控制信息系統(tǒng)概念內(nèi)涵
1.2.3 指揮控制信息系統(tǒng)基本構(gòu)成
1.2.4 指揮控制信息系統(tǒng)主要作用
1.2.5 軟件在指揮控制系統(tǒng)中的地位作用
1.2.6 指揮控制能力生成模型
1.3 指揮控制軟件及其軟件工程
1.3.1 指揮控制軟件概念內(nèi)涵
1.3.2 指揮控制軟件組成及分類
1.3.3 指揮控制軟件基本要求
1.3.4 指揮控制軟件主要特點(diǎn)
1.3.5 指揮控制軟件工程
參考文獻(xiàn)
第2章 需求工程
2.1 軟件需求
2.1.1 需求定義
2.1.2 需求分類
2.1.3 需求的質(zhì)量要求
2.2 需求工程
2.2.1 需求工程的內(nèi)涵與發(fā)展
2.2.2 需求工程過(guò)程
2.2.3 需求工程方法
2.3 指揮控制軟件需求工程
2.3.1 軍事需求特點(diǎn)
2.3.2 軍事需求分類
2.3.3 指揮控制軟件軍事需求特點(diǎn)
2.3.4 指揮控制軟件軍事需求工程過(guò)程
參考文獻(xiàn)
第3章 設(shè)計(jì)開發(fā)
3.1 軟件設(shè)計(jì)基本內(nèi)容
3.1.1 設(shè)計(jì)的基本觀點(diǎn)
3.1.2 軟件設(shè)計(jì)的本質(zhì)
3.1.3 軟件設(shè)計(jì)的思維
3.1.4 軟件設(shè)計(jì)的內(nèi)容
3.1.5 軟件設(shè)計(jì)開發(fā)方法
3.2 指揮控制軟件設(shè)計(jì)
3.2.1 體系結(jié)構(gòu)設(shè)計(jì)
3.2.2 功能模塊設(shè)計(jì)
3.2.3 數(shù)據(jù)設(shè)計(jì)
3.2.4 用戶體驗(yàn)設(shè)計(jì)
3.3 指揮控制軟件演化與重構(gòu)
3.3.1 軟件的重構(gòu)演化及其誘因
3.3.2 指揮控制軟件的重構(gòu)過(guò)程
3.3.3 指揮控制軟件的演化過(guò)程
3.4 新概念下的軟件設(shè)計(jì)
3.4.1 基于云計(jì)算的軟件設(shè)計(jì)
3.4.2 基于群體軟件工程的軟件設(shè)計(jì)
3.4.3 基于“軟件定義”的軟件設(shè)計(jì)
3.4.4 基于“機(jī)器學(xué)習(xí)”的軟件設(shè)計(jì)
參考文獻(xiàn)
第4章 測(cè)試聯(lián)試驗(yàn)證
4.1 認(rèn)識(shí)軟件測(cè)試
4.1.1 軟件測(cè)試概念
4.1.2 軟件測(cè)試類型
4.1.3 軟件測(cè)試模型
4.1.4 軟件測(cè)試流程
4.2 軟件測(cè)試技術(shù)
4.2.1 通用測(cè)試技術(shù)
4.2.2 專用測(cè)試技術(shù)
4.3 指揮控制軟件測(cè)試
4.3.1 指揮控制軟件測(cè)試定義和內(nèi)涵
4.3.2 指揮控制軟件測(cè)試特點(diǎn)
4.3.3 指揮控制軟件測(cè)試模型
……
第5章 數(shù)據(jù)工程
第6章 配置管理
第7章 組織運(yùn)用
第8章 軟件定價(jià)與知識(shí)產(chǎn)權(quán)
參考文獻(xiàn)