軟件工程理論與應用

出版時間:2010-6  出版社:北京大學出版社  作者:楊豐 編  頁數(shù):183  

前言

軟件工程是計算機科學的一個重要組成部分,一直以來都是軟件工作者不斷探究、研究的領域。軟件工程是指導軟件開發(fā)的學科,在大學本科階段,計算機專業(yè)的學生需要不斷形成一定的軟件開發(fā)模式,掌握軟件開發(fā)的要領。因此,軟件工程課程給出軟件開發(fā)的基本概念、開發(fā)方法、開發(fā)模式和開發(fā)實例,有助于學生通過理解和掌握軟件工程的概念、方法,學會運用軟件工程的基本原理,并應用到實際和實踐中去。軟件工程課程是計算機專業(yè)課程體系的一個重要部分,它需要有計算機專業(yè)的其他專業(yè)基礎課程作為支撐,融合了多門課程的知識精華,結合了自身的原理、方法、技術和實踐經(jīng)驗,培養(yǎng)學生形成良好的軟件開發(fā)習慣和開發(fā)軟件的模式。軟件工程學采用了工程化的原理、方法,結合管理技術和先進的開發(fā)技術,更及時準確、經(jīng)濟地開發(fā)出高質量的軟件系統(tǒng)。軟件工程學研究廣泛,包括軟件開發(fā)方法、技術、工具和管理方法等多方面的內容。在實際應用中嚴格遵循軟件工程的原理和方法,可以極大地提高軟件開發(fā)的效率,提升軟件開發(fā)的質量,降低軟件開發(fā)的成本,及時準確地為用戶提供相應的軟件系統(tǒng)。目前,計算機專業(yè)的本科學生的專業(yè)課程學習,更多地側重在實際的運用上,課程不能單純從理論知識進行講授,而且隨著計算機技術的飛速發(fā)展,從計算機開發(fā)語言到軟件系統(tǒng)的開發(fā)模式、方法等都發(fā)生了很大的變化,同時,軟件應用規(guī)模和范圍也不斷擴大和越來越廣泛,軟件工程知識表示出了紛繁復雜的多樣性,這給軟件工程課程的講授帶來了復雜性。軟件工程課程到底應該給計算機專業(yè)的本科學生帶來哪些知識,是目前很多軟件工程研究者不斷探究的問題。本書從學生知識積累的實際角度出發(fā),既要詳盡地闡述軟件工程的基本原理和基本方法,同時也要結合近幾年來不斷完善的新技術和新方法,注重理論、方法和應用特點,對軟件開發(fā)全過程進行闡述,包括分析、設計、實現(xiàn)、測試和軟件工程管理等方面的內容,同時給出相應的實例。本書本著理論不脫離實踐的原則,文字通俗易懂,概念清晰,內容簡潔明了,可作為高等學校計算機專業(yè)課程的教材和教學參考書。本書的編者都是長期從事軟件工程課程講授的高校計算機專業(yè)教師,有著豐富的教學經(jīng)驗,同時也是多年從事軟件系統(tǒng)開發(fā)工作的人員,既有理論知識,又有實踐工作經(jīng)驗,經(jīng)歷了早期軟件開發(fā),也面臨著現(xiàn)代軟件開發(fā)方法、技術的更新,有效地融合經(jīng)典軟件開發(fā)方法,能夠將經(jīng)典開發(fā)中所獲得的經(jīng)驗與現(xiàn)代開發(fā)方法結合,有利于促進新技術、新方法的不斷完善。本書的第1、2、4章由黑龍江大學楊豐、周廣田編寫;第3章由黑龍江大學陳立言編寫;第5章由哈爾濱商業(yè)大學韓軻編寫;第6章由黑龍江大學鐘穎莉編寫。由于軟件工程知識的不斷變化,書中難免存在很多不當之處,懇請讀者批評指正,并提出寶貴意見,以便進一步完善。

內容概要

本書結合國內外經(jīng)典軟件工程的精華和軟件項目開發(fā)的實踐經(jīng)驗,采用案例講解方式,詳細闡述軟件開發(fā)的過程、方法和使用的工具,同時,對傳統(tǒng)開發(fā)方法和面向對象開發(fā)方法分別詳述,有利于讀者理解和比較兩種方法的特點。本書主要內容包括:軟件開發(fā)過程模型、需求分析、系統(tǒng)總體設計和詳細設計、編碼實現(xiàn)、軟件測試方法以及軟件工程管理等。    本書可以作為高等院校計算機專業(yè)、軟件工程專業(yè)、信息管理專業(yè)的教材或教學參考書,也可以作為通信、電子工程、自動化等相關專業(yè)的軟件工程課程的教材。

書籍目錄

第1章  軟件與軟件工程  1.1 軟件    1.1.1 軟件的概念    1.1.2 軟件的特征    1.1.3 軟件的分類    1.1.4 軟件的應用    1.1.5 軟件的未來與工業(yè)化  1.2 軟件工程    1.2.1 軟件工程的概念    1.2.2 軟件工程學的范疇    1.2.3 軟件工程的開發(fā)原則    1.2.4 軟件工程面l臨的挑戰(zhàn)    1.2.5 軟件工程師的未來  1.3 軟件過程模型    1.3.1 瀑布模型    1.3.2 進化式開發(fā)    1.3.3 過程反復    1.3.4 形式化開發(fā)    1.3.5 RUP    1.3.6 基于組件的集成模型    1.3.7 XP方法    1.3.8 基于Web的開發(fā)模型    1.3.9 自動化的過程支持    本章要點    練習第2章  軟件需求分析  2.1 需求與需求分析    2.1.1 需求的定義    2.1.2 需求分析的任務    2.1.3 需求分析的步驟    2.1.4 需求的內容與特征  2.2 需求獲取的技術    2.2.1 需求分析中出現(xiàn)的問題    2.2.2 需求獲取的基本原則    2.2.3 需求獲取的常用技術  2.3 需求分析建模    2.3.1 用例建模    2.3.2 數(shù)據(jù)建模    2.3.3 過程建模  2.4 結構化分析方法    2.4.1 結構化分析的基本思想    2.4.2 描述方式    2.4.3 結構化分析步驟  2.5 面向對象分析方法    2.5.1 面向對象分析的基本思想    2.5.2 面向對象的基本概念    2.5.3 面向對象分析步驟    2.5.4 面向對象分析實例  2.6 軟件需求分析的文檔    2.6.1 軟件需求說明的特征    2.6.2 軟件需求說明書的編寫原則    2.6.3 軟件需求規(guī)格說明書的模板  2.7 需求評審  本章要點  練習第3章  軟件設計  3.1 軟件設計的任務  3.2 軟件設計的基本原則    3.2.1 模塊化    3.2.2 模塊獨立性  3.3 軟件體系結構設計    3.3.1 構建體系結構的過程    3.3.2 體系結構的表示形式    3.3.3 體系結構的分類  3.4 結構化設計方法    3.4.1 結構化設計的思想    3.4.2 總體結構設計工具——SC    3.4.3 面向數(shù)據(jù)流的設計方法  3.5 面向對象的設計方法    3.5.1 面向對象的設計模型    3.5.2 面向對象的設計過程  3.6 數(shù)據(jù)設計    3.6.1 數(shù)據(jù)設計的目的    3.6.2 數(shù)據(jù)表示模型ERD      3.6.3 數(shù)據(jù)表的表示形式  3.7 過程設計    3.7.1 詳細設計的任務    3.7.2 詳細設計的原則    3.7.3 常用的表達工具  3.8 界面設計    3.8.1 界面設計的步驟    3.8.2 界面設計的分類    3.8.3 界面設計的信息表示  3.9 軟件設計文檔  本章要點  練習第4章  編碼實現(xiàn)  4.1 程序設計語言    4.1.1 程序設計語言    4.1.2 程序設計語言的分類    4.1.3 程序設計語言的選擇  4.2 編碼標準  4.3 編碼風格    4.3.1 源程序文檔化    4.3.2 數(shù)據(jù)說明    4.3.3 語句結構    4.3.4 輸入/輸出  本章要點  練習第5章  軟件測試  5.1 測試的基本概念    5.1.1 軟件測試的定義    5.1.2 質量和可靠性  5.2 測試方法    5.2.1 測試方法    5.2.2 黑盒測試方法    5.2.3 白盒測試方法  5.3 測試策略    5.3.1 單元測試    5.3.2 綜合測試    5.3.3 高級測試  5.4 軟件測試工具    5.4.1 自動化軟件測試的特點    5.4.2 測試工具的分類    5.4.3 常見的測試工具實例  5.5 糾錯技術    5.5.1 糾錯的方法    5.5.2 糾錯的輔助手段    本章要點    練習第6章  軟件工程管理  6.1 軟件工程管理的目的    6.1.1 軟件工程管理的目的與內容    6.1.2 軟件工程管理的活動  6.2 進度管理    6.2.1 項目計劃    6.2.2 項目進度分配過程    6.2.3 項目進度管理的工具  6.3 人員管理    6.3.1 人員需求的層次    6.3.2 選擇團隊成員    6.3.3 團隊管理    6.3.4 人員能力成熟度模型  6.4 成本管理    6.4.1 軟件生產(chǎn)率    6.4.2 軟件估算技術    6.4.3 成本估算模型  6.5 質量管理    6.5.1 軟件質量的定義    6.5.2 軟件質量的管理過程    6.5.3 軟件質量的度量    6.5.4 提高軟件質量的途徑  6.6 風險管理    6.6.1 風險管理的過程    6.6.2 風險識別    6.6.3 風險分析與評估    6.6.4 風險規(guī)劃與監(jiān)控    本章要點    練習參考文獻

章節(jié)摘錄

插圖:軟件工程師應當做出承諾,使軟件的分析、設計、實現(xiàn)、測試和維護等工作對社會有益且受人尊敬。隨著社會的進步、技術的發(fā)展,在各行各業(yè)都會出現(xiàn)軟件工程師,成為企業(yè)信息化道路的支持者、推進者。1.3軟件過程模型軟件作為產(chǎn)品需要一個循序漸進的生存過程,把軟件產(chǎn)品從計劃開始,經(jīng)過開發(fā)、使用和維護等活動,直到退役為止的全過程稱為軟件生存周期(Software Life Cycle)。根據(jù)軟件所處的狀態(tài)、特征以及軟件開發(fā)活動的目的,軟件開發(fā)任務可以劃分為不同的階段,這些階段之間的關系用開發(fā)模型表示。軟件開發(fā)模型是軟件開發(fā)過程的概括,為軟件工程管理提供里程碑和進度表,為軟件開發(fā)過程提供原則和方法。軟件開發(fā)模型給出了軟件開發(fā)活動各階段之間的關系。軟件過程模型是軟件開發(fā)人員經(jīng)過多年的探索形成的軟件開發(fā)步驟和方法,針對應用特點,對開發(fā)過程歸納為開發(fā)過程框架。1.3.1 瀑布模型B.w.Boehm提出了瀑布模型(Waterfall Model),將軟件開發(fā)過程劃分為階段,像瀑布一樣拾階而下,模型中各個階段的任務和軟件開發(fā)活動如圖1-7所示。根據(jù)軟件生存周期各個階段的任務,瀑布模型從項目計劃開始,逐步進行階段性變換,直至通過測試并得到用戶確認的軟件產(chǎn)品為止。通過瀑布模型框架結構可以看到一般軟件系統(tǒng)的開發(fā)步驟分為3個階段:計劃階段、開發(fā)階段、維護階段。在計劃階段主要完成對系統(tǒng)可行性的論證,描述系統(tǒng)的定義、范圍與系統(tǒng)實現(xiàn)的意義;開發(fā)階段分為4個步驟:系統(tǒng)需求分析、系統(tǒng)設計、系統(tǒng)實現(xiàn)、測試;維護階段完成系統(tǒng)在運行過程中所做的修改。瀑布模型的特點是具有階段的順序性和依賴性,系統(tǒng)的實現(xiàn)過程遵循了階段排列的次序,按次序完成每一個步驟,同時,步驟之間相互依賴,前一步獲得的結果作為下一個步驟的輸入,前一步驟完成后下一個步驟才能開始。瀑布模型從軟件制作時間上按工序把項目分為有序的步驟,實現(xiàn)了流水線的生產(chǎn)方式,便于分工協(xié)作,推遲了物理實現(xiàn)。

編輯推薦

《軟件工程理論與應用》是普通高等教育“十一五”國家級規(guī)劃教材。

圖書封面

評論、評分、閱讀與下載


    軟件工程理論與應用 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7