‘壹’ 如何分析问题
分析问题的方法有很多种,明叔在这里介绍几种能最快学以致用的分析法:
第一种:电工法
复盘目标达成中的各个环节,将问题范围逐渐缩小,从而确定问题发生的环节在哪里。
昨天我在编辑上一篇文章时,我遇到了这样的问题:我在微信编辑器中将文章编辑完成后点击保存时,弹窗提醒我文章中存在敏感关键字,有可能造成审核无法通过,但是我通读文章并修改几个可能触发敏感关键词的语句后,仍然有这个提示。
于是我采取这样的方法:我将全文剪切了二分之一,只留下一半的上文,此时点保存发现可以正常保存,那么知道触发关键词的语句是在文章的下半部分,然后我继续用同样的办法,每次检验剩余文章的二分之一,不断的缩短关键词的范围,最终找到了问题关键词的地方。
在分析一般问题上,这个方法能够方便又有效地帮助我们确定问题所在,与排除法有着异曲同工之妙,排除法在于将假命题进行排除,最后留下正确的答案,电工法与之相反,通过不断的排除正确选项以接近问题点。
第二种:类比法
类比法是将一类事物的某些相同方面进行比较,以另一事物的正确或错误证明这一事物的正确或错误,这是运用类比推理形式进行论证。
简单说就是用一个已知的相似案例,对照现存案例来获得问题的解释。
这里举个生活中常见的案例:通过遥控器控制家里的空调时突然失灵了,而上次家里遥控电视机失灵时,发现是因为遥控器没有电了所以失灵,那么这次空调失灵也可能是因为没电而导致的。这样的一个分析过程就是类比分析法。
要提高类比结论的可靠程度,就要尽可能地确认对象间的相同点。相同点越多,结论的可靠性程度就越大,因为对象间的相同点越多,二者的关联度就会越大,结论就可能越可靠。
第三种:极端法
即将现有问题在想象中进行无限放大或缩小,看看在极端情况下会有什么不同的看法。
在刘润的5分钟商学院中,有一期谈到了非常着名的“三门问题”(如果你已经了解这个问题,你可以跳过这段)假设你参加一个了能上台抽奖的机会,主持人告诉你这里有A、B、C三个门,而其中一个门后面有一辆豪车,只要猜对了豪车在哪一扇门后面,车就归你了,这种情况下,选中豪车的概率是三分之一。如果你选了B后,主持人打开了另外两扇门中的一扇空门A,主持人给你一个改变选择的机会,你是坚持原来的选择,还是选择另一扇们呢?
在第一直觉下,我们会认为所有选择的概率都是三分之一,换与不换不存在区别,但是我们用极端法进行分析的话:如果不是三扇门,而是一共有一万扇门时候,你是会选择万里挑一的那扇门,还是选择被9998扇们过滤后剩下的那扇门呢?
这一下我们就明白了,此时换一扇门的中奖概率,是高于不换的,而且实际上在只有三扇门的情况下,换门后的中奖概率会上升一倍。
极端法算是一种另辟蹊径的分析方法,在某些问题前,直觉往往会优先于思维对事物给出判断,比如在三门问题中很多人会陷入怪圈,直觉下认为几率是三分之一,而运用极端法就能将问题点极端凸显,直到打破直觉怪圈。
第四种:试错法
这个应该很好理解,就是不断地尝试和验证结果,直到找到正确的解法。
可以说试错法是最愚蠢,却也是最简单有效的分析法,而且试错法有一个关键性的优点,拥有很少或是没有信息的情况下进行,特别其他分析法都无法奏效情况下,唯有试错法可以进行分析。
这个分析法还有一个特别出名的代言人:李时珍,我们都知道李时珍尝百草编《本草纲目》的故事,在当时缺乏对草药属性信息的情况下,李时珍就是用不断的亲身试药,分析每一种草药的药性和毒性,为后人留下这本鸿篇巨制。
当我们面对一个新问题的时候,通过不断的试验和消除误差,最终接近所求的答案。
第五点:思维导图
思维导图是一个非常实用的思考工具和助记工具。总得来说思维导图就是帮助我们思考,记忆,并给每个信息点之间建立关联。
首先是记忆,在分析复杂问题过程中,如果仅靠大脑记忆,很难记住所有的问题点,会造成分析过程存在漏洞,影响分析结果。当我们借助思维导图进行分析时候,不仅是能对分析过程进行完整的梳理,也能记录整个分析过程。
其次是思考,当我们在阅读一本书的时候,如果我们只是看书上的文字,做点简单的标记,很多时候会进入一个只认字不思考的状态。但是如果我们有个任务就是要不断完善这个思维导图,那么这个过程其实就是强迫自己思考书中的内容,让其在我们的图中相互交织,并有自己的特色。
思维导图的特点就是信息的图形化。
将分析问题的过程由记忆和思考两个行为,简化为看图思考,当看着一张逻辑清晰,信息明了的思维导图时, 分析问题瞬间就变得简单了许多。
下次再遇到问题,学会运用系统而专业的上面这几招进行分析,明叔保证你会发现,问题其实一点都不可怕,抽丝剥茧的分析过程甚至能体会到做侦探的快感。
本文总结
1、所有的分析必须有严谨的分析逻辑。
2、所有找出来的问题都应该有方法去实践验证。
3、应该建立警报系统,当出现问题就知道哪里有问题。
4、分析是解决问题的基础,要重视与坚持。
还有一点非常重要,那就是不断地扩大提高自己的知识领域和认知水平,而提高知识和认知水平最有效的方法,除了阅读就是不断地和各种知识领域的人进行语言交流思维碰撞。
‘贰’ 数据的分析涉及到的思想方法
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。这一过程也是质量管理体系的支持过程。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。
数据分析的数学基础在20世纪早期就已确立,但直到计算机的出现才使得实际操作成为可能,并使得数据分析得以推广。数据分析是数学与计算机科学相结合的产物。
在统计学领域,有些人将数据分析划分为描述性统计分析、探索性数据分析以及验证性数据分析;其中,探索性数据分析侧重于在数据之中发现新的特征,而验证性数据分析则侧重于已有假设的证实或证伪。
探索性数据分析是指为了形成值得假设的检验而对数据进行分析的一种方法,是对传统统计学假设检验手段的补充。该方法由美国着名统计学家约翰·图基(John Tukey)命名。
定性数据分析又称为“定性资料分析”、“定性研究”或者“质性研究资料分析”,是指对诸如词语、照片、观察结果之类的非数值型数据(或者说资料)的分析。
具体方法
数据分析有极广泛的应用范围。典型的数据分析可能包含以下三个步:
1、探索性数据分析:当数据刚取得时,可能杂乱无章,看不出规律,通过作图、造表、用各种形式的方程拟合,计算某些特征量等手段探索规律性的可能形式,即往什么方向和用何种方式去寻找和揭示隐含在数据中的规律性。
2、模型选定分析,在探索性分析的基础上提出一类或几类可能的模型,然后通过进一步的分析从中挑选一定的模型。
3、推断分析:通常使用数理统计方法对所定模型或估计的可靠程度和精确程度作出推断。
分析方法
1、列表法
将实验数据按一定规律用列表方式表达出来是记录和处理实验数据最常用的方法。表格的设计要求对应关系清楚、简单明了、有利于发现相关量之间的物理关系;此外还要求在标题栏中注明物理量名称、符号、数量级和单位等;根据需要还可以列出除原始数据以外的计算栏目和统计栏目等。最后还要求写明表格名称、主要测量仪器的型号、量程和准确度等级、有关环境条件参数如温度、湿度等。
2、作图法
作图法可以最醒目地表达物理量间的变化关系。从图线上还可以简便求出实验需要的某些结果(如直线的斜率和截距值等),读出没有进行观测的对应点(内插法)或在一定条件下从图线的延伸部分读到测量范围以外的对应点(外推法)。此外,还可以把某些复杂的函数关系,通过一定的变换用直线图表示出来。例如半导体热敏电阻的电阻与温度关系为,取对数后得到,若用半对数坐标纸,以lgR为纵轴,以1/T为横轴画图,则为一条直线。
3、数据分析主要包含:
1. 简单数学运算(Simple Math)
2. 统计(Statistics)
3. 快速傅里叶变换(FFT)
4. 平滑和滤波(Smoothing and Filtering)
5.基线和峰值分析(Baseline and Peak Analysis)
数据来源
1、搜索引擎蜘蛛抓取数据;
2、网站IP、PV等基本数据;
3、网站的HTTP响应时间数据;
4、网站流量来源数据。
数据分析过程的主要活动由识别信息需求、收集数据、分析数据、评价并改进数据分析的有效性组成。
识别需求
识别信息需求是确保数据分析过程有效性的首要条件,可以为收集数据、分析数据提供清晰的目标。识别信息需求是管理者的职责管理者应根据决策和过程控制的需求,提出对信息的需求。就过程控制而言,管理者应识别需求要利用那些信息支持评审过程输入、过程输出、资源配置的合理性、过程活动的优化方案和过程异常变异的发现。
收集数据
有目的的收集数据,是确保数据分析过程有效的基础。组织需要对收集数据的内容、渠道、方法进行策划。策划时应考虑:
①将识别的需求转化为具体的要求,如评价供方时,需要收集的数据可能包括其过程能力、测量系统不确定度等相关数据;
②明确由谁在何时何处,通过何种渠道和方法收集数据;
③记录表应便于使用; ④采取有效措施,防止数据丢失和虚假数据对系统的干扰。
分析数据
分析数据是将收集的数据通过加工、整理和分析、使其转化为信息,通常用方法有:
老七种工具,即排列图、因果图、分层法、调查表、散步图、直方图、控制图;
新七种工具,即关联图、系统图、矩阵图、KJ法、计划评审技术、PDPC法、矩阵数据图;
过程改进
数据分析是质量管理体系的基础。组织的管理者应在适当时,通过对以下问题的分析,评估其有效性:
①提供决策的信息是否充分、可信,是否存在因信息不足、失准、滞后而导致决策失误的问题;
②信息对持续改进质量管理体系、过程、产品所发挥的作用是否与期望值一致,是否在产品实现过程中有效运用数据分析;
③收集数据的目的是否明确,收集的数据是否真实和充分,信息渠道是否畅通;
④数据分析方法是否合理,是否将风险控制在可接受的范围;
⑤数据分析所需资源是否得到保障。
‘叁’ 财务分析方法有哪些
一、短期偿债
1.营运资本=流动资产-流动负债
=(总资产-非流动资产)-(负债 -非流动负债)
=(总资产 - 非流动资产)-(总资产 -股东权益- 非流动负债)
=(股东权益 + 非流动负债)- 非流动资产
=长期资本-长期资产
2.流动比率= 流动资产÷流动负债
* 流动比率 = 1 ÷(1 - 营运资本÷流动资产)
3.速动比率=速动资产÷流动负债
* 速动资产 = 流动资产 -存货
4.现金比率=(货币资金+交易性金融资产)÷流动负债
5.现金流量比率= 经营现金净流量÷流动负债
二、长期偿债
1.资产负债率= 负债总额 ÷ 总资产× 100%
2.产权比率=负债总额÷股东权益
3.权益乘数= 总资产÷股东权益
* 权益乘数 = 1 + 产权比率
= 1 ÷(1 - 资产负债率)
4.长期资本负债率 = 非流动负债÷长期资本× 100%
=[非流动负债÷(非流动负债+股东权益)]× 100%
5.利息保障倍数=息税前利润÷利息费用
=(净利润+ 利息费用 +所得税费用)÷利息费用
6.现金流量利息保障倍数= 经营现金流量÷利息费用
三、应收账款周转率
1.应收账款周转次数 = 赊销收入净额÷应收账款平均余额。
2.应收账款周转天数= 365 ÷应收账款周转次数
3.应收账款与收入比 = 应收账款÷销售收入
四、存货周转率
1.存货周转次数 = 销售成本÷存货平均余额
2.存货周转天数= 365 ÷存货周转次数
3.存货与收入比 = 存货÷销售收入
五、流动资产周转率
1.流动资产周转次数 = 销售收入÷流动资产
2.流动资产周转天数= 365 ÷流动资产周转次数
3.流动资产与收入比 = 流动资产÷销售收入
六、非流动资产周转率
1.非流动资产周转次数 = 销售收入÷非流动资产
2.非流动资产周转天数 = 365 ÷非流动资产周转次数
3.非流动资产与收入比 = 非流动资产÷销售收入
七、总资产周转率
1.总资产周转次数 = 销售收入÷总资产
2.总资产周转天数 = 365 ÷总资产周转次数
3.总资产与收入比 = 总资产÷销售收入
八、与销售额有关的
1.销售毛利率 = 息税前利润总额÷销售收入× 100%
=(销售收入-销售成本)÷销售收入× 100%
2.销售净利率= 净利润÷销售收入× 100%
3.主营业务利润率 = 主营业务利润÷主营业务收入净额× 100%
九、与投资额有关的
1.资产净利率 = 净利润÷总资产 × 100%
=(净利润×销售收入)×(销售收入÷总资产)× 100%
= 销售利润率×总资产周转次数
2.总资产报酬率 = 息税前利润总额÷总资产 × 100%
* 资产净利率和总资产报酬率都属于资产报酬率(ROA)
3.权益净利率= 净利润÷股东权益× 100%
= 资产净利率×权益乘数
= 销售利润率×总资产周转次数×权益乘数
4.资本保值增值率 = 扣除客观因素后的年末所有者权益÷年初所有者权益× 100%
十、其他的
1.盈余现金保障倍数 = 经营现金净流量÷净利润× 100%
2.成本费用利润率 = 利润总额÷成本费用总额× 100%
十一、能力分析
1.销售增长率 = 本年主营业务收入增加额÷上年主营业务收入额× 100%
=(本年主营业务收入额 - 上年主营业务收入额)÷上年主营业务收入额× 100%
2.资本积累率 = 本年所有者权益增加额÷年初所有者权益× 100%
=(年末所有者权益 - 年初所有者权益)÷年初所有者权益× 100%
3.技术投入比率 = 当年技术转让费支出与研究投入÷当年主营业务收入净额× 100%
十二、收现分析
1.销售收现率 = 销售商品提供劳务收到的现金÷销售收入× 100%
2.资产的经营现金净流量回报率 = 经营现金净流量÷总资产× 100%
3.每股经营现金净流量 = 经营现金净流量÷普通股股数
4.营业利润的经营现金净流量 = 经营现金净流量÷营业利润
十三、上市企业
1.每股股利 = 普通股股利总额÷年末普通股股份总数
2.每股收益率 = 普通股每股股利÷普通股每股市价× 100%
3.每股盈余(EPS) = 可供普通股股东分配的净收益÷年末普通股股份总数
4.市盈率(P/E) = 普通股每股市价÷普通股每股盈余
5.每股账面价值= 普通股股东权益总额÷年末普通股股份总数
6.市净率(P/BV) = 普通股每股市价÷普通股每股账面价值
7.股利支付率 = 普通股每股股利÷普通股每股盈余× 100%
8.每股净资产 = 年末净资产÷年末普通股股份总数
9.股利保障倍数= 普通股每股盈余÷普通股每股股利
= 1÷股利支付率
‘肆’ spss数据分析方法五种是什么
线性模型;点击分析,一般线性模型,单变量,设置因变量和固定因子,点击确定即可。图表分析。回归分析;点击分析,打开回归,设置自变量和因变量数据,点击确定即可。直方图分析。统计分析。
软件功能:
SPSS是世界上最早采用图形菜单驱动界面的统计软件,它最突出的特点就是操作界面极为友好,输出结果美观漂亮。它将几乎所有的功能都以统一、规范的界面展现出来,使用Windows的窗口方式展示各种管理和分析数据方法的功能,对话框展示出各种功能选择项。
用户只要掌握一定的Windows操作技能,精通统计分析原理,就可以使用该软件为特定的科研工作服务。SPSS采用类似EXCEL表格的方式输入与管理数据,数据接口较为通用,能方便的从其他数据库中读入数据。
其统计过程包括了常用的、较为成熟的统计过程,完全可以满足非统计专业人士的工作需要。输出结果十分美观,存储时则是专用的SPO格式,可以转存为HTML格式和文本格式。
‘伍’ 如何去分析一件事或物
1、一分为一法:即是由单纯思想的人(小孩),对待事物和人,只看到了它的表面现象,不去研究现象背后的原因。
2、一分为二法:这是朴素的唯物辩证法。事物有正反两方面,有对事物或人深入研究的人会用此法来分析事物或人产生的现象及原因。此法有很大的精准性。这是思想者所常用的思维分析方法。
4、一分为四法:事物是由四性的,这一点不被多数人所知。一分为四法是对事物分析更为全面的一种思维方法,常用于对事物的谋划及对待事物应采取的更为客观有效使用的方法,是一分为三法的进一步演化与应用。它存在于日常生活中,但不被人们所认知,在中医中将其应用于辩证施治,其它领域则少有人用之。
例如:人一分为一法:一个人
男人或女人
一面性
一分为二法:男性人、女性人
有性别的特征
两面性
一分为三法:男性人、女性人、无性人
三面性
一分为四法:男性人、女性人、无性人、两性人
四面性
清代刘纯在《误治余论》里说:阴阳之分不尽已矣。人非男女之别,万物具备四性也,人者有男、有女、有天宦、有两性人。
也就是说矛盾问题应当考虑四个方面;第一是矛,第二是盾,第三既是矛又是盾,第四既不是矛又不是盾。尤其是搞科研的高级知识分子,要掌握这种广阔的思维方法,不然的话可能不容易出成果。例如物质问题,是否应当考虑有物质,也有反物质,既是物质又是反物质,既不是物质也不是反物质。
比如朋友的划分。如果按照一分为二的观点,那么不是敌人就是朋友。这种观点是十分错误的。因为没有有恒的敌人,也没有有恒的朋友。夫妻两个人都要磕磕碰碰的,别说朋友了。按照一分为二的观点,划分敌人太多了,就要打击一大片;划分朋友太多了,就难免看走了眼,也容易吃亏上当。按一分为四的观点就清晰得多,敌人是很少的,朋友也是很少的。可是既是敌人又是朋友的,这是比较多的。利害相同的时候就是朋友,吃了点亏就是敌人。但是不是敌人也不是朋友,这是最多的。这是为什么呢?别人根本不知道你是谁,所以既不把你当作敌人也不和你交朋友。如果这样划分朋友和敌人,自己就不会看走了眼,也不会出亏上当,更不会绝交朋友而气恼,也不会因为增添敌人而恐惧。因为是敌人又是朋友的情况,本来就是比较多的;一会是敌人,一会是朋友,是十分正常的。所以说一分为四的分析思维方法是最全面的。
佛家在经典的叙述中已将一分为四的方法运用到了极致,因不为大多数人所理解,只有具备了大智慧的人才能领会透彻。如对于“道”的描述,是空,是无,即是空是无,也是非空非无,只有空无两不占,才是得到了“道”的真谛,反过来应对世俗才能达到超然洒脱状态。
‘陆’ 如何做好需求分析,需求调研
转载以下资料供参考
从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。
狭义上理解需求分析指需求的分析、定义过程。
原因
需求分析就是分析软件用户的需求是什么。如果投入大量的人力,物力、财力、时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的(相信大家都有体会)。比如:用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件。当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。
需求分析之所以重要,就因为他具有决策性、方向性、策略性的作用,他在软件开发的过程中具有举足轻重的地位,大家一定要对需求分析具有足够的重视。在一个大型软件系统的开发中,他的作用要远远大于程序设计。
任务
简言之,需求分析的任务就是解决“做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。
过程
需求分析阶段的工作,可以分为四个方面:问题识别、分析与综合、制订规格说明、评审。
问题识别:就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。这些需求包括:功能需求(做什么)、性能需求(要达到什么指标)、环境需求(如机型、操作系统等)、可靠性需求(不发生故障的概率)、安全保密需求、用户界面需求、资源使用需求(软件运行是所需的内存、CPU等)、软件成本消耗与开发进度需求、预先估计以后系统可能达到的目标。
分析与综合: 逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分。最后综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型)。
制订规格说明书: 即编制文档,描述需求的文档称为软件需求规格说明书。请注意,需求分析阶段的成果是需求规格说明书,向下一阶段提交。
评审: 对功能的正确性,完整性和清晰性,以及其它需求给予评价。评审通过才可进行下一阶段的工作,否则重新进行需求分析。
方法
需求分析的方法有很多,这里只强调原型化方法,其它的方法如:结构化方法、动态分析法等,从来没用过这些方法在此不讨论。
原型化方法是十分重要的,原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能。
原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能。但是这个系统可能在可靠性、界面的友好性或其他方面上存在缺陷。建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性、技术的可行性或考察是否满足用户的需求等。如:为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型。以后的目标系统就在原型系统的基础上开发。
原型主要有三种类型:探索型、实验型、进化型。
探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。
实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。
进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。
在使用原型化方法时有两种不同的策略:废弃策略、追加策略。
废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整、准确、一致、可靠的最终系统。系统构造完成后,原来的模型系统就被废弃不用。探索型和实验型属于这种策略。
追加策略:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,发展成为最终系统。进化型属于这种策略。
需求分析20条法则
客户与开发人员交流需要好的方法。下面建议20条法则,客户和开发人员可以通过评审以下内容并达成共识。如果遇到分歧,将通过协商达成对各自义务的相互理解,以便减少以后的磨擦(如一方要求而另一方不愿意或不能够满足要求)。
1、 分析人员要使用符合客户语言习惯的表达
需求讨论集中于业务需求和任务,因此要使用术语。客户应将有关术语(例如:采价、印花商品等采购术语)教给分析人员,而客户不一定要懂得计算机行业的术语。
2、分析人员要了解客户的业务及目标
只有分析人员更好地了解客户的业务,才能使产品更好地满足需要。这将有助于开发人员设计出真正满足客户需要并达到期望的优秀软件。为帮助开发和分析人员,客户可以考虑邀请他们观察自己的工作流程。如果是切换新系统,那么开发和分析人员应使用一下旧系统,有利于他们明白系统是怎样工作的,其流程情况以及可供改进之处。
3、 分析人员必须编写软件需求报告
分析人员应将从客户那里获得的所有信息进行整理,以区分业务需求及规范、功能需求、质量目标、解决方法和其他信息。通过这些分析,客户就能得到一份“需求分析报告”,此份报告使开发人员和客户之间针对要开发的产品内容达成协议。报告应以一种客户认为易于翻阅和理解的方式组织编写。客户要评审此报告,以确保报告内容准确完整地表达其需求。一份高质量的“需求分析报告”有助于开发人员开发出真正需要的产品。
4、 要求得到需求工作结果的解释说明
分析人员可能采用了多种图表作为文字性“需求分析报告”的补充说明,因为工作图表能很清晰地描述出系统行为的某些方面,所以报告中各种图表有着极高的价值;虽然它们不太难于理解,但是客户可能对此并不熟悉,因此客户可以要求分析人员解释说明每个图表的作用、符号的意义和需求开发工作的结果,以及怎样检查图表有无错误及不一致等。
5、 开发人员要尊重客户的意见
如果用户与开发人员之间不能相互理解,那关于需求的讨论将会有障碍。共同合作能使大家“兼听则明”。参与需求开发过程的客户有权要求开发人员尊重他们并珍惜他们为项目成功所付出的时间,同样,客户也应对开发人员为项目成功这一共同目标所做出的努力表示尊重。
6、 开发人员要对需求及产品实施提出建议和解决方案
通常客户所说的“需求”已经是一种实际可行的实施方案,分析人员应尽力从这些解决方法中了解真正的业务需求,同时还应找出已有系统与当前业务不符之处,以确保产品不会无效或低效;在彻底弄清业务领域内的事情后,分析人员就能提出相当好的改进方法,有经验且有创造力的分析人员还能提出增加一些用户没有发现的很有价值的系统特性。
7、 描述产品使用特性
客户可以要求分析人员在实现功能需求的同时还注意软件的易用性,因为这些易用特性或质量属性能使客户更准确、高效地完成任务。例如:客户有时要求产品要“界面友好”或“健壮”或“高效率”,但对于开发人员来讲,太主观了并无实用价值。正确的做法是,分析人员通过询问和调查了解客户所要的“友好、健壮、高效所包含的具体特性,具体分析哪些特性对哪些特性有负面影响,在性能代价和所提出解决方案的预期利益之间做出权衡,以确保做出合理的取舍。
8、 允许重用已有的软件组件
需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。
9、 要求对变更的代价提供真实可靠的评估
有不同的选择。而这时,对需求变更的影响进行评估从而对业务决策提供帮助,是十分必要的。所以,客户有权利要求开发人员通过分析给出一个真实可信的评估,包括影响、成本和得失等。开发人员不能由于不想实施变更而随意夸大评估成本。
10、 获得满足客户功能和质量要求的系统
每个人都希望项目成功,但这不仅要求客户要清晰地告知开发人员关于系统“做什么”所需的所有信息,而且还要求开发人员能通过交流了解清楚取舍与限制,一定要明确说明您的假设和潜在的期望,否则,开发人员开发出的产品很可能无法让您满意。
11、 给分析人员讲解您的业务
分析人员要依靠客户讲解业务概念及术语,但客户不能指望分析人员会成为该领域的专家,而只能让他们明白您的问题和目标;不要期望分析人员能把握客户业务的细微潜在之处,他们可能不知道那些对于客户来说理所当然的“常识”。
12、 抽出时间清楚地说明并完善需求
客户很忙,但无论如何客户有必要抽出时间参与“头脑高峰会议”的讨论,接受采访或其他获取需求的活动。有些分析人员可能先明白了您的观点,而过后发现还需要您的讲解,这时请耐心对待一些需求和需求的精化工作过程中的反复,因为它是人们交流中很自然的现象,何况这对软件产品的成功极为重要。
13、 准确而详细地说明需求
编写一份清晰、准确的需求文档是很困难的。由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。但是在开发过程中,必须解决这种模糊性和不准确性,而客户恰恰是为解决这些问题作出决定的最佳人选,否则,就只好靠开发人员去正确猜测了。
在需求分析中暂时加上“待定”标志是个方法。用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。
14、 及时作出决定
分析人员会要求客户作出一些选择和决定,这些决定包括来自多个用户提出的处理方法或在质量特性冲突和信息准确度中选择折衷方案等。有权作出决定的客户必须积极地对待这一切,尽快做处理,做决定,因为开发人员通常只有等客户做出决定才能行动,而这种等待会延误项目的进展。
15、 尊重开发人员的需求可行性及成本评估
所有的软件功能都有其成本。客户所希望的某些产品特性可能在技术上行不通,或者实现它要付出极高的代价,而某些需求试图达到在操作环境中不可能达到的性能,或试图得到一些根本得不到的数据。开发人员会对此作出负面的评价,客户应该尊重他们的意见。
16、 划分需求的优先级
绝大多数项目没有足够的时间或资源实现功能性的每个细节。决定哪些特性是必要的,哪些是重要的,是需求开发的主要部分,这只能由客户负责设定需求优先级,因为开发者不可能按照客户的观点决定需求优先级;开发人员将为您确定优先级提供有关每个需求的花费和风险的信息。
在时间和资源限制下,关于所需特性能否完成或完成多少应尊重开发人员的意见。尽管没有人愿意看到自己所希望的需求在项目中未被实现,但毕竟是要面对现实,业务决策有时不得不依据优先级来缩小项目范围或延长工期,或增加资源,或在质量上寻找折衷。
17、 评审需求文档和原型
客户评审需求文档,是给分析人员带来反馈信息的一个机会。如果客户认为编写的“需求分析报告”不够准确,就有必要尽早告知分析人员并为改进提供建议。更好的办法是先为产品开发一个原型。这样客户就能提供更有价值的反馈信息给开发人员,使他们更好地理解您的需求;原型并非是一个实际应用产品,但开发人员能将其转化、扩充成功能齐全的系统。
18、 需求变更要立即联系
不断的需求变更,会给在预定计划内完成的质量产品带来严重的不利影响。变更是不可避免的,但在开发周期中,变更越在晚期出现,其影响越大;变更不仅会导致代价极高的返工,而且工期将被延误,特别是在大体结构已完成后又需要增加新特性时。所以,一旦客户发现需要变更需求时,请立即通知分析人员。
19、 遵照开发小组处理需求变更的过程
为将变更带来的负面影响减少到最低限度,所有参与者必须遵照项目变更控制过程。这要求不放弃所有提出的变更,对每项要求的变更进行分析、综合考虑,最后做出合适的决策,以确定应将哪些变更引入项目中。
20、 尊重开发人员采用的需求分析过程
软件开发中最具挑战性的莫过于收集需求并确定其正确性,分析人员采用的方法有其合理性。也许客户认为收集需求的过程不太划算,但请相信花在需求开发上的时间是非常有价值的;如果您理解并支持分析人员为收集、编写需求文档和确保其质量所采用的技术,那么整个过程将会更为顺利。
“需求确认”意味着什么
在“需求分析报告”上签字确认,通常被认为是客户同意需求分析的标志行为,然而实际操作中,客户往往把“签字”看作是毫无意义的事情。“他们要我在需求文档的最后一行下面签名,于是我就签了,否则这些开发人员不开始编码。”
这种态度将带来麻烦,譬如客户想更改需求或对产品不满时就会说:“不错,我是在需求分析报告上签了字,但我并没有时间去读完所有的内容,我是相信你们的,是你们非让我签字的。”
同样问题也会发生在仅把“签字确认”看作是完成任务的分析人员身上,一旦有需求变更出现,他便指着“需求分析报告”说:“您已经在需求上签字了,所以这些就是我们所开发的,如果您想要别的什么,您应早些告诉我们。”
这两种态度都是不对的。因为不可能在项目的早期就了解所有的需求,而且毫无疑问地需求将会出现变更,在“需求分析报告”上签字确认是终止需求分析过程的正确方法,所以我们必须明白签字意味着什么。
对“需求分析报告”的签名是建立在一个需求协议的基线上,因此我们对签名应该这样理解:“我同意这份需求文档表述了我们对项目软件需求的了解,进一步的变更可在此基线上通过项目定义的变更过程来进行。我知道变更可能会使我们重新协商成本、资源和项目阶段任务等事宜。”对需求分析达成一定的共识会使双方易于忍受将来的摩擦,这些摩擦来源于项目的改进和需求的误差或市场和业务的新要求等。 需求确认将迷雾拨散,显现需求的真面目,给初步的需求开发工作画上了双方都明确的句号,并有助于形成一个持续良好的客户与开发人ONT>