本书是软件工程技术丛书之一,是一部关于软件项目工程研究方法的实用理论专著,内容涉及软件工程引论、面对对象范型概述、面向对象分析、产品设计、类设计、案例分析、实现、项目管理、设计模式等,适合高校计算机专业学生及软件工程技术人员参考学习。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 基于项目的软件工程面向对象研究方法/软件工程技术丛书 |
分类 | |
作者 | (美)斯蒂尔等编//贲可荣等译 |
出版社 | 机械工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书是软件工程技术丛书之一,是一部关于软件项目工程研究方法的实用理论专著,内容涉及软件工程引论、面对对象范型概述、面向对象分析、产品设计、类设计、案例分析、实现、项目管理、设计模式等,适合高校计算机专业学生及软件工程技术人员参考学习。 内容推荐 本书是集软件工程实用性与实践性于一体的第一本教科书,阐述了软件工程生命周期的各个阶段,并通过对两个现行案例的分析来认识开发过程中的概念化、分析、设计和实现阶段。这两个案例可以由一个小型软件开发组来实践,同时给出各阶段的成品。书中还包括一个完整的软件开发项目,学生可将对各阶段的理解和经验应用于其中。 本书集中讨论面向对象软件开发,并按此范型组织内容。本书不依赖于具体的程序设计语言(必要的代码示例用Java给出),并采用统一建模语言(UML)的子集来为软件建模,解释学生工作中需要用到的符号。 本书为学生而写,可作为计算机专业本科生、非计算机专业研究生的软件工程教材,亦可作为软件开发者、组织者和管理者的参考书。 目录 译者序 译者简介 前言 第1章 软件工程引论 1 1.1 关键概念 1 1.2 为什么要建造软件 1 1.3 软件开发范型要素 5 1.3.1 项目概念化 5 1.3.2 项目表示 6 1.3.3 项目实现 7 1.4 软件工程技术简史 7 1.4.1 结构化编程 7 1.4.2 功能分解 8 1.4.3 结构化分析和设计 10 1.4.4 以数据为中心的范型 11 1.4.5 面向对象范型 13 1.5 不用工程技术生产软件的代价 15 1.6 为什么软件工程不是万能的 15 1.7 项目的作用 16 1.8 分组工作 16 1.9 创建项目小组 17 1.10 班级项目:功能需求 18 1.10.1 项目概述 19 1.10.2 游戏要素 19 1.10.3 游戏事件序列 20 1.10.4 在行星间移动和着陆 21 1.10.5 赢得游戏 21 1.10.6 项目时间框架 22 1.11 复习题 22 第2章 面向对象范型概述 24 2.1 关键概念 24 2.2 熟悉班级项目 24 2.2.1 创建非正式场景的指南 24 2.2.2 非正式场景例子:用户移动 25 2.3 面向对象概念化 26 2.3.1 特殊应用关系 27 2.3.2 继承 27 2.3.3 聚合/组合 28 2.3.4 其他关系分类 29 2.4 软件生命周期 29 2.5 面向对象建模 33 2.5.1 建立模型的作用 33 2.5.2 创建优质模块 34 2.5.3 建模符号 36 2.5.4 软件工程中模型的使用 37 2.6 良好面向对象系统的属性 37 2.7 分组工作 39 2.7.1 主程序员组 39 2.7.2 召开有效的小组会议 40 2.8 复习题 41 第3章 面向对象分析 42 3.1 关键概念 42 3.2 需求分析介绍 42 3.3 需求分析的重要性 43 3.4 需求规格说明 44 3.5 案例分析:图书馆管理系统规格说明 46 3.6 评价需求规格说明 47 3.7 细化需求规格说明 48 3.8 验证需求规格说明 53 3.9 通过开发扩展需求 54 3.10 需求分析过程 54 3.10.1 识别UCCD的类 56 3.10.2 案例分析:识别LMS中的类 57 3.10.3 识别用况 58 3.10.4 案例分析:识别LMS中的用况 59 3.10.5 场景开发 61 3.10.6 案例分析:LMS中的样本场景 62 3.10.7 用UML对系统建模 63 3.10.8 类图 63 3.10.9 案例分析:LMS的类图 65 3.10.10 用况图 67 3.10.11 案例分析:LMS的用况图 68 3.10.12 需求分析小结 69 3.10.13 系统演化 71 3.11 分析班级项目 71 3.12 分组工作 71 3.13 复习题 72 第4章 产品设计 74 4.1 关键概念 74 4.2 设计目标 74 4.3 类设计与产品设计 74 4.4 产品设计概述和目标 75 4.5 对象持久化 76 4.5.1 对象序列化 77 4.5.2 评价对象持久化 78 4.6 案例分析:LMS中的对象持久化 79 4.7 进程体系结构 80 4.7.1 多节点建模 81 4.7.2 进程间通信建模 82 4.7.3 状态机 82 4.7.4 对控制的多线程建模 85 4.7.5 网络资源的有效利用 85 4.8 案例分析:LMS中的进程间通信 85 4.9 班级项目:“银河侦探”游戏中的进程间通信 85 4.10 用户界面 88 4.11 用户界面设计 89 4.12 用户界面设计原则 90 4.12.1 了解用户 90 4.12.2 界面设计规则 92 4.12.3 交互样式 93 4.13 案例分析:LMS的用户界面 100 4.14 分组工作 106 4.15 班级项目产品设计 106 4.16 复习题 107 第5章 类设计 108 5.1 关键概念 108 5.2 类设计过程 108 5.2.1 类构架 109 5.2.2 案例分析:LMS中的类构架 110 5.2.3 系统分解 112 5.3 UML进一步介绍 113 5.3.1 类图的符号修饰 113 5.3.2 交互图 115 5.3.3 案例分析:LMS的交互图 115 5.3.4 协作图的创建 119 5.3.5 案例分析:LMS中更多的交互图 119 5.3.6 评估设计 121 5.3.7 案例分析:评估LMS的设计 121 5.3.8 对象图 121 5.3.9 案例分析:LMS的对象图 122 5.3.10 对象图的创建 122 5.4 类设计阶段的目标 123 5.4.1 代码重用 123 5.4.2 案例分析:LMS中的代码重用 123 5.4.3 良好设计的类与方法 124 5.4.4 数据完整性 125 5.5 类设计的验证 125 5.6 设计班级项目 126 5.7 复习题 127 第6章 案例分析:Game2D与方法设计 128 6.1 关键概念 128 6.2 概述 128 6.3 需求规格说明 128 6.4 细化后的需求规格说明 129 6.5 需求分析 131 6.5.1 名词列表 131 6.5.2 名词表的分析 132 6.5.3 主类列表 133 6.5.4 用况开发 133 6.5.5 场景 136 6.5.6 细化后的类列表 137 6.5.7 建模 138 6.6 产品设计 139 6.6.1 进程体系结构 140 6.6.2 图形用户界面评审 142 6.7 类设计 142 6.7.1 交互图 142 6.7.2 对象图 143 6.7.3 重用 145 6.7.4 类构架 146 6.8 方法设计 151 6.8.1 确定方法 152 6.8.2 Game2D方法设计 152 6.8.3 创建优质方法 155 6.9 复习题 156 第7章 实现 158 7.1 关键概念 158 7.2 引论 158 7.3 实现途径 158 7.3.1 “大突击”实现 159 7.3.2 自顶向下与自底向上实现 159 7.3.3 自顶向下与自底向上方法的结合 162 7.3.4 实现的线程方法 162 7.4 实现计划 163 7.5 案例分析:LMS的实现计划 164 7.6 编程风格 167 7.6.1 越短越简单 168 7.6.2 越简单的代码判断越少 169 7.6.3 应避免过量的嵌套逻辑 171 7.7 注释和内部文档 171 7.7.1 头注释块 172 7.7.2 行注释 173 7.8 项目编码标准 175 7.9 实现班级项目 176 7.10 复习题 177 第8章 测试 178 8.1 关键概念 178 8.2 什么是测试 178 8.3 面向对象测试原理 178 8.4 定义 179 8.4.1 错误、故障和失效 179 8.4.2 测试计划 180 8.4.3 测试喻示 181 8.4.4 测试用例 182 8.4.5 白盒测试 182 8.4.6 黑盒测试 183 8.4.7 单元测试 184 8.4.8 集成测试 184 8.4.9 系统测试 186 8.5 测试步骤 186 8.6 测试面向对象系统的特殊论题 187 8.7 案例分析:测试LMS 189 8.7.1 测试计划 189 8.7.2 单元测试阶段I 191 8.7.3 系统地提出测试用例 192 8.8 测试班级项目 193 8.9 面对变化的测试:配置管理 193 8.10 复习题 196 第9章 项目管理 197 9.1 关键概念 197 9.2 引论 197 9.3 项目经理职责 198 9.3.1 软件度量 199 9.3.2 案例分析:项目估计 203 9.3.3 质量控制度量 204 9.3.4 神奇的人-月 205 9.4 配置管理 205 9.4.1 版本控制 206 9.4.2 变动控制 206 9.4.3 配置审核 207 9.4.4 配置状态报告 208 9.5 项目计划和监督 208 9.5.1 项目演化 209 9.5.2 案例分析:Game2D演化 209 9.5.3 项目计划 210 9.5.4 案例分析:Game2D项目计划 211 9.5.5 任务调度 212 9.5.6 监督进度 214 9.6 项目组 215 9.6.1 组建项目组 215 9.6.2 队伍开发的四个阶段 216 9.6.3 冲突 217 9.6.4 解决冲突 218 9.7 风险管理 219 9.7.1 技术风险起源 219 9.7.2 人员风险起源 222 9.7.3 风险的后果 223 9.8 降低风险 223 9.8.1 尽早进行产品评估 224 9.8.2 尽早实现系统有风险的部分 224 9.8.3 尽早使用新技术 224 9.8.4 尽早解决类交互问题 224 9.9 风险管理方面的进一步读物 224 9.10 案例分析:LMS的风险分析 225 9.10.1 LMS中的风险权衡 225 9.10.2 LMS中的技术风险 225 9.11 复习题 226 第10章 设计模式 227 10.1 关键概念 227 10.2 设计模式的目的 227 10.3 什么是设计模式 227 10.4 探索设计模式 229 10.4.1 案例分析:包装程序设计模式 229 10.4.2 案例分析:迭代程序设计模式 230 10.4.3 案例分析:状态设计模式 231 10.4.4 案例分析:单实例设计模式 233 10.5 复习题 234 第11章 软件开发的灾难故事 235 11.1 关键概念 235 11.2 引论 235 11.3 Therac-25 236 11.4 CONFIRM 238 11.5 电话和通信 239 第12章 完成并展示班级项目 241 12.1 成功完成班级项目 241 12.2 对项目的思考 242 12.3 展示项目 243 12.3.1 非技术类用户的类型 243 12.3.2 非技术展示要点 244 12.3.3 技术展示要点 244 12.3.4 项目展示 244 参考文献 245 索引 251 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。