软件工程导论之第六章软件编码

软件工程导论

6.第六章软件编码

  • 单选题

    1. 在编码中首先要考虑的是( )。 程序的可读性
    2. 序言性注释应置于文件或模块的( )位置。. 起始
    3. 选择程序设计语言不应该考虑的是( )。 语言的功能
    4. 最早用于科学计算的程序设计语言是( )。 FORTRAN
  • 判断题

    1. 使用括号改善表达式的清晰性。 √
    2. 尽可能对程序代码进行优化。 ×
    3. 不要进行浮点数的相等比较。 √
    4. 利用数据类型对数据值进行防范。 √
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作者:张海藩 第1章 软件工程学概述1 1.1 软件危机1 1.1.1 软件危机的介绍1 1.1.2 产生软件危机的原因3 1.1.3 消除软件危机的途径4 1.2 软件工程5 1.2.1 软件工程的介绍5 1.2.2 软件工程的基本原理7 1.2.3 软件工程方法学9 1.3 软件生命周期11 1.4 软件过程14 1.4.1 瀑布模型15 1.4.2 快速原型模型16 1.4.3 增量模型17 1.4.4 螺旋模型19 1.4.5 喷泉模型21 1.4.6 Rational统一过程22 1.4.7 敏捷过程与极限编程25 1.4.8 微软过程29 1.5 小结31 习题132 第2章 可行性研究35 2.1 可行性研究的任务35 2.2 可行性研究过程36 2.3 系统流程图38 2.3.1 符号38 2.3.2 例子38 2.3.3 分层40 2.4 数据流图40 软件工程导论目 录 2.4.1 符号40 2.4.2 例子42 2.4.3 命名44 2.4.4 用途45 2.5 数据字典47 2.5.1 数据字典的内容47 2.5.2 定义数据的方法47 2.5.3 数据字典的用途48 2.5.4 数据字典的实现49 2.6 成本/效益分析49 2.6.1 成本估计50 2.6.2 成本/效益分析的方法51 2.7 小结53 习题253 第3章 需求分析55 3.1 需求分析的任务56 3.1.1 确定对系统的综合要求56 3.1.2 分析系统的数据要求57 3.1.3 导出系统的逻辑模型58 3.1.4 修正系统开发计划58 3.2 与用户沟通获取需求的方法58 3.2.1 访谈58 3.2.2 面向数据流自顶向下求精59 3.2.3 简易的应用规格说明技术59 3.2.4 快速建立软件原型61 3.3 分析建模与规格说明62 3.3.1 分析建模62 3.3.2 软件需求规格说明62 3.4 实体-联系图62 3.4.1 数据对象63 3.4.2 属性63 3.4.3 联系63 3.4.4 实体-联系图的符号64 3.5 数据规范化64 3.6 状态转换图65 3.6.1 状态65 3.6.2 事件65 3.6.3 符号66 3.6.4 例子66 3.7 其他图形工具67 3.7.1 层次方框图68 3.7.2 Warnier图68 3.7.3 IPO图69 3.8 验证软件需求70 3.8.1 从哪些方面验证软件需求的正确性70 3.8.2 验证软件需求的方法70 3.8.3 用于需求分析的软件工具71 3.9 小结72 习题373 第4章 形式化说明技术75 4.1 概述75 4.1.1 非形式化方法的缺点75 4.1.2 形式化方法的优点76 4.1.3 应用形式化方法的准则76 4.2 有穷状态机77 4.2.1 概念77 4.2.2 例子79 4.2.3 评价82 4.3 Petri网82 4.3.1 概念82 4.3.2 例子84 4.4 Z语言85 4.4.1 简介85 4.4.2 评价88 4.5 小结88 习题489 第5章 总体设计91 5.1 设计过程91 5.2 设计原理94 5.2.1 模块化94 5.2.2 抽象95 5.2.3 逐步求精95 5.2.4 信息隐藏和局部化96 5.2.5 模块独立97 5.3 启发规则99 5.4 描绘软件结构的图形工具102 5.4.1 层次图和HIPO图102 5.4.2 结构图103 5.5 面向数据流的设计方法104 5.5.1 概念104 5.5.2 变换分析105 5.5.3 事务分析111 5.5.4 设计优化112 5.6 小结113 习题5114 第6章 详细设计117 6.1 结构程序设计117 6.2 人机界面设计119 6.2.1 设计问题119 6.2.2 设计过程121 6.2.3 人机界面设计指南122 6.3 过程设计的工具124 6.3.1 程序流程图124 6.3.2 盒图125 6.3.3 PAD图126 6.3.4 判定表127 6.3.5 判定树128 6.3.6 过程设计语言128 6.4 面向数据结构的设计方法129 6.4.1 Jackson图130 6.4.2 改进的Jackson图131 6.4.3 Jackson方法132 6.5 程序复杂程度的定量度量136 6.5.1 McCabe方法137 6.5.2 Halstead方法139 6.6 小结140 习题6140 第7章 实现145 7.1 编码146 7.1.1 选择程序设计语言146 7.1.2 编码风格147 7.2 软件测试基础149 7.2.1 软件测试的目标150 7.2.2 软件测试准则150 7.2.3 测试方法151 7.2.4 测试步骤151 7.2.5 测试阶段的信息流152 7.3 单元测试153 7.3.1 测试重点153 7.3.2 代码审查154 7.3.3 计算机测试155 7.4 集成测试156 7.4.1 自顶向下集成157 7.4.2 自底向上集成158 7.4.3 不同集成测试策略的比较159 7.4.4 回归测试160 7.5 确认测试160 7.5.1 确认测试的范围160 7.5.2 软件配置复查161 7.5.3 Alpha和Beta测试161 7.6 白盒测试技术162 7.6.1 逻辑覆盖162 7.6.2 控制结构测试165 7.7 黑盒测试技术171 7.7.1 等价划分172 7.7.2 边界值分析175 7.7.3 错误推测175 7.8 调试176 7.8.1 调试过程176 7.8.2 调试途径178 7.9 软件可靠性179 7.9.1 基本概念179 7.9.2 估算平均无故障时间的方法180 7.10 小结182 习题7183 第8章 维护189 8.1 软件维护的定义189 8.2 软件维护的特点190 8.2.1 结构化维护与非结构化维护差别巨大190 8.2.2 维护的代价高昂190 8.2.3 维护的问题很多191 8.3 软件维护过程192 8.4 软件的可维护性194 8.4.1 决定软件可维护性的因素194 8.4.2 文档195 8.4.3 可维护性复审196 8.5 预防性维护197 8.6 软件再工程过程198 8.7 小结200 习题8201 第9章 面向对象方法学引论203 9.1 面向对象方法学概述203 9.1.1 面向对象方法学的要点203 9.1.2 面向对象方法学的优点205 9.2 面向对象的概念209 9.2.1 对象209 9.2.2 其他概念211 9.3 面向对象建模215 9.4 对象模型216 9.4.1 类图的基本符号217 9.4.2 表示关系的符号218 9.5 动态模型223 9.6 功能模型224 9.6.1 用例图224 9.6.2 用例建模227 9.7 3种模型之间的关系228 9.8 小结229 习题9229 第10章 面向对象分析231 10.1 面向对象分析的基本过程231 10.1.1 概述231 10.1.2 3个子模型与5个层次232 10.2 需求陈述233 10.2.1 书写要点233 10.2.2 例子234 10.3 建立对象模型235 10.3.1 确定类与对象236 10.3.2 确定关联238 10.3.3 划分主题241 10.3.4 确定属性241 10.3.5 识别继承关系244 10.3.6 反复修改244 10.4 建立动态模型247 10.4.1 编写脚本247 10.4.2 设想用户界面248 10.4.3 画事件跟踪图249 10.4.4 画状态图250 10.4.5 审查动态模型251 10.5 建立功能模型253 10.5.1 画出基本系统模型图253 10.5.2 画出功能级数据流图254 10.5.3 描述处理框功能254 10.6 定义服务255 10.7 小结256 习题10256 第11章 面向对象设计259 11.1 面向对象设计的准则259 11.2 启发规则261 11.3 软件重用263 11.3.1 概述263 11.3.2 类构件265 11.3.3 软件重用的效益266 11.4 系统分解267 11.5 设计问题域子系统270 11.6 设计人机交互子系统273 11.7 设计任务管理子系统275 11.8 设计数据管理子系统277 11.8.1 选择数据存储管理模式277 11.8.2 设计数据管理子系统278 11.8.3 例子280 11.9 设计类中的服务280 11.9.1 确定类中应有的服务280 11.9.2 设计实现服务的方法281 11.10 设计关联282 11.11 设计优化283 11.11.1 确定优先级283 11.11.2 提高效率的几项技术284 11.11.3 调整继承关系285 11.12 小结287 习题11288 第12章 面向对象实现289 12.1 程序设计语言289 12.1.1 面向对象语言的优点289 12.1.2 面向对象语言的技术特点290 12.1.3 选择面向对象语言294 12.2 程序设计风格294 12.2.1 提高可重用性295 12.2.2 提高可扩充性297 12.2.3 提高健壮性297 12.3 测试策略298 12.3.1 面向对象的单元测试298 12.3.2 面向对象的集成测试299 12.3.3 面向对象的确认测试299 12.4 设计测试用例299 12.4.1 测试类的方法300 12.4.2 集成测试方法301 12.5 小结303 习题12304 第13章 软件项目管理305 13.1 估算软件规模305 13.1.1 代码行技术305 13.1.2 功能点技术306 13.2 工作量估算308 13.2.1 静态单变量模型308 13.2.2 动态多变量模型308 13.2.3 COCOMO2模型309 13.3 进度计划312 13.3.1 估算开发时间312 13.3.2 Gantt图314 13.3.3 工程网络315 13.3.4 估算工程进度316 13.3.5 关键路径318 13.3.6 机动时间318 13.4 人员组织320 13.4.1 民主制程序员组320 13.4.2 主程序员组321 13.4.3 现代程序员组322 13.5 质量保证324 13.5.1 软件质量324 13.5.2 软件质量保证措施326 13.6 软件配置管理328 13.6.1 软件配置329 13.6.2 软件配置管理过程329 13.7 能力成熟度模型331 13.8 小结334 习题13335 附录A C++类库管理系统的分析与设计337 A.1 面向对象分析337 A.1.1 需求337 A.1.2 建立对象模型338 A.2 面向对象设计339 A.2.1 设计类库结构339 A.2.2 设计问题域子系统340 A.2.3 设计人机交互子系统341 A.2.4 设计其他类344 附录B 一个汉字行编辑程序的设计347 B.1 设计规格说明347 B.1.1 外部编辑命令347 B.1.2 编辑命令348 B.1.3 输出信息349 B.2 概要设计350 B.2.1 正文文件350 B.2.2 两个工作模式351 B.2.3 数据元素352 B.2.4 过程353 B.3 概要设计结果353 B.4 详细设计356 B.4.1 数据元素356 B.4.2 控制数据元素357 B.4.3 编辑过程357 B.4.4 输入模式的过程359 B.4.5 编辑模式的过程360 B.5 详细设计结果364 B.5.1 编辑程序的详细结构364 B.5.2 类PASCAL伪码365 B.5.3 实现编辑程序的算法367
软件开发报告 项目名称:图书馆查询借阅系统 组 员: 专 业: 指导老师 第一部分 可行性研究报告 软件开发报告 1 第一部分 可行性研究报告 2 1.1.引言 4 1.2.可行性研究的前提 5 1.3.对现有系统的分析 7 1.4.所建议技术可行性分析 8 1.5.所建议系统经济可行性分析 10 1.6.社会因素可行性分析 11 1.7.结论意见 11 第二部分 需求分析 2.1 编写目的 12 2.2 用户需求分析 12 2.3 功能需求分析 12 2.4 分析各个子系统的功能需求 14 2.5 系统运行要求 16 2.6 非功能需求分析 17 第三部分 概要设计 3.1.引言 17 3.2.任务概述 17 3.3.总体设计 21 3.4.接口设计 23 3.5.数据结构设计 24 3.6.运行设计 25 3.7.出错处理设计 25 3.8.安全保密设计 26 3.9.维护设计 26 第四部分 详细设计 4.1 引言 26 4.2 总体设计 26 4.3 程序描述 26 4.4 程序复杂程度的定量度量 31 第五部分 测试报告 5.1引言 34 5.2任务概述 34 5.3计划 35 5.4测试项目说明 35 5.5评价 36 第一部分 可行性研究报告 1.1 引言 1.1.1 编写目的 当今是数字化、网络化的时代。图书馆是学校的文献信息中心,是学校信息化的重要 基地。图书馆的工作是学校教学和科学研究工作的重要组成部分,是全校师生学习和研 究的重要场所。为了更好地适应这种网络数字化信息的环境,一种成功的跟踪最新技术 ,充分利用软硬件资源,扎根于准、新、全数字资源的"图书馆管理信息系统"已孕育而 生。 另外,由于图书馆陈旧的管理手段给读者和图书馆管理员带来的很多操作上的不方便 ,同时为了提高工作效率、服务质量和管理水平,并使图书馆管理人员从繁琐的工作中 解脱出来,因此开发该系统具有非常重要意义。 1.1.2 项目背景 建议开发软件名称:图书馆图书查询借阅管理系统 项目提出者:图书馆 开发者:施秀霞 陈薇薇 吴观萍 周玲 用户:读者、管理员 实现软件的单位:福建工程学院 1.1.3 定义 该图书馆管理信息系统是基于Internet/Intranet 及Web技术,建立以Browser/Server 为结构模式、以数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加 工整序和管理维护,为教学和科学研究提供文献信息保障和提高管理图书的效率而设计 的系统。 1.1.4 参考资料 教材 : 《软件工程导论》(第四版) 张海藩编著,清华大学出版社,2006年10月版,北京 查阅资料: (1)、可行性分析报告参考文献: http://www.doc88.com/p-083372493479.html http://wenku.baidu.com/view/3f990a00b52acfc789ebc95a.html (2)、需求分析报告参考文献: 《图书管理系统需求分析报告》 系统开发小组 郑州航院信息统计职业学院 http://www.doc88.com/p-605926677790.html (3)、概要设计报考参考: http://www.doc88.com/p-737752877588.html (4)详细设计报告参考文献: http://wenku.baidu.com/view/d3ee9a40be1e650e52ea99e8.html (5)测试报告参考文献: http://wenku.baidu.com/view/bffef17b5acfa1c7aa00ccb0.html 类似项目项目开发报告: 《图书馆管理系统需求分析报告》 作者:葛东之 北京联合大学 2012年3月1日 1.2 可行性研究的前提 1.2.1 要求 功能: 1.新书入库。 2.借还书籍处理(每人限借书5本)。 3.按分类、书名、作者、ISBN号、出版年、主题词、书名内关 键词等查询书籍信息。 4.书籍损坏丢失处罚处理。 5.公布借书超期读者名单(借书期限为30天)。 6.显示图书室的规章制度、有关系统等信息。 性能:能运行良好 输入:用户名称、图书编码 输出:用户信息、图书信息 基本的数据流程和处理流程: 图1.1 顶层数据流图 图1.2 一层数据流图 安全与保密要求:馆中所有未借出的书籍能够供用户随时查阅,用户信息只能被系统管 理员查阅,修改; 完成期限:2015年12月 1.2.2 目标 a. 人力与设备费用的节省; b. 处理速度的提高; c. 减少操作出错; d. 管理信息服务的改进; e. 决策系统的改进; f. 人员工作效率的提高 1.2.3 条件、假定和限制 1.系统运行寿命的最小值:4年 2.进行系统方案选择比较时间:10天 3.经

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值