软件需求工程概述

软件需求工程概述

ID:42721839

大小:1.95 MB

页数:71页

时间:2019-09-21

软件需求工程概述_第1页
软件需求工程概述_第2页
软件需求工程概述_第3页
软件需求工程概述_第4页
软件需求工程概述_第5页
资源描述:

《软件需求工程概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1SoftwareRequirementsEngineering软件需求工程郑州大学软件学院软件工程专业必修课程授课对象:本科3年级授课教师:徐强2SoftwareRequirementsEngineering软件需求工程概述34本章内容工程与软件工程软件需求工程需求工程师需求工程vs.系统分析软件生命周期中的需求活动关于需求的基本观点5EngineeringVS. SoftwareEngineering工程与软件工程6工程–人工的科学(SciencesofArtificial)自然科学是揭示自然界的本质和现象的科学。“工程”则可以诠释为“人工”(artificial)的科

2、学,或设计的,制造的科学。原始森林/林业工程天然水晶/宝石加工工艺计算机工程,软件工程,企业营销计划,医药治疗方案……一切工程活动都是服务于某种预期的目的的,同时一切的人造物都”应该”具有某种预期的功用。?建筑,商业,教育,法律,医学,……——HerbertSimon,19697什么是工程?工程的定义:工程就是运用科学知识,对现实问题提供性能价格比合理的解决方案。性价比合理:涉及性能价格的权衡,尤其是在资源的使用方面。解决方案:工程是有创造性和实效性的。现实问题:问题是受人们关注的。科学知识:用到应用科学中的分析方法。8什么是工程?普通设计与开创性设计普通设计:解决已有问题

3、,解决方案已广为人知。工程实践依照规范化的标准解决方案由工程师选择合适的方法和技术运用广为人知的设备进行设计开创性设计:从未有人作过,或已有解决方案失效。通常要面临解决复杂问题的困难挑战对若干设备进行复杂装配形成新的系统系统工程更为强调和关注开创性的设计9软件工程的特殊性软件的特殊性软件具有抽象性软件是不能独立存在的,其作用在于驱动硬件进行某种操作软件行为不受物理定律约束软件复杂性不受物理限制软件无磨损传统的可靠性度量方法不再适用软件复制无损耗复制品与原件无区别10软件工程的特殊性Thinkaboutthese:?软件成本低于物理设备成本软件易修改计算机比物理设备可靠性高软

4、件的正确性可形式化的证明软件重用提高安全性和可靠性计算机系统同机械系统相比风险更低关于软件的荒谬说法(Myths):11本章内容工程与软件工程软件需求工程需求工程师需求工程vs.系统分析软件生命周期中的需求活动关于需求的基本观点12SoftwareRequirementsEngineering软件需求工程13什么是需求工程?需求工程是系统工程及软件工程的重要分支。需求工程旨在了解软件系统设计的真实意图,具体功用及限制条件。并精确定义上述因素与系统行为的关系及系统随时间和产品线变化而发生的各种演化。14什么是需求工程?需求工程是指应用已证实有效的技术、方法进行需求分析,确定客

5、户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。它通过合适的工具和记号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。注意,和所有工程学科一样,需求工程并不是以零星偶发的、随机的或无计划的方式进行,而是代之以已证明方法的系统化应用。15需求工程的重要意义对大多数人来说,若要建一幢20万美元的房子,他一定会与建房者详细讨论各种细节,他们都明白完工以后的修改会造成损失,以及变更细节的危害性。然而,涉及到软件开发,人们却变得“大大咧咧”起来。软件项目中百分之四十至百分之六十的问题都是在需求分析阶段埋下的“祸根”。(

6、Leffingwell1997)16需求工程的重要意义问题的严重性:对软件的依赖不断增加:汽车,手机,WebServices,……软件成本的比重加大:Boeing777软件项目失败带来巨大浪费:1997GAO报告-6年内烂尾软件项目耗资1470亿美元GeneralAccountingOffice(美国)总审计局17需求工程的重要意义问题的严重性:软件失败的严重后果:Ariane5:3.7亿美元的损失;18需求工程的重要意义问题的成因:软件质量认证的高成本:Boeing777>40%的软件成本用于测试以修正软件缺陷为目的的软件重写:Motorola:曾将60%-80%的软件费

7、用用于重写需求的频繁变化:CapersJones(1994)在报告中称扩展需求对百分之八十的管理信息系统项目和百分之七十的军事软件项目造成风险。19解决方案??没有“银弹”!NoSilverBullet!(FredBrooks,1987)软件的规模决定它的复杂性软件具有抽象性和不可视性软件没有规范的装配步骤,因此极易修改!“NoSilverBullet”的原文是:“没有任何技术或管理上的进展,能够独立地许诺十年内使生产率、可靠性或简洁性获得数量级上的进步。”在软件开发过程里是没有万能的终杀性武器的,只有各种方法综合

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。