软件需求工程课后作业解析

合集下载

软件工程导论_课后部分习题答案

软件工程导论_课后部分习题答案

13:07:42
2
作业及解答(第3章)
2-4 目前住院病人主要由护士护理,这样做不仅需要大量护 士,而且由于不能随时观察危重病人的病情变化,还会延 误抢救时机。某医院打算开发一个以计算机为中心的患者 监护系统,请分层次地画出描述本系统功能的数据流图。 医院对患者3监护系统的基本要求是随时接收每个病人 的生理信号(脉搏、体温、血压、心电图等),定时记录病 人情况以形成患者日志,当某个病人的生理信号超出医生 规定的安全范围时向值班护士发出警告信息,此外,护士 在需要时还可以要求系统印出某个指定病人的病情报告。
13:07:42
21
13:07:42
22
作业及解答(第5章)
P104:3 用面向数据流的方法设计下列系统的软件结构 (1)储蓄系统2-2
E1 储户 F2取款单 无效取款信息 D1存款信息 F7密码 F7密码 P3.2 密码校验 P3.1 输入取款信息 F5存款信息
取款子系统
13:07:42
23
E1 储户
13:07:42
1
作业及解答(第1-2章)
1-6 什么是软件过程?它与软件工程方法学有何关系? 软件过程是为了开发出高质量的软件产品所需完成的一系 列任务的框架,它规定了完成各项任务的工作步骤。 软件过程定义了运用技术方法的顺序、应该交付的文档资 料、为保证软件质量和协调软件变化必须采取的管理措施 ,以及标志完成了相应开发活动的里程碑。 软件过程是软件工程方法学的3个重要组成部分之一。
13:07:42
16
作业及解答(第3章)
13:07:42
17
作业及解答(第3章)
复印机的工作过程大致如下:未接到复印命令时处于 闲臵状态,一旦接到复印命令则进入复印状态,完成一个 复印命令规定的工作后又回到闲臵状态,等待下一个复印 命令;如果执行复印命令时发现没纸,则进入缺纸状态, 发出警告,等待装纸,装满纸后进入闲臵状态,准备接收 复印命令;如果复印时发生卡纸故障,则进入卡纸状态, 发出警告等待维修人员来排除故障,故障排除后回到闲臵 状态。 请用状态转换图描绘复印机的行为。

软件工程(软件需求)习题与答案

软件工程(软件需求)习题与答案

软件工程(软件需求)习题与答案软件工程(软件需求)习题与答案1. 引言在软件工程领域,软件需求是项目成功的关键之一。

对于开发者来说,了解和熟悉软件需求的基本概念和流程是至关重要的。

本文将针对软件工程中的软件需求进行习题和答案的探讨,帮助读者更好地理解和应用相关知识。

2. 习题集2.1 习题一:什么是软件需求?为什么软件需求很重要?答案:软件需求是指软件开发过程中,对于所要开发的软件系统的功能、性能以及其他特点的描述和规定。

软件需求的编写和理解对于项目的成败具有决定性的作用。

准确的软件需求能够指导开发团队进行开发工作,并确保最终的软件产品符合用户的期望。

2.2 习题二:软件需求的分类是什么?答案:软件需求可以分为功能需求和非功能需求两类。

功能需求描述了软件系统应具备的功能和行为,非功能需求则描述了软件系统的性能、可靠性、安全性等方面的需求。

2.3 习题三:请列举几个软件需求的常见问题。

答案:常见的软件需求问题包括:- 不完整的需求描述:缺少必要的细节和规范,导致开发团队无法准确理解用户需求。

- 冲突的需求:不同的用户提出了矛盾的要求,导致开发过程复杂化。

- 模糊的需求:需求描述含糊不清,无法量化和验证。

- 可测量性问题:需求无法被准确地测量和评估。

- 可行性问题:需求不符合项目的可行性要求,无法被合理地实施。

3. 答案解析3.1 习题一解析软件需求是对软件系统功能、性能和其他特点的描述和规定。

软件需求的重要性在于它能够指导开发团队进行开发工作,并确保最终产品符合用户期望。

缺乏准确的软件需求往往导致项目失败或产品无法满足用户需求。

3.2 习题二解析软件需求可以分为功能需求和非功能需求两类。

功能需求描述了软件系统应具备的功能和行为,如注册、登录等;非功能需求描述了软件系统的性能、可靠性、安全性等方面的需求,如响应时间、可扩展性等。

3.3 习题三解析常见的软件需求问题包括需求描述不完整、冲突的需求、模糊的需求、可测量性问题以及可行性问题。

软件工程导论课后习题解答

软件工程导论课后习题解答

软件⼯程导论课后习题解答第⼀章1-1什么是软件危机?答:是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题。

1-3什么是软件⼯程?答:是指导计算机软件开发和维护的⼀门⼯程学科。

1-4简述结构化范型和⾯向对象范型的要点,并分析它们的优缺点。

答:⽬前使⽤得最⼴泛的软件⼯程⽅法学有2种:传统⽅法学:也称为⽣命周期⽅法学或结构化范型。

优点:把软件⽣命周期划分成若⼲个阶段,每个阶段的任务相对独⽴,⽽且⽐较简单,便于不同⼈员分⼯协作,从⽽降低了整个软件开发过程的困难程度。

缺点:当软件规模庞⼤时,或者对软件的需求是模糊的或会随着时间⽽变化的时候,开发出的软件往往不成功;⽽且维护起来仍然很困难。

⾯向对象⽅法学:优点:降低了软件产品的复杂性;提⾼了软件的可理解性;简化了软件的开发和维护⼯作;促进了软件重⽤。

1-5、根据历史数据可以做出如下的假设:对计算机存储容量的需求⼤致按下⾯公式描述的趋势逐年增加:M = 4080 e0.28(Y-1960)存储器的价格按下⾯公式描述的趋势逐年下降:P1 = 0.3 X 0.72Y-1974(美分/ 位)如果计算机字长为16位,则存储器价格下降的趋势为:P2 = 0.048 X 0.72Y-1974(美元/ 字)在上列公式中丫代表年份,M是存储容量(字数),P1和P2代表价格。

基于上述假设可以⽐较计算机硬件和软件成本的变化趋势。

要求计算:(1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?(2) 假设在1985年⼀名程序员每天可开发出10条指令,程序员的平均⼯资是每⽉4000美元。

如果⼀条指令为⼀个字长,计算使存储器装满程序所需⽤的成本。

(3)假设在1995年存储器字长为32 位,⼀名程序员每天可开发出30 条指令,程序员的⽉平均⼯资为6000美元,重复(1)、(2)题。

(1)在1985 年对计算机存储容量的需求,估计是M = 4080 e0.28(1985-1960)= 4080 e7 = 4474263(字)如果字长为1 6位,则这个存储器的价格是P = 0.048 X 0.721995-1974 X 73577679 = 5789(美元)(2)如果⼀条指令的长度为⼀个字,则使存储器装满程序共需4474263条指令。

软件工程概论课后答案解析

软件工程概论课后答案解析

第1章软件与软件工程的概念1、1 举出您所知道的应用软件的例子。

办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。

1、2 认为“软件就就是程序,软件开发就就是编程序。

”这种观点就是否正确?为什么?认为“软件就就是程序,软件开发就就是编程序。

”这种观点就是错误的。

首先,软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合,程序只就是软件的组成部分之一;其次,在软件开发中,编程只就是软件开发过程的一个阶段。

1、3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。

1、4 什么就是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机就是指在计算机软件的开发与维护过程中所遇到的一系列严重问题。

典型表现:(1)对软件开发成本与进度的估计常常很不准确。

(2)用户对“已完成的”软件系统不满意的现象经常发生。

(3)软件产品的质量往往靠不住。

(4)软件常常就是不可维护的。

(5)软件通常没有适当的文档资料。

(6)软件成本在计算机系统总成本中所占的比例逐年上升。

(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验与有关软件开发数据的积累,使得开发工作计划很难制定。

(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。

(3) 软件开发过程不规范。

如,没有真正了解用户的需求就开始编程序。

(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。

需要很多人分工协作,不仅涉及技术问题,更重要的就是必须有科学严格的管理。

(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。

1、5 什么就是软件工程?软件工程就是指导计算机软件开发与维护的工程学科。

软件工程课后习题答案

软件工程课后习题答案

软件工程课后习题答案1. 什么是软件工程?软件工程是一种应用工程原理和方法的学科,目的是开发高质量的软件。

软件工程包括以下几个方面:•需求分析:确定用户的需求,并将其转化为可执行的软件功能。

•设计:设计软件的架构和模块,并确定各个模块的功能和关系。

•编码:实现软件的设计,将设计的模块通过编程语言编写成可执行的代码。

•测试:通过不同的测试方法和技术对软件进行验证,确保软件的质量和可靠性。

•维护:对软件进行改进和修复,以适应用户需求的变化和修复软件中的错误。

2. 软件工程的目标是什么?软件工程的目标是开发高质量的软件,以满足用户的需求。

具体目标包括:•可靠性:软件应该能够正常运行并处理各种输入情况,不会崩溃或导致系统故障。

•可维护性:软件应该易于理解和修改,以适应用户需求的变化和修复软件中的错误。

•可扩展性:软件应该能够在不改变其基本架构的情况下,方便地添加新的功能模块。

•可重用性:软件应该能够被多个项目和团队复用,以提高开发效率。

•可测试性:软件应该易于测试,以确保其功能和性能符合预期。

3. 软件开发生命周期有哪几个阶段?软件开发生命周期通常包括以下几个阶段:1.需求分析和定义阶段:在这个阶段,软件工程师与用户沟通,了解用户的需求和期望。

然后,设计师将这些需求转化为软件规格说明。

2.软件设计阶段:在这个阶段,设计师根据需求规格说明书设计软件的架构和模块,并确定模块之间的关系和功能。

3.编码阶段:在这个阶段,开发人员根据设计文档编写代码,实现软件的功能。

4.测试阶段:在这个阶段,测试人员使用不同的测试方法和技术对软件进行验证,以确保软件的质量和可靠性。

5.部署和维护阶段:在这个阶段,软件工程师将软件部署到实际的运行环境中,并根据用户的反馈进行改进和修复。

4. 什么是软件需求?软件需求是对系统或软件功能和性能的描述,它描述了用户的需求和期望。

软件需求通常包括以下几个方面:•功能需求:描述软件应该具有的功能,以及这些功能如何满足用户的需求。

软件需求课后答案

软件需求课后答案

第一部分绪论第1章需求工程导论思考题1.如何理解下述的“软件”概念定义:a)软件=程序+文档+数据b)软件是知识的载体c)软件是对现实的模拟解答:a) 软体是指计算机系统中的程序及其文档。

程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。

程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。

b) 软件是反映真实世界的。

c) 软件的模拟特性来源于其知识载体的特性:软件在运行中表现出来的特性、行为应该和应用的现实情况保持一致,这样,人们通过观察软件的表现就可以得出相应现实问题的答案,即软件“模拟”了现实。

第2章需求基础思考题1.你认为计算机系统能够改变现实世界的能力和潜力有多大?说明理由。

解答:软件开发的任务是构建软件系统,并将它们部署到现实世界当中,通过软件系统与其周围环境的交互,解决人们对现实世界遇到的问题。

当现实世界的状况与人们期望的状况产生差距时,就产生了问题,继而产生了问题域。

软件系统通过分析问题域,产生了解系统,软件系统通过接系统影响现实世界。

所以当现实世界有问题发生,而且软件系统又能模拟这些问题,软件系统就有能力解决这些问题,进而影响和改变现实世界。

所以,我认为计算机系统能够改变现实世界的能力和潜力非常大。

案例题1.从下面的事件当中,你可以替Jeannine总结出哪些教训?投资经理Jeannine对一个新的投资跟踪系统具有强烈的需求。

她需要做出快速决策来考虑可能进行的投资和撤销投资,耽误一个小时就可能给公司造成几千美元的损失。

最后她放弃了使用公司的信息系统,因为公司的信息系统没有给予她的请求足够高的服务优先级。

她找到软件开发商,购买了一套看似可以满足她要求的软件。

但高层管理人员不同意使用,而且还遇到了其他一些问题。

首先,财务审计员重新评估了公司的投资策略和投资政策。

Jeannine并不知道这一点,于是新的系统没有计入正在被考虑的新政策。

她自己的职员抵制这个系统产生的有关投资和撤销投资的建议。

软件工程课后题答案大全(详细)

软件工程课后题答案大全(详细)

软件工程课后题答案大全(详细)软件工程课后题答案大全(详细)现代社会中,软件工程越来越重要,因为它在各个行业中扮演着关键的角色。

而在学习软件工程课程时,完成课后题是提高理解和掌握程度的重要途径。

本文将为您提供一份全面且详细的软件工程课后题答案大全,希望能够帮助您更好地学习与应用软件工程知识。

1. 什么是软件工程?软件工程是指应用系统化的、规范化的、可量化的方法来开发和维护软件的学科。

它涵盖了各种软件开发阶段,包括需求分析、设计、编码、测试和维护,并借鉴了工程学的原则和方法。

2. 软件工程的原则有哪些?软件工程遵循一系列原则来保证软件开发和维护的质量和效率,如下:- 需求管理原则:明确需求,确保项目目标的准确性和一致性。

- 分阶段原则:将软件开发过程划分为不同的阶段,有序进行。

- 风险管理原则:评估和管理项目中的风险,降低项目失败的可能性。

- 适应性原则:根据不同的项目需求和情况,选择合适的软件开发方法和工具。

- 团队合作原则:加强团队协作,促进良好的沟通和信息共享。

3. 软件生命周期有哪些阶段?软件生命周期包括需求分析、设计、编码、测试和维护等多个阶段。

- 需求分析:明确软件系统的功能和性能要求,了解用户需求。

- 设计:定义软件系统的整体结构和组件之间的关系,确定使用的技术和工具等。

- 编码:根据设计方案,将代码实现为可以执行的程序。

- 测试:验证软件系统的功能和性能是否满足需求,并进行错误修复。

- 维护:对软件进行修复和改进,确保系统的长期可用性。

4. 软件需求分析的方法有哪些?软件需求分析是保证软件项目成功的关键步骤,以下是几种常用的分析方法:- 面谈法:直接与用户沟通,了解他们的需求和期望。

- 文档分析法:研究和分析相关文档,如需求规格说明书、用户手册等。

- 原型法:创建一个初步的系统原型,供用户参观和测试,获取反馈。

- 视频录制法:录制用户正在进行的工作流程,以便更好地了解他们的需求。

5. 软件项目管理中的风险管理包括哪些步骤?风险管理是确保软件项目成功的重要环节,步骤如下:- 风险识别:识别和描述可能影响项目目标实现的风险。

软件工程课后答案完整版

软件工程课后答案完整版

软件工程课后答案完整版软件工程是一门涉及软件开发与管理的学科,它关注着如何有效地组织、设计、开发和维护软件系统。

作为一门实践性强的学科,课后答案对于学习软件工程的学生来说非常重要。

本文将以软件工程课后答案为主题,为您提供一份完整版的答案,旨在帮助您更好地理解和掌握软件工程的知识。

一、需求分析与规格说明1. 问题描述对于任何一门软件工程课程,需求分析和规格说明都是至关重要的环节。

通过合理地分析需求,可以明确软件系统的功能需求、性能需求和用户需求,从而为后续的设计和开发工作奠定基础。

在这一部分中,我们将详细讨论问题描述、需求规格说明以及软件需求规格说明的编写步骤和技巧。

2. 答案示例问题描述:某个公司需要开发一个在线购物系统,能够满足用户浏览商品、下单购买、支付、评价等功能。

需求规格说明:该系统需要具备以下功能需求:- 用户注册登录:用户可以通过注册登录系统,建立个人账号,用于后续购物操作。

- 商品浏览:用户可以浏览系统中的商品,包括商品图片、详细介绍、价格等信息。

- 购物车管理:用户可以将感兴趣的商品加入购物车,并对购物车进行管理,如增加、删除、修改商品数量等操作。

- 订单管理:用户可以在购物车中选择商品提交订单,并进行支付操作。

- 支付功能:系统需要集成常用的支付渠道,如支付宝、微信支付等,以便用户支付订单。

- 评价功能:用户在收到商品后可以对商品进行评价,并可以查看其他用户对商品的评价。

三、软件系统设计与实现1. 系统架构设计系统架构设计是软件工程中的核心环节之一,它关注着如何将系统划分为各个模块,并确定模块之间的接口和依赖关系。

在这一部分中,我们将着重讨论系统架构设计的原则、方法以及常用的架构模式。

2. 答案示例系统架构设计的主要目标是实现系统的可扩展性、灵活性和可维护性。

在本次项目中,我们采用了经典的三层架构模式,即用户界面层、业务逻辑层和数据访问层。

- 用户界面层:负责与用户进行交互操作,接收用户输入的请求,并向用户展示系统的响应结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章1.需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段?需求分析关注系统“做什么”,系统设计关注“如何做”。

当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素?为什么?要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。

因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。

解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。

而不是他们的全部。

软件系统仅仅是现实世界的一种抽象。

所以问题除了共享现象之外。

还有很多在进行模型抽象时忽略的其他现实因素。

2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。

问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。

需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。

2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。

3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。

第三章1.需求工程过程的工作基础(即输入)存在哪些?他的工作成果(即输出)有哪些?答:需求过程的工作基础是获取用户面临的业务问题,用户期望系统表现出来的各种行为,即需求获取工作成果:产生一个能够在用户环境下解决用户业务问题的系统方案,并将其文档化为明确的规格说明。

2.描述需求工程的各个活动,说明他们各自的工作基础,工作目标和工作成果1.需求获取:工作基础:1.收集背景资料 2.定义项目前景和范围 3.选择信息的来源4.选择获取方法,执行获取5.记录获取结果工作目标:获取用户需求,了解用户在完成任务的时候遇到的问题与期望工作成果:业务需求,项目的前景和范围,用户需求以及问题域的特征2.需求分析:工作基础:1背景分析 2.确定系统边界3.需求建模4.需求细化5.确定优先权6.需求协商工作目标:1.通过建模整合各种信息,是人们更好地理解问题2.定义一个需求集合,能够为问题界定一个游戏的解决方案工作成果:产生一个需求的基线集,它指定了系统或当前版本的系统开发需完成的任务3.需求规格说明:工作基础1.定制文档模板 2.编写文档工作目标:为了系统涉众之间交流需求信息工作成果:需求规格文档说明4.需求验证工作基础1.执行验证 2问题修改工作目标:为了尽量不给设计实现测试后续开发活动带来不必要的影响。

需求规格说明文档定义必须正确准确地反映用户的意图工作成果:验证之后,问题得以修正需求管理:工作基础:1.建立和维护需求基线集2.建立需求跟踪信息 3进行变更控制工作目标:保证需求作用的持续稳定和有效发挥工作成果:需求管理会进变更控制和实现合理的变更请求拒绝不合理的变更请求,控制变更的成本和影响范围4.需求工程师需求具备的技能专业技能,分析技能,交流技能,观察技能,建模技能,写作技能,创新技能,协调技能第五章1.为什么要定义项目的前景和范围?答、业务需求、高层解决方案和系统特性都应该被记录下来,定义为项目的前景与范围文档,前景描述了产品的作用和最终的功能,它将所有的涉众都统一到一个方向上范围指出了当前项目是要解决产品长远规划的那一部分,它为项目规定了需求的界限案例题:1. 你被任命为替换学生财务资助项目的项目经理。

你想开发一个工作陈述来定义范围并降低范围蔓延的风险。

财务资助部门的主管坚持要你15个月、600 000美元的预算内替换他现有的系统就可以了。

他说这就是你需要知道的全部,不需要浪费时间开发一个工作陈述了。

省略工作陈述的风险是什么?你将如何说服主管?解答:省略工作陈述的风险是不能明确项目的前景和范围。

如果省略了工作陈述的话,我们就不能和用户进行很好的沟通与交流,这样,项目的问题也就不能明确,开发人员无法与涉众对问题达成共识;无法明确问题,也就无法发现正确的业务需求,无法定义良好的解决方案及系统特性,继而无法明确项目的前景和范围,这样就会造成项目的不稳定甚至失败!第六章1.什么是涉众?涉众分析?软件系统中常见的涉众?涉众是与要建设的业务系统相关的一切人和事.涉众分析就是为软件系统寻找并理解关键涉众的过程常见的涉众:管理着:用户、客户、开发人员、管理者、领域专家、政府力量和市场力量等领域专家:在问题域中具有丰富知识的专家*关注软件中的知识政府力量:法律法规、长远规划、政策意向*起约束和指导作用市场力量:组织中的市场部门人员,关注用户的想法*关注用户想法用户:最终使用和操作产品的人*关注软件功能客户:为软件系统开发付费的人*关注经济的成本、收益开发者:负责实现软件系统的人*关注技术上的成本和利益第七章2.列出面谈的5个步骤面谈准备的主要工作包括:1、阅读背景资料2、确定面谈的主题和目标3、选择被会见者4、准备会见被会见者5、确定问题和类型第8章1.原型的定义原型是一个系统,他内化了一个更迟系统的本质特征。

2.说明原型在需求获取中的作用和试用情景因为原型是在最终系统产生之前的一个局部真实表现,所以原型方法可以让人们在系统的开发过程中,就能对一些具体问题进行基于事物有效沟通,从而帮助人们今早解决软件开发过程中存在的各种不确定性。

场景:产品以前从未存在过,而且难以可视化,这些产品属于创新产品,他们的基本需求是潜在的,有很大的不确定性产品的用户对相关类别的产品没有经验,而且对将要采用的技术也没有经验。

此时用户无法明确工作的具体细节,产品的细节需求存在着不确定性用户进行自己的工作已经有一段时间了,但在完成工作的方式上依然存在障碍。

用户清晰说明他们的需求方面存在困难。

在澄清和理解之前,这些需求存在着不确定性需求的可行性值的怀疑,即具体需求的可满足性存在着不确定性三、案例题“我有一个绝妙的主意!”Bea Kwicke宣布,他是系统团队的一位新来的需求工程师,“让我们跳过所有的SDLC垃圾,直接为一切设计原型。

我们的项目会进展的更快,还可以节省时间和金钱,并且所有的用户会感到我们似乎很在意他们,而不是连续几个月不与他们交谈。

”a)列出你(作为与Bea同一个团队的成员)用来劝阻她不要试图放弃SDLC,而直接为所有项目设计原型的原因。

b)Bea对你所说的话很失望。

为了鼓励她,用一段话向她说明,你认为适用于原型化方法的情(1)主要原因:原型仅仅是开发当中使用的一种手段,它利用得当可以加速开发的进程,但不能代替软件开发中的所有工作。

(2)情形见下表,尤其是其中红色的部分第九章1.为什么需要观方法?观察方法的适用情景是什么?答:很多时候用户无法完成主动的信息告知,或者说用户和需求工程师之间的语言交流无法产生有效的结果,这时就有必要采用观察的方法。

采样观察:根据明确的目的选取特定的时间段或者特定的事件进行观察。

民族志:观察者深入到用户中,花费较长的时间(一般为几个月)来观察用户的活动。

话语分析:它通过观察和分析用户交谈中的交互方式或者特定的话语形式的内部结构来发现和获取相关信息。

协议分析:对用户任务的观察。

它要求观察对象一边执行任务,一边大声地解释他们在执行任务时产生的各种想法。

任务分析:专门针对人机交互行为的观察。

它引入了相关的模型方法来观察、记录和分析用户与软件系统的交互行为案例题1.Ceci Awill说:“我想我能记得他所做过的大部分事情。

”Ceci准备与OK Corral公司战略规划副总裁Biff Weblldon进行面谈。

OK Corral是一家拥有130间牛排连锁店的公司。

“我的意思是说,我有好的记性。

我认为听他说什么比看他做什么更重要。

”作为需求工程团队的一员,Ceci Awll向你诉说了他要写下在面谈中对Biff 的办公司和Biff的活动进行观察的愿望。

(1)用一段话来说服Ceci,在面谈时仅仅倾听是不够的,观察和记录所观察的内容同样是很重要的。

(2)Ceci似乎接受了你认为观察时很重要的观点,但是不知道该观察什么。

列出需要观察的项目和行为,在每一项行为的旁边用一句话指名Ceci通过观察应该得到的信息。

答:(1)面谈并不能确保用户能够将所有的信息都告知需求工程师,诸如一些语言无法确切描述的事务,而观察能够了解用户真正做什么,还能够获取到其他方法不能得到的用户及其工作环境的信息,还可以对从其他方法获取的信息进行确认,所以我们应该重视观察方法的应用。

(2)①观察客户所处的环境(得出何种需求才能更适合客户)。

②观察客户行为、习惯特征(得出更适合客户使用的软件需求)。

第十一章2.什么是系统模型,他与需求分析和系统设计有什么关系?系统模型是指以某种确定的形式(如文字、符号、图表、实物、数学公式等),对系统某一方面本质属性的描述。

需求分析是挖掘和整理知识的过程,它在已掌握知识的基础上进行。

初步捕获到的需求信息往往处于不同层次,也有一些主观甚至不正确的信息。

而经过必要的需求分析工作之后,需求会更加系统、更加有条理、更加全面。

那么系统分析呢?如果说,需求分析致力于搞清楚软件系统要“做什么”的话,那么系统分析已经涉及“怎么做”的问题了。

需求捕获、需求分析以及系统分析之间的关系我们必须理解透彻,否则就会影响工作的有效性进行。

同样,在实践中,需求分析和系统分析也常常被混淆。

需求分析致力与搞清软件系统要“做什么”,而系统分析更关注“怎么做”的问题,比如大多数分析方法(如OOA)应该术语系统分析的范畴。

第十二章1.什么是系统思想?过程模型如何反应系统思想?系统是指由相互制约、相互作用的一些部分组成的具有某种功能的有机整体。

因此系统思想可以理解为,用整体、全局的、联系的观点看问题、办事情,而不能用片面的、孤立的观点。

软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

第十五章1.什么事需求规格说明?为什么要建立需求规格说明?答:需求规格说明活动就是将需求及其软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动。

相关文档
最新文档