- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程导论CHAP10 面向对象分析 2
第10章 面向对象分析主讲教师: 王西锋本 章 内 容10.1 面向对象分析的基本过程10.2 需求陈述10.3 建立对象建模10.4 建立动态模型10.5 建立功能模型10.6 定义服务10.7 小结本章学习要求了解面向对象分析的基本过程了解对象模型的5个层次熟悉需求陈述要点掌握建立对象模型、动态模型、功能模型的方法 分析的过程 就是提取系统需求,建立精确分析模型的过程面向对象分析的工作包括3项内容: 理解:系统分析员通过与用户及领域专家的充分交流,力求完全理解用户需求和该领域的关键背景知识 表达:用某种无二义性的方式把这种理解表达成文档资料,其中最重要的就是软件需求规格说明书 验证:理解过程不能一次达到理想效果,还需要进一步验证软件需求规格说明的正确性、完整性、有效性 理解和验证过程常交替进行,反复迭代,可利用原型系统需求分析过程就是系统分析员和用户及领域专家反复交流和多次修正的过程10.1 面向对象分析的基本过程一、概述1、面向对象分析(OOA) 就是抽取和整理用户需求并建立问题域精确模型的过程关键任务: 识别出问题域内的类和对象,并分析他们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型2、面向对象分析的过程 从分析陈述用户需求(通常不完整、非正式)的文件开始 通过分析,发现和改正陈述中的二义性和不一致性,补充遗漏内容。分析需求陈述过程中,分析员需要多次和用户协商、讨论、交流信息,建立原型系统提炼出用户需求 分析员深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来分析模型成为对问题的精确而简洁的表示后续的设计阶段将以分析模型为基础面向对象的建模过程中,分析员必须向领域专家学习二、3个子模型和5个层次1、面向对象建模得到的模型包含系统的三个要素 静态结构(对象模型) 交互次序(动态模型) – 涉及交互作用和时序 数据变换(功能模型) --- 运算量很大的问题图10.1复杂问题的对象模型的5个层次2、复杂问题的对象模型通常由5个层次组成 见上图,一层比一层显现出对象名模型的更多细节主题 指所有需要读懂系统模型的人构成的读者理解大型、复杂模型的一种机制通过主题,把大型、复杂的对象模型分解成几个不同的概念范畴 3、面向对象分析从两方面体现原则:控制可见性和指导读者的注意力 通过控制读者能见到的层次数目来控制可见性 增加了一个主题层,它可以从相当高的层次描述总体模型,并对读者的注意力加以指导4、5个层次对应着建立对象模型的5项主要活动 找出类和对象 识别结构 识别主题 定义属性 定义服务 5个活动不需要顺序完成,不需要遵守自顶向下的原则5、综上所述,面向对象分析的顺序大体如下: 找出类和对象、 识别结构、 识别主题、 定义属性 建立动态模型 建立功能模型 定义服务10.2 需求陈述一、书写要点1、需求陈述的内容 问题范围、功能需求、性能需求、应用环境、假设条件 阐明“做什么” 应该描述用户的需求而不是提出解决问题的方法 应该指出系统必要的和任选的性质 应该避免对设计策略施加过多的约束,不要描述系统内部结构 应该描述系统性能和系统与外界环境交互协议 描述采用的软件按工程标准、模块构造准则,将来可能做的扩充、可维护性要求等方面的描述2、书写要求 尽力做到语法正确,慎重选用名词,动词、形容词、同义词 把需求和实现策略区分开、 需求陈述可简可繁 需求陈述应该完整、一致,没有二义性 书写前,分析员应该和用户及领域专家密切配合二、实例:自动取款机(ATM)系统1、需求陈述 某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机、柜员终端组成的网络系统。ATM和中央计算机由总行投资购买。总行拥有多台ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。 银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥有的某个帐户内存款或开新帐户。储户也可以从自己的帐户中取款。通常,一个储户可能拥有多个帐户。柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个帐户的事务并维护帐户 拥有银行帐户的储户有权申请领取现金兑换卡。使用现金兑换卡可以ATM访问自己的帐户。目前仅限于用现金兑换卡ATM上提取现金(即取款),或查询有关自己帐户的信息(例如,某个指定帐户上的余额)。将来可能还要求使用ATM办理转帐、存款等事务。 所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号。分行代码惟一标识总行下属的一个分行,卡号确定了这张卡可以访问哪些帐户。通常,一张卡可以访问储户的若干个帐户,但是不一定能访问这个
文档评论(0)