软件工程11获得功能性需求2009_第1页
软件工程11获得功能性需求2009_第2页
软件工程11获得功能性需求2009_第3页
软件工程11获得功能性需求2009_第4页
软件工程11获得功能性需求2009_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、software engineering第十一章 获取功能性需求一、功能性需求一、功能性需求v功能性需求功能性需求 是用来描述系统能够提供哪些功能来解决用户提出是用来描述系统能够提供哪些功能来解决用户提出的问题。的问题。v已经学习过的描述功能性需求技术已经学习过的描述功能性需求技术 结构化的功能模型结构化的功能模型 以数据流程图为核心,描述数据在流动加工过程中的以数据流程图为核心,描述数据在流动加工过程中的变化,抽取功能模型。变化,抽取功能模型。v面向对象的功能模型面向对象的功能模型 强调人们日常描述问题的习惯和形式。强调人们日常描述问题的习惯和形式。 分析者利用情景或经历来描述用户和软件系统

2、之间分析者利用情景或经历来描述用户和软件系统之间的交互方式,从而获取需求。的交互方式,从而获取需求。ivar jacobsonivar jacobson把这种看法系统地把这种看法系统地阐述成阐述成 用例用例 的方法,利用它进行的方法,利用它进行需求获取和建模。需求获取和建模。v用例的概念用例的概念 用例描述了在不同条件下,系统对某一项目相关人员用例描述了在不同条件下,系统对某一项目相关人员的请求所作出的响应,是系统中各相关人员之间就系的请求所作出的响应,是系统中各相关人员之间就系统行为所达成的契约。统行为所达成的契约。 根据参与者作出的请求和请求涉及的条件,系统将执根据参与者作出的请求和请求涉

3、及的条件,系统将执行不同的行为序列,每一行为序列被称之为一个场景。行不同的行为序列,每一行为序列被称之为一个场景。 一个用例是多个不同场景的集合。一个用例是多个不同场景的集合。二、用例模型二、用例模型1.1.用例的描述形式用例的描述形式v 用例实例用例实例 用例名称:通过万维网购买股票用例名称:通过万维网购买股票 范围:私人顾问系统中金融包功能(范围:私人顾问系统中金融包功能(paf) 项目相关人员和利益:项目相关人员和利益: 购买购买购买股票,并希望所买股票能自动被加到金融包中。购买股票,并希望所买股票能自动被加到金融包中。 股票代理商股票代理商希望得到全部的购买信息。希望得到全部的购买信息

4、。 前置条件:用户已经启动前置条件:用户已经启动paf 成功保障:远程成功保障:远程web站点认可此次购买事件;日志和用户记站点认可此次购买事件;日志和用户记录被更新。录被更新。 基本流程:基本流程:1、购买者选择通过万维网来购买股票。、购买者选择通过万维网来购买股票。2、系统从用户那里得到所用站点的名称。、系统从用户那里得到所用站点的名称。3、系统与该站点建立网络连接,并保持控制权。、系统与该站点建立网络连接,并保持控制权。4、购买者在该站点上浏览并购买股票。、购买者在该站点上浏览并购买股票。5、系统截取站点的响应信息,并更新购买者的记录。、系统截取站点的响应信息,并更新购买者的记录。6、系

5、统向用户显示更新后的记录情况。、系统向用户显示更新后的记录情况。 分支流程:分支流程:2a. 购买者要使用一个系统不支持的站点:购买者要使用一个系统不支持的站点: 2a1.系统从购买者那里获取新建议,转向系统从购买者那里获取新建议,转向取消系统支取消系统支持持的用例。的用例。3a. 在设置过程中,网络发生故障:在设置过程中,网络发生故障: 3a1.系统向购买者报告错误,并建议他退回到第一步系统向购买者报告错误,并建议他退回到第一步 3a2.购买者或者退出用例,或者重新再试。购买者或者退出用例,或者重新再试。4a. 计算机系统崩溃,或在交易过程中被关掉计算机系统崩溃,或在交易过程中被关掉 4a1

6、.(这时我们该怎么办?)(这时我们该怎么办?)4b. web站点没有及时认可此次购买活动,而是把它推站点没有及时认可此次购买活动,而是把它推迟处理:迟处理: 4b1.系统把这次推迟事件记入日志,设置一个时钟,系统把这次推迟事件记入日志,设置一个时钟,定期向购买者询问结果定期向购买者询问结果v用例的特征用例的特征 用例是一个自包含的单元用例是一个自包含的单元 用例必须由参与者发起并监控用例必须由参与者发起并监控 用例必须完成一个特定目标用例必须完成一个特定目标 用例应该使系统保持在稳定状态用例应该使系统保持在稳定状态v 用例是黑盒风格用例是黑盒风格 需求并不是在项目一开始就很明确,往往是随着项目

7、的推需求并不是在项目一开始就很明确,往往是随着项目的推进,逐渐细化。进,逐渐细化。 人的认知往往具有层次的特性。从粗到细、从一般到特殊。人的认知往往具有层次的特性。从粗到细、从一般到特殊。采用不同的层次来描述,适于认知的过程。采用不同的层次来描述,适于认知的过程。 例子例子v 用例的层次用例的层次 高层次目标高层次目标概要级用例概要级用例 低层次目标低层次目标用户级用例用户级用例 v用例模型用例模型 是所有书面用例的集合是所有书面用例的集合 是系统功能性和环境的模型是系统功能性和环境的模型 用例模型中可包括用例模型中可包括uml用例图,以显示用例和参与用例图,以显示用例和参与者的名称及其关系者

8、的名称及其关系v 用例的可视化描述用例的可视化描述2.2.用例之间的关系用例之间的关系v用例之间的联系用例之间的联系3.3.参与者参与者v概念概念 也可称为执行者。也可称为执行者。 是任何具有行为的人或事物。是任何具有行为的人或事物。 参与者和用例通信并且期待它的反馈参与者和用例通信并且期待它的反馈一个有价一个有价值或可觉察的结果。值或可觉察的结果。v参与者的类型有三种参与者的类型有三种 主要参与者主要参与者 具有用户目标,并通过使用当前系统的服务完成。具有用户目标,并通过使用当前系统的服务完成。例如,收银员。他们是发现驱动用例的用户目标。例如,收银员。他们是发现驱动用例的用户目标。 协助参与

9、者协助参与者 为当前系统提供服务。例如,自动付费授权服务。为当前系统提供服务。例如,自动付费授权服务。协助参与者通常是计算机系统,但也可以是组织或协助参与者通常是计算机系统,但也可以是组织或人。通过协助参与者可以明确外部接口和协议。人。通过协助参与者可以明确外部接口和协议。 幕后参与者幕后参与者 在用例行为中具有影响或利益,但不是主要或协助在用例行为中具有影响或利益,但不是主要或协助参与者。例如政府税收机关。幕后参与者的确定确参与者。例如政府税收机关。幕后参与者的确定确保确定并满足所有必要的重要事务。如果不明确地保确定并满足所有必要的重要事务。如果不明确地对幕后参与者进行命名,则有时很容易忽略

10、其影响对幕后参与者进行命名,则有时很容易忽略其影响或利益。或利益。4.4.用例的描述方法用例的描述方法v三种常用形式三种常用形式 摘要摘要 简介的一段式概要,通常用于主成功场景简介的一段式概要,通常用于主成功场景 非正式非正式 非正式的段落格式。用几个段落覆盖非正式场景非正式的段落格式。用几个段落覆盖非正式场景 详述详述 详细编写所有步骤及各种变化,同时具有补充部分,详细编写所有步骤及各种变化,同时具有补充部分,如前置条件和成功保障。如前置条件和成功保障。v用例是文本形式的。用例是文本形式的。v详述形式的用例模板内容详述形式的用例模板内容用例的不同部分用例的不同部分用例名称范围级别主要参与者涉

11、众及其关注点前置条件成功保证基本流程分支流程特殊需求技术和数据变元表发生频率杂项以动词开始要设计的系统“用户目标”或是“子功能”注释注释调用系统,使之交付服务关注该用例的人及其需要值得告知读者的,开始前必须为真的条件值得告知读者的,成功完成必须满足的条件影响对实现的调查、测试和时间安排例如未解决问题典型的、无条件的、理想方式的成功场景成功或失败的替代场景相关的非功能性需求不同的i/o方法和数据格式v构建用例的过程构建用例的过程 将事件表按照参与者分组将事件表按照参与者分组 对事件进行归类,命名具有群集趋向的事件对事件进行归类,命名具有群集趋向的事件 这些事件的共同点是什么?这些事件的共同点是什

12、么? 这些事件有相同的最终目标吗?倘若有,目标是什么?这些事件有相同的最终目标吗?倘若有,目标是什么? 采用用例图描述分析的结果采用用例图描述分析的结果 对用例进行描述对用例进行描述三、由事件表向用例的转化三、由事件表向用例的转化v 用例产生的过程用例产生的过程1.1.描述系统特性描述系统特性v根据业务目标构建系统特性根据业务目标构建系统特性v列出事件清单列出事件清单2.2.编写事件清单编写事件清单3.3.编写事件表编写事件表主主语语谓谓语语宾宾语语到到达达方方式式响响应应资料管理员登记新书阵发式编辑新书,并保存在系统中读者借阅图书阵发式告知藏书者要借阅的信息并进行记录读者归还图书阵发式告知藏

13、书者要借阅的信息并进行记录资料管理员获得图书统计清单阵发式产生图书统计清单资料管理员获得图书推荐清单阵发式产生图书推荐清单藏书者保存图书资料阵发式编辑资料,并保存在系统中藏书者公开闲置图书阵发式完成要求拣书者获得晒书清单阵发式完成要求拣书者收藏书目阵发式记录收藏信息拣书者获得图书阵发式修改图书借阅状态拣书者评论图书阵发式记录评语拣书者推荐图书阵发式编辑推荐信息并保存在系统中系统发送催还通知单周期式产生到期催还通知单系统生成图书统计表周期式产生图书统计表v将将msms项目事件表进行分组项目事件表进行分组主语主语谓语谓语宾语宾语到达方式到达方式响应响应资料管理员登记新书阵发式编辑新书,并保存在系统

14、中资料管理员获得图书统计清单阵发式产生图书统计清单,并以报表的形式进行输出资料管理员获得图书推荐清单阵发式产生图书推荐清单,并以报表的形式进行输出系统使用者验证身份阵发式根据系统保存的用户信息进行比对,做出是否是系统用户的答复藏书者修改图书资料阵发式编辑资料,并保存在系统中藏书者添加藏书信息阵发式编辑新加入的图书信息,并保存在系统中藏书者删除藏书信息阵发式从系统中删除此项图书信息藏书者公开闲置图书阵发式完成要求拣书者借阅图书阵发式告知藏书者要借阅的信息并进行记录拣书者归还图书阵发式告知藏书者要借阅的信息并进行记录拣书者获得晒书清单阵发式完成要求拣书者收藏书目阵发式记录收藏信息拣书者获得图书阵发

15、式修改图书借阅状态拣书者评论图书阵发式记录评语拣书者推荐图书阵发式编辑推荐信息并保存在系统中系统发送催还通知单周期式产生到期催还通知单系统生成图书统计表周期式产生图书统计表v整理后的用例图整理后的用例图4.4.使用用例图进行归纳整理使用用例图进行归纳整理5.5.对用例进行描述对用例进行描述v对用例的描述对用例的描述 摘要式描述摘要式描述登录:设定使用权限。用户提供用户名和密码,系统根据注册信息进行验证,通:设定使用权限。用户提供用户名和密码,系统根据注册信息进行验证,通过后根据用户权限显示主界面。过后根据用户权限显示主界面。藏书管理:对个人拥有图书信息的管理。对个人拥有图书信息的管理。添加:登

16、记新购买图书的信息,包括书名、作者、译者、出版社、购买时间(系登记新购买图书的信息,包括书名、作者、译者、出版社、购买时间(系统自动给出录入时间)、价格、对图书的推荐信息、喜爱程度(默认情况下为统自动给出录入时间)、价格、对图书的推荐信息、喜爱程度(默认情况下为3星星,最高等级为,最高等级为5级,最低等级为级,最低等级为1级),数量(默认为级),数量(默认为1本,极个别情况会出现多本本,极个别情况会出现多本重复书籍)、归类(方便管理,可自己设定归类名称)。系统根据图书名称进行重复书籍)、归类(方便管理,可自己设定归类名称)。系统根据图书名称进行重复图书检查之后,将图书信息进行存储,并提示存储成

17、功。系统重新显示初始重复图书检查之后,将图书信息进行存储,并提示存储成功。系统重新显示初始录入界面,用户可以进行下一本图书的录入过程。录入界面,用户可以进行下一本图书的录入过程。还书:将拣来的图书进行归还。从晒书场上捡来的图书到期后,拣书者应主动向将拣来的图书进行归还。从晒书场上捡来的图书到期后,拣书者应主动向藏书拥有者归还图书。系统在收到捡书者的归还请求后,自动向藏书拥有者发送藏书拥有者归还图书。系统在收到捡书者的归还请求后,自动向藏书拥有者发送提示信息。藏书拥有者在确定拿到图书后,通过系统进行确认彻底改变图书的状提示信息。藏书拥有者在确定拿到图书后,通过系统进行确认彻底改变图书的状态(变为

18、被晾晒图书,或收回私人藏书室)态(变为被晾晒图书,或收回私人藏书室)图书推荐:老师们可以推荐自己喜爱的图书,得到的推荐列表可以作为购买图书老师们可以推荐自己喜爱的图书,得到的推荐列表可以作为购买图书的依据。的依据。v 非正式形式的样例项目用例非正式形式的样例项目用例用例uc2:藏书管理藏书管理对个人拥有图书信息的管理。对个人拥有图书信息的管理。用例uc2.1:添加藏书基本流程:藏书者登记新购买图书的信息,包括书名、作者、译者、出版社、购买时间(系统自动藏书者登记新购买图书的信息,包括书名、作者、译者、出版社、购买时间(系统自动给出录入时间)、价格、对图书的推荐信息、喜爱程度(默认情况下为给出录

19、入时间)、价格、对图书的推荐信息、喜爱程度(默认情况下为3星,最高等级为星,最高等级为5级,最低等级为级,最低等级为1级),数量(默认为级),数量(默认为1本,极个别情况会出现多本重复书籍)、归类(方本,极个别情况会出现多本重复书籍)、归类(方便管理,可自己设定归类名称)。便管理,可自己设定归类名称)。系统进行输入信息的有效性检查系统进行输入信息的有效性检查系统根据图书名称进行重复图书检查系统根据图书名称进行重复图书检查存储图书信息,并提示存储成功。存储图书信息,并提示存储成功。系统重新显示初始录入界面,用户可以进行下一本图书的录入过程。系统重新显示初始录入界面,用户可以进行下一本图书的录入过

20、程。分支流程:1.a、如果藏书者录入信息有误如果藏书者录入信息有误 1、系统提示藏书者此信息、系统提示藏书者此信息 2、返回添加藏书界面,界面保持原来填写数据、返回添加藏书界面,界面保持原来填写数据3.a、如果图书名称发生重复,系统将提示此信息,并给出相应图书列表,用户可以查阅图如果图书名称发生重复,系统将提示此信息,并给出相应图书列表,用户可以查阅图书的详细信息,同时要求用户对此情况进行处理。书的详细信息,同时要求用户对此情况进行处理。1、 如果确认图书录入重复,则系统放弃对当前图书信息的存储如果确认图书录入重复,则系统放弃对当前图书信息的存储2、 如果只是同名不同书,则用户确认此情况后,系

21、统对当前录入的图书信息进行保存。如果只是同名不同书,则用户确认此情况后,系统对当前录入的图书信息进行保存。v 详述形式的样例项目用例详述形式的样例项目用例 分支流程:分支流程:1.a、如果藏书者录入信息有误、如果藏书者录入信息有误 1、系统提示藏书者此信息、系统提示藏书者此信息 2、返回添加藏书界面,界面保持原来填写数据、返回添加藏书界面,界面保持原来填写数据3.a、如果图书名称发生重复,系统将提示此信息,并给出相应图书列表,、如果图书名称发生重复,系统将提示此信息,并给出相应图书列表,用户可以查阅图书的详细信息,同时要求用户对此情况进行处理。用户可以查阅图书的详细信息,同时要求用户对此情况进

22、行处理。1、 如果确认图书录入重复,则系统放弃对当前图书信息的存储如果确认图书录入重复,则系统放弃对当前图书信息的存储2、 如果只是同名不同书,则用户确认此情况后,系统对当前录入的图书信如果只是同名不同书,则用户确认此情况后,系统对当前录入的图书信息进行保存。息进行保存。特殊需求:特殊需求: 希望能够上传图书封皮的小图像希望能够上传图书封皮的小图像 希望系统能够对新录入的图书自动根据编码规则编号希望系统能够对新录入的图书自动根据编码规则编号技术和数据变元表技术和数据变元表: 资料管理员在录入图书信息时,希望使用读卡器读取图书的资料管理员在录入图书信息时,希望使用读卡器读取图书的isdn号号发生

23、频率:阵发式发生频率:阵发式v 练习:将练习:将rp项目事件表进行分组(原始表)项目事件表进行分组(原始表)主语顾客顾客运货职员运货职员顾客顾客顾客顾客供应商供应商顾客顾客时间时间时间时间客户服务职员客户服务职员打包职员打包职员经理经理财务职员财务职员顾客顾客动词下下发送发送购买购买修改修改发送发送取消取消产生产生产生产生修改修改准备准备查询查询查询查询查询查询rprp公司的应用程序中的事件表公司的应用程序中的事件表宾语订单订单货物货物担保担保订单订单商品目录商品目录订单订单延期交货报告延期交货报告会计接口数据会计接口数据地址地址货物货物订单订单应付款发票应付款发票订单订单频率1000/100

24、0/天天700/700/天天60/60/天天5/5/天天510/510/天天1/1/周周3/3/周周1/1/周周5/5/周周100/100/天天5/5/天天10/10/天天200/200/天天到达方式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式阵发式响应编辑订单并将其保存在系统中编辑订单并将其保存在系统中货物打包,并根据发货要求发货货物打包,并根据发货要求发货按条款确认货物并记录按条款确认货物并记录编辑修改订单并记录编辑修改订单并记录登记新的商品目录登记新的商品目录从系统中删除订单从系统中

25、删除订单产生报告产生报告向系统添加接口数据向系统添加接口数据修改地址修改地址打包完毕,准备发货打包完毕,准备发货完成要求完成要求产生欠款报表产生欠款报表提供订单信息提供订单信息v 对事件按照参与者分组后的事件表对事件按照参与者分组后的事件表主语动词宾语频率到达方式响应顾客顾客下下订单订单1000/1000/天天阵发式阵发式编辑订单并将其保存在系统中编辑订单并将其保存在系统中顾客顾客购买购买担保担保60/60/天天阵发式阵发式按条款确认货物并记录按条款确认货物并记录顾客顾客修改修改订单订单5/5/天天阵发式阵发式编辑修改订单并记录编辑修改订单并记录顾客顾客取消取消订单订单1/1/周周阵发式阵发式

26、从系统中删除订单从系统中删除订单顾客顾客查询查询订单订单200/200/天天阵发式阵发式提供订单信息提供订单信息运货职员运货职员发送发送货物货物700/700/天天阵发式阵发式货物打包,并根据发货要求发货货物打包,并根据发货要求发货供应商供应商发送发送商品目录商品目录510/510/天天阵发式阵发式登记新的商品目录登记新的商品目录时间时间产生产生延期交货报告延期交货报告3/3/周周阵发式阵发式产生报告产生报告时间时间产生产生会计接口数据会计接口数据1/1/周周阵发式阵发式向系统添加接口数据向系统添加接口数据客户服务职员客户服务职员修改修改地址地址5/5/周周阵发式阵发式修改地址修改地址v 整理

27、后的用例图整理后的用例图v 显示执行者的意图,而不是动作显示执行者的意图,而不是动作 顾客使用顾客使用id和密码进入系统和密码进入系统 系统验证顾客身份系统验证顾客身份 顾客提供姓名顾客提供姓名 顾客提供地址顾客提供地址 顾客提供电话号码顾客提供电话号码 顾客选取商品顾客选取商品 顾客确定购买商品数量顾客确定购买商品数量 系统验证是否为老顾客系统验证是否为老顾客 系统打开库存系统的连接系统打开库存系统的连接 系统通过库存系统请求当前库存量系统通过库存系统请求当前库存量 库存系统返回当前库存量库存系统返回当前库存量 系统验证购买商品的数量是否足够系统验证购买商品的数量是否足够四、用例编写的准则四

28、、用例编写的准则 顾客使用顾客使用id、密码进入系统、密码进入系统 系统验证顾客身份系统验证顾客身份 顾客提供姓名、地址、电话号码顾客提供姓名、地址、电话号码 系统验证顾客是否为老顾客系统验证顾客是否为老顾客 顾客选择购买商品及相关数量顾客选择购买商品及相关数量 系统有库存系统验证购买商品是否有足够库存系统有库存系统验证购买商品是否有足够库存 v从俯视的角度编写用例从俯视的角度编写用例 修改前修改前 系统读取系统读取atm卡和卡和pin号码,并从账号余额中扣除一号码,并从账号余额中扣除一定数量定数量 修改后修改后 用户插入用户插入atm卡并输入卡并输入pin号码号码 系统从账号余额中扣除一定数

29、量系统从账号余额中扣除一定数量v“确认确认”而不是而不是“检查是否检查是否” 修改前修改前 系统检查密码是否正确系统检查密码是否正确 如果密码正确,系统向用户提供有效操作如果密码正确,系统向用户提供有效操作 修改后修改后 系统确认密码正确系统确认密码正确 系统向用户提供有效操作系统向用户提供有效操作v 登记课程登记课程 1.显示一张空白的课程表。显示一张空白的课程表。 2.显示所有课程的列表,方式如下:左端窗口按字母顺序列出系统显示所有课程的列表,方式如下:左端窗口按字母顺序列出系统中的所有课程;底部窗口显示突出课程的上课时间;第中的所有课程;底部窗口显示突出课程的上课时间;第3个窗口显个窗口显示当前课表中的所有课程。示当前课表中的所有课程。 3.选择课程。选择课程。 4.学生单击某一课程。学生单击某一课程。 5.更新底部窗口,显示该课程的上课时间。更新底部窗口,显示该课程的上课时间。 6.学生单击该课程某一时间,然后单击学生单击该课程某一时间,然后单击“添加课程添加课程”按钮。按钮。 7.检查学生是否学习了必要的前导课程,以及该课程是否没有限制。检查学生

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论