软件开发(一)——软件开发的基础思考

几乎所有学计算机的人,都是先学的程序设计,学各种各样的语言,c,c++,c#,java,fortran,python等等,掌握这些内容后基本就能进行程序开发了,也可以实现我们想要实现的相关功能。所以很少有人再去思考软件设计是怎么回事。

工作以来,开始真正的接触工程,开始真正进行软件开发,长久以来都在思考软件开发的一些问题,今日开始将想法整理,一是借此机会捋一捋自己的思路,二是为自己以后的软件开发做一些经验性的总结。自己仅有过两次十万级以上代码软件开发的经历和一次工程建设经历,虽都深入参与其中,但所写内容难免粗浅,今日分享,更多的是想接受各位看官的批评指正。

一、软件开发的特征

程序开发是软件开发的具体实现,两者有着包含与被包含的枝叶关系。相比较而言,软件开发有着复杂性的特征,具体表现如下:

代码量大。在各种封装库如此丰富的当下,进行一个一般的程序开发,千行以内的代码几乎就能完成,我清楚地记着自己的硕士毕业论文大概也就是8500行的代码量。但软件开发往往都在万行代码之上,十万行也是常有的事,据了解,windows7系统的代码量约有5千万行。
需要团队合作。没有任何一个人可以实现如此多的代码书写,往往需要多个人或者多个组之间合作开发完成。
需要工序化管理。有合作的地方就有管理,如果能做到一加一大于一,就已经是一个合格的管理方式了,如果能做到一加一等于二,那就能称得上优秀。
面向用户需求。这是软件开发最重要的特征,是软件开发的根基与命脉。软件的开发是为了让用户使用,它归根到底是一种产品,满足用户的需求才能在市场生存,也才能有其经济价值。而我们平时所进行的程序开发,则更多的是为了满足自己的需求。

二、软件的内容

从产品的角度来讲,软件包含程序代码,文档,数据结构和数据三大部分。程序代码、数据结构和数据大家了解的较多,现在单说一下文档。

文档通常包含开发文档,产品文档和管理文档三类。

开发文档的主要作用是描述开发过程,含需求分析文档、软件设计文档、软件测试文档等。

产品文档是在进行产品交付时提供给用户的文档,目的是为了让用户更好地了解和使用产品,含产品手册、用户指南、培训手册以及广告宣传页等。

管理文档是我有一次去机场接一位上级行政领导在路上聊天时他提供给我的思路,顿时感觉茅塞顿开。管理文档的基础要素(也可以理解为是约束条件)是人员、时间、环境、资金四大方面,作用是用来记录项目管理的过程信息,含开发计划,开发阶段性进度,职责划分,任务安排等。其还有另外一个好处,一般来说,一个软件的开发是一个长周期的过程,项目组的人员难免有来回的变动,使用好管理文档,就能将人员变动对开发进度的影响降到最低,新人可以在管理文档上迅速了解到在干什么,已经干了什么,自己需要干什么等信息,尽可能地做到即插即用。

三、软件开发过程

软件开发的基本流程是:

需求分析 → 软件设计 → 编码实现 → 软件测试 → 软件维护

这只是一个基本流程,很少有人一次性将需求分析调查得非常充分,也很少有人能将软件一次性设计得非常合理,软件开发的过程是一个循环往复的过程,需要不停地在这五步之间进行迭代更新,直至它不再被使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值