计算机类专业教育 > 软件工程类

实用软件工程教程

书号:9787113127237 套系名称:21世纪高等院校计算机专业规划教材

作者:郭清宇 刘凤华 出版日期:2011-05-16

定价:33.80 页码 / 开本:360 /16

策划编辑:周海燕 责任编辑:无

适用专业:无 适用层次:高等院校

最新印刷时间:

资源下载
教学课件 教学素材(暂无)
习题答案 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书结合实际软件项目开发讲解软件工程的关键概念,使学生加深对软件工程理论的理解,指导软件工程的实践活动。本书内容包含项目启动、项目计划、需求工程、系统设计、编码及代码审查、软件测试、项目交付和培训、项目实战等部分。

            本书以实际项目为主线,并提供源码为参照,适合作为高校本科计算机软件工程、计算机应用技术等专业或软件职业技术学院软件工程和软件实训的教材,也可作为软件开发人员和软件项目管理人员的参考书

  • 软件工程专业学生需要扎实的理论基础,也需要较多的技能和实践经验。目前,软件工程理论方面的书籍很多,项目实践方面的书籍却很少,即使有一些案例教学之类的软件工程书籍,案例也大多是虚拟项目,和实际意义上的软件开发有很大距离。本书以实际项目(均来源于工程实践,已正式交付用户使用)为案例,将其贯穿于项目的软件工程生命周期中,使学生真正了解软件的实际开发过程,通过本书学习和选择一个完整的、难度适中的项目进行模仿、实训,达到提高实际动手能力、缩短就业后适应期的目的。
    本书作者从事过多年的软件工程教学工作,大多主持开发过大型项目,有丰富的项目管理和开发经验,针对学生在软件工程实践过程中可能遇到的困难和问题,结合教学和项目开发过程实际编写了本书。
    本书的总体编写思路如下:
    (1)全书共分为10章:前8章着重讲解软件工程的原理,包括项目启动、项目计划、需求工程、系统设计、编码及代码审查、软件测试、项目交付和培训,在讲解软件工程原理的同时引入项目案例;后2章详细介绍了两个项目的开发过程,其中第9章介绍的职业安全与健康法规标准管理系统是一个基于B/S模式的项目,第10章河流根石探测管理系统是一个基于C/S模式的项目, B/S模式和C/S模式是当前的两种主流体系结构,两个项目均已完成并提交给用户使用。
    (2)每章均分为4部分进行编写:引言用于说明本章的主题思想、论述范围、主要内容,以及概略介绍有助于理解本章主题思想的有关内容,为阐述主题作准备。学习目标简明清晰地列出本章学习要达到的目标。主要内容均紧密结合项目工程实际,以工程项目开发流程为写作线索。每章后的小结对本章的内容进行简单回顾,帮助读者总结学习要点和学习重点。
    与现有教材相比,本教材具有以下特色:
    (1)基于项目进行编写。本书不仅给出了两个实际工程项目的详细开发过程描述,而且在理论部分的写作过程中也穿插了案例的讲解。
    (2)以项目开发流程为写作线索。本书不仅在章节安排上以工程开发流程为线索,在描述项目开发过程中更是严格按实际开发流程进行,不仅内容真实严谨,而且可操作性强,读者可以一步一步模拟实践,深刻理解软件工程的原理及其应用。
    (3)重点难点突出。本书理论部分的讲解没有罗列详细的知识点,不介绍琐碎的和不太常用的知识,重点讲解最精华的理论知识。
    (4)所有项目资源齐备。本书详细介绍项目环境配置和发布运行的步骤,并提供源码参照。
    本书第1章由郭清宇和贾晓辉编写;第2、3、5、8章由李志民编写;第4章由李志民、潘磊编写;第6、7章由郭清宇编写;第9章第1~4节由贾晓辉编写,第5~8节由潘磊和胡晓旻编写;第10章由刘凤华和赵冬编写,附录由贾晓辉编写。全书由郭清宇和刘凤华统稿并审定。
    本书的编写得到中原工学院教材项目资金资助,在本书的编写过程中,豆振海在代码调试及内容组织上做了大量工作;写作过程中,本书参考和引用了很多优秀的文献,在此深表谢意!
    虽然我们力求完美,力创精品,但由于水平有限,书中难免有疏漏和错误等不尽如人意的地方,还望广大读者批评指正。

    编  者
    2011年2月


  • 第1章  概论 1
    1.1  软件和软件危机 1
    1.1.1  软件的概念和特点 1
    1.1.2  软件的发展历程 2
    1.1.3  软件危机 3
    1.2  软件工程 4
    1.2.1  软件工程定义 4
    1.2.2  软件工程的发展历史 4
    1.2.3  软件生命周期模型 5
    1.2.4  软件过程 6
    小结 10
    第2章  项目启动 11
    2.1  项目开发流程与管理方式 11
    2.1.1  软件项目形式 11
    2.1.2  项目开发流程 12
    2.1.3  精简并行过程 14
    2.2  项目组织结构 15
    2.2.1  项目角色 16
    2.2.2  项目组织 16
    2.3  项目里程碑 17
    2.3.1  检查点、里程碑和基线 17
    2.3.2  里程碑计划与验收 18
    2.4  案例分析及描述 20
    2.4.1  项目介绍 20
    2.4.2  项目组织结构 21
    2.4.3  项目里程碑 21
    小结 22
    习题 22
    第3章  项目计划 23
    3.1  项目估计 23
    3.1.1  项目范围 23
    3.1.2  软件规模度量 24
    3.1.3  项目资源估算 25
    3.1.4  成本估算 25
    3.2  项目计划管理 26
    3.2.1  项目进度计划管理 27
    3.2.2  项目质量保证 29
    3.2.3  项目配置管理 30
    3.2.4  项目测试计划 32
    3.2.5  风险管理 33
    3.2.6  能力成熟度模型 34
    3.3  案例分析及描述 35
    3.3.1  项目估算 35
    3.3.2  项目计划管理 36
    小结 38
    习题 38
    第4章  需求工程 39
    4.1  需求捕获 39
    4.1.1  需求开发计划和目标 39
    4.1.2  实地收集需求 40
    4.1.3  软件需求 41
    4.2  需求分析 43
    4.2.1  原型分析法 43
    4.2.2  结构化分析方法 44
    4.2.3  用例分析方法 46
    4.2.4  RUP业务建模 47
    4.2.5  用例分析 49
    4.2.6  系统建模 52
    4.2.7  相关案例分析 53
    4.3  需求定义 56
    4.3.1  需求报告 56
    4.3.2  需求规格说明书编写指南 56
    4.4  需求管理 59
    4.4.1  需求变更控制 59
    4.4.2  版本控制 62
    4.4.3  需求跟踪 63
    4.5  需求验证 64
    4.5.1  需求验证的目的和任务 64
    4.5.2  需求评审 65
    4.5.3  需求测试 66
    小结 67
    习题 67
    第5章  系统设计 68
    5.1  设计概述 68
    5.1.1  设计要素 68
    5.1.2  设计原理 69
    5.1.3  设计目标 69
    5.1.4  软件设计方法 69
    5.1.5  面向对象方法的设计原则 70
    5.2  体系结构设计 71
    5.2.1  软件体系结构建模 71
    5.2.2  软件构架文档 72
    5.2.3  MVC架构 74
    5.2.4  软件体系结构风格 75
    5.2.5  Web服务体系结构 79
    5.3  数据库设计 79
    5.3.1  数据库设计过程 79
    5.3.2  数据库设计技巧 80
    5.4  界面设计 82
    5.4.1  界面设计原则 82
    5.4.2  用户界面设计的工作流程 83
    5.4.3  界面设计规范 84
    5.5  案例分析及描述 84
    5.5.1  系统架构风格设计 84
    5.5.2  设计方法 84
    5.5.3  数据库设计 84
    5.5.4  界面设计 85
    小结 85
    习题 85
    第6章  编码及代码审查 86
    6.1  程序设计语言 86
    6.1.1  程序设计语言的分类 86
    6.1.2  程序设计语言的特性 88
    6.1.3  编码语言的选择 90
    6.2  编码规约 91
    6.2.1  编码规约的目标 91
    6.2.2  编码规约的一般性原则 91
    6.3  代码审查 92
    6.3.1  代码审查的目的和形式 92
    6.3.2  代码审查小组和代码审查内容 93
    6.3.3  代码审查过程 93
    6.3.4  结对编程 95
    6.4  案例分析与描述 95
    6.4.1  编码语言选择及开发环境 95
    6.4.2  编码规约 96
    6.4.3  代码审查 103
    小结 108
    习题 108
    第7章  软件测试 109
    7.1  概述 109
    7.1.1  软件测试的目的 110
    7.1.2  软件测试原则 110
    7.1.3  软件测试的基本过程 112
    7.1.4  软件测试方法 112
    7.1.5  软件测试人员的素质要求 116
    7.2  软件测试过程 117
    7.2.1  软件测试步骤 117
    7.2.2  软件测试流程 121
    7.2.3  单元测试 121
    7.2.4  集成测试 123
    7.2.5  确认测试 127
    7.3  测试技术 128
    7.3.1  白盒测试技术 128
    7.3.2  黑盒测试技术 130
    7.4  测试用例设计与执行 132
    7.4.1  测试用例的基本要素 133
    7.4.2  测试用例设计过程 134
    7.4.3  基于场景的测试用例设计 135
    7.4.4  基于补充规约生成的测试用例 136
    7.4.5  测试用例执行过程 138
    7.4.6  测试用例管理和维护 139
    小结 140
    习题 140
    第8章  项目交付和培训 141
    8.1  项目培训 141
    8.1.1  培训需求确定 141
    8.1.2  培训计划制定 141
    8.1.3  培训计划实施 142
    8.1.4  培训效果评估 142
    8.2  项目实施 143
    8.2.1  项目实施准备 143
    8.2.2  模拟运行及用户化 143
    8.2.3  制定工作准则与工作规程 143
    8.2.4  系统运行 143
    8.3  项目验收 143
    8.3.1  项目验收准备 144
    8.3.2  验收测试 144
    8.3.3  项目交付 144
    8.4  案例描述 145
    8.4.1  项目培训 145
    8.4.2  项目实施 145
    8.4.3  项目验收 146
    小结 146
    习题 146
    第9章  职业安全与健康法规标准管理系统 147
    9.1  项目描述 147
    9.1.1  项目背景 147
    9.1.2  捕获需求 148
    9.1.3  项目计划 148
    9.2  需求分析 149
    9.2.1  参与者 149
    9.2.2  用例 149
    9.2.3  系统用例图 150
    9.2.4  用例规约 151
    9.2.5  分析类 165
    9.3  系统设计 172
    9.3.1  体系结构设计 172
    9.3.2  实体类设计 173
    9.3.3  数据库设计 174
    9.3.4  界面设计 178
    9.4  系统实现 179
    9.4.1  开发环境及配置 179
    9.4.2  功能模块概要 180
    9.4.3  项目测试 201
    9.4.4  系统变更 216
    9.5  项目交付 220
    9.5.1  系统交付 220
    9.5.2  用户手册 222
    9.5.3  培训 225
    小结 226
    第10章  河流根石探测管理系统 227
    10.1  项目描述 227
    10.1.1  项目背景 227
    10.1.2  业务描述 227
    10.1.3  用户描述 231
    10.1.4  项目计划 231
    10.2  需求分析 234
    10.2.1  需求描述 235
    10.2.2  用例规约 236
    10.2.3  用例图 263
    10.3  系统分析与设计 266
    10.3.1  领域模型 266
    10.3.2  顺序图 269
    10.3.3  设计类 286
    10.3.4  数据库设计 289
    10.3.5  界面设计 296
    10.4  系统实现 300
    10.4.1  环境配置 300
    10.4.2  代码实现 301
    10.4.3  测试 316
    10.5  发布运行 322
    10.5.1  项目发布运行 322
    10.5.2  安装说明 325
    10.6  河道整治工程根石探测管理系统使用说明 326
    小结 339
    附录A  UML入门及Rose的使用 341
    参考文献 349