* * * * * 通常,在需求陈述中不会一个不漏地写出问题域中所有有关的类与对象,因此,分析员应该根据领域知识或常识进一步把隐含的类与对象提取出来。例如,在ATM系统的需求陈述中虽然没写“通信链路”和“事务日志”,但是,根据领域知识和常识可以知道,在ATM系统中应该包含这两个实体。 * * * * * * * * * * * * * * * * * 银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。 “通信链路”和“事务日志” (d) 属性 在需求陈述中有些名词实际上描述的是其他对象的属性,应该把这些名词从候选类与对象中去掉。当然,如果某个性质具有很强的独立性,则应把它作为类而不是作为属性。 “现金”、“支票”、“取款额”、“账单”、“余额”、“分行代码”、“卡号”、“密码”、“类型”等,实际上都应该作为属性对待。 (e) 操作 在需求陈述中有时可能使用一些既可作为名词,又可作为动词的词,应该慎重考虑它们的含义,以便正确地决定把它们作为类还是作为类中定义的操作。 例如,谈到电话时通常把“拨号”当作动词,当构造电话模型时确实应该把它作为一个操作,而不是一个类。 但是,在开发电话的自动记账系统时,“拨号”需要有自己的属性(例如日期、时间、受话地点等),因此应该把它作为一个类。 总之,本身具有属性需独立存在的操作,应该作为类与对象。 银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。 “通信链路”和“事务日志” (f) 实现 在分析阶段不应该过早地考虑怎样实现目标系统。因此,应该去掉仅和实现有关的候选的类与对象。 “事务日志”无非是对一系列事务的记录,它的确切表示方式是面向对象设计的议题;“通信链路”在逻辑上是一种联系,在系统实现时它是关联类的物理实现。 银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。 “通信链路”和“事务日志” 已删去类的关联 如果在分析确定类与对象的过程中已经删掉了某个候选类,则与这个类有关的关联也应该删去,或用其他类重新表达这个关联。 ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、账户、事务、现金兑换卡。 (b)与问题无关或应在实现阶段考虑的关联 系统处理并发的访问。 (c)瞬时事件 关联应该描述问题域的静态结构,而不应该是一个瞬时事件。 ATM读现金兑换卡 ATM与用户交互 如果用动作表示的需求隐含了问题域的某种基本结构,则应该用适当的动词词组重新表达这个关联。 “中央计算机确定事务与分行的对应关系”隐含了结构上“中央计算机与分行通信”的关系。 中央计算机与分行通信 (d)三元关联 三个或三个以上对象之间的关联,大多可以分解为二元关联或用词组描述成限定的关联。 “柜员输入针对账户的事务”可以分解成“柜员输入事务”和“事务修改账户”这样两个二元关联。而“分行计算机处理针对账户的事务”也可以做类似的分解。“ATM与中央计算机交换关于事务的信息”这个候选的关联,实际上隐含了“ATM与中央计算机通信”和“在ATM上输入事务”这两个二元关联。 中央计算机与分行通信 柜员输入事务 事务修改账户 分行计算机处理事务 事务修改账户 ATM与中央计算机通信 ATM上输入事务 (e)派生关联 删除可以用其他关联定义的冗余关联 “总行拥有多台ATM”实质上是“总行拥有中央计算机”和“ATM与中央计算机通信”这两个关联组合的结果。 而“分行计算机维护账户”的实际含义是“分行保管账户”和“事务修改账户”。 中央计算机与分行通信 柜员输入事务 事务修改账户 分行计算机处理事务 事务修改账户 ATM与中央计算机通信 ATM上输入事务 * 不论采用哪种方法开发软件,分析的过程都是提取系统需求的过程。分析工作主要包括3项内容,这就是理解、表达和验证。首先,系统分析员通过与用户及领域专家的充分交流,力求完全理解用户需求和该应用领域中的关键性的背景知识,并用某种无二义性的方式把这种理解表达成文档资料。分析过程得出的最重要的文档资料是软件需求规格说明(在面向对象分析中,主要由对象模型、动态模型和功能模型组成)。 理解和验证的过程
您可能关注的文档
- (软件工程)第4章概要设计(ok).ppt
- (软件工程)第5章详细设计(第二堂课).ppt
- (软件工程)第6章实现(第二堂课编码风格).ppt
- (软件工程)第6章实现(第三堂课不同集成测试策略的比较).ppt
- (软件工程)第6章实现(第四堂课路径覆盖).ppt
- (软件工程)第6章实现(第五堂课调试).ppt
- (软件工程)第7章维护(第一堂课软件维护的常识).ppt
- (软件工程)第8章面向对象方法学引论(第二堂课面向对象建模).ppt
- (软件工程)第8章面向对象方法学引论(第三堂课用例建模).ppt
- (软件工程)第8章面向对象方法学引论(第一堂课导入).ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 商务型(带电梯、地下室、效果图)三层别墅设计图.pdf VIP
- 2026年详版个人信用报告征信报告最新Word可编辑模版样板doc文件.docx
- 2026年春接力版(新教材)小学音乐一年级下册(全册)教学设计(附目录P160).docx
- 行者讲课脉法下篇.doc VIP
- 铁塔电池通讯协议.docx VIP
- 复旦大学课程汉语言文学原典精读李杜精读.pdf VIP
- 电商数据分析(微课版)课件全套 第1--10章 电商数据分析概述---数据分析报告与看板制作.pptx
- 异常子宫出血的护理查房.pptx
- 2025年中医执业医师个人工作计划范文.docx VIP
- 2024《中班幼儿饮食行为现状调查—以S幼儿园为例》12000字.docx VIP
原创力文档

文档评论(0)