计算机软件工程管理与应用的实践探究

2023-12-29 12:57劳智勇
科学与信息化 2023年22期
关键词:计算机软件测试

劳智勇

润建股份有限公司 广西 南宁 530000

引言

在计算机软件工程开展的过程中,不论是产品设计,还是开发、生产等环节,都与管理工具有直接关系,有效的管理措施既可以确保软件工程质量,充分满足用户使用需求,也可以控制工程收益与风险。所以,应该充分认识到计算机软件工程管理的重要性,并且结合实际采取有效的管理措施。计算机软件工程管理的内容较多,包括开发人员管理、组织机构管理、用户管理等等。根据具体的管理内容与管理目标,制定完善的管理计划,确保计算机软件工程管理充分发挥作用。

1 计算机软件工程项目的特点与内容

1.1 特点

计算机软件产品不具备直接可见的特性,只能采用间接可见的方式,需要采用软件工程方法,通过测试才能证明软件的存在性。不仅如此,其还具有复杂性、不确定性的特点,过程没有明确的标准。大规模较大的软件系统比较复杂,需要承担较高的风险,所以必须采取先进的开发、运行等技术。

1.2 内容

计算机软件工程实施之前,需要先制定软件开发计划书,明确软件项目要求、开发任务、资源需求、进度计划等内容。将软件设计作为基础进行软件分析,主要包括领域分析与需求分析两项内容[1]。前者是分析软件的服务应用领域,如果针对某个专业领域进行软件开发,则需要了解该领域业务流程和特点。由于服务领域范围广阔、类型多样,所以软件也有很大差异;后者根据用户所在领域特点分析用户需求,包括功能、性能、其他三种需求类型。具体分为需求获取、分析、描述和验证4个环节。在获取方面,可以采用走访、面谈等方式,同时配合启发法、原形法等方法。应该从总体需求入手,分析系统功能、技术性能等多个方面,并且编制详细的《软件需求说明书》,然后验证需求的合理性[2]。在软件设计的过程中,《软件需求说明书》是十分重要的依据。在软件分析完成后,进入设计阶段。软件设计就是深化和细化软件分析,旨在实现各项功能与性能要求,提出可以指导软件实现的具体方案,包括平台设计、界面设计、结构设计等多项内容。在实际设计的过程中,可以分为两个阶段,分别是:概括设计阶段,即软件模块和架构的设计阶段;详细设计阶段,即细化各个模块的设计阶段。并且制定《软件详细设计说明书》,为后续编码奠定基础。

前期各个环节的实施都为后续编码奠定基础,开发人员编写程序既要满足系统功能要求,也要具有较高的执行效率,尽可能简化代码。目前,有很多常用的编程工具,应该选择符合需求且经济高效的工具。在完成编码后,软件产品基本完成,但还不能直接呈交给用户,需要进行测试修改,了解软件中的问题。软件测试可以采用人工或自动的方式完成,包括静态和动态两类测试。软件测试旨在确保软件品质,具体包括单元测试、模型测试、集成测试等内容。

2 计算机软件工程管理的内容

2.1 开发人员管理

软件开发涉及多个岗位,包括编程、系统分析、项目管理等等。由于项目各个环节依次开展,通常不需要同时投入过多的人力,所以一些项目开发的过程中可能出现一人身兼数职的情况。在这种情况下,工作质量可能会受到影响。需要强化开发人员管理,即明确各个岗位、人员的具体职责,确保人员的专业素养,这样才能确保软件开发质量[3]。具体来说,在软件的全生命周期中,不同开发环节需要落实不同的工作内容、完成不同的工作任务,各个环节相互独立和联系,所以各岗位人员需要相互协调配合,对人员素质有较高的要求,既要掌握专业的知识技术,也要具备沟通合作的能力。

2.2 组织机构管理

在计算机软件工程管理工作落实的过程中,需要构建完善的组织机构。机构中包括开发、管理等各个部门的人员,组织机构比较复杂。通常,主要包括三类组织,分别是:主力程序员构成的组织机构,围绕主力程序员进行任务分配、组织规划,确保队伍之间的相互协调,使工作内容更加明确。具体可以划分为计划、调节、审核三类成员。其中,一般技术人员负责软件分析与规划等基础性工作;资深程序员为核心的组织结构,成员专业素质较高、能力较强,可以确保项目质量,同时具有很强的工作积极性,可以满足各类软件开发需求;大众组织,成员普遍为有经验的从业人员,可以承担常规的计算机软件开发任务。

2.3 用户管理

软件开发旨在满足用户使用需求,不论是软件使用,还是软件评价,都将用户作为主体来实现。所以,在实际开发的过程中,开发人员需要与用户进行充分的沟通,了解用户需求,并在各个开发环节与用户保持良好的互动,这样才能确保软件开发结果可以满足用户需求[4]。软件开发的负责人必须围绕用户需求落实开发项目,同时对用户进行恰当的管理,避免用户因素对软件开发产生影响。

2.4 控制管理

控制管理涉及多项内容,主要对项目经费、进度、质量等要素进行控制。其中,进度控制是十分重要的一项内容,旨在确保项目在规定时间内完成,避免因为项目拖延造成成本升高或者影响用户使用。经费控制主要为了确保软件开发的效益,避免资源、资金的浪费问题。质量控制就是确保软件开发整体质量,使软件使用寿命、功能、性能等符合用户需求。此外,也要做好文档资料整理、管理工作。任何软件开发项目都需要建立项目文档,为确保后续环节有充足的信息支持,同时为软件升级维护、创新开发提供依据,必须做好资料文档的整理与保存工作。

3 计算机软件工程管理与应用的实践

3.1 计算机软件工程管理要点

为发挥控制工作的作用,使计算机软件工程管理水平不断提升,需要明确计算机软件工程管理的要点。具体包括质量控制和进度控制两个方面。

在质量控制方面,可以采用鱼骨图法、帕累托分析、统计抽样与标准差法等多种方法。其中,鱼骨图法具有简单便捷的特点,同时内容呈现比较直观,便于进行因果分析,是计算机软件工程管理中比较常用的一种方法。在实际管理的过程中,工程会受到各项因素的影响,进而产生问题。管理人员需要分析各个影响因素,然后联系实际问题,制定详细、具体的关联图,以此分析现象,然后探究本质,找到出现问题的原因,并且制定针对性的解决方案。统计抽样也是比较常用的方法,就是在总体中选择部分作为样本,通过检查样本进行分析,然后总结问题。如果采用这种方法,要求管理人员掌握统计知识,并且具备统计经验,确保统计抽样的过程中,可以充分掌握可信度因子、变异性、标准差等要素[5]。帕累托分析法就是根据引发质量问题的具体因素进行分析,确定问题产生的主要原因。通过该方法分析可知,80%的计算机软件工程问题,都有20%的问题因素引发,所以大部分问题本质上相同,可以采用统一的处理方法。

在进度控制方面,主要从活动定义与排序、历史估算、编程进度等方面着手。在活动排序的过程中,可以采用项目网络图的方法,该方法可以直观呈现各个活动之间的顺序与逻辑关系,包括双代号网络图以及箭线图两种方法。其中,箭线图可以展现各个人物或各项活动的顺序关系。双代号网络图利用字母、圆圈来呈现活动之间的依赖关系。在进度编制的过程中,管理人员需要先确定活动开始和结束的时间,可以采用PERT分析、甘特图等多种方法[6]。在实际管理中,甘特图比较常用,可以直观地显示进度,使制定计划具有较强的可读性。PERT分析可以分析和评估项目进度,为进度计划的编制提供依据。

3.2 计算机软件工程管理应用

3.2.1 工程审核。所谓工程审核,就是在实际管理的过程中,对项目实施过程以及成果进行评估分析,以此评定工程进展与需求、计划、合同是否相符。在实践的过程中,管理人员必须遵循以下原则:首先,将工程计划规定作为依据,对各个节点进行详细审核;其次,在审核过程中,明确具体的问题和详细的解决过程,并且进行记录;再次,在完成审核后,在文档中添加审核结果,为开发商、业主提供详细的信息依据,便于决策制定;最后,在实际开发的过程中,需要审核工程文档,管理人员需要根据考虑文档测试需求、验收评审内容等相关问题,确认其与软件产品验收要求是否相符,以及测试数据和报告是否准确。此外,在实际审核的过程中,需要对计划内容进行全面分析,确认其与法律规范是否相符,同时进行可行性分析,对比计划内容与合同内容,确认二者是否相互适应。

3.2.2 工程监督。在计算机软件工程管理的过程中,工程监督是十分重要的一项内容。具体来说,就是对工程建设过程进行监督和检查。主要根据工程标准、计划、合同等规范内容开展监督工作,确保监督的合理性与全面性。工程监督旨在增加工程建设的透明度,使其他管理工作可以顺利开展,同时获得更多工程相关数据,为工程决策提供依据[7]。在这个过程中,管理人员需要检查已完成工作量、工程规模、耗时与造价等多项内容,对比计算机软件工程开发计划,如果发现实际与计划不符,则需要责令纠正与整改。在实际管理中,应该将监督工作作为日常工作内容,在实际监督的过程中,根据管理需求制定监督记录,并且向开发商、业主提交报告。

3.2.3 工程测试。为保障计算机软件工程质量,需要进行产品测试。管理人员在落实管理工作的过程中,必须认识到成果测试、阶段性测试的重要性,通过测试了解工程现状,分析产品开发状态,为后续管理工作的落实提供更多依据。管理人员需要获取开发商提供的测试规范与项目,以此为依据开展测试工作,同时确保测试工作覆盖整个开发过程,为实际开发提供更多建议和依据。在这个过程中,管理人员需要遵循基本工作原则。一方面,要确保工程项目测试严格遵守测试规范以及结果分析办法。另一方面,做好测试数据的收集、归类、分析等工作。在分析结束后,应该制定数据分析报告。具体来说,需要开展模型测试、单元测试、集成测试等多项测试内容。以单元测试来说,本质上就是测试最小粒度,对具体的功能与代码模块进行测试。如果使用JAVA编写程序,则采用Junit进行单元测试。Junit是一个开放源代码的JAVA测试框架,在编写运行中应用,是可重复的测试方法。结合实际代码模块中的方法进行测试程序编写,可以反复使用,能够有效提升测试效率,充分满足各类测试需求;集成测试就是以单元测试为基础,针对软件总体功能进行测试。在程序开发的过程中,该测试阶段需所有开发人员共同参与。

4 结束语

综上所述,在计算机软件工程项目实施的过程中,为保障软件开发质量,需要采取有效的计算机软件工程管理措施。首先应该明确计算机软件工程的具体内容与开发流程,然后结合实际制定有效的管理方案。一方面,应该明确计算机软件工程管理要点,包括工程质量控制和进度控制两个方面;另一方面,采取有效的管理措施,包括工程审核、工程监督与工程测试三项内容。

猜你喜欢
计算机软件测试
禅宗软件
计算机操作系统
幽默大测试
基于计算机自然语言处理的机器翻译技术应用与简介
“摄问”测试
软件对对碰
“摄问”测试
“摄问”测试
信息系统审计中计算机审计的应用
Fresnel衍射的计算机模拟演示