当前位置:文档之家› 软件的需求的工程期末复习资料

软件的需求的工程期末复习资料


行自动切换或者可否由用户采取某些措施来激发这样转变?还有,在文档中显示转变的范围
是什么?是所选的文本、整个文档或其它内容?这个需求也存在一个不确定性问题。“非打
精彩文档
实用标准文案
印”字符是否指隐藏文本、属性标记或者其它的控制字符?由于存在这些问题,该需求是不 可验证的。用如下的语句描述这个需求可能会更好一些:
成的百分比。
c.当完成后台任务时,后台任务管理器(BTM)必须显示一个“已完成”的消息。
d.如果后台任务中止执行,那么后台任务管理器(BTM)必须显示一个出错信息。
(2)“产品必须在显示和隐藏非打印字符之间进行瞬间切换”。
在瞬间这一时间概念上,计算机不能完成任何工作,因此,这个需求是不可行的。该需
求也是不完整的,因为它没有说清状态切换的原因。在特定的条件下,软件产品是否可以进
需求定义阶段:根据用户需求编写出需求规格说明。
需求的形式化描述阶段:用严格的数学知识和符号来构造系统的需求模型。
需求验证阶段:检验软件需求规格说明。
需求管理阶段:开发人员在与提出更改的请求者协商的基础上,评估需求变更带来的潜在影
响及可能的成本及费用,然后实施更改,一级有效的管理需求规格说明文档和跟踪更改需求
☆ 请指出下列陈述属于哪种类型的软件需求或不属于软件需求。
p26
(1)只有电梯停在某一楼层时,电梯才能改变方向。 非功能
(2)系统必须用三个主要模块来实现,即检测、记录和统计分析模块,每个模块各自实现
精彩文档
实用标准文案
一个主要功能。
功能性需求
(3)当用户输入他们的口令后,系统便自动从口令文件中检索他们的加密口令,并进行核
护性和可扩展性等。
约束与限制:指软件开发人员在设计和实现软件系统时的限制,如:开发语言,使用的数据
库等。
精彩文档
实用标准文案
☆ 试述快速原型开发模型和面向对象开发模型的基本思想,然后说明快速原型开发模型中
抛弃型模型和进化型模型的作用。
p9
快速原型模型基本思想:快速建立一个实现了若干功能的(不要求完全)可运行模型来启发、
求信息录入
旅客基本信息及 订票要求信息
1.13 航班安

订票信息
旅客基本信息
航班信息
1.14 旅客管

1.12 航班管

D2通知和账单记录
D3旅客基本信息表
D4航班信息票
订票细化流程图
精彩文档
2.3 打印机

实用标准文案
2.2 收费
旅客去票通知和 账单信息
2.1 正确 核对机
票信息
订票信息
D1订票记录
对。
功能性需求
(4)通过对用户进行不到一个小时的培训后,用户能输入和打印某些数据,且输入/出的出
错率低于 1/20。
非功能
(5)所有报销单据必须经过财务部门某负责人审核后才能交由系统处理。
非功能
(6)系统必须用面向对象的方法和糊,如果含糊的话,请在说明理由后给予修改:
另附数据字典:
旅客信息:
姓名:xxx 性别:男 描述:旅客订票时所填的资料(省份证号、所需机票的基本信息、乘机时间) 定义:订票申请表单(旅客姓名、旅客性别、起飞日期、飞行目的地、座位类型 ) 位置:位置:在客户端由旅客填写
航班信息:
航班名称: 航班类型: 描述:所有从本地起飞的航班信息(航班号、起飞时间、到达的目的地、空出的 座位数、票价) 定义:航班信息(航班号、起飞日期、飞行目的地、空出的座位数、票价) 位置:从服务器端查询后,发送到客户端
围和项目应达到的目标。
业务需求:主要描述软件系统必须完成的任务、实际业务或工作流程等。软件开发人员通常
可从业务需求进一步细化出具体的功能需求和非功能需求。
功能需求:指开发人员必须实现的软件功能或软件系统应具有的外部行为。
性能需求:指实现的软件系统功能应达到的技术指标,如:计算效率和精度,可靠性,可维
揭示和不断完善用户需求,直到满足用户的全部需求为止。其基本过程如下:
收集需求 快速设计 建立原型 评价并细化需求 设计与实现 测试 维护
面向对象开发模型基本思想:
应用对象、类、继承、封装、消息、对象或类之间的关系等面向对象的概念对问题进行分析
和求解的软件开发技术,或者说,是以对象(类)为数据中心、对象之间的动态行为模式作
为运行机制的一种问题求解方法。其基本过程如下:
面向对象分析
面向对象设计
面向对象实现和测试
系统维护
抛弃型模型:指在原型达到预期目的后将其抛弃,而且在构建该原型时,可以忽略具体的软 件构造技术,亦即应以最小的代价构造抛弃型原型。 进化型模型:在需求被清楚定义的情况下,以渐增式方式构建原型,并使原型最终能成为软 件产品的一部分。
“系统必须根据在线的主货物编号列表确认所输入的货物编号。如果在主列表中查不到 该货物的编号,系统必须显示一个出错消息并且拒绝订货。”第二种相关需求可能记录了一 种异常情况:当进行货物编号确认时,主货物编号列表不可访问。 (7)“产品不应该提供将带来灾难性后果的查询和替换选择。”
“灾难性后果”的含义是解释的中心词。在编辑文档时,毫无目的地作出全局性变化而 用户又不能检测出错误或没有任何办法来纠正它,此时就可能带来灾难性后果。你也要合理 地使用反面需求,因为这些需求描述了系统所不能做的事情。潜在的关注焦点在于当发生意 外损坏时,能保护文件的内容。也许,真正的需求是针对多级撤销 ( u n d o )能力、全局 变化或其它可导致数据丢失行为确定的。
实用标准文案
☆ 什么是软件需求工程?请说明软件需求工程中各阶段的主要任务。
p5
1 定义
一般定义:指应用工程化的方法、技术和规格来开发和管理软件的需求。
需求工程的目标: 获取高质量的软件需求。
与软件工程中传统的需求分析概念相比,需求工程突出了工程化的原则,强调以系统化、条
理化、可重复化的方法和技术进行与软件需求相关的活动,从而有利于提高所有与软件需求
p42
系统数据流图
旅客
订票信息 机票
机票预订 系统
取票通知和账单
取通知和账单 付费信息
旅客
顶层数据流程图
顶层数据流图只是粗略的给出整个系统的数据流情况。为了更好的把“航空机票预定系 统”中各个模块的具体数据流处理细节表示出来,可以在顶层图的基础上自顶向下继续分解, 得到 1 层和 2 层数据流图。
旅客信息
p84
(1)系统必须在固定的时间间隔内提供状态信息,并且每次时间间隔不得小于 60 秒。
含糊。需求不完整,导致需求不可验证。改进如下:
后台任务管理器(BTM)应该在用户界面的指定区域显示状态消息。
a.在后台任务进程启动之后,消息必须每隔 60(10)秒更新一次,并且保持连续的可见性。
b.如果正在正常处理后台任务进程,那么后台任务管理器(BTM)必须显示后台任务进程已完
我在想:“如果可能的话”这句话意味着什么?该需求是否在技术上可行?是否可以在 线访问主货物编号列表?如果你不能确信是否可以递交一个请求,那么就使用“待确定” ( T B D )来表示未解决的问题。这个需求是不完整的,因为它并没有指明如果确认通过或失败, 将会发生什么情况。应该尽量避免使用不精确的词汇,例如“应当”。 客户可能需要这个功 能或者不需要这个功能。一些需求规格说明利用关键字之间微妙的差别如“应当”,“必须” 和“可能”来指明重要性。我更喜欢使用“必须”或“将要”来明确说明需求的目的并且明 确指定其优先级。改进后的该需求描述如下:
“用户在编辑文档时,通过激活特定的触发机制,可以在显示和隐藏所有 H T M L 标 记之间进行切换”。现在,指代关系就清楚了,非打印字符指的是 H T M L 标记。修改过的 需求指明了是用户触发了显示状态的转换,但是它并没有对设计造成限制,因为它并没有精 确定义所使用的机制。当设计人员选择好一种触发机制(例如热键、菜单命令或语音输入) 时,你就可以编写详细的测试用例来验证这种转换操作是否正确。 (3)编译系统应该能生出出错报告,这样就可使初学者能迅速的排错。 应说明编译系统在什么情况下出什么出错报告,改为: 编译系统应该能标识出错误,并在错误所在的位置显示出出错报告,这样就可使初学者迅速 的排错。 (4)软件系统应具有良好的反应时间和数据精度,且能由菜单方式驱动。 “良好的”应使用量化的语言叙述,改为: 软件系统的反应时间应小于 1 秒,数据精度为 10^-6。 (5)“分析程序应该能生成 H T M L 标记出错的报告,这样就可以使 H T M L 的初学者使 用它来迅速排错。” “迅速”这个词具有模糊性。缺乏对出错报告内容的定义表明该需求是不完整的。我不知道 你是如何验证这个需求的。找一些 H T M L 的初学者,看他们利用这个报告是否可以迅速 排错?还有一点不清楚的是: H T M L 初学者使用的是分析程序还是出错报告。并且何时 生成这样的报告?让我们使用另一种方式表述这个需求: a. 在 H T M L 分析程序完全分析完一个文件后,该分析程序必须生成一个出错报告,这个 报告中包含了在分析文件过程中所发现错误的 H T M L 所在的行号以及文本内容,还包含
相关的活动及其过程的可管理性,降低需求开发和管理的难度和成本。
其它定义:
Alan.Davis: 直到(但不包括)把软件分解为实际架构组建之前的所有活动,即软件设计
之前的一切活动。该定义虽然没有详细说明需求工程是什么,但其给出了需求工程的范围。
Lan K. Bray:对问题域及需求做调查研究和描述,设计满足那些需求的解系统的特性,并
精彩文档
实用标准文案
☆ 为方便顾客,某航空公司拟开发一个机票预订系统。机票售票点把预订机票的顾客信息
(姓名,性别,身份证号,出发时间和目的地,航班号等)输入该系统,系统为顾客查询航
相关主题