第10节-面向对象分析.pptVIP

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 面向对象分析 10.1 面向对象分析的基本过程 10.2 需求陈述 10.3 建立对象模型 10.4 建立动态模型 10.5 建立功能模型 10.6 定义服务 10.7 小结 OOA 面向对象分析(OOA)的关键是识别出问题域内的类与对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。 在用面向对象观点建立起的3种模型中,对象模型是最基本、最重要、最核心的。 10.1 面向对象分析的基本过程 10.1.1 概述 面向对象分析:抽取和整理用户需求并建立问题域精确模型的过程。 面向对象分析过程从分析陈述用户需求的文件开始。可能由用户单方面写出需求陈述,也可能由系统分析员配合用户,共同写出需求陈述。 需求陈述通常是不完整、不准确的,而且往往是非正式的。 10.1.1 概述 通过分析,可以发现和改正原始陈述中的二义性和不一致性,补充遗漏的内容,从而使需求陈述更完整、更准确。 因此,需求陈述不是一成不变的,它是细化和完善实际需求的基础。 快速建立的原型系统,有助于分析员和用户之间的交流和理解,从而能更正确地提炼出用户的需求。 接着,系统分析员深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来。 10.1.1 概述 建模过程中分类工作往往有很大难度。 它必须反映出一定深度的领域知识,必须有领域专家的密切配合才能完成。 重用技术是经常使用的。 面向对象建模得到的模型即静态结构(对象模型)、交互次序(动态模型)和数据变换(功能模型)。 10.1.2 3个子模型与5个层次 不同问题中这3个子模型的重要程度也不同。 解决任何一个问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型; 当问题涉及交互作用和时序时,动态模型是重要的; 解决运算量很大的问题,则涉及重要的功能模型。 动态模型和功能模型中都包含了对象模型中的操作(即服务或方法)。 10.1.2 3个子模型与5个层次 复杂问题的对象模型通常由5个层次组成: 主题层、类与对象层、结构层、属性层和服务层。 10.1.2 3个子模型与5个层次 主题是指导读者(包括系统分析员、软件设计人员、领域专家、管理人员、用户等,泛指所有需要读懂系统模型的人)理解大型、复杂模型的一种机制。 通过划分主题把一个大型、复杂的对象模型分解成几个不同的概念范畴。 10.1.2 3个子模型与5个层次 5个层次对应着在面向对象分析过程中建立对象模型的5项主要活动: 找出类与对象; 识别结构; 识别主题; 定义属性; 定义服务。 在进行面向对象分析时并不需要严格遵守自顶向下的原则。 10.1.2 3个子模型与5个层次 在完整地定义每个类中的服务之前,需要先建立起动态模型和功能模型,通过对这两种模型的研究,能够更正确更合理地确定每个类应该提供哪些服务。 10.1.2 3个子模型与5个层次 在概念上可以认为,面向对象分析大体上按照下列顺序进行: Step1: 寻找类与对象 Step2: 识别结构 Step3: 识别主题 Step4: 定义属性 Step5: 建立动态模型 Step6: 建立功能模型 Step7: 定义服务。 当然,上述过程要多次迭代得以实现。 10.2 需求陈述 10.2.1 书写要点 需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。 它描述用户的需求而不是提出解决问题的方法。 应该指出哪些是系统必要的,哪些是任选的。 应该避免对设计策略施加约束,也不要描述系统的内部结构。 对系统性能及系统与外界环境交互协议的描述,是合适的需求。 从实际出发,迭代完成。 10.2.2 例子 某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。 ATM和中央计算机由总行投资购买。总行拥有多台ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。 柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。 10.2.2 例子 10.2.2 例子 银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。 储户也可以从自己的账户中取款。 通常,一个储户可能拥有多个账户。柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。 10.2.2 例子 拥有银行账户的储户有权申请领取现金兑换卡。使用现金兑换卡可以通过ATM访问自己的账户。目前仅限于用现金兑换卡在ATM上提取现金(即取款),或查询有关自己账户的信息(例如,某个指定账户

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档