一个完整的面向对象分析与设计例子

一个完整的面向对象分析与设计例子

ID:40718589

大小:43.00 KB

页数:9页

时间:2019-08-06

一个完整的面向对象分析与设计例子_第1页
一个完整的面向对象分析与设计例子_第2页
一个完整的面向对象分析与设计例子_第3页
一个完整的面向对象分析与设计例子_第4页
一个完整的面向对象分析与设计例子_第5页
资源描述:

《一个完整的面向对象分析与设计例子》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一个完整的面向对象分析与设计例子首先说明,接下来 这部分内容,跟面向对象没什么关系,只是描述出我们接下来"需要做什么". 大家都知道电梯是怎么回事了,所以获取需求的过程我就不啰嗦了,直接把最后结果描述出来.(对于计算机专业学生或软件工程毕业设计的需求分析结果应该有些参考意义...起码可以看出怎么样的结果才真正有意义)   电梯楼层 1-10 楼(也就是没有什么地下室也没有中间跳过某些楼层,最普通的情况),一共有2部电梯.  如果一个在n楼(1

2、了n楼必须停下接收乘客.  如果电梯里已经没有乘客了,电梯应该留在原位置直到再次投入使用.  在将乘客送到目的地以前电梯不允许反向运动.(也就是电梯比如把乘客从9楼带到楼下,如果在走到4楼的时候5楼有人要下,电梯不能从4楼回5楼去,而要把乘客带到楼下再回来)  满载的电梯不再收人.  电梯里有个按钮面版,里面有10个楼层的按钮. 按下按钮表示该楼层变成一个目的地,按钮会发光,到达以后按钮不再发光.  建筑物2-9楼层有一个按钮面版,上面两个按钮分别是向上和向下.1楼只有向上,10楼只有向下.  电梯有

3、一个控制中心来自动控制,不用人手干预.  ...............(其他,略) 第二部分  到底上面的需求描述中,哪些东西可以成为我需要来 "面向"的"对象"? 首先,我们要选择出候选的对象,然后再在候选对象里选择真正为程序设计所使用的对象. 候选对象的选择有很多方式,比方说"名词短语频率分析",对上面那段去分析看哪些名词出现次数很多,说明可能比较重要,可以直接拿来当候选对象. 比如楼层,电梯,按钮,乘客,都出现很多次. 当然还有另外的方式,比如"按方面建立" (PS: I'm sorry,我是

4、个实用主义者,只要目的达到了...我不喜欢像一些书本上那样用些概念糊弄人,上面红字的两个方法的名称是我临时取的.....也许不好听,也许他们有更优美的名字.....反正这不是我们该担心的,留给教材编写人员取操心吧...) 从 人组织设备物品业务事件表格  几个方面去找对象去.   这里要注意的是对象的选择要看具体情况的,比如 .... 我们把 "放飞希望" 作为一个具体的对象实例 ( ^_^ ), 如果在医疗系统中,可以抽象成 "人" 这个类,由 脑袋身体手脚......等部分.  

5、 如果是在教育管理系统中, 就不能这么处理,可能要抽象成 "老师" 这个类, 包括 教学年限工资所教科目..... 等内容. 还有一点需要注意的是不要跨过系统边界. 系统之外的事情就不要管了,就说我们这个电梯调度, 电梯的生产日期啊什么的,还有乘客的姓名, 都根本雨系统无关,这些是不需要的. 最后有一点被非常非常非常非常非常多的工程师们所忽视的就是建立面向对象分析模型的时候, 只应该考虑逻辑,而不要去考虑跟实现技术相关的东西. 比如按钮是塑料的还是金属的, (当然这个很明显是分外的事,大多数人在

6、做调度分析的时候不会考虑这个,不过有些情况却很隐蔽..)  现在回到我们具体问题,假设现在我们列出来的初步的清单是这样的(可能100个人有100个列法,不过没关系,这是正常的...): 电梯电梯门电梯位置乘客目的地按钮大楼..... 这离真正可以用的对象还差很多, 我们需要对每个词进行分析,看看到底是不是,值得不值得把这个当一个对象来考虑.我们分析从以下几个方面看: 它在系统里有功能吗? (比如电梯天花板 就该删除掉....如果有的话....)  其他对象需要这个对象帮忙做点什么事吗? (比

7、如乘客需要电梯把他带上去...)  其他对象需要这个对象的数据吗?(比如控制中心明显需要知道电梯现在在哪..)  这个对象是不是包含了有用却不对别的对象公开的内容.(比如电梯上面的吊链和发动机明显是有用的,不然电梯无法动也就无法调度了, 但是明显对于其他对象,都是不需要公开的, 不管是乘客还是控制中心都不需要控制电梯的马达---这里可能有人要有意见了, 控制中心不控制电梯马达么? 答案是不该控制,控制中心应该只告诉电梯你要向上还是向下还是停, 至于马达转多快怎么转,是电梯自己的电路来控制的才对, 责任

8、分开明确有利于系统的维护.)  这个对象有没有一个生存期,是不是描述了  产生--各种运行状态--消亡 的信息.比如一次电梯召唤-(谁想个好听点的名字? 呵呵....) 产生是用户按了向上或向下的按钮. 然后进入 "电梯来" 这个状态, 再进入电梯停(包括开门,乘客进去,关门)的状态,然后又是 "电梯走" 的状态,再之后是电梯再停给用户下去,然后这个电梯召唤以电梯停止移动等待下次召唤作为结束.  如果向应用领域的专家(这里比如是电梯工程师)描述这个对象,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。