ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## UML与需求分析 ### 基本概述 常常会听到这样一句话,客户需要的是一把梯子,系统分析师了解到的是一张凳子,开发人员做出来的是一张桌子。由此可以看出需求分析的准确性和正确性的重要之处。 ### 需求分析中出现差异性问题的原因 1、很多角色会参与到需求分析中来 2、不同的角色会有不同的出发点 3、人的需求分析能力是有差异的 4、需求的“词不达意” 5、需求是不断在变化的   ### 客户与项目组对需求理解随时间变化的3种曲线图 ![](https://box.kancloud.cn/2016-02-25_56cec6c1d1ca7.jpg) 第一种情况:最开始客户对需求是有一定理解的,项目组几乎没有理解,随着时间的推移,客户对需求理解越来越强,尽管项目组对需求的理解也变强了,但总是落后于客户,这样就会造成需求分析工作陷入被动。   第二种情况:最开始和第一种一样,随着时间的推移,项目组到达交点之后,理解程度总是高于客户,这样项目组才能切实体会出客户需求。   第三种情况:这种情况是一开始项目组对需求的理解就高于客户,一直到最后。这种情况是最好的,但是一般是发生在项目组做过类似项目的情况中。 ### 需求分析的几大要点 ### 项目背景 为什么会有这个项目?客户为什么会想做这样的一个项目?如果没有这个项目会怎样?   ### 需要 1、本项目解决了客户什么问题? 2、本项目涉及了哪些涉众? 3、本项目的目标是什么? 4、本项目的范围是什么? 5、本项目的成功标准是什么?   ### 需求规格 功能性需求,非功能性需求等等。   PS:一般来讲其优先级为(项目背景>需要>需求规格)。如果能把握住项目背景和需要这样不是经常发生变化的需求,那么无论需求规格怎么变,都不会造成太大影响。     ### UML与需求分析的关系 1、可以通过UML中的各种图来对需求进行更为简洁,无二义性的描述。 2、可以用结构型的UML图对业务进行结构建模。 3、可以用行为型的UML图对业务进行行为建模。 4、可以用功能型的UML图对业务应有功能进行功能建模。   PS:需求分析也不见得就一定要用UML,只不过UML是现如今软件工程的标准建模语言,并且其简单易懂,故掌握UML也是很有必要的。 ### 需求分析的工作 1、全面准确地获取需求。 2、将获取的需求准确地分享给项目组其他成员,并根据他们的反馈进一步完善需求。 3、和客户确认项目组对需求的理解。 4、根据需求驱动工作。