习题2答案: ⒈选择题 ⑴软件需求分析阶段的工作,可以分为以下四个方面:对问题的识别、分析与综合、(B)以及(C)。 供选择的答案: A功能的确定 C需求分析评审 B编写需求分析文档 D以上答案都不对 ⑵在结构化分析方法中,用以表达系统内部数据的运动情况的工具有(A) A数据词典 C判定树 B判定表 D数据流图 ⑶在结构化分析方法中,用STD表达系统或对象的行为,在STD中,由一个状态和一个事件所决定的下一个状态可能会有(C)个。 A1 C多个 B2 D不确定
⑷在结构化分析方法中,用ERD表达系统中的对象及其关系。在ERD中,表达对象的实例之间的关联有三种类型,一对一联系、(B)联系、多对多联系。 A多对一 B一对多 ⑸软件需求分析的任务不应该包括(A)。进行需求分析可使用多种工具,但(B)是不适用的。在需求分析中,分析员应从用户那里解决的最重要的问题是(C)。需求规格说明书的内容不应该包括(D)。该文档在软件开发中具有重要的作用,但其作用不应当包括(E)。 供选择的答案: A: ①问题识别 ③数据分析 ②结构化程序设计 ④确定逻辑模型 B: ①数据流图 ③PAD ②判定表 ④数据词典
答案: A: ② B: ③ C: ① D: ② E: ④ C: ①软件要“做什么” ③软件“怎么做” ②软件应采取什么结构 ④软件设计算法的详细描述 D: ①对重要功能的描述 ③软件确认准则 ②对算法的过程性描述 ④软件的性能 E:①软件设计的依据 ②用户和开发人员对软件要“做什么”的共同理解。 ③软件验收的依据 ④软件的性能 答案: A: ② B: ③ C: ① D: ② E: ④
⑹在第四节的实例“考务处理系统”中,只分析了顶层数据流图和第一层数据流图,下面是考务处理系统的第二层数据流图,观察流图2-15之后分析问题。 ⅰ在图2-15 的(a)图中,加工1.1的输入数据流是(A),输出数据流是(B);图2-11 中,加工2统计成绩的输出数据流是(C),它由(D)和(E)组成。 供选择的答案: A~E:①统计分析表 ④考生通知单 ⑦错误成绩表 ②报名表 ⑤合格报名表 ⑧分类统计表 ③准考证 ⑥难度分析表 答案:A: ② B: ⑤ C: ① D: ⑥ E: ⑧
ⅱ在图2-15(b)图中,文件“试题得分表”是否在图2-10中漏掉了?回答是(F)。 供选择的答案: F:①“试题得分表”没有在图2-10中画出,是错误的。 ②“试题得分表”是图2-15(b)中加工的内部文件,不必在图2-10中画出。 ③“试题得分表”是多余的。 答案:F: ②
⒉判断题(从下列的叙述中选出5条正确的叙述)。 ⑴结构化程序设计是需求分析阶段所采用的技术。(F) ⑵需求分析规格说明书不能成为可行性研究的依据。(T) ⑶软件需求分析阶段确定软件系统要“做什么”。(T) ⑷数据流图是描述数据流的传递和变换的动态结构。(T) ⑸需求分析员可以参加最后的需求评审工作。(F) ⑹数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。(T) ⑺画数据流时可以加少量的控制流,使加工之间有时序的关系。(F) ⑻用自然语言描述软件需求规格说明书可以消除叙述的歧义性问题。(F) ⑼数据流图按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。(T) ⑽STD可以用于系统的数据建模。(F)
⒊建模题 ⑴[问题陈述] 以下是一个“教育基金会的捐助资金管理系统”,要求如下: ① 由捐助者向基金会提出捐助请求,经身份确认后被接受,对捐助人进行登记并授予捐助证书,捐款存入银行。 ② 由教育单位提出用款请求,在进行相应的合法性检验和核对相应的捐款储备后做出支出。 ③ 每月给基金会的理事会一份财政状况报告,列出本月的收入和支出情况以及资金余额。 ⅰ请画出基金会资金管理系统的顶层数据流图。 ⅱ请写出顶层DFD的数据词典。
ⅰ请画出基金会资金管理系统的顶层数据流图。 捐助请求 捐助资金 管理系统 支出捐款 捐助者 教育单位 捐助证书 用款请求 财政报告 基金理事会
ⅱ请写出顶层DFD的数据词典。 捐助者=姓名+年龄+职业+单位+联系电话 教育单位=单位名称+地址+联系电话+上级单位名称 基金理事会=成员1+成员2+成员3+……
⑵[问题陈述] 在要建立的某库房简化的信息管理系统中,库房管理员负责: ① 当新的货物需要入库时,根据入库单(品名、编号、生产厂家、数量、单价、日期)录入物品信息。 ② 当接到出库单(品名、编号、数量、日期)时,进行数量上的修改。 ③ 在日结时,打印库房商品库存清单(品名、编号、库存量、库存余额) 库房主任负责: ① 按物品编号查询该物品的库存金额。 ② 年终打印库存金额及各种物品库存情况表(品名、编号、库存量、库存金额)。 请用结构化分析方法给出: ⅰ该系统的顶层DFD。 ⅱ顶层DFD的数据词典。 ⅲ最后可用的DFD。
ⅰ该系统的顶层DFD。 库房主任 物品编号 年终打印请求 入库单 当日库存清单 库房管理员 库房管理系统 库房管理员 出库单 各种物品库存情况表 库存金额 年终库存金额 日结请求 库房主任
ⅱ顶层DFD的数据词典。 入库单=品名+编号+生产厂家+数量+单价+日期 出库单=品名+编号+数量+日期 库存清单=品名+编号+库存量+库存余额 年终库存情况表=品名+编号+库存量+库存金额
ⅲ最后可用的DFD。 举例说明如下: 入库 物品编号 出库 入出库管理 查询统计 年终打印请求 当日库存清单 日结请求 年终库存金额 库存金额 库存表 年终的库存情况表
⒋问答题 ⑴软件需求分析是软件工程过程中交换意见最频繁的步骤。为什么交换意见的途径会经常阻塞? 分析员与领域专家交流的过程中,容易产生误解,造成交流的障碍。例如,如果要建立一个医疗机构的信息系统,领域专家,也就是医生在陈述问题时,不可避免地使用专业术语,如果分析员缺乏这个领域的知识,就很容易造成交流的障碍。 大型系统有时会有不同的用户群体,他们往往会提出相互矛盾的要求,分析员要寻求令所有用户满意的答案很难。 需求永远不会稳定。系统工程环境一旦改变,用户对软件的需求也会改变,而且这种需求往往无法预测。 ⑵你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。 具有良好的书面和口头表达能力,善于听取他人的意见。 善于进行抽象思维,并能把头脑中抽象的概念转换为简洁、清晰的书面描述。 具有开发大型复杂系统的开发经验,熟练掌握计算机硬件、软件的专业知识。
⑶可行性研究主要研究哪些问题?试说明之。 ⒈经济可行性 进行软件开发的成本—效益分析,从经济的角度判断系统的经济效益是否超过它的开发成本。 ⒉技术可行性 从软件开发者的技术实力、问题的复杂程度等方面来考虑现有的技术能否实现整个系统。 ⒊操作可行性 整个系统的操作方式在软件开发的过程中是否可行。 ⒋方案的选择 反复比较各种方案的成本、效益,选择一种切实可行的方案。
⑷数据流图的作用是什么?它有哪些基本成分? 数据流图是一种最常用的结构化分析工具,它从数据传递和加工的角度,以图形的方式刻画系统内数据的运动情况。数据流图描述数据在系统中如何被传送或变换,并描述对数据流进行变换的功能。因此,数据流图既表示了系统内部信息的流向,又表示了系统逻辑处理的功能。 表示对数据的加工处理,输入数据在此变换产生输出数据。 其中注明加工的名字。 表示数据输入的源点或输出的汇点。注明源点或汇点的名字。 一个命名的向量表示数据流,箭头的起点和终点分别表示 数据流的源和目标。 表示数据的存储,用名词或名词性短语命名。
⑸数据词典的作用是什么?它有哪些基本词条? 数据流图和数据词典一起构成系统的逻辑模型。 数据词典精确地、严格地定义了每个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。 在数据词典的每个词条中应包含如下信息: 名称;别名或编号;分类:数据流、加工、数据存储、数据对象、外部实体、控制项; 描述;何处使用。
⑹软件需求规格说明书包括哪些内容? 软件需求说明书的编制是为了使用用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下: ⑴引言 ①编写目的。说明编写这份软件需求说明书的目的,指出预期的读者。 ②背景。 ③定义。列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 ④参考资料。列出用得着的参考资料,包含内容如下: ⑵任务概述 叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。 ⑶需求规定 ①对功能的规定 ②对性能的规定 ③输人输出要求 ④数据管理能力要求 ⑤故障处理要求 ⑥其他专门要求 ⑷运行环境规定