大型软件开发需要注意的几点

1  版本号: 定义版本号在开发中具有比较重要的意义,在开发过程中,版本每时每刻都在变化中,如果你写了一个软件,别人使用时不知道你的版本升级了,但是还认为你的版本处于以前的状态,这时会出现莫名其妙的Bug,可能要花费大量时间才能发现是版本的原因,如果你加上版本信息,在一开始使用时就告诉他版本不对,只需要使用最新的版本就行,这时可以节省大量的时间。

2 划分层次:在大型软件开发中,如果你的软件设计只有简单的一层,那么该层的责任重大,比如在TCP/IP中的物理层,如果该层既要获取数据,又要处理数据,那么该层一定会臃肿不堪,而且功能划分很难明确,如果张三今天有个逻辑A放在里面,明天李四又有个逻辑B放在里面,那么开发到最后,这层可谓又复杂又难懂,而且极易出现Bug,这样给开发带来极大的麻烦。因此需要明确的层次定义,底层物理层只做数据的读或者取,如果出现逻辑问题放到高层中,张三的逻辑和李四的逻辑一致的话可以整合起来,如果不一致可以分开,这样对软件的扩展是很方便的,如果有新的东西只需要在底层的基础上扩展就行。

3 划分责任:即明确功能的划分,明确模块的功能是很重要的,如果说在写程序之前不知道你写的功能是什么,或者说很模糊,那么劝你不要轻易动手,因为这种情况写出来的程序会很容易变成四不像,由于不明白责任,导致今天你说是干A功能的,明天又说他是干B功能,那么使用者或者自己都会疑惑,他到底是什么呢,这样写出来的程序会是什么样子,你自己也很清楚。

4 软件正交:软件正交和数学中的正交具有类似的概念,可以方便并行开发,调试,一系列的好处可以从网上查询这方面的知识。

5 重构:前面基本上说的是前构,重构只是前构的补救措施,但是也很重要,因为面对的是不断变化的需求,所以重构的重要性不亚于前构。

6 抽象化:在软件设计中要改变我们的思维方式,做久了程序员后拿到一个项目大多数首先考虑的是怎么实现它,要使用什么技术,其实如果你做系统分析时这样的思维千万要改变,你首先考虑的是我们要提供什么样的结构,底层有些什么东西,中间要划分那几个逻辑层,高层又是怎么样的,底层的代码及其的重要,需要提供什么样的接口,这涉及到你对他了解多少或者你对他的功能定位问题,而且底层定义好千万不要轻易改变,如果你改变了,高层很多东西要变,这样很可能是别人的劳动成果全部清零。

7 底层代码的修改特别需要注意,注意一个原则是只有只读权限,类似于Windows的Ring0~Ring3级别的设计,对于内核层访问都需要特别的小心,要么通过高层与底层的中间逻辑层来访问底层代码,如果实在没办法也不要改变底层的数值,这是忌讳,因为别人拿底层数据时认为这是原始数据,所以深信不疑,如果你在高层改变了值而别人不知道,那就造成了极大的麻烦,要么别人调试好久才知道,知道后还有修改设计,很可能牵一发而动全身,导致系统设计的缺陷。

8 层次划分经验,底层是最原始的数据,所以要尽量保持原始,不需要和高层有任何的牵扯,相当于是第一手资料,别人资料都是在这个基础上获取,因此需要保持权威,真实可信。高层是对原始数据的应用,因此需要有自主权,保持灵活性,能够适应变化,比如提出新的需求能够灵活应对。

9 关于软件开发过程。软件开发过程是在软件开发中很重要的概念,比较有名的软件开发过程包括RUP,XP,MSF等过程,但是这些过程我感觉只是提出了大致的思路,具体的软件开发过程还是由各个企业根据自身实际情况来制定,里面还是有很多细节根据员工情况,项目情况,时间安排等做出具体的调整,总之一句话,一切都是围绕项目成功实施为中心,凡是能够提高项目效率,凡是能够提高项目质量的流程都需要改进。比较经典的软件开发过程包括迭代,持续集成等等...........

10 继续更新中......................

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值