最新软件需求分析-复习题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)和加⼯说明的描述⼯具,即⽤直观的图和简洁的语⾔来描述软件系统模型。

软件测试复习题(附答案)

软件测试复习题(附答案)

软件测试复习题(附答案)一、单选题(共100题,每题1分,共100分)1.( )的优点是:对控制流程描述直观,便于初学者掌握。

A、盒图B、程序流程图C、PAD图D、判定表正确答案:B2.软件项目可行性分析的研究内容包括:技术可行性、经济可行性、运行可行性以及( )等。

A、环境可行性B、人员可行性C、法律可行性D、时间可行性正确答案:C3.( )是结构化系统分析的基本工具。

A、程序流程图B、对话图C、数据流图D、状态转化图正确答案:C4.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。

A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C5.( )是网络的核心,它的主要任务是为网络上的其它机器提供服务。

A、客户机B、服务器C、网络协议D、工作站正确答案:B6.虚拟机好似通用的计算机,有自己的指令系统,但本身没有( )。

A、翻译指令B、操作系统C、实际的硬件D、翻译程序正确答案:C7.所有的( )必须与业务需求一致。

A、用户需求B、系统需求C、产品需求D、功能需求正确答案:A8.软件测试是软件质量保证的重要手段()是软件测试的最基础环节A、单元测试B、验收测试C、确认测试D、系统测试正确答案:A9.( )也称为分支覆盖,是一种较强的逻辑覆盖。

A、路径覆盖B、判定覆盖C、条件组合覆盖D、条件覆盖正确答案:B10.下列有关测试说法中,正确的是()A、测试组的测试工作是在编码阶段开始的B、静态测试是不运行被测程序本身,而寻找程序代码中可能存在的错误或评估程序代码的过程C、所有的测试都适合引入测试工具辅助进行测试D、只要进行有效的测试,就能获得高质量的软件产品正确答案:B11.( )除提供身份证明外,还可指出所签的文档是否已被修改。

A、公开密钥B、传统签名C、私有密钥D、数字签名正确答案:D12.以下不用于单机版系统测试的是()。

软件工程复习题及答案(完整)

软件工程复习题及答案(完整)

一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件.对2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。

错3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

错4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。

错5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。

错6、软件配置管理是一组标识、组织和控制修改源程序的活动. 错7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。

错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

对9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。

对10、面向对象的分析是面向计算机系统建立软件系统的对象模型.错11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

A 软件过程B 软件测试C 软件生存周期D 软件工程12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。

A 质量控制B 质量管理C 质量策划D 质量改进13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级.除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B).A 关键实践B 关键过程域C 软件过程能力D 软件过程14、在软件开发的各种资源中,(D)是最重要的资源。

A 开发工具B 方法C 硬件环境D 人员15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A 固有的B 人为的C 可消除的D 不可降低的16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。

A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。

A 需求不确定的B 需求确定的C 管理信息D 决策支持18、(A)意味着一个操作在不同的类中可以有不同的实现方式.A 多态性B 多继承C 类的可复用D 信息隐蔽19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。

软件工程考试习题答案(2)

软件工程考试习题答案(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. 以下哪一项不是软件危机的表现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。

软件工程复习资料整理

软件工程复习资料整理

《软件工程》试题参考答案(1)卷一、单向选择题(四选一、每小题3分,共18分)1、需求分析的任务不包括(B)。

A.问题分析B.系统设计C.需求描述D.需求评审。

2、当模块中包含复杂的条件组合,只有( A)能够清晰地表达出各种动作之间的对应关系。

0802A.判定表和判定树C.流程图3、以下不属于逻辑覆盖的是(D)。

1402A.语句覆盖C.条件覆盖B.盒图D 关系图B.判定覆盖D.基本路径4、为适应软件运行环境的变化而修改软件的活动称为( B)。

1501A.纠错性维护B.适应性维护C.改善性维护 D 预防性维护二、填空题(每空2分,共18分)1. 软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。

01012. 高级语言:独立于机器,面向过程或面向(对象)01013. 软件项目管理的范围主要集中于 3 个P 上,即:People 人员、Problem 问题和(过程)。

02014. 由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。

15045. 在公式V(G) = E – N + 2 中: E 为程序图G 中边的总数;N 为程序图中结点的总数。

V(G)又称为图 G 的环形(复杂度)0204。

6. 任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。

03037. 为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。

12048. 文档是一种数据媒体和其上所记录的(数据)。

0101三、判断题(每小题2分,共24分,错误打X、正确打√)1. 用户对软件需求的描述不准确,往往是产生软件危机的原因之一。

(√)01022. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。

(√)02063. 目前的绝大多数软件都不适合于快速原型技术。

(完整版)2、软件工程复习题及答案

(完整版)2、软件工程复习题及答案

中南大学现代远程教育课程考试(专科)复习题及参考答案软件工程一、单项选择题1、下列哪个阶段不是软件生存期三个阶段中的内容()。

A、计划阶段B、开发阶段C、编码阶段D、维护阶段2、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为 ( )A、可用性B、可靠性C、正确性D、完整性3、需求分析阶段结束后,应交出的文档中不包括()。

A、数据流图B、数据字典C、简明的算法描述D、项目的经费预算4、关于数据流图不正确的描述是()。

A、数据流图是结构化系统分析的主要工具。

B、在数据流图中,*号标识相邻的数据流只取其一。

C、加工是以数据结构或数据内容作为加工对象的。

D、数据流图的主图中必须包括全部四种基本元素。

5、瀑布模型的存在问题是()A、用户容易参与开发B、缺乏灵活性C、用户与开发者易沟通D、适用可变需求6、软件调试技术包括()A、边界值分析B、演绎法C、循环覆盖D、集成测试7、软件维护产生的副作用,是指()A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作8、软件测试不包括()方面的差错和纠错。

A、软件计划B、软件设计C、软件编码D、软件价格9、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是()A、探索型模型B、演化型模型C、实验型模型D、提交型模型10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是()A、数据控制B、数据定义C、数据操纵D、数据约束11、软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据而且也影响软件的()A、可使用性B、可操作性C、可维护性D、可开发性12、在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般被归属于()A、定义时期B、分析论证时期C、调研时期D、初始阶段13、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的()A、数据流B、数据元素C、数据结构D、数据约束14、软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于()A、修改源代码B、阅读设计文档C、阅读源代码D、修改设计文档15、以实体、联系和属性等基本概念为基础的实体联系图是基本实体联系图。

软件需求分析师面试题及答案

软件需求分析师面试题及答案

软件需求分析师面试题及答案(1) 需求分析工程师在整个项目管理过程中,扮演怎样的角色?如何与团队的其他成员开展工作?需求分析工程师在项目管理的过程中,扮演着项目成败关键人物或是项目先行者的角色。

在与团队的其他成员(指该项目需求组其他成员),应符合“总-分-总”的交流方式来开展整个项目组的需求调研工作。

①组长与客户负责人进行有效沟通,了解软件使用机构、参与调研的客户部门人员、客户的层次关系(主管/助理)等。

②组长将客户的各项情况通过会议的方式,传达到所有需求分析师。

③组长依据客户基本情况,对需求分析师进行两人分组(调研/协助),并分配至不同的业务和人员。

④调研后,小组成员与相应成员进行沟通,并形成该部分的需求,并及时与客户进行反馈。

⑤小组之间进行沟通,协调需求中的各项名词,并制定整份需求文档。

⑥再次将整本需求反馈给用户,进行协调确认不明确需求。

⑦确定需求后,暂时留守一位需求分析师跟进需求分析过程,快速做出需求变更反馈。

(2) 项目整个计划已经落后,怎样在短时间内追进项目需求进度?项目整个计划已经落后,着急和加班加点并不是很好的解决方式。

虽然加班可以通过工作的时间来增加工作的效果,但是并没有提高效益。

本人觉得以下五条或许能够更好的解决这个问题:①自我暗示:相信自己能够在短时间内完成,其次还得注意到这份压力。

②积极学习:积极去学习业务的专业知识,尽量缩短客户的交流时间。

③有效沟通:要和客户进行有效的沟通,从客户那确定自己学习是否理解正确,减轻客户的交流信息,同时能够提高交流的效率。

④适当加班:项目已经落后,加班是在所难免,但是毕竟要控制这个量。

人不是机器,只有休息好才能隔日有饱满的精神工作。

⑤放手拼搏:到这个关头,除了自我暗示信心外,更重要的是脚踏实地的实践。

(3) 需求分析工作包括哪些?需求分析过程中,包括的工作较多,主要是通过与客户进行直接交流和自己的学习来进行获知。

其主要包括:角色分析、业务流程分析、核心功能分析、关键需求点分析、用例分析、数据流图分析、核心功能点的时序分析、需求文档编写、调研记录和需求变更记录等。

软件需求分析-复习题264743

软件需求分析-复习题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。

软件需求分析复习题

软件需求分析复习题

软件需求分析复习题一、判断题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.面向对象技术中,对象是类的实例。

软件工程复习题及参考答案

软件工程复习题及参考答案

软件⼯程复习题及参考答案软件⼯程复习题及参考答案⽂稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-《软件⼯程》课程复习资料⼀、单项选择题:1.下⾯哪些UML图描述系统⾏为?[ ]A.⽤例图B.类图C.对象图2.属于概要设计活动的是[ ]A.软件结构设计B.数据结构设计C.算法设计3.属⾏为型设计模式的是[ ]A.组合模式B.⼯⼚⽅法模式C.观察者模式4.下列说法正确的是[ ]A.UML 是软件开发⽅法B.UML是系统描述语⾔C.UML是软件开发过程5.根据程序流程图划分的模块通常是[ ]A.信息内聚的模块B.过程内聚的模块C.逻辑内聚的模块6.如果某程序中的⽐较个数是m,则其 McCabe环形复杂度为[ ]C.m+17.按ISO9000-3的说明,下列属软件配置项的是[ ]A.软件开发⽅法B.软件开发组织管理制度C.软件开发合同8.软件测试的⽬的是[ ]A.证明软件⽆错B.发现软件中的所有错误C.尽可能发现软件系统中的错误9.软件重构关注的是[ ]A.软件体系结构B.模块细节C.软件性能10.软件项⽬开发计划的内容有[ ]A.数据分析B.风险分析C.功能分析11.在UML的类图中,描述整体与部分关系的是[ ]A.泛化关系B.聚合关系C.依赖关系12.软件过程能⼒成熟度模型CMM⽤以评价[ ]A.软件过程能⼒B.组织能⼒C.学习能⼒13.因计算机硬件和软件环境的变化⽽作出的修改软件的过程称为[ ]C.适应性维护14.对项⽬软件⽽⾔,软件功能需求信息主要由谁提供[ ]A.软件⽤户B.软件开发⼈员C.软件项⽬管理⼈员15.IDEF0 图反映不出[ ]A.系统做什么B.系统功能由谁做C.系统如何做16.原型模型是⼀种什么开发过程模型?[ ]A.⾃顶向上B.由外⾄内C.增量式17.系统流程图描述[ ]A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括[ ]A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型是[ ]A.瀑布模型B.RAD 模型C.原型模型20.UML 图中描述系统结构的是[ ]C.状态图21.⾯向对象⽅法是⼀种什么软件开发⽅法?[ ]A.层次化B.迭代增量式C.逐步求精22.不可以⽤来衡量软件可维护性的是[ ]A.可靠性B.可⽤性C.可⾏性23.系统分析员在需求分析最后负责编写[ ]A.⽤户⼿册B.概要设计说明书C.可⾏性研究报告24.为了提⾼软件的可靠性、可维护性等⽽对软件的修改称为[ ]A.改正性维护B.适应性维护C.预防性维护25.在结构化⽅法中,为使需求改变对软件影响较⼩,应该使软件结构[ ]A.与问题结构对应B.与问题结构独⽴C.与⽤户界⾯对应26.单元测试的计划应该在什么阶段完成?[ ]A.需求分析B.概要设计C.详细设计27.下列属⾯向对象软件开发⽅法的是[ ]28.强调信息隐藏的软件⼯程设计⽅法是[ ]A.Jackson ⽅法B.Parnas ⽅法C.SA/SD ⽅法29.描述系统动态⾏为的模型是[ ]A.包图B.软件结构图C.状态图30.考虑输⼊条件组合的测试⽤例设计⽅法是[ ]A.等价分类法B.语句覆盖法C.因果图法31.下列能减少⽀援性维护活动的是[ ]A.利⽤软件包B.进⾏配置管理C.对⽤户进⾏适当培训32.只⽀持单重继承的程序设计语⾔是[ ]A.C++B.DelphiC.C33.IDEF0 图的顶层图是[ ]A.A0 图B.A-0 图C.A-1图34.在UML的⽤例图中,扩展关系是⼀种[ ]35.独⽴测试⼩组开始介⼊测试是在[ ]A.模块测试阶段B.集成测试阶段C.确认测试阶段36.在成本估计中容易低估局部问题的⽅法是[ ]A.基于经验模型的估计B.⾃底向上估计C.⾃顶向下估计37.在IDEF1X图中,如果⼦实体与⽗实体存在联系,则⼦实体将继承⽗实体的[ ]A.全部属性B.主关键字属性C.⾮主关键字属性38.结构化分析⽅法使⽤的⼯具是[ ]A.数据流图B.类图C.软件结构图39.⽩盒测试设计⽤例的⽅法是[ ]A.等价分类法B.基本路径覆盖法C.因果图法40.在衡量软件质量时,最重要的标准是[ ]A.可维护性好B.可⽤性好C.满⾜⽤户功能需求41.瀑布模型是⼀种[ ]42.模块的独⽴程度可以由什么定性标准度量?[ ]A.耦合度B.复杂度C.可靠性43.以下选项中,不属于对象的特点有[ ]A.继承B.多态C.封闭44.⾯向数据结构的设计⽅法有[ ]A.Parnas ⽅法B.Jackson ⽅法C.IDEF0 ⽅法45.与UML配合最好的软件开发⽅法是[ ]A.RUP ⽅法B.Coad/Yourdon⽅法C.IDEF4⽅法⼆、填空题:1.统⼀建模语⾔UML提供了两种描述整体/部分关系的⽅法,分别是和。

软件需求复习资料

软件需求复习资料

第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

软件需求分析-复习题2

简答题1.需求分析的目的是什么?难点在哪里?需求分析为什么特别重要?ﻩ需求分析的目的:需求分析主要用于获取用户的具体需求,通过对实际需求的获取、分析、文档化和验证等需求分析过程,为进一步的设计和实现提供依据:(1)需求分类。

将软件功能、性能、可靠性等相关需求进行分类、逐一细化.(2) 面向用户获取并分析需求。

软件研发其他阶段都是面向技术的,只有需求分析阶段是面向用户的,深入调研获取并分析软件的功能、性能、可靠性等,也可从系统和用户需求中推导出软件具体需求,并检查需求定义准确性,是否存在二义性。

(3)检查和解决不同需求间的矛盾。

尽量达到均衡和优化。

(4)确定软件的边界,以及软件与环境的相互作用方式等.如应用及运行边界和环境。

(5)对需求文档化并进行最后验证与确认。

ﻩ难点:主要体现在以下5个方面:(1)问题确定难。

主要原因一是应用领域的复杂性及业务变化,难以具体确定;二是用户需求所涉及的多因素引起的,如运行环境和系统功能、性能、可靠性和接口等。

(2)需求动态性。

软件的需求在整个软件生存周期,常会随着时间和业务而有所变化。

有的用户需求经常变化,一些企业可能正处在体制改革与企业重组的变动期和成长期,其企业需求不成熟、不稳定和不规范,致使需求具有动态性。

(3)交流共识难。

需求分析涉及的人事物及相关因素多,与用户、业务专家、需求工程师和项目管理员等进行交流时,不同的背景知识、角色和角度等,使交流共识较难。

(4)完备一致难。

由于不同人员对系统的要求认识不尽相同,所以对问题的表述不够准确,各方面的需求还可能存在着矛盾.难以消除矛盾,形成完备和一致的定义。

(5)深入完善难.需求理解对不全面准确的分析,客户环境和业务流程的改变,市场趋势的变化等,也会随着分析、设计和实现而不断深入完善,可能在最后重新修订软件需求。

分析人员应认识到需求变化的必然性,并采取措施减少需求变更对软件的影响。

对必要的变更需求要经过认真评审、跟踪和比较分析后才能实施。

《软件需求分析、设计与建模》简答题样题2(含答案)

《软件需求分析、设计与建模》简答题样题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.。

软件工程复习试题及答案

软件工程复习试题及答案

软件工程复习试题及答案 Revised by BETTY on December 25,2020一、填空题(在下划线上填写正确的答案,每题2分,共20分)1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。

2.数据流图和数据字典共同构成了系统的逻辑模型。

3.盒图也称为 N-S图。

这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。

.数据流图有四种基本成分:源、终点,处理,存储,数据流。

78SA是一种面向数据流的分析方法。

9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。

10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。

2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。

3.软件测试的步骤:单元、集成、系统、验收。

4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。

5.IPO图由输入、处理和输出三个框组成。

这个图的特点是能够直观的显示三者之间的关系。

6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。

7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。

8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。

9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。

10.常用的测试方法有黑盒测试和白盒测试。

1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究。

2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。

3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段。

需求分析考试重点答案

需求分析考试重点答案

第一章3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义5.需求工程包含的活动?为什么重视需求工程?需求工程包含需求开发和需求管理,而需求开发又包括需求获取、需求分析、需求规格说明、需求验证。

因为计算机应用于现实世界的广泛性,所以软件工程师的工作也具有行业上的广泛性,但是软件工程师不可能了解所有的领域,所以常常需要将工作中的很大一部分用来定义问题,然后再为其设计解决方案,定义问题就是需求工程的任务,开发软件系统最困难的部分就是准确说明开发什么,最为困难的概念性工作便是编写详细技术需求,这包括所有面向用户,面向机器和其他软件系统的接口,同时这也是一旦有错,最终将给系统带来极大损害的部分,并且以后要对他进行修改也极为困难。

第二章3。

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

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

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

2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明.3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。

1、进行需求开发,确定用户的期望效果R2、研究问题背景,描述问题域特性E3、构建解系统,描述解系统行为S,使得E,S—>R.5.业务需求、用户需求、系统需求之间的区别与联系?业务需求:描述了组织为什么要开发系统,通常来自项目的投资人,购买产品的顾客,实际用户的管理者,市场营销部门等。

软件需求工程复习题

软件需求工程复习题

需求工程练习题一、单选题(每空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每一个集成的需求变更必须能跟踪到一个经核准的变更请求。

软件需求分析习题集

软件需求分析习题集

软件需求分析?习题集软件需求分析?课程组编2021年4月目录一、单项选择题 (2)二、填空题 (5)三、判断题 (9)四、名词解释题 (11)五、问答题 (14)六、案例分析题 (28)软件需求分析?习题集一、单项选择题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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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分)(2)活动图:结果基本正确(8分)。

相关文档
最新文档