前言
軟件工程采用工程學(xué)的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法開發(fā)和維護(hù)軟件的學(xué)科。隨著信息處理技術(shù)的不斷發(fā)展,軟件的作用越來越廣泛,對(duì)軟件的開發(fā)方法、開發(fā)理念、開發(fā)工具提出了更高的要求。
軟件工程是高等學(xué)校軟件工程學(xué)科和計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科專業(yè)的一門重要專業(yè)基礎(chǔ)課程。本書針對(duì)軟件開發(fā)過程中的理論體系進(jìn)行講解,通過基礎(chǔ)理論、高級(jí)軟件開發(fā)技術(shù)、項(xiàng)目案例實(shí)戰(zhàn),從經(jīng)典軟件工程基本方法到形式化方法、面向服務(wù)軟件工程、軟件質(zhì)量管理、合同、職業(yè)素質(zhì)與職業(yè)道德、軟件標(biāo)準(zhǔn)化文檔等問題進(jìn)行了系統(tǒng)的闡述。
在本書的編寫過程中,編者結(jié)合多年的授課講義,充分吸取了國(guó)內(nèi)外經(jīng)典軟件工程著作內(nèi)容,并增加了大量新技術(shù)和新方法。在本書知識(shí)結(jié)構(gòu)及教學(xué)內(nèi)容上進(jìn)行了精心推敲和認(rèn)真規(guī)劃,其主要特點(diǎn)如下:
(1)在保證軟件工程理論體系完整的同時(shí),突出軟件工程新技術(shù)和新方法,對(duì)大數(shù)據(jù)、云計(jì)算、面向服務(wù)計(jì)算、極限編程、領(lǐng)域工程等問題有所闡述,該部分內(nèi)容體現(xiàn)了軟件工程知識(shí)的新穎性。
(2)軟件設(shè)計(jì)方法與設(shè)計(jì)工具并重,合理安排教學(xué)內(nèi)容,通過全新實(shí)例和項(xiàng)目案例突出設(shè)計(jì)方法和設(shè)計(jì)工具的使用。如基于二維碼食品安全追溯、人體運(yùn)動(dòng)捕捉系統(tǒng)、虛擬心臟系統(tǒng)、按圖搜索網(wǎng)上訂餐系統(tǒng)等內(nèi)容,科學(xué)地豐富了課程內(nèi)容。
(3)遵循教材編寫規(guī)律,注重教材寫作技巧,尤其是對(duì)一些軟件工程新技術(shù)、新思想,采用由淺入深、實(shí)例引導(dǎo)的方式,有效提高了教材的可讀性和易理解性。
本書正文共三部分,分為17章,選材上內(nèi)容新穎,案例翔實(shí),不僅能體現(xiàn)經(jīng)典軟件工程基本理論的知識(shí)性,還能體現(xiàn)實(shí)踐性、前瞻性。本書通過理論、設(shè)計(jì)、應(yīng)用的主線,做到了理論和設(shè)計(jì)分析相結(jié)合,同時(shí),本書注重各專業(yè)、學(xué)科間知識(shí)的融合交叉性,內(nèi)容涉及管理學(xué)、認(rèn)知心理學(xué)、數(shù)學(xué)、人機(jī)工程學(xué)、經(jīng)濟(jì)學(xué)、職業(yè)素質(zhì)和職業(yè)道德等學(xué)科內(nèi)容。
第一部分為基礎(chǔ)篇,包括第1章至第10章:第1章概述了軟件工程基本概念和軟件工程人員職業(yè)素質(zhì)和職業(yè)道德;第2章主要對(duì)各種軟件過程和開發(fā)模型進(jìn)行了介紹;第3章講解了軟件規(guī)劃和可行性分析;第4章介紹了軟件需求分析方法、任務(wù)和各種分析工具;第5章介紹了軟件總體設(shè)計(jì)及食品安全追溯案例分析,重點(diǎn)講解了面向數(shù)據(jù)流的設(shè)計(jì)方法;第6章介紹了人機(jī)交互設(shè)計(jì)、設(shè)計(jì)原則、可穿戴計(jì)算;第7章介紹了詳細(xì)設(shè)計(jì)工具和方法,并對(duì)程序復(fù)雜度定量計(jì)算進(jìn)行了講解;第8章介紹了軟件編碼風(fēng)格和語言選擇;第9章介紹了軟件各種測(cè)試方法和壓力測(cè)試、容量測(cè)試等內(nèi)容;第10章介紹了軟件維護(hù)、軟件再工程、軟件復(fù)用等技術(shù)。
第二部分為高級(jí)篇,包括第11章至16章。第11章介紹了軟件形式化方法在軟件設(shè)計(jì)中的應(yīng)用,并給出案例說明;第12章對(duì)軟件設(shè)計(jì)模式技術(shù)進(jìn)行了講解;第13章介紹了極限編程思想及過程;第14章介紹了大數(shù)據(jù)與面向服務(wù)的軟件工程;第15章介紹了軟件項(xiàng)目管理與質(zhì)量控制;第16章介紹了合同的相關(guān)知識(shí)。
第三部分為案例篇,包括第17章,通過對(duì)項(xiàng)目案例“網(wǎng)上訂餐系統(tǒng)”的設(shè)計(jì)與實(shí)現(xiàn),對(duì)軟件工程各個(gè)設(shè)計(jì)階段的思想和設(shè)計(jì)方法、工具實(shí)現(xiàn)過程進(jìn)行了詳細(xì)講解。
本書在編寫過程中,通過總結(jié)編者多年的授課經(jīng)驗(yàn),力圖做到概念清晰、內(nèi)容新穎、層次分明、通俗、易懂、理論聯(lián)系實(shí)際,以對(duì)讀者富有啟發(fā)性。
本書由陳永(蘭州交通大學(xué))任主編,張薇(蘭州交通大學(xué))、楊磊(甘肅省教育考試院)任副主編。其中,第1章到第7章及附錄D由陳永編寫;第8章到第15章由張薇編寫;其余章節(jié)及附錄A、B、C由楊磊編寫。碩士研究生張?zhí)鹛稹①R紅參與了本書的校對(duì)工作,優(yōu)秀本科畢業(yè)生安書山、張海鈺、陳振花為本書提供了部分翔實(shí)的案例素材。
在本書的編寫過程中,參考了大量的互聯(lián)網(wǎng)電子資源、圖書文獻(xiàn)資料,在此向相關(guān)作者致以謝意。本書也得到了中國(guó)鐵道出版社、蘭州交通大學(xué)、甘肅省教育考試院有關(guān)部門的幫助和支持,在此一并表示感謝。
鑒于編者水平有限,加之時(shí)間倉促,書中難免存在疏漏及不足之處,懇請(qǐng)讀者指正。
編者
2016年12月
- Android平板電腦開發(fā)實(shí)戰(zhàn)詳解和典型案例
- 高質(zhì)量軟件構(gòu)建方法與實(shí)踐
- MATLAB 2018從入門到精通
- DevOps:企業(yè)級(jí)CI/CD實(shí)戰(zhàn)
- 中文版Revit 2018基礎(chǔ)培訓(xùn)教程(全彩版)
- 從缺陷中學(xué)習(xí)C/C++
- 數(shù)據(jù)科學(xué)導(dǎo)論:Python語言實(shí)現(xiàn)
- 偉大的小細(xì)節(jié):互聯(lián)網(wǎng)產(chǎn)品設(shè)計(jì)中的微創(chuàng)新思維
- HTML5游戲編程核心技術(shù)與實(shí)戰(zhàn)
- 項(xiàng)目實(shí)踐精解:基于EJB 3.0和Web Services的Java應(yīng)用開發(fā)
- 芯片改變世界
- 自然語言理解與行業(yè)知識(shí)圖譜:概念、方法與工程落地
- DDD工程實(shí)戰(zhàn):從零構(gòu)建企業(yè)級(jí)DDD應(yīng)用
- Spring 3.0就這么簡(jiǎn)單
- PHP與MySQL高性能應(yīng)用開發(fā)