第2章需求工程.ppt
- 文档编号:2740340
- 上传时间:2022-11-10
- 格式:PPT
- 页数:41
- 大小:181KB
第2章需求工程.ppt
《第2章需求工程.ppt》由会员分享,可在线阅读,更多相关《第2章需求工程.ppt(41页珍藏版)》请在冰豆网上搜索。
第第2章章需求工程需求工程l领域分析领域分析l需求获取需求获取l需求分析与建模需求分析与建模l需求规约与验证需求规约与验证l需求管理需求管理1西安交通大学刘海岩2.1领域分析领域分析1、领域分析的概念、领域分析的概念软件工程要处理两类工程:
软件工程要处理两类工程:
(1)面向用户的业务过程工程)面向用户的业务过程工程
(2)面向市场的产品工程)面向市场的产品工程(见下图)(见下图)领域领域(domain),就是指解决问题的范围,从最高层的,就是指解决问题的范围,从最高层的角度(业务域)描述系统。
角度(业务域)描述系统。
系统分析可以发生在许多不同的抽象层次:
系统分析可以发生在许多不同的抽象层次:
在业务或企业级层次,可定义描述模拟整个业务的功在业务或企业级层次,可定义描述模拟整个业务的功能、结构和行为的模型;能、结构和行为的模型;在应用层次,建模着重于特定的用户需求。
在应用层次,建模着重于特定的用户需求。
2西安交通大学刘海岩企业企业业务域业务域业务域业务域信息系统信息系统过程需求过程需求信息战略计划信息战略计划(全局视图)(全局视图)业务域分析业务域分析(领域视图)(领域视图)系统分析与设系统分析与设计建模计建模构造与集成构造与集成业务过程工程层次业务过程工程层次3西安交通大学刘海岩完整产品完整产品软件软件能力能力功能功能过程需求过程需求产品需求产品需求(全局视图)(全局视图)构件工程构件工程(领域视图)(领域视图)分析与设计分析与设计建模建模构造与集成构造与集成产品工程层次产品工程层次数据数据行为行为硬件硬件4西安交通大学刘海岩Firesmith对软件领域分析的定义是:
领域分析指对软件领域分析的定义是:
领域分析指特定应用领域中公共需求的标识、分析和规约,即发特定应用领域中公共需求的标识、分析和规约,即发现或创建那些可广泛应用的对象,其现或创建那些可广泛应用的对象,其目的目的使它们使它们在应在应用域中多个项目间能被复用用域中多个项目间能被复用。
领域分析的角色是设计。
领域分析的角色是设计和建造可复用构件(类似于制造环境中工具制造者的和建造可复用构件(类似于制造环境中工具制造者的角色),它们被很多相似但不一定是相同的应用开发角色),它们被很多相似但不一定是相同的应用开发的人所使用。
的人所使用。
Lethbridge的定义是:
领域分析是软件工程师的定义是:
领域分析是软件工程师了解了解背景信息的过程背景信息的过程。
为了理解问题并在需求分析和软件。
为了理解问题并在需求分析和软件工程过程的其他阶段作出合理的决策,软件工程师必工程过程的其他阶段作出合理的决策,软件工程师必须了解使用该类软件的一般性商业和技术领域中足够须了解使用该类软件的一般性商业和技术领域中足够的信息。
的信息。
5西安交通大学刘海岩2、领域分析过程的活动领域分析过程的活动
(1)定定义被被调查的的领域域中感兴趣的项中感兴趣的项从从业务域、系域、系统类型或型或产品范畴品范畴中中分离分离出出感感兴趣趣的的“项”。
感感兴趣的趣的项包括:
包括:
现存存的的应用用软件软件的的规约、设计和代和代码,支持,支持软件软件(如(如GUI或数据或数据库访问构件构件)以及以及和和领域相关的构件域相关的构件库以及以及测试案例。
案例。
(2)对从从领域中抽取出来的域中抽取出来的项进行分行分类并建立分并建立分类层次。
次。
6西安交通大学刘海岩(3)收集)收集领域中域中应用用系统系统的代表性的代表性样本。
本。
(4)分析)分析样本中的每个本中的每个应用用标识候选的每个可复用对象。
标识候选的每个可复用对象。
指明指明对象被象被标识为可复用的理由。
可复用的理由。
定定义对象的适象的适应性。
性。
估算在估算在领域中复用域中复用这些些对象的象的应用的百分率。
用的百分率。
使用配置管理技使用配置管理技术控制控制这些些对象。
象。
(5)为对象开发分析模型。
)为对象开发分析模型。
7西安交通大学刘海岩3、领域分析的价值领域分析的价值领域分析除了为软件复用奠定基础外,还为较低领域分析除了为软件复用奠定基础外,还为较低抽象层次的一般的系统分析带来如下好处:
抽象层次的一般的系统分析带来如下好处:
快速开快速开发。
有助于集中精力关注最重要的。
有助于集中精力关注最重要的问题,更有效地与相关人更有效地与相关人员进行交流,可以更快的确定需求。
行交流,可以更快的确定需求。
优化系化系统。
了解。
了解领域的域的细节有助于保有助于保证所采所采纳的的解决方案更有效地解决用解决方案更有效地解决用户的的问题。
会少犯。
会少犯错误,知,知道道应该遵循那些遵循那些规程和程和标准。
准。
领域分析域分析给出一个出一个应用用领域的域的总体体视图,会引,会引导出更好的抽象从而改出更好的抽象从而改进设计。
有了有了领域知域知识,就可以洞察新,就可以洞察新兴趋势及及进一步开一步开发的机会,有助于的机会,有助于创建适建适应性更性更强强的系的系统。
了解通用性和特殊性,有助于了解通用性和特殊性,有助于创建出具有更好的建出具有更好的可重用性和更可重用性和更宽的的销售市售市场的的软件。
件。
8西安交通大学刘海岩专家提出,没有坚实的领域分析,任何重大的软专家提出,没有坚实的领域分析,任何重大的软件项目都不应该进行。
对应用领域的深入理解能极大件项目都不应该进行。
对应用领域的深入理解能极大的提高成功的几率。
许多非常成功的软件产品的开发的提高成功的几率。
许多非常成功的软件产品的开发人员以前都在业务领域工作过段时间,对实际需要人员以前都在业务领域工作过段时间,对实际需要有着深切的感受。
有着深切的感受。
一旦对领域有了真正的理解,就可进行某一个项一旦对领域有了真正的理解,就可进行某一个项目(或产品)的需求分析,包括定义待解决的问题以目(或产品)的需求分析,包括定义待解决的问题以及开发什么软件来解决它。
然而,领域分析永远也不及开发什么软件来解决它。
然而,领域分析永远也不应该结束:
开发人员有责任在开发过程中不断增进他应该结束:
开发人员有责任在开发过程中不断增进他们的理解,后续版本的系统扩充通常需要对子领域进们的理解,后续版本的系统扩充通常需要对子领域进行进一步的领域分析。
行进一步的领域分析。
9西安交通大学刘海岩2.2需求获取需求获取1、需求、需求(requirements)的概念的概念
(1)需求的定义)需求的定义Jones定义为用户所需要的软件必须达到的目标和定义为用户所需要的软件必须达到的目标和能力。
能力。
Lethbridge定义为需求是关于系统将要完成什么定义为需求是关于系统将要完成什么工作的一段描述,它们必须经过所有相关人员的认可,工作的一段描述,它们必须经过所有相关人员的认可,其目的是彻底的解决用户的问题。
其目的是彻底的解决用户的问题。
需求是一段需求是一段描述描述:
意思是每个需求是相对短小简意思是每个需求是相对短小简明的一段信息,表现为一个事实。
它可以是一段话或用明的一段信息,表现为一个事实。
它可以是一段话或用各种图表示。
一组需求的集合成为需求文档。
各种图表示。
一组需求的集合成为需求文档。
关于系统将要完成什么工作关于系统将要完成什么工作:
需求描述了系统需求描述了系统应当完成的任务,不描述系统将如何实现。
应当完成的任务,不描述系统将如何实现。
必须经过所有相关人员的认可必须经过所有相关人员的认可:
意指需求必须意指需求必须经过评审,才能成为正式的需求。
经过评审,才能成为正式的需求。
其目的是彻底的解决用户的问题其目的是彻底的解决用户的问题。
有助于解决用有助于解决用户的问题,该需求才有存在的价值。
户的问题,该需求才有存在的价值。
10西安交通大学刘海岩业务需求业务需求项目范项目范围文档围文档用户需求用户需求用例用例文档文档功能需求功能需求质量属性质量属性其他非功其他非功能需求能需求设计约束设计约束需求需求规约规约非功能需求非功能需求系统需求系统需求需求组成的全景图需求组成的全景图
(2)需求的组成需求的组成对系统、产品高层对系统、产品高层次的目标要求。
次的目标要求。
用户使用产品必用户使用产品必须要完成的任务须要完成的任务11西安交通大学刘海岩其中:
其中:
业务需求需求:
反映:
反映组织机构和客机构和客户对系系统、产品高品高层次的目次的目标要求。
要求。
用用户需求需求:
从用户使用的角度给出需求的描述。
从用户使用的角度给出需求的描述。
如一个小型超市需要一个商品的查询系统。
如一个小型超市需要一个商品的查询系统。
业务需求:
进货人员需要查询商品库存以便保证及业务需求:
进货人员需要查询商品库存以便保证及时进货;收款员需要查询商品的销售价格以便结账;经时进货;收款员需要查询商品的销售价格以便结账;经理需要查询商品的销售及盈利情况。
理需要查询商品的销售及盈利情况。
用户需求用户需求:
这三类用户怎样去查询系统,查询哪些信这三类用户怎样去查询系统,查询哪些信息,还需要哪些操作。
息,还需要哪些操作。
12西安交通大学刘海岩系系统需求需求:
从:
从系统或技术的角度描述为实现业务需求和系统或技术的角度描述为实现业务需求和用户需求而提供的服务以及所受到的约束。
用户需求而提供的服务以及所受到的约束。
功能性需求功能性需求:
描述系统应该做什么,即为用户和其它系:
描述系统应该做什么,即为用户和其它系统完成的功能。
统完成的功能。
非功能性需求非功能性需求:
产品必须具备的属性或品质。
:
产品必须具备的属性或品质。
设计约束束:
设计与与实现必须遵循的标准、约束条件。
如实现必须遵循的标准、约束条件。
如运行平台、协议、选择的技术、编程语言和工具等。
运行平台、协议、选择的技术、编程语言和工具等。
(33)需求的描述)需求的描述自然自然语言、言、结构化语言、结构化语言、PDL图形化表示(使用图形化表示(使用RationalRose、MicrosoftVisio、EnterpriseArchitect等工具)等工具)数学描述(形式化语言描述)数学描述(形式化语言描述)13西安交通大学刘海岩2、需求工程过程、需求工程过程需求工程是一个包括创建和维持系统需求文档所必需求工程是一个包括创建和维持系统需求文档所必需的一切活动的过程。
它包含了如下活动:
需的一切活动的过程。
它包含了如下活动:
系统可行性研究、需求获取和分析、需求描述和文系统可行性研究、需求获取和分析、需求描述和文档编写、需求有效性验证、需求管理(管理需求工程档编写、需求有效性验证、需求管理(管理需求工程的变更)。
的变更)。
可行性研究可行性研究需求获取需求获取和分析和分析需求描述需求描述需求有效需求有效性验证性验证可行性研可行性研究报告究报告系统模型系统模型用户需求和用户需求和系统需求系统需求需求规约需求规约需求工程过程需求工程过程需求管理需求管理14西安交通大学刘海岩l可行性研究是需求工程过程的开始。
在较短的时间内可行性研究是需求工程过程的开始。
在较短的时间内作出结论。
集中回答以下问题:
作出结论。
集中回答以下问题:
(1)系统是否符合组织机构的总体目标。
系统不支)系统是否符合组织机构的总体目标。
系统不支持这些目标,就没有价值。
持这些目标,就没有价值。
(2)系统是否可能在现有的技术条件、预算和时间)系统是否可能在现有的技术条件、预算和时间限制内完成。
限制内完成。
(3)系统能否与已经存在的系统集成。
)系统能否与已经存在的系统集成。
l该活动要广泛收集信息并评估,回答一些有关的问题,该活动要广泛收集信息并评估,回答一些有关的问题,写出研究报告,得出结论:
写出研究报告,得出结论:
系统是否值得开发?
给出系统是否值得开发?
给出具体的意见和建议具体的意见和建议。
可能对系统高层需求、功能范围、。
可能对系统高层需求、功能范围、预算和时间安排提出修改意见。
预算和时间安排提出修改意见。
15西安交通大学刘海岩需求获取与需求分析的区别需求获取与需求分析的区别需求获取是开发人员与客户或用户一起对应用领域进需求获取是开发人员与客户或用户一起对应用领域进行调查研究,收集系统需求的过程。
行调查研究,收集系统需求的过程。
需求分析是将获取到的需求准确的理解、求精,并将需求分析是将获取到的需求准确的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 工程