软件的创建


本篇是代码大全的开山篇,其中表述了关于软件创建的介绍和基本过程。

其实写软件就和学习过程是一样的,底层代码写的好,才能去谈上层建筑,而且才能具备创造性和更多可能性。这是一个过程性概念,可能包含的过程:计划、设计、检验等方面的某些工作。下面就来谈谈软件的创建。

是什么

总的来说开发一个软件是非常复杂的工作,根据前人总结的一些经验可以包含如下方面:

  • 问题定义

  • 需求分析

  • 实现计划

  • 总体设计

  • 详细设计

  • 创建即实现

  • 系统综合

  • 单元测试

  • 系统测试

  • 校正性的维护

  • 功能强化

这些点可能有些人觉得过于详细,其实不然,我觉得概况的非常准确。在我们平时写代码的过程中可能没有这么宏观的认识,自己随意地写些小Demo,但真正接触到了商业级项目就会觉得确实是如此的,因为这样一套流程下来,才能尽可能地减少错误的发生。

我觉得这几个方面可以这么看(个人理解)

  1. 对于问题(痛点)的分析和理解

我们知道写软件的目的有很多,但大部分是为了解决现有问题才去写的,所以首要的就是分析问题,找到痛点,来解决对现在或未来的具有广泛意义的问题。其目的性、针对性应当是非常明确的,软件就是为了实现某个方向的,目前市面上并不常见的,并且是能够产生相应的经济价值。

  1. 计划及设计的构思

我觉得这个可以体现程序员的“惰性”,优秀的程序员应当重于思考,思考的同时也加深了对于问题的理解,有时候对于小问题的仔细分析可以得到明显的提升,这些在于设计过程中就尤为重要了,包括技术选型,架构设计等方面。去思考所掌握的或是开源的亦或是自己设计的架构能否与需求充分结合。最完美的设计是能实现现有需求,并且不能再减少任何东西,换言之就是极度的精简,没有冗余的设计。

  1. 具体实现

大项项目的debug过程是非常痛苦且费时的过程(有时为了解决一个问题,要深入十几层才能看见问题),本人在开发中深有体会,所以在写代码之前,请尽量思考清楚再动手,要保证代码的健壮,基础代码尤为关键,减少对功能代码的重复编写。代码的优化应对在写代码的过程中,在写代码的时候心中要有准则,尽可能提升runtime效率。

  1. 测试及维护

为了应对实际生产环境中的各种问题,需要不断地测试和维护,不同客户,对应的环境也不尽相同。相关依赖问题和环境配置又尤为关键了,最好能将代码所需环境的版本控制好,容易定位问题。

  1. 代码升级

在我们平时开发中经常会进行版本更新,而且软件只有不断更新才能适应实际的开发需求。好的软件应当是易于升级的,如eclipse。

软件创建过程的特定任务:

  • 验证基础工作已经完成,可以进行创建工作
  • 设计和编写子程序与模块
  • 创立数据类型并命名变量
  • 选择控制结构并组织语句块
  • 找出并修正错误
  • 评审其它小组的细节设计和代码,同时接受其它小组评审
  • 通过仔细地格式化和征集意见改进编码
  • 对分别完成的软件单元进行综合
  • 调整编码使其更小、更快

这些任务会贯穿整个开发过程

重要性

为什么说软件创建是重要的,这是因为:

创建活动是开发软件的重要组成部分。开发时间决定,随项目规模不同,创建活动在整个开发活动中所占时间为 30%~80%之间,在任何计划中占有如此大时间比例的活动必然会影响计划的成败,这是不言而喻的。
创建活动在软件开发中处于枢纽地位。分析和设计是创建活动的基础工作,对系统进行测试以证实创建活动是正确的则是其后续工作,因而创建活动是软件开发的核心工作。
把主要精力集中于创建活动,可以极大地提高程序员的生产效享。由 Sackman、Erikson 和Grant 在 1968 年进行的实验表明,每个程序员的效率系数的变化范围为 10~20,这一结果随后又被其它几个实验所证实。最优秀程序员与普通程序员的巨大差异表明,普通程序员提高效率的潜力是非常大的。
创建活动的产品,源代码,往往是软件的唯一精确描述。在许多项目中,程序员可得到的唯一文件便是代码本身。需求说明和设计文档可能会过时,但源代码却总是最新的。因此,源代码必须具有最好的质量。一个软件成功与否的关键,就在于是否不断运用技术来改进源代码。而这些技术恰恰是在创建阶段,才能得以最有效的应用。
创建活动是唯 一一项必不可少的工作。理论上一个软件项目要经过精心的需求分析和总体设计,然后再进行创建,接着对其进行彻底的、严格的系统测试。然而,实际工作中的软件项目,往往越过前两个阶段而直接进行创建活动,最后,由于有太多的错误要修改,系统测试又被弃之路旁。但是,不管一个项目的计划多么疏漏而又如何匆忙,创建活动都是必不可少的。无论怎样精简,改进创建活动都是改进软件开发工作的方法。

总结

  • 软件创建是基础也是重要的部分
  • 整个创建过程包括:需求、设计、编码、调试、测试
  • 创建的质量决定了软件的质量
  • 在编码之前注重对于问题的思考和理解
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值