软件工程基础习题集

合集下载

软件工程基础习题及答案

软件工程基础习题及答案

软件工程基础习题及答案1.下面描述不属于软件特点的是()。

DA)软件是一种逻辑实体,具有抽象性B)软件在使用中不存在磨损、老化问题C)软件复杂性高D)软件使用不涉及知识产权3.下面不属于软件需求分析阶段工作的是()。

BA)需求获取B)需求计划C)需求分析D)需求评审5.下面不属于黑盒测试方法的是()。

BA)边界值分析法B)基本路径测试C)等价类划分法D)错误推测法7.下面描述中不属于软件需求分析阶段任务的是()。

BA)撰写软件需求规格说明书B)软件的总体结构设计C)软件的需求分析D)软件的需求评审9.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是()。

DA)软件测试B)软件实现C)软件总体设计D)可行性研究11.某系统结构图如下所示该系统结构图的最大扇入数是()。

AA)nB)1C)2D)313.某系统结构图如下图所示该系统结构图的最大扇出数是()。

DA)1B)2C)3D)n15.下面对软件测试和软件调试叙述错误的是()。

C A)严格执行测试计划,排除测试的随意性B)软件调试的目的是改正软件错误C)软件测试不需考虑测试成本D)正确的执行测试用例17.使用白盒测试方法时,设计测试用例应根据()。

A A)程序的内部逻辑B)程序的复杂结构C)程序的功能D)使用说明书19.下面对软件特点描述错误的是()。

DA)软件没有明显的制作过程B)软件是一种逻辑实体,不是物理实体,具有抽象性 C)软件的开发、运行对计算机系统具有依赖性D)软件在使用中存在磨损、老化问题20.某系统结构图如下图所示该系统结构图中最大扇入是()。

CA)021.软件生命周期是指()。

AA)软件产品从提出、实现、使用维护到停止使用退役的过程 B)软件的需求分析、设计与实现C)软件的运行和维护D)软件的实现和维护22.某系统结构图如下图所示该系统结构图中最大扇出数是()。

CA)123.程序流程图中带有箭头的线段表示的是()。

软件工程《软件工程》习题集

软件工程《软件工程》习题集

软件工程习题集第一章概述一、选择题1.“软件危机”产生的主要原因是( B )。

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2.软件工程中描述生存周期的瀑布模型一般包括计划、( 需求分析)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(概要设计)和(详细设计)两步。

①需求分析②需求调查③可行性分析④问题定义⑤方案设计⑥代码设计⑦概要设计⑧数据设计⑨运行设计⑩3.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(程序、数据、文档)。

A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档4.在软件工程时期,决定软件质量的主要因素是( )A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展5.下列哪个模型没有采用迭代的思想(A )A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型6.下列关于瀑布模型的描述正确的是( D )A.利用瀑布模型,如果发现问题修改的代价很低B.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开7.瀑布模型的关键不足在于(B )(A)过于简单(B)不能适应需求的动态变更(C)过于灵活(D)各个阶段需要进行评审8.瀑布模型把软件生存周期划分为软件定义、软件开发与(D )三个阶段,而每一阶段又可分为若干更小的阶段。

A. 详细设计B. 可行性分析C. 运行及维护D. 测试与排错二、判断题1.软件工程是指导计算机软件开发和维护的工程学科。

( )2.在软件工程时期,决定软件质量的主要因素是管理水平. ( )3.软件生存期是从软件项目需求定义直至软件开始使用为止。

()4.常用的软件生存周期模型有瀑布模型和结构化模型。

()5.瀑布模型是一种线形的、顺序的软件开发模型( )6.瀑布模型的关键不足在于不能适应需求的动态变更.( )7.快速原型模型是为了克服瀑布模型的缺点而提出来的。

软件工程练习题1-3习题(附答案)

软件工程练习题1-3习题(附答案)

软件工程练习题1-3习题(附答案).软件工程练习题(1-3章)一、单项选择题1. 软件危机具有下列表现()。

I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住III. 软件常常不可维护IV. 软件成本逐年上升A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是()。

A. 运行和维护阶段B. 设计阶段C. 代码实现阶段D. 测试阶段3. 下列属于软件的特点的是()。

A. 软件是一种逻辑实体,具有抽象性B. 软件在使用过程中没有磨损、老化的问题C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高D. 以上都正确4. 软件工程的出现是由于()。

A. 软件危机的出现B. 计算机硬件技术的发展C. 软件社会化的需要D. 计算机软件技术的发展5. 软件开发技术不包含()。

A. 软件开发方法学B. 软件工程环境C. 软件工具D. 软件质量度度量6 下列属于应用软件的是()。

I. 计算机辅助教学软件II. 软件测试工具III. 办公自动化软件IV. 工程与科学计算软件A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确7. 需求分析阶段最重要的技术文档是()。

A. 设计说明书B. 需求规格说明书C. 可行性分析报告D. 用户手册8. 以下关于数据流图的说法错误的是()。

A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储B. 数据流图是用作结构化分析的一种工具C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成D. 数据流图的绘制采用自上向下、逐层分解的方法19. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()。

A. 数据库设计B. 数据通信C. 数据定义D. 数据维护求10. 结构化方法的基本原则是()。

软件工程基础考试

软件工程基础考试

软件工程基础考试(答案见尾页)一、选择题1. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 计算机科学D. 需求分析2. 软件开发过程中,需求分析和系统设计的关系是什么?A. 需求分析是系统设计的依据B. 需求分析和系统设计同时进行C. 需求分析在系统设计之后进行D. 需求分析和系统设计没有必然联系3. 软件工程的三个层次及其在软件开发过程中的作用是什么?A. 应用层、系统层、理论层B. 物理层、数据层、逻辑层C. 需求层、设计层、实施层D. 开发层、测试层、维护层4. 软件开发生命周期(SDLC)的概念是什么?它包括哪几个阶段?A. 软件开发生命周期是指软件的开发过程B. SDLC包括需求分析、设计、编码、测试和维护C. SDLC是一个线性的过程D. SDLC各阶段按顺序进行,不具备迭代性5. 什么是敏捷开发方法?它与其他开发方法的区别是什么?A. 敏捷开发是一种快速开发的软件开发方法B. 敏捷开发强调团队合作和客户参与C. 敏捷开发适合大规模软件项目D. 敏捷开发与其他开发方法的区别在于流程管理6. 什么是面向对象编程(OOP)?请列举OOP的三个基本特征。

A. 封装、继承、多态B. 封装、继承、抽象C. 封装、多态、接口D. 继承、多态、接口7. 数据库管理系统(DBMS)在软件开发中的作用是什么?A. 存储和管理数据B. 提供数据查询和修改功能C. 数据库管理员(DBA)负责DBMS的管理和维护D. 所有选项都正确8. 什么是版本控制?请简述版本控制的两种主要策略。

A. 版本控制是一种软件配置管理技术B. 版本控制可以跟踪软件项目的变更C. 版本控制的主要策略有Git和SVND. 版本控制确保软件代码的安全性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. ISO 9000B. CMMIC. PMBOKD.软件开发生命周期(SDLC)15. 在软件工程中,测试的目的是什么?A. 证明软件的正确性B. 找出软件中的错误C. 提高软件的质量D. 规范软件的开发过程16. 软件工程中的“软件生命周期”通常包括哪几个阶段?A. 开发B. 运行C. 维护17. 软件工程中,版本控制的主要作用是什么?A. 监控软件的修改历史B. 管理软件的版本C. 确保软件的一致性D. 保证软件的可靠性18. 软件工程中,敏捷开发方法是一种以人为核心、迭代、循序渐进的开发方法,它的核心价值包括:A. 个体和互动跨功能团队B. 可用的软件客户合作C. 响应变化随时间进化D. 面向结果19. 在软件工程中,UML(统一建模语言)是一种用于描述、构造和编写软件系统的图形化语言,它通常用于以下哪个阶段?A. 需求分析B. 设计C. 编码D. 测试20. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。

软件工程试题集及答案

软件工程试题集及答案

软件工程试题及答案第一部分选择题一、单项选择题每小题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.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。

《软件工程》习题集

《软件工程》习题集

《软件工程》习题集赵绪辉渤海大学信息科学与工程学院2005年9月目录一软件与软件工程 (2)二软件项目管理 (4)三需求分析 (6)四面向对象的需求分析 (8)五软件设计 (11)六程序设计语言和编码 (13)七软件测试 (15)八软件维护 (17)综合试卷一 (18)综合试卷二 (21)综合试卷三 (24)附参考答案: (27)一软件与软件工程参考答案 (27)二软件工程管理参考答案 (29)三需求分析参考答案 (30)四面向对象的需求分析参考答案 (32)五软件设计参考答案 (37)六程序设计语言和编码参考答案 (39)七软件测试参考答案 (41)八软件维护参考答案 (43)综合试卷一参考答案及评分标准 (45)综合试卷二参考答案及评分标准 (47)综合试卷三参考答案及评分标准 (49)一软件与软件工程一、选择题1.软件的主要特性是()A、无形性B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4.软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7.软件开发方法的主要工作模型有()A、螺旋模型B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。

B、克服软件危机。

C、作好软件开发的培训工作。

D、以较低的成本开发出高质量的软件。

二、判断题1.软件就是程序,编写软件就是编写程序。

软件工程基础习题

软件工程基础习题

软件⼯程基础习题习题11. 简述计算机系统的开发流程。

2. 系统分析和定义是计算机系统开发过程中的关键步骤,这⼀步应该做哪些⼯作?3. 系统规格说明书主要应包含哪些内容?为什么要进⾏系统复审?4. 如何理解软件概念?简述软件有哪些分类⽅法?5. 软件的发展经历了哪⼏个阶段?简述各阶段名称及特点。

6. 查阅⽂献写⼀篇1000字的短⽂,综述软件⼯程的发展。

7. 什么是软件危机?主要有哪些表现?8. 查阅最新⽂献写⼀篇2000字的短⽂,综述软件危机在当今的表现以及造成的危害。

9. 什么是软件的⽣命周期?10. 软件⽣存期模型主要有哪些?给出名称及特点。

习题21. 软件计划的任务主要有哪些?2. 在软件计划阶段应该考虑哪三类资源?对软件开发中的每⼀类资源可以⽤哪些特征来描述?什么是时间窗⼝?可再⽤软件资源主要有⼏种?给出名称及简单解释。

3. 软件⽣命周期中各阶段⼈⼒资源如何安排才合理?4. 简述代码⾏技术的基本思想。

5. 指出下列公式中每个量的含义。

∑=-±=ni d a b L 12)6(6. 什么是40-20-40规则?7. 当采⽤敏捷开发过程时,如何进⾏项⽬估算? 8. 如何对Web ⼯程项⽬进⾏估算? 9. 简述任务分解技术的基本思想。

10. Halstead 理论模型的主要依据有哪些?给出⽤Halstead 理论模型估算成本的公式以及公式的推导过程,说出各个量的取值依据。

11. 估计某PASCAL 程序中n1=70,n2=60,N1=14300,N2=400,取S=12,W=20000,估算开发该软件的总成本。

12. 估计⼀个C 语⾔程序系统⼤约⼀万⾏,W 取30000元,估算开发该系统的成本。

13. 开发⼀个Organic 类型的软件,经分析有45000⾏源代码,试⽤基本COCOMO 模型估算所需⼯作量、⽣产率、开发时间及投⼊该项⽬的最佳⼈员数。

14. 利⽤题13得出的⼯作量E ,根据Esterling 模型估算当团队⼈数n 为8时的软件成本,若n 为12时,成本⼜当如何?15. ⽤2年的时间开发⼀个应⽤软件系统,估计代码⾏数为5万⾏,Ck 取10000,试计算所需⼯作量。

《软件工程基础》习题集

《软件工程基础》习题集

《软件工程基础》习题集第一章概述1.什么是软件危机,它有哪些典型表现?2.简述产生软件危机的原因和解决的思路。

3.什么是软件工程?它有哪些本质特性?4.软件工程是如何用来消除软件危机的?5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服?6.简述软件的定义。

7.软件工程的目的是什么?8.什么是软件工程方法学?软件工程是一种什么样的技术?包括哪三大要素?分为哪三个分支?9.简述软件工程的基本原理。

10.软件工程的基本开发原则有哪些?11.构成软件工程的基本元素有哪些?12.什么是软件过程?它与软件工程方法学有何关系?13.什么是软件生命周期?什么是软件生命周期模型?14.简述软件生命周期方法学的途径,以及划分阶段步骤的目的和实质。

15.试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明它们各自的适用范围。

第二章可行性研究1.在软件开发的早期阶段,为什么要进行可行性研究?其目的和任务各是什么?2.应该从哪些方面研究目标系统的可行性?3.可行性研究有哪些工作步骤?4.简述系统流程图在可行性研究中的作用。

5.简述数据流图在可行性研究中的作用和用途。

6.简单描述数据字典但内容和定义数据的方法。

7.说明软件计划的内容和目标。

8.什么是软件范围?定义软件范围需要哪些信息?9.简述软件开发环境资源的三个层次。

10.软件环境资源的特征有哪些?它们对制定软件计划都有哪些意义?11.软件计划中,安排软件开发进度主要可以用哪些工具?都有哪些优缺点?12.主要的成本估计技术有哪些?其依据的主要是什么?13.为什么说成本估计是不可能精准的?14.进行成本/效益分析的方法主要有哪些?15.软件计划的主要内容有哪些?16.如何对制定完成的软件计划进行复审?为什么要复审?17.为方便储户,某银行拟开发计算机储蓄系统。

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

《软件工程基础》习题集第一章概述1.什么是软件危机,它有哪些典型表现?2.简述产生软件危机的原因和解决的思路。

3.什么是软件工程?它有哪些本质特性?4.软件工程是如何用来消除软件危机的?5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服?6.简述软件的定义。

7.软件工程的目的是什么?8.什么是软件工程方法学?软件工程是一种什么样的技术?包括哪三大要素?分为哪三个分支?9.简述软件工程的基本原理。

10.软件工程的基本开发原则有哪些?11.构成软件工程的基本元素有哪些?12.什么是软件过程?它与软件工程方法学有何关系?13.什么是软件生命周期?什么是软件生命周期模型?14.简述软件生命周期方法学的途径,以及划分阶段步骤的目的和实质。

15.试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明它们各自的适用范围。

第二章可行性研究1.在软件开发的早期阶段,为什么要进行可行性研究?其目的和任务各是什么?2.应该从哪些方面研究目标系统的可行性?3.可行性研究有哪些工作步骤?4.简述系统流程图在可行性研究中的作用。

5.简述数据流图在可行性研究中的作用和用途。

6.简单描述数据字典但内容和定义数据的方法。

7.说明软件计划的内容和目标。

8.什么是软件范围?定义软件范围需要哪些信息?9.简述软件开发环境资源的三个层次。

10.软件环境资源的特征有哪些?它们对制定软件计划都有哪些意义?11.软件计划中,安排软件开发进度主要可以用哪些工具?都有哪些优缺点?12.主要的成本估计技术有哪些?其依据的主要是什么?13.为什么说成本估计是不可能精准的?14.进行成本/效益分析的方法主要有哪些?15.软件计划的主要内容有哪些?16.如何对制定完成的软件计划进行复审?为什么要复审?17.为方便储户,某银行拟开发计算机储蓄系统。

储户填写的存款单或取款单由业务员键入系统。

如果是存款,系统记录存款人的姓名、地址、存款类型、存款日期、存款数量和利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。

请写出问题定义并分析此系统的可行性。

第三章需求分析1.为什么要进行需求分析?通常对软件系统有哪些需求?2.怎样与用户有效地沟通,以获得用户的真实需求?3.需求分析的任务是什么?4.通常系统的需求可以分为哪几个层次?5.进行需求分析的步骤有哪些?6.简述建立原型模型对软件需求分析的作用。

7.解释实体-联系图及其用途。

8.说明为什么需要进行需求验证及验证的步骤有哪些?9.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务人员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。

1.为每种类型的模块耦合举一个具体的例子。

2.为每种类型的模块内聚举一个具体的例子。

3.简单说明系统总体设计的步骤步骤。

4.举例说明模块化原理的经验1和经验2。

5.为什么要尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,完全不用内容耦合?6.为什么模块的规模要适中?7.请说明为什么模块控制的宽度和深度要适度。

8.简述面向数据流设计方法的基本思想。

9.常用数据流类型有哪些?10.面向数据流的设计方法主要有哪几个步骤?11.用面向数据流的方法设计第二章习题17系统的软件结构。

1.详细设计的任务是什么?2.在对系统做详细设计时,应遵循哪些原则?3.简述结构化设计的特点。

4.结构化程序设计中有哪几种基本控制结构?分别描绘在程序流程图、盒图和PDA图中这些基本控制的图例。

5.假设只有SEQUENCE和DO_WHILE两种控制结构,请问应该如何完成IF_THEN_ELSE 操作?6.假设只有SEQUENCE和IF_THEN_ELSE两种控制结构,请问应该如何完成DO_WHILE 操作?7.试说明ISO为什么要建议停止使用程序流程图,而推荐使用PDA图?8.请画出下列伪码程序的程序流程图、盒图和PDA图。

STARTIF p THENWHILE q DOfEND DOELSEBLOCKgnEND BLOCKEND IFSTOP9.试说明Jackson方法是一种怎么样的程序设计方法。

它有哪些工作步骤?10.请将教材P.124图6.13统计空格程序的Jackson图改画成为等价的盒图和PDA图。

11.人机对话由操作员信息和系统信息交替组成。

假设一段对话总是由操作员信息开始,以系统信息结束,请用Jackson图描绘这样的一段人机对话过程。

1.说明什么是程序编码?为什么程序设计语言的特点和编码风格会影响到程序的可靠性、可读性、可测试性和可维护性?2.用户界面设计的最一般原则,即所谓“黄金规则”是什么?3.软件界面设计包含了哪几个方面的基本内容?4.用户界面提供系统服务的方式通常有哪两种?5.WIMP界面是屏幕菜单驱动用户界面的一种形式,其设计准则有哪些?6.为什么说软件界面设计的质量会直接影响到用户对软件产品的评价?7.什么是系统响应时间?系统响应时间有哪些重要属性?8.在设计软件系统的用户帮助设施时,需要注意解决哪些问题?9.软件出错处理设计,即软件安全性设计。

一个交互式出错处理程序应该具备哪些功能和属性?10.测试的最基本目标是什么?11.软件测试的原则有哪些?12.软件测试的方法有哪几种?13.简单说明什么是白盒测试,什么是黑盒测试。

14.简述软件测试的步骤。

15.举例说明通常情况下穷尽测试是不可能的。

16.为什么单元测试必须由编程者自己完成?17.单元测试的主要手段有哪些?18.单元测试主要从哪5个方面进行?19.为什么人工代码审查十分重要?20.集成测试主要有渐增式测试、非渐增式测试两种,试述两种方式的异同点。

21.描述集成测试的两种策略,并比较它们的优缺点。

22.什么是回归测试?回归测试的测试用例集如何确定?23.什么是确认测试?确认测试的任务是什么?如何确认其范围?24.设计测试方案的任务有哪些?25.什么是逻辑覆盖测试法?它主要用于什么测试?26.什么是等价划分法?它主要用于什么测试?27.什么是边值分析法?它主要用于什么测试?28.什么是错误推测法?它主要用于什么测试?29.一个软件的测试策略应该是怎样的?30.什么是调试?调试和测试有什么不同?31.简单说明调试的方法和策略。

32.什么是软件的可靠性、可用性和正确性?1.什么是软件维护?2.软件维护有哪几种类型?3.为什么说软件文档维护和代码维护同样重要?4.为什么说维护的代价很高?应该怎样做才能降低维护的代价?5.导致维护成本高企的原因主要有哪些?6.什么是软件的可维护性?7.如何提高软件的可维护性?8.维护报告的主要内容有哪些?9.为什么说文档是影响软件可维护性的决定因素?10.什么是软件的系统文档?11.什么是软件的用户文档?12.什么是可重用性?如何通过提高软件的可重用性来提高软件的可维护性?13.为什么要进行软件可维护性复审?14.什么是软件的逆向工程和再工程?15.逆向工程与再工程与软件的预防性维护有什么样的关系?16.假设你的任务是对一个已有软件进行重大修改,而且只允许你从以下文档中选取两份:(a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(b)源程序清单(其中有适当数量的注解)。

你将选取哪两份文档?为什么这样选取?你打算如何完成这个任务?17.分析预测在第二章习题17的储蓄系统交付使用后,用户可能提出哪些改进或扩充功能的要求。

如果由你来开发该系统,你在设计时会采取哪些措施,以方便交付后的修改?第八章面向对象方法学引论1.为什么要引入面向对象方法学?2.面向对象方法学有哪4个基本要素?3.面向对象方法学的优点主要有哪些?4.什么是“对象”?它与传统数据有何不同?5.什么是“类”?6.什么是“继承”?7.什么是模型?软件开发为什么要建立模型?8.什么是对象模型?建立对象模型时主要使用哪些图形符号?这些符号的含义是什么?9.什么是动态模型?建立动态模型时主要使用哪些图形符号?这些符号的含义是什么?10.什么是功能模型?建立功能模型时主要使用哪些图形符号?11.试用面向对象的观点分析、研究第二章习题17的储蓄系统的例子。

在这个例子中,有哪些类?试建立它的对象模型。

1.进行面向对象分析的基本过程是怎么样的?2.建立对象模型有哪几个步骤?3.复杂问题的对象模型有哪5个层次?4.建立动态模型的步骤有哪些?5.如何建立功能模型?6.用面向对象方法分析第二章习题17中描述的储蓄系统,试建立它的对象模型、动态模型和功能模型。

1.面向对象设计应该遵循哪些准则?简述每条准则的内容,并说明遵循该条准则的必要性。

2.简述有助于提高面向对象设计质量的每条主要启发式规则的内容和必要性。

3.为什么说类构件是目前较为理想的可重用软构件?它有哪些重用方式?4.什么是继承耦合?5.如何计算软件重用带来的净成本节省?6.试用面向对象的方法设计第二章习题17中描述的储蓄系统。

第十一章面向对象实现1.面向对象实现应该选用哪种程序设计语言?为什么?2.面向对象程序设计语言主要有哪些技术特点?3.选择面向对象程序设计语言时主要应该考虑哪些因素?4.良好的面向对象程序设计风格主要有哪些准则?5.测试面向对象软件时,单元测试、集成测试和确认测试各有哪些新特点?6.测试面向对象软件时,主要有哪些设计单元测试用例的方法?7.测试面向对象软件时,主要有哪些设计集成测试用例的方法?8.测试面向对象软件时,主要有哪些设计确认测试用例的方法?第十二章项目管理1.请简单描述有哪些进行软件规模估算的方法。

2.在工作量估算技术中,动态多变量模型比静态单变量模型有哪些优点?3.简述Gantt图的用途和优缺点。

4.简述关键路径法CPM工作步骤5.目前项目开发时常用的小组组织方法有哪些?6.简述主程序员组的优缺点。

7.什么是软件质量?8.软件质量保证的措施主要有哪些?9.参加软件质量保证活动的人员有哪两类?10.简述技术复审的必要性。

11.什么是软件能力成熟度模型?其基本思想是什么?12.简述软件能力成熟度模型的5个等级。

相关文档
最新文档