- 浏览: 1504926 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
8.需求分析的过程
需求获取是在问题及其最终解决方案之间架设桥梁的第一步。获取需求的一个必不可少的结果是对项目中描述的客户需求的普遍理解。一旦理解了需求,分析者、开发者和客户就能探索出描述这些需求的多种解决方案。参与需求获取者只有在他们理解了问题之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工。把需求获取集中在用户任务上—而不是集中在用户接口上—有助于防止开发组由于草率处理设计问题而造成的失误。
需求获取、分析、编写需求规格说明和验证并不遵循线性的顺序,这些活动是相互隔开、增量和反复的。当你和客户合作时,你就将会问一些问题,并且取得他们所提供的信息(需求获取)。同时,你将处理这些信息以理解它们,并把它们分成不同的类别,还要把客户需求同可能的软件需求相联系。然后,你可以使客户信息结构化,并编写成文档和示意图。下一步,就可以让客户代表评审文档并纠正存在的错误。这四个过程贯穿着需求开发的整个阶段。
由于软件开发项目和组织文化的不同,对于需求开发没有一个简单的、公式化的途径。下面列出了1 4个步骤,你可以利用它们指导你的需求开发活动。对于需求的任何子集,一旦你完成了第十三步,那么你就可以很有信心地继续进行系统的每一部分的设计、构造,因为你将开发出一个好的产品:
1. 定义项目的视图和范围。
2. 确定用户类。
3. 在每个用户类中确定适当的代表。
4. 确定需求决策者和他们的决策过程。
5. 选择你所用的需求获取技术。
6. 运用需求获取技术对作为系统一部分的使用实例进行开发并设置优先级。
7. 从用户那里收集质量属性的信息和其它非功能需求。
8. 详细拟订使用实例使其融合到必要的功能需求中。
9. 评审使用实例的描述和功能需求。
10. 如果有必要,就要开发分析模型用以澄清需求获取的参与者对需求的理解。
11. 开发并评估用户界面原型以助想像还未理解的需求。
12. 从使用实例中开发出概念测试用例。
13. 用测试用例来论证使用实例、功能需求、分析模型和原型。
14. 在继续进行设计和构造系统每一部分之前,重复6~1 3步。
需求获取可能是软件开发中最困难、最关键、最易出错及最需要交流的方面。需求获取只有通过有效的客户—开发者的合作才能成功。分析者必须建立一个对问题进行彻底探讨的环境,而这些问题与产品有关。为了方便清晰地进行交流,就要列出重要的小组,而不是假想所有的参与者都持有相同的看法。对需求问题的全面考察需要一种技术,利用这种技术不但考虑了问题的功能需求方面,还可讨论项目的非功能需求。确定用户已经理解:对于某些功能的讨论并不意味着即将在产品中实现它。对于想到的需求必须集中处理并设定优先级,以避免一个不能带来任何益处的无限大的项目。
需求获取是一个需要高度合作的活动,而并不是客户所说的需求的简单拷贝。作为一个分析者,你必须透过客户所提出的表面需求理解他们的真正需求。询问一个可扩充的问题有助于你更好地理解用户目前的业务过程并且知道新系统如何帮助或改进他们的工作。
需求获取利用了所有可用的信息来源,这些信息描述了问题域或在软件解决方案中合理的特性。一个研究表明:比起不成功的项目,一个成功的项目在开发者和客户之间采用了更多的交流方式。与单个客户或潜在的用户组一起座谈,对于业务软件包或信息管理系统(MIS)的应用来说是一种传统的需求来源。
在每一次座谈讨论之后,记下所讨论的条目,并请参与讨论的用户评论并更正。及早并经常进行座谈讨论是需求获取成功的一个关键途径,因为只有提供需求的人才能确定是否真正获取需求。进行深入收集和分析以消除任何冲突或不一致性。尽量理解用户用于表述他们需求的思维过程。充分研究用户执行任务时作出决策的过程,并提取出潜在的逻辑关系。流程图和决策树是描述这些逻辑决策途径的好方法。
当进行需求获取时,应避免受不成熟的细节的影响。在对切合的客户任务取得共识之前,用户能很容易地在一个报表或对话框中列出每一项的精确设计。如果这些细节都作为需求记录下来,他们会给随后的设计过程带来不必要的限制。你可能要周期性地检查需求获取,以确保用户参与者将注意力集中在与今天所讨论的话题适合的抽象层上。向他们保证在开发过程中,将会详尽阐述他们的需求。
在一个逐次详细描述过程中,重复地详述需求,以确定用户目标和任务,并作为使用实例。然后,把任务描述成功能需求,这些功能需求可以使用户完成其任务,也可以把它们描述成非功能需求,这些非功能需求描述了系统的限制和用户对质量的期望。虽然最初的屏幕构思有助于描述你对需求的理解,但是你必须细化用户界面设计。
发表评论
-
LAMP网站架构方案分析
2011-09-21 11:09 1315LAMP(Linux-Apache-MySQL-PHP ... -
大流量网站的底层系统架构分析
2011-09-10 22:01 1209大流量、高并发的网站的底层系统架构 http://www.h ... -
详细介绍软件架构设计的三个维度
2011-09-07 19:28 1382本文介绍的是软件架构 ... -
十步构建大型网站架构(2)
2011-09-07 16:21 1468架构演变第六步:分库 享受了一段时间的系统访问量高速增长的幸 ... -
十步构建大型网站架构(1)
2011-09-07 16:20 1410今天我们来谈谈一个 ... -
架构、框架、设计模式之间的关系简述
2011-09-07 16:00 1678本文向您讲解架构、框 ... -
UML实践----用例图、顺序图、状态图、类图、包图、协作图
2011-09-07 10:01 1984面向对象的问题的处理 ... -
UML建模之时序图
2011-09-06 20:19 3022http://www.uml.org.cn/oobject/2 ... -
UML 活动图
2011-09-06 20:13 1473UML 活动图记录单个操作 ... -
UML 状态图
2011-09-06 20:04 1328http://www.uml.org.cn/oobject/2 ... -
三种模型
2011-09-06 19:22 1390《uml面向对象建模与设计》本书提出了一套面向对象的表示 ... -
5 款基于 Web 浏览器的建模工具
2011-09-05 10:29 1283http://www.oschina.net/news/209 ... -
UML用例图
2011-09-02 16:31 5062一、UML用例建模简介 ... -
深入浅出REST
2011-08-19 09:48 1172不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正 ... -
数据量非常大的照片分享社区网站架构设计
2011-07-21 21:31 9513数据库一向是网站架构中最具挑战性的,瓶颈通常出现在这里。又拍网 ... -
相关知识
2011-07-04 16:34 1289(二) 架构的分类 架构由于应用的不同而存在不同。大体而言, ... -
软件需求分析方法总结--轻巧建模之需求篇(二)
2011-06-27 23:07 2006http://hi.baidu.com/tdskee/blog ... -
软件需求分析方法总结--轻巧建模之需求篇(一)
2011-06-27 23:05 2248需求从哪儿来? 来自于项目甲方,还是直接或间接的用户、经 ... -
软件需求分析方法总结--撰写优秀的需求
2011-06-27 23:04 1633软件需求常常被写得很糟且难于遵循。清楚地阐明你的需求将使每位项 ... -
软件需求分析方法总结--如何分析问题和需求
2011-06-27 23:03 2302如何分析问题和需求 万事开头难,需求没有完全分析清楚,系 ...
相关推荐
软件需求分析方法总结里面讲了分析方法,建模技术,RUP等等 制作单位: 阿蒙工作室 制作日期: 2003.6.20
《软件需求分析方法总结》 在计算机科学领域,软件需求分析是软件开发过程中的关键步骤,它是确定系统或产品必须做什么的重要阶段。本资料“软件需求分析方法总结”旨在为准备计算机软考的读者提供全面而深入的理解...
软件工程的重要参考资料,教你如何撰写需求分析
针对“需求分析面试总结--深交所.zip”这个主题,我们可以深入探讨以下几个相关知识点: 1. **需求分析**:需求分析是软件工程的第一步,涉及到对用户需求的理解、记录、验证和管理。在这个过程中,分析师需要与...
总结来说,需求分析说明书是软件开发过程中的核心文档,它清晰地表达了用户需求,并为项目提供了方向。通过学习和参考不同范例,开发者可以更好地理解和编写有效的需求文档,从而提高软件开发的成功率和用户满意度。
#### 三、软件需求分析的目标与产出 **目标**:构建一个从抽象到具体的逻辑模型来表达软件将要实现的需求,帮助开发者和利益相关者了解系统应该做什么,不应该做什么。 **产出**:“软件需求分析说明书”,它是软件...
资深需求分析师的经验总结强调了需求分析在软件开发过程中的核心地位。通过理解信息系统的基础理论、掌握需求分析的最佳实践、深入研究不同类型的信息系统及其特点,需求分析师能够更有效地收集、分析和管理需求,...
软件需求分析是软件生命周期中的关键阶段之一,其主要目的是明确软件需要实现的功能和性能要求,确保后续的设计、开发和测试活动能够围绕这些需求进行。需求分析的质量直接影响着软件项目的成功与否。 #### 二、...
下面将详细阐述软件需求分析的目标、任务、过程、原则以及常用的技术和工具。 首先,软件需求分析的目标主要包括以下几点: 1. 明确用户需求:通过与用户沟通,了解他们对软件的功能、性能、界面等期望,确保软件...
根据提供的文档内容,本文将对“软件需求分析和需求管理培训讲义for学员(北京国信)”中的关键知识点进行详细解析。 ### 软件需求分析与需求管理概述 软件需求分析和需求管理是软件工程领域的重要组成部分,旨在...
这些案例不仅覆盖了需求分析的基本原则和流程,还展示了不同类型的系统(例如会员制商场进销存系统、图书馆管理信息系统等)如何通过软件工程方法进行需求分析和设计。以下是对这些案例中涉及的主要知识点进行的综合...