软件工程理论与实践 (吕云翔) 第三章 可行性研究及需求分析课后习题及答案

第三章 可行性研究及需求分析

知识点:

​ 任何一个完整的软件工程项目都是从项目立项(可行性研究)开始的。项目立项包括项目发起、项目论证、项目审核和项目立项4个过程。

一般来说,需求分析分为需求获取、分析建模、需求描述和需求验证4步。

​ 软件需求分析阶段的工作可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档,以及需求验证和确认。

1.判断题

(1)用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完
整性、现实性和有效性。(X)
(2)需求分析是开发方的工作,用户的参与度不大。( X)
(3)需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性研究的依据。(√)

(4)需求分析的主要目的是解决软件开发的具体方案。(X)
(5)需求规格说明书描述了系统每个功能的具体实现。( X)
(6)非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。(√)

(7)需求分析阶段的成果主要是需求规格说明书,但该成果与软件设计、编码、测试直至维护关系不大。(×)

2.选择题

(1)在需求分析之前有必要进行( B)工作。

A.程序设计B.可行性研究C.系统设计 D.系统测试
(2)需求分析是一个(D),它应该贯穿于系统的整个生命周期中,而不是仅仅属于软
件生命周期早期的一项工作。
B.工具
A.概念
D.过程
C.方法
(3)软件需求规格说明书的内容不应该包括(B)。

A.对重要功能的描述
B.对算法的详细过程描述
C.对数据的要求
D.软件的性能
(4)软件需求分析阶段的工作可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档,以及(D)。

A.总结
B.阶段性报告
C.需求分析评审
D.以上答案都不正确

3.简答题

(1)可行性研究的内容有哪些?

可行性研究需要从多个方面进行评估,主要包括战略可行性、操作可行性、计划可行性、技术可行性、社会可行性、市场可行性、经济可行性和风险可行性等。

​ 战略可行性研究主要从整体的角度考虑项目是否可行,例如,提出的系统对组织目标具有怎样的贡献;新系统对目前的部门和组织结构有何影响;系统将以何种方式影响人力水平和现存雇员的技术;它对组织整个人员开发策略有何影响等。
​ 操作可行性研究主要考虑系统是否能够真正解决问题;是否系统一旦安装后,有足够的人力资源来运行系统;用户对新系统具有抵触情绪是否导致使操作不可行;人员的可行性等问题。
计划可行性研究主要估计项目完成所需的时间,并评估项目的时间是否足够。
技术可行性研究主要考虑项目使用技术的成熟程度;与竞争者的技术相比,所采用技术
的优势及缺陷;技术转换成本;技术发展趋势及所采用技术的发展前景;技术选择的制约条件等。
社会可行性研究主要考虑项目是否满足所有项目涉及者的利益;是否满足法律或合同的要求等。
市场可行性研究主要包括研究市场的发展历史与发展趋势,说明本产品处于市场的什么
发展阶段;本产品和同类产品的价格分析;统计当前市场的总额及竞争对手所占的份额,分析本产品能占多少份额;产品消费群体特征、消费方式及影响市场的因素分析;分析竞争对手的市场状况;分析竞争对手在研发、销售、资金和品牌等方面的实力;分析自己的实力等。

​ 经济可行性研究主要是把系统开发和运行所需要的成本与得到的效益进行比较,进行成本效益分析。
​ 风险可行性研究主要是考虑项目在实施过程中可能遇到的各种风险因素,以及每种风险因素可能出现的概率和出险后造成的影响程度。

(2)如何理解需求分析的作用和重要性。

作用:

  • 明确系统的目标
  • 分析研究现行系统
  • 设计新系统的高层逻辑模型
  • 获得并比较可行的方案

重要性:

  • 确定系统的运行环境要求
  • 确定系统的功能性需求和非功能性需求
  • 进行有效的需求分析

(3)常用的需求获取的方法有哪些?对比各种方法的优缺点。

获取需求的方法有多种,如问卷调查、访谈、实地操作和建立原型等。

  • 下面是常用的需求获取方法以及它们的优缺点:

    1. 问卷调查:
      • 优点:问卷调查可以收集大量数据,适用于获取广泛的意见和观点。它可以在较短的时间内覆盖大量用户,并提供定量数据进行分析。
      • 缺点:问卷调查可能面临回答者主观偏见、回应率低和信息不够详细的问题。它也无法捕捉到用户在使用软件过程中的真实体验和情感。
    2. 访谈:
      • 优点:访谈可以深入了解用户的需求、期望和挑战。它提供了互动和个性化的沟通,可以追问和澄清问题,收集详细的信息。
      • 缺点:访谈需要花费更多的时间和资源,特别是如果用户数量众多。此外,访谈结果可能受到访谈者主观偏见的影响。
    3. 实地操作:
      • 优点:通过观察用户在实际环境中使用软件,可以发现用户的行为、需求和痛点。实地操作可以提供直接的用户反馈和洞察。
      • 缺点:实地操作可能受到环境限制和时间约束,无法完全模拟用户的真实场景。此外,观察者可能会对用户行为进行解释或偏见。
    4. 建立原型:
      • 优点:通过构建原型,可以让用户直接参与软件的设计和功能验证。它提供了一个可视化的产品演示,可以快速迭代和改进。
      • 缺点:建立原型需要额外的时间和资源。此外,原型可能无法完全模拟最终产品的性能和功能,用户可能会对其有误解。

你可能感兴趣的:(软件工程,软件工程,需求分析)