当前位置:主页 > 课后答案 > 软件工程习题答案
软件工程概论

《软件工程概论》课后习题答案

  • 更新:2021-04-27
  • 大小:1.85 MB
  • 类别:软件工程
  • 作者:郑人杰、马素霞、殷人昆
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

《软件工程概论》2010年03月01日机械工业出版社出版的图书,作者是郑人杰、马素霞、殷人昆。

《软件工程概论》既强调和突出基本概念、基本方法,又使内容的组织符合学生的认识规律,在讲解理论的过程中尽量结合实例,并注重软件工程方法、技术和工具的综合应用,避免抽象和枯燥的论述。在兼顾传统的结构化方法的同时,注重当前广为采用的面向对象方法。紧密结合当前技术的新发展,在阐述理论知识的同时侧重实用性。既充分重视技术性内容,便于初学者掌握必要的知识和技能,同时也兼顾软件工程实践中必不可少的基本管理知识。

《软件工程概论》结构合理、内容丰富,讲解由浅入深,既体现知识点的连贯性、完整性,又突出了相关知识在实际中应用。适合作为计算机科学与技术、软件工程等专业工程硕士及相关层次的教材。

软件工程学科具有知识面广、发展迅速、实践性强等特点。《软件工程概论》作者针对软件工程的学科特点,在系统讲解软件工程理论、方法和工具的同时,注重结合实例分析软件工程方法、技术和工具的综合应用;在兼顾传统的结构化方法的同时,注重介绍广为采用的面向对象方法。全书内容组织成四部分:第一部分是软件工程概述,第二部分介绍传统的软件开发方法,第三部分讲述面向对象的软件开发方法,第四部分介绍软件维护与软件管理。

《软件工程概论》结构合理、内容丰富,讲解由浅入深,既体现知识点的连贯性、完整性,又体现知识在实际中的应用,适合作为计算机科学与技术、软件工程等专业工程硕士及相关层次的教材。

目录

  • 出版者的话
  • 序 言
  • 前 言
  • 教学建议
  • 第1章 引论
  • 1.1 程序设计语言的发展
  • 1.1.1 程序设计语言
  • 1.1.2 翻译程序
  • 1.2 为什么需要编译程序
  • 1.3 编译程序的工作过程
  • 1.3.1 分析部分
  • 1.3.2 综合部分
  • 1.4 编译程序的结构
  • 1.4.1 编译程序的典型结构
  • 1.4.2 编译程序的前端和后端
  • 1.4.3 编译程序的分遍
  • 1.4.4 源程序中的错误及出错处理
  • 1.5 编译程序的组织方式
  • 1.6 编译程序的其他技术
  • 1.6.1 编译程序的自展技术
  • 1.6.2 编译程序的移植技术
  • 1.6.3 编译程序的自动化技术
  • 1.6.4 程序的可再入性
  • 1.7 翻译程序的编写系统
  • 1.8 并行编译程序
  • 1.9 小结
  • 习题
  • 第2章 形式语言概论
  • 2.1 语言成分
  • 2.2 文法和语言
  • 2.2.1 产生式文法
  • 2.2.2 上下文无关文法
  • 2.2.3 推导与直接推导
  • 2.3 文法的分类
  • 2.3.1 文法分类
  • 2.3.2 文法分类的意义
  • 2.3.3 文法举例
  • 2.4 语言和语法
  • 2.4.1 句型、句子和语言
  • 2.4.2 语法树
  • 2.4.3 产生式树和产生式图
  • 2.5 文法和语言的一些特性
  • 2.5.1 无用非终结符号
  • 2.5.2 不可达文法符号
  • 2.5.3 可空非终结符
  • 2.5.4 最左推导、最右推导和规范推导
  • 2.5.5 二义性
  • 2.6 分析方法简介
  • 2.6.1 自顶向下分析方法
  • 2.6.2 确定的自顶向下分析方法
  • 2.6.3 自底向上分析方法
  • 2.6.4 文法在内存中的表示
  • 2.7 小结
  • 习题
  • 第3章 有穷自动机
  • 3.1 概述
  • 3.2 有穷自动机的定义
  • 3.2.1 状态转换表
  • 3.2.2 状态转换图
  • 3.2.3 构形和移动
  • 3.2.4 自动机的等价性
  • 3.2.5 非确定有穷自动机
  • 3.3 NDFSA到DFSA的转换
  • 3.3.1 空移环路的寻找和消除
  • 3.3.2 确定化--子集法
  • 3.3.3 确定化--造表法
  • 3.3.4 消除不可达状态
  • 3.3.5 确定有穷自动机的化简
  • 3.3.6 从化简后的DFSA到程序表示
  • 3.4 正规文法与有穷自动机
  • 3.4.1 从正规文法到FSA
  • 3.4.2 从FSA到正规文法
  • 3.5 正规表达式与FSA
  • 3.5.1 正规表达式的定义
  • 3.5.2 正规表达式到NDFSA的转换
  • 3.5.3 NDFSA M到正规表达式的转换
  • 3.5.4 从正规文法到正规表达式
  • 3.6 DFSA在计算机中的表示
  • 3.6.1 矩阵表示法
  • 3.6.2 表结构表示法
  • 3.6.3 程序表示法
  • 3.7 小结
  • 习题
  • 第4章 词法分析
  • 4.1 单词符号
  • 4.2 词法分析程序的设计
  • 4.2.1 预处理
  • 4.2.2 状态转换图
  • 4.2.3 根据状态转换图设计词法分析程序
  • 4.2.4 由正规文法设计词法分析程序
  • 4.2.5 由正规表达式设计词法分析程序
  • 4.2.6 设计词法分析程序的直接方法
  • 4.3 标识符的处理
  • 4.3.1 类型的机内表示
  • 4.3.2 标识符的语义表示
  • 4.3.3 符号表
  • 4.3.4 标识符处理的基本思想
  • 4.4 词法错误及其处理
  • 4.5 小结
  • 习题
  • 第5章 自顶向下语法分析
  • 5.1 非确定的下推自动机
  • 5.1.1 PDA的形式定义
  • 5.1.2 PDA的构形和移动
  • 5.1.3 上下文无关语言与PDA
  • 5.2 消除左递归的方法
  • 5.2.1 文法的左递归性
  • 5.2.2 用扩展的BNF表示法消除左递归
  • 5.2.3 直接改写法
  • 5.2.4 消除左递归的算法
  • 5.3 LL(k)文法
  • 5.3.1 LL(1)文法的判断条件
  • 5.3.2 集合FIRST、FOLLOW与SELECT的构造
  • 5.4 确定的LL(1)分析器的构造
  • 5.4.1 分析表M的构造算法
  • 5.4.2 LL(1)分析器的总控算法
  • 5.5 递归下降分析程序及其设计
  • 5.5.1 递归下降分析程序
  • 5.5.2 流程图设计
  • 5.5.3 程序设计
  • 5.6 小结
  • 习题
  • 第6章 自底向上分析和优先分析方法
  • 6.1 短语和句柄
  • 6.2 移进归约方法
  • 6.3 非确定的自底向上分析器
  • 6.4 有关文法的一些关系
  • 6.4.1 关系
  • 6.4.2 布尔矩阵和关系
  • 6.4.3 Warshall算法
  • 6.4.4 关系FIRST与LAST
  • 6.5 简单优先分析方法
  • 6.5.1 简单优先关系
  • 6.5.2 简单优先关系的形式化构造方法
  • 6.5.3 简单优先文法及其分析算法
  • 6.5.4 简单优先分析方法的局限性
  • 6.6 算符优先分析方法
  • 6.6.1 算符优先文法
  • 6.6.2 OPG优先关系的构造
  • 6.6.3 素短语及句型的分析
  • 6.6.4 算符优先分析算法
  • 6.7 优先函数及其构造
  • 6.7.1 Bell方法
  • 6.7.2 Floyd方法
  • 6.7.3 两种方法的比较
  • 6.8 小结
  • 习题
  • 第7章 自底向上的LR(k)分析方法
  • 7.1 LR(k)文法和LR(k)分析器
  • 7.2 LR(0)分析表的构造
  • 7.2.1 规范句型的活前缀和LR(0)项目
  • 7.2.2 拓广文法和CLOSURE(I)函数
  • 7.2.3 goto(I,X)函数和LR(0)项目集规范族
  • 7.2.4 有效项目
  • 7.2.5 举例
  • 7.2.6 LR(0)文法和构造LR(0)分析表的算法
  • 7.3 SLR分析表的构造
  • 7.4 规范LR(1)分析表的构造
  • 7.5 LALR分析表的构造
  • 7.6 无二义性规则的使用
  • 7.7 小结
  • 习题
  • 第8章 语法制导翻译法
  • 8.1 基本原理和树变换
  • 8.1.1 基本原理
  • 8.1.2 树变换
  • 8.2 简单SDTS和自顶向下翻译器
  • 8.3 简单后缀SDTS和自底向上翻译器
  • 8.3.1 后缀翻译
  • 8.3.2 条件语句的处理
  • 8.3.3 函数调用的处理
  • 8.4 抽象语法树的构造
  • 8.4.1 自底向上构造AST
  • 8.4.2 AST的拓广
  • 8.5 属性文法
  • 8.5.1 L属性文法
  • 8.5.2 S属性文法
  • 8.6 中间代码形式
  • 8.6.1 逆波兰表示法
  • 8.6.2 逆波兰表示法的推广
  • 8.6.3 四元式
  • 8.6.4 三元式
  • 8.7 属性翻译文法的应用
  • 8.7.1 综合属性与自底向上定值
  • 8.7.2 继承属性和自顶向下定值
  • 8.7.3 布尔表达式到四元式的翻译
  • 8.7.4 条件语句的翻译
  • 8.7.5 迭代语句的翻译
  • 8.8 小结
  • 习题
  • 第9章 运行时的存储组织与管理
  • 9.1 存储分配基础知识
  • 9.1.1 运行时刻的存储区域
  • 9.1.2 过程活动与过程的活动记录
  • 9.1.3 静态层次、静态外层和动态外层
  • 9.1.4 名字的作用域和生存期
  • 9.1.5 名字的静态属性和动态属性
  • 9.1.6 常见数据类型的存储分配
  • 9.2 典型的存储分配方案
  • 9.2.1 静态存储分配方案
  • 9.2.2 动态存储分配方案
  • 9.2.3 存储分配时需考虑的问题
  • 9.3 参数传递方式及其实现
  • 9.3.1 传地址
  • 9.3.2 传值
  • 9.3.3 传结果
  • 9.3.4 传名
  • 9.4 栈式存储分配
  • 9.4.1 概述
  • 9.4.2 简单栈式存储分配
  • 9.4.3 嵌套结构语言的栈式存储分配
  • 9.4.4 过程调用时的存储管理
  • 9.4.5 PL/0栈式存储分配
  • 9.5 堆式存储分配方法
  • 9.6 小结
  • 习题
  • 第10章 符号表
  • 10.1 概述
  • 10.1.1 符号表的地位与作用
  • 10.1.2 符号表的生存期
  • 10.2 符号表的内容
  • 10.3 符号表的组织
  • 10.3.1 符号表的数据结构
  • 10.3.2 符号表的内容组织
  • 10.4 栈式符号表
  • 10.4.1 栈式符号表概述
  • 10.4.2 栈式符号表举例
  • 10.5 小结
  • 习题
  • 第11章 优化
  • 11.1 控制流图
  • 11.2 常见的冗余
  • 11.2.1 公共子表达式
  • 11.2.2 复制传播
  • 11.2.3 活跃变量分析及死代码删除
  • 11.3 循环优化
  • 11.3.1 代码外提
  • 11.3.2 归纳变量与强度削弱
  • 11.3.3 循环展开
  • 11.3.4 指令调度
  • 11.4 小结
  • 习题
  • 第12章 代码生成
  • 12.1 概述
  • 12.1.1 目标代码形式
  • 12.1.2 目标代码生成的主要问题
  • 12.1.3 寄存器分配的原则
  • 12.2 PL/0抽象计算机模型
  • 12.2.1 PL/0抽象计算机的代码
  • 12.2.2 PL/0语言目标代码举例
  • 12.3 目标代码结构
  • 12.3.1 目标代码结构的设计
  • 12.3.2 常见语法成分目标代码结构设计
  • 12.4 PL/0编译程序的目标代码生成
  • 12.4.1 PL/0编译程序中的相关定义
  • 12.4.2 基本语句的翻译
  • 12.4.3 过程的翻译
  • 12.4.4 目标代码生成举例
  • 12.5 小结
  • 习题
  • 附录 PL/0编译程序源程序
  • 参考文献

资源下载

资源下载地址1:https://pan.baidu.com/s/1YrWuei3RPxbyl3TIJgPzAQ

相关资源

网友留言