读软件需求分析首先明确了软件需求包含的三个不同层次,业务需求即组织机构或客户的需求目标,用户需求即用户使用产品必须要完成的任务,功能需求即开发人员需要实现的软件功能。从需求的定义上我们可以知道需求关注的是究竟想开发什么与设计细节实现细节项目规划信息或者测试信息无关
不重视需求过程会给项目带来极大风险,所以在需求过程中我们要注意避免以下几种情况,无足够用户参与,用户需求不断扩展,用户需求不明确或者说模棱两可,不必要的特性即为软件画蛇添足,过于精简的规格说明,忽略了用户分类,不准确的计划,而高质量的需求过程要求产品开发过程中的通力合作同时充分了解其市场,因此要想完成一份优秀的需求就必须具备完整性(功能完整),正确性(准确陈述其功能),可行性,必要性(每项需求都硬把客户真正需要的和最终系统),划分优先级,无二义性(只能有一个明确统一的解释),可验证性等特性。同时需求规格说明也需具备完整性,一致性,可修改性,可跟踪性(即每项软件需求与它的根源和设计元素,源代码,测试用例之间建立起链接链)
再进行软件需求分析时要清楚谁是客户,谁是用户,分清楚业务需求和用户需求。客户有义务说明软件的业务需求,任何其他的说明都应该遵从业务需求的规定,而用户需求则必须从试用产品的用户处收集,业务需求来自风险承担者,用户需求则来自产品的真正使用操作者。对于客户而言客户有权利要求分析人员使用符合客户语言习惯的表达,要求分析人员了解客户的业务及目标,要求分析人员编写软件需求规格说明,要求得到需求工作结果的解释说明,要求开发人员尊重其意见,要求开发人员对需求及产品实施提供建议,拿出主意,描述产品易使用的特性,调整需求允许重用已有的软件组件,要求对变更的代价提供真实可信的评估,获得满足客户功能和质量要求的系统。同时客户也有自己的义务,如给分析人员讲解你的业务,抽出时间清楚地说明并完善需求,准确而详细的说明需求,及时地作出决定,尊重开发人员的需求可行性及成本评估,划分需求优先级别,评审需求文档和原型,需求出现变更要马上联系,应遵照开发组织处理需求变更的过程,尊重开发人员采用的需求工程过程
那么在需求分析过程中我们如何进行需求获取,首先要确定需求开发过程,其次编写项目试图和范围文档,将用户群分类并归纳各自特点,选择每类用户的产品代表,建立起典型用户的核心队伍,让用户代表确定使用示例,召开应用程序开发联席会议,分析用户工作流程,确定质量属性和其他非功能需求,夸项目重用需求等等
在编写需求规格说明的时候要注意采用srs模板,指明需求的来源,记录业务规范,创建需求跟踪能力矩阵,在完成规格说明后要注意需求验证,如审查需求文档,以需求为依据编写测试用例,编写用户手册,确定合格的标准。在完成需求说明后还应跟踪每项需求的状态,如确定需求变更的控制过程,建立变更控制委员会,进行需求变更影响分析,跟踪所有需求变更影响的工作产品,建立需求基线和需求控制版本文档,维护需求变更的历史纪录,跟踪没想需求的状态,衡量需求的稳定性,使用需求管理工具。
在功能基础之上的就是项目计划,需求的变更会影响这些计划,因此在项目刚开始我们可以选择一种合适的软件开发方法生存期一允许这种不确定性,同时也要基于需求制定项目计划,再发生需求变更时协商项目约定,编写文档和管理与需求相关的风险,跟踪需求工程所消耗的工作量等等减少项目计划的不确定性
在软件开发过程中不可避免地回需要改进需求过程,主要是为了解决在以前项目中国目前项目中遇到的问题,防止和避免你可能在将来的项目中要遇到的问题,防止和避免你可能在将来的项目中要遇到的问题,在软件需求过程发生改变时要通过一定的接口与软件开发队伍联系冰箱各个功能领域的人说明你从他那里所获取的信息和帮助有助于开发整个产品。
来源:https://www.cnblogs.com/laozhanghahaha/p/4859736.html