第一章指路:系统集成项目管理工程师软考知识点(第一章已完结)_程序猿幼苗的博客-CSDN博客
第二章指路:系统集成项目管理工程师软考知识点(第二章已完结)_程序猿幼苗的博客-CSDN博客
本专栏将会更新完整~
本章学习建议
根据历年的考试情况来看,第3章知识涉及的面非常的广,一般每次考试考查16分左右,此部分对有基础的同学,掌握历年的考点后,并不是很难,对于没有计算机基础的同学需要认真学习,此部分可能会涉及到超纲的知识_点;对待这些内容,大家尽量得分。非IT的同学别过于担心,在项目管理万面多得分吧!我们学习要以教材为准,当然此部分的考点也可能会超出教材,比如最近两次考试中出现的最新的十四五规划、信息化的时事及前沿的信息技术,请大家认真学习下面的考点。主要考点:(1)信息系统的生命周期(2)信息系统开发方法(3)设备、DBMS 及技术选型(4)软件需求(6)软件测试(7)软件维护(8)软件复用(9)软件质量保证及质量评价(10)软件配置管理(11)面向对象(12)软件架构〔13)中间件(14)数据仓库(15 )网络协议(16 )网络存储(17)网络安全(18)网络交换技术(19)大数据(20)云计算(21)互联网+(22)物联网(23)智慧城市(24)移动互联
一、信息系统开发方法(掌握)
信息系统常用的开发方法有︰结构化方法、原型法、面向对象方法
1.结构化方法(掌握)
结构化方法︰是应用最为广泛的一种开发方法。应用结构化系统开发方法,把整个系统的开发过程分为若干阶段,然后依次进行,前一阶段是后一阶段的工作依据,按顺序完成。每个阶段和主要步骤都有明确详尽的文档编制要求,并对其进行有效控制。
结构化方法的特点是注重开发过程的整体性和全局性。但其缺点是开发周期长;文档、设计说明繁琐,工作效率低;要求在开发之初全面认识系统的需求,充分预料各种可能发生的变化,但这并不十分现实。
结构化方法特点︰(1)遵循用户至上原则;(2)严格区分工作阶段,每个阶段有明确的任务和取得的成果(3)强调系统开发过程的整体性和全局性;(4)系统开发过程工程化,文档资料标准化。
2.原型法(掌握)
原型法︰其认为在无法全面准确地提出用户需求的情况下,并不要求对系统做全面、详细的分析,而是基于对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。
原型法的特点在于其对用户的需求是动态响应、逐步纳入的;系统分析、设计与实现都是随着对原型的不断修改而同时完成的,相互之间并无明显界限,也没有明确分工。
从原型的最终结果来分,可分为抛弃式原型和演化式原型。抛弃式原型也称为探索式原型,是指达到预期目的后,原型本身被抛弃。抛弃式原型主要用在解决需求不确定性、二义性、不完整性、含糊性等;演化式原型为开发增量式产品提供基础,逐步将原型演化成最终系统。主要用在必须易于升级和优化的场合,特别适用于Web 项目。
3.面向对象方法(掌握)
面向对象方法︰用对象表示客观事物,对象是一个严格模块化的实体,在系统开发中可被共享和重复引用,以达到复用的目的。其关键是能否建立一个全面、合理、统一的模型,既能反映需求对应的问题域,也能被计算机系统对应的求解域所接受。
面向对象方法主要涉及分析、设计和实现三个阶段。其特点是在整个开发过程中使用的是同一套工具。整个开发过程实际上都是对面向对象三种模型的建立、补充和验证。因此,其分析、设计和实现三个阶段的界限并非十分明确。
【2018年下半年-第12题】
某企业信息化系统建设初期,无法全面准确获取需求,此时可以基于对已有需求的初步理解,快速开发一个初步系统模型,然后通过反复修改实现用户的最终需求。这种开发方法称为(B)。
A.结构法
B.原型法
C.瀑布模型法
D.面向对象法
【2020年下半年-第11题】
信息系统开发过程中,(B)适合在无法全面准确提出用户需求的情况下,通过反复修改,动态响应用户需求来实现用户的最终需求。
A.结构化方法―B.原型法―C.瀑布法D.面向过程方法
【2022年上半年-第11题】
某信息系统在开发过程中先搭建整体框架,实现用户主体需求,后续通过2-3个版本升级逐步完善,直至实现用户的全部需求。则该系统采用的开发方法是(D)。
A.结构化方法
B.面向对象方法
c.瀑布法
D.原型法
【2022年上半年-第11题(广东卷)】
信息系统开发方法中(B)的特点,是把整个系统的开发过程分成若干个阶段,并依次进行。缺点是开发周期长,文档设计繁琐,工作效率低。
A.原型法―B.结构化方法C.面向对象方法D.分层方法
二、信息系统设计(了解)
信息系统设计是开发阶段的重要内容,其主要任务是从信息系统的总体目标出发,根据系统逻辑功能的要求,并结合经济、技术条件、运行环境和进度等要求,确定系统的总体架构和系统各组成部分的技术方案,合理选择计算机、通信及存储的软、硬件设备,制订系统的实施计划。
三、方案设计(掌握)
系统方案设计包括总体设计和各部分的详细设计(物理设计)两个方面。
(1)系统总体设计︰包括系统的总体架构方案设计、软件系统的总体架构设计、数据存诸的总体设计、计算机和网络系统的方案设计等。
(2)系统详细设计︰包括代码设计、数据库设计、人/机界面设计、处理过程设计等。
四、系统架构(掌握)
系统架构是将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。之后,进一步确定各层的接口,层与层相互之间的关系。对整个系统的分解,既需要进行"纵向"分解,也需要对同一逻辑层分块,进行"横向"分解;系统的选型主要取决于系统架构;
五、设备、DBMS及技术选型(掌握)
在系统设计中进行设备、DBMS(数据库管理系统)及技术选型时,不只要考虑系统的功能要求,还要考虑到系统实现的内外环境和主客观条件。
在选型时,需要权衡各种可供选用的计算机硬件技术、软件技术、数据管理技术、数据通信技术和计算机网络技术及相关产品。同时,必须考虑用户的使用要求、系统运行环境、现行的信息管理和信息技术的标准、规范及有关法律制度等。
【2018年上半年-第13题】
关于信息系统设计的描述,正确的是(C)。
A.人机界面设计是系统概要设计的任务之一
B.确定系统架构时,要对整个系统进行“纵向”分解而不是“横向”分解
C.系统架构设计对设备选型起决定作用
D.设备选型与法律制度无关
【2018年下半年-第13题】
系统方案设计包括总体设计和详细设计,系统总体设计内容包括(A)。
A.计算机和网络系统的方案设计
B.人/机界面设计
c.处理过程设计
D.数据库设计
六、软件需求(掌握)
软件需求是针对待解决问题的特性的描述。所定义的需求必须可以被验证。在资源有限时,可以通过优先级对需求进行权衡。
通过需求分析
(1)可以检测和解决需求之间的冲突;
(2)发现系统的边界;
(3)并详细描述出系统需求。
七、软件需求的三个层次(掌握)
软件需求的三个层次∶
1.业务需求︰表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。使用前景和范围文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求文档。
2.用户需求︰描述的是用户的目标,或用户要求系统必须能完成的任务。
3.功能需求∶规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。
【2015年下半年-第14题】
项目经理在需求调研的过程中,应尽可能的多了解客户的需求进行分析,并对需求进行分析,其做需求分析的目的一般不包括(B)
A.检测和解决需求之间的冲突
B.定义潜在的风险
c.发现软件的边界,以及软件与其环境如何交互
D.详细描述需求分析,以导出软件需求
【2017年下半年-第14题】
需求分析是软件生存周期中的重要工作,以下描述不正确的是∶(B )
A.软件需求是针对待解决问题的特征的描述
B.绝大部分软件需求可以被验证,验证手段包括评审和测试
C.需求分析可以检测和解决需求之间的冲突
D.在资源有限时,可以通过优先级对需求进行权衡
八、软件测试的分类(掌握)
1.白盒测试、黑盒测试、灰盒测试︰从是否关心软件内部结构和具体实现的角度划分。
(1)白盒测试︰白盒测试是把程序看成装在一只透明的盒子里,测试者完全了解程序的结构和处理过程。它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑是否都按预定的要求正确地工作。
(2)黑盒测试︰黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息
(3)灰盒测试︰是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。
2.静态测试和动态测试︰从是否执行程序的角度划分
(1)静态测试∶是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
(2)动态测试∶是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成︰构造测试用例、执行程序、分析程序的输出结果。
3..从软件开发的过程按阶段划分有单元测试、集成测试、确认测试、系统测试、验收测试。
(1)单元测试。单元测试也称为模块测试,测试的对象是可独立编译或汇编的程序模块、软件构件或OO软件中的类(统称为模块),其目的是检查每个模块能否正确地实现设计说明中的功能、性能、接口和其他设计约束等条件,发现模块内可能存在的各种差错。单元测试的技术依据是软件详细设计说明书,着重从模块接口、局部数据结构、重要的执行通路、出错处理通路和边界条件等方面对模块进行测试。
(2)集成测试。集成测试的目的是检查模块之间,以及模块和已集成的软件之间的接口关系,并验证己集成的软件是否符合设计要求。集成测试的技术依据是软件概要设文档。除应满足一般的测试准入条件外,在进行集成测试前还应确认待测试的模块均已通过单元测试。
(3)确认测试。确认测试主要用于验证软件的功能、性能和其他特性是否与用户需求一致。根据用户的参与程度,通常包括以下类型。
①内部确认测试。内部确认测试主要由软件开发组织内部按照SRS进行测试。
②Alpha测试和Beta测试。对于通用产品型的软件开发而言,Alpha测试是指由用户在开发环境下进行测试,通过Alpha测试以后的产品通常称为Alpha版;Beta测试是指由用户在实际使用环境下进行测试,通过Beta测试的产品通常称为Beta版。一般在通过Beta测试后,才能把产品发布或交付给用户
(4)系统测试。系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的技术依据是用户需求或开发合同。
(5)验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试、验收测试的目的是确保软件准备就绪并且让最终用户将其用于执行软件的既定功能和任务。
【2021年上半年-第12题】
软件测试通常可划分为(C)、集成测试和系统测试三个阶段A.冒烟测试―B.性能测试C.单元测试D.白盒测试
【2021年下半年-第12题】软件测试是( D)。
A.质量保证过程中的活动
B.开发完成后的活动
C.系统设计过程中的活动
D.开发和维护过程中的活动
【2022年上半年-第12题】
软件开发中,由编码人员自己写代码来验证功能模块的测试是(A)。A.单元测试B.集成测试c.系统测试D.黑盒测试
九、软件维护(掌握)
软件维护︰将软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前要完成的活动包括交付后的运行计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。
软件维护有如下类型∶
①更正性维护—更正交付后发现的错误﹔
②适应性维护—使软件产品能够在变化后或变化中的环境中继续使用;
③完善性维护—改进交付后产品的性能和可维护性;
④预防性维护─在软件产品中的潜在错误成为实际错误前,检测并更正它们。
【2017年下半年-第16题】
某央企的ERP系统已经稳定运行了3年,为了适应新业务发展的需要,运营团队近期接到数据库系统升级服务的任务,它属于信息系统(B)类型的工作。
A.更正性维护
B.适应性维护
C.完善性维护
D.预防性维护
【2019年上半年-第12题】
某业务系统在运行中因应用程序错误导致业务受影响,事后由维护工程师对该应用程序缺陷进行修复,该维护活动属于(A)。
A.更正性维护
B.适应性维护
c.完善性维护
D.预防性维护
十、软件质量保证及质量评价(掌握)
软件质量指的是软件特性的总和,是软件满足用户需求的能力,即遵从用户需求,达到用户满意。软件质量包括“内部质量”,“外部质量”和“使用质量”三部分。软件需求定义了软件质量特性,及确认这些特性的方法和原则。
软件质量管理过程由许多活动组成,一些活动可以直接发现缺陷,另一些活动则检查活动的价值。其中包括质量保证过程、验证过程、确认过程、评审过程、审计过程等。
(1)软件质量保证︰通过制订计划、实施和完成等活动保证项目生命周期中的软件产品和过程符合其规定的要求。
(2)验证与确认︰确定某一活动的产品是否符合活动的需求,最终的软件产品是否达到其意图并满足用户需求。
验证过程试图确保活动的输出产品已经被正确构造,即活动的输出产品满足活动的规范说明;
确认过程则试图确保构造了正确的产品,即产品满足其特定的目的。
(3)评审与审计∶包括管理评审、技术评审、检查、走查、审计等。
管理评审的目的是监控进展,决定计划和进度的状态,或评价用于达到目标所用管理方法的有效性。
技术评审的目的是评价软件产品,以确定其对使用意图的适合性。
软件审计的目的是提供软件产品和过程对于可应用的规则、标准、指南、计划和流程的遵从性的独立评价。审计是正式组织的活动,识别违例情况,并要生成审计报告,采取更正性行动。
软件质量管理过程由许多活动组成,“确保活动的输出产品满足活动的规范说明”是(B)。
A.软件确认 B.软件验证C.技术评审D.软件审计
十一、软件配置管理(了解)
软件配置管理活动包括软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付等活动。
软件配置管理计划的制定需要了解组织结构环境和组织单元之间的联系,明确软件配置控制任务。软件配置标识活动识别要控制的配置项,并为这些配置项及其版本建立基线。软件配置控制关注的是管理软件生命周期中的变更。软件配置状态记录标识、收维护并报告配置管理的配置状态信息。软件配置审计是独立评价软件产品和过程是否遵从己有的规则、标准、指南、计划和流程而进行的活动。软件发布管理和交付通常需要创建特定的交付版本,完成此任务的关键是软件库。
【2021年下半年-第14题】
(A)活动要为识别的配置项及其版本建立基线。A.配置标识B.配置管理发布c.配置控制
D.配置状态记录
【2022年上半年-第14题】软件配置管理关注的是(A).
A软件生命周期中的变更
B.建立基线
C.软件发布管理与交付
D.组织单元之间的联系
十二、软件过程管理(了解)
软件过程管理
①项目启动与范围定义项目规划
③项目实施
④项目监控与评审⑤项目收尾与关闭
十三、软件开发工具(了解)
软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。通常可以设计并实现工具来支持特定的软件工程方法,减少手工万式管理的负担。与0件工程方法一样,它们试图让软件工程更加系统化,工具的种类包括支持单个任务的工具及囊括整个生命周期的工具。
1.软件需求工具包括需求建模工具和需求追踪工具。
⒉.软件设计工具用于创建和检查软件设计,因为软件设计方法的多样性,这类工具的种类很多。
3.软件构造工具包括程序编辑器、编译器和代码生成器、解释器、调试器等。
4.软件测试工具包括测试生成器、性能分析工具。测试执行框架、测试评价工具、测试管理工具
5.软件维护工具包括理解工具(如可视化工具)和再造工具(如重构工具)。
6.软件配置管理工具包括追踪工具、版本管理工具和发布工具。
7.软件工程管理工具包括项目计划与追踪工具、风险管理工具和度量工
8.软件工程过程工具包括建模工具、管理工具、软件开发环境。
9.软件质量工具包括检查工具和分析工具
十四、软件复用(了解)
软件复用是指利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用。复用是提高软件生产力和质量的一种重要技术。软件复用的主要思想是,将软件看成是由不同功能的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面。
由于面向对象方法的主要概念及原则与软件复用的要求十分吻合,所以该方法特别有利于软件复用。
十五、面向对象系统分析与设计(掌握)
面向对象的基本概念包括:对象、类、抽象、封装、继承、多态、接口、消息、组件、复用和模式等。
(1)对象︰由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个模块,是构成系统的基本单位。用计算机语言来描述,对象是由一组属性和对这组属性进行的操作构成的。
对象包含三个基本要素,分别是对象标识、对象状态和对象行为。例如,对于姓名(标识)为Joe的教师而言,其包含性别、年龄、职位等个人状态信息,同时还具有授课等行为特征,Joe就是封装后的一个典型对象
(2)类∶现实世界中实体的形式化描述,类将该实体的属性(数据)和操作(函数)封装在一起。
类和对象的关系可以总结为∶
①每一个对象都是某一个类的实例
②每一个类在某一时刻都有零或更多的实例
③类是静态的,对象是动态的
④类是生成对象的模板。
类和对象的关系可理解为,对象是类的实例,类是对象的模板。如果将对象比作房子,那么类就是房子的设计图纸。
(3)抽象︰通过特定的实例抽取共同特征以后形成概念的过程。抽象是一种单一化的描述,强调给出与应用相关的特性,抛弃不相关的特性。对象是现实世界中其个立体的抽象,类是—组对象的抽象。
(4)封装︰将相关的概念组成一个单元模块,并通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
(5)继承︰表示类之间的层次关系(父类与子类),这种关系使得某类对象可以继承另外一类对象的特征,继承又可分为单继承和多继承。Java是单继承的语言,而C++允许多继承。
(6)多态∶使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态使得某个属性或操作在不同的时期可以表示不同类的对象特性。
(7)接口︰描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。可以将接口理解成为类的一个特例,它规定了实现此接口的类的操作方法,把真正的实现细节交由实现该接口的类去完成。
(8)消息∶体现对象间的交互,通过它向目标对象发送操作请求。
(9)组件︰表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。组件应当是内聚的,并具有相对稳定的公开接口。
(10)复用︰指将己有的软件及其有效成分用于构造新的软件或系统。组件技术软件复用实现的关键。
(11)模式∶描述了一个个不断重复发生的问题,以及该问题的解决方案。其包括特定环境、问题和解决方案三个组成部分。应用设计模式可以更加简单和方便地去复用成功的软件设计和架构,从而帮助设计者更快更好地完成系统设计。
【2018年上半年-第15题】
关于对象、类、继承、多态的描述,不正确的是(B)。
A.对象包含对象标识、对象状态和对象行为三个基本要素
B.类是对象的实例,对象是类的模板
c.继承是表示类之间的层次关系
D.多态使得同一个操作在不同类中有不同的实现方式
【2018年下半年-第15题】
进行面向对象系统分析和设计时,将相关的概念组成一个单元模块,并通过一个名称来引用它,这种行为叫做(B)。
A.继承 B.封装 C.抽象D.复用
【2019年上半年-第15题)】
关于面向对象概念的描述,正确的是(D)。
A.对象包含两个基本要素,分别是对象状态和对象行为
B.如果把对象比作房屋设计图纸,那么类就是实际的房子
C.继承表示对象之间的层次关系
D.多态在多个类中可以定义同一个操作或属性名,并在每一个类可以有不同的实现
【2019年下半年-第12题】
对象由一组属性和对这组属性进行的操作构成。例如,教师张三的个人信息包括:性别、年龄、职位等,日常工作包括授课等,则(A)就是封装后的一个典型对象。A.张三B.教师C.授课D.姓名
【202o年下半年-第13题】
(B)是现实世界中实体的形式化描述,将实休的属性(数据)和操作(函数)封装在一起。
A.服务B.类C.接口D.消息
【2021年上半年-第13题】
在面向对象系统分析与设计中,(B)使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。
A.继承B.多态C.复用D.组件
【2021年下半年-第13题】
(A)描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。A.接口B.生态C.封装D.继承
【2022年上半年-第13题】
有两个类Apple和Tomato均继承父类Food,这三个类均实现了getTaste ( )方法,但Apple.getTaste ( )和Tomato.getTaste ( )的实现是完全不同的。这体现了面向对象的设计( OOD )中的(C)。
A.封装B.抽象C.多态D.接口
十六、统一建模语言UML(掌握)
UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具;
UML是一种可视化的建模语言,而不是编程语言。不是过程,也不是方法,但允许任何一种过程和方法使用它;UML标准包括相关概念的语义,表示法和说明,提供了静态、动态、系统环境及组织结构的模型。它比较适合用于迭代式的开发过程,是为支持大部分现存的面向对象开发过程而设计的,强调在软件开发中对架构、框架、模式和组件的重用,并与最佳软件工程实践经验进行了集成。
RUP ( Rational Unified Process)是使用面向对象技术进行软件开发的最佳实践之一,是软件工程的过程。它对所有关键开发活动提供了使用准则、模板、工具等。
十七、UML9种常见的图及说明(掌握)
1 | 用例图 | 用例图是从用户角度描述系统功能,描述系统与外部系统及用户之间的交互,是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元 |
2 | 类图 | 描述系统的对象结构,它们显示构成系统的对象类以及这些对象类之间的关系。 |
3 | 对象图 | 类似类图,但并不描述对象类,它们对实际的对象实例建模显示实例属性的当前值。 |
4 | 组件图 | 用来描述系统的物理结构,它可以用来显示程序代码如何分解模块。展示一组构件之间的组织和依赖。 |
5 | 部署图 | 描述系统中硬件和软件的物理架构,它描述构成系统架构的软件构件,处理器和设备。 |
6 | 状态图 | 对一个特定对象的动态行为建模,说明一个对象的生命周期对象可以经历各种状态,以及引起对象从一个状态向另一个状态转换的事件。 |
7 | 序列图 | 序列图也叫顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。可为一个协作建模。 |
8 | 协作图 | 协作图或称通信图。强调收发消息的对象的结构组织,类似序列图,但重点不是消息的时间顺序,它以一种网状格式表现对象之间的交互。 |
9 | 活动图 | 活动图是一种特殊的状态图,它展示了系统中从一个活动到另一个活动的流程 |
【2012年下半年-第13题】
用于显示运行的处理节点以及居于其上的构件、进程和对象的配置的图是( B)。
A.用例图
B.部署图
C.类图
D.构件图
十八、面向对象系统分析、设计(掌握)
面向对象系统分析运用面向对象方法分析问题域,建立基于对象、消息的业务模型,形成对客观世界和业务本身的正确认识。
面向对象系统分析的模型由用例模型、类-对象模型、对象-关系模型和对象-行为模型组成。
面向对象系统设计基于系统分析得出的问题域模型,用面向对象方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。
面向对象系统设计主要包括用例设计、类设计和子系统设计等。
【2022年上半年-第13题(广东卷)】
面向对象系统设计是基于面向对象系统分析得出的问题与模型进行设计,其主要内容包括( C)。
①对象行为设计②用例设计③类设计④义务模型建议⑤子系统设计A.123 B.234 C.235 D.145
十九、软件架构(掌握)
序号 | 模式 | 特点、适用情况 |
1 | 管道/过滤器模式 | 体现了各功能模块高内聚、低耦合的"黑盒"特性,支持软件功能模块的重用,便于系统维护;同时,每个过滤器自己完成数据解析和合成工作(如加密和解密),易导致系统性能下降,并增加了过滤器具体实现的复杂性。其典型应用包括批处理系统。 |
2 | 面向对象模式 | 将模块数据的表示方法及其相应操作封装在更高抽象层次的数据类型或对象中。其典型应用是基于组件的软件开发(CBD ) |
3 | 事件驱动模式 | 组件并不直接调用操作,而是触发一个或多个事件。系统中的其他组件可以注册相关的事件,触发一个事件时,系统会自动调用注册了该事件的组件,即触发事件会导致另一组件中操作的调用一典型的有图形界面工具 |
4 | 分层模式 | 采用层次化的组织方式,每一层都为上一层提供服务,并使用下一层提供的功能。该模式允许将一个复杂问题逐步分层实现。其中的每一层最多只影响相邻两层,只要给相邻层提供相分层模式同的接口,就允许每层用不同的方法实现,可以充分支持软件复用。其典型应用是分层通信协议,如Iso/OSI的七层网络模型。 |
5 | 客户/服务器模式 | 基于资源不对等,为实现共享而提出的模式。c/s模式将应用一分为二,服务器(后台)负责数据操作和事务处理,客户(前台)完成与用户的交互任务。 C/s模式中客户与服务器分离,允许网络分布操作,适用于分布式系统。为了解决c/s模式中客户端的问题,发展形成了浏览器/服务器(BS )模式;为了解决c/s模式中服务器端的问题,发展形成了三层(多层) c/s模式,即多层应用架构。 |
【2018年上半年-第16题】
在典型的软件架构模式中,(D)模式是基于资源不对等,为实现共享而提出的。
A.管道/过滤器
B.事件驱动C.分层D.客户/服务器
【2019年下半年-第13题】
关于软件架构分层模式描述,不正确的是(C )。
A.允许将一个复杂问题分层实现
B.每一层最多只影响相邻两层
c.具有各功能模块高内聚、低耦合的“黑盒特性
D.允许每层用不同的实现方法,可以充分支持软件复用
【2021年上半年-第14题】
在分布式应用中,软件架构设计不需要考虑(C)的问题。A.数据库选择B.性能C.需求可扩展D.人员
【2022年上半年-第14题(广东卷)】( C)的典型应用是各种图形界面应用。
A.面向对象模式﹐B.管道/过滤器模式C事件驱动模式﹐D.客户/服务器模式
二十、软件中间件(掌握)
中间件(Middleware )是位于硬件、操作系统等平台和应用之间的通用服务。借由中间件,解决了分布系统的异构问题。
中间件服务具有标准的程序接口和协议。不同的应用、硬件及操作系统平台,可以提供符合接口和协议规范的多种实现,其主要目的是实现应用与平台的无关性。借助中间件,屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制,满足不同领域的应用需要。
通常将中间件分为数据库访问中间件、远程过程调用中间件、面向消息中间件、事务中间件、分布式对象中间件等。
(1)数据库访问中间件︰通过一个抽象层访问数据库,从而允许使用相同或相似的代码访问不同的数据库资源。典型技术如Windows平台的ODBC和Java平台的JDBC等。
(2)远程过程调用中间件(RPC)∶是一种分布式应用程序的处理方法。一个应用程序可以使用RPC来"远程"执行一个位于不同地址空间内的过程,从效果上看和执行本地调用相同。
(3)面向消息中间件(MOM )︰利用高效可靠的消息传递机制进行光台无关的数据传递,并可基于数据通信进行分布系统的集成。通过提供消息传递和消息队列模型,可在分布环境下扩展进程间的通信,并支持多种通讯协议、语言、应用程序、硬件和软件平台。典型产品如IBM的MQSeries。
(4)分布式对象中间件︰是建立对象之间客户/服务器关系的中间件,结合了对象技术与分布式计算技术。该技术提供了一个通信框架,可以在异构分布计算环境中透明的传递对象请求。典型产品如OMG的CORBA、Java的RMI/EJB、Microsoft的DCOM等。
(5)事务中间件︰也称事务处理监控器(TPM),提供持大规模事务处理的可靠运行环境。TPM位于客户和服务器之间,完成事务管理与调度、负载平衡、失效恢复等任务,以提高系统的整体性能。典型产品如IBM/BEA的Tuxedo。
【2018年下半年-第16题】
软件三层架构中,()是位于硬件、操作系统等平台和应用之间的通用服务,用于解决分布系统的异构问题,实现应用与平台的无关性。
A.服务器B.中间件c.数据库D.过滤器
【2019年上半年-第16题】
中间件有多种类型,lIBM的MQSeries属于()中间件。A.面向消息
B.分布式对象
c.数据库访问
D.事务