出版时间:2010-5 出版社:曾强聪、 赵歆 高等教育出版社 (2010-05出版) 作者:曾强聪,赵歆 著 页数:234
前言
软件工程是很具实用性的工程方法学,是软件开发者——软件项目负责人、软件分析师、软件设计师、程序员、测试员,开发和维护软件时的作业指南。20世纪60年代,软件开发遭遇危机——难以满足用户需求、容易出错、难于维护,弓I发软件开发者的心理恐慌,使软件开发陷入困境,并因此开始探索用工程方法解决软件问题。软件工程即诞生于这样的背景之下,其谋求对软件开发、维护能有方法上的指导,能有规则上的约束,以使面对有待开发的复杂软件系统,开发者能更具预见力与信心。软件工程已是计算机科学领域中的重要分支,其成长则与软件产业化发展密切相关。软件产业化发展需要软件工程方法提供理论支持,而伴随着软件产业的迅速发展,软件工程也在不断进步与完善,产生了结构化、面向对象等诸多方法学体系,涉及工程技术、工程管理、工程经济等诸多方面的内容,可对软件开发提供比较全面的工程支持。软件工程能够带来高质量的软件产品,因此,软件工程人才备受业界重视,不仅软件工程师代替了早期的程序员,成为软件开发中的技术骨干,而且要求所有从事软件开发的人都具备一定的软件工程知识与技能,以保证软件工程规范的有效实施。本书为应用性、技能型人才培养的应用型本科、高职高专教育计算机软件专业学生学习软件工程而编写。或许有学习者认为,应用型本科、高职高专层次的学生毕业之后一般不会从事软件分析、设计或项目管理等高层工作,而是从事编码、维护或整理文档等低层工作,因此软件工程方法学对他们来说价值不大。但实际上,目前软件行业中的许多高层分析师、设计师、项目经理就来自应用型本科、高职高专,并且即使这些学习者一直从事低层编码、维护、整理文档工作,也仍有必要学习软件工程,因为即使是低层软件实现,也必须遵循软件工程规范。毫无疑问,软件行业对软件技术人才的要求越来越注重实际应用。因此,学习软件工程,不仅是学习知识体系,还应该接受一定的与项目有关的工程实训,以获得一定的软件工程实际应用能力。实际上,软件工程本身即是实践性学科,一系列的方法规则就建立于工程实践的基础上。因此,其学习也必然需要通过实践、实训,才能真正、有效把握。本书即立足于实际应用介绍软件工程,并从结构编排、教学案例等诸多方面考虑了实训教学的便利性。
内容概要
全书前后贯通性,遵循基于“基本方法—项目管理—系统工程—分析—设计—实现—维护”软件开发生命周期的设计思想编写。其中,分析、设计、实现又体现为结构化、面向对象两个分支路线。 本书主要内容包括软件工程过程模型、项目分析与规划、需求分析、概要设计、面向对象分析与设计、用户界面设计、算法设计与编码、软件测试等内容。本书可作为应用性、技能型人才培养的各类教育相关专业的教学用书,也可供各类培训、计算机从业人员和爱好者参考使用。
书籍目录
第1章 软件工程概述1.1 软件1.1.1 软件概念1.1.2 软件特点1.1.3 软件分类1.2 软件工程1.2.1 工程技术1.2.2 工程管理1.2.3 工程目标1.3 主流方法学1.3.1 结构化方法学1.3.2 面向对象方法学1.4 常用软件工具1.4.1 Visio1.4.2 PowerDesigner1.4.3 RationalRose小结习题第2章 软件开发过程模式2.1 软件生存周期2.1.1 软件定义期2.1.2 软件开发期2.1.3 软件运行与维护期2.2 瀑布模式2.2.1 瀑布模式的特点2.2.2 瀑布模式的作用2.3 原型进化模式2.3.1 软件原型2.3.2 原型进化过程2.4 增量模式2.4.1 增量开发过程2.4.2 增量模式的特点2.4.3 增量模式的优越性小结习题第3章 软件项目管理3.1 开发团队3.1.1 软件开发机构3.1.2 软件项目组3.1.3 项目组管理机制3.2 项目计划3.2.1 任务分配3.2.2 项目进度计划3.2.3 项目计划书3.3 项目成本估算3.3.1 程序代码行成本估算3.3.2 软件功能点成本估算3.3.3 软件过程成本估算3.4 软件文档管理3.4.1 文档概念3.4.2 文档分类3.4.3 软件文档与软件生存周期之间的关系3.4.4 文档的使用者3.4.5 文档编码3.4.6 文档格式3.5 软件配置管理3.5.1 软件配置概念3.5.2 软件配置规划3.5.3 软件变更控制3.5.4 软件版本控制3.6 软件质量管理3.6.1 质量标准3.6.2 质量计划3.6.3 质量保证小结习题第4章 计算机系统工程4.1 计算机体系结构4.1.1 系统特征4.1.2 体系结构4.2 软件系统高层分析4.2.1 分析内容4.2.2 分析建模4.3 项目可行性分析4.3.1 分析目的4.3.2 分析内容4.3.3 分析报告小结习题第5章 需求分析5.1 分析任务与过程5.1.1 需求问题5.1.2 分析任务5.1.3 任务承担者5.1.4 分析过程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.5 需求规格说明书小结习题第6章 结构化分析建模6.1 分析建模特点6.2 数据建模6.2.1 实体及实体间关系6.2.2 传统ER建模6.2.3 基于工具的ER建模6.2.4 建模举例6.3 功能建模6.3.1 数据流图(DFD)6.3.2 数据流细化6.3.3 建模举例6.4 行为建模6.4.1 状态转换图(STD)6.4.2 建模举例6.5 数据字典6.5.1 数据定义6.5.2 功能定义6.5.3 行为定义小结习题第7章 基于UML的面向对象分析建模7.1 UML特点7.1.1 建模语言7.1.2 建模过程7.1.3 建模管理7.2 用例建模7.2.1 图形元素7.2.2 参与者关系7.2.3 用例关系7.2.4 建模举例7.3 活动建模7.3.1 图形元素7.3.2 业务级活动建模7.3.3 用例级活动建模7.4 类分析建模7.4.1 实体类7.4.2 实体类关系7.4.3 建模举例小结习题第8章 概要设计8.1 设计任务与过程8.1.1 设计任务8.1.2 设计过程8.2 系统构架8.2.1 软件系统支持环境8.2.2 软件系统体系结构8.3 数据结构8.3.1 程序数据结构8.3.2 数据库结构8.4 程序结构8.4.1 程序模块8.4.2 模块独立性8.4.3 结构化程序结构8.4.4 面向对象程序结构8.5 概要设计说明书小结习题第9章 结构化设计建模9.1 建模语言9.1.1 程序结构图9.1.2 HIPO图9.1.3 框架伪码9.2 基于数据流的结构映射9.2.1 变换流映射9.2.2 事务流映射9.2.3 混合流映射9.3 设计举例小结习题第10章 基于UML的面向对象设计建模10.1 面向对象设计方法10.1.1 两种设计方法的比较10.1.2 uML设计建模10.2 逻辑结构设计10.2.1 系统构架10.2.2 类体元素10.2.3 设计类图10.3 动态过程设计10.3.1 协作图10.3.2 时序图10.3.3 状态图10.4 物理装配与部署10.4.1 程序构件图10.4.2 系统部署图小结习题第11章 用户界面设计11.1 界面设计特点11.2 界面类型11.2.1 窗体11.2.2 Web页11.3 界面功能11.3.1 信息表示11.3.2 系统交互11.3.3 联机支持11.4 界面行为导航11.5 其他界面问题小结习题第12章 算法设计与编码12.1 结构化流程控制12.2 算法设计工具12.2.1 程序流程图12.2.2 NS图12.2.3 PAD图12.2.4 PDL语言12.3 Jackson设计方法12.3.1 设计步骤12.3.2 设计举例12.4 程序编码12.4.1 编程语言12.4.2 编程规范小结习题第13章 软件测试13.1 测试目的、计划与方法13.1.1 测试目的13.1.2 测试计划13.1.3 测试方法13.2 测试任务13.2.1 单元测试13.2.2 集成测试13.2.3 确认测试13.3 测试用例13.3.1 白盒测试用例设计13.3.2 黑盒测试用例设计13.4 面向对象程序测试13.4.1 面向对象单元测试13.4.2 面向对象集成测试13.4.3 面向对象确认测试13.5 程序调试13.5.1 诊断方法13.5.2 调试策略小结习题第14章 软件维护14.1 软件维护分类14.2 软件可维护性14.3 软件维护实施14.3.1 维护机构14.3.2 维护过程14.4 逆向工程与再工程小结习题参考文献
章节摘录
插图:需要认识到的是,对于工程应用,诸多过程模式仅具参考性,实际软件开发中往往需要根据具体的软件任务、软件开发机构的自身特点,对过程模式进行过程改进,以使软件开发能够获得更加良好的过程支持。良好软件过程的特征是:软件开发能够有效按照一定的工业流程作业,可对开发任务进行量化管理,可使软件方法与工具得到有效应用,可使软件质量得到有效监控,可显著提高软件开发效率。实际应用中,开发者总是根据项目需要,以上述特征的一个或几个为依据对模式进行过程改进。2.工程方法软件工程方法指的是开发与维护软件时应该“如何做”的一系列技术性方法。工程方法涉及的内容有工程规范、工程策略、技术手段等。其中,工程规范是对工程行为的约束,用于规定哪些能做,哪些不能做;工程策略则体现为一种工程路线,以决定在诸多可行方案中,最终将采用的是什么方案;技术手段则是在已定工程策略前提下的具体做法,如通过ER图分析系统数据关系,通过数据流图分析系统功能结构,使用组件技术构造分布式软件系统。软件工程方法需要适应软件过程,因此也就需要考虑不同过程中工程方法的关联性。显然,为使不同阶段的工程方法能有较好的关联性,工程方法需要形成体系,如结构化方法体系、面向对象方法体系,即这样的工程方法体系可以支持从软件分析到软件设计、实现的全过程任务的开展。
编辑推荐
《软件工程方法与实训》:普通高等教育“十一五”国家级规划教材
图书封面
评论、评分、阅读与下载