实习收获之软件思想误区的纠正

      关注我的博客的朋友可能这些天很少看到我更新博客了,是的,主要的原因是去了长沙实习了,然后就是各种忙,还是浅谈下实习的这些天的收获吧。

      在长沙实习的那些天,我们主要的是对于一个项目的整体流程的设计,设计的项目是在windows下监控多台Linux下的服务器主机的详细信息,例如cpu使用率,内存使用率,磁盘使用率,进程的状态等等。以前我设计项目的时候只是把注意力放在这个项目用什么技术可以实现,在规定的时间内是否能够实现,然后就是比较关心代码方面的了。对什么概要设计,详细设计等等这些事不怎么用过的,经过这次的实习,对于一个软件的设计的重要性,特别是需求分析和概要设计这一块,将直接的关系到一个软件是否能够按时的完成。在实习的过程中听到的最深的一句话就是老师说的:一个软件的设计比编码重要100倍不止。一开始我并不相信,但是随着实习的进行,意识到之前的我对一个软件的想法已经进入一个误区的了。然后我果断的静下心来,好好的学。

    总的来说,一个软件的设计大体上分为:软件的开发计划,软件的需求分析,概要设计,详细设计,编码,测试,产品的发布这几步。

    还是简单的说一下这几步在一个软件设计中的作用吧:

            开发计划大体上是为客户制定日常的检查方案,可以发现用户系统应用的潜在问题,并提出实时有效的解决方案。

        

            需求分析中我们必须弄清楚客户要的到底是什么,要实现的功能到底是什么,这一点在一个软件的开发中是非常非常重要的,设想一下,辛辛苦苦码出来的代码,结果不是用户需要的,这很明显对人力物力的消耗是难以想象的。

          概要设计就是设计软件的结果,主要包括系统的规格,系统架构的设计,模块的划分,关键技术的突破,UI的设计,关键的数据结构,接口,线程模型。概要设计非常非常的重要,它几乎包括了一个项目的实现的所有技术和需要注意的地方,系统的规格和系统的架构的重要性不言而喻,架构是否完美,健壮,都会直接的影响到系统的性能和稳定性,模块的划分则可以让软件的功能更加的清晰明了,对这个软件的功能划分不再模糊。关键技术的突破,这点我以前也是把它的位置放得很重,这对一个项目是否能实现关键的功能有一个初步的评估,以客观的态度去衡量是否有足够的时间和能力去实现项目中的关键的技术,Ui的设计,这点也是比较重要的,由于在原型设计中,开发人员并不能那么快的开发出软件,UI的原型的作用就是可以和客户去确定具体 的界面情况,保证做的是客户想要的。数据结构的设计,接口的定义,线程的模式的设计,这些是详细设计的基础,也是非常的重要的。

        在详细设计阶段,设计者的工作对象是一个模块,主要是在概要设计的基础上对模块的设计进行细化,主要包括:数据结构的细化,模块使用的算法,业务流程,状态的转换。

        在经历了前面的几步之后,如果设计的比较完善的话,那么开发人员的工作就比较的简单了。现在比较流行的迭代编码,测试,也就是敏捷开发,在这个阶段就可以大展身手了。编码和测试同时的进行,不停的,尽快的更新出新的版本,使得客户有软件可用,实现基本的功能,并在接下来的版本中不断的去完善项目的功能,敏捷开发在这阶段的精髓表现的淋漓尽致。

        最后就是产品的发布,以及后期的维护升级的了。总的来说,以前我一直以为代码能力才是体现一个人在软件公司中的价值,但是现实看起来并不是这样,设计的能力,远比代码能力重要,当然,这不是一个项目就可以学的到的,必须通过不停的项目经验积累,这是一个漫长的过程,但是,至少,在接到新的项目的时候再也不会去盲目的直接编码了。这是对我一个编程思想的一个纠正,也是我在这次实习中的最重要的收获吧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值