福 建 电 脑 Journal of Fujian Computer
Vol. 35 No.8
Aug. 2019
软件需求分析关键因素及对策
孙韫韬 (山东农业大学计算机科学与工程学院网络工程专业 山东 泰安 271000)
摘 要 随着信息技术的发展,软件的需求也越来越多。本文主要围绕软件需求分析,将软件分为定制类软件和通用性软件两类,从软件的不同类别来分析软件需求分析时应该考虑的因素,并提出当前需求分析时常常忽略的问题,以此提高需求分析的质量。
关键词 软件需求;需求分析;软件项目管理
中图法分类号 TP311.5 DOI:10.16707/j.cnki.fjpc.2019.08.034
Key Factors and Countermeasures of Software Requirement Analysis
SUN Yuntao
(Department of Computer Science , Shandong Agricultural University, Taian, China, 271000)
1 引言
随着软件数量的不断增多,软件质量也变得参
差不齐。要想提高软件的质量,软件的需求分析是至关重要的。但人们经常忽略很多需求问题,导致软件项目难以开展,不符合用户需求,最总导致项目失败。本文主要从需求分析时应考虑的问题着手,为软件需求分析提供一个思路。
软件需求作为软件生命周期的第一个阶段,并且贯穿于整个生命周期。只有获得相关的需求,才能在此基础上设计功能,满足客户的要求,开发出令客户满意的产品。同时软件需求在软件生命周期不同阶段出现的问题所造成的影响是逐级递增的。可见需求是否准确关系到整个软件项目的成败。
2.1 定制类软件
按照不同领域用户的特定应用要求而专门设计开发的软件,例如大学的信息管理系统、图书馆管理系统、医院的查询系统等。这些软件具有固定的适用人群,是为了增加职业中的便利性而专门设计的一类软件。这类软件需要考虑的需求方面如下: 2.1.1 软件的支持环境以及经济成本
要根据公司或组织软硬件的环境来考虑开发软件的配置。如果研发的软件超过软硬件的最高支持水平,无法带动软件的全部功能,软件的设计无疑是失败的。另外需要考虑公司和组织是否有其他要求,例如要求使用的开发工具、当作为商业用途时是否要求购买某些软件的使用权、是否会超过预算的经济成本等。将项目的经济成本作为一个衡量的标准,要在提供的经济范围内完成开发活动。 2.1.2 用户分层处理
公司或组织不同层级的人员职业分工不同,所掌握的信息和需求都存在差异。例如管理人员和操作人员,他们的的业务范围不同,需要的信息也不同。将工作人员进行分类,按照不同部门不同层级来进行需求分析[1]。然后由不同层级的人员分别评测不同的需求,共同完成需求的定义。
2 需求分析需考虑的因素
根据软件的性质不同,可以分为定制类软件和通用类软件。它们拥有不同的用户,软件的使用者不同说明对软件的功能需求也不同,应该从不同的角度来考虑需求问题,从而使不同种类的软件满足客户的要求。下面将从定制类软件和通用性软件两类分别介绍软件需求分析时应考虑的因素。
———————————————
孙韫韬,男,1998年生,山东农业大学计算机科学于工程学院网络工程专业学生。E-mail: coutyeah@163.com。
2019年 福 建 电 脑 99
2.1.3 从用户业务方向考虑
用户懂得的是业务,他们不懂得软件设计的相关内容,软件需求分析人员应从业务的角度来组织各种需求项。用户表达不清楚需求也是需求分析不成功的原因之一[2]。需要从用户的业务出发,深入用户的工作环境,了解用户真正做的事情,再将业务逻辑利用建模等方式分析处理,转换成软件所需要的逻辑内容。不要给用户规定需求的界限,通过用户对工作的说明来发现遗漏项,完善需求内容。 2.1.4 重视文档
文档是软件开发的依据,其质量决定软件质量的成败,在实际项目中往往会出现先设计软件再填补文档的情况,这往往也是导致项目失败的原因。软件需求分析主要解释软件是用来做什么的问题。对用户的需求去粗取精,最后用规格说明书来表达,方便开发人员从中获得功能信息。高质量的文档应该具有完整性、正确性、可行性等特点[3]。 2.1.5合理有效的沟通
需要构建合理的通信渠道。需求分析人员、开发人员和客户应该建立畅通的通信渠道,及时沟通,发现矛盾并解决。
需求分析是一个需求定义、文档记录、需求演进不断循环的过程,至少需要三次循环来完善需求。随着用户对问题的理解加深,需求变更是正常的,需求的不断变更要求双方在项目期间进行合理、有效的沟通,并且确认需求是从用户本身出发,而不能凭借主观构想来判断合理性。到客户的真实工作环境进行调查,观看客户的工作流程,需求双方进行沟通确认,不能仅依靠代表单纯的签字认同,各个部门不同的工作人员和分析人员也需要进行认可才可通过。 2.2 通用软件
不论是学习还是工作,无论从事何种职业,处于什么岗位,人们都需要阅读、书写、通信、娱乐和查找信息等活动,这类软件主要完成这些任务。通用软件的使用者比较广泛,相对于定制类的软件,他没有固定的使用人群,吸引人们使用和留住用户成为该类软件设计的重要因素。软件功能的新颖、独特、实用是这类软件成功的因素之一,同时一些非功能性因素也同样重要,甚至会决定用户的去留。同时,这类软件相对于定制性的软件需求会发生一些变化,给出以下几条建议: 2.2.1 界面设计和颜色搭配
界面设计在过去的设计中并没有给与足够的重
视,开发人员认为实现功能为主要任务。而近几年,随着软件应用的暴增,界面的风格和样式也成为用户选择的一个重要因素,并由专门的人员进行界面设计。
在设计软件界面时,应合理安排各种设计元素,包括图文和留白等,达到视觉的平衡[4]。界面的风格也应该保持一致性,使用户保持深刻的印象。同时选择合适的颜色对用户的情绪和记忆会有一定的影响,有一些职业会潜意识地匹配某种颜色[5]。这需要开发者在开发之前对职业进行调查,软件界面涉及到心理学和社会学的内容也成为一种趋势。 2.2.2 高效的数值传递和匹配机制
网络速度的发展,使上网的速度也越来越快,但也使用户越来越没有耐心。研究表明,普通用户能够忍受最长加载页面的时间一般为8秒,如果加载时间超过8秒,除非用户必须在该页面获得一些信息,否则用户会关闭页面或者转向其他页面。对数据的处理速度也成为软件需求的潜在要素,需要开发人员对算法进行优化,提升软件的响应速度。 2.2.3调查人员应广泛具有代表性
通用性软件的用户面向各个阶段的人群,没有固定的使用群体。每个人的审美和个性差异会导致他们选择不同的软件。所以在进行需求分析的时候,调查人员应较广泛一些,根据功能和主打的年龄阶段选择合适的人员来进行调查,符合该年龄段的大多数人的接受范围。
3 总结
本文主要介绍根据软件的不同类型从通用性软件和定制性软件两大类型对软件需求分析问题提出几点建议。完善软件开发中的需求问题,为软件需求分析提供一种思路,同时指出在需求分析中经常忽略的问题和导致软件工程失败的因素,给软件需求的相关工作提供参考。
参 考 文 献
[1] 毕桂,徐霖.谈谈软件项目的需求获取.才智,2018(24):223
[2] 刘佳. 软件需求工程理论、方法与实践[硕士学位论文]. 南京邮电大
学, 南京, 2015
[3] 井涛.高质量软件需求文档的生成之道.电子技术与软件工程,
2018(12):56
[4] 许晓彤. 基于用户需求的移动办公软件界面设计研究[硕士学位论
文]. 河北科技大学,石家庄, 2019
[5] 王雪. 情绪和颜色对记忆的影响研究[硕士学位论文]. 信阳师范学
院, 信阳, 2015
因篇幅问题不能全部显示,请点此查看更多更全内容