1、Monday,October 10,20222第第9章章 对象分析对象分析对象的发现和标识对象的发现和标识4对象、主动对象以及它们的类对象、主动对象以及它们的类1研究问题域和用户需求研究问题域和用户需求2Monday,October 10,202239.1 对象、主动对象以及它们的类对象、主动对象以及它们的类对象对象问题域中某个实体的抽象问题域中某个实体的抽象反映了系统保存有关这个实体的信息或与它交反映了系统保存有关这个实体的信息或与它交互的能力互的能力具体的物理实体、人为的概念、有明确边界和具体的物理实体、人为的概念、有明确边界和意义的东西意义的东西实体:静态的属性、动态的行为实体:静态的属
2、性、动态的行为对象:属性、操作(服务、方法)对象:属性、操作(服务、方法)Monday,October 10,202249.1 对象、主动对象以及它们的类对象、主动对象以及它们的类类类具有相同数据和相同操作的一组相似对象具有相同数据和相同操作的一组相似对象具有相同属性和行为的一个或多个对象具有相同属性和行为的一个或多个对象对象是类的实例对象是类的实例类是对象的定义模板类是对象的定义模板Monday,October 10,202259.1 对象、主动对象以及它们的类对象、主动对象以及它们的类主动对象主动对象至少有一个服务不需要接收消息就能主动执行至少有一个服务不需要接收消息就能主动执行的对象的对
3、象主动服务主动服务不需要接收消息就能主动执行的服务不需要接收消息就能主动执行的服务可以接受消息可以接受消息不必须有消息触发执行不必须有消息触发执行先主动的执行,然后在执行中接收消息先主动的执行,然后在执行中接收消息Monday,October 10,202269.1 对象、主动对象以及它们的类对象、主动对象以及它们的类对象的表示法对象的表示法classnameattributesoperationsclassnameattributesoperations主动对象的类符号主动对象的类符号普通对象的类符号普通对象的类符号用用至少标出至少标出一个主动服务一个主动服务Monday,October 1
4、0,20227第第9章章 对象分析对象分析对象的发现和标识对象的发现和标识4对象、主动对象以及它们的类对象、主动对象以及它们的类1研究问题域和用户需求研究问题域和用户需求2Monday,October 10,202289.2 研究问题域和用户需求研究问题域和用户需求 OOA的基本出发点的基本出发点问题域、用户要求问题域、用户要求分析员的主要工作分析员的主要工作通过不断地研究问题域,建立一个能满足用户通过不断地研究问题域,建立一个能满足用户需求的系统模型需求的系统模型Monday,October 10,202299.2 研究问题域和用户需求研究问题域和用户需求系统的需求包括四个不同的层次系统的需
5、求包括四个不同的层次业务需求业务需求用户需求用户需求功能需求功能需求非功能性需求非功能性需求需求获取需求获取1.根据系统根据系统业务需求业务需求获得系统获得系统用户需求用户需求2.通过需求分析得到系统的通过需求分析得到系统的功能需求功能需求和和非功能非功能需求需求Monday,October 10,2022109.2 研究问题域和用户需求研究问题域和用户需求需求种类需求种类功能需求功能需求系统应该、不应该提供的服务系统应该、不应该提供的服务系统如何响应输入系统如何响应输入系统在特定条件下的行为描述系统在特定条件下的行为描述非功能需求非功能需求对系统提供的服务和功能的约束对系统提供的服务和功能的
6、约束领域需求领域需求系统的应用领域的需求系统的应用领域的需求Monday,October 10,2022119.2 研究问题域和用户需求研究问题域和用户需求功能需求功能需求 描述系统预期提供的功能、服务描述系统预期提供的功能、服务 图书馆系统图书馆系统1.用户能通过设定查询条件对数据库进行访用户能通过设定查询条件对数据库进行访问问2.系统提供适当的浏览器,供用户阅读馆藏系统提供适当的浏览器,供用户阅读馆藏文献文献3.用户每次借阅都产生一个唯一的识别符,用户每次借阅都产生一个唯一的识别符,且保存在用户账户记录中且保存在用户账户记录中Monday,October 10,2022129.2 研究问题
7、域和用户需求研究问题域和用户需求 系统的功能需求系统的功能需求 全面性全面性应给出用户所需的所有服务应给出用户所需的所有服务 一致性一致性需求描述不可以前后矛盾需求描述不可以前后矛盾Monday,October 10,2022139.2 研究问题域和用户需求研究问题域和用户需求非功能需求非功能需求不直接与系统具体功能相关的需求不直接与系统具体功能相关的需求与系统的总体特性相关与系统的总体特性相关可靠性、反应时间、存储空间可靠性、反应时间、存储空间非功能需求较功能需求对系统更为关键非功能需求较功能需求对系统更为关键一个非功能需求实现的失败可能导致整个系一个非功能需求实现的失败可能导致整个系统无法
8、使用统无法使用Monday,October 10,2022149.2 研究问题域和用户需求研究问题域和用户需求非功能需求类型非功能需求类型Monday,October 10,2022159.2 研究问题域和用户需求研究问题域和用户需求图书馆系统图书馆系统产品产品需求需求客户界面采用客户界面采用B/S软件架构搭建软件架构搭建机构需求机构需求系统开发过程和可交付的文档将遵照系统开发过程和可交付的文档将遵照“xx标准过程标准过程”中的相关定义中的相关定义外部需求外部需求不对图书馆工作人员公开除姓名和索引代码不对图书馆工作人员公开除姓名和索引代码外的其他的客户个人信息外的其他的客户个人信息Monday
9、,October 10,2022169.2 研究问题域和用户需求研究问题域和用户需求非功能需求的检验非功能需求的检验系统目标系统目标系统应该很好用,即使对一个没有经验的用系统应该很好用,即使对一个没有经验的用户,错误率也应降低到最小户,错误率也应降低到最小检验该目标的方法检验该目标的方法没有经验的用户:没有经验的用户:2h的培训的培训有经验的用户:出错率有经验的用户:出错率/天天=2Monday,October 10,2022179.2 研究问题域和用户需求研究问题域和用户需求对于对于非功能需求非功能需求的检验,尽量将其量化,从而的检验,尽量将其量化,从而使其检验更加客观使其检验更加客观速度:
10、用户速度:用户/事件响应时间事件响应时间规模:存储空间规模:存储空间易用性:培训时间易用性:培训时间可靠性:失败发生率可靠性:失败发生率鲁棒性:失败中数据崩溃的可能性鲁棒性:失败中数据崩溃的可能性可移植性:目标系统数可移植性:目标系统数Monday,October 10,2022189.2 研究问题域和用户需求研究问题域和用户需求领域需求领域需求包括专业性很强的领域术语、概念包括专业性很强的领域术语、概念新的特有的功能需求新的特有的功能需求对已存在的功能需求的约束对已存在的功能需求的约束需要实现的一个特别的计算需要实现的一个特别的计算软件工程师理解起来比较困难软件工程师理解起来比较困难如果领域
11、需求不被满足,系统便无法达到最佳如果领域需求不被满足,系统便无法达到最佳运行状态运行状态Monday,October 10,2022199.2 研究问题域和用户需求研究问题域和用户需求用户需求用户需求从用户角度来描述系统功能和非功能需求从用户角度来描述系统功能和非功能需求描述系统的外部行为描述系统的外部行为尽量避免对系统设计特性的描述,以便不具备尽量避免对系统设计特性的描述,以便不具备专业技术知识的用户能看懂专业技术知识的用户能看懂使用自然语言、图表和直观的图形描述使用自然语言、图表和直观的图形描述描述的二义性描述的二义性需求混乱、混合需求混乱、混合集中描述需要提供的主要服务集中描述需要提供的
12、主要服务Monday,October 10,2022209.2 研究问题域和用户需求研究问题域和用户需求研究用户需求包括以下活动:研究用户需求包括以下活动:1.阅读有关文档:阅读用户提交的需求文档等一切与阅读有关文档:阅读用户提交的需求文档等一切与用户需求有关的书面材料用户需求有关的书面材料2.与用户交流:了解用户的需求,搞清有关用户需求与用户交流:了解用户的需求,搞清有关用户需求的疑点的疑点3.进行实地调查:有些需求问题,通过以上途径仍然进行实地调查:有些需求问题,通过以上途径仍然不能完全明确,则需要到现场作适当的调查,因为不能完全明确,则需要到现场作适当的调查,因为以上资料可能表达得不够准
13、确、清晰以上资料可能表达得不够准确、清晰4.记录所得认识:随时记录通过阅读、交流和调查所记录所得认识:随时记录通过阅读、交流和调查所得到的认识,更要记录所存在的疑点得到的认识,更要记录所存在的疑点5.整理相关资料:纠正初始需求文档中不符合的内容,整理相关资料:纠正初始需求文档中不符合的内容,整理出一份确切表达系统责任的需求文档整理出一份确切表达系统责任的需求文档Monday,October 10,2022219.2 研究问题域和用户需求研究问题域和用户需求书写用户需求应遵守的规则书写用户需求应遵守的规则设计一个标准的格式设计一个标准的格式不易发生遗漏,更易于需求的检查不易发生遗漏,更易于需求的
14、检查使用一致的语言使用一致的语言强制性需求:必须强制性需求:必须希望性需求:应该希望性需求:应该突出显示关键性需求突出显示关键性需求(黑体或斜体字黑体或斜体字)尽量避免使用计算机专业术语尽量避免使用计算机专业术语Monday,October 10,2022229.2 研究问题域和用户需求研究问题域和用户需求系统需求系统需求软件工程师开始系统设计的起点软件工程师开始系统设计的起点解释系统如何提供用户所需服务解释系统如何提供用户所需服务对系统完备、一致的描述对系统完备、一致的描述不仅仅描述系统的外部行为,还对系统的设计不仅仅描述系统的外部行为,还对系统的设计和实现信息进行描述和实现信息进行描述使用
15、专业化的符号系统书写系统需求使用专业化的符号系统书写系统需求结构化自然语言、设计描述语言、图形化符结构化自然语言、设计描述语言、图形化符号、数学描述号、数学描述Monday,October 10,2022239.2 研究问题域和用户需求研究问题域和用户需求 研究问题域研究问题域 被开发的应用系统所考虑的整个业务范围被开发的应用系统所考虑的整个业务范围 目的目的1.进一步明确用户需求进一步明确用户需求2.建立一个符合问题域情况、满足用户需求的建立一个符合问题域情况、满足用户需求的分析模型分析模型Monday,October 10,2022249.2 研究问题域和用户需求研究问题域和用户需求 研究
16、问题域应的工作要点研究问题域应的工作要点1.认真听取问题域专家的见解认真听取问题域专家的见解 提问提问倾听倾听理解消化理解消化反馈自己的理反馈自己的理解以求印证解以求印证提出进一步的问题提出进一步的问题 2.亲临现场,通过直接观察掌握第一手材料亲临现场,通过直接观察掌握第一手材料 3.阅读领域相关资料阅读领域相关资料 4.借鉴他人经验借鉴他人经验 Monday,October 10,2022259.2 研究问题域和用户需求研究问题域和用户需求确定系统边界确定系统边界明确系统是什么以及系统的环境是什么明确系统是什么以及系统的环境是什么划出被开发的系统和与该系统打交道的人或物划出被开发的系统和与该
17、系统打交道的人或物之间的明确界限,并确定它们之间的接口之间的明确界限,并确定它们之间的接口Monday,October 10,202226第第9章章 对象分析对象分析对象的发现和标识对象的发现和标识4对象、主动对象以及它们的类对象、主动对象以及它们的类1研究问题域和用户需求研究问题域和用户需求2Monday,October 10,2022279.4 对象的发现和标识对象的发现和标识 三种系统分析工具三种系统分析工具1.实体实体-关系模型关系模型2.数据流数据流模型模型 上下文上下文模型模型 数据流数据流图图、过程模型、过程模型3.状态状态-变迁变迁模型模型Monday,October 10,2
18、022289.4 对象的发现和标识对象的发现和标识 三视图模型(三视图模型(3VM)1.实体实体-关系模型(实体关系模型(实体-关系关系-属性模型)属性模型)用于描述系统处理数据的逻辑结构用于描述系统处理数据的逻辑结构 描述系统中的实体,并表明这些实体、描述系统中的实体,并表明这些实体、关联属性及实体间的关系关联属性及实体间的关系Monday,October 10,2022299.4 对象的发现和标识对象的发现和标识旅游管理信息系统旅游管理信息系统数据模型数据模型旅游线路旅游线路 路线号路线号,起点起点,终点终点,天数天数,景点景点旅游班次旅游班次 旅游班次号旅游班次号,出发日期出发日期,回程
19、日期回程日期,旅游标准旅游标准,报价报价旅游团旅游团团号团号,团名团名,人数人数,联系人联系人,电话电话游客游客游客编号游客编号,姓名姓名,性别性别,年龄年龄,身份证号身份证号,电话电话导游导游导游编号导游编号,姓名姓名,性别性别,年龄年龄,身份证号身份证号,电话电话,语种语种,等级等级,业绩业绩交通工具交通工具 旅游班次号旅游班次号,出行工具出行工具宾馆宾馆宾馆编号宾馆编号,宾馆名宾馆名,城市城市,星级星级,标间价标间价,联系人联系人,职职务务,电话电话,传真传真,电邮电邮保险单保险单保险单编号保险单编号,保险费保险费,投保日期投保日期Monday,October 10,2022309.4
20、对象的发现和标识对象的发现和标识旅游管理信息系统的数据模型旅游管理信息系统的数据模型Monday,October 10,2022319.4 对象的发现和标识对象的发现和标识2.数据流模型数据流模型a)上下文模型上下文模型描述系统的环境,界定系统的边界描述系统的环境,界定系统的边界系统与其它系统的依赖关系系统与其它系统的依赖关系方块图方块图矩形:子系统、外部实体矩形:子系统、外部实体连线:子系统间的关联连线:子系统间的关联Monday,October 10,2022329.4 对象的发现和标识对象的发现和标识系统的上下文系统的上下文Monday,October 10,2022339.4 对象的发
21、现和标识对象的发现和标识b)过程模型过程模型表示总过程以及由系统支持的那一部分表示总过程以及由系统支持的那一部分过程过程Monday,October 10,2022349.4 对象的发现和标识对象的发现和标识过程模型过程模型Monday,October 10,2022359.4 对象的发现和标识对象的发现和标识c)数据流数据流图图表示过程以及从一个过程到另一个过程表示过程以及从一个过程到另一个过程的信息流的信息流Monday,October 10,2022369.4 对象的发现和标识对象的发现和标识3.状态状态-变迁模型变迁模型1.事件响应模型事件响应模型|状态转换图状态转换图a)找出对象的各种状态找出对象的各种状态b)分析在不同的状态下,对象的行为规则分析在不同的状态下,对象的行为规则有何不同?在发现它们没有区别时,可有何不同?在发现它们没有区别时,可以将一些状态合并以将一些状态合并c)分析从一种状态可以转换机到哪几种其分析从一种状态可以转换机到哪几种其他状态,以及该对象的什么行为会引起他状态,以及该对象的什么行为会引起这种转换这种转换