您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件需求-第1课-软件需求工程导论(第1版)
软件需求CheckingSettingsEntry/OpenShutter(0.5);MeasureLight();DetermineExposureTime(CheckingCheckingCheckingCheckingCheCkinCheckinggCheckingSettingsEntry/OpenShutter(0.5);MeasureLight();DetermineExposureTime(CheckingCheckingCheckingCheckingCheCkinCheckinggCheckingCheckingCheckingSettingsEntry/OpenShutter(0.5);MeasureLight();哈尔滨工程大学计算机科学与技术学院海量数据挖掘及网络数据集成研究组王念滨教授博导软件需求教学课程安排情况软件(工程)需求导论(1)软件需求相关基础(2)软件需求过程示例(3)第1部分基础第2部分软件需求获取需求获取(4)需求获取(5)需求获取(6)原型方法示例(7)第3部分需求分析概述(8)结构化分析(9)结构化分析(10)面向对象分析(11)面向对象分析(12)面向对象分析(13)第4部分需求规格说明书及需求验证SRS(14)需求验证(15)第5部分需求管理需求管理(16)项目管理(17)标书撰写及示例(18)第6部分总结需求获取总结(19)需求分析总结(20)CheckingSettingsEntry/OpenShutter(0.5);MeasureLight();DetermineExposureTime(CheckingCheckingCheckingCheckingCheCkinCheckinggCheckingSettingsEntry/OpenShutter(0.5);MeasureLight();DetermineExposureTime(CheckingCheckingCheckingCheckingCheCkinCheckinggCheckingCheckingCheckingSettingsEntry/OpenShutter(0.5);MeasureLight();主要参考书籍资料:1软件需求管理用例方法2编写有效用例3面向对象软件开发教程4需求工程-软件建模与分析5探索需求第1章需求工程导论本课主要讨论问题1软件生产中的需求问题2软件工程及软件需求概述3软件需求的作用和意义4需求工程第1章需求工程导论1软件生产中的需求问题第1章需求工程导论软件的概念软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。软件=程序+数据+文档程序是按事先设计的功能和性能要求编写的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。1软件生产中的需求问题第1章需求工程导论对大型软件的感性认识软件名称属性postgres95XXX省地方税务局管理信息系统软件类型系统软件:数据库系统软件应用软件:管理信息系统代码量450,000500,000编程语言CC++,PB,SQL,LOTUS,JSP支撑环境UNIXWINDOWS开发周期约5年1.5年参加人员项目总负责1人项目经理3人系统架构师2人系统分析员3人SYBASEDBA2人高级程序员8人程序员20-25人用户方参与人员10-15人文档文档总量约120万字项目论证报告5万字需求分析25万字概要设计10万字详细设计40万字数据库设计10万字测试方案5万字系统培训教材15万字系统使用手册10万字1软件生产中的需求问题第1章需求工程导论Exchange2000Windows2000项目经理25人约250人开发人员140人约1700人测试人员350人约3200人Oracle代码量大约是postgres的10倍,450万行源代码。Windows大约是Oracle的5倍,2250万行源代码1软件生产中的需求问题第1章需求工程导论•对软件开发成本和进度的估计常常不准确。开发成本超出预算,实际进度比预定计划一再拖延的现象并不罕见。•用户对“已完成”系统不满意的现象经常发生。•软件产品的质量往往靠不住。Bug一大堆,Patch一个接一个。•软件的可维护程度非常之低。•软件通常没有适当的文档资料。•软件的成本不断提高。•软件开发生产率的提高赶不上硬件的发展和人们需求的增长。软件危机软件危机的主要表现1968年北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议上第一次提出了“软件危机”(softwarecrisis)名词。1软件生产中的需求问题第1章需求工程导论软件危机软件生产和成本的原因软件维护费用急剧上生,直接威胁到计算机应用的扩大软件生产技术进步缓慢深层原因软件系统的复杂性不断增长,复杂性成为系统设计和开发最大的障碍概括来说,软件危机包含两方面问题:如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品.软件危机软件危机的原因客观:软件本身特点逻辑部件规模庞大主观:不正确的开发方法忽视需求分析错误认为:软件开发=程序编写轻视软件维护系统网络数据库应用1软件生产中的需求问题第1章需求工程导论软件的生存周期问题定义可行性研究需求分析软件设计编码测试维护计划时期开发时期运行时期产品:战略规划报告产品:可行性研究报告产品:需求分析报告产品:概要设计报告详细设计方案产品:测试方案产品:维护及培训报告1软件生产中的需求问题第1章需求工程导论1软件生产中的需求问题第1章需求工程导论需求分析就是分析软件用户的需求是什么。需求定义IEEE(美国电气电子工程师学会)软件工程标准词汇表(1997年)将需求定义为:(1)用户解决问题或达到目标所需的条件或能力。(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。需求就是以一种清晰、简洁、一致且无二义性的方式对一个待开发系统中各个有意义陈述方面的一个集合。该阶段的基本任务是回答“系统必须做什么?”;提交详细的需求分析文档;该阶段是系统开发的基础,质量和成败的关键;需要一个的审查和验证。1软件生产中的需求问题第1章需求工程导论需求定义需求分析的任务需求分析的任务就是解决“做什么”(Whattodo,dowhat)的问题.就是要全面理解用户的各项要求,并正确地表达所接受的用户需求。需求分析之所以重要,因为它具有策略性、方向性和决策性。需求阶段产生的问题在整个开发工程中将具有指数级的复杂性。需求不仅是开发商的问题,更重要的是它是用户的问题。用户要表达自己的需求,开发者要理解用户的需求。1软件生产中的需求问题第1章需求工程导论需求定义1软件生产中的需求问题第1章需求工程导论需求错误的高昂代价需求错误占全部缺陷的三分之一。说明需求错误是系统软件开发中最重要的错误。假如在编码阶段发现需求错误,则需要根据修改的需求重新进行设计;假如是在测试阶段发现需求错误,则需要根据修改的需求重新进行设计并重新编码;假如是在维护阶段发现的需求错误,就需要根据修改的需求重新进行设计,重新编码,并再次进行测试。结论:一定要尽量消除或者减少需求阶段产生错误的可能。实例2001年黑龙江地方税务局基于群集的管理信息系统开发代码表需求错误。本课主要讨论问题1软件生产中的需求问题2软件工程及软件需求概述3软件需求的作用和意义4需求工程第1章需求工程导论示例背景用户A购买了一套商品房,需要进行装修.制定的目标是:装修现代时尚,质量好,价格低(性价合理)开发商B专门从事房屋装修开发不变的策略,满足用户需求,获取更高的利润2软件工程及软件需求概述第1章需求工程导论示例过程(一)用户A开发商B派出的房屋装修顾问C双方在热情友好的气氛中开展了以下工作C带领有关人员测量了用户A的房屋;C询问了A关于房屋装修的有关细节;C给出了一个A希望的装修愿景;A对该愿景的细节进行了询问,并认为价格过高;C根据用户的希望对原愿景进行了修改.形成了双方认可的愿景用户A开发商B派出的房屋装修顾问C开发商B派出的工长D(属于B或者是第3方)三方在热情友好的气氛中进行了激烈的讨论形成了最终的装修愿景2软件工程及软件需求概述第1章需求工程导论示例过程(二)C通宵达旦根据装修愿景完成了装修设计图纸;C召集用户A和工长D对设计图纸征求意见;并根据意见形成了最终的设计图纸。用户A开发商B派出的房屋装修顾问C开发商B派出的工长D(属于B或者是第3方)2软件工程及软件需求概述第1章需求工程导论示例过程(三)开发商B派出的工长D(属于B或者是第3方)水电工瓦工木工油漆工电工焕然一新的房子!?2软件工程及软件需求概述第1章需求工程导论示例过程(四)用户A开发商B派出的工长D(属于B或者是第3方)水电工瓦工木工油漆工电工用户对水电进度不满意用户对主卧的水泥标号产生怀疑用户对阳台吊顶提出修改意见油漆工认为原认定的油漆不够用电工建议在三个卧室都增加网络接口按照用户愿景和设计方案逐项进行验收2软件工程及软件需求概述第1章需求工程导论示例过程(五)就房屋的保养问题对用户进行了培训;并再一次确认保修期三个月。就房屋可能会出现的问题对用户进行了说明并留下电话号码,随时进行联系。2软件工程及软件需求概述第1章需求工程导论软件的生存周期问题定义可行性研究需求分析软件设计编码测试维护计划时期开发时期运行时期产品:战略规划报告产品:可行性研究报告产品:需求分析报告产品:概要设计报告详细设计方案产品:测试方案产品:维护及培训报告2软件工程及软件需求概述第1章需求工程导论软件的生存周期问题定义可行性研究需求分析软件设计编码测试维护计划时期开发时期运行时期产品:战略规划报告产品:可行性研究报告2软件工程及软件需求概述第1章需求工程导论示例背景用户A购买了一套商品房,需要进行装修.制定的目标是:装修现代时尚,质量好,价格低(性价合理)开发商B专门从事房屋装修开发不变的策略,满足用户需求,获取更高的利润产品:战略规划报告2软件工程及软件需求概述第1章需求工程导论软件的生存周期问题定义可行性研究需求分析软件设计编码测试维护计划时期开发时期运行时期产品:需求分析报告2软件工程及软件需求概述第1章需求工程导论示例过程(一)用户A开发商B派出的房屋装修顾问C双方在热情友好的气氛中开展了以下工作C带领有关人员测量了用户A的房屋;C询问了A关于房屋装修的有关细节;C给出了一个A希望的装修愿景;A对该愿景的细节进行了询问,并认为价格过高;C根据用户的希望对原愿景进行了修改.形成了双方认可的愿景用户A开发商B派出的房屋装修顾问C开发商B派出的工长D(属于B或者是第3方)三方在热情友好的气氛中进行了激烈的讨论形成了最终的装修愿景产品:需求分析报告2软件工程及软件需求概述第1章需求工程导论需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.简言之,需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求.2软件工程及软件需求概述第1章需求工程导论软件的生存周期问题定义可行性研究需求分析软件设计编码测试维护计划时期开发时期运行时期产品:概要设计报告详细设计方案2软件工程及软件需求概述第1章需求工程导论示例过程(二)C通宵达旦根据装修愿景完成了装修设计图纸;C召集用户A和工长D对设计图纸征求意见;并根据意见形成了最终的设计图纸。用户A开发商B派出的房屋装修顾问C开发商B派出的工长D(属于B或者是第3方)产品:概要设计报告详细设计方案2软件工程及软件需求概述第1章需求工程导论软件的生存周期问题定义可行性研究需求分析软件设计编码测试维护计划时期开发时期运行时期2软件工程及软件需求概述第1章需求工程导论示例过程(三)开发商B派出的工长D(属于B或者是第3方)水电工瓦工木工油漆工电工焕然一新的房子!?2软件工程及软件需求概述第1章需求工程导论软件的生存周
本文标题:软件需求-第1课-软件需求工程导论(第1版)
链接地址:https://www.777doc.com/doc-6350070 .html