计算机软件工程相关思考

前言:寻找写作灵感?中文期刊网用心挑选的计算机软件工程相关思考,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。

计算机软件工程相关思考

该项目是为Ubuntu平台开发的一款WebUI控制软件,其主要功能为:(1)该软件实现对网络的界面化配置;(2)能够自动登录gmail,或者用户经常使用的网页用户名;(3)能够对当前计算机中所有的程序进行配置管理;(4)自动显示计算机所处环境的wifi信号以及相应的信号强度,要求数据访问快。其他的具体需求都在项目需求说明书中进行了说明,而且该项目的开发时间为2个月。

1.项目起步阶段

当掌握项目后,项目经理开始进行开发人员组织,从项目来看,项目的业务较小,但是技术要求较高,如前文所述,为了保证项目能顺利实施,项目首先摒弃了技术风险,所以在人员配置方面,必须要有技术过硬的程序开发人员参与。其次,为了保证系统的功能,项目选择的语言不能是高级语言,所以应该设定在C,C++语言行列。首先,进行人员组建:编程人员3人,架构师1名,开发语言最终确定为C语言。继而根据项目特点,搭建开发环境。其次,系统选择敏捷式原型开发模式。

2.项目需求分析阶段

在项目需求分析阶段,为了规避业务风险,让程序员以及架构师认真阅读用户需求报告,继而让程序员对需求进行整理,为了使项目的业务风险减到最低,程序员可提供QA,在这个阶段首先是对业务进行详细的分析,把握功能要点;其次,根据系统需求,罗列技术要点,需对项目中的技术点进行调查,比如:本项目中的gmail自动登录,用户常用网址的自动登录以及用户安全加密技术等的调查,技术调查的结果应该以技术模型为代表,这样才能为后面的开发扫除技术风险。

3.系统设计阶段

首先项目架构师应该根据项目特点,对项目进行结构划分,对项目架构进行设计,就本项目而言,系统功能相对独立,所以在项目架构上可以采用多进程处理办法,一个功能点设置为一个进程,利用进程之间的数据通信来完成整个系统的联动。以此来规避由于设计上的原因,影响进度的风险以及程序上的质量风险。

4.系统开发阶段

在系统开发阶段,程序员根据先前的设计情况,进行系统的编码工作。当然为了程序的一致性,需要编写编码规格说明书,对函数的命名,变量的命名都应该有明确的规定,在开发阶段,为了控制软件的进度与质量,作为项目负责人,应该早、晚各开一次全员会议,早会是对当天的任务进行分配,晚会是对当天的工作情况进行总结。为了保证质量,作为项目的负责人需要检查程序员编写的代码,首先是对其可读性进行检查,其次是对程序的逻辑进行检查,对于本项目而言,需要注意程序中是否存在内存泄露现象,因为对于C语言而言,内存泄露是必须要控制的,而这也是质量风险控制的要点,如果等到测试发现问题再修改,会浪费更多的时间,影响项目的进度,导致项目的成本增加。

5.系统测试阶段

到项目开发完成后,需要对系统进行测试,测试点主要针对系统功能进行测试,其中主要体现在用户操作界面是否流畅,界面会不会被隐藏,或者操作界面显示的数据是否正确,这都是测试的基本点。

对于本项目而言,主要由程序员自己负责测试,测试的要点为功能测试以及内存泄露的测试,由于先前做好了风险控制,对于内存进行了统一管理,即内存的分配与使用被封装,而程序员进行内存分配时都会调用封装的函数,而释放会调用释放函数,但是难免会有人遗忘,所以对程序进行模块化,在程序模块化结束后,进行了统一释放。从测试结果来看,由于先前的风险规避设计,测试结果较为满意,当测试完成后,就可打包,部署,交付客户。从整个项目过程来看,从需求分析到编码,测试都是在规避风险,所以,笔者认为计算机软件工程实施过程其实是规避项目风险的过程,在项目的初期规避项目中期的风险,在项目中期规避项目后期的风险,这也是本人对软件工程实施的一点心得。

作者:万彩霞 单位:四川省南充师范学校