- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 面向对象分析
10.1面向对象分析的基本过程
不论采用哪种软件工程方法开发软件,需求分析的主要工作都是:理解需求、表达需求和验证需求,下面的图概括地表示了参照当前系统建立目标系统的过程。
图: 参照当前系统建立目标系统
面向对象分析(Object-Oriented Analysis,简称OOA)的关键就是识别出对象与类,并分析它们之间的关系,最终建立对象模型、动态模型和功能模型。
10.1.1 概述
系统分析员要善于学习、勇于实践,更重要的是一切从实际出发。
[注]“OOA就是抽取和整理用户需求并建立问题域精确模型的过程。”(P231)——这在一开始能做到吗?——扯蛋
3个子模型与5个层次
面向对象建模需建立包含系统的三个要素:1)静态结构(对象模型)、2)交互次序(动态模型)、3)数据交换(功能模型)。
建立系统模型的过程是一个迭代(iterations)式的自顶向下的求精过程。对于一个大型复杂系统来说对象模型一般由下述5个层次组成:
图10.2 复杂问题的对象模型的5个层次
其中主题层是指从一个更高(高于“类”)的抽象层次来描述对象模型(即从一个相当高的层次上描述总体模型),通过划分“主题”把一个复杂系统的对象模型分解成几个不同的概念范畴。
其实上述5个层次就是OOA中建立对象模型的5项主要工作:找出类和对象,识别结构(类或对象之间的关系),识别主题、定义属性、定义服务。我们知道动态模型和功能模型中都包含了对象模型中的操作,因此人们在定义每个类中的服务前,往往先建立起动态模型和功能模型,这样说来OOA大体上可按下列顺序进行:
(1)确定类和对象
(2)确定关联
(3)划分主题
(4)定义属性
(5)确定继承关系
(6)建立动态模型
(7)建立功能模型
(8)定义服务
需要注意地是在这里我们根本不强调顺序,更不是谈什么步骤。
10.2需求陈述
需求陈述的主要任务是准确地回答“系统必须做什么?”,而不是“系统应该怎么做?”
10.2.1书写要点
10.2.2例子
我们用“ATM系统”(ATM是Automatic Teller Machine的缩写,意自动柜员机
10.4.2设想用户界面
用户界面是用户对系统的“第一感”,它往往对用户是否喜欢一个系统起很重要的作用,因此在分析阶段也不能完全忽略用户界面。设计用户界面时重要的是用户和系统进行信息交换的方式。
图10.7 ATM的界面格式
10.4.3画事件跟踪图
脚本为建立动态模型(状态图)提供了很好的基础,但用自然语言书写的脚本还不够简明,并且会有二义性,因此在画状态图前,我们往往先画出事件跟踪图[简化的UML顺序图(Sequence Diagram,时序图)],为此需进一步明确事件(事件就是引起系统做动作或(和)转换状态的控制信息)及事件与对象的关系。
1. 确定事件
事件包括系统与用户(或外部设备)交互的所有信号、输入、输出、中断、动作等,要注意的是(1)对象的动作也是事件 ;(2)对控制流产生相同效果的那些事件应作为一类事件。
经过分析要确定每类事件的发送对象和接受对象。
2. 画出事件跟踪图
从脚本中提取出各类事件,并确定每类事件的发送对象和接受对象,就可以用事件跟踪图把事件序列以及事件与对象的关系表示出来,事件跟踪图是扩充的脚本,更是简化了的UML顺序图。
图10.8ATM系统正常情况脚本的事件跟踪图(时序图)
10.4.4画状态图
状态图描述了事件与对象状态(对象生命周期中的阶段)的关系。
UML用状态图来表示对象的动态行为,它确定了由事件序列引出的状态序列。系统分析员应仅考虑系统内具有重要交互行为的哪些类,即每个主动发送事件的对象类的动态行为用一张状态图来表示,各个类的状态图通过共享事件合并起来,从而构成系统的动态模型。
从一张事件跟踪图出发画状态图时,要关注影响一类对象的事件,即考虑指向某条竖线(对象)的箭头线,把这些事件作为状态图中的有向边(箭头线),边上标以事件名,两个事件之间的间隔就是一个状态。
图10.9 ATM类的状态图
图10.10总行类的状态图
图10.11分行类的状态图
10.4.5审查动态模型
各个类的状态图通过共享事件合并起来,就构成了系统的“动态模型”,应该细致审查动态模型的完整性和一致性
10.5建立功能模型
功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组DFD组成,其中处理功能可以用IPO图(或表)、伪码等描述。
10.5.1画出基本系统模型图[最高层的DFD]
图10.
您可能关注的文档
- 第2单元综合测分解.doc
- 货运07包装危险货物运输分解.ppt
- 二1—21150采面回收结束后矿井通风系统调整方案分解.doc
- 4.配置windowsserver2008环境实验内容素材.ppt
- 二标平安工地实施方案分解.doc
- 货运驾驶员安全教育分解.ppt
- :活塞连杆组素材.ppt
- 第2讲电解池金属的电化学腐蚀与防护学生练习分解.doc
- 第2讲分子结构与性质分解.doc
- 第2节二力平衡(导学案)分解.doc
- 2024年山东省鱼台县卫生局公开招聘试题带答案.docx
- 2024年贵州省江口县卫生局公开招聘试题带答案.docx
- 2024年贵州省金沙县卫生局公开招聘试题带答案.docx
- 2024年贵州省开阳县卫生局公开招聘试题带答案.docx
- 【儋州】2024年海南儋州市王五镇人民政府招聘10名见习岗人员笔试附带答案详解.docx
- 2024年江西省湖口县卫生局公开招聘试题带答案.docx
- 2024年江西省吉水县卫生局公开招聘试题带答案.docx
- 2024年青海省泽库县卫生局公开招聘试题带答案.docx
- 2024年辽宁省黑山县卫生局公开招聘试题带答案.docx
- 2024年山西省永和县卫生局公开招聘试题带答案.docx
最近下载
- 系统历史数据迁移方案.docx VIP
- 黑布林阅读初一11《杰克的悠长夏天》中文版.doc
- 2022年得物行业分析及(2022-2027)未来五至十年行业发展报告.docx VIP
- 2025中考英语最后一卷(辽宁卷)(原卷版).pdf VIP
- 公司员工在职证明模版.doc VIP
- 施工总面布置和临时设施布置.docx
- 加油站罩棚安装工程施工技术方案及措施.docx VIP
- 川教版(2024)三年级下册信息科技 1.1探秘在线学习平台 教案.docx VIP
- 8.1 辩证思维的含义与特征 课件高中政治统编版选择性必修三逻辑与思维.pptx VIP
- 川教版(2024)三年级下册信息科技 1.1探秘在线学习平台 课件.pptx VIP
文档评论(0)