需求分析

《我们应当怎么做需求分析》阅读笔记

拜拜、爱过 提交于 2020-04-03 23:29:12
在过去的十多年里,软件行业得到了迅猛发展,技术更新飞快,稍有不慎就会被社会发展的大潮所冲垮,被社会所淘汰。在这十多年里,也冒出了许多的软件工程项目,他们有的成功了,而大多数则是以失败而告终。 套用一下大文豪托尔斯泰体:幸福的家庭都是一样的,不幸的家庭却各有各的不幸;幸福的软件项目都是一样的,不幸的软件项目却各有各的不幸;或者说,成功的软件项目都是一样的,失败的项目却各有各的问题。 他们所出的问题各不相同,但归根到底还是需求的问题, 需求分析既是一份体力活儿,更是一份技术活儿,它既是人际交往的艺术,又是逻辑分析与严密思考的产物。正是我们在需求分析过程存在的巨大隐患,最终导致了那么多项目的失败。 根据作者提供的案例来分析,需求分析有以下几个误区值得注意: 1.当开发团队接到任务时,首先要做的用该是清楚客户的真正的需求是什么,不能凭着感觉来,否则就算软件团队再怎么努力,也不会达到客户需求的理想状态。2.当我们接收到一个项目时,应该理智的分析一下客户的需求是否合乎正常的逻辑,因为他们不懂技术,所以一些他们认为合理的要求,在我们看来根本无法实现, 所以我们必须要基于技术实现去引导客户的需求。 3.我们在做需求调查时应该充分考虑到业务分析的方方面面,不能盲目的急于求成,对于一些问题不可能是一蹴而就的,而且需要与专家反复的讨论才可以。接下来,作者详细的介绍了怎样做好一个需求调研。

需求分析

可紊 提交于 2020-03-28 12:14:04
什么是需求 需求就是客户对于系统的期望;很多人认为需求和技术无关,这种想法是片面的,其实,只要是客户的要求就是需求,无论是业务层面还是技术层面,都应该写入需求规格说明书; 需求要详细到什么程度 需求分析阶段可以不进行数据库设计,但是需求分析尽量要把字段确认清楚,下一步数据库设计的依据就是需求分析的内容;所以需求分析就是应该是字段级别,但是有的时候客户不愿意和你确认到字段级别(之前我碰到的客户就是这样,无界面需求和你讨论,但是界面需求不和你确认)。那么什么是分析呢?就是把一坨需求,能够进行分割,组合以及重新组合,所谓重新组合是指将N坨需求进行细化后,从新归类,所谓分析,就是做这个工作; 什么是需求分析 就是将需求进行归类整理,梳理成业务流程,并发现内在联系的过程;并形成文档,和客户确认,然后在让开发人员依据这份文旦进行设计。 文档组织 1.字典;在编写文档过程中不断充实; 2.划分需求模块清晰;需求分析阶段其实已经把整体模块; 3.每个模块流程处理逻辑描述清晰; 团队内部怎么进行分析? 首先,我明白了之前的深航项目在做概要设计的时候要写到Sql,只有到了SQL级别才算是有设计,至于开设计会的时候: 1.首先是识别用例,用脑风暴, 2.然后由专人分类汇总,任务划分,做设计,梳理流程; 3.角色扮演,每个人讲述清楚自己的角色/任务都做什么事,怎么做事,接口参数都是什么,总体流程梳理清晰了

软件开发:需求分析的20条法则(zt)

女生的网名这么多〃 提交于 2020-03-28 11:04:49
对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客。怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。软件开发的意义也就在于此。而弄清商业用户如此复杂需求的真面目,正是软件开发成功的关键所在。 ---  经理:“我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。通过通信手段门店自动订货,供应商自动结算,卖场通过扫条码实现销售,管理人员能够随时查询门店商品销售和库存情况。另外,我们也得为政府部门提供关于商品营运的报告。” --  -分析员:“我已经明白这个项目的大体结构框架,这非常重要,但在制定计划之前,我们必须收集一些需求。” --  -经理觉得奇怪:“我不是刚告诉你我的需求了吗?” --  -分析员:“实际上,您只说明了整个项目的概念和目标。这些高层次的业务需求不足以提供开发的内容和时间。我需要与实际将要使用系统的业务人员进行讨论,然后才能真正明白达到业务目标所需功能和用户要求,了解清楚后,才可以发现哪些是现有组件即可实现的,哪些是需要开发的,这样可节省很多时间。” --  -经理:“业务人员都在招商。他们非常忙,没有时间与你们详细讨论各种细节。你能不能说明一下你们现有的系统?” --- 

软件开发:需求分析的20条法则

北慕城南 提交于 2020-03-28 11:02:58
对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客。怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。软件开发的意义也就在于此。而弄清商业用户如此复杂需求的真面目,正是软件开发成功的关键所在。 ---  经理:“我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。通过通信手段门店自动订货,供应商自动结算,卖场通过扫条码实现销售,管理人员能够随时查询门店商品销售和库存情况。另外,我们也得为政府部门提供关于商品营运的报告。” --  -分析员:“我已经明白这个项目的大体结构框架,这非常重要,但在制定计划之前,我们必须收集一些需求。” --  -经理觉得奇怪:“我不是刚告诉你我的需求了吗?” --  -分析员:“实际上,您只说明了整个项目的概念和目标。这些高层次的业务需求不足以提供开发的内容和时间。我需要与实际将要使用系统的业务人员进行讨论,然后才能真正明白达到业务目标所需功能和用户要求,了解清楚后,才可以发现哪些是现有组件即可实现的,哪些是需要开发的,这样可节省很多时间。” --  -经理:“业务人员都在招商。他们非常忙,没有时间与你们详细讨论各种细节。你能不能说明一下你们现有的系统?” --- 

需求评审会议分析

断了今生、忘了曾经 提交于 2020-03-15 19:50:21
第一部分:失败案例 案例一 某领域专家A先生就某企业的成本管理系统做用户需求报告的评审工作,在评审会开始时间不长,就被在场的企业的一位副总B先生打断,认为A先生提出的方案不适合本企业,A先生提出的管理改进方案在企业中无法实施。该副厂长提完意见后,与会的用户方人员纷纷跟随B先生的提出了他们的反对意见,致使评审会无法再进行下去,最终该报告被用户否决。 案例二 某软件公司内部举行产品的需求评审会,主要是公司内部的领域专家参加,在评审会开始后不久,某领域专家就对需求报告中的某个具体问题提出了自己的不同意见,于是,与会人员纷纷就该问题发表自己的意见,大家争执不下,结果,致使会议出现了混乱状况,主持人无法控制局面,会议大大超出了计划评审时间。 案例三 某软件公司为某公司A做业务流程管理系统的需求评审会,当项目组人员在会议上宣读多达上百页的需求报告时,用户明确提出听不懂,致使会议不得不改日进行。 案例四 某软件公司在用户处开完物资管理系统的需求评审会后,与会人员离开会议室时,纷纷摇头,认为本次会议没有多少实际效 果,完全是在走过场。 案例五 某软件公司在公司内部举行产品的需求评审会时,需求报告的执笔人与产品策划主要策划人员的想法差别很大,致使需求评审会没有必要继续进行下去。 第二部分:需求评审中常见的问题 ◇ 需求报告很长,短时间内评审者根本就不能把需求报告读懂,想清楚; ◇

数据库——需求分析

霸气de小男生 提交于 2020-03-08 21:06:31
目标 1 了解 需求分析的概念以及获取需求分的方法 2 理解 需求建模方法 需求分析 1 需求分析的概念与意义 需求: 用户对软件的功能和性能的要求,用户希望软件能做什么事情,完成什么样功能,达到什么样性能 需求分析:描述待开发系统所要完成的功能 使系统工程师刻画出软件的 功能和性能 ,指明软件和系统其它元素的接口并建立软件必须满足的约束 2 需求分析的困难原因 软件功能复杂性;需求可变性;软件产品不可见性 (计算机应用系统的需求分析工作是在系统分析人员和用户不断交互的过程中完成的) 3 需求的获取方法: 面谈-实地调查-问卷调查-查阅资料 4 需求分析的过程 (1)标识问题:通过对问题和标识获得对所有求解问题及其运行环境的理解 (2)建立需求模型:目前在信息系统的需求分析中可使用结构化分析模型或面向对象分析模型 (3)描述需求:需求;功能;信息;性能;环境;其它需求 (4)确认需求:需求确认及评审,审核功能需求,数据需求,性能,数据管理及其它需求 需求建模方法 结构化分析与建模方法: DFD 建模 IDEF 建模 面向对象分析与建模方法: UML 用例建模 5 结构化分析任务 (1)建立分析模型:SA 模型是描述软件需求的一组 主要包括: 功能模型;数据模型和行为模型 (2)编写需求规格说明书: SRS 是分析阶段编写的以文字为主的文档;包括:引言,信息描述,功能描述,行为描述

项目管理学习笔记四:项目立项管理

半城伤御伤魂 提交于 2020-03-04 21:07:53
  项目立项是项目正式实施前不可缺少的程序,一般要求经过项目机会研究、项目可行性研究、项目论证和评估等几个阶段。对于需要招投标的项目,招投标管理也是项目实施之前的重要工作。 一、需求分析   需求分析是指对要解决的问题进行详细的分析,弄清楚项目发起人及项目其他干系人的要求、待开发的信息系统要解决客户和用户的业务问题以及问题的来龙去脉。可以说,“需求分析”就是确定待开发系统应该“做什么”。   需求分析主要确定开发的系统的功能、性能、数据和界面等要求。需求分析的实现步骤通常包括3部分,分别是获取当前系统的物理模型、抽象出当前系统的逻辑模型、以及建立目标系统的逻辑模型。    需求分析的工作内容可分为:   1、问题识别   2、分析与综合   3、编制需求分析的文档   4、需求分析与评审       需求分析的方法按照分解的方式不同,可分为 :   1、结构化分析方法   2、软系统方法   3、OOA   4、PDOA 二、项目建设书及可行性研究报告    项目建设书应该包括的核心内容如下:   1、项目的必要性   2、项目的市场预测   3、产品方案或服务的市场预测   4、项目建设必需的条件    项目可行性研究内容包括 :   1、投资必要性   2、技术的可行性   3、财务可行性   4、组织可行性   5、进行可行性   6、社会可行性   7、风险因素及对策 三

201771010132-徐思 实验一 软件工程准备-浏览《构建之法》

情到浓时终转凉″ 提交于 2020-03-02 13:01:32
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12369881.html 我的课程学习目标 (1)项目团队如何更好的分工合作(2)如何提升自己的能力? 这个作业在哪些方面帮助我实现学习目标 (1)学会MarkDown写博客;(2)浏览了《构建之法——现代软件工程》 问题一 在2.3节中,我看到这样一段:软件工程师比大四学生多读了3年书,多工作了3年,两类人任务的质量要求也不一样。我们可以看到,工程师在“需求分析”和“测试”这两方面明显地要花更多的时间(多60%以上);但是在具体编码上,工程师比学生要少花1/3强的时间。显然。从学生到职业程序员,并不是更加没完没了地写程序——花在写代码上的时间反面少了许多。 在这段中将工程师和大学生进行对比,工程师更偏重于需求分析,而大学生更注重于编程。在以往的专业课学习中,我们几乎都在学习编程,很少去学习需求分析,也很少进行需求分析,从而导致这两方面的失衡。现在到了高年级,真的需要我们去进行需求分析做项目的时候,我们却无从下手。所以,我提出这样的疑问:如何去进行需求分析,如何去均衡编程和需求分析? 问题二 在3.1节中看到这样一段:软件开发流程不光指团队的流程,还包括个人开发流程

系统分析模板

巧了我就是萌 提交于 2020-02-28 10:45:46
1、需求分析 1.1 原始需求 1.2 需求背景 1.3 需求收益 1.4 术语解释 1.5 流程分析 1.6 用例分析 1.6.1 业务用例分析 1.6.2 系统用例分析 3 功能性设计 3.1 流程变动 3.2 领域模型变更 3.3 数据模型变更 3.4 状态机变更 3.5 关键时序 3.6 交互设计 3.7 接口变更 4 非功能性设计 4.1 风险点评估 4.1.1 高可用风险 4.1.2 资损风险 4.2 上线计划 4.3 灰度方案 4.4 监控方案 4.5 应急方案 来源: 51CTO 作者: shaiberni 链接: https://blog.51cto.com/1348916/2450381

1.4建立网站的基本流程

ぃ、小莉子 提交于 2020-02-27 12:42:06
1.4.1 需求分析 需求分析主要是客户对整个项目大的计划、时间要求和资金预算等。 1、项目立项 2、客户需求说明书 1.4.2 整体规划 在确定了用户的需求之后,并不是直接开始制作,而是需要对项目进行总体设计和详细设计,制作出一份网站方案给客户。 1、总体设计 l 网站需要实现那一些功能,反映到程序里面就是划分多少个模块; l 网站开发使用什么软件,在什么样的硬件环境下开发; l 整个项目有多少工作量,可以量化为需要多少人,多少时间; 2、规划说明书 3、网站建设方案 l 客户情况 l 网站实现的目的和目标; l 网站形象; l 网站的栏目版块和结构; l 网站内容的安排和相互连接和关系; l 开发时间进度表; l 宣传推广方案; l 维护方案; l 制作费用; 1.4.3详细设计 1、资料收集 l 跟主题相关的文字、图片、字体文件等; l 网上同类型优秀网站; l 各种风格的交互页面; l 功能强大、性能优异的开放源代码; 2、整体形象设计 l 定位网站主题和名称; l 定位网站CI形象; l 确定栏目和版块; l 网站的整体风格创意设计; l 网站的层次结构和链接结构; 1.4.4网站实施 l 界面设计 l 代码设计 l 调试完善 1.4.5 申请域名和空间 l 域名申请 l 虚拟主机 l 服务器托管 1.4.6发布站点 1.4.7推广网站 l 注册到搜索引擎 l