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