"系统开发软件中的需求分析" 系统开发软件中的需求分析是软件开发过程中的一个关键步骤。需求分析的目的是为了弄清用户的需求,定义产品的需求,并将其转化为软件开发的蓝图。在软件开发的生命周期中,需求分析是一个非常重要的环节,因为它直接关系到软件的质量和可靠性。 什么是需求?需求来源于用户的一些“需要”,这些“需要”被分析、确认后形成完整的文档,该文档详细地说明了产品“必须或应当”做什么。需求可能来自以下几个方面:用户(客户)、接口、环境(硬件、组织文化、政策等)。 需求工程概述 需求工程是软件开发的生命周期中,与需求直接相关的活动。主要包括:需求开发和需求管理两部分内容。 需求开发过程:通过调查与分析,获取用户需求并定义产品需求。需求调查的目的是通过各种途径获取用户的需求信息(原始材料),产生《用户需求说明书》。需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。常见的需求分析方法有“问答分析法”和“建模分析法”两类。需求定义的目的是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生《产品需求规格说明书》。 需求管理过程:在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。需求确认是指开发方和客户共同对需求文档进行评审,双方对需求达成共识后作出书面承诺,使需求文档具有商业合同效果。需求跟踪是指通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。需求变更控制是指依据“变更申请-审批-更改-重新确认”的流程处理需求的变更,防止需求变更失去控制而导致项目发生混乱。 需求工程的主要内容包括:需求开发产生的主要文档为《用户需求说明书》与《软件需求规格说明书》。需求管理产生的主要文档为《需求评审报告》、《需求跟踪报告》和《需求变更控制报告》。 需求工程中的主要问题包括:知识技能问题、态度问题、合作关系、用户说不清楚需求、双方误解需求、开发人员写不好需求文档、用户经常变更需求等。 知识技能问题:应用域的知识是无边无际的,任何人都不可能是“万事通”。当需求分析员缺乏应用域知识时,他该怎么办?首先要有勇气做事,否则连实践的机会都没有。其次应当赶紧补习应用域知识,不论是通过自学还是培训的方式,否则他很难与用户交流。如果可能的话,开发方最好请既懂软件又懂应用域知识的行家来帮忙。 态度问题:相当多的开发人员习惯于被动地对待需求开发。每当遇到麻烦、挫折时,他们会发牢骚,找出一堆用户的毛病。很多开发人员错误地以为:需求是用户的事情,不是我们的事情。我们为用户开发软件,难道用户不该告诉我们应当开发什么吗?如果用户说不清,我们就认为这不是我们的责任。 需求分析是一个复杂的工作,需要开发人员具备良好的知识技能和正确的工作态度。只有当我们具备了正确的知识技能和工作态度时,才能更好地进行需求分析,确保软件开发的质量和可靠性。
剩余55页未读,继续阅读
- 粉丝: 748
- 资源: 8万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于C++和C混合模式的操作系统开发项目.zip
- (源码)基于Arduino的全球天气监控系统.zip
- OpenCVForUnity2.6.0.unitypackage
- (源码)基于SimPy和贝叶斯优化的流程仿真系统.zip
- (源码)基于Java Web的个人信息管理系统.zip
- (源码)基于C++和OTL4的PostgreSQL数据库连接系统.zip
- (源码)基于ESP32和AWS IoT Core的室内温湿度监测系统.zip
- (源码)基于Arduino的I2C协议交通灯模拟系统.zip
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip