《软件工程10获得功能性需求.ppt》由会员分享,可在线阅读,更多相关《软件工程10获得功能性需求.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Software Engineering软件工程软件工程第十一章 获取功能性需求一、功能性需求一、功能性需求一、功能性需求一、功能性需求v功能性需求功能性需求是用来描述系统能够提供哪些功能来解决用户提出是用来描述系统能够提供哪些功能来解决用户提出的问题。的问题。v已经学习过的技术已经学习过的技术结构化的功能模型结构化的功能模型以数据流程图为核心,描述数据在流动加工过程中的以数据流程图为核心,描述数据在流动加工过程中的变化,抽取功能模型。变化,抽取功能模型。v面向对象的功能模型面向对象的功能模型强调人们日常描述问题的习惯和形式。强调人们日常描述问题的习惯和形式。分析者总是利用情景或经历来描述用户
2、和软件系统分析者总是利用情景或经历来描述用户和软件系统之间的交互方式,从而获取需求之间的交互方式,从而获取需求。IvarIvar Jacobson Jacobson把这种看法系统地把这种看法系统地阐述成阐述成 用例用例 的方法,利用它进行的方法,利用它进行需求获取和建模。需求获取和建模。v用例的概念用例的概念一一组用例的用例的实例,其中每个例,其中每个实例都是系例都是系统执行的一系行的一系列活列活动,这些活些活动产生了生了对某个参与者而言可某个参与者而言可观察的察的返回返回结果。果。用例描述了在不同条件下,系用例描述了在不同条件下,系统对某一某一项目相关人目相关人员的的请求所作出的响求所作出的
3、响应,是系,是系统中各相关人中各相关人员之之间就系就系统行行为所达成的契所达成的契约。根据参与者作出的根据参与者作出的请求和求和请求涉及的条件,系求涉及的条件,系统将将执行不同的行行不同的行为序列,每一行序列,每一行为序列被称之序列被称之为一个一个场景。景。一个用例是多个不同一个用例是多个不同场景的集合。景的集合。一、用例模型一、用例模型一、用例模型一、用例模型1.1.1.1.用例的描述形式用例的描述形式用例的描述形式用例的描述形式v用例用例实例例通通过万万维网网购买股票股票基本流程:基本流程:1、购买者者选择通通过万万维网来网来购买股票股票2、系、系统从用从用户那里得到所用站点的名称。那里得
4、到所用站点的名称。3、系、系统与与该站点建立网站点建立网络连接,并保持控制接,并保持控制权4、购买者在者在该站点上站点上浏览并并购买股票。股票。5、系、系统截取站点的响截取站点的响应信息,并更新信息,并更新购买者的者的记录6、系、系统向用向用户显示更新后的示更新后的记录情况情况分支流程:分支流程:2a.购买者要使用一个系者要使用一个系统不支持的站点:不支持的站点:2a1.系系统从从购买者那里者那里获取新建取新建议,转向向取消系取消系统支支持持的用例。的用例。3a.在在设置置过程中,网程中,网络发生故障:生故障:3a1.系系统向向购买者者报告告错误,并建,并建议他退回到第一步他退回到第一步 3a
5、2.购买者或者退出用例,或者重新再者或者退出用例,或者重新再试。4a.计算机系算机系统崩崩溃,或在交易,或在交易过程中被关掉程中被关掉 4a1.(这时我我们该怎么怎么办?)?)4b.web站点没有及站点没有及时认可此次可此次购买活活动,而是把它推,而是把它推迟处理:理:4b1.系系统把把这次推次推迟事件事件记入日志,入日志,设置一个置一个时钟,定期向定期向购买者者询问结果果v含含义用例是一个自包含的用例是一个自包含的单元元用例必用例必须由参与者由参与者发起并起并监控控用例必用例必须完成一个特定目完成一个特定目标用例用例应该使系使系统保持在保持在稳定状定状态v用例是黑盒用例是黑盒风格格需求并不是
6、在需求并不是在项目一开始就很明确,往往是随着目一开始就很明确,往往是随着项目的推目的推进,逐,逐渐细化。化。人的人的认知往往具有知往往具有层次的特性。从粗到次的特性。从粗到细、从一般到特殊。、从一般到特殊。采用不同的采用不同的层次来描述,适于次来描述,适于认知的知的过程。程。例子例子v用例的用例的层次次高高层次目次目标概要概要级用例用例低低层次目次目标用用户级用例用例 v用例模型用例模型是所有是所有书面用例的集合面用例的集合是系是系统功能性和功能性和环境的模型境的模型用例模型中可包括用例模型中可包括UML用例用例图,以,以显示用例和参与示用例和参与者的名称及其关系者的名称及其关系v用例的可用例
7、的可视化描述化描述v用例之用例之间间的的联联系系2.2.2.2.用例之间的关系用例之间的关系用例之间的关系用例之间的关系3.3.3.3.参与者参与者参与者参与者v概念概念也可称也可称为执行者。行者。是任何具有行是任何具有行为的人或事物。的人或事物。参与者和用例通信并且期待它的反参与者和用例通信并且期待它的反馈一个有价一个有价值或可或可觉察的察的结果。果。v参与者的参与者的类型有三种型有三种主要参与者主要参与者具有用具有用户目目标,并通,并通过使用当前系使用当前系统的服的服务完成。完成。例如,收例如,收银员。他。他们是是发现驱动用例的用用例的用户目目标。协助参与者助参与者为当前系当前系统提供服提
8、供服务。例如,自。例如,自动付付费授授权服服务。协助参与者通常是助参与者通常是计算机系算机系统,但也可以是,但也可以是组织或或人。通人。通过协助参与者可以明确外部接口和助参与者可以明确外部接口和协议。幕后参与者幕后参与者在用例行在用例行为中具有影响或利益,但不是主要或中具有影响或利益,但不是主要或协助助参与者。例如政府税收机关。幕后参与者的确定确参与者。例如政府税收机关。幕后参与者的确定确保确定并保确定并满足所有必要的重要事足所有必要的重要事务。如果不明确地。如果不明确地对幕后参与者幕后参与者进行命名,行命名,则有有时很容易忽略其影响很容易忽略其影响或利益。或利益。4.4.4.4.用例的描述方
9、法用例的描述方法用例的描述方法用例的描述方法v三种常用形式三种常用形式摘要摘要简介的一段式概要,通常用于主成功介的一段式概要,通常用于主成功场景景非正式非正式非正式的段落格式。用几个段落覆盖非正式非正式的段落格式。用几个段落覆盖非正式场景景详述述详细编写所有步写所有步骤及各种及各种变化,同化,同时具有具有补充部分,充部分,如前置条件和成功保障。如前置条件和成功保障。v用例是文本形式的。用例是文本形式的。v详详述形式的用例模板内容述形式的用例模板内容v将事件表按照参与者分将事件表按照参与者分组v对事件事件进行行归类,命名具有群集,命名具有群集趋向的事件向的事件这些事件的共同点是什么?些事件的共同
10、点是什么?这些事件有相同的最些事件有相同的最终目目标吗?倘若有,目?倘若有,目标是什是什么?么?v采用用例采用用例图描述分析的描述分析的结果果二、由事件表向用例的转化二、由事件表向用例的转化v用例用例产产生的生的过过程程v列出事件清单列出事件清单v将将MSMS项项目事件表目事件表进进行分行分组组v整理后的用例整理后的用例图图v对用例的描述用例的描述摘要式描述摘要式描述登录:设设定使用定使用权权限。用限。用户户提供用提供用户户名和密名和密码码,系,系统统根据注册信息根据注册信息进进行行验证验证,通,通过过后根据用后根据用户权户权限限显显示主界面。示主界面。藏书管理:对对个人个人拥拥有有图书图书信
11、息的管理。信息的管理。添加:登登记记新新购买图书购买图书的信息,包括的信息,包括书书名、作者、名、作者、译译者、出版社、者、出版社、购买时间购买时间(系(系统统自自动给动给出出录录入入时间时间)、价格、)、价格、对图书对图书的推荐信息、喜的推荐信息、喜爱爱程度(默程度(默认认情况下情况下为为3星,最高等星,最高等级为级为5级级,最低等最低等级为级为1级级),数量(默),数量(默认为认为1本,极个本,极个别别情况会出情况会出现现多本重复多本重复书书籍)、籍)、归类归类(方便(方便管理,可自己管理,可自己设设定定归类归类名称)。系名称)。系统统根据根据图书图书名称名称进进行重复行重复图书检查图书检
12、查之后,将之后,将图书图书信息信息进进行存行存储储,并提示存,并提示存储储成功。系成功。系统统重新重新显显示初始示初始录录入界面,用入界面,用户户可以可以进进行下一本行下一本图书图书的的录录入入过过程。程。查询:根据指定条件根据指定条件进进行行图书图书信息的信息的查询查询,条件包括,条件包括书书名、作者、名、作者、购买时间购买时间范范围围、喜、喜爱爱程度、程度、公开程度(是否公开程度(是否进进行晾晒)。行晾晒)。修改:图书资图书资料的内容有可能会出料的内容有可能会出现现偏差,通偏差,通过过信息修改功能改正偏差信息修改功能改正偏差还书:将将拣拣来的来的图书进图书进行行归还归还。从晒。从晒书场书场
13、上上捡捡来的来的图书图书到期后,到期后,拣书拣书者者应应主主动动向藏向藏书拥书拥有者有者归还图书归还图书。系。系统统在收到在收到捡书捡书者的者的归还请归还请求后,自求后,自动动向藏向藏书拥书拥有者有者发发送提示信息。藏送提示信息。藏书拥书拥有者在确定拿到有者在确定拿到图书图书后,通后,通过过系系统进统进行确行确认彻认彻底改底改变图书变图书的状的状态态(变为变为被晾晒被晾晒图书图书,或,或收回私人藏收回私人藏书书室)室)图书推荐:老老师们师们可以推荐自己喜可以推荐自己喜爱爱的的图书图书,得到的推荐列表可以作,得到的推荐列表可以作为购买图书为购买图书的依据。的依据。v非正式形式的非正式形式的样样例
14、例项项目用例目用例用例UC2:藏藏书书管理管理对对个人个人拥拥有有图书图书信息的管理。信息的管理。用例UC2.1:添加藏书基本流程:1.藏藏书书者登者登记记新新购买图书购买图书的信息,包括的信息,包括书书名、作者、名、作者、译译者、出版社、者、出版社、购买时间购买时间(系(系统统自自动给动给出出录录入入时间时间)、价格、)、价格、对图书对图书的推荐信息、喜的推荐信息、喜爱爱程度(默程度(默认认情况下情况下为为3星,最高等星,最高等级为级为5级级,最,最低等低等级为级为1级级),数量(默),数量(默认为认为1本,极个本,极个别别情况会出情况会出现现多本重复多本重复书书籍)、籍)、归类归类(方便管
15、理,(方便管理,可自己可自己设设定定归类归类名称)。名称)。2.系系统进统进行行输输入信息的有效性入信息的有效性检查检查3.系系统统根据根据图书图书名称名称进进行重复行重复图书检查图书检查4.存存储图书储图书信息,并提示存信息,并提示存储储成功。成功。5.系系统统重新重新显显示初始示初始录录入界面,用入界面,用户户可以可以进进行下一本行下一本图书图书的的录录入入过过程。程。分支流程:1.a、如果藏如果藏书书者者录录入信息有入信息有误误 1、系、系统统提示藏提示藏书书者此信息者此信息 2、返回添加藏、返回添加藏书书界面,界面保持原来填写数据界面,界面保持原来填写数据3.a、如果如果图书图书名称名
16、称发发生重复,系生重复,系统统将提示此信息,并将提示此信息,并给给出相出相应图书应图书列表,用列表,用户户可以可以查阅图书查阅图书的的详细详细信息,同信息,同时时要求用要求用户对户对此情况此情况进进行行处处理。理。1、如果确如果确认图书录认图书录入重复,入重复,则则系系统统放弃放弃对对当前当前图书图书信息的存信息的存储储2、如果只是同名不同如果只是同名不同书书,则则用用户户确确认认此情况后,系此情况后,系统对统对当前当前录录入的入的图书图书信息信息进进行保存。行保存。v详详述形式的述形式的样样例例项项目用例目用例 分支流程:1.a、如果藏、如果藏书者者录入信息有入信息有误 1、系、系统提示藏提
17、示藏书者此信息者此信息 2、返回添加藏、返回添加藏书界面,界面保持原来填写数据界面,界面保持原来填写数据3.a、如果、如果图书名称名称发生重复,系生重复,系统将提示此信息,并将提示此信息,并给出相出相应图书列表,用列表,用户可以可以查阅图书的的详细信息,同信息,同时要求用要求用户对此情况此情况进行行处理。理。1、如果确如果确认图书录入重复,入重复,则系系统放弃放弃对当前当前图书信息的存信息的存储2、如果只是同名不同如果只是同名不同书,则用用户确确认此情况后,系此情况后,系统对当前当前录入的入的图书信息信息进行保存。行保存。特殊需求:希望能希望能够上上传图书封皮的小封皮的小图像像 希望系希望系统
18、能能够对新新录入的入的图书自自动根据根据编码规则编号号技术和数据变元表:资料管理料管理员在在录入入图书信息信息时,希望使用,希望使用读卡器卡器读取取图书的的ISDN号号发生频率:阵发式式杂项:系系统是否能是否能够提供嵌入式的提供嵌入式的图像像扫描功能,并自描功能,并自动转换成成图书封面格式封面格式v练习练习:将:将RP项项目事件表目事件表进进行分行分组组(原始表)(原始表)RPRP公司的公司的应用程序中的事件表用程序中的事件表主语动词宾语频率到达方式响应顾客客下下订单1000/1000/天天阵发式式编辑订单并将其保存在系并将其保存在系统中中运运货职员发送送货物物700/700/天天阵发式式货物
19、打包,并根据物打包,并根据发货要求要求发货顾客客购买担保担保60/60/天天阵发式式按条款确按条款确认货物并物并记录顾客客修改修改订单5/5/天天阵发式式编辑修改修改订单并并记录供供应商商发送送商品目商品目录510/510/天天阵发式式登登记新的商品目新的商品目录顾客客取消取消订单1/1/周周阵发式式从系从系统中中删除除订单时间产生生延期交延期交货报告告3/3/周周阵发式式产生生报告告时间产生生会会计接口数据接口数据1/1/周周阵发式式向系向系统添加接口数据添加接口数据客客户服服务职员修改修改地址地址5/5/周周阵发式式修改地址修改地址打包打包职员准准备货物物100/100/天天阵发式式打包完
20、打包完毕,准,准备发货经理理查询订单5/5/天天阵发式式完成要求完成要求财务职员查询应付款付款发票票10/10/天天阵发式式产生欠款生欠款报表表顾客客查询订单200/200/天天阵发式式提供提供订单信息信息v对事件按照参与者分事件按照参与者分组后的事件表后的事件表主语动词宾语频率到达方式响应顾客客下下订单1000/1000/天天阵发式式编辑订单并将其保存在系并将其保存在系统中中顾客客购买担保担保60/60/天天阵发式式按条款确按条款确认货物并物并记录顾客客修改修改订单5/5/天天阵发式式编辑修改修改订单并并记录顾客客取消取消订单1/1/周周阵发式式从系从系统中中删除除订单顾客客查询订单200/
21、200/天天阵发式式提供提供订单信息信息运运货职员发送送货物物700/700/天天阵发式式货物打包,并根据物打包,并根据发货要求要求发货供供应商商发送送商品目商品目录510/510/天天阵发式式登登记新的商品目新的商品目录时间产生生延期交延期交货报告告3/3/周周阵发式式产生生报告告时间产生生会会计接口数据接口数据1/1/周周阵发式式向系向系统添加接口数据添加接口数据客客户服服务职员修改修改地址地址5/5/周周阵发式式修改地址修改地址打包打包职员准准备货物物100/100/天天阵发式式打包完打包完毕,准,准备发货经理理查询订单5/5/天天阵发式式完成要求完成要求财务职员查询应付款付款发票票10
22、/10/天天阵发式式产生欠款生欠款报表表v整理后的用例整理后的用例图v显示示执行者的意行者的意图,而不是,而不是动作作 修改前修改前顾客使用客使用ID和密和密码进入系入系统系系统验证顾客身份客身份顾客提供姓名客提供姓名顾客提供地址客提供地址顾客提供客提供电话号号码顾客客选取商品取商品顾客确定客确定购买商品数量商品数量系系统验证是否是否为老老顾客客系系统打开打开库存系存系统的的连接接系系统通通过库存系存系统请求当前求当前库存量存量库存系存系统返回当前返回当前库存量存量系系统验证购买商品的数量是否足商品的数量是否足够三、用例编写的准则三、用例编写的准则三、用例编写的准则三、用例编写的准则 修改后修
23、改后顾客使用客使用ID、密、密码进入系入系统系系统验证顾客身份客身份顾客提供姓名、地址、客提供姓名、地址、电话号号码系系统验证顾客是否客是否为老老顾客客顾客客选择购买商品及相关数量商品及相关数量系系统有有库存系存系统验证购买商品是否有足商品是否有足够库存存v从俯从俯视的角度的角度编写用例写用例修改前修改前系系统读取取ATM卡和卡和PIN号号码,并从,并从账号余号余额中扣除一中扣除一定数量定数量修改后修改后用用户插入插入ATM卡并卡并输入入PIN号号码系系统从从账号余号余额中扣除一定数量中扣除一定数量v“确确认”而不是而不是“检查是否是否”修改前修改前系系统检查密密码是否正确是否正确如果密如果密码正确,系正确,系统向用向用户提供有效操作提供有效操作修改后修改后系系统确确认密密码正确正确系系统向用向用户提供有效操作提供有效操作本章知识点总结本章知识点总结本章知识点总结本章知识点总结v获得功能性需求获得功能性需求用例模型的作用用例模型的作用如何构建用例模型如何构建用例模型
限制150内