基于计算机软件工程中的需求分析研究

时间:2022-05-29 15:15:02 公文范文 浏览次数:

摘要:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,被应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库等。

关键词:计算机软件工程;需求分析;研究;

1 概述

一个软件项目的开发主要分为五个阶段:需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段。而需求分析阶段所得到的结果。是软件项目开发中其他四个阶段的必备条件。从以往的经验来看,需求分析中的一个稍稍的偏差,就可能导致整个项目无法达到预期的效果。 “软件工程”这个名词是1968年美国和西欧的一些科学家在北约会议上第一次提出的,是利用工程学的方法开发和维护计算机软件的一门学科。软件需求是指用户对目标软件在功能、行为、性能、设计约束等方面的期望。通过对问题及其环境的理解与分析,为问题涉及的信息、功能及行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,如图1所示,整个活动构成软件开发生命周期的需求分析阶段。在需要的开发中, 问题的获取包括业务需求、用户需求、功能需求。业务需求的参与者主要是业务流程分析员,对企业目前的业务流程进行评估,确定进行何种程度的业务建模;用户需求重心是如何收集用户需求,确定角色和用例,获取需求的方法倾向组织访谈会;功能需求依赖于用户需求,是用户需求在系统上的一个映射,为用户做一个软件原型是一个很好的方法。需求分析包括提炼、分析和仔细审查已收集到的需求,以确保所有承担风险者都明白其含义,能找出其的错误、遗漏等地方。分析员通过评价来确定是否所有的需求和软件需求规格说明都达到了优秀需求说明的要求。分析的目的在于开发出高质量的需求,这样你能做出实用的项目估算并可以进行设计、构造和测试。通常,把需求中的一部分用多种形式来描述,如同时用文本和图形来描述。分析这些不同的视图将揭示出一些更深的问题,这是单一视图无法提供的。分析还包括与客户的交流以澄清某些混淆,并明确哪些需求是更为重要的。其目的是确保所有风险承担者尽早地对项目达成共识并对将来的产品有个相同而清晰的认识。 1. 创建数据字典;2. 确定需求的优先级别;3. 分析需求可行性; 4. 使用质量功能调配;5. 衡量需求稳定性;6. 绘制系统上下文示意图;7. 作为功能需求的补充,软件需求规格说明还应包括非功能需求,它描述了系统展现给用户的行为和执行的操作等。软件需求分析中的关键就是展开分析、发现问题、征服问题。所有的一切都是为了能够将软件中的错误和漏洞在需求分析和需求工程阶段发现并解决,这样才能使软件开发的成本收益比达到最大,使得软件在其生命周期中的维护费用降到最低,这也是我进行软件需求分析方法研究的目的,希望可以通过上述的软件需求分析的方法研究为以后软件的开发打下一个良好的基础。 由于软件需求本身的不确定性、用户与开发者之间的沟通障碍、随着时间推移用户的需求发生了变化以及用户变更等原因,可能使需求分析偏离实际需求而最终导致软件开发过程不断的被延迟甚至失败。需求分析是软件开发过程中最初始、最基础的工作,也是最重要的工作之一,其成败将直接并最终决定软件开发的成败,并且呈倍增效应。

2 软件工程系统需求分析

需求分析包括提炼、分析和仔细审查已收集到的需求,以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏或其它不足的地方。分析的目的在于開发出高质量的需求,这样就能做出实用的项目估算并可以进行设计、构造和测试。通常,把需求中的一部分用多种形式来描述,如同时用文本和图形来描述。分析这些不同的视图将揭示出一些更深的问题,这是单一视图无法提供的。分析还包括与客户的交流以澄清某些混淆,并明确哪些需求是更为重要的。其目的是确保所有风险承担者尽早地对项目达成共识并对将来的产品有个相同而清晰的认识。作为一个整体工程,软件生命周期的各个时期和阶段是无法区分重要性的大小。在这里,针对上述一些错误观念,只想阐述一下软件开发工程中需求分析的重要性。通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。其在整个软件开发过程中的重要性主要表现在以下三点: 1.需求分析是获得用户需求的有效途径项目管理培训; 2.需求分析是决定项目成功的关键因素;3.需求分析是系统分析和软件设计的桥梁。

3 需求处理效率分析

影响需求分析的因素有很多,比如客户不清楚需求;需求自身经常变动;分析人员或客户理解有误等等。MIS的系统需求处理效率,直接关系到开发人员能否在规定时间内完成开发任务,新的需求产生,需求人员及时有效的分析新需求,编写一份清晰、准确的需求文档,避免留下模糊不清的需求,否则,就只好靠开发人员去猜测这些模糊不清的需求,而往往开发出来的功能不符合业务需求,这样既耽误时间,又增加开发人员与业务人员之前的误导,互相埋怨。同时其很大程度上影响信息部门的部门形象及与业务单位的互动关系,从以下两个方面来探讨下需求处理效率: 首先是业务分析。业务分析的效率首先取决于对业务流程的理解能力,所以应跟业务人员多沟通,更好地了解客户的业务,才能使产品更好地满足需要,这将有助于开发人员设计出真正满足客户需求并达到期望的优秀软件。通常客户所说的“需求”已经是一种实际可行的实施方案,分析人员应尽力从这些解决方法中了解真正的业务需求,同时还应找出已有系统与当前业务不符之处,以确保产品不会无效或低效;在彻底弄清业务领域内的事情后,分析人员就能提出相当好的改进方法,有经验且有创造力的分析人员还能提出增加一些用户没有发现的很有价值的系统特性。其次是系统分析。取决于对系统架构与逻辑的整体了解程度;特别突出“整体”二字,是因为“头痛医头,脚痛医脚”的做法,是用短期的高效率换长期的负效率的笨方法。而往往现在的后期维护MIS都是采用这样的方法,哪个功能出现问题,临时修改功能,只是保证此处功能在MIS平台正常运作,而忽略了平台中相关功能之前的关联性,往往会出现这样的问题,一个功能中的问题解决了,而在其他功能中出现类似的问题,或是因为修改此功能导致其他功能不可用的情况。

4 结语

需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位。大家一定要对需求分析具有足够的重视。在一个大型软件系统的开发中,他的作用要远远大于程序设计。

参考文献:

[1] 刘文春.机载合成孔径雷达数据处理机的软件设计与实现.华东师范大学学报.2005.10

[2] 刘桂林.软件工程中的结构建设及需求分析.无线互联科技.2017.04

作者简介:韦苏阳,男(1997.9.13——)广西南宁人,壮族,西北民族大学本科学生,研究方向是软件项目管理。

推荐访问:分析研究 计算机软件 需求 工程