現代軟件工程

所属分类:軟件工程及軟件方法學  
出版时间:2009-1   出版时间:張家浩 機械工業出版社 (2009-01出版)   作者:張家浩   页数:372  

前言

軟件工程作為一門學科,從20世紀70年代以來,始終處在發展變化和探索前進之中。隨著我國國民經濟的起飛,軟件產業逐步成為支撐國民經濟發展的重要產業部門。國家成立示範性軟件學院,也正是意識到傳統計算機科學與技術專業學生培養的模式並不能適應現代企業發展的需要,這就要求軟件學院從教學體制、教學內容、教學方式等方面做更深入的改革。但是,實事求是地講,雖然很多軟件學院為此進行了艱苦的努力,也取得了一定的進步,但大的格局沒有發生根本的改變,很多基本要素沒有發生質的變化。軟件學院的教學和實踐內容、教學組織形式和學科體系建設,都還處在“大拼盤”階段。而從大的方面講,我們現在的教育體系如何與國際接軌、與社會發展需求接軌,並不是引進幾個人、請一些外教就能解決的。當然,這已經超出了我們這門軟件工程課程要討論的範圍。我在國內的IT企業待T20多年,也曾出國進修深造,過去多年的絕大部分時間是在軟件公司從事開發和技術管理工作。因為一個偶然的機會,我受聘為東南大學軟件學院講授《軟件項目管理》、《現代軟件工程》等課程,期望利用自己的專業特長和企業背景,教書育人,使我所教授的學生在學習和掌握理論知識的同時,更多地了解現代軟件企業的實踐,畢業後更好地適應新的崗位,發揮出自己的潛力。我在跟朋友聊天的時候,他們都建議我把這些年的經歷寫出來,特別是這20多年從事軟件開發和管理的體會。同時,我也看到上海林銳博士的(《軟工思想))以及((我的大學十年))大受學生們的歡迎,很受啟發和鼓舞,所以就萌發了編著本書的想法。在機械工業出版社華章公司的促成下,幾經努力,終于成書。本書的內容和想法如下。一、教學目標和指導思想軟件學院的軟件工程專業的培養目標是為軟件企業培養“軟件生產”所需要的工程技術和管理專業人才。因此,“軟件工程”作為軟件工程專業的核心課程,應在理論一技術一工程一管理的鏈條上,明確以工程為核心,以技術和管理為半徑,建立教學和實踐體系。這是本課程的基本指導思想。美國電氣與電子工程師協會等編制的《軟件工程知識體系指南》2004版(簡稱︰SWEBOK 2004)概括了現代軟件工程知識體系的11個領域,特別是後6個領域,成為軟件工程的重要組成部分,是現代軟件工程的核心內容。本書將明確以SwEBOK 2004一本藍本,學生通過學習本書,能在已經獲得的軟件基礎知識和語言編程技能的基礎上,逐步開始建立將軟件開發作為一個生產過程的概念,並初步學習和掌握軟件工程的需求分析、系統設計和實現、軟件測試等專門的工程技術方法,學習和了解軟件產品管理、項目管理、質量管理、過程控制等基本過程管理知識。在同步的項目實踐的配合下,親身完成一個項目開發過程,感受作為一個開發者同時也是過程控制和管理者所必須注意的各個環節要點。這是本課程的基本教學目標。

内容概要

  《現代軟件工程》按照軟件開發的生命周期,講述軟件工程的各個知識領域內容,系統地介紹了軟件工程的概念、原理、方法和技術。全書共9章,內容為現代軟件工程導論、從市場和產品的角度理解軟件開發、軟件項目的規劃管理、現代軟件工程的需求工程、軟件體系結構與系統概要設計、軟件系統的構造與實現、軟件質量管理、軟件實施過程與管理、軟件工程改進。其中,需求工程、體系結構與系統概要設計為開發過程的重點,項目管理、質量管理是支撐過程的重點。  《現代軟件工程》內容新穎,講述力求理論聯系實際、深入淺出、循序漸進。全書共收錄了20多個實際的案例分析,涉及金融、電信等領域。每章還配有課堂作業與項目實踐及點評,方便老師和學生使用。  《現代軟件工程》主要用作國家示範性軟件學院軟件工程專業的教材,也可作為計算機及相關專業軟件工程課程的教學用書,或作為從事軟件開發的科技人員的參考書、培訓教材等。

书籍目录

前言第1章 代軟件工程導論1.1 軟件、軟件過程與現代軟件工程1.1.1 軟件工程︰對軟件的再認識1.1.2 軟件危機︰留給軟件人長久的困惑1.1.3 生命周期︰30年前的初衷與設想1.1.4 四大過程︰走出危機的希望與前景1.2 軟件工程與軟件工程知識體系1.2.1 軟件工程生命周期模型的特點1.2.2 過程模型的典範︰統一軟件過程RUP1.2.3 現代軟件工程發展的主要技術特點1.2.4 現代軟件工程知識體系SWEBOK1.3 軟件企業的現代軟件工程實踐1.3.1 軟件生產過程的流程與工藝特性1.3.2 軟件生產過程的支撐與支持特性1.3.3 軟件生產過程的綜合與協同特性1.3.4 現代軟件工程的最佳實踐1.4 市場需求與軟件工程教學1.4.1 IT職場素質需求1.4.2 市場需求對軟件人培養的要求1.5 課堂作業與項目實踐點評1.5.1 課堂作業1.5.2 項目實踐1.5.3 項目實踐點評1.6 本章參考文獻第2章 市場和產品的角度理解軟件開發2.1 企業戰略與市場分析2.1.1 企業戰略決定市場戰略2.1.2 市場環境的生物鏈與5種競爭因素分析2.1.3 案例分析︰某標案的競爭對手分析與策略選擇2.2 行業軟件產品的市場營銷特點2.2.1 市場營銷為產品研發和項目實施提供導向2.2.2 方案銷售是軟件市場與產品營銷的典型特點2.2.3 案例分析︰行業軟件銷售的過程、目標與責任2.3 現代軟件工程下的產品開發與管理。2.3.1 軟件產品管理與產品經理的作用2.3.2 產品經理面向市場的軟件產品管理2.3.3 產品經理面向開發的軟件產品管理2.3.4 現代軟件工程概念下的軟件研發管理2.3.5 案例分析︰采用產品線模式開發的案例2.4 課堂作業與項目實踐及點評2.4.1 課堂作業2.4.2 項目實踐1︰市場分析報告2.4.3 市場分析報告點評2.4.4 項目實踐2︰商業計劃書2.4.5 商業計劃書點評2.5 本章參考文獻第3章 件項目的規劃管理3.1 項目與項目管理的基本概念3.1.1 項目的概念與屬性3.1.2 項目的範疇要素3.1.3 項目管理的概念3.1.4 項目的生命周期與任務3.1.5 項目的組織結構與項目經理3.1.6 項目管理知識體系PMBOK3.1.7 案例分析︰項目管理成熟度水平的判斷3.2 軟件項目的時間管理3.2.1 項目的工作分解結構WBS3.2.2 PMBOK的時間管理概念3.2.3 PMBOK的時間管理過程3.2.4 軟件生命周期模型與時間管理3.2.5 軟件項目的規模、工作量和進度估算3.2.6 案例分析︰軟件項目規劃管理的關鍵與難點3.3 軟件項目的成本管理3.3.1 PMEBOK的成本管理概念3.3.2 PMEBOK的成本管理過程3.3.3 案例分析︰軟件項目成本管理的實例操作3.4 課堂作業與項目實踐及點評3.4.1 課堂作業3.4.2 項目實踐3.4.3 項目實踐點評3.5 本章參考文獻第4章 代軟件工程的需求工程4.1 從傳統需求分析到現代需求過程4.1.1 需求與需求管理的概念4.1.2 傳統需求分析的局限4.1.3 需求管理的問題與現代需求過程4.1.4 CMM的需求管理要求4.1.5 PMBOK的範圍管理過程4.2 項目範圍與軟件需求管理4.2.1 需求開發過程的四個階段4.2.2 需求獲取與軟件項目的範圍定義4.2.3 傳統問題定義過程的方法4.2.4 案例分析︰確定系統的目標與假定約束4.3 需求獲取過程與軟件需求管理4.3.1 需求獲取階段的目標與要求4.3.2 需求獲取與UML的業務模型4.3.3 需求獲取階段的成果與需求管理重點4.3.4 需求用戶確認與需求評審的誤區4.3.5 案例分析︰分析執行者與用例,確定系統範圍4.4 需求分析過程與軟件需求管理4.4.1 需求分析階段的目標與要求4.4.2 需求分析與UML的靜態模型4.4.3 需求分析與uML的動態模型4.4.4 需求分析與UML的體系結構模型4.4.5 需求分析階段的成果與需求管理重點4.4.6 案例分析︰平衡與細化需求定義4.5 需求處理和驗證過程與軟件需求管理4.5.1 需求處理過程與需求管理重點4.5.2 需求驗證過程與需求管理重點4.5.3 案例分析︰需求規格說明書的實例參考4.6 需求實現過程與軟件需求管理4.6.1 需求的實現過程與管理4.6.2 需求的變更控制與管理4.6.3 案例分析︰使用RequisitePro需求管理工具4.7 課堂作業與項目實踐及點評4.7.1 課堂作業4.7.2 項目實踐1︰目標和範圍定義4.7.3 目標和範圍定義點評4.7.4 項目實踐2︰需求分析報告4.7.5 需求分析報告點評4.7.6 期末考試方法建議4.8 本章參考文獻第5章 件體系結構與系統概要設計5.1 體系結構的基本問題5.1.l體系結構的基本概念5.1.2 傳統體系結構的思路方法5.1.3 案例分析︰RuP基于體系結構的迭代5.2 軟件系統的框架與體系結構5.2.1 現代體系結構模型的基本概念5.2.2 兩種典型的體系結構模型分析5.2.3 應用系統體系結構的構成要素5.2.4 案例分析︰《電信綜合營業管理系統》的設計思路5.3 面向對象的設計模式5.3.1 從體系結構到設計模式5.3.2 創建型設計模式5.3.3 其他設計模式5.3.4 案例分析︰創建游戲迷宮的設計模式應用5.4 MVC設計模式應用5.4.1 界面設計的可變需求5.4.2 MVC的結構5.4.3 MVC的實現5.4.4 MVC的更進一步發展5.4.5 MVC的變化與評價5.4.6 案例分析︰Struts應用5.5 基于構件的現代軟件工程5.5.1 構件概念與構件的特性5.5.2 三種主要構件模型與應用特點5.5.3 基于構件的框架與體系結構設計5.5.4 案例分析︰軟件無線電系統的體系結構5.6 從需求分析到系統概要設計過程5.6.1 系統概要設計的任務與要求5.6.2 面向結構的系統設計方法5.6.3 例分析︰產生“菜單”結構的系統結構分析5.6.4 面向對象的系統設計方法5.6.5 案例分析︰電梯控制系統的設計過程5.7 課堂作業與項目實踐及點評5.7.1 課堂作業5.7.2 項目實踐5.7.3 項目實踐點評一5.8 本章參考文獻第6章 軟件系統的構造與實現6.1 系統詳細設計的目標與實現的任務6.1.1 概要設計與詳細設計目標的區別6.1.2 面向對象的詳細設計任務和原則6.1.3 面向對象的詳細設計與實現6.1.4 案例分析︰Java程序編寫格式的內部參考規範6.2 課堂作業與項目實踐及點評6.2.1 課堂作業6.2.2 項目實踐6.2.3 項目實踐點評6.3 本章參考文獻第7章 軟件質量管理7.1 軟件質量的要素與度量7.1.1 軟件質量的概念7.1.2 軟件質量的度量要素7.1.3 軟件質量要素的度量7.1.4 軟件質量度量的實施7.1.5 案例分析︰軟件測試活動的績效度量7.2 軟件測試活動的組織與管理7.2.1 軟件測試的概述7.2.2 軟件測試的計劃、組織與管理7.2.3 案例分析︰測試錯誤分類及測試報告7.3 軟件審查活動的組織與管理7.3.1 審查準備與審查過程7.3.2 審查內容與審查的關鍵點7.3.3 案例分析︰測試評審與分析報告7.4 軟件配置管理的方法與實踐7.4.1 軟件配置及其管理的概念7.4.2 主要配置管理活動和流程7.4.3 配置管理下的版本管理7.4.4 配置管理下的變更管理7.4.5 配置狀態監測、報告與評審7.4.6 基于配置管理的軟件項目管理7.4.7 案例分析︰配置管理的實施7.5 課堂作業與項目實踐及點評7.5.1 課堂作業7.5.2 項目實踐7.5.3 項目實踐點評7.6 本章參考文獻第8章 軟件實施過程與管理8.1 軟件的實施過程與控制8.1.1 軟件實施過程的概念8.1.2 軟件系統的現場實施過程8.1.3 案例分析︰一個現場項目的實施過程介紹8.2 軟件的維護過程與控制8.2.1 軟件維護的概念8.2.2 軟件維護的過程8.2.3 軟件的可維護性管理8.3 軟件項目的實施階段管理8.3.1 項目團隊管理與激勵8.3.2 項目溝通與協調8.3.3 軟件項目風險管理8.4 課堂作業與項目實踐及點評8.4.1 課堂作業8.4.2 項目實踐8.4.3 項目實踐點評8.5 本章參考文獻第9章 軟件過程改進9.1 軟件過程概念與過程改進的基本問題9.1.1 過程與軟件過程的概念9.1.2 實施軟件過程改進9.2 個人軟件過程PSP9.2.1 PSP的產生9.2.2 PSP與CMM9.2.3 PSP的成熟度過程9.2.4 PSP的主要內容9.2.5 PSP與TSP過程9.2.6 PSP、TSP的應用及效果9.3 其他軟件過程探討9.3.1 極限編程(XP)與敏捷軟件過程9.3.2 開源軟件(19SS)的得與失9.4 課堂作業與項目實踐及點評9.4.1 課堂作業9.4.2 項目實踐9.4.3 項目實踐點評9.4.4 期末考試9.5 本章參考文獻

章节摘录

插图:第1章 现代软件工程导论本章核心内容:通过软件工程发展历程的简单回顾,自然地导出高级软件经理与一般编码工程师在认知层次上的不同,即把软件作为一个“过程和工程”来看待和管理的基本思想方法以及现代软件工程在继承和发展传统软件工程的基础上所产生的新思想和新方法。本章教学要求:通过本章的学习,使学生对软件工程的基本内容,建立一个初步的、整体性的认识,并为以后的学习(特别是本课程重点强调的:高级软件经理所处的认知层次、理论教学和项目实践相结合的学习方式、本课程项目实践与其他课程作业的区别、复杂程度和要求)做好必要的思想准备。本章教学形式:(1)以课堂教学为主,以软件企业的参观、考察为辅; (2)根据学生实际人数、能力情况指定,或根据自愿组合或随机组合的方式,产生项目小组的划分。每组以5—8A为宜,并确定项目经理、技术经理、质量经理等角色;(3)为每组学生配备一名必要的辅导老师。辅导老师可以是有企业实践经验并具有实际动手能力的研究生,也可以直接是企业导师。本章课时安排:本课程要求的总学时数为l28学时,本章课堂授课时间应不少于6学时。在授课时间之外,另行安排企业参观、考察时间。本章成果检查:(1)完成阶段课堂作业(附后),计入平时成绩;(2)针对项目小组组成情况与角色定位,任课老师或辅导老师应检查成果,必要时可进行调整。有不少软件专业的同学,在没有学习软件工程这门课程之前,常常会有这样的认识,以为所谓学习软件,就是重点掌握好一二门计算机语言(如C++、Java),然后编一些程序,做过几个项目就可以了。他们认为只要编程能力强,成为所谓的“编程高手”,在软件公司里是所谓的“牛人”,薪金待遇、职位前途都不在话下。社会上的很多人,包括一些软件公司的老总,也都是这么看的。其实,这种观点是不正确,至少是不全面的。作为软件学院的学生,与其他高校的计算机相关专业学生相比,在面对软件企业招聘和市场选择的时候,我们的优势在哪里?与他们之间的根本差别在哪里?什么是我们的核心竞争力?如果没有差别,或者没有太大差别的话,我们自身的价值在哪里?我们比其他院系学生所投入的多得多的学习成本的价值在哪里?可能在你填写高考志愿的时候,对此并不了解。如果拿一个机械加工车间作为比喻的话,其他计算机专业学生学的是机械加工具体的车、钳、洗、刨,而软件工程专业学生学的是如何管理一个工件从第一个加工工序(通常把软件过程划分为:问题定义、需求分析、系统设计、编码调试、软件测试、运行维护6道工序)开始,直到最后一个加工工序,最终完成这个工件,成为合格的产品的全过程。软件工程专业培养的是,懂得软件生产各工位、各工序、各项工艺要求的软件生产过程的系统设计师、架构师、需求分析师、技术经理和软件项目经理。其他专业的学生可能成为一名优秀的八级钳工,软件学院学生应该把自己定位为车间主任。在人才市场、在软件企业,我们的学生与其他计算机专业的学生的不同就在这里,这就是我们的核心竞争力。

编辑推荐

《現代軟件工程》全面覆蓋SWEBOK2004的主要內容,突出強調11個知識領域的重要性、完整性和協同性,並以建立軟件開發的軟件工程過程概念為核心,讓學生能夠初步掌握軟件工程的需求分析、構架設計和實現、軟件測試等專門的工程技術方法,學習和了解項目管理、質量管理、過程控制等基本的過程管理知識。在與本課程同步的項目實踐的配合下,學生以團隊的形式完成一個項日開發過程,親身感受作為一個開發者同時也是過程控制和管理者所必須注意的各個環節要點。配有電子教案,可以減輕老師的教學負擔,提高教學質量。理論︰突出現代軟件工程的新觀點完整︰全面覆蓋IEEE swEBOK2004綜合︰注重最佳實踐的導向與解決方案的平衡案例︰真實、實際,有參考借鑒價值以現代軟件企業開發管理需要,為出發點的軟件工程教學新視界軟件學院軟件工程專業的培養目標是為軟件企業培養“軟件生產”所需要的工程技術和專業管理人才。因此,作為軟件工程專業的核心課程,應在研究一技術一工程一管理的鏈條上,明確以工程為核心,以技術和管理為半徑,建立教學和實踐體系,這是本教材的基本指導思想。

图书封面




    現代軟件工程下載



用户评论 (总计1条)

 
 

  •     不知道如何,完全是根據教學要求購買的
 

計算機與互聯網 PDF免费下载,軟件工程及軟件方法學PDF免费下载。 计算机教程网 

计算机教程网 @ 2017