《软件工程教程》(第2版)主编:吴迪 马宏茹 丁万宁 电子科技大学出版社

目录

一、选择题

ニ、简答题

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

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

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

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

三、应用题


一、选择题

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

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

软件工程教程:第3章需求分析 课后习题相关推荐

  1. 创建android程序时 默认使用布局是,《Android移动应用基础教程》中国铁道出版社课后习题(附答案)...

    <Android移动应用基础教程>中国铁道出版社课后习题(附答案) 第2章Android UI开发 一.填空题 1.Android中的布局分为6种,分别是RelativeLayout.Li ...

  2. 大学物理学(第5版)下(第14章)课后习题答案

    大学物理学(第5版)下 第9章 静电场 课后习题答案    第10章 稳恒磁场   课后习题答案      第11章 变化的电磁场   课后习题答案  第12章 光的干涉   课后习题答案  第13章 ...

  3. 简单线性回归问题——线性模型【蒙哥马利】第二章部分课后习题代码

    利用R语言求解线性模型中的简单线性回归问题,涉及: 关于直线的拟合.估计相关系数.检验对某个系数的假设.求解置信区间.求解预测带.求解是否存在显著关系.相关图形的构造:以及对模型结果的解释与分析. 以 ...

  4. 浙大版《C语言程序设计》第四版(何钦铭颜晖) 第9章 结构 课后习题答案

    浙大版<C语言程序设计>第四版(何钦铭颜晖) 第9章 结构 课后习题答案 你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解,还可 ...

  5. 软件工程教程:第4章总体设计 课后习题

    <软件工程教程>(第2版)主编:吴迪 马宏茹 丁万宁 电子科技大学出版社 目录 一.选择题(单选或多选) 二.简答题 (1)总体设计的主要目的和任务是什么? (2)典型情况下,总体设计有哪 ...

  6. 第三章 数据链路层[课后习题+练习题]

    第三章 课后习题 [3-02]数据链路层中的链路控制包括哪些功能?试讨论把数据链路层做成可靠的链路层有哪些优点和缺点. 链路控制的主要功能有三:(1)封装成帧;(2)透明传输;(3)差错检测. 数据链 ...

  7. 《Python语言程序设计》王恺 王志 机械工业出版社 第三章 函数 课后习题答案

    3.7 课后习题 (1)在Python语言中,使用函数分为两个步骤:定义函数和调用函数 (2)在Python语言中,函数定义需要使用def关键字 (3)形参是在定义函数时函数后面的一对小括号中给出的参 ...

  8. 《Python语言程序设计》王恺 王志 机械工业出版社 第四章 面向对象 课后习题答案

    4.5 课后习题 (1)类和对象的关系即数据类型与变量的关系,类规定了可以用于存储什么数据,而对象用于实际存储数据,每个对象可存储不同的数据 (2)类中包含属性和方法.属性对应一个类可用来保存哪些数据 ...

  9. 疯狂java讲义第16章多线程课后习题答案

    课后习题p779 1. 2. 练习书上例子并说明它的用意 补充习题 1.尝试使用Android Studio的单步调试功能. 2.说出线程池和连接池的区别和联系 3.使用继承Thread的方法创建两个 ...

  10. 计算机网络第七版(谢希仁教授著)第四章: 网络层课后习题部分详细答案

    第4章网络层课后答案 (1).4-01 P195 网络层向上提供的服务有哪两种?试比较优缺点. 虚电路服务和数据报服务 P115 (2).4-02 P195 作为中间设备,转发器.网桥.路由器和网关有 ...

最新文章

  1. 特征交互(Feature Interaction)及多项式特征(PolynomialFeatures)
  2. Codeforces Round #582 (Div. 3)
  3. 重磅!深度学习圣经“花书”核心笔记、代码发布
  4. Three.js入门
  5. JS 中 Map 与 JSON 转换
  6. 如何通过自动增加索引,实现数据库查询耗时降低50%?
  7. 调用图像_本地图像的保存和调用
  8. Android开发笔记(六十四)网页加载与JS调用
  9. 【Python笔记】正则表达式
  10. ip地址、域名、DNS、URL(即网址)的区别与联系
  11. java expression 强制出现_Java中带有强制括号对的单行循环
  12. Linux实时查看日志,访问前10IP 和相关命令
  13. 【Django 2021年最新版教程5】前端传递数据到后端处理 GET 方法
  14. 从MSDN我告诉你下载镜像
  15. 九阴真经 正在获取服务器列表信息,九阴真经4月9日更新内容介绍_九阴真经4月9日更新公告_飞翔教程...
  16. 如何删除电脑上卸载软件的残留文件,清理软件残留?
  17. 大数据测试指标(一)
  18. mysql root密码过期了_MYSQL 密码过期解决办法
  19. 概率论:数理统计基本概念——三大分布
  20. 从键盘输入一行英文字符串,只统计字符串中出现的每个英文字母的个数。

热门文章

  1. DeepLearning[花书] 参考资料
  2. 几个轻巧好用的代码检查工具!代码不在坏味道
  3. 37种传感器(四)之光敏电阻传感器模块+Stduino NanoUNO
  4. 自媒体图文、视频素材网站哪里找?这些非常好用
  5. bartend无法自动打印的问题
  6. 安川机器人位置变量要素_安川机器人位置型变量操作方法详细步骤解析
  7. 蓝牙耳机的两种通讯协议及奥秘
  8. 没有USB 如何通过adb连接手机设备
  9. 解决edge浏览器中idm插件不能自动捕捉下载链接的问题
  10. 【深度学习】基于PyTorch搭建ResNet18、ResNet34、ResNet50、ResNet101、ResNet152网络