软件工程试题和答案

合集下载

软件工程试题(卷)(附答案解析)

软件工程试题(卷)(附答案解析)

一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。

A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节3.可行性分析中,系统流程图用于描述(A)。

A.当前运行系统B.当前逻辑模型C.目标系统D.新系统4.研究软硬件资源的有效性是进行(A)研究的一方面。

A.技术可行性B.经济可行性C.社会可行性D.操作可行性5、数据字典中,一般不包括下列选项中的(D)条目。

A.数据流B.数据存储C.加工D.源点与终点6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。

A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型7、通过(B )可以完成数据流图的细化。

A.结构分析B.功能分解C.数据分析D.系统分解8、对软件进行分解,是为了(C)。

A.降低模块的复杂程度B.降低模块间接口的复杂程度C.降低模块的复杂程度,并降低模块间接口的复杂程度D.降低模块的复杂程度,并提高模块间接口的复杂程度9、为了提高模块的独立性,模块部最好是(C)。

A.逻辑聚B.时间聚C.功能聚D.通信聚10、在软件结构设计完成后,对于下列说法,正确的是(C)。

A.非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层11、在软件开发过程中,以下说确的是(B)。

软件工程试卷及答案多套精品试卷

软件工程试卷及答案多套精品试卷

软件工程试卷及答案多套精品试卷IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。

(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。

A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个()模型。

A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。

A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD 14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。

《软件工程》试题及参考答案(第6套)

《软件工程》试题及参考答案(第6套)

第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。

A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。

A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。

A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。

A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。

A.时间内聚 B.逻辑内聚C.通信内聚 D.信息内聚5.影响软件可维护性的决定因素是()A 文档B 可理解性C 可测试性D 可修改性10.实现单入口单出口程序的三种基本控制结构是()A 顺序、选择、循环B 过程、子程序、分程序C 调用、返回、转移D 递归、堆栈、队列11.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。

软件工程试题及答案

软件工程试题及答案

1. 软件生命期各阶段的任务是什么?答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。

2、软件重用的效益是什么?答:1、软件重用可以显著地改善软件的质量和可靠性。

2、软件重用可以极大地提高软件开发的效率。

3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费.3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点?答:①自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

缺点:需要存根程序,底层错误发现较晚.②自底而上渐增测试优点与缺点和自顶而下渐增测试相反.4 、提高可维护性的方法有哪些?答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。

在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明.在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。

在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。

在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。

在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。

在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审.为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。

简述软件测试要经过哪几个步骤,每个步骤与什么文档有关.【解答】测试过程按4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。

软件工程试题及答案

软件工程试题及答案

软件工程一、填空题(每题2分,共20分)1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。

2、成本效益分析的目的是从( )角度评价开发一个项目是否可行。

3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( ) 。

4、在JSP方法中解决结构冲突的具体办法是( )。

5、详细设计的任务是确定每个模块的内部特性,即模块的算法、( )。

6、所有软件维护申请报告要按规定方式提出,该报告也称( )报告。

7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。

从程序图来看,一条独立路径是至少包含有一条( )的边的路径。

8、设计任何一个人机界面,一般必须考虑()四个方面。

9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行的方法称为()测试法。

10、()是对软件结构中模快间关联程度的一种度量。

三、判断题(每题2分,共20分)1. 缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。

()2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。

()3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。

()4. 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。

()5. 流程图也称为程序框图是最常用的一种表示法。

6. 面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。

()7. 理想的人机界面应针对具有典型个性的特定的一类用户设计。

()8. 数据输入的一般准则中包括尽量增加用户输入的动作。

()9. 用穷举测试是较现实的测试方法。

()10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。

软件工程试题与答案

软件工程试题与答案

一、单选题1.在软件危机中表现出来的软件质量差的问题,其原因是_____C__。

A.软件研发人员素质太差B.用户经常干预软件系统的研发工作C.没有软件质量标准D.软件开发人员不遵守软件质量标准2.在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___B__。

A.安全性B.健壮性C.可用性D.可靠性3.在下列测试技术中,__D____不属于黑盒测试技术。

A.等价划分B.边界值分析C.错误推测D.逻辑覆盖4.软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指_____B_。

A.原型化方法B.结构化方法C.功能化方法D.面向对象方法5.__C____是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A.多态B.继承C.封装D.消息6.Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现____A__。

A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构7.软件测试时为了_____B___而执行程序的过程。

A.纠正错误B.发现错误C.避免错误D.证明错误8.在软件系统中,一个模块应具有什么样的功能,这是由__B___决定的。

A.总体设计B.需求分析C.详细设计D.程序设计9.面向对象分析是对系统进行___A______的一种方法。

A.需求分析B.程序设计C.设计评审D.10.测试验收软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的___B____。

A.可理解性B.可维护性C.可扩展性D.11.可移植模块内聚度越高,说明模块内各成分彼此结合的程序越____B___。

A.松散B.紧密C.无法判断D.12.相等软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_____C___。

软件工程考试试题(含答案)

软件工程考试试题(含答案)

一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________.2.基于软件的功能划分,软件可以划分成__________、__________、__________三种.3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。

4.系统流程图是描绘的传统工具。

它的基本思想是用图形符号以描绘系统里面的每个部件。

5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。

6.结构化分析方法是面向________________进行需求分析的方法。

结构化分析方法使用________________与________________来描述。

7.是自动地共享类、子类和对象中的方法和数据的机制.8.软件详细设计工具可分为3类,即________________、________________和________________。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。

10.大型软件测试包括、、确认测试和四个步骤.1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。

A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M。

Jackson提出的,它是一种面向()的软件设计方法.A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( ).a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法.A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)

一.判断题:1.如果决定将软件全部包给第三方公司开发。

(×)2.有了对系统的目标有了大致的了解,就可以开始开发项目,以后的在开发中继续了解。

(×)3.对于一个成功的软件项目,可执行程序是唯一交付的东西。

(×)4.直到程序运行,才评估软件系统的质量。

(×)5.如果未能按时完成任务,我们可以通过增加程序员来加快完成任务.(×)6.虽然软件需求不断变更,但因软件比硬件有弹性,所以我们经常可以变更它.(×)7.软件工程将导致我们产生大量的无用文档,降低工作效率。

(×)8.在面向对象建模中,主题划分提供了在更高一层上描述。

(主题划分是指UML中将一组关联比较强的类的集合。

则上百个类可划分为几个主题)(√)9.面向对象的开发,对象分解取代功能分解. (√)10.软件中80%的错误存在20%的模块中。

(√)11.结构化分析方法在建立系统模型时,使用一般――特殊结构(实际上没有这种关系)来处理信息。

(×)12.开发软件就是编程。

(×)13.需求规格说明书说明了(√)14.结构化方法,建立系统模型时使用一般连接组织信息. (×)15.敏捷过程模型选用小而高激励的团队使用而不适用于大团队。

(√)二.简答题1.软件工程是层次化的,其四个层次是?答:方法,工具,过程,质量保证软件工程是一种层次化的技术(如图2-1所示)。

任何工程方法(包括软件工程)必须以有组织的质量保证为基础。

全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。

支持软件工程的根基就在于对质量的关注。

软件工程的基层是过程层。

软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来.过程定义了一组关键过程区域的框架(KPAs)[PAY93],这对于软件工程技术的有效应用是必须的。

关键过程区域构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,其中规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证及变化的适当管理。

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

一、选择1、在软件开发的各种资源中,(B)是最重要的资源。

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

A固有的B人为的C可消除的D不可降低的3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。

A需求不确定的B需求确定的C管理信息D决策支持4、单元测试的测试用例主要根据( D )的结果来设计。

A需求分析B源程序C概要设计D详细设计5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A软件过程B软件工具C软件生存周质量保证D软件工程6、(A )意味着一个操作在不同的类中可以有不同的实现方式。

A多态性B类的复用C封装7、软件测试计划开始于需求分析阶段,完成于(D )阶段。

A需求分析B软件设计C软件实现D软件测试8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。

A可行性分析B需求采集C需求分析D问题定义9. 软件需求分析阶段的测试手段一般采用( C )。

A总结B阶段性报告C需求分析评审D不测试10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A多态性B继承C封装D消息11. 软件测试是为了(B )而执行程序的过程。

A纠正错误B发现错误C避免错误D证明正确12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。

A数据字典B实体关系图C数据流图D状态转换图13. 软件工程的基本要素包括方法、工具和( A )。

A过程B软件系统C硬件环境D人员14. TURBO PASCAL是(A)软件。

A、系统软件B、人工智能C、事务软件D、应用软件15、选择结构的复杂性比顺序结构的复杂性要(B)。

A、小B、大C、相等D、无法比较16、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。

A、松散B、紧密C、无法判断D、相等17、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以()维护所占的维护量最小(C)。

A、纠错性维护B、代码维护C、预防性维护D、文档维护18、在下述哪一种测试中,测试人员必须接触到源程序(C)。

Ⅰ功能测试Ⅱ结构测试A、均不需B、只有ⅠC、只有ⅡD、Ⅰ和Ⅱ19、软件设计阶段的输出主要是(D)。

A、程序B、模块C、伪代码D、设计规格说明书20、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。

A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑21、下面哪几个阶段是软件的设计阶段(D)。

A、编码B、可行性研究C、测试D、维护E、需求分析22、数据字典是用来定义(D )中的各个成分的具体含义的。

A.流程图B.功能结构图C.系统结构图D.数据流图23、在面向对象设计中,(A )意味着在同一作用域内的若干个参数不同的函数可以使用相同的函数名字。

A.重载B.类的复用C.封装D.继承二,判断(正确则打√, 错误则打×)1、文档是软件产品的一部分,没有文档的软件就不称其为软件。

( R )2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。

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

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

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

( R )6、面向对象的分析是面向计算机系统建立软件系统的对象模型。

( W )7、不完善的系统定义往往是导致软件项目失败的主要原因。

( R )8、一个成功的项目唯一提交的就是运行程序。

( W )9、只有质量差的软件产品才需要维护。

( W )10、一个好的测试用例在于能发现至今未发现的错误。

( R )11、软件工作的考虑范围主要是程序设计和实现。

( W )12、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。

( W )13、软件错误可能出现在开发过程的早期,越早修改越好。

( R )14, 在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。

( W )15, 模型是对现实的简化,建模是为了更好地理解所开发的系统。

( R )16, 好的测试用例应能证明软件是正确的。

( W )17, 白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。

( W )三三三三三三,填空题1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是多对多关系。

2、动物与老虎之间是继承关系,森林和树木之间是组合关系。

3、衡量模块独立的两个标准是内聚和耦合。

4、结构化分析实质是就是一种建模活动,通常建立数据模型、功能模型、行为模型。

5、在面向对象设计过程中,先后要建立3个模型,它们分别是对象模型_、_动态模型_、_功能模型_6、组成数据流图的四种成分是(源点或终点)、(数据流)、(处理)、(数据存储)7、程序的逻辑结构分为顺序结构、分支结构、和循环结构等三大类8、面向对象的方法有四个要点:对象、类、继承、通信9、将正确答案的编号填入题目空白处:在白盒测试用例设计中,有语句覆盖、条件覆盖、判定覆盖、路径覆盖等,其中,__2__是最强的覆盖准则。

为了对下图所示的程序进行覆盖测试,必须适当地选取测试数据。

若X、Y是两个变量,可供选择的数据组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组(如表中给出),则实现语句覆盖至少应采用的测试数据组是____1__;实现条件覆盖至少应采用的测试数据组是___5___;实现路径覆盖至少应采用的测试数据组是____5__或____8__。

[供选择的答案]:A:①语句覆盖②条件覆盖③判定覆盖④路径覆盖B—E:①Ⅰ和Ⅱ组②Ⅱ和Ⅲ组③Ⅲ和Ⅳ组④Ⅰ和Ⅳ组⑤Ⅰ、Ⅱ和Ⅲ组⑥Ⅱ、Ⅲ和Ⅳ组⑦Ⅰ、Ⅲ和Ⅳ⑧Ⅰ、Ⅱ和Ⅳ组10、快速原型应该具备的基本特性是:___快速___、___容易修改____四,问答题1、什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。

需求分析阶段的基本任务是:要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。

2、为什么说面向对象方法学比传统方法学在稳定性方面要好?答:传统的软件开发以算法为核心,开发过程基于功能分析和功能分解.用传统方法所建立起来的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改.事实上,用户需求变化大部分是针对功能的,因此这样的软件系统是不稳定的。

面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统。

它的基本作法是用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。

当对系统的功能需求变化时并不会引起软件结构的整体变化,仅仅只需要作一些局部性的修改。

总之,由于现实世界中的实体是相对稳定的,因此,对象为中心构造的软件系统也是比较稳定的。

为什么说面向对象方法学比传统方法学在可重用性方面要好?答:传统的软件重用技术是利用标准函数库来构造新的软件系统,但是标准函数少必要的“柔性”,不能适应不同应用场合的不同需求,并不是理想的可重用的软件成分。

在面向对象方法所使用的对象中,数据和操作正是作为平等伙伴出现的,因此,对象具有很强的自合性。

此外,对象所固有的封装性和信息,隐藏机理,使得对象内部实现与外界隔离,具有较强的独立性。

由此可见,对象是比较理想的模块和可重用的软件成分。

3、你认为一个好的软件开发人员应具备哪些基本素质?答:1.最重要的,学习和总结的能力2.设计能力3.软件工程能力4、为什么软件需要维护?简述软件维护的过程。

答:1.软件维护就是要针对用户使用软件产品过程提出的问题而对软件产品进行相应的修改或演化,从而修正错误,改善性能或其它特征,以及使软件适应变化的环境。

2.软件维护的过程:提出维护要求,分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收。

5、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。

答:“瀑布模型是文档驱动的”。

在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。

由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。

6、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:请问图中是否应该增加"教务人员"?试说明理由。

答:不应该增加"教务人员",因为教务人员只是该系统的一个使用者,系统不处理其属性信息。

7、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。

int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}(1)画出该程序的控制流图,并计算其复杂度。

(2)列出独立路径(3)为各测试路径设计测试用例。

答:1.控制流图如下,McCabe环路复杂性为3。

2. 测试路径:Path1:①→③Path2:①→②→④→⑥→…Path3:①→②→⑤→⑥→…3. 测试用例:Path1:取n=1,datalist[0] = 1,预期结果:k=0Path2:取n=2,datalist[0] = 1,datalist[1] = 0,预期结果:k=0Path3:取n=2,datalist[0] = 0,datalist[1] = 1,预期结果:k=18, 以下是销售管理所需要的信息:生产厂家编号、厂家名称、联系电话、联系人、联系地址、产品编号、产品名称、产品说明、销售商场名称、销售商场编号、商场联系电话、商场联系人、商场联系地址分析这些信息,把它们设计成几个表,并将这些表之间建立起关系,要求反映出:一个工厂生产多种产品,一个商店经营多种产品E-R图数据流图:9, 写出求最小公倍数的程序(或框图),画出其控制流图,计算其复杂度,列出独立路径,为各独立路径设计测试用例。

#include "stdio.h"void main(){int a,b,m,n,c,t;printf("请输入两个整数:");scanf("%d%d",&a,&b);m=a;n=b;if(a<b){t=a;a=b;b=t;}c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("最小公倍数为%d",m*n/b);}控制流程图10,写出求最大公约数的程序(或框图),画出其控制流图,计算其复杂度,列出独立路径,为各独立路径设计测试用例。

相关文档
最新文档