需求分析视角下软件工程论文

时间:2022-09-26 04:55:36

需求分析视角下软件工程论文

1.软件工程需求分析概述

1.1基本概念

通常情况下软件的开发可以分为五个阶段,就是实践中常见的需求分析阶段、设计阶段、编码、维护阶段和测试,整个设计过程属于很典型的瀑布流过程,需求分析在整个过程中处于上层结构,其他的阶段都需要需求分析的支持才能够顺利开展,一旦需求分析出现了偏差就会直接影响到软件工程的整体进程,甚至会导致软件的质量下降,所以软件需求分析是十分重要的过程。软件工程需求分析这一概念主要指的就是对于用户需求的理解与表达,保证软件功能与客户需求形成一致,并且同步地估计软件的研发风险和项目评估,最终来实现整个开发设计过程。在这个过程当中,客户的需求必须处于主导的地位,工程师和项目经理就是要整理好客户的需求,通过具体的需求分析获取技术性的文档材料,从广义上来理解,软件工程需求分析主要包括了对需求信息的获取到分析再到变更,最终进行验证以及规则的说明,形成一个完整的系统工程。

1.2工作流程

软件工程需求分析主要是通过对于问题和运行环境的分析理解,建立起一个集成了问题设计信息、功能和行为的模型,使得用户需求更加清晰完整,形成比较规则的说明。其中问题的获取从三大版块出发,分别是用户需求、业务需求和功能需求。用户需求的核心内容就是收集用户对于软件功能的需求,确定好用例和角色,通常采取的方法就是访谈会的形式,由各个软件需求企业派出代表提出需求。业务需求是业务流程的分析员在工作中对软件需求企业业务流程进行的评估,并且要根据评估的结果确定业务建模的程度。功能需求就是要依赖用户的需求了,将用户的需求通过映射的形式形成系统的模块,实现软件的原始雏形。

1.3主要方法

需求分析的过程是复杂的,要经过很多个流程,包括了数据字典的创建、需求优先级别的确定、需求可行性的分析等等,在这其中数据字典是一种对于软件系统所要使用到的结构和数据项的定义,用来保证研发者对数据进行统一定义。在需求分析阶段,一定要保证开发小组对于数据项定义以及一些专业术语的使用一致,甚至可以分析并设计一些工具来保证数据字典的统一性。在确定需求的优化级别方面,可以采用应用分析的方法,产品版本的考虑过程中要在优先级的基础上分析产品的特性及真实需求。在需求变更的情况下,要在特定版本中加入变更的每一项信息,做出相应变更。在需求分析的可行性方面需要明确风险,包括一些需求冲突和对外界因素依赖以及技术方面的障碍等等,通过可行性的需求分析能够进一步地验证软件在开发过程中的可行性。

2.需求分析基础上的软件工程质量问题

在一般情况下,软件公司开发软件过程中都会出现很多问题,对于质量问题的反映最多,这些问题如果不能得到及时的解决,很可能会给软件工程开发带来灾难性的阻碍。尤其是有一部分企业经常会忽视文档设置和相关代码的注释,违反了需求分析的规则,背离了最初设计的思想,造成比较大的质量问题。

2.1软件维护与开发处于分离状态

在当前的软件开发工程中,软件的开发和维护始终处于分离的状态,在软件设计和开发过程中不同阶段的文档并不具备兼容性。需求分析本身是一种自然语言的描述,在文档设计的过程中主要是要依靠计算机语言进行描述,这两种语言之间必须要构建起一个有效的沟通桥梁,否则会严重影响到程序员的理解,如果文档出现了分离的现象,就会加大程序持续运行的难度,程序员在程序代码的编写过程中会因为对文档的考虑不够充分而影响软件设计的进程和效果,所以软件维护和开发的分离状况是软件工程中的明显问题。软件开发过程要经历需求分析以及详细的代码设计测试,还要包括对于软件的维护工作,这是一个紧密联系的过程,在当前的软件开发工程中,很多企业虽然做到了对于需求分析的重视,但是往往会缺乏对于软件后期管理维护的相关程序,忽略了本应该留出来的模块接口对应问题,在日后对于软件的维护和升级方面增加了难度。软件工程的需求分析其实是一个动态的过程,用户需求在各种因素影响下处于不断变化的状态中,所以,软件开发工程在初期的工作中就应该为后期改进预留出足够的接口,降低企业的维护和升级成本。

2.2软件文档的时效性未得到保障

软件工程中各个板块的设计通常是由不同的人员来完成的,这同样会导致软件开发过程中问题的出现,比如说在设计需求分析中数字字典的应用过程中,因其规格不同会造成文档编写形式出现分离,再比如说当应用的工具不同,并且编写和检索的时间也存在差异的情况下,就更加不能够保证文档的有效时效性,编写的过程过于混乱的话,在相应程序的维护过程中,文档资料的导出将会成为一个难题,甚至会出现缺失,轻则延长维护的时间,重则导致软件无法进行维护。

2.3文档的内容与程序分离

文档的内容与程序分离,主要还是因为文档设计和需求分析编写过程中采取的角度不同,这两者面对的对象本身就是不同的,两者之间的理念也很容易发生偏离。需求分析过程主要还是针对客户展开的,文档的设计却是程序员的设计需求,虽然最终的目的是相同的,都是为了设计文档的改进,但是整个的转换过程中很容易出现偏差,导致需求与成品之间出现了比较大的差距。同时,需求文档的编写多数应用自然语言,设计文档的编写多数应用计算机语言,这两者之间的语言转换也是问题产生的原因,会涉及到各类模块图、机构图和数据图的分析,如果文档没有及时更新,就会导致需求和程序的相互分离。

3.保障软件工程质量的具体措施

3.1确保文档的编写完整性

软件的编写过程一定要十分重视分析文档的实际编写,应采用一些简洁的语言详细阐述客户对于软件功能的需求,尽量地避免一些专业性的术语影响到程序员的理解和判断,避免使用模糊性质的词语,造成软件计算方式的变化,在文档当中应该尽可能地使用一些实例,防止误差的产生。比如说在结合数据库的软件开发过程中,应该在设计需求中详尽表述储存量和波动范围,精确表明需求量,确保文档编码的完整性。

3.2确保需求分析的完善性

需求分析是一个对整体软件工程展开分析的过程,这项工作的展开在很大程度上会影响到软件的质量以及日后的升级维护,所以,工作人员应该确保对于客户需求的一手了解,避免复述过程造成的误差,软件开发公司应该直接同用户产生有效沟通,共同探讨,确保需求分析的完整性。结束语伴随着科学技术的发展,相关软件的开发和设计环境也在不断地革新,人们对于软件功能的需求也越来越广泛,所以,软件工程应该加强设计过程中的需求分析,更加清晰地制定发展计划,保证软件的质量,重视软件的需求分析同质量保障之间的关系,严格开发,全面提升。

作者:何伟超 单位:河套学院教务处

上一篇:专业认证工程教育论文 下一篇:CMM教学模式下软件工程论文