软件工程第3次课.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
需求知识高级 主讲:郭俊颖 Email: ybbh6b@126.com 需求知识高级 需求分析所处的位置 需求捕获vs需求分析vs系统分析 软件需求的类型 需求捕获实例 作业:做需求捕获与需求分析 需求分析所处的位置 概念化阶段:明确了软件项目的意义,可行性等概括。 需求阶段:功能需求、质量属性需求、约束性需求等。 架构设计阶段:分析和设计系统。 需求捕获vs需求分析vs系统分析 需求捕获及其成果 需求捕获是获取知识的过程,知识从无到有、从少到多。 需求采集者必须理解用户所从事的工作,并了解用户和客户希望系统在哪些方面帮助他们。 工作成果:需求采集卡、访谈记录、访谈录音(征询授权)、书面材料、系统等。 常犯错误:拿着需求捕获的内容作为需求分析。 需求分析及其工作成果 通过需求采集活动,捕获到了大量“原始需求”。 需求分析则对采集到的原始需求进行分析、整理、辨别和归纳,最终形成系统的、明确的软件需求。 需求分析是挖掘和整理知识的过程,它在已掌握知识的基础上进行。 需求分析就是对用户需求进行分析,以得到一份明确的、规范的需求定义。 工作成果:需求规格说明书 常犯错误:需求分析不全面,少功能,无非功能性需求。 系统分析及其工作成果 系统分析是针对系统所要面临问题,搜集相关的资料,以了解产生问题的原因所在,进而提出解决问题的方法与可行的逻辑方案,以满足系统的需求,实现预定的目标。 已经属于分析和设计阶段的工作。 工作成果:分析类图、鲁棒图、序列图等。 下一部分的内容。 软件需求的类型 软件质量 软件质量:1、一个系统、组件或过程符合特定需求的程度;2、一个系统、组件或过程符合客户或用户要求或期望的程度。 一提到软件质量,人们首先想到的是“正确性”,但是运行正确的软件就是高质量的软件吗?不见得,比如运行速度很低,并且浪费内存,甚至代码写得一塌糊涂,除了开发者本人谁也看不懂,也不会使用。行不行? 软件质量属性 功能性质量属性:正确性,健壮性,可靠性 非功能性质量属性:性能,易用性,清晰性,安全性,可扩展性,兼容性,可移植性等 正确性 正确性是指软件按照需求正确执行任务的能力。 “正确性”的语义涵盖了“精确性”。正确性无疑是第一重要的软件质量属性。如果软件运行不正确,将会给用户造成不便甚至损失。技术评审和测试的第一关都是检查工作成果的正确性。 从“需求分析”到“系统设计”再到“实现”,任何一个环节出现差错都会降低正确性。机器不会主动欺骗人,软件运行出错通常都是人造成的,所以不要找借口埋怨机器有毛病。开发任何软件,开发者都要为“正确”两字竭尽全力。 健壮性 健壮性是指在异常情况下,软件能够正常运行的能力。 正确性与健壮性的区别是:前者描述软件在需求范围之内的行为,而后者描述软件在需求范围之外的行为。 开发者往往把异常情况错当成正常情况而不作处理,结果降低了健壮性。 健壮性有两层含义:一是容错能力,二是恢复能力。 容错与恢复 容错是指发生异常情况时系统不出错误的能力,是非常健壮的意思,比如UNIX的容错能力很强,很难使系统出问题。 恢复是指软件发生错误后(不论死活)重新运行时,能否恢复到没有发生错误前的状态的能力。 从语义上理解,恢复不及容错那么健壮。 如:Microsoft公司早期的窗口系统如Windows 3.x和Windows 9x,动不动就死机,其容错性的确比较差,但它们的恢复能力还不错,机器重新启动后一般都能正常运行。 可靠性 可靠性是指在一定的环境下,在给定的时间内,系统不发生故障的概率。 可靠性本来是硬件领域的术语。比如某个电子设备在刚开始工作时挺好的,但由于器件在工作中其物理性质会发生变化(如发热),慢慢地系统的功能或性能就会失常。所以一个从设计到生产完全正确的硬件系统,在工作中未必就是可靠的。 软件在运行时不会发生物理性质的变化,人们常以为如果软件的某个功能是正确的,那么它一辈子都是正确的。可是我们无法对软件进行彻底地测试,无法根除软件中潜在的错误。平时软件运行得好好的,说不准哪一天就不正常了,如有千年等一回的“千年虫”问题,司空见惯的“内存泄露”问题、“误差累积”问题等等。 时隐时现的错误一般都属于可靠性问题,纠错的代价很高。 软件需求的类型 质量属性------非功能性 运行期质量属性(外部) 开发期质量属性(内部) 性能 易理解性 安全性 可扩展性 易用性 可移植性 持续可用性 可重用性 可伸缩性 可测试性 互操作性 可维护性 鲁棒性 可兼容性 性能 性能通常是指软件的“时间-空间”效率,而不仅是指软件的运行速度。人们总希望软件的运行速度高些,并且占用资源少些。 性能:包括速度、吞吐量和持续高速性三方面的要求。吞吐量通过单位时间处理的交易数量来度量;速度往往通过平均响应时间来度量;而

文档评论(0)

开心就好 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档