第3章   需求分析  课后习题参考答案

一、选择题

(1)进行需求分析可使用多种工具,但(B)是不适用的。

A.数据流图

B.PAD

C.状态转换图

D.数据字典

(2)E-R图中,包含(D)等基本成分。

A.数据、对象、实体

C.实体、关系、控制

B.控制、关系、对象

D.实体、属性、关系

(3)软件规格说明书的内容不应该包括(B)。

A.对重要功能的描述

B.对算法的详细描述

C.对数据的要求

D.实体、属性、关系

(4)结构化需求分析方法的基本思想是(B)。

A.自底向上逐步分解

B.自顶向下逐步分解

C.自底向上逐步抽象

D.自顶向下逐步抽象

(5)软件中的问题发生在(B)阶段,修复成本最低。

A.软件维护阶段

B.软件测试阶段

C.软件实现阶段

D.需求分析阶段

ニ、简答题

(1)需求分析的步骤有哪些?

需求分析需要4个步骤,分别获取、建模、描述和验证。获取需求实质上是一个需求收集的过程,要做充分的调查研究。通常是从分析当前系统包含的数据开始,分析当前系统在处理信息时的不足,用户希望改进的主要问题及迫切性等。收集需求的常用方法有问卷调查、访谈、实地操作、建立原型等,收集的需求主要包括功能需求、性能需求、可靠性需求、可用性、人机界面需求、约束、出错处理等内容。需求分析的核心任务是建立分析模型,即把来自用户的需求信息通过分析、提取、归纳、抽象建立起描述目标系统的模型。传统的面向过程的软件工程方法学,主要采用数据流图建立目标系统的逻辑模型。需求描述是指编制需求分析阶段各类文档。一般情况下,对于大型、复杂软件系统在需求分析阶段会产生3个文档:系统定义文档(用于描述用户需求的报告)、系统需求规格说明书、软件需求规格说明书,分别从不同的角度和层次描述项目开发的需求。对于简单的小规模软件系统,只需编制SRS即可。因为需求分析的成果是后续开发的重要依据和基础,为了提高软件产品的最终质量,降低开发成本,必须对需求分析结果从完整性、一致性、有效性和现实性4个方面进行严格的正确性验证,并且要对需求的变更实施可回溯的管理,避免无法追踪错误来源导致的混乱。

(2)需求分析的基本任务是什么?

包括6个方面:确定对系统的综合要去;分析系统的数据需求;建立系统的逻辑模型;修订系统开发计划;编写软件需求规格说明书;需求分析评审。

(3)什么是结构化分析方法?它的具体做法是什么?

结构化分析方法采用归纳思维和演绎思维的逻辑方法,逐步建立目标系统的逻辑模型(包括数据模型、功能模型和行为模型),进而描绘出满足用户要求的软件系统。

结构化需求分析方法基于“分解“和”抽象“的基本指导思想,采用面向数据流自顶向下逐步求精的分析策略,逐步建立目标系统的逻辑模型。

“分解“是面对一个复杂系统时,为了将复杂性降低到人类认知能力可以掌握的程度,而把一个大系统(问题)分解成若干个小问题,然后分别解决。

需求分析的目标之一是把数据流图中的数据流和数据存储分解定义到元素级。通常做法是从数据流图的输出端着手分析,这是因为输出数据决定了系统必须具有的最基本的组成元素(即功能)。

具体做法是,沿着数据流图从输出端往输入端回溯,以确定每个数据元素的来源,与此同时也就初步定义了有关的算法。通常把分析过程中得到的数据元素的信息定义成数据字典,对算法的简明描述记录在IPO表中。通过分析而补充的数据流、数据存储和处理,应该添加到数据流图的适当位置。复查的过程是从输入端开始,向用户解释输入的数据是经过怎样的处理一步步变成了输出数据。反复经过上述过程,把数据流图“分解“扩展到更低(即更详细)的层次,从而得到更具体、更令人满意的功能性需求的了解。

(4)怎样用简易规格说明技术获取需求?

首先进行初步访谈,通过用户对基本问题的回答,初步确定待解决问题的范围和解决方案。然后开发者和用户分别写出“产品需求”。

定会议的时间和地点以及主持会议的协调人。邀请双方的代表出席会议,并在会前预先把写好的产品需求分发给每一位与会者。

要去每位与会者会前认真审查产品需求,并列出作为系统环境组成的部分对象、系统将产生的对象以及系统为了完成自己的功能将使用的对象。此外,还要求每位与会者列出操作这些对象或与这些对象交互的服务(即处理或功能)。最后还应该列出约束条件(例如成本、规模、完成日期)和性能标准(例如速度、容量)。并不希望每位与会者列出的内容毫无遗漏,但求能够获得对目标系统准确的认识。

会议开始后,讨论的第一个问题是是否需要这个新产品,一旦大家都同意确实需要这个新产品,每位与会者则把他们会前准备好的列表展示出来供大家讨论。在这个阶段,严格禁止批评和争论,以免影响每位与会者深入交流的意愿。

在讨论的基础上,大家一起共同创建一张包含各个议题的组合列表。调整后的组合列表并不真正删除某项内容。在每个议题的组合列表都建立起来后,在由协调人主持讨论这些列表,以形成每个议题都达到意见一致的局面。

一旦得到了意见一致的列表,就把与会者分成更小的小组,针对每张列表中的项目制定小型规格说明(需要对列表中包含的单词或短语进行准确的说明)。

然后,每个小组向全体与会者展示他们制定的小型规格说明,供大家讨论。意见一致后,每个与会者都制定一整套确认标准,并把自己制定的标准再次提交会议讨论,以创建出意见一致的确认标准。最后,有一名或多名与会者根据会议成果起草完整的软件规格说明书。

三、应用题

(1)银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人的姓名、住址、电话、身份证号、存款类别、存款日期、到期日期、利率及密码,并打印出存款单给用户;如果是取款业务而且存款时留有密码,则系统首先核对密码,若密码正确,则系统计算利息并打印出利息清单给储户。

用数据流图建立该系统的功能模型,并用E-R图描述系统中的数据对象。

描绘本系统功能的数据流图如图所示。

描绘本系统数据模型的E-R图如下:

(2)考虑一个修改磁带上主文件的系统。文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息顺序排列好。然后系统逐个读入主文件上的记录,根据记录上的校验码校核每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在磁盘上。最后,系统输出一份修改报告供文件管理员参阅。

请画出上述主文件修改系统的功能级数据流图。

《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第三章课后习题参考答案相关推荐

  1. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第四章课后习题参考答案

    第4章   总体设计  课后习题参考答案 一.选择题(单选或多选) (1)面向数据流的软件设计方法中,一般将信息流分为(A). A.变换流和事务流 B.变换流和控制流 C.事务流和控制流 D.数据流和 ...

  2. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第六章课后习题参考答案

    第6章   软件编码和测试  课后习题参考答案 一.选择题 (1)为了提高测试的效率,应该(D). A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 ...

  3. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第五章课后习题参考答案

    第5章   总详细设计  课后习题参考答案 一.填空题 (1)结构化程序设计方法的要点是使用 顺序.选择和循环 结构,自顶向下.逐步求精地构造算法或程序 (2)为了产生结构化的流程图,应由三种基本控制 ...

  4. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第七章课后习题参考答案

    第7章   软件维护  课后习题参考答案 简答题 (1)面向缺陷维护的内容是什么? 答:面向缺陷维护(程序级维护):软件产品能够正常运转,可以满足用户的功能.性能.接口需求,只是个别地方存在缺陷,使用 ...

  5. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第八章课后习题参考答案

    第八章  面向对象技术与UML   课后习题参考答案 一.单项选择题 D (2)C (3)B (4)D (5)C (6)B (7)A (8)C(9)A (10)D (11)A (12)C (13)C ...

  6. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第二章课后习题参考答案

    第2章  软件问题定义及可行性分析 课后习题参考答案 一.填空题 (1)可行性研究的目的是 用最小的代价在尽可能短的时间内确定问题是否能够解决. (2)经济可行性研究范围包括 投资效益分析 .公司经营 ...

  7. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第九章课后习题参考答案

    第9章   面向对象分析  课后习题参考答案 一.选择题 (1)(C)不是对象具有的特性. A.标 B.继承 C.顺序 D.多态性 (2)封装是把对象的(A)结合在一起,组成一个独立的对象. A.属性 ...

  8. Matlab程序设计与应用(第3版,刘卫国主编)课后习题参考答案

    Matlab程序设计与应用(第3版,刘卫国主编)课后习题参考答案 MATLAB程序设计与应用(第3版,刘卫国著)  习题答案资源 下载地址: Github下载: https://github.com/ ...

  9. 数据库系统概念原书第六版黑皮书第一章课后习题作业答案

    文章目录 1.8列出文件处理系统和DBMS之间的四个显著区别. 1.9 解释物理数据独立性的概念,以及它在数据库系统中的重要性. 1.10 列出数据库管理系统的五个职责.对每个职责,说明当它不能被履行 ...

最新文章

  1. mysql 集群 增加服务器_MYSQL集群服务配置
  2. python语言创意绘画-齐齐哈尔富裕高校邦数据科学通识课【Python基础语法】答案...
  3. Spring Boot - 构建数据访问层
  4. Jedis干什么用的
  5. easyexcel根据模板写入_ProxmoxVE 之 创建win10基础镜像模板
  6. python标准库之logging
  7. ORACLE 查看有多个执行计划的SQL语句
  8. 深入理解 switch....case 中的case
  9. gae mysql_国内几大云服务引擎 BAE、SAE 与 GAE 优劣对比
  10. 2018年最新电子科技大学TCP/IP协议原理(杨宁)CSF视频教程42讲
  11. flannel 介绍(UTP、VXLAN、Host Gateway模式详解)
  12. POLYWORKS案例:MTU航空发动机 - 最前沿的机翼检测技术
  13. 【华为OD机试真题 JS】IPv4地址转换成整数
  14. Echarts-----map(单独省级地图)
  15. 超链接 番茄札记 html,番茄学习法笔记以及初始尝试
  16. SVN Tortoise小乌龟在repo-browser上右键删除了文件目录 回滚解决办法
  17. OMRON NJ501-1520真实项目程序 欧姆龙NJ做的程序27轴+110个气缸+1个机械手
  18. devops工具-Ansible进阶playbookroles
  19. Frammer X for Mac(视频截图软件)
  20. 单片机多功能电子琴课设_基于单片机的电子琴设计(最终版)最新版

热门文章

  1. 手机设计中的软件和硬件
  2. idea连接mysql数据库报java.lang.RuntimeException: com.mysql.cj.exceptions.InvalidConnectionAttributeExcepti
  3. 江苏大学2020计算机考研,江苏大学2020年硕士研究生复试时间及主要安排
  4. 阿里云、腾讯云、百度云、京东云、华为云、盛大云、ucloud等云平台各自的优势是什么?
  5. 谷歌、亚马逊、阿里纷纷入局,边缘计算的潜力如何?
  6. android知识框架思维导图
  7. Unity 角色血条
  8. Komorebi的数学课
  9. 中国石油大学(北京)-《 网页设计与网站建设 》-答案
  10. 用混音软件制作带背景音乐的朗读文件