《软件工程整理》PPT课件.ppt
《《软件工程整理》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件工程整理》PPT课件.ppt(193页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程软件工程软件工程软件工程第8章 面向对象建模复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)内容摘要内容摘要用况建模用况建模静态建模静态建模动态建模动态建模物理体系结构建模物理体系结构建模2复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)内容摘要内容摘要用况建模用况建模静态建模静态建模动态建模动态建模物理体系结构建模物理体系结构建模3复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况建模用况建模 用用况况建建模模是是用用于于描描述述一一个个系系统统应应该该做做
2、什什么么的的建建模模技技术术,用用况况建建模模不不仅仅用用于于新新系系统统的的需需求求获获取取,还还可可用用于于已有系统的升级。用况模型用用况图来描述已有系统的升级。用况模型用用况图来描述 用用况况图图展展示示了了各各类类外外部部执执行行者者与与系系统统所所提提供供的的用用况况之之间间的的连连接接。一一个个用用况况是是系系统统所所提提供供的的一一个个功功能能(也也可以说是系统提供的某一特定用法)的描述可以说是系统提供的某一特定用法)的描述 执执行行者者是是指指那那些些可可能能使使用用这这些些用用况况的的人人或或外外部部系系统统,执行者与用况的连接表示该执行者使用了那个用况执行者与用况的连接表示
3、该执行者使用了那个用况 用用况况图图给给出出了了用用户户所所感感受受到到的的系系统统行行为为,但但不不描描述述系统如何实现该功能系统如何实现该功能 用况通常用普通正文描述,也可以用活动图来描述用况通常用普通正文描述,也可以用活动图来描述4复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)任任何何一一个个涉涉及及到到系系统统功功能能活活动动的的人人都都会会用到用况模型用到用况模型客客户户:用用况况模模型型指指明明了了系系统统的的功功能能,描描述述了了系系统统能能如如何何使使用用。用用况况建建模模时时客客户户的的积积极极参参与是十分重要的与是十分重要的开开发
4、发者者:用用况况模模型型帮帮助助他他们们理理解解系系统统要要做做什什么么,同同时时为为以以后后的的其其他他模模型型建建模模、结结构构设设计计、实现等提供依据实现等提供依据集集成成测测试试和和系系统统测测试试人人员员:根根据据用用况况来来测测试试系系统统,以以验验证证系系统统是是否否完完成成了了用用况况指指定定的的功功能能5复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况建模步骤用况建模步骤创建用况模型的步骤包括:创建用况模型的步骤包括:1 1定义系统定义系统2 2确定执行者确定执行者3 3确定用况确定用况4 4描述用况描述用况5 5定义用况间的关系
5、定义用况间的关系6 6确认模型确认模型6复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用用况况模模型型由由用用况况图图组组成成,用用况况图图展展示示了了执执行行者者、用用况况以以及及它它们们之之间间的的关关系系。用用况况通通常常用用正文形式来描述正文形式来描述一一个个用用况况模模型型可可由由若若干干幅幅用用况况图图组组成成。一一幅幅用用况况图图包包含含的的模模型型元元素素有有系系统统、执执行行者者、用用况况,以以及及表表示示它它们们间间的的不不同同关关系系,如如关关联联、扩扩展、包含、泛化等展、包含、泛化等7复旦大学计算机科学技术学院复旦大学计算机科
6、学技术学院 软件工程(第二版)软件工程(第二版)用况图用况图电话订购系统用况图电话订购系统用况图客户客户售票员售票员送货员送货员主管主管r建立建立信用信用供应供应订单订单安排安排支付支付提供提供客户数据客户数据产生产生订单订单信用卡信用卡支付支付现金现金支付支付设置设置订单订单请求请求目录目录电话订购电话订购includeincludeincludeextend核对核对身份身份8复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)一一.定义系统定义系统 用况图中的矩形框代表系统,系统的用况用况图中的矩形框代表系统,系统的用况画在矩形框内,代表系统之外的执行
7、者画画在矩形框内,代表系统之外的执行者画在矩形框外在矩形框外9复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)二二.确定执行者确定执行者执行者是指与系统交互的人或其他系统执行者是指与系统交互的人或其他系统执行者代表一种角色,而不是具体的某执行者代表一种角色,而不是具体的某个人个人 执行者可分成主执行者和副执行者:执行者可分成主执行者和副执行者:主执行者使用系统的主要功能主执行者使用系统的主要功能 例如,保险系统中主执行者处理保险的例如,保险系统中主执行者处理保险的注册和管理注册和管理 副执行者处理系统的辅助功能副执行者处理系统的辅助功能 例如,管理数据
8、库、通信、备份以及其例如,管理数据库、通信、备份以及其他管理等系统维护他管理等系统维护10复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)执行者还可分为主动执行者和被动执行执行者还可分为主动执行者和被动执行者:者:主动执行者开始一个用况主动执行者开始一个用况被动执行者从不开始用况,只是参与被动执行者从不开始用况,只是参与一个或多个用况一个或多个用况11复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)我们可以通过回答下列问题来确定执行者:我们可以通过回答下列问题来确定执行者:谁使用系统的主要功能(主执行者)?谁使
9、用系统的主要功能(主执行者)?谁谁需需要要从从系系统统中中得得到到对对他他们们日日常常工工作作的的支支持?持?谁谁需需要要维维护护、管管理理和和维维持持系系统统的的日日常常运运行行(副执行者)?(副执行者)?系统需要控制哪些硬件设备?系统需要控制哪些硬件设备?系统需要与哪些其他系统交互?系统需要与哪些其他系统交互?哪哪些些人人或或哪哪些些系系统统对对系系统统产产生生的的结结果果(值值)感兴趣?感兴趣?12复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)三三.确定用况确定用况1.用况的特征用况的特征用况总是被执行者启动的(用况总是被执行者启动的(init
10、iated),),执行者必须直接或间接地指示系统去执执行者必须直接或间接地指示系统去执行用况行用况用用况况向向执执行行者者提提供供值值,这这些些值值必必须须是是可可识别的识别的用用况况是是完完整整的的,一一个个用用况况必必须须是是一一个个完完整的描述整的描述 用用况况是是一一个个类类型型,而而不不是是实实例例,用用况况的的实实例称为场景(例称为场景(scenario)13复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)2.寻找用况寻找用况可以通过让每个执行者回答以下问题来寻找用况:可以通过让每个执行者回答以下问题来寻找用况:执执行行者者需需要要系系统统
11、提提供供哪哪些些功功能能?执执行行者者需需要要系统做什么?系统做什么?执执行行者者是是否否需需要要读读、创创建建、删删除除、修修改改或或储储存系统中的某类信息?存系统中的某类信息?执执行行者者是是否否要要被被系系统统中中的的事事件件提提醒醒,或或者者执执行行者者是是否否要要提提醒醒系系统统中中某某些些事事情情?从从功功能能观观点看,这些事件表示什么?点看,这些事件表示什么?执执行行者者的的日日常常工工作作是是否否因因为为系系统统的的新新功功能能(尤尤其其是是目目前前尚尚未未自自动动化化的的功功能能)而而被被简简化化或提高了效率?或提高了效率?14复旦大学计算机科学技术学院复旦大学计算机科学技术
12、学院 软件工程(第二版)软件工程(第二版)另另外外还还有有一一些些不不是是目目前前的的执执行行者者回回答答的的问问题:题:系统需要哪些输入系统需要哪些输入/输出?谁从系统获输出?谁从系统获取信息?谁为系统提供信息?取信息?谁为系统提供信息?与当前系统(可能是人工系统而不是自与当前系统(可能是人工系统而不是自动化系统)的实现有关的主要问题是什动化系统)的实现有关的主要问题是什么?么?对同一个项目,不同的开发者选取的用况数对同一个项目,不同的开发者选取的用况数是不一样的。例如一个是不一样的。例如一个10个人年规模的项目,有个人年规模的项目,有人选取了人选取了20个用况,而在一个类似的项目中,有个用
13、况,而在一个类似的项目中,有人选用了人选用了100个用况个用况 似乎似乎20个太少,而个太少,而100个太多,希望在项目个太多,希望在项目规模和用况数之间保持均衡规模和用况数之间保持均衡15复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)四四.用况的描述用况的描述 用况通常用正文(用况通常用正文(text)来描述)来描述,也可用活动图也可用活动图来描述来描述 用况的正文描述应包括以下内容:用况的正文描述应包括以下内容:用用况况的的目目的的:用用况况的的最最终终目目的的是是什什么么?它它试试图图达达到什么?到什么?用用况况是是如如何何启启动动(initi
14、ate)的的:哪哪个个执执行行者者在在什什么情况下启动用况的执行?么情况下启动用况的执行?执执行行者者和和用用况况之之间间的的消消息息流流:用用况况与与执执行行者者之之间间交交换换什什么么消消息息或或事事件件来来通通知知对对方方改改变变或或恢恢复复信信息息?描描述述系系统统与与执执行行者者之之间间的的主主消消息息流流是是什什么么?以以及系统中哪些实体被使用或修改?及系统中哪些实体被使用或修改?16复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用用况况中中可可供供选选择择的的流流:用用况况中中的的活活动动可可根根据条件或异常(据条件或异常(except
15、ion)有选择地执行)有选择地执行如如何何通通过过给给执执行行者者一一个个值值来来结结束束用用况况:描描述何时可认为用况已结束述何时可认为用况已结束17复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)执行者的简要描述执行者的简要描述 如如客户客户:向公司订购商品的人:向公司订购商品的人 客户代表客户代表:公司处理客户请求的雇员:公司处理客户请求的雇员 库存系统库存系统:记录公司库存的软件:记录公司库存的软件用况的简要描述用况的简要描述 如如订订购购货货物物:客客户户创创建建一一个个新新的的请请求求商商品品的的订单,并为那些商品付费订单,并为那些商品付费
16、 取消订单取消订单:客户取消一个已经存在的订单:客户取消一个已经存在的订单18复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况的详细描述用况的详细描述前置条件和后置条件前置条件和后置条件前置条件和后置条件表示用况开始和结束的前置条件和后置条件表示用况开始和结束的条件条件事件流事件流(flow of events)事件流是一系列陈述句,它是从执行者的角事件流是一系列陈述句,它是从执行者的角度看,列出用况的各个步骤度看,列出用况的各个步骤用况描述中可以包含条件、分支和循环用况描述中可以包含条件、分支和循环例如:订购货物用况的描述如下例如:订购货物用况的
17、描述如下19复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况名称用况名称:订购货物:订购货物参与的执行者参与的执行者:客户、客户代表:客户、客户代表前置条件前置条件:一个合法的客户已经登录到这个系统:一个合法的客户已经登录到这个系统事件流事件流:1.当客户选择订购货物时,用况开始当客户选择订购货物时,用况开始2.客户输入他的姓名和地址客户输入他的姓名和地址3.如果客户只输入邮编,系统将给出州和城市名如果客户只输入邮编,系统将给出州和城市名4.当客户输入产品代码当客户输入产品代码a.系统给出产品描述和价格系统给出产品描述和价格b.系统往客户订单中添加
18、该物品的价格系统往客户订单中添加该物品的价格 循环结束循环结束20复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)5.客户输入信用卡支付信息客户输入信用卡支付信息6.客户选择提交客户选择提交7.系统检验输入的信息,把该订单作为未完成的交系统检验输入的信息,把该订单作为未完成的交易保存,同时向记账系统转发支付信息。如果客户易保存,同时向记账系统转发支付信息。如果客户提交的信息不正确,系统将提示客户修改。提交的信息不正确,系统将提示客户修改。8.当支付确认后,订单就被标记上已经确认,同时当支付确认后,订单就被标记上已经确认,同时返回给客户一个订单返回给客户
19、一个订单ID,用况也就结束了。如果,用况也就结束了。如果支付没有被确认,系统将提示客户改正支付信息或支付没有被确认,系统将提示客户改正支付信息或者取消。如果客户选择修改信息,就回到第者取消。如果客户选择修改信息,就回到第5步;步;如果选择取消,用况结束。如果选择取消,用况结束。后置条件后置条件:如果订单没有被取消,它将保存在系统中,:如果订单没有被取消,它将保存在系统中,并做上标记并做上标记21复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)其他需求其他需求在用况中还可描述一些特殊的需求,这些需在用况中还可描述一些特殊的需求,这些需求常常是非功能性需求
20、,如可用性、安全求常常是非功能性需求,如可用性、安全性、可维护性、负载、性能、自动防故障、性、可维护性、负载、性能、自动防故障、数据需求等。数据需求等。如订购货物用况的其他需求:如订购货物用况的其他需求:前置条件前置条件:(略)(略)事件流事件流:(略)(略)特殊需求特殊需求:系统必须在一秒内响应客户的输入系统必须在一秒内响应客户的输入后置条件后置条件:(略)(略)22复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)事件流可分为两部分:事件流可分为两部分:基本路径基本路径 基本路径是运转正常时的路径,是一系列没基本路径是运转正常时的路径,是一系列没有分
21、支和选择的简单陈述句有分支和选择的简单陈述句可选路径可选路径 可选路径是指不同于基本路径而允许不同的可选路径是指不同于基本路径而允许不同的事件序列的路径。事件序列的路径。对于明显有可能随时发生的事情来说,可选对于明显有可能随时发生的事情来说,可选路径非常有效。路径非常有效。23复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)如订购货物用况的基本路径:如订购货物用况的基本路径:事件流事件流:基本路径基本路径1.当客户选择订购货物时,用况开始当客户选择订购货物时,用况开始2.客户输入他的姓名和地址客户输入他的姓名和地址3.当客户输入产品代码时当客户输入产品
22、代码时a.系统给出产品描述和价格系统给出产品描述和价格b.系统往客户订单中添加该物品的价格系统往客户订单中添加该物品的价格 循环结束循环结束4.客户输入信用卡支付信息客户输入信用卡支付信息5.客户选择提交客户选择提交6.系统检验输入的信息,把该订单作为未完成的交易保存,系统检验输入的信息,把该订单作为未完成的交易保存,同时向记账系统转发支付信息同时向记账系统转发支付信息7.当支付确认后,订单就被标记上已经确认,同时返回给客当支付确认后,订单就被标记上已经确认,同时返回给客户一个订单户一个订单ID,用况结束,用况结束24复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件
23、工程(第二版)如果在订购货物用况中,客户可以在提交如果在订购货物用况中,客户可以在提交订单前随时取消订单,其可选路径如下:订单前随时取消订单,其可选路径如下:可选路径可选路径:在选择提交前的任何时候,客户都可以选择在选择提交前的任何时候,客户都可以选择cancel。这次订购没有被保存,用况结束。这次订购没有被保存,用况结束。在基本路径第在基本路径第6步,如果有任何不正确的信步,如果有任何不正确的信息,系统提示客户去修改这些信息。息,系统提示客户去修改这些信息。在基本路径第在基本路径第7步,如果支付没有被确认,步,如果支付没有被确认,系统将提示客户改正支付信息或者取消。如系统将提示客户改正支付信
24、息或者取消。如果客户选择修改信息,就回到基本路径第果客户选择修改信息,就回到基本路径第4步;如果选择取消,用况结束。步;如果选择取消,用况结束。25复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)五五.确定用况之间的关系确定用况之间的关系关系关系说明说明记号记号关联关联执行者与他所参与的一个用况执行者与他所参与的一个用况之间的通信路径之间的通信路径 扩展扩展扩展的用况到基本用况的一种扩展的用况到基本用况的一种关系,它指出扩展的用况所定关系,它指出扩展的用况所定义的行为如何插入到基本用况义的行为如何插入到基本用况所定义的行为中。扩展的用况所定义的行为中。
25、扩展的用况通过模块化方式增量地修改基通过模块化方式增量地修改基本用况本用况 extend26复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)关系关系说明说明记号记号包含包含从基本用况到另一个用况(称为从基本用况到另一个用况(称为包含用况,包含用况,inclusion use case)的一种关系,它指出包含用况定的一种关系,它指出包含用况定义的行为被包含在基本用况所定义的行为被包含在基本用况所定义的行为中。基本用况能看到包义的行为中。基本用况能看到包含用况,并依赖于执行包含用况含用况,并依赖于执行包含用况后的结果,但两者相互间不能访后的结果,但两者相互
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程整理 软件工程 整理 PPT 课件
限制150内