版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章需求工程概论
3.1软件需求的概念
软件需求的分类
软件需求的质量要素
3.2需求工程的预备知识
与用户交流的技巧
需求调查的基本方法
需求建模的基本方法
3.3需求工程的过程模型
需求工程中的活动
迭代式的过程模型
过程模型的裁剪
2023/2/61需求的任务:回答“系统必须做什么?”的问题What?2023/2/62第三章需求工程概论软件需求的定义:是利益相关方(stakeholder,也称“筹码持有者”)对目标软件系统在功能、质量等方面的期望,以及对目标软件系统在运行环境、资源消耗等方面的要求或约束。2023/2/633.1软件需求的概念3.1.1软件需求的分类软件需求:功能需求质量需求约束性需求质量需求和约束性需求可统称为非功能需求。2023/2/64软件需求的概念功能需求:指利益相关方要求目标软件系统应该具有的功能。(主体)如“制订选课计划”、“接收并处理传感器数据”等。功能需求还包括软件系统在业务处理过程中完成这些功能时必须遵守的约定或限制。2023/2/65质量需求:利益相关方对目标软件系统的质量要求。性能:所有界面操作的响应时间小于1.5秒”可靠性:任何故障不可导致用户已提交的数据丢失”2023/2/66软件需求的概念约束性需求:利益相关方对目标软件系统在项目预算、完成时间、技术选型、遵循的标准与规范等方面提出的要求,以及由预期的开发、运行环境的特征而导致的针对目标软件系统的约束。如家庭保安系统中可供软件使用的内存为1M、必须采用特定的操作系统2023/2/67软件需求的概念3.1.2软件需求的质量要素软件需求的质量要素:正确性包含真实性、一致性、精确性、无冗余四个质量指标。完全性指,所有需求项构成的全集完整地覆盖所有必须在目标软件产品中实现的利益相关方需求,不能遗漏重要或者紧迫的需求。可行性是指,在实际资源约束条件下,软件需求能够被完整实现的可能性。2023/2/683.2需求工程的预备知识与用户交流的技巧利益相关方代表和需求工程师组成联合工作组克服沟通障碍消弥利益冲突2023/2/69需求调查的基本方法访谈和会议系统分析员将提出一些事先准备好的具体问题。调查问卷经过仔细考虑写出的书面回答可能比被访者对问题的口头回答更准确。业务文档分析现场观摩2023/2/6103.2需求工程的预备知识需求建模的基本方法抽象分解多视点分析2023/2/6113.3需求工程的过程模型一个完整的需求工程过程一般包含以下活动:需求工程策划需求获取需求获取的结果是软件需求的最初模型。需求分析需求规范化需求验证总结
2023/2/612需求工程中的活动2023/2/613图3.1用UML活动图表示的需求工程过程的工作流图3.2单次子过程中的缺陷追踪及返工3.3.2迭代式的过程模型对于大中型软件项目,前述的单次需求工程过程几乎不可能获得完整的、高质量的软件需求。2023/2/614图3.3迭代式的需求工程过程模型迭代式的过程模型进入每次迭代前,应检查入口条件是否满足、输入文档是否齐备。在完成每次迭代前,应检查出口条件是否达到、输出文档是否齐备并符合预定的质量标准。首次迭代的输入为有关项目目标、范围的陈述性文档;后续迭代时,输入文档还可以包括缺陷描述、待新增的需求项的概略性描述文档,或者需求变更申请书。需求获取活动必须针对前次迭代的工作成果、需求变更或缺陷报告进行理解和分析,由此导出新的需求获取动作。在一次迭代完成后进入后续迭代的条件是,所有参与者对新需求的获取或针对已有需求的变更之必要性达成共识。2023/2/6153.3.3过程模型的裁剪在实际的软件项目中,针对前述的迭代式过程模型可以进行因地制宜的裁剪或具体化。(一)应用场景1:小型项目对于小型软件项目或软件需求容易确立的项目,迭代仅需进行一次。因此,其需求工程的过程模型可简化为图3.1或图3.2所示的形式。2023/2/616过程模型的裁剪(二)应用场景2:分解、并行如果一个软件能够分解成多个子系统,那么,针对各子系统的需求工程活动可以并行地在各自的迭代子过程中进行。此前必须通过至少一个迭代子过程给出整个软件的概略性需求并确定分解结构;最后必须通过至少一个迭代子过程对各部分的需求进行整合并给出完整的软件需求规约。2023/2/6172023/2/618图3.4系统分解后针对子系统并行迭代的需求工程过程模型示意图过程模型的裁剪需求工程各阶段中的某些子活动可以并行开展。如,可以将课程注册管理系统划分为面向学生、面向教师和面向教务管理员的三个子系统,安排三轮迭代分别针对它们进行需求获取和分析,最终整合为完整的需求规约。2023/2/619过程模型的裁剪(三)应用场景3:需求缺陷更正在本次迭代的需求验证阶段,如果发现了缺陷,或认为某些需求项需要新增或变更,可以形成缺陷分析报告或需求变更申请报告,以此为输入启动下次迭代。在迭代式过程模型中,缺陷更正和需求变更可以很自然地在后续迭代过程中实现。2023/2/620图3.5通过迭代支持缺陷更正和需求变更的需求工程过程模型2023/2/621例3.1家庭保安系统需求工程过程成立联合工作组由需求工程师和利益相关方代表组成制定工作制度如,每次会议开始前必须有确定的议程,参加者必须针对各项议程进行充分的准备,这种准备不仅是思想上的,还应形诸文字。经过数次会议讨论,全面列举需求侧面明确待解软件问题的范围、业务背景,并就开发软件产品的必要性达成共识后,工作组负责人要求每位参加者列出应用问题及环境中有关的对象,这些对象所施行的操作以及对象间的相互作用。这种列举不一定完全,但应尽可能全面地反映用户熟悉的某个问题侧面。2023/2/622需求工程过程可能分工市场营销人员可能列出控制面板、电话机、警报器等对象,以及用户配置、电话拔号、报警等操作;负责策划该系统的客户可能列举门窗监视器、烟雾传感器、警报器等对象。会议上,负责人要求他们对传感器事件接收、异常情形判别、电话报警、用户配置等操作进行更详细的描述,必要时示以业务处理流程图。客户可能还会提出一些约束条件,如造价不应超过1,000元,对异常事件必须在1秒内作出响应,事件必须按优先级顺序进行处理,等。会后,形成文档由需求工程师对这些信息加以综合、整理该文档应能反映家庭保安系统中的软件产品的全貌2023/2/623需求工程过程该文档的某个局部可能形如:2023/2/624家庭保安系统的软件允许用户在安装时进行系统配置,实施对传感器上报数据的监控并通过控制面板与用户进行信息交互。用户配置操作包括:(1)指定每一传感器的种类、编号和安装位置;(2)设置开、关机密码;(3)设定报警电话号码;(4)指定报警延迟和电话重拔延迟时间。
当软件系统接收到传感器发出的数据后判别是否出现异常事件。如果是,则在指定的延迟时间内拔报警电话号码,拔号操作将按照重拔延迟反复进行,直至电话接通。然后软件系统负责报告时间、位置和异常事件的性质。开机后软件系统负责显示当前工作状态,接收并处理用户指令。需求工程过程联合工作组被分成两个小组,分别处理用户配置和传感器监测子系统。分组的目的是对子问题的需求进行获取、分析、规范化等项工作。在各子系统的需求已基本明确并形成需求模型后,联合工作组还应就子系统的整合及需求验证标准展开讨论。子系统整合包括:子系统接口之间的一致性检查、子系统合成后系统功能和行为的完整性检查。需求验证标准应该是可测试的以便开发人员在代码生成后能够通过测试结果向客户表明软件系统已完整地实现了所有需求。2023/2/625小结软件需求指,利益相关方对目标软件系统在功能、性能、质量等方面的期望,以及对目标软件系统在运行环境、资源消耗等方面的约束。软件需求可划分为功能需求、质量需求和约束性需求三种类型。质量需求和约束性需求统称为非功能需求。软件需求的质量要素包括正确性、完全性和可行性。为了获得高质量的需求模型,需求工程师必须掌握与用户/客户交流的技巧。2023/2/626小结与利益相关方代表组成目标一致、荣辱与共的联合工作组,克服开发方与利益相关方之间的沟通障碍、消弥他们之间的利益冲突。需求工程师必须熟练运用需求调查和需求建模的基本方法,前者包括访谈和会议、调查问卷、业务文档分析、现场观摩,后者包括抽象、分解和多视点分析。为了获得高质量的需求模型,需求工程师还必须遵循系统化的需求工程过程模型,它通常包括策划、需求获取、需求分析、需求规范化、需求验证、总结等活动。2023/2/627小结对大中型软件项目以及初期需求不明朗的软件项目,需求工程过程往往采用迭代方式,经过反复发掘、分析、评审后才能日臻完善。除以上基本技能和方法外,需求工程师有必要进一步掌握分别针对需求工程各阶段的行之有效的具体技术和方法。第四至五章将依次介绍需求获取、需求分析及需求验证的过程和技术。2023/2/628问题A图书馆管理(R.A.Kemmerer)一个小型图书馆管理系统,需完成以下工作:(1)借书、还书;(2)图书馆中增加/删除一本书;(3)照作者名或专业领域检索一批书;(4)出被某位读者借出的一批书;(5)出最近借走某本图书的读者。该系统有两类用户:图书管理员与普通读者。
功能(4)可供普通读者查找他们自己借出的书目。
功能(1)、(2)、(5)只供图书管理员使用。该系统必须满足以下限制:(1)馆中所有未借出的书籍能够供读者随时借阅。(2)在同一时刻,一本书不能既被借出,又可供借阅。(3)一个读者一次借出的书籍数目不能超过预定值。2023/2/629问题B保温系统(S.White)如果主开关置于“加热”状态,保温系统的控制器负责开关锅炉,监视锅炉系统的燃油流率和燃烧状态,进而调节进入房间的热量流。当室内温度降至T-2度以下,控制器启动锅炉。这里T是用户设定的理想室温。锅炉启动过程如下:(1)控制器向锅炉的马达发信号。(2)控制器监视马达速度。马达达到正常操作速度时,启动点火并打开油阀。(3)控制器监视水温,一旦水温达到预定值时,它发信号打开水流循环阀。热水开始在室内循环。(4)如果发生异常情况,燃油流率指示器和光感器向控制器发信号。此时控制器发信号关闭系统。(5)一旦室内温度达到T+2度,控制器首先关闭油阀,延迟5秒后关闭锅炉马达。系统须满足以下限制:(1)锅炉停机后重启必须延迟5分钟。(2)在主开关关闭或油阀关闭5秒内应指示锅炉停机。2023/2/630问题C字符串格式化(A.Mili)给定非负整数MAXPOS和包含空格与换行作为分隔符的字符集。对字符串S,称两分隔符之间或分隔符到S的结尾处的非空字符串为字。程序以有穷字符串为输入,输出满足以下条件的字符串:(1)如果输入串包含长度为MAXPOS+1的字,则输出串为一空格。(2)如果输入串的任何MAXPOS+1个相邻字符至少含有一个分隔符,则:(2.1)输入串的所有字以相同的次序出现在输出串中;并且,输出串不含有未在输入串中出现的字;(2.2)此外,输出串满足以下限制:(2.2.1)输出串中不出现前导和后导分隔符,也不出现相邻的分隔符。(2.2.2)任何MAXPOS+1个相邻字符中含有一个换行符;(2.2.3)对于输出串中的任意子串S,如果:(a)S的长度不超过MAXPOS;(b)S是输出串的首部,或S的前一字符是换行符;(c)S是输出串的尾部,或S的后一字符是空格符。那么,S中不包含换行符。2023/2/631问题D电梯问题(N.Davb)在M层的建筑物内安装N个电梯。电梯问题是指这些电梯的逻辑控制问题:(1)每个电梯有一些按钮,每个按钮对应一个楼层。当按下按钮后,按扭灯亮,并指出电梯开往相应的楼层。当电梯到达该楼层后,按钮灯熄灭。(2)除底层和顶层只有一个按钮外,每个楼层有两个按钮,分别指示上楼和下楼请求。当按下后,按钮灯亮。如果电梯已到达该楼层
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产xxx腕力器项目投资分析报告
- 云石胶项目可行性研究报告
- 年产xxx燕京宴酒项目投资分析报告
- 2024年关节病项目资金需求报告代可行性研究报告
- 5.1+植被高一地理人教版(2019)必修第一册
- 一年级数学下册教学设计-4.100以内数的认识《数的读写》人教版
- 一年级下册数学导学案- 4 比大小 用“多少”描述数量之间的关系-人教新课标
- 二年级上册数学教案-五单元 观察物体∣人教新课标
- 新生儿胆红素脑病科普
- 地方政府与城投企业债务风险研究报告-浙江省篇 2024 -联合资信
- 阿维塔人才测评试题库
- 电解质紊乱-课件
- 银行物业服务环境卫生管理方案
- 文旅剧本杀项目策划方案
- 红军之父伟大的革命家朱德
- 给小学生科普人工智能
- 哥斯达黎加资料课件
- 退休兼职规定
- 6、电力建设工程概预算定额-热力设备安装工程课件
- 香港大公报电子版
- 《漆包线基础知识》课件
评论
0/150
提交评论