陈平
摘要:计算机软件开发是一门非常热门的专业。人们在进行软件设计开发的过程中面临着很多难点,如何针对这些难点问题进行处理,将会直接影响计算机软件开发质量。计算机网络技术日益普及,网络技术发展逐渐呈现出多层次、多元化的形态。该文针对计算机软件开发设计的难点问题进行详细分析,提出一些可行性策略以供参考。
关键词:计算机软件;开发;设计;难点;对策
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)06-0094-02
计算机软件作为计算机应用的重要基础,计算机软件技术日益发达,计算机的应用面得到了巨大拓展。计算机软件技术作为计算机发展的重要组成,其对于计算机的发展产生着相当巨大的影响[1]。本文将针对计算机软件技术相关发展情况、计算机软件开发设计难点等进行探讨,提出一些解决计算机软件开发设计难点的策略,为计算机软件技术的发展奠定重要基石。
1 计算机软件开发发展
由于我国经济高速发展,对于软件行业的需求日益增加,国家根据需求加大了对软件行业的投入,在资金、物力、财力、人力等方面均给予了大量的支持[2]。国家将软件行业的优惠政策指导落到实处,大力发展医疗信息、物联网、安防工作、电子取证以及网银支付等方面的计算机软件应用。国家优惠政策给软件行业的发展带了巨大的机遇,有数据显示我国软件行业在未来的发展空间仍然很大,但是软件发展却出现了两极分化的趋势。
2 计算机软件开发设计的难点
2.1 软件设计缺乏分析
目前,很多计算机软件开发人员的能力不足,开发中无法对计算机软件进行详细的分析和运行研究,因此出现了编写的软件在实际应用过程中出现了很多问题。譬如,计算机软件在使用过程中出现了大量的用户数据丢失、计算机的程序被大量破坏、计算机联网不稳定等问题,这些问题均会导致计算机软件使用无法正常进行[3]。计算机开发人员对于软件程序的流程和涉及的机密信息处理不认真,造成了用户在使用软件的时候出现安装程序不稳定,未能够达到设计的预算要求和效果。一些软件需求分析不细致,使得开发人员在软件开发时比较笼统,开发的数据不完整,此在一定程度上限制了軟件开发在我国计算机的发展。
2.2 软件开发质量得不到保障
计算机软件开发具有其独特的复杂性,且计算机较之于其他的产品,计算机软件开发的程序相对比较系统,且一个软件由多个分项目组成。因此计算机软件产品在开发的过程中由于存在着很多子系统,不同的开发人员可能会引起开发工作缺陷,实际软件开发过程中由于开发人员的疏忽,且开发没有严格按照国家的开发要求和开发循环程序和标准执行,使得软件开发设计工作做得不到位,对于软件产品的开发没有按照相应的规划和程序设计工作执行,致使软件开发的流程和软件开发时间大大延长。
2.3 软件开发的需求分析不充分
需求分析作为软件开发的重要部分,是软件功能和应用的重要体现,也是软件开发设计的核心。但是很多软件开发人员对于软件需求不甚理解,在开发的过程中常会出现开发的程序功能不符合需求的要求,这就造成了软件开发效率低下,且无法达到软件项目产品的需求。
2.4 测试不到位
目前,虽然很多开发人员在进行软件开发的时候会进行代码测试,但是在后续的系统测试上却很不足。很多的软件产品重在开发,对于软件测试方面的重视程度不足,造成了开发完成的软件在后期的使用中出现很多的软件漏洞,这对于软件维护工作造成了巨大压力。因为软件开发完成之后,将会上线应用但是在不同的应用环境中会出现各种问题,例如在不同的操作系统下使用软件可能会出现各种兼容性和操作显示问题,在不通过的浏览器或者不同的应用设备中使用软件,其效果也将变得各不一样。软件开发人员在进行软件程序编写的时候,仅仅测试了其单个程序的功能,对于整个程序的系统功能测试不到位,将会面临着各种问题。
2.5 软件开发系统新特性变化
软件开发过程中用户不断提出新需求,要求开发人员必须要针对用户的需求做出改变,这造成了软件开发过程中带来了巨大的程序运行压力。软件系统运行过程中必须要对系统进行严格控制,添加新需求的时候必须要进行仔细研究,针对用户的新特性修改计算机的软件编写计划,为提升计算机软件开发效率提供保障。软件开发系统新特性的变化必不可少,一款成型的软件必须要经过多方面更改和功能完善,并以此来满足用户的需求。
3 计算机软件开发对策
3.1 模块式设计
计算机软件开发的时候需要用到模块化设计,此方法可以有效减少计算机软件设计和开发的难度,并且还可以在软件开发的过程中添加程序或者删改程序。因为模块化设计,其主要是将一个软件程序分为若干个小程序,通过相应的设计原理和编码处理实现每个模块的功能,最后再根据模块功能组成一个巨大的软件系统。软件设计过程中要求模块化设计的相当多,且多个模块设计由多人共同完成,计算机软件通过不断的调整,使得程序在运行的过程中更加稳定。通过模块设计实现整个软件系统的搭建,更加方便软件编写。模块式编程其主要的模式如下:
3.1.1 最原始写法
只需要将不同的函数简单的放在一起,就可以看作一个模块:
Function m1(){
/*xxx*/
}
Function m2(){
/*xxx*/
}
上面所说的m1和m2函数,其共同组成了一个模块,软件设计编码的时候,如果要使用则可以通过函数进行直接调用。但是这种模块式的编码,其代码存在着很大的缺陷,即全局变量被污染,整个程序中无法保证该模块的变量函数和其他的模块变量不会发生变量名的冲突,且模块之间的成员看不出直接的关系,因此在软件设计的时候必须要注意这个问题。
3.1.2 对象模块变成写法
var module1 = new Object({
_count : 0,
m1 : function (){
//xxx
},
m2 : function (){
//xxx
}
});
这两个m1和m2函数都将封装在module1里面,使用的时候将会通过函数调用对象的属性。此种编码模式可能会导致内部状态暴露,从而造成了通过外部代码来改写内部计数器的数值。当然,模块化软件编写还有其他方式,这两种模式看起来比较直接,且在使用的过程中也看起来比较简单。
3.2 数据流设计
计算机软件开发大多数都是面向结构层次的设计,且数据流设计在很多的领域都只有数据,却没有准确的层次结构。人们在进行软件设计的时候,尤其是在科技领域、工程领域等均遇到了相应的软件开发难点。软件开发难点的出现迫使软件开发者必须要想办法革新软件设计方式,必须要打破传统的软件设计模式,解決重大的软件设计难点。数据流设计通过设计对象各个方面进行数据采集,然后再根据采集的数据进行信息设计,数据流设计建立的阶段主要是在结构化的数据图基础之上。软件设计之前必须要详细地分析数据图的特征和信息流的相关特征,然后再进行软件数据的详细分析和准确判断,判定数据的信息流是否属于变换型还是事物型。如图1所示,企业生产供应数据流关系图。
按照企业的生产产品、原材料、供应商、维修部门四个关系组成了整个企业的销售、生产系统,所有的行为体现出了整个生产企业的销售和生产流程。
3.3 数据结构设计
数据结构设计其主要是将软件的数据利用图形的结构表达出来,利用Warnier等软件开发方式将数据层次化,通过层次结构实现数据表达,另外通过图形来编辑软件[7]。软件开发设计我们通常会遇到设计问题、待解决的难点问题,而数据结构设计则可以直接将这些的特点关系利用图形结构描述出来,进而解决计算机软件开发过程中遇到的难点问题。数据结构设计分为了三个层次:顺序、重复以及选择,软件详细设计与数据结构设计在整体上差别不大,数据结构的设计主要步骤在于调查分析数据结构,根据不同的数据结构创建出相应的程序控制结构,在用于描述输入、输出的软件数据结构设计过程,将确定的操作程序详细列举出来,然后再将所得的操作按照软件的需求进行分配,以此来完成软件开发。
3.4 提高软件需求分析能力
其实软件的需求分析来自于之前软件开发立项以及软件最初始的用户需求,软件开发人员在进行软件开发的时候必须要注意提高软件的需求分析能力,从根本上实现软件需求能力提升,对软件的功能有一个实质的认识。软件开发对于软件的需求分析,必须基于用户基本需求,通过明确用户的基本需求来不断提高软件开发人员了解对软件需求的深层次认识,同时还可以适时提出一些软件改进建议,这对于提升软件产品的质量具有十分重要的作用。软件开发团队必须要召开内部开发会议,让开发人员对于软件的功能有一个更加清楚的认识,对于软件可能会遇到的问题有一个预计。
3.5 加强软件测试
软件测试其实是软件开发一个非常重要的环节,软件的测试工作是否到位,将会直接影响软件产品的质量。伴随着软件开发行业的竞争日益激烈,加强软件测试对于软件产品质量提升具有十分重要的意义。但是很多的软件开发公司为了节约成本要求开发人员进行软件测试,无论是系统测试还是代码测试均要求开发人员完成,这不仅给软件开发人员带来了非常巨大的压力,而且还会造成开发人人员因为测试工作量巨大变得开发效率低下。软件测试工作必须要有专门的部门,软件测试的流程如图2所示。
上图所示,软件测试流程中包含了单元测试、集成测试、系统测试以及验收测试,而在测试之前还必须要加强需求分析以及概要方面的设计研究。软件开发团队必须加强软件测试,一旦软件开发出来必须要完成当天的开发任务测试,为后续的开发工作提供重要信息支持。
当然在设计测试用例或者进行系统网页测试的时候,还有很多的情况需要测试,上表仅仅几个主要的步骤,还有很多翻转链接的小步骤需要注意,测试的时候需要实现测试的全覆盖,以此来保障软件质量。
4 结束语
随着我国信息化的进程不断加快,国家在计算机软件开发上面的投入相当大,为了建立信息网络强国,积极展开对外合作交流。国内的软件开发市场竞争也变得日益激烈,虽然我国的计算机软件技术处于初级阶段,但是经历长时间的发展,国家的计算机软件技术也将发生巨大飞跃。计算机软件开发面临着很多的软件开发设计难点,如何在开发的过程中解决这些难点问题,将是计算机软件开发效率提升的重要保障。本文针对软件开发设计的难点进行分析,提出了一些可行性措施来避免可能遇到的开发难点问题,为计算机软件开发设计提供一些参考。
参考文献:
[1] 朱华. 计算机软件开发设计难点及对策分析[J]. 科技创新与应用,2016(28):99.
[2] 殷越. 关于计算机软件开发设计的难点和对策分析[J]. 电子技术与软件工程,2016(10):56.
[3] 李宝泽. 关于计算机软件开发设计难点与对策的探究[J]. 科技创新与应用,2016(9):103.