《需求工程概述》PPT课件.ppt
《《需求工程概述》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《需求工程概述》PPT课件.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件需求工程软件需求工程讲授人:游静讲授人:游静课时:课时:48学时学时2023/1/212参考教材n毋国庆等,软件需求工程(第2版),机械工业出版社,2013n黄国兴等,软件需求工程,清华大学出版社,2008n于向东等,软件需求开发最佳实践,清华大学出版社,2014n霍雁等,软件需求工程,科学出版社,20122023/1/213软件开发的目标软件开发的目标n软件开发的目标,简单而言,就是满足用户的需要。n谁能准确地说出用户需要什么?客户?用户?开发者?2023/1/214一些基本概念一些基本概念n用户用户(user)。1.利用计算机系统所提供的服务的人(们);2.直接操作计算机系统的人(们)
2、,简单地说,就是直接使用软件系统的人(们)。n客户客户(customer)。1.掌握经费的人(们),通常由他(们)决定软件需求,客户可以是用户,也可以不是用户。2.正式接收新开发或修改后的硬件和软件系统的某个(些)人或组织。2023/1/215一些基本概念一些基本概念n软件开发人员软件开发人员(supplier)。为客户开发软件系统的人。n项目相关人员项目相关人员(stakeholder)。指与提出和定义软件需求相关的人,其包括所有的用户、客户、系统分析人员和软件开发人员。这些人都是软件需求的来源,只是他们站在不同的立场看待将要开发的软件系统。2023/1/2160 软件开发过程模型(回顾)软
3、件开发过程模型(回顾)1.瀑布式模型2.快速原型模型 3.渐增式模型 4.螺旋式模型 5.面向对象的开发模型 2023/1/217瀑布式模型要求用户一开始就提要求用户一开始就提出清晰完整的需求出清晰完整的需求用户的参与用户的参与程度不够程度不够2023/1/218瀑布式模型不足(1)由于开发模型是线性的,要求用户一开始就提出清晰完整的需求;(早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果)(2)段间移交信息(文档)的过程中,由于个人的理解不同,容易产生误解;(3)用户的参与程度不够。2023/1/219快速原型模型 明明确确并并完完善善需需求求2023/1/2110快速原型
4、模型优点和不足优点优点:(1)能弥补弥补瀑布模型中用户参与程度不够等不足;用户可以充分地参与到软件开发中;(2)能减少减少用户需求的遗漏以及(在软件开发后期)用户频繁修改需求的可能性;(4)快速快速。减少开发周期,降低成本。不足不足:(1)用户易于视原型为正式产品;(2)快速原型系统对于软件系统的开发环境要求较多,在一定程度上也影响了其使用的范围和实用价值。(3)对于难以被模块化的系统不适用。2023/1/2111渐增式模型 必须在实现各个构件之前就全部完成需求分析和概要设计工作。2023/1/2112螺旋式模型螺旋式模型将瀑布式模型与快速原型模型结合到一起,并加上风险分析。理解这种模型的一个
5、简便方法是把它看作在每个阶段之前都增加风险分析。2023/1/2113复杂复杂螺旋式模型螺旋式模型成本高成本高经验要求高经验要求高2023/1/2114面向对象的开发模型面向对象的开发模型 所谓面向对象就是应用对象、类、继承、封装、消息、对象或类之间的关系等面向对象的概念对问题进行分析和求解的软件开发技术,或者说,是以对象(类)为数据中心、对象之间的动态行为模式作为运行机制的一种问题求解方法。2023/1/2115面向对象的开发模型面向对象的开发模型n特点(1)有一部分分析工作必须在设计之前进行,而另外一些分析工作则需与其他部分的设计与实现工作并行地进行,因而呈现出非线性的工作方式非线性的工作
6、方式。(2)软件系统的表达形式在整个开发模型中都是相同的,即面向对象方法中把类及其结构作为系统的表达单元,无论哪一个阶段都以渐增的方式不断地渐增的方式不断地进化或细化进化或细化这些表达单元。(3)开发模型支持软件的重用软件的重用。2023/1/2116客户开发人员我们要建立一套完整的商业管理软件系统。ok,详细谈谈您想要它做什么?可以完成商品的进、销、存管理,是总店/门店的连锁经营模式。实现门店自动订货、供应商自动结算、卖场扫描条形码进行销售,管理人员可查询销售情况和库存。好的。我已经明白这个项目的大体框架,但在制订计划之前,我们必须先来收集一些需求。我不是刚告诉你我的需求了吗?您只说明了项目
7、的概念和目标。我们需要和使用系统的业务人员进行讨论,才能了解真正的功能要求。业务人员都很忙!他们没有时间!你们可以先开发一个系统或说明一下你们现有的系统。如果我们凭空猜想用户的需求来开发系统,结果不会让人满意。我们不是采购专家和财务专家,并不真正明白您企业内部运营需要做什么。行了行了,我没有那么多时间。按我告诉你的需求开发吧,马上开始,并随时将进展情况告诉我。需求是制定项目计划的基础需求是制定项目计划的基础2023/1/2117冰山模型美国著名心理学家麦克利兰于1973年提出了一个著名的素质冰山模型。所谓“冰山模型”,就是将人员个体素质的不同表现形式划分为表面的“冰山以上部分”和深藏的“冰山以
8、下部分”。其中,“冰山以上部分”包括基本知识、基本技能,是外在表现,是容易了解与测量的部分,相对而言也比较容易通过培训来改变和发展。而“冰山以下部分”包括社会角色、自我形象、特质和动机,是人内在的、难以测量的部分。它们不太容易通过外界的影响而得到改变,但却对人员的行为与表现起着关键性的作用。表面需求说得清潜在需求无意识2023/1/2118第一章需求工程概述1.1什么是软件需求什么是软件需求1.2软件需求的分类软件需求的分类1.3需求分析的重要性需求分析的重要性1.4需求规格说明需求规格说明1.5需求工程需求工程1.6需求工程面临的困难需求工程面临的困难2023/1/21191.1什么是软件需
9、求什么是软件需求n软件需求的各种定义(1)A.Davis认为:软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合。(2)I.Sommerville认为:需求是问题信息和系统行为、特性、设计和实现约束的描述的集合。(3)M.Jackson等人认为:需求是客户希望在问题域内产生的效果。2023/1/21201.1什么是软件需求什么是软件需求nIEEE关于软件需求的定义(1)用户解决问题或达到目标所需的条件或能力;(用户的角度)(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(软件系统的角度)软件需求是指软件系统必须满足的所有功能、性质
10、和限制。2023/1/21211.2软件需求的分类软件需求的分类n软件需求的分类(1)目标需求;(2)业务需求;(3)功能需求;(4)性能需求(非功能需求);(5)约束与限制。反映组织或客户对系统和产品提出的反映组织或客户对系统和产品提出的高层次的目标要求,其限定了项目的高层次的目标要求,其限定了项目的范围和应达到的目标。范围和应达到的目标。描述软件系统完成的任务、描述软件系统完成的任务、实际业务或工作流程等实际业务或工作流程等指开发人员必须实现的软件功能指开发人员必须实现的软件功能或软件系统应具体的外部行为或软件系统应具体的外部行为实现的软件系统功能应达实现的软件系统功能应达到的技术指标,如
11、计算效到的技术指标,如计算效率和精度、可靠性、可维率和精度、可靠性、可维护性和可扩展性等护性和可扩展性等软件开发人员在设计和实现软件开发人员在设计和实现软件系统时的限制,如开发软件系统时的限制,如开发语言、使用的数据库等语言、使用的数据库等2023/1/21221.2软件需求的分类软件需求的分类n软件需求间的层次关系 2023/1/21231.2软件需求的分类软件需求的分类n示例:文字处理系统相关需求用户使用系统能有效地纠正文档中的拼写错误,并且系统能满足用户的业务要求以及提高用户的工作效率。目标需求目标需求当找到文档中的拼写错误时,通过一个可供选择的单词表,并在选择单词表中的某一个单词后替换
12、掉原来的单词。业务需求业务需求查找文档中的单词,并高亮度地显示出错的单词。用对话框显示可供选择的单词表。实现整个文档范围内的替换。功能需求功能需求检查单词的速度快,准确率要求达到99,系统的有效性和可靠性要高等。非功能需求非功能需求文件内部格式要与word系统一致。开发平台为Linux系统,以及使用C语言等。约束与限制约束与限制2023/1/21241.3需求分析的重要性需求分析的重要性2023/1/2125系统分析员在项目中的作用1.3需求分析的重要性需求分析的重要性2023/1/21261.3需求分析的重要性需求分析的重要性n1994年:31.1%的项目完成之前被取消;52.7的项目实际花
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求工程概述 需求 工程 概述 PPT 课件
限制150内