现代软件工程

出版社:张家浩 机械工业出版社 (2009-01出版)
出版日期:2009-1
ISBN:9787111253525
作者:张家浩
页数:372页

章节摘录

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

前言

软件工程作为一门学科,从20世纪70年代以来,始终处在发展变化和探索前进之中。随着我国国民经济的起飞,软件产业逐步成为支撑国民经济发展的重要产业部门。国家成立示范性软件学院,也正是意识到传统计算机科学与技术专业学生培养的模式并不能适应现代企业发展的需要,这就要求软件学院从教学体制、教学内容、教学方式等方面做更深入的改革。但是,实事求是地讲,虽然很多软件学院为此进行了艰苦的努力,也取得了一定的进步,但大的格局没有发生根本的改变,很多基本要素没有发生质的变化。软件学院的教学和实践内容、教学组织形式和学科体系建设,都还处在“大拼盘”阶段。而从大的方面讲,我们现在的教育体系如何与国际接轨、与社会发展需求接轨,并不是引进几个人、请一些外教就能解决的。当然,这已经超出了我们这门软件工程课程要讨论的范围。我在国内的IT企业待T20多年,也曾出国进修深造,过去多年的绝大部分时间是在软件公司从事开发和技术管理工作。因为一个偶然的机会,我受聘为东南大学软件学院讲授《软件项目管理》、《现代软件工程》等课程,期望利用自己的专业特长和企业背景,教书育人,使我所教授的学生在学习和掌握理论知识的同时,更多地了解现代软件企业的实践,毕业后更好地适应新的岗位,发挥出自己的潜力。我在跟朋友聊天的时候,他们都建议我把这些年的经历写出来,特别是这20多年从事软件开发和管理的体会。同时,我也看到上海林锐博士的(《软工思想))以及((我的大学十年))大受学生们的欢迎,很受启发和鼓舞,所以就萌发了编著本书的想法。在机械工业出版社华章公司的促成下,几经努力,终于成书。本书的内容和想法如下。一、教学目标和指导思想软件学院的软件工程专业的培养目标是为软件企业培养“软件生产”所需要的工程技术和管理专业人才。因此,“软件工程”作为软件工程专业的核心课程,应在理论一技术一工程一管理的链条上,明确以工程为核心,以技术和管理为半径,建立教学和实践体系。这是本课程的基本指导思想。美国电气与电子工程师协会等编制的《软件工程知识体系指南》2004版(简称:SWEBOK 2004)概括了现代软件工程知识体系的11个领域,特别是后6个领域,成为软件工程的重要组成部分,是现代软件工程的核心内容。本书将明确以SwEBOK 2004一本蓝本,学生通过学习本书,能在已经获得的软件基础知识和语言编程技能的基础上,逐步开始建立将软件开发作为一个生产过程的概念,并初步学习和掌握软件工程的需求分析、系统设计和实现、软件测试等专门的工程技术方法,学习和了解软件产品管理、项目管理、质量管理、过程控制等基本过程管理知识。在同步的项目实践的配合下,亲身完成一个项目开发过程,感受作为一个开发者同时也是过程控制和管理者所必须注意的各个环节要点。这是本课程的基本教学目标。

书籍目录

前言第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 本章参考文献

编辑推荐

《现代软件工程》全面覆盖SWEBOK2004的主要内容,突出强调11个知识领域的重要性、完整性和协同性,并以建立软件开发的软件工程过程概念为核心,让学生能够初步掌握软件工程的需求分析、构架设计和实现、软件测试等专门的工程技术方法,学习和了解项目管理、质量管理、过程控制等基本的过程管理知识。在与本课程同步的项目实践的配合下,学生以团队的形式完成一个项日开发过程,亲身感受作为一个开发者同时也是过程控制和管理者所必须注意的各个环节要点。配有电子教案,可以减轻老师的教学负担,提高教学质量。理论:突出现代软件工程的新观点完整:全面覆盖IEEE swEBOK2004综合:注重最佳实践的导向与解决方案的平衡案例:真实、实际,有参考借鉴价值以现代软件企业开发管理需要,为出发点的软件工程教学新视界软件学院软件工程专业的培养目标是为软件企业培养“软件生产”所需要的工程技术和专业管理人才。因此,作为软件工程专业的核心课程,应在研究一技术一工程一管理的链条上,明确以工程为核心,以技术和管理为半径,建立教学和实践体系,这是本教材的基本指导思想。

作者简介

《现代软件工程》按照软件开发的生命周期,讲述软件工程的各个知识领域内容,系统地介绍了软件工程的概念、原理、方法和技术。全书共9章,内容为现代软件工程导论、从市场和产品的角度理解软件开发、软件项目的规划管理、现代软件工程的需求工程、软件体系结构与系统概要设计、软件系统的构造与实现、软件质量管理、软件实施过程与管理、软件工程改进。其中,需求工程、体系结构与系统概要设计为开发过程的重点,项目管理、质量管理是支撑过程的重点。
《现代软件工程》内容新颖,讲述力求理论联系实际、深入浅出、循序渐进。全书共收录了20多个实际的案例分析,涉及金融、电信等领域。每章还配有课堂作业与项目实践及点评,方便老师和学生使用。
《现代软件工程》主要用作国家示范性软件学院软件工程专业的教材,也可作为计算机及相关专业软件工程课程的教学用书,或作为从事软件开发的科技人员的参考书、培训教材等。

图书封面


 现代软件工程下载



发布书评

 
 


精彩短评 (总计3条)

  •     涨价好
  •     不知道如何,完全是根据教学要求购买的
  •     其实还是一本不错的说
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024