软件需求分析-复习题2
软件工程复习题
软件⼯程复习题需求分析习题1.需求分析的最终结果是( D )A.项⽬开发计划B.需求规格说明书C.设计说明书D.可⾏性分析报告2.数据流图(DFD)是(D)⽅法中⽤于表⽰系统的逻辑模型的⼀种图形⼯具。
A.SA结构化分析⽅法B.S D结构化设计⽅法C.S P 结构化程序设计⽅法D.SC3.需求规格说明书的作⽤不包括(C)A.软件验收的依据B.⽤户与开发⼈员对软件要做什么的共同理解C.软件可⾏性研究的依据D.软件设计的依据4.数据词典是⽤来定义(D)中的各个成分的具体含义的。
A.流程图B.功能结构图C.结构图D.数据流图5.结构化分析⽅法(SA)是⼀种⾯向(B)的分析⽅法。
A.数据结构B.数据流C.结构化数据系统D.数据流图6.在数据词典中,⼀下那⼀项表⽰允许重复0⾄任意次(C)。
A.{}B.0{}C.0{}nD.{}n7.⼀下数据流图符号中哪⼀个表⽰加⼯(B)A.□8.原型化⽅法是⼀种动态定义需求的⽅法,(D)不是原型化⽅法具有的特征。
A.简化项⽬管理B.尽快建⽴初步需求C.加强⽤户参与和决策D.提供严格定义的⽂档9.结构化分析的核⼼是(D)A.⾃顶⽽下地分解B.⽤DFD建模C.⽤DD描述数据需求D.⾃底⽽上地抽象10.需求分析的任务是(A)A.正确说明让软件“做什么”B.⽤DFD建模C.⽤DD建⽴数学模型D.给出需求规格说明书11.对于分层的DFD,⽗图与⼦图的平衡是指(B)A.⽗图于⼦图的输⼊输出数据流必须相同B.⼦图必须继承⽗图的输⼊与输出流C.⽗图与⼦图相应的输⼊输出数据流名字保持⼀致D.⼦图可以有⾃⼰的输⼊输出数据流12.DFD的每个加⼯都必须有(A)A.⼀个输⼊和输出流B.⼀个输⼊数据流C.⼀个输出数据流D.⼀个输⼊或输出流13.需求分析是分析员经了解⽤户的要求,认真细致的调研、分析,最终建⽴⽬标系统的逻辑模型并写出(B)的过程。
A.模块说明书B.软件规格说明书C.项⽬开发说明书D.合同⽂档14.结构化分析⽅法是以数据流图、(D)和加⼯说明的描述⼯具,即⽤直观的图和简洁的语⾔来描述软件系统模型。
软件需求分析
软件需求分析一、复习要求1. 了解软件需求的目标和任务。
2. 了解软件软件需求的获取方法。
3. 了解可行性研究的方法和可行性研究报告的主要内容。
4. 掌握结构化分析方法。
5. 了解支持需求分析的原型化方法。
6. 了解需求规格说明和需求评审的主要内容。
二、例题分析【例1】软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。
供选择的答案:A. 总结B. 阶段性报告C. 需求分析评审D. 以上答案都不正确答案: C.分析:作为需求分析阶段工作的复查手段,在需求分析的最后一步,应该对功能的正确性、完整性和清晰性,以及其它需求给予评价。
一般,评审的结果都包括了一些修改意见,待修改完成后再经评审通过,才可进入设计阶段。
【例2】各种需求方法都有它们共同适用的( )。
供选择的答案:A.说明方法B.描述方式 C. 准则D.基本原则答案: D.分析:虽然各种分析方法都有独特的描述方法,但所有的分析方法还是有它们共同适用的基本原则。
这些基本原则包括:需要能够表达和理解问题的信息域和功能域;要能以层次化的方式对问题进行分解和不断细化;要分别给出系统的逻辑视图和物理视图。
【例3】在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。
供选择的答案:A. 数据流图B. 数据词典C. 结构化英语D. 判定表与判定树答案: A.分析:数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,所以,它不是描述数据的静态结构,而是描述数据流的传递和变换。
数据词典主要用于定义数据和控制对象的细节,结构化英语、判定表和判定树主要用于描述加工规格说明,都不是表达数据在系统内运动情况的工具。
【例4】在结构化分析方法中用状态―迁移图表达系统或对象的行为。
在状态―迁移图中,由一个状态和一个事件所决定的下一状态可能会有( )个。
供选择的答案:A. 1B. 2C. 多个D. 不确定答案: C.分析:在状态―迁移图中,由一个状态和一个事件所确定的下一状态可能会有多个。
软件需求期末考试题及答案
软件需求期末考试题及答案# 软件需求期末考试题及答案一、选择题(每题2分,共20分)1. 软件需求分析的主要目的是:A. 确定软件的功能B. 确定软件的性能C. 确定软件的界面D. 确定软件的成本答案: A2. 以下哪项不是需求分析阶段的输出?A. 需求规格说明书B. 系统设计文档C. 用户手册D. 数据字典答案: B3. 需求变更控制的目的是什么?A. 降低成本B. 减少开发时间C. 确保需求的一致性和完整性D. 提高软件质量答案: C4. 以下哪个不是功能性需求的例子?A. 系统必须能够处理在线支付B. 系统必须支持多语言界面C. 系统必须在1秒内响应用户请求D. 系统必须能够存储用户数据答案: C5. 非功能性需求通常包括以下哪些方面?A. 可用性B. 性能C. 安全性D. 所有以上选项答案: D...(其他选择题省略)二、简答题(每题10分,共30分)1. 简述什么是软件需求,并区分功能性需求与非功能性需求。
答案:软件需求是指用户对软件系统的功能、性能、行为和约束的详细描述。
功能性需求描述了软件系统必须执行的任务,例如处理数据、执行计算或与用户交互。
非功能性需求则描述了软件的属性,如性能、安全性、可用性、可靠性等,这些属性通常不涉及软件的具体功能,但对软件的整体表现至关重要。
2. 解释什么是需求变更,以及如何处理需求变更。
答案:需求变更是指在软件开发过程中,由于各种原因(如市场变化、用户需求变化、技术进步等)导致的对原始需求文档的修改。
处理需求变更通常包括以下几个步骤:识别变更、评估影响、与利益相关者沟通、更新需求文档、重新评估项目计划、重新测试以及重新部署。
3. 描述需求获取的方法,并给出一个具体的例子。
答案:需求获取是指从用户或其他利益相关者那里收集需求的过程。
常见的方法包括访谈、问卷调查、观察、原型开发、焦点小组讨论等。
例如,通过访谈,开发团队可以直接与用户交谈,了解他们的工作流程、痛点和期望的功能,从而获取需求。
软件工程-需求分析-复习答案
)1. 以下哪一项不是软件危机的表现A.开辟的软件可维护性差 B.软件极易被盗版C.经费预算时常被突破 D.开辟的软件不能满足用户需求2.下面不属于软件工程的三个要素是) 。
A 过程B 环境C 方法D 工具)。
3. 需求分析阶段的任务是确定A 软件开辟方法B 软件开辟工具C 软件开辟费用D 软件开辟功能4. 下列不属于需求分析工具的是)。
A。
数据流图 B.用例图 C。
状态图D。
程序流程图5.关于软件测试的目的,下面观点错误的是) ArrayA.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C。
证明程序是正确、没有错误的D。
一个成功的测试用例是发现了至今尚未发现的错误的测试6。
软件详细设计阶段的任务是)。
A.算法与数据结构设计B.功能设计C.调用关系设计 D。
输入/输出设计)7. 下列属于静态测试方法的是A.人工检测 B.路径覆盖C.黑盒测试 D.白盒测试)8.汽车是一种交通工具,汽车类和交通工具类之间的关系是ArrayA.组合会萃关系 B。
共享会萃关系C.普通-具体关系 D。
整体-部份关系) .9.结构化程序设计的风格,主要强调的是ArrayA.程序的执行效率B.模块的内聚C.程序的可理解性 D.模块的耦合)。
10.在整个软件维护阶段所花费的全部工作中,所占比例最大的是ArrayA.校正性维护 B.适应性维护C.预防性维护 D.完善性维护11 。
“ 软件工程的概念是为解决软件危机而提出的”这句话的意思是)A。
强调软件工程成功解决了软件危机的问题B。
说明软件危机的存在总是使软件开辟不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D。
说明软件工程的概念 ,即:工程的原则、思想、方法可解决当时软件开辟和维护存在的问题12。
在软件工程的需求分析阶段,不属于问题识别内容的是)A。
输入/输出需求 B。
性能需求C.环境需求D.功能需求13. 软件需求规格说明书的作用不包括)A.软件验收的依据B.软件设计的依据C.软件可行性研究的依据D.用户与开辟人员对软件要做什么的共同理解14.一个成功的测试可以)A.表明程序没有错误B.发现了尚未发现的错误C。
软件需求分析习题大全
软件需求分析习题大全 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】习题集一、单项选择题1、需求分析最终结果是产生()。
A.项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书答案:C2、需求分析中,开发人员要从用户那里解决的最重要的问题是()。
A.让软件做什么 B.要给软件提供哪些信息C.要求软件工作效率怎样 D.让软件具有何种结构答案:A3、需求规格说明书的内容不应包括对()的描述。
A.主要功能 B.算法的详细过程 C.用户界面和运行环境 D.软件性能答案:B4、需求规格说明书的作用不应包括()。
A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据 D.软件可行性研究的依据答案:D5、下面关于面向对象方法中消息的叙述,不正确的是()。
A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同答案:B6、面向对象技术中,对象是类的实例。
对象有三种成份:()、属性和方法(或操作)。
A. 标识B. 规则C. 封装D. 消息答案:A7、软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、制定规格说明以及()。
A.总结 B.实践性报告C.需求分析评审 D.以上答案都不正确答案:C8、软件需求规格说明书的内容不应包括对()的描述。
A.主要功能 B.算法的详细过程C.用户界面及运行环境 D.软件的性能答案:B9、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B )A 有效性、效率、灵活性、互操作性B 可维护性、可移植性、可重用性、可测试性C 完整性、可靠性、健壮性、可用性D 容错性、易用性、简洁性、正确性10、需求包括11个方面的内容,其中网络和操作系统的要求属于(B ),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D ),规定系统平均出错时间属于(A )。
软件工程六十题需求分析
软件工程六十题1﹑软件产品的特性是什么?产品特性:⑴是一种逻辑产品,与物质产品有很大的区别。
⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。
⑶软件产品不会用坏,不存在磨损,消耗。
⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵。
2﹑软件生产有几个阶段?各有何特征?⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。
⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。
⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。
3﹑什么是软件危机?产生原因是什么?软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:⑴软件规模越来越大,结构越来越复杂。
⑵软件开发管理困难而复杂。
⑶软件包开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
4﹑什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程内容:研究内容包括开发技术和开发管理两个方面。
开发技术主要研究:软件开发方法,开发过程,开发工具和环境。
开发管理主要研究:软件管理学,软件经济学,软件心理学。
5﹑软件工程面临的问题是什么?软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。
6﹑什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
软件需求分析-复习题264743
简答题1.需求分析的目的是什么?难点在哪里?需求分析为什么特别重要?需求分析的目的:需求分析主要用于获取用户的具体需求,通过对实际需求的获取、分析、文档化和验证等需求分析过程,为进一步的设计和实现提供依据:(1) 需求分类。
将软件功能、性能、可靠性等相关需求进行分类、逐一细化。
(2) 面向用户获取并分析需求。
软件研发其他阶段都是面向技术的,只有需求分析阶段是面向用户的,深入调研获取并分析软件的功能、性能、可靠性等,也可从系统和用户需求中推导出软件具体需求,并检查需求定义准确性,是否存在二义性。
(3) 检查和解决不同需求间的矛盾。
尽量达到均衡和优化。
(4) 确定软件的边界,以及软件与环境的相互作用方式等。
如应用及运行边界和环境。
(5) 对需求文档化并进行最后验证与确认。
难点:主要体现在以下5个方面:(1)问题确定难。
主要原因一是应用领域的复杂性及业务变化,难以具体确定;二是用户需求所涉及的多因素引起的,如运行环境和系统功能、性能、可靠性和接口等。
(2)需求动态性。
软件的需求在整个软件生存周期,常会随着时间和业务而有所变化。
有的用户需求经常变化,一些企业可能正处在体制改革与企业重组的变动期和成长期,其企业需求不成熟、不稳定和不规范,致使需求具有动态性。
(3)交流共识难。
需求分析涉及的人事物及相关因素多,与用户、业务专家、需求工程师和项目管理员等进行交流时,不同的背景知识、角色和角度等,使交流共识较难。
(4)完备一致难。
由于不同人员对系统的要求认识不尽相同,所以对问题的表述不够准确,各方面的需求还可能存在着矛盾。
难以消除矛盾,形成完备和一致的定义。
(5)深入完善难。
需求理解对不全面准确的分析,客户环境和业务流程的改变,市场趋势的变化等,也会随着分析、设计和实现而不断深入完善,可能在最后重新修订软件需求。
分析人员应认识到需求变化的必然性,并采取措施减少需求变更对软件的影响。
对必要的变更需求要经过认真评审、跟踪和比较分析后才能实施。
软件工程-需求分析习题
数据流图例题:1、某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。
客户可在其收到的目录上圈定自己要买的书。
出版公司按照客户的反馈信息邮寄图书。
要求为出版公司设计软件,以实现以下功能:(1)自动生成图书分类目录;(2)自动处理客户反馈信息。
试用面向数据流的方法给出系统的数据流图2、根据下列描述,画出学生申请IC借书卡管理系统的数据流图。
学生入学后到图书馆申请IC借书卡,图书馆管理人员根据IC借书卡库存情况分析是否需要购买新的IC借书卡,如需购买,则向IC借书卡提供商购买。
各种资金往来通过学校的会计科办理。
判定表例题请用结构化语言、判定表和判定树表示下面描述的耗电记费系统中电费的计算方法:1、耗电记费系统可以采用固定价格收费和浮动价格收费两种方式。
若采用固定价格方式收费,对每月耗电100KW•h以下的用户只征收最低标准费,超过100KW•h的用户按价格表A收费;若采用浮动价格方式收费,则每月耗电100KW•h以下的用户按价格表A收费,超过100KW•h的用户按价格表B收费。
2、某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。
请用结构化语言、判定表和判定树描述上述问题。
数据流图答案判定表答案:THEN IF 文化程度=初中THEN 脱产学习ELSE 工作为电工ENDIFELSE IF 年龄≤40THEN IF (文化程度=大学)THEN 工作为技术员ELSE IF 性别=男性THEN 工作为钳工ELSE 工作为钳工ENDIFENDIFELSE IF (文化程度=大学)THEN 工作为技术员ELSE 工作为材料员ENDIFENDIFENDIF。
软件需求分析复习资料
计算机系统本身是无用的
������ ������ ������ ������ ������ ������
软件开创了新的可能性
目录
首页
上页
下页
末页
软件需求包括三个不同的层次—业务需求、用户需求和 功能需求(非功能需求)
业务需求( business requirement)反映了 组织机构或客户对系统、产品高层次的目标 要求
原型法
适合于开发方清楚 对于开发方要求较 在以往类似项目应 项目需求但用户方 高 用系统的基础上进 不清楚项目需求的 行少量修改得出一 情况 可运行系统
节省开销 无法满足个性化软 重用建好的领域模 件要求 型,获得新系统需 13 复旦大学计算机科学与工程系 软件工程课程 求
目录 首页 上页 下页 末页
复旦大学计算机科学与工程系 软件工程课程 31
目录
首页
上页
下页
末页
类图
当你考虑如何将问题域对象映射到系统对象, 并进一步细化每个类的属性和操作时,面向对 象技术可以方便需求开发到设计阶段的转换。 类图(class diagram)是用图形方式叙述面向对 象分析所确定的类以及它们之间的关系。 用统一建模语言(UML)的符号为化学制品跟 踪系统的一部分(你所假设的)绘制类图。
末页
业务需求
•业务需求是组织或客户对于系统的高层次目标要求,定义 了项目的远景和范围,即确定软件产品的发展方向、功能 范围、目标客户和价值来源。 •业务需求的内容
–业务:产品属于哪类业务范畴?应该完成什么功能?需要为什么
服务? –客户:产品为谁服务?目标客户是谁?
软件需求分析复习题
软件需求分析复习题一、判断题1、使用实例方法可以使用户更清楚地认识到新系统允许他做什么,那么我们就应该试图把每一个需求及一个使用实例相联系,尽可能多的使用实例。
〔F〕2、在状态图中定义的状态主要有:初态(即初始状态),终态(即最终状态)与中间状态,在一张状态图中只能有一个初态,而终态那么可以有0至多个。
〔T 〕3、构造化分析方法适合于数据处理类型软件的需求分析。
〔T〕4、数据流图中每个加工至少有一个输入数据流,但可以没有输出数据流。
〔F〕5、DFD及数据流程图的区别是程序流程图用于表示程序的过程设计,DFD用作描述软件的逻辑功能,不能表示程序的控制构造。
〔T〕6、属性是指实体某一方面的特征,一个实体通常有多个属性。
联系也可以有属性。
〔T〕7、软件需求描述的是“如何做〞,而不是“做什么〞。
〔F〕8、软件成功的标准是用户在用,并且可以很容易做完要做的事。
〔T〕9、业务规那么包括企业方针、政府条例、工业标准、会计准那么与计算方法等。
业务规划本身就是软件需求。
〔F〕10、软件需求的层次包括业务需求、用户需求、功能需求。
〔T〕二、选择题1.需求分析最终结果是产生〔C 〕A.工程开发方案B.可行性分析报告C.需求规格说明书D.设计说明书2.需求分析中,开发人员要从用户那里解决的最重要的问题是〔A 〕A.让软件做什么B.要给软件提供哪些信息C.需求软件工作效率怎样D.让软件具有何种构造3.需求规格说明书的内容不应包括对〔B 〕的描述。
A.主要功能B.算法的详细过程C.用户界面的运行环境D.软件性能4.需求规格说明书的作用不应包括〔D 〕A.软件设计的依据B.用户及开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据5.下面关于面向对象方法中消息的表达,不正确的选项是〔B 〕A.键盘,鼠标,通信端口、网络等设备——有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C.应用程序之间可以相互发送消息D.发送及接收消息的通信机制及传统的子程序调用机制不同6.面向对象技术中,对象是类的实例。
软件需求复习资料
第1章1.需求开发可进一步细分为:获取、分析、规格说明和确认。
2.需求问题导致的主要后果是返工—重复做您认为早已做好的事情。
3.造成软件成本估算失败的最主要原因包括频繁变更需求、遗漏需求、未与用户充分沟通、需求的说明不精确,以及对需求的分析不透彻4.实现有效的需求工程过程。
减少开发后期以及整个维护过程中不必要的返工并可带来极大的回报。
第2章1.客户泛指直接或间接得益于产品的个人或组织。
2.很多组织把在需求文档上签字作为客户认可需求的标志,签字不仅仅是仪式,更重要的是建立需求协议的基线。
第3章1.需求分析包括对需求进行推敲和润色以保证所有的涉众人都能够理解需求,以及仔细检查找其中的错误、疏漏和其他缺陷。
2.分析包括将高层的需求分解成具体细节、创建开发原型,以及评估可行性和协商需求优先级。
3.需求验证可确保需求声明是正确的、具备了所需的质量属性,而且能够满足客户的需要。
第4章1.需求分析员是对项目涉众的需求进行收集、分析、记录和验证等职责的主要承担者。
第5章1.产品前景将所有涉众统一到一个方向上。
前景描述了产品用来干什么,它最终会是什么样子。
2.项目范围确定当前的项目要解决产品长远规划中哪一部分。
3.广度(breadth)指应用能完成哪些业务工作(即用例)。
而深度(depth)则说明将各项用例实现到何种程度。
4.前景与范围文档用于将业务需求收集整理到一个文档中,为后续的开发工作打好基础。
5.涉众是积极参与项目、受项目结果影响,或者能够影响项目结果的个人、团体或组织。
第6章1.开发人员开发的产品与客户期望获得的产品之间常常存在较大差距,即所谓的期望鸿沟。
第七章1.需求工程的核心任务是需求获取,即确定软件系统涉众的需要及限制条件的过程。
2.使用增量开发方法,把需求分解成低风险的更小的部分进行研究3.使用活动挂图(flipchart)来捕获以后再考虑的一些条目4.将客户的意见归类:业务需求用例或场景业务规则功能性需求质量属性外部接口需求数据定义解决思路5.用例是对用户目标或用户需要执行的业务工作的一般性描述;使用场景则是某个用例的一条特定路径。
软件需求分析-复习题2
简答题1.需求分析的目的是什么?难点在哪里?需求分析为什么特别重要?ﻩ需求分析的目的:需求分析主要用于获取用户的具体需求,通过对实际需求的获取、分析、文档化和验证等需求分析过程,为进一步的设计和实现提供依据:(1)需求分类。
将软件功能、性能、可靠性等相关需求进行分类、逐一细化.(2) 面向用户获取并分析需求。
软件研发其他阶段都是面向技术的,只有需求分析阶段是面向用户的,深入调研获取并分析软件的功能、性能、可靠性等,也可从系统和用户需求中推导出软件具体需求,并检查需求定义准确性,是否存在二义性。
(3)检查和解决不同需求间的矛盾。
尽量达到均衡和优化。
(4)确定软件的边界,以及软件与环境的相互作用方式等.如应用及运行边界和环境。
(5)对需求文档化并进行最后验证与确认。
ﻩ难点:主要体现在以下5个方面:(1)问题确定难。
主要原因一是应用领域的复杂性及业务变化,难以具体确定;二是用户需求所涉及的多因素引起的,如运行环境和系统功能、性能、可靠性和接口等。
(2)需求动态性。
软件的需求在整个软件生存周期,常会随着时间和业务而有所变化。
有的用户需求经常变化,一些企业可能正处在体制改革与企业重组的变动期和成长期,其企业需求不成熟、不稳定和不规范,致使需求具有动态性。
(3)交流共识难。
需求分析涉及的人事物及相关因素多,与用户、业务专家、需求工程师和项目管理员等进行交流时,不同的背景知识、角色和角度等,使交流共识较难。
(4)完备一致难。
由于不同人员对系统的要求认识不尽相同,所以对问题的表述不够准确,各方面的需求还可能存在着矛盾.难以消除矛盾,形成完备和一致的定义。
(5)深入完善难.需求理解对不全面准确的分析,客户环境和业务流程的改变,市场趋势的变化等,也会随着分析、设计和实现而不断深入完善,可能在最后重新修订软件需求。
分析人员应认识到需求变化的必然性,并采取措施减少需求变更对软件的影响。
对必要的变更需求要经过认真评审、跟踪和比较分析后才能实施。
《软件需求分析、设计与建模》简答题样题2(含答案)
1.What is object technology? What do you perceive as object technology’s strength? It’s weakness?OOT is such a technology that facing the objective world and the question realm and using the generally thinking way of human-beings to acknowledge the nature world to describe some things.OOT fit the thinking way of human-beings and easy to protect and functions’ addition and decrease are also become more convenient. And OOT’s reusing is more strengthen.weakness2. What is UML? List at least three benefits of developing with UML.UML(Unified Modeling Language)is used to proceeding the visual model of software dense system.(1)UML can help to express things exactly.(2)UML can help programmer to write a better code.(3)UML can accelerate the procedure’s development.3.What process characteristic best fit the UML? Describe each characteristic.4.What is a use-case driven process? What is use-case? What are the benefits of use case?It is the use-case become a guidance of program.Use-case is a description of system functions.Use-case can help us to get a general impression of the determined system.5.What is system’s architecture? What is an architecture-centric Process?System’s architecture is an overall construction of a system, it include the concept, the requirements and all of the detail in implementing the project. The architecture-centric process is a process that exploit a software use the system’s architecture.6.What is iteration? What are the benefits of Iterative Development?Iteration is a way of exploiting the software that finishing the software in several steps, and it need the customer present his advices after every step in order to ensure the product can fit to the requirements of the customer’s. Iteration can ensure a lower risk in a large project.7.What are the basic principles of OO technology? Describe each in detail.Abstraction, it report those important properties connect to the applications.Encapsulation, it can cover details of implementation and is the basis of the modularity.Modularity, it break complex part into simple piecesHierarchy, it provides a method that can let the son class to get data from father class.8.What is use case model? Which artifacts can be included in a use case model?9.List three types of relationships existed between different use cases and give examples.Generalization, Include, Extend.Generalization, apples and bananas can be generalized as fruit.Include, the banana peel is included in the banana.Extend, we can eat the banana, but we can also smash it and mixed it with yogurt and drink it, drinking is an extension.10.Explain the following diagram and their elements with examples.1) Use case diagram 2) Activity diagram 3) Sequence diagram 4) Collaboration diagram5) Class diagram 6) state chart diagram 7) Deployment diagram1)2)3)4)5)6)7)11.Describe the similarities and differences between the sequence diagram and collaborationdiagram.They are both interactive diagram, but collaboration diagram don’t care about when the information be transferred.12.Define the different relationships in class diagram: dependency, association, aggregation,composition, generalization.Dependency, is a connection during two classes, one class depend another class.Association, it let a class acquire another class’s functions and attributes.Aggregation, it is the association but those two classes are in different levels, one is entity but the other one is part.Composition, it is a kind of aggregation, it demands the object that represent the entity in responsible of the life cycle of the object that represent the part.Generalization, it represents the hierarchy between two classes.13.What is a node in deployment diagram? List two different types of nodes.Node in deployment diagram always represent a device .14.Describe the extensibility mechanisms of UML.15.What is the function of Stereotypes?Give two examples of stereotypes.16.Explain the six best practices of software engineering.1)Iteration 2)Manage requirements 3)Module-basis architecture 4)visualization modeling5) software quality’s confirmation 6)Control the changes of software.17.What is RUP? How many phases are there in RUP? Describe each phase’s purpose andmilestone.It is a programming exploitation methodology which is OOT and web-basis.Inception, Elaboration, Construction, TransitionInception: Constructing the business cases of system and confirm the edge of the project.Lifecycle objective.Elaboration: Analysis the problem domain.Lifecycle architecture.Construction: Product’s exploitation.Initial operation.Transition: Ensuring the software is usable to the customer.Product release. and briefly describe the “4+1”views of architecture.Ans:Which of the four views are:Logical View which is the logical relationship around the objects,Process View which is the view that show the actions of the objects or software actions,Deployment View which is to show the relatonship between the module of the objects and Implementation View which is the software implementations.And the one view can be Use-Case View.19.What is the difference between analysis and design?The analysis focus on understanding of de problem,but the design focus on the understanding of the solution.20.Please describe the whole process of OO analysis and design with UML.Ans:1.Build the requirement model-the plan for the reqiurement2.Build the basic model-Class diagram3.Build the assistant diagram4.Design the protocol of the model5.Prototype Development21.What is a layered architecture? Give examples of typical layers.Ans:A layered architecture can be descript as the “separation of responsibility which is to say that each layer is responsible for a finite amount of work.For instance,a company may has its enterprise architecture.The layers of the manager and the layers of the employees.They have the responsibilities themselves and they have their own layers.22.What are analysis mechanisms? What are design mechanisms? Give examples.Ans:Analysis mechanisms can be a process which may run through the whole analysis.And so does the design mechanisms.For instance,a analysis mechanisms may contains Auditing, Communication and so on.23.What is an analysis class? Name and describe the three analysis stereotypes. Give examples. Boundary Classes: Behavior that involves communication with an actorEntity Classes: Behavior that involves the data encapsulated within the abstractionControl Classes: Behavior specific to a use case or part of a very important flow of events24.What is Use-case realization? What‘s your understandings about the benefit of the use-caserealization structure.Ans:The Use-case realization is a method to realize the problem that we should analyse.The use-case realization structure helps to organize the model elements needed to realize the use cases in the design model.25.Describe the steps occurred in the use-case analysis.Ans:It may contain five steps: (1)Identify Use Cases,(2)Indentify Domain Class and relationships,(3)Define the System Sequence Diagram for each use case,(4)Produce an operation,(5)Draw a sequence diagram for each use case.26.What’s the package, and why we need package?Ans:Package is a universal mechanism that organize other elements of the models together.Why we need?If a system has a lot of structures and we have to know more about the structures,then we should point to the so many elements that the systems or the structureshave.And at that time we can find that this may big a complex and hard work.So the package has been developed for this. Package is a universal mechanism that organize other elements of the models together.So we can analyse the system from the bigger layers instead of the great number of the element.27.What is a subsystem? What is an interface? How does a subsystem differ from a package? Ans: A subsystem is a coherent and somewhat independent component of a larger system.It is an element of the model,and it contains the semantics of the packages and the classes.An interface can be an operation about the subsystem.A subsystem realizes one or more interfaces that define its behavior.28.What is the purpose of describing the run-time architecture? How to model the process view? Ans:Describing the run-time architecture’s purpose is:Analyze concurrency requirements,Identify processes and threads,Identify process lifecycles, Map processes onto the implementation and Distribute model elements amongProcesses.The Process View is an “architecturally significant” slice of theprocesses and threads of the Design Model.Processes can be modeled using:1. Active classes (Class Diagrams) and Objects(Interaction Diagrams)ponents (Component Diagrams)29.What is the purpose of describing the distribution? How to model the deployment view? Ans:The purpose is to Reduce processor load.For the Special processing requirements,Scaling concerns,Economic concerns and Distributed access to the system.The Deployment View is an “architecturally significant” slice of the Deployment Model.The deployment view will contain nodes and connections.Connection lines are used to connect the nodes that will be Physical run-time computational resource,Processor node and Device node.And connections may contain Communication mechanism,Physical medium and Software protocol30.Describe the 3 typical distribution patterns, C/S , B/Sand P2P.Ans:C/S:Client/Server, in network connections pattern, besides coordinated net, but also has another form network, namely client/server net, Client/Server. In the client/server network, the server is the network core, but the client is the network foundation, the client dependence server obtains the network resource which needs, but the server provides the network for the client to resources.B/S: Browser/Server,is called as Browser/Server patterns.It is developing as the development of Internet,it is improved from the C/S.P2P: Peer-to-peer network. According to the network in the shared resource way's difference, the local area network has two kind of configurations of organization: One kind is the peer-to-peer network (), another kind is the workstation/server structure. Between peer-to-peer network's computer may correspond mutually and the shared resource (document, peripheral device and so on); But in the workstation/server structure's network may the shared resource place on special purpose computer - server (server), between workstation not mutually direct shared resource. 31.What is the difference between the process models of agile and RUP?Ans: Rational Unified Process is a whole software process,but the process models of agile may bea process in an Architecture or in part of a software.That is to say the RUP may contain the process models of agile.。
软件需求分析考试题
一、单选题(每空1分,共20分,请在备选答案中选择唯一一个正确的选项)1、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B )A 有效性、效率、灵活性、互操作性B 可维护性、可移植性、可重用性、可测试性C 完整性、可靠性、健壮性、可用性D 容错性、易用性、简洁性、正确性2、需求包括11个方面的内容,其中网络和操作系统的要求属于(B ),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D ),规定系统平均出错时间属于(A )。
A 质量保证B环境需求C安全保密需求 D 性能需求3、需求分析过程应该建立3种模型,它们分别是数据模型、功能模型、行为模型。
以下几种图形中,(B )属于功能模型,(A )属于数据模型,(C)属于行为模型。
A 实体-联系图(ERD)B 数据流图(DFD)C 状态转换图(STD) D鱼骨图4、常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。
A决策树B数据流图C数据字典D快速原型5、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
其中,(B )和(C )用完就可以丢弃,而(A)围绕原型修改、增加。
A 进化型B 探索型C实验型 D 以上都是6、(D)用于描述数据的处理过程。
A 数据字典B决策树C决策表 D 数据流图7、DFD的基本符号不包括下列哪种(A)A 数据字典B 加工C 外部实体D 数据流E 数据存储文件8、DD的主要字典条目包括以下哪种(E)A数据流B文件 C 数据项D加工E以上都是9、常用的动态分析方法不包括以下哪种(B)A 状态迁移图B 层次方框图C时序图 D Petri网10、需求分析阶段的文档包括以下哪些(E )A 软件需求规格说明书B数据要求说明书C初步的用户手册D修改、完善与确定软件开发实施计划E以上都是11、需求验证应该从下述几个方面进行验证:(C )A 可靠性、可用性、易用性、重用性B可维护性、可移植性、可重用性、可测试性C一致性、现实性、完整性、有效性D 功能性、非功能性12、风险管理的要素包括哪项(D)A风险评价B风险避免C风险控制D以上都是13、下列描述中错误的是(D)A每一个集成的需求变更必须能跟踪到一个经核准的变更请求。
需求分析考试重点答案
第一章3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义5.需求工程包含的活动?为什么重视需求工程?需求工程包含需求开发和需求管理,而需求开发又包括需求获取、需求分析、需求规格说明、需求验证。
因为计算机应用于现实世界的广泛性,所以软件工程师的工作也具有行业上的广泛性,但是软件工程师不可能了解所有的领域,所以常常需要将工作中的很大一部分用来定义问题,然后再为其设计解决方案,定义问题就是需求工程的任务,开发软件系统最困难的部分就是准确说明开发什么,最为困难的概念性工作便是编写详细技术需求,这包括所有面向用户,面向机器和其他软件系统的接口,同时这也是一旦有错,最终将给系统带来极大损害的部分,并且以后要对他进行修改也极为困难。
第二章3。
解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明.3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
1、进行需求开发,确定用户的期望效果R2、研究问题背景,描述问题域特性E3、构建解系统,描述解系统行为S,使得E,S—>R.5.业务需求、用户需求、系统需求之间的区别与联系?业务需求:描述了组织为什么要开发系统,通常来自项目的投资人,购买产品的顾客,实际用户的管理者,市场营销部门等。
《软件需求分析》单选填空判断答案
《软件需求分析》习题集《软件需求分析》课程组编2012年4月目录一、单项选择题 (2)二、填空题 (5)三、判断题 (9)《软件需求分析》习题集一、单项选择题1、软件生产中产生需求问题的最大原因在于对应用软件的()理解不透彻或应用不坚决。
(A)复杂性(B)目的性(C)模拟性(D)正确性2、需求分析的目的是保证需求的()。
(A)目的性和一致性(B)完整性和一致性(C)正确性和目的性(D)完整性和目的性3、系统需求开发的结果最终会写入()。
(A)可行性研究报告(C)用户需求说明4、现实世界中的((B)前景和范围文档(D)系统需求规格说明)构成了问题解决的基本范围,称为该问题的问题域。
(A)属性和状态(B)实体和状态(C)实体和操作(D)状态和操作5、功能需求通常分为三个层次,即业务需求、用户需求和()。
(A)硬件需求(B)软件需求(C)质量属性(D)系统需求6、比较容易发现的涉众称为初始涉众,又称为(),通常包括客户、管理者和相关的投资者。
(A)关键涉众(B)涉众基线(C)普通涉众(D)一般涉众7、如果在最终的物件(Final Artifact)产生之前,一个中间物件(Mediate Artifact)被用来在一定广度和深度范围内表现这个最终物件,那么这个中间物件就被认为是最终物件在该广度和深度上的()。
(A)模拟(B)构造(C)原型(D)模型8、按照使用方式进行分类,原型可分为:演示原型、()、试验原型和引示系统原型。
(A)非操作原型(B)系列首发原型(C)选定特征原型(D)严格意义上的原型9、按照功能特征进行分类,原型可分为:()、非操作原型、系列首发原型和选定特征原型。
(A)拼凑原型(B)样板原型(C)纸上向导原型(D)严格意义上的原型10、按照开发方法进行分类,原型可分为:演化式原型和抛弃式原型,其中抛弃式原型又被细分为()。
(A)演示原型和试验原型(C)探索式原型和实验式原型(B)系列首发原型和选定特征原型(D)样板原型和纸上向导原型11、原型的需求内容可以从三个纬度上分析:即()。
软件需求工程复习题
需求工程练习题一、单选题(每空1分,共20分,请在备选答案中选择唯一一个正确的选项)1、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B )A 有效性、效率、灵活性、互操作性B 可维护性、可移植性、可重用性、可测试性C 完整性、可靠性、健壮性、可用性D 容错性、易用性、简洁性、正确性2、需求包括11个方面的内容,其中网络和操作系统的要求属于(B),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D),规定系统平均出错时间属于(A )。
A 质量保证 B环境需求 C安全保密需求 D 性能需求3、需求分析过程应该建立3种模型,它们分别是数据模型、功能模型、行为模型。
以下几种图形中,(B)属于功能模型,(A)属于数据模型,(C)属于行为模型。
A 实体-联系图(ERD)B 数据流图(DFD)C 状态转换图(STD) D鱼骨图4、常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。
A决策树 B数据流图 C数据字典 D快速原型5、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
其中,(B)和(C)用完就可以丢弃,而(A)围绕原型修改、增加。
A 进化型B 探索型 C实验型 D 以上都是6、(D)用于描述数据的处理过程。
A 数据字典 B决策树 C决策表 D 数据流图7、DFD的基本符号不包括下列哪种(A)A 数据字典B 加工C 外部实体D 数据流E 数据存储文件8、DD的主要字典条目包括以下哪种(E)A数据流 B文件 C 数据项 D加工 E以上都是9、常用的动态分析方法不包括以下哪种(B)A 状态迁移图B 层次方框图 C时序图 D Petri网10、需求分析阶段的文档包括以下哪些(E)A 软件需求规格说明书 B数据要求说明书 C初步的用户手册 D修改、完善与确定软件开发实施计划 E以上都是11、需求验证应该从下述几个方面进行验证:(C)A 可靠性、可用性、易用性、重用性B可维护性、可移植性、可重用性、可测试性C一致性、现实性、完整性、有效性 D 功能性、非功能性12、风险管理的要素包括哪项(D)A风险评价 B风险避免 C风险控制 D以上都是13、下列描述中错误的是(D)A每一个集成的需求变更必须能跟踪到一个经核准的变更请求。
需求分析师笔试题-有参考答案
需求分析师笔试题-有参考答案需求分析师笔试题一.单项选择题(每题2分)1.在项目立项阶段应该进行需求定义,此时定义的需求属于需求三个层次中的()。
A.业务需求B.用户需求C.软件需求D.设计约束答案:C2.它不应该包括的内容是()。
A.用上下文关系图表示的项目范围B.包含的主题域及主题域之间的关系C.业务活动的详细事件流D.系统涉及的业务事件答案:C3.根据下面所示的构件图可以得知,接口提交采购申请是()实现的,客服管理子系统共使用了()接口。
A.门店管理子系统,1个B.客服管理子系统,2个C.采购管理子系统,3个D.无法确定答案:C,3个4.以下关于需求定义的描述中,正确的是();对于酒店管理系统而言,以下各个选项中,最不适合表示为业务事件的是()。
A.上下文关系图能够清晰地界定出系统与人的职责边界B.鱼骨图和帕累托图是来界定系统范围的C.项目涉众(stakeholder)就是将使用系统的用户D.需求定义的产物主要包括项目目标、范围以及需求大纲的初稿答案:D;C,付款5.在需求捕获的过程中,用户经常会制定解决方案而不是阐述需求,有效识别这一情况的措施是():以下措施中,()是用来克服用户非正事心理的。
A.询问用户提出需求的理由B.提前向用户提供访谈计划C.利用原型来及时验证用户的需求D.让用户介绍工作场景答案:B;A,选择打扰较少的访谈场所6.在下面关于需求验证任务的描述中,不正确的是():需求验证属于需求工程中的()范畴。
A.需要核查功能描述的正确性B.需要核查功能描述的清晰性C.需要明确需求的完整性D.除管理者外的用户不能参与评审答案:D;A7.根据下面的活动图,最可能是不合适的用例的是(),理由是()。
A.开单B.收费C.出具报告D.体验并记录结果答案:D;不属于系统边界之内8.在进行业务建模和需求建模时,一般不会使用的UML 模型是():适用于描述业务活动的操作步骤细节信息是模型是()。
软件需求 期末复习
软件需求考试总复习1、为什么软件需求这么难?客户说不清楚需求需求自身经常变动分析人员或客户理解有误2、软件需求的定义软件需求=业务知识+问题列表+其他因素.业务知识包括业务事件、业务实体和业务规则;问题列表是用户在工作中遇到的困难与障碍,这也是软件开发中需要解决的问题;其他因素包括了一些设计约束和非功能方面需求。
3、需求的层次业务需求、用户需求、软件需求需求层次的产物:业务需求是需求定义的产物,用户需求是需求捕获的产物,软件需求是需求分析与建模的产物.4、软件需求的三种类型功能需求:开发人员要实现什么非功能需求:对产品功能描述的补充设计约束:限制了开发人员设计和构建系统时的选择范围5、软件开发的各个阶段,为什么只有需求阶段称为工程?需求工程是随着计算机的发展而发展的,在计算机发展的初期,软件规模不大,软件开发所关注的是代码编写,需求分析很少受到重视.后来软件开发引入了生命周期的概念,需求分析成为其第一阶段.随着软件系统规模的扩大,需求分析与定义在整个软件开发与维护过程中越来越重要,直接关系到软件的成功与否。
人们逐渐认识到需求分析活动不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。
需求分析是介于系统分析和软件设计阶段之间的桥梁.一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础.良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。
所以才只有需求成了工程!6、需求工程划分为哪两个部分需求开发、需求管理7、需求开发包括哪些内容需求获取、需求分析、需求规约(编写需求规格说明书)和需求验证(确认).8、需求管理包括哪些内容基线管理、变更管理和需求跟踪。
9、如何评价需求的好与坏(优秀需求的特点)完整性、正确性、可行性、有优先次序、无歧义、可验证性、确定性10、客户的含义广义来讲,客户泛指直接或间接得益于产品的个人或组织。
软件工程考试习题答案(2)
50.在结构化分析方法(SA)中,与数据流图配合使用的是( )。
A.网络图B.实体联系图C.数据字典D.程序流程图答案:C51.通过( )可以完成数据流图的细化。
A.结构分解B.功能分解C.数据分解D.系统分解答案:B52.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( )。
A.细节B.输人与输出c.软件的作者D.绘制的时间答案:B53.数据存储和数据流都是( )仅仅所处的状态不同。
A.分析结果B.事件C.动作D.数据答案:D54.数据字典中,一般不包括下列选项中的( )条目。
A.数据流B.数据存储C.加工D.源点与终点答案:D55.在软件需求分析中,开发人员要从用户那里解决的最重要的问题是( )。
A.要让软件做什么B.要给该软件提供哪些信息c.要求软件工作效率怎样D.要让软件具有何种结构答案:A56.需求分析最终结果是产生( )。
A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书答案:C57.SA方法用DFD描述( )。
A.系统的控制流程B.系统的数据结构C.系统的基本加工D.系统的功能答案:D58.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( )。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型答案:A59.需求分析阶段不适于描述加工逻辑的工具是( )。
A.结构化语言C.判定树B.判定表D.流程图答案:D60.结构化分析方法(SA)最为常见的图形工具是( )。
A.程序流程图B.实体联系图C.数据流图D.结构图答案:C61.sA方法的基本思想是( )。
A.自底向上逐步抽象B.自底向上逐步分解C.自顶向下逐步分解D.自顶向下逐步抽象答案:C62.下面错误的说法是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简答题1. 需求分析的目的是什么?难点在哪里?需求分析为什么特别重要?需求分析的目的:需求分析主要用于获取用户的具体需求,通过对实际需求的获取、分析、文档化和验证等需求分析过程,为进一步的设计和实现提供依据:(1)需求分类。
将软件功能、性能、可靠性等相关需求进行分类、逐一细化。
(2)面向用户获取并分析需求。
软件研发其他阶段都是面向技术的,只有需求分析阶段是面向用户的,深入调研获取并分析软件的功能、性能、可靠性等,也可从系统和用户需求中推导出软件具体需求,并检查需求定义准确性,是否存在二义性。
(3)检查和解决不同需求间的矛盾。
尽量达到均衡和优化。
(4)确定软件的边界,以及软件与环境的相互作用方式等。
如应用及运行边界和环境。
(5)对需求文档化并进行最后验证与确认。
难点:主要体现在以下5 个方面:(1)问题确定难。
主要原因一是应用领域的复杂性及业务变化,难以具体确定;二是用户需求所涉及的多因素引起的,如运行环境和系统功能、性能、可靠性和接口等。
(2)需求动态性。
软件的需求在整个软件生存周期,常会随着时间和业务而有所变化。
有的用户需求经常变化,一些企业可能正处在体制改革与企业重组的变动期和成长期,其企业需求不成熟、不稳定和不规范,致使需求具有动态性。
(3)交流共识难。
需求分析涉及的人事物及相关因素多,与用户、业务专家、需求工程师和项目管理员等进行交流时,不同的背景知识、角色和角度等,使交流共识较难。
(4)完备一致难。
由于不同人员对系统的要求认识不尽相同,所以对问题的表述不够准确,各方面的需求还可能存在着矛盾。
难以消除矛盾,形成完备和一致的定义。
(5)深入完善难。
需求理解对不全面准确的分析,客户环境和业务流程的改变,市场趋势的变化等,也会随着分析、设计和实现而不断深入完善,可能在最后重新修订软件需求。
分析人员应认识到需求变化的必然性,并采取措施减少需求变更对软件的影响。
对必要的变更需求要经过认真评审、跟踪和比较分析后才能实施。
需求分析之所以特别重要是因为1)许多软件开发失败的原因都归结为需求分析没有做好。
2)需求分析输出的文档“用户需求报告”是客户、开发者、管理者三方遵守的基线,是产品验收的依据。
3)需求分析要占整个软件开发时间或工作量的30%左右。
4)需求分析出现错误会在后续的开发过程中发散式传播。
2. 需求分析阶段的基本任务是什么?答:需求分析阶段的基本任务是:(1. 问题识别:双方对问题的综合需求:a. 功能需求b. 性能需求c. 环境需求d. 用户界面需求.(2. 分析与综合,导出软件的逻辑模型.(3. 编写文档3 需求规格说明书由哪些部分组成?各部分之间的关系是什么?答:软件需求说明书一般包括如下内容:1)引言部分编写目的;项目背景(应包括:a. 项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。
);定义;(列出文档中所用到的专门术语的定义和缩写词的原文。
)参考资料。
2)任务概述目标;运行环境;条件与限制。
3)数据描述静态数据;动态数据(包括输入数据和输出数据);数据库描述(给出使用数据库的名称和类型);数据词典;数据采集。
4)功能要求功能划分;功能描述。
5)性能需求数据精确度;时间特性(如响应时间、更新处理时间、数据转换与传输时间、运行时间等);适应性(在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。
)6)运行需求用户界面(如屏幕格式、报表格式、菜单格式、输入输出时间等);硬件接口;软件接口;故障处理。
7)其他要求如可使用性、安全保密、可维护性、可移植性等。
8)附录4、假设现在由你来负责所在学校选课系统的需求工作,现在需要你来安排一次群体面谈,你打算怎么做?答:(1)目标和内容的确定(1 分)(2)场地的确定(1 分);解释场地的条件:提供各种开会需要材料,会议室、道具、餐饮等(1分)(3)时间的确定(1分);解释时间要求:全职的2〜4天;(1分)(4)人员的确定(1 分);解释多涉众的共同参与(1 分)(5)会议准备(1 分);准备会议讨论材料(1 分);议程(1 分)5如何有效的处理需求的变化是很多现代软件开发技术的主题,请从需求变更的原因、一般过程以及控制对策等方面谈谈你的看法。
答:(1 )认识到需求变化是不可避免的;1 分给出需求变化不可避免原因的解释;2分包括:问题发生了改变。
环境发生了改变。
需求基线存在缺陷。
(2)明确需求的变化是需要控制的;1 分能够描述需求基线的概念;1 分在响应需求变更的过程中,项目团队还要及时准确的维护需求基线,审计变更记录:要更新需求基线,保证项目涉众可以访问到最新的需求;能够描述需求变更的过程;2 分(3)明确需求变化需要特殊处理的;1分能够大概写出特殊处理情况的;2分包括:推迟产品的交付时间。
要求增派人手。
当然,这个做法只有在有限的情况下有效,因为很多情况下,增加人手只会使得项目更加落后。
要求员工加班工作。
一段时期的加班会耗尽员工的储备精力,因此加班不能是长期的,一般以30天为限,否则会产生很多消极影响。
因此,这个做法也只能适度的使用。
推迟或者去除尚未实现的优先级较低的需求。
容许产品质量的降低。
当然,这个做法是最不提倡的,因为低质量的产品会伤害整个开发团队。
所以,除非其他的做法都不能达到效果,否则不要使用这种做法。
五、应用题(共24分,每小题12分)1 •进行需求文档写作时主要有三种手段:形式化语言、非形式化语言和半形式化语言,请:(1)说明这三种手段的不同及其各自的优缺点,以表达“每本书至少有一个作者”为例;(2)说明在实践当中,应该怎样综合运用这三种手段。
答:信息的描述语言可以分为三种类别:非形式化语言,即自然语言。
半形式化语言,比自然语言具有更丰富的语义和更严格的语法同时又没有严格到可以完全基于数学方法的语言,例如ER图、DFD图、UML等图形语言。
形式化语言,基于数学的语言,例如VDM、Z语言等。
自然语言具有复杂的规则和多样化的表达方式,所以它的表达能力最为强大。
而且自然语言是属于普通人的语言,每个人都熟知其规则、表达方式和特点,所以非常利于用户的理解。
但同时自然语言也具有松散、模糊、歧义、凌乱等不好的特性。
这使得它无法被机器所理解,它所描述的信息内容也无法准确的映射为机器行为。
形式化语言是基于数学方法的语言,具有数学的表示法特性。
使用形式化语言描述的信息内容是可以进行逻辑一致性推导和证明的,所以它能够保证信息的正确性。
而且形式化的信息描述能够被机器所理解,它所描述的信息内容可以准确的映射为机器行为。
但是形式化描述的信息要求读者具备谓词演算方面的知识,这对普通的用户而言显然要求过高,以至于大多数用户无法读懂以形式化方法描述的信息。
形式化方法所能描述的内容也是有限的,具体的有限性因形式化方法的不同而各异。
半形式化语言是介于自然语言和形式化语言之间的描述语言。
一方面,半形式化语言具有严格的语法,定义方式比自然语言更加严格,这使得它可以避免自然语言模糊、松散、歧义、凌乱等不好的特性。
另一方面,半形式化语言具有丰富的语义,使用规则比形式化语言更复杂和多样,这使得它具有比形式化方法更强的表达能力。
但是,丰富的语义使得半形式化语言的语法无法严格到可以等价于数学方法的程度,所以它描述的信息还需要进行额外的处理才能够被机器所理解或者准确的映射为机器行为。
同时,严格的语法限制也使得半形式语言的表达能力无法达到自然语言的程度。
而且因为具有独特的语法和语义,所以半形式语言对普通用户而言无异于一门全新的语言,它所描述的信息很难被用户所理解。
为了让需求规格说明文档的内容能够同时满足用户和开发人员的需要,需求工程师在实践中更多的会综合使用自然语言、半形式化语言和形式化语言。
例如,为半形式化语言和形式化语言添加自然语言的注释,或者分别使用自然语言和半形式化语言(或者形式化语言)重复描述同样的信息,或者使用半形式语言和形式化语言描述概要与抽象信息,然后再用自然语言进行详细信息的描述。
2•下面是一段用例的描述,针对一个汽车保险系统中“将一辆新车加入一个已有保单中”的用例:(1)客户打电话给保险公司,并提供他的保单号,办事员输入这个信息,系统显示基本的保单。
然后办事员检查信息,以确保保险费通用及保单有效;(2)客户给出要添加的汽车的牌子、模型、年份和车辆识别代号(VIN),办事员输入这些信息系统验证这些数据是否有效。
然后客户选择期望的保额类型,以及每种类型的数量,办事员输入这些信息,系统会逐一记录并根据保单限制验证所请求的数量。
输入所有的保额后,系统验证保额总和,包括保单上的其他汽车;(3)最后,客户必须要确认所有的驾驶员,以及他们驾驶汽车的时间比例。
如果有一个新驾驶员加入,则调用另一个用例“增加新驾驶员” ;(4)整个过程最后,系统更新保单,计算新的保险费,打印新的保单说明,邮寄给保单所有人。
请你为其设计:(1)领域模型(要求给出建立过程);(2)活动图。
答(1)领域模型:结果基本正确(4分);给出了过程(2分)客户保单-姓名 -地址1 *-保单号 -保险费-保单帐号(2)活动图:结果基本正确(8分)-内容对象汽车-VIN-模型-年份-牌子-保险对象-保险额度保额-类型-数量。