软件需求分析-数据流图
- 格式:ppt
- 大小:814.00 KB
- 文档页数:19
数据流图实验报告篇一:软件工程实验报告篇二:需求分析实验报告软件工程实践报告计科12—1班杨光敏08123234(一)软件需求分析1.实验目的学习图形工具软件VISIO,掌握结构化需求分析方法,熟练绘制数据流图;学习快速原型工具的使用。
2.基本要求(1)针对银行ATM系统进行需求分析工作,了解银行ATM系统的功能、流程;(2)安装VISIOXX以上版本软件,熟练应用Visio绘制DFD图,绘制银行ATM系统数据流图,完成系统的软件逻辑模型;(3)安装Axure RP Pro 或者Balsamiq Mockups快速原型软件,学习绘制软件原型,完成银行ATM系统的软件原型。
3.系统概述(1)ATM系统为银行提供一套高效稳定可靠的终端服务平台,为储户登录,存款,取款,查询,打印凭条,转账,修改密码等操作提供便利。
图1 ATM工作流程(2).用户特点本软件的用户主要是银行的广大持卡人,大多都具有使用ATM经验。
另外,我们的系统要实现的一个重要目标就是当储户取钱出现故障时能在下笔业务进行之前自动恢复。
以此来方便用户和保障用户的利益。
本系统还为用户提供了足够的界面友好性和易操作性。
即使是一个对ATM系统完全陌生的客户,也可以在交易界面的提示下顺利完成交易。
另外一部分的用户是银行工作人员,本系统不予考虑。
4需求说明(1) 基本描述ATM终端可以接受一张可识别的银行储蓄卡,通过储户身份验证后,同储户进行各种交互,例如:查询、存款、取款、打印凭条等;处理储户相应的要求,执行对应操作,为储户服务。
该系统要求须保持一定时间内的交易记录,系统应每天自动汇总各种交易数据与服务器进行对账。
同时,在通讯失败或其他交易结果不确定的情况下,ATM要自动发起冲正交易,以保证账务的完整性。
本系统的实现需要记录一些相关信息,其中包括的信息有:用户信息和交易信息。
(2)交易信息卡信息:卡号,账号,密码,卡类型,卡金额ATM信息:ATM编号,ATM余额,交易流水信息:交易类型,交易代码,账号,交易时间(3)用例需求分析根据需求,做如下用例设计,在给出ATM系统需求用例图之后,我们将对各个用例逐一进行介绍。
软件需求分析中的数据流图技术在软件开发过程中,需求分析是至关重要的一个阶段。
在这个阶段,需求工程师们需要与客户沟通交流,确定软件的功能和需求,进而对这些需求进行分析和设计,以确定软件系统的架构和设计方案。
而在需求分析中,数据流图技术的应用则是不可或缺的一环。
数据流图,即DFD(Data Flow Diagram),是一种图表化的表示法,用来描述信息之间的流动和处理过程。
数据流图是一种清晰、简洁、易懂的图形化分析工具,能够帮助需求工程师们深入了解软件的运行机制,从而为之后的设计和编码工作提供有力支持。
数据流图有四个级别:0 级数据流图:简答的概括整个系统。
1 级数据流图:对0 级数据流图的部分功能进行了详细的分解。
2 级数据流图:对 1 级数据流图的某些部分继续分解,表示更精细的范围。
3 级数据流图:对 2 级数据流图的某些部分继续分解,能表现出系统更加底层的细节。
数据流图可以被视为一种模型,通过模型化数据流的过程,将复杂的数据流处理过程简化为一系列的图形化流程图,为软件系统的需求分析和设计提供了基础。
在数据流图中,各种流动的数据都被标识为箭头,同时箭头顶部所表示的数据也被称为处理数据。
而在数据流图中,还可以划分出各种不同类型的处理函数,如输入处理、输出处理、存储处理、转换处理等。
不过在实际的软件开发过程中,使用数据流图进行需求分析时,还需要注意以下几点:1. 数据流图应该与需求规格说明书相互协调,有一个统一的标准。
2. 数据流图应该有明确的输入和输出,且每一个输入和输出都有明确的内容。
3. 数据流图应该清楚地表达处理逻辑,要划分出各种不同的处理过程,并标明它们的输入和输出。
4. 数据流图应该有清晰的层次结构,分级分层地进行分析和设计。
综上所述,数据流图技术在软件需求分析中的应用是非常重要的。
通过数据流图的建模,可以使得软件开发的过程更为明确和规范,减少开发中的错误,提高软件开发的效率,从而为软件开发过程保驾护航。
1、欲开发一系统,如果客户不能完整描述他们的需求,则开发过程最适合采用(50)。
(50)A.原型模型 B.瀑布模型 C.V模型 D.螺旋模型2、数据流图包含的成分有(51)。
(51)A. 关系、实体和属性 B. 数据流、加工和数据存储C. 数据流、数据源和数据实体D. 数据流、属性、数据存储和加工3、在软件开发的各个阶段中,对软件开发成败影响最大的是(54)。
(54)A. 需求分析B. 概要设计C. 详细设计D. 编码4、关于数据流图中加工的命名规则,正确的是(48)。
(48)A. 加工的名字要说明对数据进行的处理和算法B. 加工的名字要说明被加工的数据以及产生的结果C. 加工的名字既要说明被加工的数据,又要说明对数据的处理D. 加工的名字应该与输出结果一致5、数据流图的作用是(50)。
(50)A. 描述数据对象之间的关系 B. 描述对数据的处理流程C. 说明将要出现的逻辑判定D. 指明系统对外部事件的反应6、采用结构化方法开发软件时,常使用数据流图来描述系统数据处理过程,它是(53)阶段产生的。
(53)A. 系统分析 B. 概要设计 C. 详细设计 D. 编码7、结构化分析方法(SA)采用“自顶向下,逐层分解”的开发策略,其需求分析的结果中不包括(50)。
(50)A. 一套分层的数据流图 B. 一本数据字典C. 一组加工逻辑D. 一组用户界面8、软件需求分析阶段要进行问题识别、分析与综合等几方面的工作,其中问题识别是双方确定对问题的综合需求,包括功能需求、(53)及用户界面需求等内容。
(53)A. 性能需求、经费需求 B. 环境需求、人员需求C. 人员需求、经费需求D. 性能需求、环境需求9、在数据流图(DFD)中,顶层数据流图仅包含一个(50)。
(50)A.数据处理B.数据存储C.数据流D.数据源或者数据汇点10、待开发软件的技术性能指标属于软件的___(52)_____。
(52)A.功能需求 B.性能需求 C.环境需求 D.用户界面需求。
软件工程-需求分析软件工程-需求分析1. 引言2. 需求分析的重要性需求分析是软件工程开发过程中的第一步,其重要性体现在以下几个方面:2.1 确定项目目标与范围在需求分析阶段,通过与用户和相关利益相关方的沟通和交流,可以明确项目的目标与范围。
这有助于开发团队理解用户的需求,明确系统的功能和约束,确保项目的成功实施。
2.2 识别和定义系统需求通过需求分析,可以识别和定义系统的需求。
这包括功能需求、非功能需求以及性能需求等。
明确系统需求有助于后续的设计和开发工作,避免后期的返工和调整。
2.3 提高开发效率通过需求分析,可以避免需求方面的误解和偏差,减少开发过程中的不必要的沟通和调整。
这有助于提高开发效率,减少项目的开发周期和成本。
3. 需求分析的过程需求分析的过程包括以下几个步骤:3.1 需求获取需求获取是需求分析的第一步,主要是通过与用户和相关利益相关方的沟通和交流来收集和获取需求。
常用的需求获取方法包括面对面访谈、问卷调查、用户观察等。
3.2 需求分析与整理在需求获取的基础上,需求分析人员将获取到的需求进行分析与整理,辨识出主要和次要需求,并对其进行详细描述和分类。
3.3 需求验证需求验证是确认需求的正确性和可行性。
这可以通过与用户和相关利益相关方进一步的讨论和确认来完成。
验证需求的过程中,需求分析人员需要与开发人员密切合作,确保需求的准确理解和实现。
3.4 需求文档编写在需求验证完成后,需求分析人员需要将需求整理成文档的形式,以便于记录和交流。
需求文档应该包括需求的详细描述、功能需求、非功能需求、系统界面设计等内容。
4. 需求分析方法和工具需求分析方法和工具可以帮助分析人员更好地完成需求分析工作。
以下是一些常用的需求分析方法和工具:4.1 UML建模UML(Unified Modeling Language)是一种常用的建模语言,可以通过用例图、活动图、类图等来描述系统需求,辅助需求分析和系统设计工作。
机票预订系统-规格说明书目录I.引言A.系统参考文献《软件工程(第3版)》《机票预订系统规格说明书》B.整体描述C.软件项目约束II.信息描述A.信息内容B.信息流1. 数据流2. 控制流III.功能描述A.功能分解1.客户端子系统客户端子系统负责将订票员在客户端输入的信息,订票或取票,进行有效性验证之后,将订票申请或取票申请数据打包,发送到服务器端,并接收从服务器返回的信息,根据订票或取票打印出账单或机票。
2.服务器端子系统服务端子系统负责接收客户端子系统发送的数据,解包后判断是订票还是取票操作,执行相应的数据库操作,并将操作的结果返回给客户端。
B.功能描述1. 处理说明2. 限制3. 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预订系统应该满足以下的性能需求:1.系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。
在系统开发过程中,必须采用一定的方法保证系统的准确性。
2.系统的开放性和系统的可扩充性机票预订系统在开发过程中,应该充分考虑以后的可扩充性。
例如企业中管理模块的加入(人事管理、工资管理、日常事务管理等)也会不断的更新和完善。
所有这些,都要求系统提供足够的手段进行功能的调整和扩充为ERP系统。
而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
3.系统的易用性和易维护性机票预订系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
名词解释一个三分 五个十五分第一章 绪论1. 软件2. 文档3. 软件工程4. 软件工程过程5. 软件生存周期6. 软件生存周期模型第二章 软件可行性研究与项目开发计划1. 投资回收2. 纯收人第三章 软件需求分析1. 需求分析2. 数据流3. 数据字典4. 加工5. 数据流图第四章 软件概要设计1. 模块2. 模块化3. 抽象4. 信息隐蔽5. 模块独立性6. 耦合性7. 无直接耦合8. 数据耦合9. 标记耦合10. 控制耦合11. 公共耦合12. 内容耦合13. 内聚性14. 偶然内聚15. 逻辑内聚16. 时间内聚17. 通信内聚18. 顺序内聚19. 功能内聚第五章 软件详细设计1. PAD2. 过程设计语言(PDL)第六章 软件编码1. 程序设计风格2. 程序可移植性第七章 软件测试1. 语句覆盖2. 判定覆盖3. 条件覆盖4. 判定/条件覆盖5. 条件组合覆盖6. 路径覆盖7. 环路复杂性8. 黑盒测试9. 白盒测试10. 驱动模块11. 桩模块12. 单元测试13. 集成测试14. 确认测试15. 调试第八章 软件维护1. 维护2. 校正性维护3. 适应性维护4. 完善性维护5. 预防性维护6. 软件可维护性第九章 软件开发的增量模型1. 原型第十章 面向对象的方法1. 对象2. 类3. 消息4. 方法5. 继承性6. 单重继承7. 多重继承8. 多态性9. 抽象10. 信息隐藏11. 链12. 关联第十一章 软件质量与质量保证1. 软件可靠性2. 效率3. 可维护性4. 可移植性5. 可互操作性6. 适应性7. 可重用性8. 软件设计质量9. 软件程序质量10. 冗余第十二章 软件工程管理1. 软件配置管理2. 软件配置项3. 基线4. 文档第十三章 软件开发环境1. 软件开发环境2. 软件工具3. CASE4. CASE生存期5. CASE工作台软件工程自考名词解释答案第一章 绪论1. 计算机程序及其说明程序的各种文档.2. 文档是有关计算机程序功能,设计,编制,使用的方案或图形资料.3. 用科学知识和技术原理来定义,开发,维护软件的一门学科.4. 软件工程过程规定了获取,供应,开发,操作和维护软件时,要实施的过程,活动和任务.5. 软件生存周期是指一个软件从得出开发要求开始直到该软件报废为止的整个时期.6. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型.第二章 软件可行性研究与项目开发计划1. 投资回收期就是使累计的经济效益等于最初的投资费用所需的时间.2. 在整个生存周期之内的累计经济效益(折合成现在值)与投资之差.第三章 软件需求分析1. 需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非不甘落后将用户非不甘落后 需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程.2. 数据流是数据在系统内传播的路径,因此由一组成分固定的数据项组成.3. 数据字典(Data Dic onary, 简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的,无二义性的说明方式为系统的分析,设计及维护提供了有关元素的一致的定义和详细的描述.4. 加工又称为数据处理,是对数据流进行某些操作或变换.5. 数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程.第四章 软件概要设计1. 模块在程序中是数据说明,可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合,分解和更换的单元.2. 模块化是指解决一个复杂问题自顶向下逐层把软件系统划分成若干模块的过程.每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个要求的功能.3. 抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素.4. 信息隐蔽指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的.5. 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单.6. 耦合性也称块间联系.指软件系统结构中各模块间相互联系紧密程序的一种度量.7. 无直接耦合指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息.8. 数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递.9. 标记耦合指两个模块之间传递的是数据结构,如高级语言的数组名,记录名,文件名等这些名字即为标记,其实传递的是这个数据结构的地址.10. 控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关,标志等),被调模块通过该控制变量的值有选择地执行块内某一功能.11. 公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合.公共数据环境可是是全程变量或数据结构,共享的通信,内存的公共覆盖区及任何存储介质上的文件,物理设备等(也有将共享外部设备分类为外部耦合).12. 当一个模块直接使用另一个模块的内部数据,或通过非正常口转入另一个模块内部,这种模块之间的耦合为内容耦合.13. 内聚块又称块内联系指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量.14. 偶然内聚指一个模块内的各处理元素之间没有任何联系.15. 逻辑内聚指模块内执行个逻辑上相似的功能,通过参数确定该模块完成哪一个功能.16. 把需要同时执行的动作组合在一起形成的模块为时间内聚模块.17. 通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据.18. 顺序内聚指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入.19. 功能内聚指模块内所有元素共同完成一个功能,缺一不可.因此模块不能再分割.第五章 软件详细设计1. PAD图指问题分析图(Problem Analysis Diagram),是一咱算法描述工具,它是一种由左往右展开的二维树型结构.PAD图的控制流程为自上而下,从左到右地执行.2. 过程设计语言(Process Design Language,简称PDL),也称程序描述语言(Program Descrip on Language),又称为伪码.它是一种用于描述模块自法设计和处理细节的语言.第六章 软件编码1. 程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等.2. 指程序从一个计算机环境移值到另一个计算机环境的容易程序.第七章 软件测试1. 语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次.2. 判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次”真”和”假”值,从而使程序的每一个分支至少都通过一次.3. 条件覆盖指设计足够的测试用例,使得判定表达工中每个条件的各种可能的值出现一次.4. 判定/条件覆盖标准指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次.5. 条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次.6. 路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径.7. McCabe定义程序图的环路为程序图中区域的个数.区域个数为边和结点圈定的封闭区域数加上图形外的区域数1.8. 黑盒测试是功能测试又称为功能测试或数据驱动测试.9. 白盒测试是对程序中尽可能多和逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致.10. 驱动模块是用来模拟被测模块的上级调用模块的模块,功能要比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被模块,接收被测模块的测试结果并输出.11. 桩模块用来代替被测试模块所调用的模块它的作用是返回被测模块所需的信息.12. 单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误.13. 集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行测试,故也称组装测试或联合测试.14. 确认测试又称有效性测试.是为了检查软件的功能与性能是否与需求规格说明书中确定的指标相符合所进行的测试.15. 调试是为了确定错误的原因和位置,并改正错误所进行的工作,因此调试也称为纠错.第八章 软件维护1. 在软件运行/维护阶段对软件产品所进行的修改就是维护.2. 为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护.3. 随着计算机的飞速发展,计算机硬件,软件及数据环境在不断发生变化,为了使应用软件适应这种变化而修改软件的过程称为适应性维护.4. 在犯罪分子件运行时期中,用户往往会对软件提出新的功能要求与性能要求.这种增加软件功能,增强软件性能,提高软件运行效率而进行的维护活动称为完善性维护.5. 为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护.6. 软件可维护性是指软件能够被理解,校正,适应及增强功能的容易程度.第九章 软件开发的增量模型1. 软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性.第十章 面向对象的方法1. 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则,计划或事件.2. 具有相同或相似性质的对象的抽象就是类具有相同或相似性质的对象的抽象就是类3. 对象之间进行通信的构造叫做消息.4. 类中操作的实现过程叫做方法,一个方法有方法名,参数,方法体.5. 继承性是子类自动共享父类数据结构和方法的机制这是类之间的一种关系.6. 在类层次中,子类只继承一个父类的数据结构和方法,称为单重继承.7. 在类层次中,子类继承了多个父亲的数据结构和方法,称为多重继承.8. 多态性是指相同的操作或函数,过程可作用于多用户种类型的对象上并获得不同结果.不同的对象收到同一消息可以产生不同的结果,这种现象称为多态性.9. 抽象是指强调实体的本质,内在的属性,忽略一些无关紧要的属性.10. 信息隐蔽是指所有软件部件内部都有明确的范围以及清楚的外部边界每个软件部件都有友好的界面接口,软件部件的内部实现与外部可访问性分离.11. 链表示对象间的物理与概念联结.12. 关联表示类之间的一种关系,就是一些可能的链的集合.第十一章 软件质量与质量保证1. 软件按照设计要求,在规定时间和条件下不出故障,持续运行的程度.2. 为了完成预定功能,软件系统所需的计算机资源和程序代码数量的程度.3. 找到并改正程序中的一个错误所需代价的程度.4. 将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行时所需的工作量.5. 将一个系统耦合到另一个系统所需的工作量.6. 修改或改进一个已投入运行的软件所需工作量的程度.7. 一个软件能再次用于其他相关应用的程度.8. 设计的规格说明书要符合用户的要求.9. 程序要按照设计规格说明所规定的情况正确执行.10. 冗余是指实现系统规定功能是多余的那部分资源,包括硬件,软件,信息和时间.第十二章 软件工程管理1. 软件配置管理,简称SCM,是一组管理整个软件生存期各阶段中变更的活动是一组管理整个软件生存期各阶段中变更的活动2. 软件配置项是软件工程中产生的信息项,它是配置管理的基本单位.3. 基线是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果.4. 文档是指某种数据媒体和其中所记录的数据.在软件工程中,文档用来表示对需求,工程或结果进行描述,定义,规定,报告或认证的任何书面或图示的信息.它们描述和规定了软件设计和实现的细节,说明使用软件的操作命令.第十三章 软件开发环境1. 软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成.2. 软件工具是指为支持计算机软件的开发,维护,模拟,移植或管理而研制的程序系统.3. CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发.4. 一个组织中的CASE系统从被始需求到完全废弃这一生存期.5. 一个CASE工作台是一组工具集,支持像设计,实现或测试等特定的软件开发阶段.。
⼀、概念 它是将提供给⽤户的业务流程图(“物理模型”)进⾏功能建模,转化成开发⼈员能够理解的⼀系列“逻辑模型”图,即以图形化的⽅法描绘数据在系统中的流动和处理的过程,这些图都应该⽤规范的DFD描述。
⼆、原理 DFD设计过程就是将数据和处理进⾏逐层分解就形成了若⼲层次的DFD。
DFD分为顶层图(只有⼀张)、0层图(也只有⼀张)、⼦图、⼦⼦图等等。
三、包含主要元素 即在DFD中包括哪些主要元素,数据流、加⼯、数据存储、外部实体。
(1) 数据流:⽤单箭头表⽰,如――>。
是由⼀组固定成分的数据组成,表⽰数据的流向。
数据流图中描述的是数据流,⽽不是控制流。
除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有⼀个合适的名字,以反映该数据流的含义。
(2) 加⼯:⽤圆或椭圆表⽰,如〇。
描述了输⼊数据流到输出数据之间的变换,也就是输⼊数据流经过什么处理后变成了输出数据。
每个加⼯都有⼀个名字和编号。
编号能反映该加⼯位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加⼯分解出来的⼦加⼯。
(3) 数据存储:⽤双杠(带⼀边开⼝,⼀边闭合)表⽰。
数据存储表⽰暂时存储的数据。
每个数据存储都有⼀个名字。
(4) 外部实体:⽤实⼼长⽅形表⽰,如███。
外部实体是存在于软件系统之外的⼈员或组织,他指出数据所需要的发源地或系统所产⽣的数据的归属地。
四、设计⽅法 1.画顶层数据流图 即画整个系统的输⼊输出(画系统也可以将各⼦系统分开画)。
把整个系统视为⼀个⼤的加⼯(也只能含⼀个加⼯),然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输⼊输出图。
这张图称为顶层图。
顶层图的作⽤在于表明被开发系统的范围以及它和周围环境的数据交换关系。
2.画0层数据流图 即画系统的内部。
把顶层图的加⼯分解成若⼲个加⼯,并⽤数据流将这些加⼯连接起来,使得顶层图的输⼊数据经过若⼲加⼯处理后,变成顶层图的输出数据流。
《软件需求分析》习题集《软件需求分析》课程组编2012年4月目录一、单项选择题 (2)二、填空题 (5)三、判断题 (9)《软件需求分析》习题集一、单项选择题1、软件生产中产生需求问题的最大原因在于对应用软件的()理解不透彻或应用不坚决.(A)复杂性(B)目的性(C)模拟性(D)正确性2、需求分析的目的是保证需求的()。
(A)目的性和一致性(B)完整性和一致性(C)正确性和目的性(D)完整性和目的性3、系统需求开发的结果最终会写入()。
(A)可行性研究报告(C)用户需求说明4、现实世界中的((B)前景和范围文档(D)系统需求规格说明)构成了问题解决的基本范围,称为该问题的问题域。
(A)属性和状态(B)实体和状态(C)实体和操作(D)状态和操作5、功能需求通常分为三个层次,即业务需求、用户需求和( )。
(A)硬件需求(B)软件需求(C)质量属性(D)系统需求6、比较容易发现的涉众称为初始涉众,又称为(),通常包括客户、管理者和相关的投资者。
(A)关键涉众(B)涉众基线(C)普通涉众(D)一般涉众7、如果在最终的物件(Final Artifact)产生之前,一个中间物件(Mediate Artifact)被用来在一定广度和深度范围内表现这个最终物件,那么这个中间物件就被认为是最终物件在该广度和深度上的().(A)模拟(B)构造(C)原型(D)模型8、按照使用方式进行分类,原型可分为:演示原型、()、试验原型和引示系统原型.(A)非操作原型(B)系列首发原型(C)选定特征原型(D)严格意义上的原型9、按照功能特征进行分类,原型可分为:( )、非操作原型、系列首发原型和选定特征原型。
(A)拼凑原型(B)样板原型(C)纸上向导原型(D)严格意义上的原型10、按照开发方法进行分类,原型可分为:演化式原型和抛弃式原型,其中抛弃式原型又被细分为( ).(A)演示原型和试验原型(C)探索式原型和实验式原型(B)系列首发原型和选定特征原型(D)样板原型和纸上向导原型11、原型的需求内容可以从三个纬度上分析:即()。
软件需求分析--结构化分析(SA)⽅法结构化开发⽅法(Structured Developing Method)是现有的软件开发⽅法中最成熟,应⽤最⼴泛的⽅法,主要特点是快速、⾃然和⽅便。
结构化开发⽅法由结构化分析⽅法(SA法)、结构化设计⽅法(SD 法)及结构化程序设计⽅法(SP 法)构成的。
结构化分析(Structured Analysis,简称SA 法)⽅法是⾯向数据流的需求分析⽅法,是70 年代末由Yourdon,Constaintine 及DeMarco 等⼈提出和发展,并得到⼴泛的应⽤。
它适合于分析⼤型的数据处理系统,特别是企事业管理系统。
SA 法也是⼀种建模的活动,主要是根据软件内部的数据传递、变换关系,⾃顶向下逐层分解,描绘出满⾜功能要求的软件模型。
1 SA 法概述1.SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)是⾯向数据流的需求分析⽅法,是70年代由Yourdon,Constaintine 及DeMarco 等⼈提出和发展,并得到⼴泛的应⽤。
结构化分析⽅法的基本思想是“分解”和“抽象”。
分解:是指对于⼀个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把⼤问题分解成若⼲⼩问题,然后分别解决。
图4 是⾃顶向下逐层分解的⽰意图。
顶层抽象地描述了整个系统,底层具体地画出了系统的每⼀个细节,⽽中间层是从抽象到具体的逐层过渡。
抽象:分解可以分层进⾏,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直⾄涉及到最详细的内容,这种⽤最本质的属性表⽰⼀个⾃系统的⽅法就是“抽象”。
2.SA 法的步骤⑴建⽴当前系统的“具体模型”;系统的“具体模型”就是现实环境的忠实写照,即将当前系统⽤DFD 图描述出来。
这样的表达与当前系统完全对应,因此⽤户容易理解。
⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得⽤DFD 图描述的当前系统的“逻辑模型”。
目录1要求: (1)1.1 格式 (1)1.2 内容: (1)1.3 时间地点: (1)1.4 联系方式 (1)2数据流图 (2)2.1 顶层数据流图 (2)2.2 处理1加工分解 (2)2.3 处理2加工分解 (3)2.4 处理3加工分解 (3)3数据字典例子: (3)3.1 数据流条目 (3)3.2 数据项条目 (4)3.3 数据存储条目 (5)3.4 加工条目 (6)3.5 外部输入条目 (7)4需求分析 (8)4.1 目的与任务: (8)4.2 该系统所要满足的信息要求: (8)4.3 处理要求 (9)1要求:1.1格式●学号后面要加上序号,即“学号-序号”●正文字体小四宋体,行间距离1.5倍●正反打印,加上页码1.2内容:●90页第8题(需求分析的数据流,数据字典和需求分析报告)●画图时,采用“插入->对象”方式●数据流图采用visio->形状->软件->Gane-Sarson图形1.3时间地点:●时间:第10周前(5月8号前)●地点:工学一号馆718或6281.4联系方式2数据流图2.1顶层数据流图2.2处理1加工分解2.3处理2加工分解2.4处理3加工分解3数据字典例子: 3.1数据流条目3.2数据项条目3.3数据存储条目3.4加工条目3.5外部输入条目4需求分析4.1目的与任务:学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。
它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。
通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便的了解学生总体情况。
该管理系统为用户提供了一些简单的数据查询、输出各种信息等。
软件需求分析图形表示与形式描述传统图形描述技术建模及语义中国谚语:Ein Bild Zeigt ueber Tausend Saetze.(A picture shows more than 1000 sentences.)1、三种主要传统图形描述技术(1)数据流图技术DFD(Data Flow Diagram)描述一个信息系统的数据(信息)流。
(2)实体关系图技术ERD(Entity Relationship Diagram)描述一个信息系统的逻辑数据结构。
(3)状态转换图技术STD(State Transition Diagram)描述一个信息系统的状态转换过程。
2、基于图形描述技术的需求分析模型(1)需求分析模型的基本功能●描述用户需求●建立创建软件设计的基础●定义软件开发后的验证条件集合(2)需求分析模型结构图2-1给出了基于图形描述技术的需求分析模型结构。
图2-1:需求分析模型结构(摘自Pressman,Software Engineering,P300)其中(1)核心部分Data Dictionary(DD,数据字典):-- 存储所有软件使用或产生的对象数据的描述。
(2)中间层●Data Flow Diagram(DFD,数据流图)-- 描述数据在经过系统时的转换过程-- 图示数据流函数●Entity Relationship Diagram(ERD,实体关系图)-- 图示数据之间的关系●State Transition Diagram(STD,状态转换图)-- 描述系统接收外部事件后的状态变化(3)外部层●Process Specification(PSPEC,过程规约)-- 描述DFD中定义的每个函数●Data Object Description(数据对象描述)-- 描述ERD中每个数据对象的属性●Control Specification(CSPEC,控制规约)-- 描述软件控制外观的附加信息2.3.1 数据流图DFD及语义1.定义(DFD)数据流图DFD技术描述流经一个信息系统的数据(信息)流,主要包括:(1)数据的输入与输出:数据是如何进入系统或从系统离开;(2)数据处理站点:在哪里数据是怎样处理的;(3)存储单元:数据是在哪里存储的。
目录1要求: (1)1。
1 格式 (1)1。
2 内容: (1)1。
3 时间地点: (1)1.4 联系方式 (1)2数据流图 (2)2.1 顶层数据流图 (2)2。
2 处理1加工分解 (2)2。
3 处理2加工分解 (3)2.4 处理3加工分解 (3)3数据字典例子: (3)3.1 数据流条目 (3)3.2 数据项条目 (4)3。
3 数据存储条目 (5)3.4 加工条目 (6)3。
5 外部输入条目 (7)4需求分析 (8)4。
1 目的与任务: (8)4.2 该系统所要满足的信息要求: (8)4。
3 处理要求 (9)1要求:1.1格式●学号后面要加上序号,即“学号-序号”●正文字体小四宋体,行间距离1.5倍●正反打印,加上页码1.2内容:●90页第8题(需求分析的数据流,数据字典和需求分析报告)●画图时,采用“插入->对象”方式●数据流图采用visio—>形状-〉软件—〉Gane—Sarson图形1.3时间地点:●时间:第10周前(5月8号前)●地点:工学一号馆718或6281.4联系方式2数据流图2.1顶层数据流图2.2处理1加工分解2.3处理2加工分解2.4处理3加工分解3数据字典例子:3.1数据流条目3.2数据项条目3.3数据存储条目3.4加工条目3.5外部输入条目4需求分析4.1目的与任务:学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。
它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询.通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便的了解学生总体情况。
该管理系统为用户提供了一些简单的数据查询、输出各种信息等。