- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 面向对象分析 分析工作主要包括三项内容:理解、表达和验证。 需求分析过程是系统分析员与用户及领域专家反复交流和多次修正的过程,力求完全理解用户需求和该应用领域中的关键性的背景知识,并用某种无二义性的方式把这种理解表达成文档资料。分析过程得出的最重要的文档资料是软件需求规格说明(在面向对象分析中,主要由对象模型、动态模型和功能模型组成) 。理解和验证的过程通常交替进行,反复迭代,而且往往需要利用原型系统作为辅助工具。 面向对象分析(通常缩写为OOA)的关键,是识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。在用面向对象观点建立起的三种模型中,对象模型是最基本、最重要、最核心的。 10.1 面向对象分析的基本过程 10.1.1 概述 面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。 通常,面向对象分析过程从分析陈述用户需求的文件开始。当软件项目采用招标方式确定开发单位时,“标书”往往可以作为初步的需求陈述。不应该认为需求陈述是一成不变的,而应该把它作为细化和完善实际需求的基础。 接下来,系统分析员应该深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来。 在面向对象建模的过程中,系统分析员必须认真向领域专家学习。尤其是建模过程中的分类工作往往有很大难度。继承关系的建立实质上是知识抽取过程,它必须反映出一定深度的领域知识,这不是系统分析员单方面努力所能做到的,必须有领域专家的密切配合才能完成。 在面向对象建模的过程中,还应该仔细研究以前针对相同的或类似的问题域进行面向对象分析所得到的结果。由于面向对象分析结果的稳定性和可重用性,这些结果在当前项目中往往有许多是可以重用的。 10.1.2 三个子模型与五个层次 面向对象建模得到的模型包含对象的三个要素,即静态结构(对象模型),交互次序(动态模型)和数据变换(功能模型)。解决的问题不同,这三个子模型的重要程度也不同:几乎解决任何一个问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型;当问题涉及交互作用和时序时(例如,用户界面及过程控制等),动态模型是重要的;解决运算量很大的问题(例如,高级语言编译、科学与工程计算等),则涉及重要的功能模型。动态l模型和功能模型中都包含了对象模型中的操作(即服务或方法)。 复杂问题(大型系统)的对象模型由下述五个层次组成:主题层(也称为范畴层)、类一&一对象层、结构层、属性层和服务层,如图10.1所示。 主题是指导读者(包括系统分析员、软件设计人员、领域专家、管理人员、用户等,总之,“读者”泛指所有需要读通系统模型的人)理解大型、复杂模型的一种机制。也就是说,通过划分主题,我们把一个大型、复杂的对象模型分解成几个不同的概念范畴。 上述五个层次对应着在面向对象分析过程中建立对象模型的五项主要活动:找出类一&一对象;识别结构;识别主题;定义属性;定义服务。事实上,这五项工作完全没有必要顺序完成,也无须彻底完成一项工作以后再开始另外一项工作。 面向对象分析大体上按照下列顺序进行:寻找类一&一对象,识别结构,识别主题,定义属性,建立动态模型,建立功能模型,定义服务。但是,正如前面已经多次强调指出过的,分析不可能严格地按照预定顺序进行,大型、复杂系统的模型需要反复构造多遍才能建成。通常,先构造出模型的子集,然后再逐渐扩充,直到完全、充分地理解了整个问题,才能最终把模型建立起来。 10.2 需求陈述 10.2.1 书写要点 通常,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。总之,需求陈述应该阐明“做什么”而不是“怎样做”。 10.2.2 例子 图10 2所示的自动取款机(ATM)系统,是本书讲述面向对象分析和面向对象设计时使用的一个实例。 下面陈述对ATM系统的需求: 某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。ATM和中央计算机由总行投资购买。总行拥有多台 ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。 银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。储户也可以从自己的账户中取款。通常,一个储户可能拥有多个账户。柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。 拥有银行账户的储户有权申请领取现金兑换卡。使用现金兑换卡可以通过
您可能关注的文档
- 06上检测题题稿.ppt
- 因子方法与SPSS说课.ppt
- 15中西传统工艺教案.ppt
- 15专题五油田地面工程设备教案.ppt
- HAZOP技术题稿.doc
- 16、高电位疗法发展史(讲课版)教案.ppt
- 16、人口的数量变化与人口的合理容量教案.ppt
- 草缸造景的小知识和小窍门题稿.doc
- HC1109105_HCNA-StorageV2_BSSN_第五章SAN技术及应用题稿.pptx
- 4.1移动通信主要技术教案.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)