自考问答 自考本科自考百科
自考问答 > 自考百科 > 软件工程自考真题简答题汇编推荐

软件工程自考真题简答题汇编推荐

发布时间:

软件工程自考真题简答题汇编推荐

发布时间:

软件工程自考真题简答题汇编推荐

又是你,知识是别人的,还是要装在自己脑子里才是自己的哈

一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.“软件工程的概念是为解决软件危机而提出的”这句话的意思是( )A.强调软件工程成功解决了软件危机的问题B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D.说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护存在的问题2.瀑布模型的主要特点是( )A.将开发过程严格地划分为一系列有序的活动B.将开发过程分解为阶段C.提供了有效的管理模式D.缺乏灵活性3.在软件工程的需求分析阶段,不属于问题识别内容的是( )A.功能需求B.性能需求C.环境需求D.输入/输出需求4.画某系统的数据流图时,顶层图有( )A.0张B.1张C.2张D.3张及其以上5.软件模块内聚性最强的是( )A.功能内聚B.通信内聚C.偶然内聚D.逻辑内聚6.最早提出软件系统维护问题的阶段是( )A.可行性分析B.需求分析C.概要设计D.详细设计7.SD(结构化设计)方法设计的结果是( )A.模块B.模块结构图C.模块的算法D.数据流图8.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试( )A.单元测试B.系统测试C.集成测试D.确认测试9.软件详细设计阶段的任务是( )A.算法与数据结构设计B.功能设计C.调用关系设计D.输入/输出设计10.下列属于静态测试方法的是( )A.黑盒法B.路径覆盖C.白盒法D.人工检测11.Fortran语言主要作为以下哪个方面的语言( )A.科学工程计算B.系统软件C.事务处理D.人工智能12.用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是( )A.顺序结构B.选择结构C.嵌套结构D.重复结构l3.可维护软件的主要特性包括( )A.可理解性、可修改性、可移植性B.可使用性C.可维护性、可使用性、可靠性D.可测试性14.程序设计语言不具有的特性是( )A.心理特性B.工程特性C.应用特性D.技术特性15.下列不属于项目进度安排主要方法的是( )A.工程网络图B.Gantt图C.进度结构图D.任务资源表16.下列不属于通常冗余技术的是( )A.结构冗余B.信息冗余C.时间冗余D.代码冗余17.下列工具中,属于需求追踪工具的是( )A.在DBMS上的应用运行工具B.追踪和状态报告C.访问和版本控制机构D.文件和修改管理18.关于软件测试的目的,下面观点错误的是( )A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试19.在制定项目开发计划文档时,不包含的内容是( )A.项目概述B.实施计划C.测试计划D.交付期限20.面向对象的开发方法中,以下哪种方法原是面向Ada语言的,并处于面向对象开发方法的奠基性地位( )A.Booch方法B.Coad方法C.UML语言D.OMT方法二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。21.可行性研究从技术可行性、经济可行性、________三方面进行分析。22.IDEF0方法用来描述系统的功能活动及其联系,建立系统的_______模型。23.结构化方法总的指导思想是_______逐层分解。24.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为________。25.软件部件的内部实现与外部可访问性分离,这是指软件的______。26.用来模拟被测模块的上级调用模块的模块称为_______。27.软件复杂性度量的参数很多,主要有规模、_______、结构、智能度。28.软件开发环境中最主要的组成部分是______。29.软件工程管理的具体内容包括对开发人员、组织机构、用户和______等方面的管理。30.增量模型根据增量方式和形式的不同,分为_____和原型模型。三、名词解释题(本大题共5小题,每小题3分,共15分)31.过程设计语言(PDL)32.可移植性33.渐增式测试34.详细设计35.条件覆盖四、简答题(本大题共4小题,每小题5分,共20分)36.软件生存周期可以分为几个阶段,每个阶段的提交物是什么?37.结构化分析的描述工具有哪些?简述结构化分析的步骤。38.什么是黑盒测试法?常用的黑盒测试方法有哪些?39.简述面向对象的特征。五、应用题(本大题共2小题,第40小题10分,第41小题15分,共25分)40.某个学生成绩管理系统的部分功能如下:(1)基本信息管理:教务管理人员输入或修改学期教学执行计划、学生名单和教师名单;(2)学生选课:学生根据教学执行计划进行选课;(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;(4)成绩管理:每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、维护成绩,系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。请根据要求画出该问题的分层数据流图(要求画出顶层和0层数据流图)。 一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题后的括号内。每小题1分,共20分) 1. “软件危机”是指( ) A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 2. DFD中的每个加工至少需要( ) A. 一个输入流 B. 一个输出流 C. 一个输入或输出流 D. 一个输入流和一个输出流 3. 为了提高模块的独立性,模块之间最好是( ) A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合 4. 下面关于PDL语言不正确的说法是( ) A. PDL是描述处理过程怎么做 B. PDL是只描述加工做什么 C. PDL也称为伪码 D. PDL的外层语法应符合一般程序设计语言常用的语法规则 5. 详细设计与概要设计衔接的图形工具是( ) A. DFD图 B. 程序图 C. PAD图 D. SC图 6. 不适合作为数据处理与数据库应用的语言是( ) A. SQL B. Cobol C. 4GL D. Lisp 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. 下列有关软件工程的标准,属于行业标准的是( ) A. GB B. DIN C. ISO D. IEEE 16. 下列文档与维护人员有关的有( ) A. 软件需求说明书 B. 项目开发计划 C. 概要设计说明书 D. 操作手册 17. 在屏蔽软件错误的冗错技术中,冗余附加件的构成包括( ) A. 关键程序和数据的冗余存储和调用 B. 为检测或纠正信息在运算或传输中的错误须外加的一部分信息 C. 检测、表决、切换、重构、纠错和复算的实现 D. 实现错误检测和错误恢复的程序 18. ( )是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作。 A. 质量检测 B. 软件容错 C. 软件维护 D. 系统容错 19. 表示对象相互行为的模型是( )模型。 A. 动态模型 B. 功能模型 C. 对象模型 D. 静态模型 20. CASE工具的表示集成是指CASE工具提供相同的( ) A. 编程环境 B. 用户界面 C. 过程模型 D. 硬件/操作系统 二、填空题(每空2分,共20分) 1. 作为计算机科学技术领域中的一门新兴学科,软件工程主要是为了解决________问题。 2. 投资回收期就是使________等于最初的投资费用所需时间。 3. 在IDEF0方法的一个活动图形中控制活动是指________。 4. 划分模块时尽量做到________,保持模块的独立性。 5. PAD图是一种________展开的二维树形结构。 6. 对校正性维护应该从________的严重性开始。 7. 类的实例化是________。 8. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是________和________。 9. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。这种成本估算方法称为________。 三、名词解释(每小题3分,共15分) 1. 需求分析 2. 耦合性 3. 结构化程序设计 4. 状态图 5. 软件配置管理 四、简答题(每小题5分,共20分) 1. 简述演绎法调试的具体步骤。 2. 简述增量模型和瀑布模型的本质区别。 3. 简述设计一个容错系统的步骤。 4. 简述在项目开发时,选择程序设计语言应考虑因素。 五、应用题(第1题6分,第2小题8分,第3小题11分,共25分) 1. 某部门要处理大批单据所组成的事务文件,单据分为进货单和发货单两种,每种 单据由多行组成,每行包括零件号、零件名称、数量三个数据项。 要求:用Jackson方法表示事务文件的数据结构。(6分) 2. 根据以下被测试的流程图,选择相应的答案。(8分) (1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1 A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2 ①在1-3的答案中满足判定覆盖的测试用例是________ (2分) ②在1-3的答案中满足条件覆盖的测试用例是________ (2分) ③在1-3的答案中满足判定/条件覆盖的测试用例是________ (2分) (4)A=2, B=0, X=4 (5)A=2, B=0, X=4 (6)A=2, B=0, X=4 A=2, B=1,X=1 A=2, B=2, X=1 A=1, B=1, X=1 A=1, B=0,X A=1, B=0, X=3 A=1, B=1, X=4 A=1, B=1,X=1 A=1, B=2, X=2 A=3, B=0, X=3 ④在4-6的答案中满足条件组合覆盖的测试用例是________(1分) ⑤在4-6的答案中满足路径覆盖的测试用例是________(1分) 3. 某电视购物公司采用面向对象技术实现商品销售计算机系统,基本需求如下: (1)公司提供多种类商品,每种商品通过委托订单来进行征订。 (2)公司下属多个分公司,每个分公司负责本地区委托订单的收录,打印收款凭证单。 (3)公司负责分类、统计各分公司送来的委托单,进行分类统计。 要求:按照上述模型建立对象模型。(11分) 一、 1.C 2.D 3.D 4.B 5.D 6.D 7.B 8.D 9.D 10.D 11.C 12.B 13.A 14.C 15.D 16.C 17.D 18.A 19.A 20.B 二、 1.如何建立一个软件系统 2.积累的经济效益 3.所受到的约束条件 4.高内聚低耦合 5.有左往右 6.评价错误 7.对象 8.MTTF MTBF 9.自底向上估算方法 三、 1. 需求分析是指,开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈 述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。 2. 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。 3. 结构化程序设计是实现该目标的关键技术之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。 结构化程序设计方法的基本要点是: 1)采用自顶向下、逐步求精的程序设计方法 2)使用三种基本控制结构构造程序 3)主程序员组的组织形式。 4. 状态图是一个标准的计算机概念,它是有限自动机的图形表示,它反映了状态与事件的关系,状态图确定了由事件序列引起的状态序列。 5. 软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更;控制变更;确保变更正确地实现;报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。 四、 1.演绎法调试步骤:列出所有可能的错误原因的假设;排除不适当的假设;精化余于的假设;证明余于的假设。 2.瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。 3.(1)按设计任务要求进行常会设计,尽量保证设计的正确 (2)对可能出现的错误分类,确定实现容错的范围 (3)按照“成本—效率”最优原则,选用某种冗余手段(结构,信息,时间)来实现对各类错误的屏蔽 (4)分析或验证上述冗余结构的容错效果 4.(1)项目的应用领域;(2)软件开发的方法 (3)软件执行的环境(4)算法和数据结构的复杂性(5)软件开发人员的知识(选自不倒翁的博客)

软件工程复习题 四、简答题 1、可行性研究的任务是什么? 首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。一技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。二经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。三社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。 2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系? 一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。 3、需求分析阶段的基本任务是什么?需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:一问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。二分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。三编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。 4、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点? 一等价类划分。 等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。 二边界值分析。 该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。 三错误推测。 错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。 四因果图。 因果图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。 5、什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“→”箭头表示数据流;“○”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点。 6、说明动态建模的过程。一准备脚本。动态分析从寻找事件开始,然后确定各对象的可能事件的顺序。在分析阶段不考虑算法的执行,算法是实现模型的一部分。二确定事件。确定所有外部事件。事件包括所有来自或发往用户的信息、外部设备的信号、输入、转换和动作。三准备事件跟踪表。把脚本表示成一个事件跟踪表,对象为表中的列,给每一个对象分配一个独立的列。四构造状态图。对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中一条路径。 7、软件维护的特点是什么?主要体现在三个方面:<1>非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。<2>维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管理和规划,就会引起软件运行时的维护困难。<3>软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。 8、请说明软件文档的作用?软件开发项目生存期各阶段都包含哪些文档?软件文档的作用是:提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。软件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下:可行性研究报告、项目开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)。 9、什么是确认测试?该阶段有哪些工作?确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。<1>确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。<2>软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。 10、在划分软件生存周期阶段时,应遵循的基本原则是什么? 软件生存周期的各个阶段有不同的划分。软件规模、种类、开发方式、开发环境以及开发使用方法都影响软件生存周期的划分。在划分软件生存周期阶段时,应遵循的一条基本原则是各阶段的任务应尽可能相对独立,同一阶段各项目任务的性质尽可能相同,从而降低每个阶段任软件工程复习题 四、简答题 1、可行性研究的任务是什么? 首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。一技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。二经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。三社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。 2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系? 一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。 3、需求分析阶段的基本任务是什么?需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:一问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。二分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。三编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。 4、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点? 一等价类划分。 等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。 二边界值分析。 该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。 三错误推测。 错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。 四因果图。 因果图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。 5、什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“→”箭头表示数据流;“○”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点。 6、说明动态建模的过程。一准备脚本。动态分析从寻找事件开始,然后确定各对象的可能事件的顺序。在分析阶段不考虑算法的执行,算法是实现模型的一部分。二确定事件。确定所有外部事件。事件包括所有来自或发往用户的信息、外部设备的信号、输入、转换和动作。三准备事件跟踪表。把脚本表示成一个事件跟踪表,对象为表中的列,给每一个对象分配一个独立的列。四构造状态图。对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中一条路径。 7、软件维护的特点是什么?主要体现在三个方面:<1>非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。<2>维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管理和规划,就会引起软件运行时的维护困难。<3>软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。 8、请说明软件文档的作用?软件开发项目生存期各阶段都包含哪些文档?软件文档的作用是:提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。软件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下:可行性研究报告、项目开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)。 9、什么是确认测试?该阶段有哪些工作?确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。<1>确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。<2>软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。 10、在划分软件生存周期阶段时,应遵循的基本原则是什么? 软件生存周期的各个阶段有不同的划分。软件规模、种类、开发方式、开发环境以及开发使用方法都影响软件生存周期的划分。在划分软件生存周期阶段时,应遵循的一条基本原则是各阶段的任务应尽可能相对独立,同一阶段各项目任务的性质尽可能相同,从而降低每个阶务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。

软件工程自考真题简答题汇编

一. 简答题:1.软件工程的定义 P4答:软件工程师一门工程学科,涉及软件生成的各个方面,从最初的系统描述一直到使用后的系统维护,都属于其学科范畴。2.软件工程所面临的主要问题 P3表格答:多样性的挑战:必须开发出新技术,制作可靠的软件,从而足以灵活应对这种多样性。 交付上的挑战:在不损及系统质量的前提下,缩短大型、复杂系统的移交时间。 信任的挑战:研究能说明软件可信的技术。3.社会技术系统定义及主要特征 P12-13答:定义:一个包含有人、软件和硬件在内的系统。特征:它们都有其整体特性他们通常是不确定的系统支持机构目标的程度和范围不仅仅依赖于系统本身4.瀑布模型的概念及其包含阶段 P39-40答:概念:这个模型采用一些基本的过程活动,即描述、开发、有效性验证和进化,并且使 用单独的过程阶段(如需求描述、软件设计、实现和测试等阶段)表现这些活动 包含阶段:需求分析和定义、系统和软件设计、实现和单元测试、集成和系统测试、运行和维护5.增量式开发的概念 P43答:增量式开发是一种集中了这些模型的优点的体重综合方法。每一步增量实现了一个或多个最终用户功能。每一步增量包含所有早期的已开发的功能集加上一些新的功能;系统在逐步累积的增量中增长。就是一步一步渐增式的开发。6.软件工程的四个基本过程活动 P38答:软件描述、软件设计和实现、软件有效性验证、软件进化7.介绍软件工程的功能需求,非功能需求和领域需求 P73答:功能需求:包括对系统应该提供的服务、如何对输入作出反应以及系统在特定条件下的行为的描述。在某些情况下,功能需求可能还需明确声明系统不应该做什么。 非功能需求:对系统提供的服务或功能给出的约束。包括时间约束、开发过程的约束、标准等。非功能需求常用于整个系统。通常不用在单个系统或服务中。 领域需求:这是来自系统的应用领域的需求,反应了该领域的特点。他们也可能是功能需求或非公能需求。8.客户机/服务器模型及优缺点 P152-153答: 客户机/服务器体系结构的模型是一个分布式系统模型,系统由一组服务及相关的服务器组成,客户机访问并使用这些服务。优点:它是一个分布式体系结构。由许多分布式处理器构成网络系统可提供更有效的使用。添加一台服务器或更新服务器很容易而且是透明的,不会影响系统的其他部分。缺点:在系统中集成一台服务器需要改变现存的客户机和服务器以便获得性能提升。要为每个服务器建立专门的数据模型以便优化其性能。9.分层模型及优缺点 P153-154答: 把系统组织成一系列的层次,每一层提供一组服务。每一层定义一个抽象机,每个抽象机是由其下层的源机的代码构成的。优点:支持系统的增量式开发。抽象机转换到其他机器上实现比较容易。缺点:顶层上的用户服务可能会需要穿过其相邻层来获取由更低层所提供的服务。性能也是一个问题。10.数据处理系统及特点 P181答:系统是以数据为中心的,它们的数据库要比系统本身大很多个数量级。特点:是批处理系统,数据的输入和输出时成批地从文件或数据库中取出,也是成批地存入文件或数据库中的,而不是对用户终端进行输入和输出。11.编译器一般体系结构中包含的组件 P188-189答:词法分析器、符号表、语法分析器、语法树、语义分析器、代码生成器。12.面向对象设计中,并发对象的实现方式和工作方式 P194-195答:实现方式与工作方式:服务器 对象被实现为一个并行进程,它的方法对应为定义的对象操作。在收到外部时间后方法被启动,方法的执行与其他对象上的方法是并行的。当对象完成了自身的操作时,对象中止,等待进一步的服务请求。主动对象 对象状态的改变可以来自对象内部操作的执行。代表对象的进程不停地执行这些操作,从不挂起。13.用户界面设计过程中的核心活动 P230答:用户分析:理解用户所做的任务、工作环境、使用的其他系统、如何在工作中与他人交互等。系统原型开发:开发原型系统并展示给用户看,让他们指导界面的进化。界面评估:一个更正式的评估活动,在评估中收集有关用户对界面的真实体验信息。14.极限编程适合敏捷方法原则 P244答:(1)增量式开发时通过系统的小的频繁发布的版本来支持的,其间所采用的需求描述方法是基于客户情节或脚本的,这样的客户情节或脚本可以成为过程规划的根据。(2)客户的参与是通过全时雇佣到开发团队的方式。客户代表参与开发并负责定义系统的接受测试。(3)人是通过结对编程、集体对系统代码所有权、可以忍受的开发过程而无需超频的工作小时来运作的。(4)变更是通过经常性的系统版本、测试优先的开发以及连续的集成来支持的。通过持续的再分解来改善代码质量并使用不预期系统将来的变更的简单设计,来支持简洁性的维护。15.极限编程测试的关键特性 P246答: XP当中的测试的关键特性:(1)测试优先的开发。(2)来自脚本的增量式测试开发。(3)用户参与到测试开发和有效性验证中。(4)自动测试系统的使用。16.软件原型在软件开发过程中的使用方式答:(1)在需求工程过程中,原型可以帮助导出系统需求并验证系统需求的有效性。 (2)在系统设计阶段,原型可以用来探索特殊的软件解决方案和支持用户界面设计。 (3)在测试阶段,原型可以用来对准备移交给客户的系统运行背对背的测试。17.在规划软件复用时需要考虑的相关约束答:软件开发进度表 所预计的软件生命期 开发团队的背景,技术和经验软件的危险程度和它的非功能性需求应用领域 系统运行平台18.在集成商业限制系统中面临的问题答:对功能和性能缺乏控制 商业现成系统间的互操作问题 无法控制系统的进化 COTS产品厂商的支持19.组件与对象之间有什么区别答:组件是可部署的实体组件不定义类型组件实现是不透明的组件是独立于语言的 组件是标准化的20.基于组件的软件开发过程与传统的软件开发过程有什么不同答:(1)最初对用户需求的开发只需要是概要性的而不用十分详细,且鼓励信息持有者在定 义他们的需求时尽可能地灵活。 (2)在过程的早期阶段根据可利用的组件来细化和修改需求。 (3)在系统体系结构设计完成后,会有一个进一步的组件搜索及设计精炼的活动。 (4)开发就是将已发现的组件集成在一起的组成过程。21.列举软件维护费用高的原因答:团队稳定性,合同责任 人员技术水平 程序年龄和结构22.对软件可维护性评估有用的过程度量包括哪些答:纠正性维护请求的数目影响分析所需的平均时间实现一个变更请求的平均时间突出的变更请求的数目23.系统再工程过程中的行为有哪些答:源代码转换 反向工程 程序结构改善 程序模块化 数据再工程

2.      1.P(Plan)软件规格说明            2.D(Do)软件开发            3.C(Check)软件确认            4A(Action)软件演进

3.    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架.

1.打开visio,在visio里选择创建框图

2.拉八个圆圈,并调整大小和形状

3.选中单箭头,输入一定的箭头(注意,拉过去的箭头都是双向的,要选中双向箭头/右击/箭头向右)

4双击箭头中间就可以编辑想要的文字(要调整相应的文本格式)。

所得图形如下图第二图示:

1.选择创建基本流程图

2.拉足够多个流程和箭头(箭头要稍作变化,先选中连接线工具,然后右击选直线连接线)

3.双击相应位置,编辑想要输入的文字

据上图,所得图如下示:

二、同上图做法:

软件工程自考真题简答题汇总

一. 简答题:1.软件工程的定义 P4答:软件工程师一门工程学科,涉及软件生成的各个方面,从最初的系统描述一直到使用后的系统维护,都属于其学科范畴。2.软件工程所面临的主要问题 P3表格答:多样性的挑战:必须开发出新技术,制作可靠的软件,从而足以灵活应对这种多样性。 交付上的挑战:在不损及系统质量的前提下,缩短大型、复杂系统的移交时间。 信任的挑战:研究能说明软件可信的技术。3.社会技术系统定义及主要特征 P12-13答:定义:一个包含有人、软件和硬件在内的系统。特征:它们都有其整体特性他们通常是不确定的系统支持机构目标的程度和范围不仅仅依赖于系统本身4.瀑布模型的概念及其包含阶段 P39-40答:概念:这个模型采用一些基本的过程活动,即描述、开发、有效性验证和进化,并且使 用单独的过程阶段(如需求描述、软件设计、实现和测试等阶段)表现这些活动 包含阶段:需求分析和定义、系统和软件设计、实现和单元测试、集成和系统测试、运行和维护5.增量式开发的概念 P43答:增量式开发是一种集中了这些模型的优点的体重综合方法。每一步增量实现了一个或多个最终用户功能。每一步增量包含所有早期的已开发的功能集加上一些新的功能;系统在逐步累积的增量中增长。就是一步一步渐增式的开发。6.软件工程的四个基本过程活动 P38答:软件描述、软件设计和实现、软件有效性验证、软件进化7.介绍软件工程的功能需求,非功能需求和领域需求 P73答:功能需求:包括对系统应该提供的服务、如何对输入作出反应以及系统在特定条件下的行为的描述。在某些情况下,功能需求可能还需明确声明系统不应该做什么。 非功能需求:对系统提供的服务或功能给出的约束。包括时间约束、开发过程的约束、标准等。非功能需求常用于整个系统。通常不用在单个系统或服务中。 领域需求:这是来自系统的应用领域的需求,反应了该领域的特点。他们也可能是功能需求或非公能需求。8.客户机/服务器模型及优缺点 P152-153答: 客户机/服务器体系结构的模型是一个分布式系统模型,系统由一组服务及相关的服务器组成,客户机访问并使用这些服务。优点:它是一个分布式体系结构。由许多分布式处理器构成网络系统可提供更有效的使用。添加一台服务器或更新服务器很容易而且是透明的,不会影响系统的其他部分。缺点:在系统中集成一台服务器需要改变现存的客户机和服务器以便获得性能提升。要为每个服务器建立专门的数据模型以便优化其性能。9.分层模型及优缺点 P153-154答: 把系统组织成一系列的层次,每一层提供一组服务。每一层定义一个抽象机,每个抽象机是由其下层的源机的代码构成的。优点:支持系统的增量式开发。抽象机转换到其他机器上实现比较容易。缺点:顶层上的用户服务可能会需要穿过其相邻层来获取由更低层所提供的服务。性能也是一个问题。10.数据处理系统及特点 P181答:系统是以数据为中心的,它们的数据库要比系统本身大很多个数量级。特点:是批处理系统,数据的输入和输出时成批地从文件或数据库中取出,也是成批地存入文件或数据库中的,而不是对用户终端进行输入和输出。11.编译器一般体系结构中包含的组件 P188-189答:词法分析器、符号表、语法分析器、语法树、语义分析器、代码生成器。12.面向对象设计中,并发对象的实现方式和工作方式 P194-195答:实现方式与工作方式:服务器 对象被实现为一个并行进程,它的方法对应为定义的对象操作。在收到外部时间后方法被启动,方法的执行与其他对象上的方法是并行的。当对象完成了自身的操作时,对象中止,等待进一步的服务请求。主动对象 对象状态的改变可以来自对象内部操作的执行。代表对象的进程不停地执行这些操作,从不挂起。13.用户界面设计过程中的核心活动 P230答:用户分析:理解用户所做的任务、工作环境、使用的其他系统、如何在工作中与他人交互等。系统原型开发:开发原型系统并展示给用户看,让他们指导界面的进化。界面评估:一个更正式的评估活动,在评估中收集有关用户对界面的真实体验信息。14.极限编程适合敏捷方法原则 P244答:(1)增量式开发时通过系统的小的频繁发布的版本来支持的,其间所采用的需求描述方法是基于客户情节或脚本的,这样的客户情节或脚本可以成为过程规划的根据。(2)客户的参与是通过全时雇佣到开发团队的方式。客户代表参与开发并负责定义系统的接受测试。(3)人是通过结对编程、集体对系统代码所有权、可以忍受的开发过程而无需超频的工作小时来运作的。(4)变更是通过经常性的系统版本、测试优先的开发以及连续的集成来支持的。通过持续的再分解来改善代码质量并使用不预期系统将来的变更的简单设计,来支持简洁性的维护。15.极限编程测试的关键特性 P246答: XP当中的测试的关键特性:(1)测试优先的开发。(2)来自脚本的增量式测试开发。(3)用户参与到测试开发和有效性验证中。(4)自动测试系统的使用。16.软件原型在软件开发过程中的使用方式答:(1)在需求工程过程中,原型可以帮助导出系统需求并验证系统需求的有效性。 (2)在系统设计阶段,原型可以用来探索特殊的软件解决方案和支持用户界面设计。 (3)在测试阶段,原型可以用来对准备移交给客户的系统运行背对背的测试。17.在规划软件复用时需要考虑的相关约束答:软件开发进度表 所预计的软件生命期 开发团队的背景,技术和经验软件的危险程度和它的非功能性需求应用领域 系统运行平台18.在集成商业限制系统中面临的问题答:对功能和性能缺乏控制 商业现成系统间的互操作问题 无法控制系统的进化 COTS产品厂商的支持19.组件与对象之间有什么区别答:组件是可部署的实体组件不定义类型组件实现是不透明的组件是独立于语言的 组件是标准化的20.基于组件的软件开发过程与传统的软件开发过程有什么不同答:(1)最初对用户需求的开发只需要是概要性的而不用十分详细,且鼓励信息持有者在定 义他们的需求时尽可能地灵活。 (2)在过程的早期阶段根据可利用的组件来细化和修改需求。 (3)在系统体系结构设计完成后,会有一个进一步的组件搜索及设计精炼的活动。 (4)开发就是将已发现的组件集成在一起的组成过程。21.列举软件维护费用高的原因答:团队稳定性,合同责任 人员技术水平 程序年龄和结构22.对软件可维护性评估有用的过程度量包括哪些答:纠正性维护请求的数目影响分析所需的平均时间实现一个变更请求的平均时间突出的变更请求的数目23.系统再工程过程中的行为有哪些答:源代码转换 反向工程 程序结构改善 程序模块化 数据再工程

2.      1.P(Plan)软件规格说明            2.D(Do)软件开发            3.C(Check)软件确认            4A(Action)软件演进

3.    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架.

1.打开visio,在visio里选择创建框图

2.拉八个圆圈,并调整大小和形状

3.选中单箭头,输入一定的箭头(注意,拉过去的箭头都是双向的,要选中双向箭头/右击/箭头向右)

4双击箭头中间就可以编辑想要的文字(要调整相应的文本格式)。

所得图形如下图第二图示:

1.选择创建基本流程图

2.拉足够多个流程和箭头(箭头要稍作变化,先选中连接线工具,然后右击选直线连接线)

3.双击相应位置,编辑想要输入的文字

据上图,所得图如下示:

二、同上图做法:

一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.“软件工程的概念是为解决软件危机而提出的”这句话的意思是( )A.强调软件工程成功解决了软件危机的问题B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D.说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护存在的问题2.瀑布模型的主要特点是( )A.将开发过程严格地划分为一系列有序的活动B.将开发过程分解为阶段C.提供了有效的管理模式D.缺乏灵活性3.在软件工程的需求分析阶段,不属于问题识别内容的是( )A.功能需求B.性能需求C.环境需求D.输入/输出需求4.画某系统的数据流图时,顶层图有( )A.0张B.1张C.2张D.3张及其以上5.软件模块内聚性最强的是( )A.功能内聚B.通信内聚C.偶然内聚D.逻辑内聚6.最早提出软件系统维护问题的阶段是( )A.可行性分析B.需求分析C.概要设计D.详细设计7.SD(结构化设计)方法设计的结果是( )A.模块B.模块结构图C.模块的算法D.数据流图8.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试( )A.单元测试B.系统测试C.集成测试D.确认测试9.软件详细设计阶段的任务是( )A.算法与数据结构设计B.功能设计C.调用关系设计D.输入/输出设计10.下列属于静态测试方法的是( )A.黑盒法B.路径覆盖C.白盒法D.人工检测11.Fortran语言主要作为以下哪个方面的语言( )A.科学工程计算B.系统软件C.事务处理D.人工智能12.用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是( )A.顺序结构B.选择结构C.嵌套结构D.重复结构l3.可维护软件的主要特性包括( )A.可理解性、可修改性、可移植性B.可使用性C.可维护性、可使用性、可靠性D.可测试性14.程序设计语言不具有的特性是( )A.心理特性B.工程特性C.应用特性D.技术特性15.下列不属于项目进度安排主要方法的是( )A.工程网络图B.Gantt图C.进度结构图D.任务资源表16.下列不属于通常冗余技术的是( )A.结构冗余B.信息冗余C.时间冗余D.代码冗余17.下列工具中,属于需求追踪工具的是( )A.在DBMS上的应用运行工具B.追踪和状态报告C.访问和版本控制机构D.文件和修改管理18.关于软件测试的目的,下面观点错误的是( )A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试19.在制定项目开发计划文档时,不包含的内容是( )A.项目概述B.实施计划C.测试计划D.交付期限20.面向对象的开发方法中,以下哪种方法原是面向Ada语言的,并处于面向对象开发方法的奠基性地位( )A.Booch方法B.Coad方法C.UML语言D.OMT方法二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。21.可行性研究从技术可行性、经济可行性、________三方面进行分析。22.IDEF0方法用来描述系统的功能活动及其联系,建立系统的_______模型。23.结构化方法总的指导思想是_______逐层分解。24.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为________。25.软件部件的内部实现与外部可访问性分离,这是指软件的______。26.用来模拟被测模块的上级调用模块的模块称为_______。27.软件复杂性度量的参数很多,主要有规模、_______、结构、智能度。28.软件开发环境中最主要的组成部分是______。29.软件工程管理的具体内容包括对开发人员、组织机构、用户和______等方面的管理。30.增量模型根据增量方式和形式的不同,分为_____和原型模型。三、名词解释题(本大题共5小题,每小题3分,共15分)31.过程设计语言(PDL)32.可移植性33.渐增式测试34.详细设计35.条件覆盖四、简答题(本大题共4小题,每小题5分,共20分)36.软件生存周期可以分为几个阶段,每个阶段的提交物是什么?37.结构化分析的描述工具有哪些?简述结构化分析的步骤。38.什么是黑盒测试法?常用的黑盒测试方法有哪些?39.简述面向对象的特征。五、应用题(本大题共2小题,第40小题10分,第41小题15分,共25分)40.某个学生成绩管理系统的部分功能如下:(1)基本信息管理:教务管理人员输入或修改学期教学执行计划、学生名单和教师名单;(2)学生选课:学生根据教学执行计划进行选课;(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;(4)成绩管理:每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、维护成绩,系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。请根据要求画出该问题的分层数据流图(要求画出顶层和0层数据流图)。 一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题后的括号内。每小题1分,共20分) 1. “软件危机”是指( ) A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 2. DFD中的每个加工至少需要( ) A. 一个输入流 B. 一个输出流 C. 一个输入或输出流 D. 一个输入流和一个输出流 3. 为了提高模块的独立性,模块之间最好是( ) A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合 4. 下面关于PDL语言不正确的说法是( ) A. PDL是描述处理过程怎么做 B. PDL是只描述加工做什么 C. PDL也称为伪码 D. PDL的外层语法应符合一般程序设计语言常用的语法规则 5. 详细设计与概要设计衔接的图形工具是( ) A. DFD图 B. 程序图 C. PAD图 D. SC图 6. 不适合作为数据处理与数据库应用的语言是( ) A. SQL B. Cobol C. 4GL D. Lisp 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. 下列有关软件工程的标准,属于行业标准的是( ) A. GB B. DIN C. ISO D. IEEE 16. 下列文档与维护人员有关的有( ) A. 软件需求说明书 B. 项目开发计划 C. 概要设计说明书 D. 操作手册 17. 在屏蔽软件错误的冗错技术中,冗余附加件的构成包括( ) A. 关键程序和数据的冗余存储和调用 B. 为检测或纠正信息在运算或传输中的错误须外加的一部分信息 C. 检测、表决、切换、重构、纠错和复算的实现 D. 实现错误检测和错误恢复的程序 18. ( )是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作。 A. 质量检测 B. 软件容错 C. 软件维护 D. 系统容错 19. 表示对象相互行为的模型是( )模型。 A. 动态模型 B. 功能模型 C. 对象模型 D. 静态模型 20. CASE工具的表示集成是指CASE工具提供相同的( ) A. 编程环境 B. 用户界面 C. 过程模型 D. 硬件/操作系统 二、填空题(每空2分,共20分) 1. 作为计算机科学技术领域中的一门新兴学科,软件工程主要是为了解决________问题。 2. 投资回收期就是使________等于最初的投资费用所需时间。 3. 在IDEF0方法的一个活动图形中控制活动是指________。 4. 划分模块时尽量做到________,保持模块的独立性。 5. PAD图是一种________展开的二维树形结构。 6. 对校正性维护应该从________的严重性开始。 7. 类的实例化是________。 8. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是________和________。 9. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。这种成本估算方法称为________。 三、名词解释(每小题3分,共15分) 1. 需求分析 2. 耦合性 3. 结构化程序设计 4. 状态图 5. 软件配置管理 四、简答题(每小题5分,共20分) 1. 简述演绎法调试的具体步骤。 2. 简述增量模型和瀑布模型的本质区别。 3. 简述设计一个容错系统的步骤。 4. 简述在项目开发时,选择程序设计语言应考虑因素。 五、应用题(第1题6分,第2小题8分,第3小题11分,共25分) 1. 某部门要处理大批单据所组成的事务文件,单据分为进货单和发货单两种,每种 单据由多行组成,每行包括零件号、零件名称、数量三个数据项。 要求:用Jackson方法表示事务文件的数据结构。(6分) 2. 根据以下被测试的流程图,选择相应的答案。(8分) (1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1 A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2 ①在1-3的答案中满足判定覆盖的测试用例是________ (2分) ②在1-3的答案中满足条件覆盖的测试用例是________ (2分) ③在1-3的答案中满足判定/条件覆盖的测试用例是________ (2分) (4)A=2, B=0, X=4 (5)A=2, B=0, X=4 (6)A=2, B=0, X=4 A=2, B=1,X=1 A=2, B=2, X=1 A=1, B=1, X=1 A=1, B=0,X A=1, B=0, X=3 A=1, B=1, X=4 A=1, B=1,X=1 A=1, B=2, X=2 A=3, B=0, X=3 ④在4-6的答案中满足条件组合覆盖的测试用例是________(1分) ⑤在4-6的答案中满足路径覆盖的测试用例是________(1分) 3. 某电视购物公司采用面向对象技术实现商品销售计算机系统,基本需求如下: (1)公司提供多种类商品,每种商品通过委托订单来进行征订。 (2)公司下属多个分公司,每个分公司负责本地区委托订单的收录,打印收款凭证单。 (3)公司负责分类、统计各分公司送来的委托单,进行分类统计。 要求:按照上述模型建立对象模型。(11分) 一、 1.C 2.D 3.D 4.B 5.D 6.D 7.B 8.D 9.D 10.D 11.C 12.B 13.A 14.C 15.D 16.C 17.D 18.A 19.A 20.B 二、 1.如何建立一个软件系统 2.积累的经济效益 3.所受到的约束条件 4.高内聚低耦合 5.有左往右 6.评价错误 7.对象 8.MTTF MTBF 9.自底向上估算方法 三、 1. 需求分析是指,开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈 述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。 2. 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。 3. 结构化程序设计是实现该目标的关键技术之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。 结构化程序设计方法的基本要点是: 1)采用自顶向下、逐步求精的程序设计方法 2)使用三种基本控制结构构造程序 3)主程序员组的组织形式。 4. 状态图是一个标准的计算机概念,它是有限自动机的图形表示,它反映了状态与事件的关系,状态图确定了由事件序列引起的状态序列。 5. 软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更;控制变更;确保变更正确地实现;报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。 四、 1.演绎法调试步骤:列出所有可能的错误原因的假设;排除不适当的假设;精化余于的假设;证明余于的假设。 2.瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。 3.(1)按设计任务要求进行常会设计,尽量保证设计的正确 (2)对可能出现的错误分类,确定实现容错的范围 (3)按照“成本—效率”最优原则,选用某种冗余手段(结构,信息,时间)来实现对各类错误的屏蔽 (4)分析或验证上述冗余结构的容错效果 4.(1)项目的应用领域;(2)软件开发的方法 (3)软件执行的环境(4)算法和数据结构的复杂性(5)软件开发人员的知识(选自不倒翁的博客)

软件工程自考真题简答题答案汇总

题号1:C题号2:B题号3:C题号4:A题号5:A题号6:C题号7:A题号8:C题号9:A第8题答案不确定。因为提高软件测试效率应该是:在完成编码以后制定软件的测试计划

软件工程|全国2015年4月02333软件工程自考试题百度网盘免费资源在线学习

链接:

软件工程 全国2015年4月02333软件工程自考试题.pdf

全国2014年10月自考(课程代码:02333)软件工程试题.pdf

全国2013年10月自考02333软件工程自学考试试题.doc

全国2012年10月高等教育自学考试_软件工程试题_课程代码02333.doc

《软件工程》02333_重点难点汇集.doc

2015年10月软件工程.pdf

2014年04月全国软件工程(02333)自考试题及答案.doc

2013年1月软件工程(02333).pdf

2011年10月全国软件工程(02333)自考试题及答案.pdf

专业代码:080720 一、考试课程及学分序号 课程代码 课程名称 学分 备注 1 0004 毛泽东思想概论 2 2 0005 马克思主义政治经济学原理 3 3 0015 英语(二) 14 4 2197 概率论与数理统计(二) 3 5 2324 离散数学 4 6 4737 C++程序设计 5 含实践2学分(4738) 7 7163 高级数据库技术 6 含实践2学分(7164) 8 7026 网络应用程序设计 4 9 7165 软件工程概论 5 含实践1学分(7166) 10 7167 多媒体计算机技术 5 含实践1学分(7168) 11 7028 软件测试技术 4 12 7029 软件项目管理 4 13 7169 软件开发工具与环境 4 含实践1学分(7170) 14 2141 计算机网络技术 4 15 7172 信息安全 4 6999 毕业论文 不计学分 总学分 71 二、说明 应考者可申请免考“英语(二)”课程,但必须加考“9911创业理论与实务(7学分)。9913现代生物导论(7学分)”两门课程。 三、学习书目 1.毛泽东思想概论《毛泽东思想概论》,罗正楷主编,武汉大学出版社。 2.马克思主义政治经济学原理《马克思主义政治经济学原理》,卫兴华主编,武汉大学出版社。 3.英语(二) 《大学英语英语教程》(上\下册),高远主编,高等教育出版社 4.概率论与数理统计(二) 《工程数学 概率论与数理统计》,孙洪祥。柳金主编,辽宁大学出版社(2006版) 5.离散数学《离散数学》,左孝凌主编,经济科学出版社。 6.C++程序设计《C++程序设计》,刘振安主编(2008版) 7.高级数据库技术《数据库技术及应用》,苗兰雪等主编,机械工业出版社(2006年1月1版)。 8.网络应用程序设计《网络程序设计—ASP》,尚俊杰编著,清华大学出版社。北京交通大学出版社(2004年2也第二版)。 9.软件工程概论《软件工程概论》,钟珞主编,清华大学出版社(2005年10月第一版)。 10.多媒体计算机技术《多媒体技术教程》,(修订本),胡晓峰。吴玲达。老松杨。司光亚主编,人民邮电出版社(2005年9月二版)。 11.软件测试技术《计算机软件测试》,[美]Cem Kaner等著,王峰。陈杰。喻琳译,机械工业出版社,中信出版社(原书第二版)。 12.软件项目管理《IT软件项目管理》,王强。曹汉平。贾素玲。木林森主编,清华大学出版社。 13.软件开发工具与环境《Visual C++6.0时尚编程百例》,网冠科技编著,机械工业出版社《Visual C++6.0程序设计从入门到精通》,求是科技。王正军编著,人民邮电出版社(2006年第一版)。 14.计算机网络技术《计算机网络技术》杨明福主编,经济科学出版社(2005版)。 15.信息安全《信息安全概论》,牛少彰主编,北京邮电出版社。 16.公文写作与处理《公文写作与处理》,饶士奇主编,辽宁教育出版社(2004版) 17.普通物理学《普通物理学》(第一册),程守珠主编,高等教育出版社。 18.创业理论与实务《创业理论与实务》,迟英庆等主编,江西人民出版社。 19.现代生物学导论(第5.6.10.11.12.16章不做考试要求) 《基础生命科学》(第二版),吴庆余主编,高等教育出版社。

软件工程自考真题2021题汇编

实践课程说是将你所学的理论知识转化成上机操作,都是由主考院校安排的,不会很难。

软件工程实践免费下载

链接:

软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率

教务老师,听见很多自考的同学在问自考软件工程本科难吗(2023年10月软件工程自考真题)相关问题,那么今天教务老师来告诉同学们这些问题的解答!请问软件工程专业的自考难度有多少,相比花十几万上药剂师专业的轻重如何。高考数学能够合格的话,软件工程应该有能力胜任。自考的难度没有普通高考那么难,但有些专业高中基础不太好的话肯定有些困难如:计算机类,电子类,英语等难度大实用性强的专业。从专业的技术理解难度太讲,软件工程难于药剂学专业,该专业需要有很强的逻辑推理和语言组织能力,数学要求比较高,英语也要有一定基础,以后主要从事JAVA或C++程序开发等。自考软件工程专业怎么样 大家给给意见如何评价一个专业的好坏,主要是看你自己对这个专业的喜爱程度和自己的基础。根据自考软件工程专业的考试计划,其中还是有一些需要一定的基础才能自学的课程,所以如果你本身有一定的基础,然后又比较喜欢这个专业的话,还是不错的,自考理工类专业的难度还是很大的,所以相比较文科而言也更被认可。个人是建议你结合自己的兴趣爱好选择专业,当下社会,现在很多好学校的好专业的学生也不见得就能从事自己专业相关的工作了。本回答由网友推荐自考/成考有疑问、不知道自考/成考考点内容、不清楚当地自考/成考政策,点击底部咨询官网老师,免费领取复习资料:

  •   索引序列
  •   软件工程自考真题简答题汇编推荐
  •   软件工程自考真题简答题汇编
  •   软件工程自考真题简答题汇总
  •   软件工程自考真题简答题答案汇总
  •   软件工程自考真题2021题汇编
  •   返回顶部

自考地区