计算机开发中软件工程方法的运用

计算机开发中软件工程方法的运用

在计算机技术日益成熟的当下,软件开发是计算机技术中重要的工作内容之一,其开发难度受工程量以及工程方法所制约,其中又以工程方法为主要技术内容。系统性的软件工程方法中能够有效提升软件工程的效率,满足需求方对软件的质量要求,因此对软件工程方法的系统研究和运用很有必要。在计算机软件开发的工程方法中,其主要目的是系统性地阐明了“如何做软件”的流程与工作法,阐述了计算机软件开发所应用的技术工具为、技术路线、技术方法等软件支撑环境与操作过程,形成了软件系统从开发到交付的系列任务框架,对开发任务的工作步骤、流程做出合理化规定,提升开发效率与成果性能,因此需要综合设计、合理选用软件工程方法。

1软件工程方法

1.1结构化方法。也叫作生命周期法、结构化范型,将软件产品的开发周期过程划分为不同阶段,在不同的开发阶段应用相匹配的结构化技术。在结构化方法的计算机软件开发方式中,需求分析是第一位、占据主导性的,具有顶层设计性质,结构化方法严格以顶层设计为始发点,然后才为计算机软件建模、按应用程序对应功能需求、完成设计开发及测试评估等工作,开发过程属于渐进型,强调自上向下按照顺序走完软件开发阶段流程,在研究对象方面,又可分为面向行为与面向数据两种方法,但两种方法之间缺乏整合性,属于传统的软件工程方法。在软件开发过程中,存在需求结构变化、程序复杂、开发周期长、更新速度慢等方面的问题,成为计算机软件开发的因素限制。

1.2面向对象方法。也叫OO方法,是一种主要面向数据与数据操作的软件工程法。面向对象方法主意到软件开发工程的需求具有多变性的,在开发过程中用户需求呈现多次迭代趋势,因此面向对象方法注重概念与表示方法的适应性,使软件开发工程得以多线程操作,并且实现各阶段平稳过渡。一般在大工程量的复杂交互系统中,面向对象方法更有优势。

1.3形式化方法。形式化方法是一种将规格转换为执行程序的技术性方法,具体的来说主要实现方式是枚举和重写,枚举是将逻辑科学中的命题分析、思维推理加以比较、联结,以梳理概念与命题之间的形式结构关系,重写则体现一种分治思想,大致类比为数学元法,把大问题切分为小问题,把未知问题转换为已知问题,再引入与形式结构对应的符号语言,用符号语言表达形式结构。

1.4多维法。多维法是一种结合了面向对象方法与形式化方法的软件工程法,仍然以需求分析作为起始点,但在实际设计、编码阶段和测试、评估阶段都对两种方法进行了相互结合,其中需求分析、设计编码、测试评估是最主要的3个阶段,而工程时间和预算则随着需求而弹性变化,作为资源投入与产出的衡量指标。如图1所示,曲线的轨迹表示软件开发的螺旋上升过程,曲线的终点则在“时间和预算”维上体现出工程时间与工程预算的终点,有向螺旋曲线与四个坐标轴的交点落选延伸分布,可以显示开发过程在某个维度上的深入程度和细化标准的具体差异。

2软件工程法应用现状

2.1结构化方法的应用。结构化方法依靠系统需求分析,事先确定出一套完整的、一致的应用需求并采用相应的结构化语言进行程序设计,随着用户对计算机软件需求的发展,计算机软件开发工程中传统的结构化方法逐渐难以满足这些在开发过程中不断嬗变、演化的需求。软件开发过程需要的生命周期往往是计划预定的,但以需求分析为基础、固定的结构化语言为手段的结构化方法往往缺乏变化性和可扩展性,而计算机软件的需求迭代速度很快,在经历固定生命周期后,结构化方法设计的计算机软件在功能性、兼容性以及实用性方面往往与当下需求有所偏差,这一需求目标与结合实际的差异往往代表着极高的工程代价,甚至可能出现成果问世即被市场所淘汰,这往往等同于工程开发失败,因此采取预先定义需求策略的结构化方法已经不能适应当前互联网日益变化的用户需求。

2.2面向对象方法的应用。面向对象方法在当前是计算机软件开发的热门方法,在人工智能、操作分布系统、数据库、物联网领域均有广泛应用,发展也非常迅速,普及率高,但技术要求高,经济性相对较低,面向对象开发方法主张用人类常用思维方法认识、理解并建立系统能映射冋题,以普遍性需求覆盖个性化需求,进一步强调系统的一致性,客观上提高了各个开发阶段的技术衔接与对应的标准化趋势,提高了软件开发效率与质量,将软件开发流程与需求易变因素进行了技术隔离。面向对象方法代表着软件工程开发方法整体技术水平的提高,属于现代化的涵盖需求方向、同时确保计算机软件功能的开发方法,但实用开发技术尚不完全成熟。

2.3形式化方法的应用。形式化方法通过肯定命题、联言命题、假言命题的符号化,并自制逻辑识别生成器以及符号化的编译方法,进行语法分析,可以看出形式化方法基于程序设计语言编译技术,但形式化方法趋向于一种指导软件开发的实践性思想,偏重于计算机软件序和程序开发过程的规律,而非组织、管理软件的开发过程,但形式化方法仍然能够贯穿软件开发过程中自需求分析直至维护的全部过程,体现传统开发方式向现代的开发方式转变,代表着更高的计算机软件开发技术水平的应用。

2.4多维法的应用。在软件技术的发展过程中,计算机软件的开发也正在不断进步,多维法偏重于过程性的指导方案,整体属于定性描述,坐标轴缺乏定量刻度的具体指标,而有向螺线与阶段性指标、需求的契合程度也属于定性而非定量,结合图1可以看出,多维法是以时间和预算为终点的监控指导体系,而时间与预算具有一定的同步性,在这种同步性下需求分析、设计编码和测试评估三个主要工作面构成了一定的平衡性。

3软件工程法的运用原则

3.1实用性原则。软件工程方法的应用目的是为了提升软件开发质量与用户需求的适配度,并不局限于某种应用技术,而且是一种技术运用方法,只有软件工程质量标准与用户需求变化趋势互相调整、随时适应,才可视为该工程方法发遵循了实用性原则。确保软件工程应用技术能够积极为设计要求提供实用性支持,是软件工程技术在开发过程中的合理性因素。

3.2科学性原则。软件工程方法科学性原则指在软件开发过程中,具体的软件开发技术应用必须是明确的,有针对性的,其工程技术水平是内容与相关要求相互对应的,其实际应用效果是经得起科学评估的。在具体的软件开发过程中,用户需求发生变化的前提下,具体设计要求也是不断调整的,因此软件工程技术是与用户需求适配来凸显其科学性,科学性原则能够确保软件顺利的开发过程性因素。

4软件工程方法的运用措施

4.1分析软件工程技术的应用局限性。任何一款计算机软件的功能性都受到系统结构的影响,开发过程中使用的软件工程方法应该是多元化的,而不能是唯一的,因为在传统数据的管理、获取、存储、共享环节不是动态化、相互独立的,而是以数据管理模式为基础、以结构化语言为处理问题的手段,数据查询过程中的技术手段是相对单一且模糊的。而传统数据管理模式与现代数据管理模式对比,现代数据管理模式应用了多元化的软件工程方法,更有助于处理、防范发生系统连锁性问题,其优势更加明显:现代数据管理模式在数据获取、储存、共享方面比传统数据管理模式具有的先进性,与传统软件数据管理模依赖结构化语言不同,它处理数据问题的可扩展性要求更高、要求表述过程更加清晰,因此在单一方法的软件工程开发中,多运用多维法;在复杂方法的软件工程开发中,多采取形式化方法和面向数据方法的综合法。

4.2建立弹性软件开发模型及辅助模型。计算机软件的开发工作中,需求分析后的最主要务实性工作就是开发建模,这也是计算机软件开发工程的实操基础,关系到计算机软件的整体开发效率。一个兼具实用性与科学性原则的计算机软件开发模型,技术重点主要包括:了解与掌握与相关应用程序、确定开发工作流程、计算开发周期、拟定管理工作框架等。为了对软件开发模型进行效率、质量方面的预估与先期评价,还要分别建立组织公共模型、项目管理模型等辅助模型,对软件开发模型中可能出现的问题进行风险防范,当出现技术问题时,能够通过辅助模型分析问题成因、制定处理对策等风险控制手段,保障计算机软件开发的有序性,对软件开发模型起到进一步的优化作用。

4.3针对性设计应用程序开发技术。客户使用习惯、操作实际需求可作为应用程序设计的合理化依据,也是客户需求在具体技术方面的细分需求,一定程度代表着计算机软件的实际开发条件。而在计算机软件开发工程中,应用程序开发的任务是明确计算机软件自身的组织架构,除了互相优化提升软件整体性能之外,还要赋予一定的潜力设计,使计算机软件能够根据自身发展潜质进行自我判断、自我更新,计算机软件的整体性能也能够体现应用程序开发的技术效果。为了保证应用程序设计的合理性,在进行应用程序的开发时,专业技术人员应对其进行全面的数据信息分析,对应用程序开发的整体流程定期进行技术汇总,根据客户需求变化情况反馈重新明确应用程序开发目的,确保功能性与具体需求时刻匹配。

5结语

在当下的软件开发工程中,一般倾向于根据资源分配软件工程技术的方法,更有助于结合实际需求而保证软件开发效率,使软件功能能够满足客户在软件开发过程中的需求变化情况。但软件工程方法并不能简单地断言其具体属于某种方法,而是根据需求变化而弹性调整的开发过程中表现出的技术性倾向,必须遵循软件工程方法应用的基本原则,根据需求变化、工程阶段调整方法的合理性,甚至可以根据用户的实际需求变化情况,在软件工程各个周期灵活选取工程方法,提高工程技术应用效率。

作者:覃雷 单位:第七一五研究所