如何做软件需求分析(个人工作经验总结)
目录 :
前言:
1什么是需求,需求分析在整个开发周期的作用。
2 在需求过程中的三个里程碑
2.1 第一阶段 确定项目的大背景
2.2 第二阶段 项目本阶段的核心需求定义和确定
2.3 第三阶段 项目详细需求分析
前言:
需求对于我们IT人来讲是一个再熟悉不过的名词了,如何在项目开发周期做需求,那就是各有各的道了,下面是我对软件开发过程中对做需求的理解和总结。希望能给大家带来一点不同的感官。
1什么是需求,需求分析在整个开发周期的作用。
对于需求概念来讲就是功能+质量+约束。在整个开发周期中,需求是整个开发的基础。需求分析成功,则软件风险就减少了一半。
这么一讲,还是蛮空洞的,对于我们来讲如何进行需求分析,它的流程是什么,每步流程的标准又是什么呢?
本人在需求操作中,主要分为三个阶段。
第一阶段 确定项目的大背景。第二阶段 项目本阶段的核心需求定义和确定,第三阶段 项目详细需求分析。
2 在需求过程中的三个里程碑
2.1 第一阶段 确定项目的大背景
确定项目的大背景,就是充分的了解项目的领域,客户对项目的期望值。其次,对于企业项目来讲,在确定项目目标后,还要进一步的了解客户的企业框架。当前项目在企业框架中位置,第三方接口定义等等。
在考虑到完成业务上的预景后,接下来就是项目实现技术实现方案,选择实现项目的技术框架(通常包含 开发平台,第三方组件,硬件环境,测试环境,部署环境等)
第一阶段的配置项 为
《企业建设方案》
2.2 第二阶段 项目本阶段的核心需求定义和确定
在确定了需求的大背景下,下一步,我们需要做的内容就是确定项目的核心功能,关键的质量,和相关的约束。在这边我要着重向大家说明一下温昱老师的二维需求表。
表的格式为
功能 |
质量 |
约束 |
|
业务及需求 |
|||
用户级需求 |
|||
开发级需求 |
功能:
软件功能又分关键功能,次要功能等。在第二阶段,我们要做的就是分辨并整理关键功能,和次要功能。根据项目的规划,找出当前需要实现的关键功能,与此同时,对于高风险,技术风险大的功能,或者关键功能中相互冲突的功能进行前期取舍。(当然啦,在取舍和确定具体的功能范围,还是要和客户之间相互沟通的)
最后要补充一点的,就是确定关键功能这个过程是不停递归的一个过程。
质量:
一般质量分类包含 性能,安全性,可靠性,易用性,可扩展,可维护,可移植等。
在需求分析中,和关键功能一样,要根据项目的愿景,进行关键质量的筛选。
在某种情况下软件的质量之间还是有冲突,鱼和熊掌不可兼得的情况,如 可维护性和性能是一对对立的两兄弟。我们还需要对这样的关键质量进行必要的取舍。在作出这样的取舍,依据的标准就来源于我们需求的第一阶段的工作。
约束:
软件的约束分好多的角度,
业务级约束:举例:项目的组织结构和人员信息来源于企业人事系统
用户级约束:举例:使用客户用一部分是残障人事等,其包含了藏语用户等
开发级约束:举例:开发人员的技术水平等。
在调研并完成这样的二维需求表后,及时的和客户沟通,确定关键功能,关键质量和约束等。对二维需求表中的内容进行取舍和确定。
在第二阶段出的配置项
二维需求表
2.3 第三阶段 项目详细需求分析
在第二阶段的基础上,我们就可以对项目核心功能进行数据流需求调研分析,业务逻辑分析。并在这基础上编写用户用例 ,数据流转图,业务逻辑图等
在完成了以上业务核心功能的详细调研分析后,将全部用例和其他内容组合在一起,制定《项目需求规格说明书》。
在第三阶段出的配置项
《项目需求规格说明书》。
如何做软件需求分析(个人工作经验总结)相关推荐
- 软件需求分析的工作步骤和流程
第一阶段: 总体把握,了解概况 接手一个项目,不要着急去了解需求,这一阶段是和具体用户方的领导层.业务层人员的访谈式沟通,主要目的是从宏观上把握用户的具体需求方向和趋势,了解现有的组织架构.业务流程. ...
- 《软件需求分析》博文读后感
这学期我们开设了软件需求与分析这门课,在阅读了博客<我们应当怎样做软件需求分析>. 文中有一句话,幸福的软件项目都是一样的,不幸的软件项目却各有各的不幸:或者说,成功的软件项目都是一样的, ...
- 前端初学者的痛,没学历没工作经验如何找工作?
2018年各大互联网公司对前端技术人才的需求缺口依然很大,然而公司招不到人和学生找不到工作的矛盾却更加突出,这一切都与前端技术的飞速发展息息相关,公司对前端人才的开发经验要求.技术要求逐渐提高.那么企 ...
- 一个软件工程师的7年工作经验总结
前言 这是在网上看到的一篇文章,写的是一个从事软件工程开发的大牛对从业七年的一些经验总结.感觉挺不错,转来与大家分享了,下面是正文. 分享 1.分享第一条经验:"学历代表过去,能力代表现在, ...
- 如何做软件项目的需求分析....
需求分析 在具体的研究需求分析之前,我们先了解一下软件工程这个概念.软件工程分为三个层次,过程层.方法层.工具层.在最基础的过程层,最重要的就是一组被称为关键过程区域(KPAs)的框架(KPA的概念在 ...
- 软件人生之这些年做项目带新人的经验总结
本文转自: http://www.cnblogs.com/jirigala/archive/2009/10/13/1575920.html 在此表示感谢. 软件人生之这些年做项目带新人的经验总结 - ...
- 学EE做硬件找工作不如学CS做软件,为什么会这样?
电子工程(EE)就业最好的方向居然是转计算机,也许让有的人觉得很不公平,EE也是很重要的学科,我们学习也很努力,为什么就业会不如CS?也有的人好奇,EE/硬件也是信息技术行业不可缺少的一部分,为啥CS ...
- 他只有2年工作经验,现在却拿着40万年薪,只因他曾做过这件事
今天这篇文章会提供给大家一个超级福利--一套免费的大数据干货.林中天所著,如果你是自己去买,你需要花3980元,但是我的粉丝,我帮你们申领到300份免费名额(没有任何营销套路). 知识爆炸的时代,可千 ...
- 女生适合做软件开发工作吗?优势在哪里?
不知道大家在念书的时候,有没有留意到这样一种现象,工科类的院校女生可以说是凤毛麟角,有的专业几乎是清一色的男生,就算是有女生,也只有一两个. 难道女孩子都就读于文科类的院校了吗?其实不是,不少理科类的 ...
- 芜湖市荟萃中学计算机课老师名单,做智慧型班主任 ——芜湖荟萃中学召开班级工作经验交流暨班主任培训会...
新学期伊始,为进一步加强班主任队伍建设,提高班主任的管理能力和水平,以更好的状态做好新学期工作,近日,芜湖荟萃中学召开了班级经验交流暨班主任培训会,会议由政教处主任夏伟主持. 培训会上,校党总支书记. ...
最新文章
- 如何拿到高薪数据分析师offer?从精准解读一篇招聘信息开始!
- 设置树莓派开机自动运行代码
- 你不得不看的六篇知识图谱落地好文
- not null primary key什么意思_explain都不会用,你还好意思说精通Mysql查询优化?
- PHP GD库解析一张简单图片并输出
- linux下网口监控软件_超赞的!Aibaba技术官分享高性能Linux服务器解读笔记
- zero copy图解
- 为什么在Android上的某些设备上使用相机意图捕获的图像会被旋转?
- NUC1333 Knight Moves【DFS】
- Python科学库sklearn.numpy.scipy. matplotlib.pandas
- 【JAVA】java中CyclicBarrier的使用方法,实例解说
- 疯狂的程序员阅读笔记
- android麦克风设置在哪,手机麦克风设置实用教程
- 城市级智能网联示范区情况全扫描
- centos7上删除分区出现 Can't open /dev/vda1 exclusively . Mounted filesystem?
- Python3 将本地时间转换成指定时区时间
- Invalid component name: “_compiled“. Component names should conform to valid custom element name组件报错
- Delphi创建COM组件并分别用Delphi和html调用该组件的简单实例
- 项目分包后出的测评报告能盖cnas/cma标识章吗
- python123 括号配对检测
热门文章
- java安卓开发异步任务_Android笔记4-android之多线程和异步任务
- 为什么手工drop_caches之后cache值并未减少?
- opengl入门(ubuntu版)(一)
- [RK3399][Android7.1] 调试笔记 --- 查看当前DDR的工作频率
- Linux启动分析——init进程与app启动(init进程源码分析)
- L1- 009——016
- 结构体、文件操作、指针
- python贪吃蛇手机版代码_Python贪吃蛇简单的代码
- 2020电信最新套餐一览表_最新!2020年宁波中学排名一览表
- 以下c语言程序片段用于估测cpu的cache参数,优酷【C/C++类】:笔试题目1(最全)...