软件工程习题参考答案内容摘要:

遵循哪些原则。 ① 模块的逻辑描述应清晰易读、正确可靠; ② 设计的处理过程应该简明易懂; ③ 选择恰当的描述工具来描述模块 算法。 3.简述结构化设计的特点。 ① 自顶向下、逐步求精; ② 具有单入、单出的控制结构(取消 GOTO 语句) 4. 结构化程序设计中有 哪 几种基本控制 结构。 分别 描绘在程序流程图、盒图和PDA 图中 这些基本控制 的图例。 (1) 顺序结构 (2) 选择结构 (3) 先判定型循环结构 (4) 后判定型循环结构 (5) 多情况选择 7. 试说明 ISO 为什么要建议停止使用程序流程图,而推荐使用 PDA 图。 由于程序流程图中的 GOTO 语句回严重地损害程序结构,而无法实行结构化设计。 PDA 图则 既吸取了程序流程图好学、好用、 好懂,方便、灵活的优点,又保留了 NS 图结构化设计的特点,很好地满足了软结构构设计图形工具的要求 ,以及 PDA 图所具有的 ① 结构清晰,层次分明,易读;② 支持逐步求精的设计思想;③ 容易将 PAD 自动转换为高级语言源程序 等特点,因此, ISO 要 推荐使用 PDA 图。 8. 试说明 Jackson 方法是一种怎么样的程序设计方法。 它有哪些工作步骤。 Jackson 方法 是以数据结构 (data structure)为基础设计每个模块的处理过程 ,将数据结构转化成程序结构。 具体工作步骤有: 第 1 步:用 Jackson 图描述 I\O 的数据结构 第 2 步:在两个图中指出有直接因果关系、可以同时处理的单元 第 3 步: 将数据结构映射到程序结构 第 4 步:列出所有操作条件,并分配到上幅程序结构图中 第 5 步:用 Pseudocode 表示程序 编码与测试 1.说明什么是程序编码。 为什么程序设计语言的特点和编码风格会影响到程序的可靠性、可读性、可测试性和可维护性。 所谓 “ 编码 ” ,就是将在低级抽象层次得到的详细设计结果,翻译成用某种程序设计语言书写的程序。 是软件设计的自然结果。 而程序设计语言 是否有理想 的 结构化、模块化机制,是否有可读性好的控制结构和 数 据结构等 特性 ,以及程序设计语言提供的编译、软件工具等,再加上程序 的 设计风格会很深刻的影响软件的质量和可维护性、可测试性、可靠性等。 2.用户界面设计的最一般原 则 ,即所谓 “ 黄金规则 ” 是什么。 ; ;。 3. 软件界面设计包含了哪几个方面的 基本 内容。 界面设计包括三个方面: ; ;,即用户界面。 4.用户界 面提供系统服务的方式通常有 哪两种。 命令驱动和屏幕菜单驱动 5. WIMP 界面 是 屏幕 菜单驱动 用户界面的 一种形式,其设计准则有哪些。 (1) 明确的动作:在屏幕上指点并操纵对象 (2) 即时反馈:操作结构即见 (3) 增量效应:图标应被拖曳连续移动,而非跳跃 (4) 可视交互:交互操作与用户概念模型匹配 (5) 剥皮式学习:学习系统功能复杂性逐层加深 (6) 可逆动作:也即应有退回操作 (7) 事先验证:只允许合法操作产生效果 6. 为什么说软件界面设计的质量会直接影响到用户对软件产品的评价。 用户界面 (Userinterface)又称人机界面 (manputer interface),是用户和计算机联系的中间媒介,是系统中最重要、最关键的部分之一。 用户界面设计的好坏,直接影响到系统设计的成败。 这是因为,如果一个界面设计的不好,也即通常所说的用户界面不友好,可以使用户在使用时感到不便,甚至制造麻烦,系统就难以发挥应有的效益,甚至可能被用户弃用。 7. 什么是系统响应时间。 系统响应时间有哪些重要属性。 系统响应时间指从用户完成某个控制动作,到系统给出预期响应的时间。 系统响应时间有 2 个重要的属性:长度和易变性。 8. 在设计软件系统的用户帮助设施时,需要注意解决哪些问题。 1.在用户 与系统交互期间,是否任何时候都能获得关于系统任何功能的帮助信息。 2.用户怎样请求帮助。 3.怎样显示帮助信息。 4.用户怎样返回到正常的交互方式中。 5.怎样组织帮助信息。 9. 软件出错处理设计,即软件安全性设计。 一个交互式出错处理程序应该具备哪些功能和属性。 1.信息应该使用用户可以理解的术语描述。 2.信息应该提供有助于从错误中恢复的建设性意见。 3.信息应该指出错误可能导致的后果。 4.信息应该伴随感官提示。 5.信息不能带有指责色彩。 10. 测试的最基本目标是什么。 以尽可能小的代价,发现尽可 能多的错误。 11.软件测试的原则有哪些。 ① 应当把 “ 尽早和不断的测试 ” 作为座右铭 ② 测试应由独立的专业测试机构来完成 ③ 测试工作要全面,但不可能实现 “ 穷举 ” ④ 只能尽可能查错,不能证明程序中没有错 ⑤ 软件测试符合 28(Pareto)原理 ⑥ 应妥善保存测试文档 ⑦ 制定严格、合理的测试计划 ⑧ 错误经过修改后,相关的测试必不可少 12. 软件测试的方法有哪几种。 黑盒测试和白盒测试。 13.简单说明什么是白盒测试,什么是黑盒测试。 黑盒测试是把程序看成一个黑盒子,完全不考虑程序的内部结构和 处理过程的测试方法。 黑盒测试又称功能测试。 白盒测试是对程序的执行细节进行测试,通过设计测试数据,验证程序模块的每个路径的执行情况。 白盒测试又称结构测试。 14.简述软件测试的步骤。 (1) 单元测试 —— 程序设计 amp。 代码 bugs (2) 子系统测试 —— 模块连接 (3) 系统测试 —— 需求确认 amp。 系统设计 (4) 验收测试 —— 用户加入 (5) 平行运行 —— 新旧系统比较运行结果 16. 为什么单元测试必须由编程者自己完成。 单元测试是对程序逻辑结构的测试。 而对程序结构最为熟悉的,莫过于编程者。 再者,高质量的程序模块是构造系统的基础,因此编程者 必须向下一道工序提交符合质量要求的产品。 17. 单元测试的主要手段有哪些。 代码审查、计算机测试等。 18. 单元测试主要从哪 5个方面进行。 主要测试以下五个方面: 1. 模块接口 2. 局部数据结构 3. 重要的执行通路 4. 出错处理通路 5. 边界条件 19. 为什么人工代码审查十分重要。 一次审查可发现多个错误,不必改一个测一个。 20. 集成测试主要有 渐增式测试、非渐增式测试 两种,试述两种方式的异同点。 渐增式测试:可以较早发现模块间的接 口错误、出现的错误往往跟最新加入的模块有关、在不断集成的过程中使模块不断在新的条件下受到新的检测,测试更彻底,但较非渐增式测试费时。 非渐增式测试由于最后才组装,因此错误发现得晚、发现错误后难以诊断定位,但可以同时并行测试所有模块,能充分利用人力。 21. 描述集成测试的两种策略,并比较它们的优缺点。 自顶向下测试和自底向上测试两种。 自顶向下测试 的优点是不需要测试驱。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。