com复合文档与持续化--yxm的程序人生
软件工程试题与答案 (6)
第一章软件工程概述一。
填空题1. 软件的发展过程, , ,。
2. 基于软件的工作方式,软件可以划分为 , , , .3。
在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 .4。
在计算机系统中,软件是,而硬件是。
5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。
6。
文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档.7. 软件生存期若分为三个大的阶段,, .8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码).9. 在软件的生存周期开发阶段要经三个步骤 , , 。
10. 瀑布模型是以文档为驱动、适合于的软件项目的模型.11。
螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。
12。
软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。
采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。
螺旋线第一圈的开始点可能是一个____ .从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
13。
软件开发模型,,,, , .14. 软件工程面临的问题有 , , , .15。
面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 .16.基于软件的功能划分可以把软件划分为, ,和。
17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机.为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。
18.软件工程是指导的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
计算机程序设计员(高级)复习题含答案
计算机程序设计员(高级)复习题含答案一、单选题(共90题,每题1分,共90分)1、随着信息技术的飞速发展,软件项目的生命周期()。
A、视情况而定B、没有变化C、越来越短D、越来越长正确答案:C2、下列不属于Visual C++的工程类型的是:()。
A、ATL COM AppWizardB、MFC ActiveX ControlWizardC、ISAPI Extension(Internet Server API)WizardD、Win16 Application正确答案:D3、多任务通常包括()大类。
A、5B、3C、2D、4正确答案:C4、所有的用户需求必须与()一致。
A、产品需求B、系统需求C、功能需求D、业务需求正确答案:D5、()是通过逐级文字菜单来组织链接和内容的,它不像WWW那样有丰富的多媒体页面。
A、FtpB、GopherC、FingerD、Http正确答案:B6、需求分析员与用户面谈时应当()。
①注意礼节②应事先了解用户的身份、背景③应该先了解细节问题,再了解宏观问题。
④避免片面地听取某些用户的需求A、①②③④B、①②④C、②③④D、①②③正确答案:B7、软件维护的种类不包括:()。
A、适应性维护B、完善性维护C、改正性维护D、扩展性维护正确答案:D8、下列那种方法不能提高程序的运行效率:()。
A、不要把不同的数据类型混在一起B、寻找复杂性小的算法C、简化逻辑结构D、尽量避免采用多维数组(C语言除外)和复杂的表格正确答案:C9、下列属于非授权访问行为的是()。
A、传播病毒B、窃取数据的使用权C、避开系统访问机制,非正常使用网络资源D、删除信息正确答案:C10、()是一种简单的协议,它使用的端口是43。
A、GopherB、HttpC、FtpD、Whois正确答案:D11、n个顶点的强连通图的邻接矩阵中至少有()个非零元素。
A、nB、2nC、n-1D、2n-2正确答案:D12、在一个调用语句上按()键将指示Debuger全速执行所调用的子程序。
PM习题2020级(1)
PM习题2020级一、选择题1.以下都是日常运作和项目的共同之处,除了()A.可以由人来完成B.受制于有限的资源C.需要规划、执行和控制D.都是重复性工作2.下面哪项属于预测型生存期模型?()A.瀑布模型B.增量模型C. Scrum模型D.迭代模型3.XP模型的实践原则不包括以下哪―点?()A.快速反馈B.假设简单C.包容变化D.详细设计4.下列哪项不是软件质量模型?()A. Boehm质量模型B.McCall质量模型C.关键路径模型D.ISO/IEC 9216模型5.你方首席工程师估计一项工作很可能需要50周完成,如果一切顺利的话,该项工作可在40周内完成。
如不顺利的话,最多将会用180周的时间完成,那么,此项工作预期完成周期的PERT值是()A.45周B.70周C.90周D.140周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. Scrum模型,XP模型,DevOps模型等都属于敏捷模型。
D. 敏捷模型是预测型和迭代型的混合模型。
12.敏捷项目需求一般采用下面哪项进行描述?()A. UsecaseB.DFD图C. StoryD.数据字13.项目建议书是哪个阶段开发的文档?()A.项目执行阶段B.项目结尾阶段C.项目初始阶段D.项目计划阶段14.在一个高科技公司,项目经理正在为一个新的项目选择合适的组织结构,这个项目涉及多的领域和特性,他应该选择()组织结构。
2021年软件工程形成性考核答案汇总
《软件工程》形成性考核答案第一、二章一、填空趣1.软件工程学内容可涉及(理论).构造.(办法).(工具).环境、管理.规范等。
2.软件生存周期普通可分为问题定义.(可行性研恥、(需求分析)、设计.(编码).测试.运营与维护阶段。
3.可行性研尤目是(用最小代价在尽虽短时间内拟定问题与否可以解决)。
4.系统流程图是(描绘物理系统)老式匸具。
5.在可行性研究中,(技术可行性)是系统开发过程中难度最大,最重要一种环节。
二、判断题1.软件工程采用生存周期办法就是从时间角度对软件开发和维护这个复朵问题进行分解,将软件生存时期分为若干阶段。
(V )2.螺旋模型是运用笛卡尔坐标四个象限上分别代表阴个方面活动來表达。
(V )3.原型模型合用于嵌入式软件。
(X)4•面向对辣技术是构件组装模型基木。
(J)5.在可行性研究中最难决断和最核心问题是经济可行性。
(X)6.系统流程图表达是部件信息流程.还表达对信息进行加「•解决控制过程。
(X)7.自底向上成木预计不是从整体开始,而是从任务収元开始。
(V )三、讯项选取题1.下列哪个阶段不是软件生存期三个阶段中内容(C )。
A・筹划阶段B.开发阶段C.编码阶段D.维护阶段2.下列关于瀑布模型描述对的是(C )。
A.瀑布模型孩心是按照软件开发时间顺序将问题简化。
B.瀑布模型具备良好灵活性。
C.瀑布模型采用构造化分析与设计办法.将逻辑实现与物埋实现分开。
D.运用瀑布模型,如果发现间题修改代价很低。
四、简答题1.软件定义与特点。
参照答案:软件是计算机系统中与换件互相依存另一某些.它是涉及程序,数据构造及其有关文档完整集合。
它涉及三个方面内容:⑴程序:在运营时,能提供所但愿功能和性能指令集C⑵数据构造:使程序可以对的运营数据构造。
⑶文档:描述程序研制过程、办法及使用图文材料。
软件产品具备如下某些特性:①软件是一种逻辑实体.而不是详细物理实体•因而它具备抽飮性。
②软件是通过人们智力活动.把知识与技术转化成信息一种产品,是在研制、开发中被创造出來。
2018年4月计算机系统集成中高级项目经理继续教育考试1000页之一
2018年4月计算机系统集成中高级项目经理继续教育考试1000页之一第一篇:2018年4月计算机系统集成中高级项目经理继续教育考试1000页之一2018年4月系统集成(高级)项目经理继续教育考试试题一、单选题(共60题)在下面的软件开发方法中,(B)对软件设计和开发人员的开发要求最高。
A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法2、系统/软件开发的原型化方法是一种有效的开发方法,下述基本环节中(D)是原型形成以后才实施的内容。
A、识别基本需要B、开发工作模型C、修正和改进模型D、进行细部说明3、在开发一个系统时,如果用户对系统的目标不很清楚,难以定义需求,这时最好采用(A)。
A、原型法B、瀑布模型C、V-模型D、螺旋模型4、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法是(B)。
A、明确的需求定义B、结构化方法C、面向对象方法D、功能分析法5、软件开发常使用的两种基本方法是结构化和原型化方法,在实际应用中,他们之间的关系经常变现为(B).A、自外向内B、互相补充C、独立使用D、交替使用6、原型化方法用户观看原型系统运行情况,形成(A)的意见。
A、改进用户界面设计B、使用与不使用那一种编程语言C、程序结构D、执行速度是否满足要求7、原型化方法从用户界面的开发人员入手,首先形成(C)。
A、需要不确定性的用户界面B、用户界面需求分析说明书C、系统界面原型D、完善的用户界面8、原型化方法是一类动态定义需求的方法,下列叙述中,(A)不具有原型化方法的特征。
A、加快系统架构设计B、加强用户参与和决策C、简化项目管理D、加快需求的确定9、状态图中,信息流被触发的必要条件是(C)。
A、某个活动的输入对象可用B、某个输入信号的到来C、前一活动的完成D、入口条件得以满足10、对象的状态,错误的说法是(B)。
A、对象在交互中具有不同的状态B、状态可以在对象间转换或变换、转移C、状态的变换需要事件触发D、触发一个状态变换完成需要执行一个动作11、状态图定义了状态机的表示符号,以下说法不正确的是(B)。
如何在Java编程中做到快速迭代和持续优化
如何在Java编程中做到快速迭代和持续优化在当今快节奏的软件开发环境中,快速迭代和持续优化是取得成功的关键。
对于 Java 编程来说,更是如此。
下面就让我们一起来探讨如何在 Java 编程中实现这两个重要的目标。
要做到快速迭代和持续优化,首先得有清晰明确的目标和需求。
在项目开始之前,一定要深入理解业务需求,与相关人员充分沟通,确保对项目的目标有清晰的认识。
这就像是在旅行前知道自己的目的地一样,只有方向明确,才能选择合适的路线。
代码的质量是实现快速迭代和持续优化的基础。
保持代码的简洁性、可读性和可维护性至关重要。
避免过度复杂的设计和冗长的函数,遵循良好的编程规范和设计原则,比如单一职责原则、开闭原则等。
一个清晰易懂的代码结构能让开发者更容易理解和修改代码,从而提高迭代的速度。
测试驱动开发(TDD)是一种非常有效的方法。
先编写测试用例,然后再编写实现代码,确保代码在每次修改后都能通过所有的测试。
这样可以在早期发现代码中的问题,减少后期的返工和调试时间。
同时,自动化测试能够快速反馈代码的改动是否影响了原有功能,为快速迭代提供了保障。
合理地运用设计模式也能帮助我们在 Java 编程中更好地实现快速迭代和持续优化。
例如,使用观察者模式可以实现对象之间的解耦,当需求发生变化时,只需要修改相应的观察者或者被观察者,而不会影响到整个系统的结构。
在代码实现过程中,要注重代码的性能优化。
比如,对于频繁使用的对象,可以考虑使用对象池来减少对象创建和销毁的开销;在处理字符串连接时,使用 StringBuilder 而不是简单的字符串相加,以提高性能。
版本控制系统是不可或缺的工具。
Git 就是一个非常流行的版本控制系统。
通过它,我们可以方便地管理代码的版本,轻松回滚到之前的某个稳定版本,也可以比较不同版本之间的差异,快速定位问题所在。
团队的协作和沟通也是关键因素。
开发人员之间要及时交流,分享自己的想法和发现的问题。
定期的代码审查可以发现潜在的问题,提高代码质量,促进团队成员之间的知识共享和技术提升。
软件工程各章习题
v1.0可编写可改正即时练习第1 讲一、填空题13.软件定义期间往常进一步区分为3个阶段,即1.软件危机是指在计算机软件的_开发和保护 _过程_问题定义 __、 __ 可行性研究 __和需求剖析。
、中所碰到的一系列严重问题。
14.螺旋模型将_ 瀑布、 _模型和 __ 快速原型 _ 模2.软件危机包含下述两个方面的问题:一是_ 如何型联合起来,加入了两种模型均忽视了的风险剖析,填补开发软件,以知足对软件日趋增添的需求;二是_ 如何维了这两种模型的不足。
护数目不停膨胀的已有软件_ 。
15.瀑布模型 _ 不可以_适应需求可变的软件开发,3.软件不一样于硬件,它是计算机系统中的_ 逻辑部只有到 _ 开发结束 _ 才能见到整个软件系统。
件 _ 而不是物理零件。
二、选择题:4.一个软件从定义、开发、使用和保护,直到最后1.软件是一种()产品。
被荒弃,要经历一个漫长的期间,往常把这个漫长的期间A、有形B、逻辑C、物质D、耗费称为 __ 生命周期 __ 。
2.与计算机科学的理论研究不一样,软件工程是一门5.软件配置主要包含__ 程序、文档 _和 _数据 _等成分。
()学科。
6.软件工程学的一个重要目标就是提升软件的_ 可A、理论性B、工程性C、原理性D、心理性保护性、减少 _ 软件保护 _ 的代价。
3.软件工程学科出现的主要原由是()。
7.软件工程是指导计算机软件__ 软件开发 _ 和 __A、计算机的发展B、其余工程学科的影响保护 _ 的一门工程学科。
C、软件危机的出现D、程序设计方法学的影响8.软件工程包含_ 技术 _ 和 __ 管理 __双方面的内4.因为软件生产的复杂性和高成天性,使大型软件容,是技术与管理密切联合所形成的工程学科。
的生计出现危机,软件危机的主要表现包含了下述()9.往常把在软件生命周期全过程中使用的一整套技方面。
术方法的会合称为 _ 方法学 _ ,也称为范型。
①生产成本过高②需求增添难以知足10.软件工程方法学包含_方法、工具和 _过程 _ 三个③进度难以控制④质量难以保证因素。
软件工程的十大模型 -回复
软件工程的十大模型-回复软件工程的十大模型,是指软件开发过程中常用的十种方法或流程模型,它们帮助开发团队规范化、系统化地进行软件开发,提高开发效率和质量。
本文将一步一步回答关于这十大模型的问题,介绍它们的特点和应用场景。
1. 瀑布模型(Waterfall Model):瀑布模型是软件开发过程中最经典也是最早采用的模型之一。
它按照一定的顺序将软件开发过程划分为需求分析、设计、编码、测试和维护等阶段。
每个阶段的输出是下一个阶段的输入。
瀑布模型适用于需求明确、稳定的项目,并具有良好的文档管理和控制。
2. 增量模型(Incremental Model):增量模型强调将软件开发过程分解为多个可执行的模块,每一次增量都增加了系统的功能。
开发人员可以在每个增量完成后对其进行测试和评估,从而提前发现和修复问题。
增量模型适用于需求可能变化较多的项目,能够快速交付可用的软件原型。
3. 快速原型模型(Rapid Prototype Model):快速原型模型注重快速构建原型,以验证需求和设计的正确性。
它通过迅速创建原型,让用户和开发团队更好地理解和沟通需求。
快速原型模型适用于需求不明确或较为复杂的项目,能够提高开发的准确性。
4. 螺旋模型(Spiral Model):螺旋模型结合了瀑布模型和原型模型的特点,强调在软件开发过程中的循序渐进和迭代风险管理。
它将软件开发过程划分为多个循环,每个循环都包含需求分析、风险评估、原型构建和用户确认等阶段。
螺旋模型适用于需求高度变化或风险较高的项目,能够及时调整和改进。
5. 敏捷模型(Agile Model):敏捷模型是常见的一种迭代开发模型,它强调通过协作和跨职能团队来应对变化。
敏捷方法注重灵活性和快速迭代,迅速交付可用的软件,并根据用户的反馈进行迭代优化。
敏捷模型适用于需求变化频繁或增量交付的项目,能够提高团队的协同效率。
6. 喷泉模型(Fountain Model):喷泉模型强调开发人员和用户之间的持续沟通和合作。
IT项目管理题库
单项选择题30 项目的阶段性成果我们称为:AA里程碑B可交付成果C项目产品 D 项目结论31 项目沟通计划的主要编写方法是: AA利益相关者分析B周围环境分析C 原始材料的分析D 领导意图分析32、()的情况下,项目经理最有可能全权负责对雇员的表现做出评价。
B (A)雇员在若干项目中兼职(B)项目经理同进也是雇员的职能经理(C)雇员仅被分配到一个项目中进行全职工作(D)职能经理授权项目经理进行评价33、费用管理计划的作用是()。
B(A)描述怎样管理费用偏差(B)确定费用基准(C)估算并调节项目的费用状况(D)确定绩效测量基准34、()网络技术允许我们显示一个要素的最后10%在前一个要素的工作完成之前是无法完成的。
D(A)计划评审技术(B)单代号法(C)双代号法(D)风险评审技术35、项目的三要素包括()。
B(A)风险、费用和进度(B)质量、进度和成本(C)质量、进度和时间(D)直接成本、间接成本和可用资源36、为确定雇员是否正确理解了信息,项目经理需要()。
C(A)使用一种以上的媒介(B)消除障碍(C)减少信息过滤环节(D)获得反馈37、总体说来,项目启动程中发生得最频繁的冲突是()。
C(A)个性(B)优先级(C)成本(D)技术问题38、范围基线一旦被确立立功批准,将被()。
D(A)用于评价潜在变化(B)用于完成有效性衡量(C)作为未来决策的基础(D)以上皆是39、一个公司接受和利用项目管理的程度通常取决于项目的()和()。
C (A)质量要求,劳动力需求(B)风险管理,质量管理(C)规模,性质(D)工业类型,劳动力需求40、决定项目成本的最有效方法是利用()。
B(A)工作分解结构(B)线性责任图(C)项目规章(D)范围说明1、在项目管理的概念中,项目团队应().DA.、对范围、时间、成本、风险和质量的不同要求进行管理B、对不同需求与期望的项目厉害关系者进行管理C、对已识别的项目需求进行管理D、上述所有项2、项目利害关系可能包括()DA、项目经理B、发起人C、执行组织D、上述所有各项3、对各种组织结构进行比较。
《软件工程》第二章练习题
《软件工程》第二章练习题一、单项选择1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧()内。
开发软件时对提高软件开发人员工作效率至关重要的是( A ① )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B ① )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C ③ )和( D ⑥ )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计2、软件开发费用只占软件生存期全部费用的_B___。
A. 1/2B. 1/3C. 1/4D. 2/33、在软件开发过程中大约要花费__C__%的工作量进行测试和调试。
A. 20B. 30C. 40D. 504、准确地解决“软件系统必须做什么”是__B__阶段的任务。
A. 可行性研究 B. 需求分析 C. 软件设计 D. 程序编码5、软件生存期中时间最长的是_D__ 阶段。
A. 需求分析B. 软件设计C. 软件测试D. 软件运行/维护6、在软件生存期的模型中,_D__适合于大型软件的开发,它吸收了软件工程中“演化”的概念。
A .喷泉模型 B. 基于知识的模型 C. 瀑布模型 D. 螺旋模型7、在软件生存期中,用户的参与主要在_A___。
A. 软件定义阶段、B. 软件开发阶段、C. 软件维护阶段、D. 整个软件生存期过程中8、在软件开发过程中的每个阶段都要进行严格的__D___,以尽早发现在软件开发过程中产生的错误。
A. 检验B. 验证C. 度量D. 评审9、在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致性,必须实施严格的__B___。
A. 产品检验B. 产品控制C. 产品标准化D. 开发规范10、实践表明,采用先进的开发技术可提高软件开发的生产率,还可提高软件的__D__ 。
2022年秋季软件工程自考试题含解析
2022年秋季软件工程自考试题一、单项选择题1、RUP设计阶段的主要活动不包含______。
A.程序设计B.体系结构设计C.用况设计D.类设计2、黑盒测试技术又称为功能测试技术,包括事务处理流程技术、定义域测试技术和______。
A.路径测试技术B.用例测试技术C.状态测试技术D.结构测试技术3、在销售管理系统需求文档中出现下列描述,属于设计约束范畴的是______。
A.系统应能产生月销售报表B.系统应在5分钟内计算出给定季度的总销售税C.对要构建的账户接收系统,必须为月财务状况系统提供更新信息D.任取1秒钟,一个特定应用所消耗的可用计算能力平均不超过50%4、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
A.供应过程B.开发过程C.测试过程D.支持过程5、软件生存周期是指______。
A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间6、结构化分析方法给出了一种能表达功能模型的工具是______。
A.HIPO图B.PAD图C.N-S图D.DFD图7、下列不属于需求规约的基本性质是______。
A.可重复的B.重要性和稳定性程度C.完整的D.一致的8、集成化能力成熟度模型(CMMI)中有22个过程域,分为4类:项目管理类、工程类、过程管理类和______。
A.需求管理类B.支持类C.项目包类D.目标类9、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。
A.可修改的B.可复用的C.可测试的D.无歧义的10、RUP的迭代、增量式开发过程中,需要估算成本、进度,并能够减少次要的错误风险,至少需要完成______。
A.初始阶段B.精化阶段C.构造阶段D.移交阶段11、指一个模块内部各成分之间相互关联程度的度量是______。
A.耦合B.内聚C.扇入D.扇出12、下列不属于软件危机的主要表现是______。
最新全国计算机等级考试-ncre二级C-C++-选择题解析答案
1、程序流程图中带有箭头的线段表示的是________。
A、图元关系B、数据流C、控制流D、调用关系答案:C等级:1 难度:1知识点:2、结构化程序设计的基本原则不包括________。
A、多态性B、自顶向下C、模块化D、逐步求精答案:A等级:1 难度:1知识点:3、软件设计中模块划分应遵循的准则是________。
A、低内聚低耦合B、高内聚低耦合C、低内聚高耦合D、高内聚高耦合答案:B等级:1 难度:1知识点:4、在软件开发中,需求分析阶段产生的主要文档是________。
A、可行性分析报告B、软件需求规格说明书C、概要设计说明书D、集成测试计划答案:B等级:1 难度:1知识点:5、算法的有穷性是指________。
A、算法程序的运行时间是有限的B、算法程序所处理的数据量是有限的C、算法程序的长度是有限的D、算法只能被有限的用户使用答案:A等级:1 难度:1知识点:6、对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是________。
A、快速排序B、冒泡排序C、直接插入排序D、堆排序答案:D等级:1 难度:1知识点:7、下列关于栈的叙述正确的是________。
A、栈按"先进先出"组织数据B、栈按"先进后出"组织数据C、只能在栈底插入数据D、不能删除数据答案:B等级:1 难度:1知识点:8、在数据库设计中,将E-R图转换成关系数据模型的过程属于________.A、需求分析阶段B、概念设计阶段C、逻辑设计阶段D、物理设计阶段答案:C等级:1 难度:1知识点:9、有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为________。
A、并B、自然连接C、笛卡尔积D、交答案:D等级:1 难度:1知识点:10、设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为________。
软件项目管理案例教程复习题
软件项目管理案例教程复习题第一章一、填空题1.敏捷模型包括(4)个核心价值,对应(12)个敏捷原则。
2.项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、(收尾过程组)5个过程组。
二、判断题1、搬家属于项目。
(√)2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。
(×)3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。
(√)4、项目具有临时性的特征。
(√)5、日常运作存在大量的变更管理,而项目基本保持连贯性的。
(×)6、项目开发过程中可以无限制地使用资源。
(×)7、相比传统开发的预测性过程,敏捷开发属于自适应过程(√)三、选择题1、下列选项中不是项目与日常运作的区别的是(C)A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。
B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。
C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。
D.项目是一次性的,日常运作是重复性的。
2、以下都是日常运作和项目的共同之处,除了(D)A.由人来做B.受限于有限的资源C.需要规划、执行和控制D.都是重复性工作3、下面选项中不是PMBOK的知识域的是(A)A.招聘管理B.质量管理C.围管理D.风险管理4、下列选项中属于项目的是(C)A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁5、下列选项中正确的是(C)A.一个项目具有明确的目标而且周期不限B.一个项目一旦确定就不会发生变更C.每个项目都有自己的独特性D.项目都是一次性的并由项目经理独自完成6、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。
A.过程 B.项目 C.项目群 D.组合7、下面选项中不是《敏捷宣言》中的容的是(C)A.个体和交互胜过过程和工具B.可以工作的软件胜过面面俱到的文档C. 敏捷开发过程是自适应的过程D.响应变化胜过遵循计划8、下列活动中不是项目的是(C)A.野餐活动 B.集体婚礼 C.上课 D.开发操作系统9、下列选项中不是项目的特征的是(C)A.项目具有明确的目标B.项目具有限定的周期C.项目可以重复进行D.项目对资源成本具有约束性四、问答题1、项目管理知识体系(PMBOK)包括哪10个知识领域?答:项目集成管理、项目围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理、项目采购管理、项目干系人管理2、请简述项目管理的5个过程组及其关系。
推荐课程7-规模企业的云计算和虚拟化技术(随堂整理)
推荐课程7-规模企业的云计算和虚拟化技术一、单选题。
每道题只有一个正确答案。
1、SaaS是什么的简称?A 软件即服务B 平台即服务C 基础设施即服务D 硬件即服务正确答案A2、以下对于云计算的四种部署模式说法有误的是?A 公有云,面向公众服务或大行业集团。
B 私有云,部署在组织内部或外部。
C 混合云,有两个或多个不同实体的云组合。
D 行业云,通过技术连接实现数据/应用的共享及互联。
正确答案D3、下列说法中有误的是?A 虚拟化所实现的计算资源池化、动态调配、自动化管理、高可用等功能是云计算平台所依赖的必不可少的基础特征。
B 虚拟化产品不算云计算平台的核心,但其选型正确与否非常关键。
C 虚拟化平台一定要提供完善的高可用、安全性、扩展性与自动化管理等功能。
D 虚拟化平台具备容量、性能、配置、安全、可靠性等内置在正确答案B4、虚拟机最早在()由IBM研究中心研制?A 20世纪50年代B 20世纪60年代C 20世纪70年代D 20世纪80年代正确答案C5、虚拟局域网协议允许在以太网的帧格式中插入一个()的标识符,称为 VLAN 标记(tag),用来指明发送该帧的工作站属于哪一个虚拟局域网。
A 1字节B 2字节C 3字节D 4字节正确答案D6、互联网的原型系统最早是在哪个国家产生的?A 英国B 美国C 德国D 日本正确答案B7、在中国,谁利用计算机网络发出了第一封电子邮件?A 王运峰教授B 胡启恒院士C 侯自强院士D 李德毅院士正确答案A8、目前最大的智能终端操作系统输出国是?A 英国B 美国C 德国D 日本正确答案B9、当今互联网发展的主题是?A 局域网B 移动互联网C 大数据D 云计算正确答案B10、关于IaaS的说法以下有误的是?A 用户可以根据需要动态增加或减少资源,而不必关心资源位于何处或者是否够用。
B 所有的资源无法随时开始或停止使用,但用户只需要为自己使用的资源付费。
C 资源可直接通过互联网管理,不需要到资源所在机房实地操作,降低了管理成本。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
COM——复合文档与持续化--YXM的程序人生一、复合文件的特点复合文件的内部是使用指针构造的一棵树进行管理的。
编写程序的时候要注意,由于使用的是单向指针,因此当做定位操作的时候,向后定位比向前定位要快;复合文件中的“流对象”,是真正保存数据的空间。
它的存储单位为512字节。
也就是说,即使你在流中只保存了一个字节的数据,它也要占据512字节的文件空间。
不同的进程,或同一个进程的不同线程可以同时访问一个复合文件的不同部分而互不干扰;大家都有这样的体会,当需要往一个文件中插入一个字节的话,需要对整个文件进行操作,非常烦琐并且效率低下。
而复合文件则提供了非常方便的“增量访问”能力;当频繁地删除文件,复制文件后,磁盘空间会变的很零碎,需要使用磁盘整理工具进行重新整合。
和磁盘管理非常相似,复合文件也会产生这个问题,在适当的时候也需要整理,但比较简单,只要调用一个函数就可以完成了。
示例一:建立一个复合文件,并在其下建立一个子存储,在该子存储中再建立一个流,写入数据。
v oidSampleCreateDoc(){::CoInitialize(NULL); // COM 初始化// 如果是MFC程序,可以使用AfxOleInit()替代HRESULT hr; // 函数执行返回值IStorage *pStg = NULL; // 根存储接口指针IStorage *pSub = NULL; // 子存储接口指针IStream *pStm = NULL; // 流接口指针hr = ::StgCreateDocfile( // 建立复合文件L"c:\\a.stg", // 文件名称STGM_CREATE | STGM_WRITE |STGM_SHARE_EXCLUSIVE, // 打开方式0, // 保留参数&pStg); // 取得根存储接口指针ASSERT( SUCCEEDED(hr) ); // 为了突出重点,简化程序结构,所以使用了断言。
// 在实际的程序中则要使用条件判断和异常处理hr = pStg->CreateStorage( // 建立子存储L"SubStg", // 子存储名称STGM_CREATE | STGM_WRITE |STGM_SHARE_EXCLUSIVE,0,0,&pSub); // 取得子存储接口指针ASSERT( SUCCEEDED(hr) );hr = pSub->CreateStream( // 建立流L"Stm", // 流名称STGM_CREATE | STGM_WRITE |STGM_SHARE_EXCLUSIVE,0,0,&pStm); // 取得流接口指针ASSERT( SUCCEEDED(hr) );hr = pStm->Write( // 向流中写入数据"Hello", // 数据地址5, // 字节长度(注意,没有写入字符串结尾的\0)NULL); // 不需要得到实际写入的字节长度ASSERT( SUCCEEDED(hr) );if( pStm ) pStm->Release();// 释放流指针if( pSub ) pSub->Release();// 释放子存储指针if( pStg ) pStg->Release();// 释放根存储指针::CoUninitialize() // COM 释放// 如果使用AfxOleInit(),则不调用该函数}示例二:打开一个复合文件,枚举其根存储下的所有对象。
#include // ANSI、MBCS、UNICODE 转换void SampleEnum(){ // 假设你已经做过COM 初始化了LPCTSTR lpFileName = _T( "c:\\a.stg" );HRESULT hr;IStorage *pStg = NULL;USES_CONVERSION;LPCOLESTR lpwFileName =T2COLE( lpFileName ); // 转换T类型为宽字符hr = ::StgIsStorageFile( lpwFileName ); // 是复合文件吗?if( FAILED(hr) ) return;hr = ::StgOpenStorage( // 打开复合文件lpwFileName, // 文件名称NULL,STGM_READ |STGM_SHARE_DENY_WRITE,0,0,&pStg); // 得到根存储接口指针IEnumSTATSTG *pEnum=NULL; // 枚举器hr = pStg->EnumElements( 0, NULL, 0, &pEnum );ASSERT( SUCCEEDED(hr) );STATSTG statstg;while( NOERROR == pEnum->Next( 1, &statstg, NULL) ){// statstg.type 保存着对象类型STGTY_STREAM 或STGTY_STORAGE// statstg.pwcsName 保存着对象名称// ...... 还有时间,长度等很多信息。
请查看MSDN::CoTaskMemFree( statstg.pwcsName ); // 释放名称所使用的内存}if( pEnum ) pEnum->Release();if( pStg ) pStg->Release();}二、持续性原理持续性,也叫永久性。
组件方提供IPersistXXX 接口,调用者(容器)提供存储介质,比如文件啦、内存啦、注册表啦、流啦、文本啦......啦啦拉。
需要保存的时候,调用者通过IPersistXXX::Save() 接口函数让组件去自己存储属性信息,而调用者根本不用关心存储格式和存储内容;需要还原状态的时候,调用者打开存储介质,然后同样调用IPersistXXX::Load() 接口函数让组件自己去读取属性信息并完成初始化的设置。
持续性接口组件的实现1、建立一个ATL 工程项目。
2、增加ATL 组件类, 使用者注意不要选择“属性化编程”方式,其它的设置全部使用默认方法。
当然你愿意适当地改变选择也无所谓。
3、设计完成你的组件功能。
示例程序中,实现了一个接口函数GetNext() 负责计算下一个素数。
4、添加IPersistStreamInit 接口。
class ATL_NO_VTABLE Cxxx :public CComObjectRootEx<...>,public CComCoClass<...>,......public IPersistStreamInit // 手工添加持续性接口{......BEGIN_COM_MAP(Cxxx)......// 手工添加接口映射表入口COM_INTERFACE_ENTRY(IPersistStreamInit)// 表示如果要取得IPersistStream 指针,则返回IPersistStreamInit 指针COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStreamInit)// 表示如果要取得IPersist 指针,则返回IPersistStremInit 指针COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersistStreamInit)END_COM_MAP()5、完成IPersistStreamInit 接口函数。
手工在h 头文件中增加函数声明:public:// IPersistSTDMETHOD(GetClassID)(/*[out]*/CLSID * pClassID);// IPersistStreamSTDMETHOD(IsDirty)(void);STDMETHOD(Load)(/*[in]*/IStream *pStm);STDMETHOD(Save)(/*[in]*/IStream*pStm,/*[in]*/BOOL fClearDirty);STDMETHOD(GetSizeMax)(/*[out]*/ULARGE_INTEGER *pcbSize);// IPersistStreamInitSTDMETHOD(InitNew)(void);手工在cpp 文件中增加函数实现:// IPersistSTDMETHODIMPCxxx::GetClassID(/*[out]*/CLSID * pClassID){*pClassID = GetObjectCLSID();return S_OK;}// IPersistStreamSTDMETHODIMP Cxxx::IsDirty(void){if( 数据已经改变,需要保存) return S_OK;else return S_FALSE;}STDMETHODIMP Cxxx::Load(/*[in]*/IStream *pStm){return pStm->Read( 读到哪里, 读多长字节, NULL);}STDMETHODIMP Cxxx::Save(/*[in]*/IStream *pStm,/*[in]*/BOOL fClearDirty){if( fClearDirty ) 清除内部表示数据变化的变量;return pStm->Write( 需要保存的数据指针, 写多长字节, NULL );}STDMETHODIMPCxxx::GetSizeMax(/*[out]*/ULARGE_INTEGER *pcbSize) {pcbSize->LowPart = 需要保存数据长度的低位;pcbSize->HighPart = 需要保存数据长度的高位;// 一般都是0,难道你的数据长度都超过了4G?return S_OK;}// IPersistStreamInitSTDMETHODIMP Cxxx::InitNew(void){内部属性数据默认初始化;设置或清除内部表示数据变化的变量;return S_OK;}示例代码:/inc/PersistSample.rar。