领域分析&需求分析之间的区别

 转:http://www.cppblog.com/walkspeed/archive/2007/07/11/27869.html

领域分析--认识领域分析

软件分析的开端一般是需求分析。但是在实践中,发现了很多的问题。
1 用户的需求并不是有用户提出。在和用户或软件的风险承担者交谈后,会常发现,他们对自己想要的
软件并不是很清楚,会提出一些笼统的要求。在开发出一个原型后,他们会修正或更改,甚至推翻他们
的需求。你会发现是你在不断的提出、完善需求,用户或风险承担者只是在裁决你的需求。而这样下去
你的软件要不断的改,好像遥遥无期。
2 需求多是一种功能的集合。软件出来后,如果有了改动,或在新的项目中去复用以前的软件会发现很
难。对每个需求,你不得不从头开始。

领域分析和需求分析不同,它不是面向功能的。而是面向问题的。这有些像考试中解题。针对特定的问
题,来提供解决方案,并在这个方案的直接指导下解出题目。这个直接指导很有意义,应为直接指导表
示解题的方案将被应用到解题的过程中(即是可实现的)。

领域分析不是对要构造的软件进行全面的分析。而是对软件涉及到的特定的领域进行分析(如写多媒体
软件,你要对音视频领域进行分析)。而领域是与特定的知识相关联的(如音视频领域中关于音频、视
频编解码知识,领域分析要搞清楚这个领域中的知识,找出各知识点中的关系,并对它们进行抽象,形
成模型。领域分析强调的是问题域。这就是说它面对的是一个相对确定的范围。软件要解决的是一个相
对确定的范围。也有利于测试软件。

领域分析不能代替需求分析,但是可以脱离需求来对特定的领域进行分析。领域分析后产生的设计要直
接指导实现,可以映射到软件中。由于领域分析是面对问题的,它产生的软件不一定能满足需求,可能
根本就对应不上需求。但是它是特定问题的解决方案,可以作为一个机制来支持需求的实现。而且特定
的问题或着说这种反应某个领域中的知识关系的软件其对应的是一种稳定的需求,比较容易复用、测试
和发展。

面对需求分析得到是一种应用的要求。而根据软件涉及的领域进行分析,得到的是它的基本机制。应用
是多样的,而机制其实就只有那么几个。根据应用的要求来组合这些机制。这样需求的变化,并不会去
过多的冲击你通过领域分析得到的模型和实现。你要做的是对他们进行组合。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 软件需求分析是软件工程中的一项重要任务,它是在软件开发过程中,确定和理解用户需求的过程。软件需求分析主要包括需求获取、需求分析、需求规约和需求验证等步骤。 首先,需求获取是软件需求分析的第一步,主要通过与用户沟通、观察现有系统和文档分析等方式,收集用户需求。在这个过程中,软件工程师需要与用户深入合作,以确保正确理解用户需求,并将其转化为可操作的需求文档。 接下来,需求分析是软件需求分析的核心步骤,主要目的是理解和澄清用户需求,识别并提取出关键需求。在需求分析过程中,软件工程师需要进行业务流程分析、数据流分析和数据字典设计,以绘制系统的框架、功能和交互。 然后,需求规约是对需求进行书面表达和形式化的过程。通过使用用户故事、用例图和状态转换图等工具,将需求以可理解、可测量和可验证的方式进行描述,以便开发团队能够按照需求设计、开发和测试软件。 最后,需求验证是确保软件需求正确性和完整性的过程。通过与用户进行需求审查、原型验证和用户验收等方式,验证软件需求是否符合用户期望和实际需求。 综上所述,软件需求分析在软件工程中起着至关重要的作用,它确保开发团队正确理解用户需求,并将其转化为可实现的软件系统。通过规范和有效的软件需求分析,可以提高软件开发过程的质量和效率,确保最终交付的软件与用户期望相符。 ### 回答2: 软件需求分析是在软件工程领域中非常重要的一环。它是指通过系统地收集、分析和定义用户对软件系统的需求、约束和期望,为软件开发过程提供基础。在软件需求分析中,我们需要了解用户的需求,并详细描述这些需求,以便后续的软件设计和开发。 在软件需求分析过程中,首先要收集用户的需求,这可以通过与用户进行沟通、采访和调查等方式来完成。通过这些方法,我们可以了解用户的真实需求,包括功能需求、性能需求、用户界面需求等。其次,我们需要对收集到的需求进行分析,将其进行分类和整理,以便更好地理解和描述。在这个过程中,我们需要识别出需求之间的关联和依赖,以及可能存在的冲突或缺陷。 在软件需求分析过程中,我们还需要定义和规范需求的形式,以便软件开发团队理解和实现。这可以通过编写需求规格说明书、用例文档、原型等方式来实现。需求规格说明书通常包括需求的详细描述、优先级等信息,用例文档则描述了系统的各种功能和使用场景,原型则是为了更好地展示软件的界面和交互流程。 同时,在软件需求分析过程中,我们还要与用户和开发团队保持密切的沟通和协作,以便及时地反馈和调整需求。由于软件需求往往是动态变化的,需求分析工作需要持续进行,并随着项目进展进行调整和优化。 总而言之,软件需求分析是软件工程中至关重要的一步。通过系统地收集、分析和定义用户的需求,可以为后续的软件设计和开发提供指导。在这个过程中,我们需要与用户和开发团队密切合作,并且保持沟通和反馈,以确保软件系统能够满足用户的期望和需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值