- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个完整的面向对象分析与设计例子
一个完整的面向对象分析与设计例子首先说明,接下来 ? 这部分内容,跟面向对象没什么关系,只是描述出我们接下来 需要做什么 .?大家都知道电梯是怎么回事了,所以获取需求的过程我就不啰嗦了,直接把最后结果描述出来.(对于计算机专业学生或软件工程毕业设计的需求分析结果应该有些参考意义...起码可以看出怎么样的结果才真正有意义)???电梯楼层 ? 1-10 ? 楼(也就是没有什么地下室也没有中间跳过某些楼层,最普通的情况),一共有2部电梯. ??如果一个在n楼(1 n 10)的乘客按了下行按钮,那么下一个正在向下走的电梯到了n楼必须停下接收乘客. ??如果电梯里已经没有乘客了,电梯应该留在原位置直到再次投入使用. ??在将乘客送到目的地以前电梯不允许反向运动.(也就是电梯比如把乘客从9楼带到楼下,如果在走到4楼的时候5楼有人要下,电梯不能从4楼回5楼去,而要把乘客带到楼下再回来) ??满载的电梯不再收人. ??电梯里有个按钮面版,里面有10个楼层的按钮. ? 按下按钮表示该楼层变成一个目的地,按钮会发光,到达以后按钮不再发光. ??建筑物2-9楼层有一个按钮面版,上面两个按钮分别是向上和向下.1楼只有向上,10楼只有向下. ??电梯有一个控制中心来自动控制,不用人手干预. ??...............(其他,略)?第二部分 ? ? 到底上面的需求描述中,哪些东西可以成为我需要来 ? 面向 的 对象 ??首先,我们要选择出候选的对象,然后再在候选对象里选择真正为程序设计所使用的对象.?候选对象的选择有很多方式,比方说 名词短语频率分析 ,对上面那段去分析看哪些名词出现次数很多,说明可能比较重要,可以直接拿来当候选对象. ? 比如楼层,电梯,按钮,乘客,都出现很多次. ? 当然还有另外的方式,比如 按方面建立 ? (PS: ? I m ? sorry,我是个实用主义者,只要目的达到了...我不喜欢像一些书本上那样用些概念糊弄人,上面红字的两个方法的名称是我临时取的.....也许不好听,也许他们有更优美的名字.....反正这不是我们该担心的,留给教材编写人员取操心吧...) ? 从 ? 人\组织\设备\物品\业务\事件\表格 ? ? 几个方面去找对象去. ??? 这里要注意的是对象的选择要看具体情况的,比如 ? .... ? 我们把 ? 放飞希望 ? 作为一个具体的对象实例 ? ( ? ^_^ ? ), ? 如果在医疗系统中,可以抽象成 ? 人 ? 这个类,由 ? 脑袋\身体\手\脚......等部分. ? ? ? 如果是在教育管理系统中, ? 就不能这么处理,可能要抽象成 ? 老师 ? 这个类, ? 包括 ? 教学年限\工资\所教科目\..... ? 等内容.?还有一点需要注意的是不要跨过系统边界. ? 系统之外的事情就不要管了,就说我们这个电梯调度, ? 电梯的生产日期啊什么的,还有乘客的姓名, ? 都根本雨系统无关,这些是不需要的.?最后有一点被非常非常非常非常非常多的工程师们所忽视的就是建立面向对象分析模型的时候, ? 只应该考虑逻辑,而不要去考虑跟实现技术相关的东西. ? 比如按钮是塑料的还是金属的, ? (当然这个很明显是分外的事,大多数人在做调度分析的时候不会考虑这个,不过有些情况却很隐蔽..) ??现在回到我们具体问题,假设现在我们列出来的初步的清单是这样的(可能100个人有100个列法,不过没关系,这是正常的...): ? 电梯\电梯门\电梯位置\乘客\目的地按钮\大楼.....?这离真正可以用的对象还差很多, ? 我们需要对每个词进行分析,看看到底是不是,值得不值得把这个当一个对象来考虑.我们分析从以下几个方面看:?它在系统里有功能吗? ? (比如电梯天花板 ? 就该删除掉....如果有的话....) ??其他对象需要这个对象帮忙做点什么事吗? ? (比如乘客需要电梯把他带上去...) ??其他对象需要这个对象的数据吗?(比如控制中心明显需要知道电梯现在在哪..) ??这个对象是不是包含了有用却不对别的对象公开的内容.(比如电梯上面的吊链和发动机明显是有用的,不然电梯无法动也就无法调度了, ? 但是明显对于其他对象,都是不需要公开的, ? 不管是乘客还是控制中心都不需要控制电梯的马达---这里可能有人要有意见了, ? 控制中心不控制电梯马达么? ? 答案是不该控制,控制中心应该只告诉电梯你要向上还是向下还是停, ? 至于马达转多快怎么转,是电梯自己的电路来控制的才对, ? 责任分开明确有利于系统的维护.) ??这个对象有没有一个生存期,是不是描述了 ? ? 产生--各种运行状态--消亡 ? 的信息.比如一次电梯召唤-(谁想个好听点的名字?
您可能关注的文档
最近下载
- 12 全国生态环境监测专业技术人员大比武理论试题集 第十二章 综合分析 .pdf VIP
- GB51004-2015建筑地基基础工程施工规范.doc VIP
- 致敏物质控制措施检查记录表.docx VIP
- 智慧水利大数据信息化集成服务平台建设综合解决方案.docx VIP
- 城市公共交通规划与运输(1).pptx VIP
- 14 全国生态环境监测专业技术人员大比武理论试题集 第十四章 理论考试试题真题 .pdf VIP
- 2023年南宁市青秀区总工会招聘考试真题.docx VIP
- 烟淄管道干线扩能改造工程 环境影响报告书.pdf VIP
- GB50391-2014:油田注水工程设计规范.pdf VIP
- 资源管理平台系统-技术方案.docx VIP
文档评论(0)