01
项目需求分析是系统分析和软件设计阶段之间的桥梁。
主要表现在两方面:
- 需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整。
- 需求规格说明又是软件开发设计、以及实现和测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量,提高软件系统的稳定性和健全性。
可见需求分析的重要性,项目需求分析大致有四个过程
1、需求分析过程
需求过程包括需求开发和需求管理两个部分:
- 需求开发:开发前期的管理,与客户的沟通过程,包括需求获取、需求分析、编写需求和需求验证等。
- 需求管理:软件项目开发过程中控制和维持需求约定的活动。包括变更控制、版本控制、需求跟踪、需求状态跟踪等。
2、需求的层次
需求的层次包括:业务需求、用户需求、功能需求、非功能需求等。
3、需求开发阶段的重点
- 提取业务对象
业务对象(Business Object,BO)是对数据进行检索和处理的组件。是简单的真实世界的软件抽象。业务对象通常位于中间层或者业务逻辑层。
- 提取业务流程
业务流程,是为达到特定的价值目标而由不同的人分别共同完成的一系列活动。活动之间不仅有严格的先后顺序限定,而且活动的内容、方式、责任等也都必须有明确的安排和界定,以使不同活动在不同岗位角色之间进行转手交接成为可能。活动与活动之间在时间和空间上的转移可以有较大的跨度。而狭义的业务流程,则认为它仅仅是与客户价值的满足相联系的一系列活动。
- 性能需求
在分析的前期应该注意客户对所开发软件的技术性能指标,如存储容量限制、运行时间限制、安全保密性等。
- 环境需求
环境需求是指软件平台运行时的环境的要求,如硬件方面:机型、外部设备、数据通信接口;软件方面:系统软件,包括操作系统、网络软件等;使用方面:操作人员需要什么样的技术水平,应具备那些条件。
- 用户界面需求
为用户界面细致地规定到达的要求。
4、 需求分析的任务
需求分析的主要任务是借助于当前系统的逻辑模型导出目标系统的逻辑模型,其流程如下:
- 确定对系统的综合需求(功能、性能、运行、扩充需求)
- 制作产品需求文档 (PRD)
- 分析系统的数据需求(概念模型、数据字典、规范化)
- 导出目标系统的详细的逻辑模型(数据流图、数据字典、主要功能描述)
- 开发原形系统
02
如何有效进行项目管理?
项目根据项目需求确定目标,主要是项目目标的制定、分解和职责分工。目标管理要求每一个分目标都有明确的责任主体。因此,预定总体目标之后,需要重新审查现有团队结构,进行目标分解,并明确目标责任者和协调关系。分目标要具体量化,便于考核;分清轻重缓急。
目标管理是系统性工程,如果事先没有一个详尽的计划,很难将各项工作协调一致。因此,计划是目标实施过程中不可缺少的一部分。目标管理是一项所有成员都要参与设定自已的具体目标,然后各就各位把计划执行的过程。并且,上级主管要进行阶段性考查,根据实际情况作出一些调控,以便顺利的完成目标。
这里推荐自下而上的预算方法
自下而上方法要求运用WBS(Work Breakdown Structure,工作分解结构)对项目的所有工作任务的时间和预算进行仔细考察。最初,预算是针对资源(团队成员的工作时间、硬件的配置)进行的,项目经理在此之上再加上适当的间接费用(如培训费用、管理费用、不可预见费等)以及项目要达到的利润目标就形成了项目的总预算。自下而上的预算方法要求全面考虑所有涉及到的工作任务,更适用于项目的初期与中期,它能准备地评估项目的成本,与真实费用相差在5% ~ 10%之间。
要是项目部分有外包的情况,还需要考虑接口联调的工作量。
笔者有次做移动客户端跟服务端联调接口时,本来计划10个接口一天内联调完的,可是那天只联调了一个接口。
有的公司为了接口开发成本,服务端开发人员开发的接口,没有经过测试人员测试就直接跟客户端联调了。
记得那次,服务端开发人员说接口开发好了,可以联调,他直接打包发布都平台,也没有自己先测试一下,结果我一调,直接报500了。
他再打包发布,这样一来就浪费了很多不必要的时间,更离谱的是,接口返回数据格式竟然不是客户端想要的。
……
所以,做系统需求评估时,要注意联调的工作量。
做好项目需求分析,才是项目管理的重中之重。,只要做好了,才能更好的做好软件开发,开发人员才不会了因为频繁的需求改动而抓狂,有更多的时间和精力去处理更有意义的事情。
标签:需求,分析,项目,项目管理,接口,目标,做好,重中之重,联调 From: https://www.cnblogs.com/IT-Evan/p/16656609.html