欢迎来到爱学习爱分享,在这里,你会找到许多有趣的技术 : )

要想软件问题少,个人能力要提高

开发者头条 856℃

虽然软件工程是一种系统方法,它通过应用项目管理的方法,不完全依赖个人的能力,通过JAD、审查、评审、测试等质量控制手段来确保软件产品质量。

但是,“打铁还要自身硬”。软件产品的质量与软件开发人员的能力和知识水平有非常直接的关系。想要指望依靠团队的审查、评审、测试这些手段来解决开发人员能力不足带来的所有问题是不现实的。当软件出现技术问题时,问题的原因往往是技术人员缺乏软件应用领域相关的专业知识,而不是缺乏软件开发方法的基本知识。也有可能是缺乏关键质量控制活动方面的知识,如审查、JAD以及专门的测试方法等。

以下是一些软件技术人员应当掌握的技术主题:

  • 应用程序所在的领域

软件开发人员对业务领域越熟悉,就越能理解用户的需求,从而减少由于需求变更带来的问题。

  • 数据库软件包的形式、工具以及产品

除了编程工具之外,其它影响软件功能实现的工具,软件开发人员也应当掌握。比如数据库工具。如果没能掌握如何对它进行调用,又怎么去实现数据的存储、查询的功能?

  • 外包公司的技能

即使自己不开发一行代码,把软件交给外包公司开发,软件人员也要具备与外包公司沟通,监控外包公司的进度、过程质量和产品质量的能力,否则,你很难验收到一个合格的软件产品。

  • JAD的原则

联合应用设计是一项非常好的技能,它不仅能帮助我们减少需求问题,也能帮助我们更好地设计和实现。但是,软件开发人员应当能够建立应用这一技能的基本原则,比如何时应用这一技能,使用这一技能的范围界定等等。这样,才可能真正发挥JAD的作用。

  • 正式设计审查

做好设计审查,可以在软件实现之前就消除掉一些缺陷,对于软件开发的进度和质量具有积极的意义。但是,如果仅凭个人经验的审查是很能发挥出太大的作用。要使用审查工作发挥作用,应当建立软件的经验教训库,选取合适的审查人员,制定合理的审查准则,指定适宜的审查范围。

  • 复杂性分析

对软件复杂程度的理解,可以帮助开发人员做好针对性的设计。软件的复杂性分析就是完成这一任务的技术手段。

  • 使用编程语言

要掌握一门编程语言,绝不仅仅是会在它的开发平台上敲敲代码而已。环境的设置、编码的规则、语言的局限等等,都是需要开发人员掌握的。

  • 安全问题和安全漏洞

对于一些有高安全性需求的软件,开发人员应当主动研究软件面临的安全问题,思考软件存在的安全漏洞,并预先进行处理。

  • 性能问题和瓶颈

性能需求往往受到用户的高度重视。解决软件的性能瓶颈是软件开发人员的一项重要能力。

  • 正式代码审查

人工代码审查,可以发现很多工具发现不了的逻辑性错误。开发人员使用自己的大脑来运行测试用例,是开发人员必须掌握的技能。

  • 静态分析方法

使用一些测试工具能够对代码进行静态分析,能够帮助开发人员发现一些不符合编码准则的问题。

  • 变更控制的方法和工具

变更控制要能够满足需求方和开发方的利益,要做好版本控制,并且避免引入新的缺陷。

  • 性能的度量和优化方法

开发人员对于性能需求,必须要以量化的语言描述,这样在软件实现之后才能对其进行测量。性能的测量可能需要借助一些专用的工具和设备,开发人员应能设计有效的测量方法,准确地度量软件的性能指标,并能采取有效的措施对其进行优化。

  • 测试方法和工具

测试是用来验证软件是否被正确地实现。一些非功能性需求可能要使用一些专用工具和设计出专门的测试方法。唯有如此,软件的需求才能得到有效的验证。

软件开发人员要提高自己的能力,进而提高自己产品的质量,就要对照上述能力项反省自己是否有缺失,并且努力补充自己的短板。同时,组织也应按照自己的战略培训计划逐步开展相应的技术培训。

参考书目:《软件工程最佳实践》

转载请注明:爱学习爱分享 » 要想软件问题少,个人能力要提高

喜欢 (0)or分享 (0)