从贪吃蛇来谈对OO软件开发的过程

以前在课本上看到过:OO开发的基本过程有:
1.面向对象分析面向对象分析(OOA)!

2.面向对象设计(OOD)!

3.面向对象编程(OOP)!

4.面向对象测试(OOT)!

5.面向对象维护(OOSM)!

以贪吃蛇游戏来谈谈这几个过程:

1.面向对象分析:
从宏观的角度概括这个系统该做什么!把客观的事物抽象成类!形成一个模糊的需求模型!具体怎么实现不用管!在贪吃

蛇中,我们知道游戏的任务就是蛇吃豆,必须要有蛇和豆的这两个类!(如果你的抽象能力更好的话,应该抽象出一个管

理层,来控制这个游戏过程,而让蛇和豆减少一些负担!)

2.面向对象设计:
根据面向对象OOA形成的的需求模型,开始对每一部分来进行具体的设计,包括类的方法和一些数据,类的设计可能会涉及

到继承与派生,也包括算法的设计!在设计阶段并不拘泥于某一门具体的语言!对于贪吃蛇,我们就要去分别设计蛇和豆

两个类,他们有什么方法,比如蛇有吃豆的方法(当然,如果你设计了一个管理的类来控制游戏过程,就不用把它放在蛇

的类里了!)

3.面向对象编程:
这部分就是用某一门具体的编程语言,去实现整个系统!比如(C++,C#)!这一部分也许是和大家目前联系就密切了!

4.面向对象测试:
我们做好了软件之后,必须进行相应的测试,来发现软件中所存在的BUG!就好像网络游戏中的内测!比如我们的小蛇可能

吃了豆后身体并没有变长!

5.面向对象维护:
没有哪一个软件是一次完成,用不需要修改的!因为用户和市场的需求是时刻在变化的,我们必须去改变软件的功能,去

完善我们的作品!比如我们的小蛇,哪天,可能你想多增加几种小豆,让我们的小蛇吃了不同的豆后有不同的反应!


一般来说:前两个过程应该在软件开发中占据绝大部分,差不多60%-70%!但是就现在的状况来看,基本没有哪个公司能达

到这个标准,大多数都在30%-40%,而把大部分时间放在了OOP上!
并不是软件开发商不想去按照标准去做,而是很难做到,首先,在开发的过程中很难划清前两者和OOP的联系!它们两个部

分总是纠缠在一起,让很多人难以具体区分开来!第二点也是最重要的一点,很多公司很难正确分析好用户想要实现的作

用,比如石油公司找软件公司来做个软件,石油公司有很多技术和东西都是软件公司的分析师不能理解的!也就导致了用

户的要求和实际作品的偏差,老师和我们说,一个分析师,能把用户的需求的30%-50%理解出来,就说明他是个天才了!但

有时候恰恰相反,并不是软件公司分析不出来,而是用户不知道如何表述,比如一个从来不使用计算机的企业,突然提出

要办公自动化!他们自己都不知道怎么才叫自动化,更别提让软件公司懂了!

但是我们必须是始终明确,在一款软件的开发过程中,OOA和OOD才是最最重要的地方,而OOP只是小小的一部分!
这也是程序员和系统分析师的工资区别!

我自己还只是大一的学生,没有开发过任何大型的程序,所以只是结合者老师上课讲的东西,和自己的一些经验来谈谈我的认识,如果哪里有错误,希望大家指出来,让我了解一下!谢谢啦!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值