关于软件工程技术在软件开发中的应用

  通过浏览有关“软件工程技术”的博客,学习到了许多软件工程思想,并初步了解到了在开发软件时应如何运用“软件工程技术”才能开发出“高质量”的软件产品。在此博文中将对软件工程技术在软件开发周期时的应用层面做一个总结,便于理清思路以及提高对软件工程技术的认识。

1.1 软件工程技术在软件定义阶段的应用

  在软件开发前,一定要先对所开发软件的目标用户、涉众等方面有一个明确的定义,对于用户需求、软件开发的可行性、所能获得的经济效益也要有一个清晰的认识。可先找到市场中现有的已开发出来较为成熟的类似软件进行竞品分析。分析其用户群体以及功能架构, 从而了解到软件开发所应实现的基本功能。并通过亲身体验的方法,在实际体验中,记录竞品软件的优点作为开发时的参考,同时也记录竞品软件中不足的地方作为软件开发时的优化参考。在对软件的涉众群体和基本功能有一个基本的了解后,便要去进一步的与用户沟通, 具体的、深刻的去了解用户需求,目前常见的软件需求分析方法有面向数据流结构方法、 Jackson 系统开发方法以及面向对象的分析方法。面向数据流结构方法是通过分析客户的需求,构建描述数据和行为的模型,能较好的解决软件开发过程中因数据需求分析而存在的问题 。Jackson 系统开发方法是通过数据元素之间的顺序、选择和循环结构进行需求分析。 面向对象的分析方法是通过参照现实系统,依据抽象、封装、继承、比例等原则来分析用户需求。在明确需求后,就要对软件的可行性进行分析,可通过系统流程图来描述系统各个部件之间的关系,形成逻辑模型,研究其技术可行性。再预估软件开发的成本和能获得的经济效益得出经济可行性。

1.2 软件工程技术在软件开发阶段的应用

  明确了需求和可行性后,便正式进入到开发阶段。该阶段将依据前期软件定义阶段所获得的数据,进一步的去细化每个功能模块之间的数据交互,直到可编写代码的程度。然后交由编码人员和测试人员进行编码测试,不断的优化改进,最终完成“高质量”软件产品。起初可先站在全局的高度上,利用层次图和 HIPO 图描绘出软件内部各模块之间的层次关系和调用关系。再经过一系列的变换分析,将具有变换流特点的数据流图桉预先确定的模式映射成软件结构。在该时期可对软件结构进行反复打磨、不断优化。在这个时期进行优化付出的代价不高,却可以使软件质量得到重大改进。完成结构化设计后即可由编码人员按照每个模块之间的数据交互和调用关系完成编码工作。在编码的过程中,我们需要不断的对软件进行测试工作,以确保开发的功能模块能正常运行。同时也可在测试的过程中,发现软件的不足并加以优化。我国如今的信息技术正在飞速的发展,各类软件测试技术也是层出不穷,但大体可按照测试过程中程序执行的状态将软件测试技术分为动态、静态测试;按照软件结构和算法则可分为黑盒、白盒和灰盒测试;按照测试执行方式则可分为人工和自动测试。随着软件数量越来越多,未来软件测试技术的发展必将走向自动化、智能化。

1.3 软件工程技术在运行维护阶段的应用

  软件维护阶段的主要任务是使软件持久的满足用户的需要。即当软件在使用过程中发生 错误时对其改正;当运行环境改变时应修改软件以适应新的运行环境;当用户有新的需求时应该及时改进软件以满足用户的新需求。维护的类型大致可分为预防性维护、改正性维护、 完善性维护和适应性维护。为了保障软件的可维护性,在开发阶段应选用合理的开发语言,设计功能模块时也要考虑到后期的可维护性;在软件使用阶段要建立防御病毒机制,以及要对系统硬盘进行定期的清理与优化,避免垃圾数据堆积,降低运行速率。

posted @ 2022-02-27 15:39  挣扎的小咸鱼  阅读(621)  评论(0编辑  收藏  举报