软件工程师试题pyinal

通过一个学期对高级软件工程课程的学习,我认为软件工程师的软件工程知识技能水平高低主要体现在以下几个方面

1.在面向对象设计的原则中、(36)原则是指抽象不应该依赖予细节,细节应该依赖于抽象,即应针对接口编程,而不是针对实现编程。

(36)A.开闭B.里氏替换C.最少知识D.依赖倒置

【答案】D【解析】

的方法,否则,将无法调用到在子类中增加的新方法。

实现开闭原则的关键是抽象化,并且从抽象化导出具体化实现,如果说开闭原则是OOD的目标的话,那么依赖倒置原则就是OOD的主要机制。有了抽象层,可以使得系统具有很好的灵活性,在程序中尽量使用抽象层进行编程,而将具体类写在配置文件中,这样,如果系统行为发生变化,则只需要扩展抽象层,并修改配置文件,而无须修改原有系统的源代码,在不修改的情况下来扩展系统功能,满足开闭原则的要求。依赖倒置原则是COM、CORBA、EJB、Spring等技术和框架背后的基本原则之一。

2.执行者(Actor)与用例之间的关系是(C)

(A)包含关系(B)泛化关系(C)关联关系(D)扩展关系

3.在类图中,下面哪个符号表示继承关系(C)

4.在类图中,“#”表示的可见性是(B)

(A)Public(B)Protected(C)Private(D)Package

5.在类图中,下面哪个符号表示接口(C)

6.模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为D

A.数据耦合B.标记耦合C.公共耦合D.内容耦合

解析:一般可将耦合度从弱到强分为以下七级:

★非直接耦合

指两个模块中任一个都不依赖对方独立工作。这类耦合度最低。

★数据耦合

指两个模块间只是通过参数表传递简单数据。

★特征耦合

指两个模块都与同一个数据结构有关。

★控制耦合

指两个模块间传递的信息中含有控制信息。

★外部耦合

★公共耦合

指两个或多个模块通过引用一个公共区的数据而发生相互作用。

★内容耦合

最高耦合度的是内容耦合。出现内容耦合的情形包括:当一个模块使用另一模块内部的控制

和控制信息;一个模块直接转移到另一模块内部等等。

一般说来,尽量使用数据耦合,少用控制耦合,限制外部耦合,完全不用内容耦合。

7.某公司拟开发一个地面清洁机器人。机器人的控制者首先定义清洁任务和任务之间的关系,机器人接受任务后,需要响应外界环境中触发的一些突发事件,根据自身状态进行动态调整,最终自动完成任务。针对上述需求,该机器人应该采用()架构风格最为合适。

A.面向对象B.主程序-子程序C.规则系统D.管道-过滤器

【答案】C【解析】本题考查架构风格与架构设计策略的理解与掌握。

根据题目描述,机器人需要根据自身状态的外界环境进行自动调整,这是一个典型的根据外部事件进行响应的场景。比较4个候选项,规则系统比较适合根据外邹事件,以自身状态为基础自动进行处理和动作的场景。

8.某公司拟开发一个语音识别系统,其语音识别的主要过程包括分割原始语音信号、识别音素、产生候选词、判定语法片断、提供语义解释等,每个过程都需要进行基于先验知识的条件判断并进行相应的识别动作。针对该系统的特点,采用()架构风格最为合适。

(47)A.解释器B.面向对象C.黑板D.隐式调用

根据题目描述,语音识别系统是一个十分典型的专家系统,其特点是求解的正确结果不止一个,求解过程比较复杂,需要通过专家知识和反馈逐步得到正确结果。因此对比4个候选项,黑板结构特别适合求解这类问题。

9.某公司拟开发了个轿车巡航定速系统,系统需要持续测量车辆当前的实时速度,并根据设定的期望速度启动控制轿车的油门和刹车。针对上述需求,采用()架构风格最为合适。

(48)A.解释器B.过程控制C.分层D.管道-过滤器

【答案】B【解析】本题考查架构风格与架构设计策略的理解与掌握。

根据题目描述,轿车巡航定速系统是一个十分典型的控制系统,其特点是不断采集系统当前状态,与系统中的设定状态进行对比,并通过将当前状态与设定状态进行对比从而进行控制。因此对比4个候选项,过程控制特别适合求解这类问题。

10.某公司拟开发一套在线游戏系统,该系统的设计目标之一是支持用户自行定义游戏对象属性,行为和对象之间的交互关系。为了实现上述目标,公司应该采用(49)架构风格最为合适。

A.管道-过滤器B.隐式调用C.主程序-子程序D.解释器

【答案】D【解析】本题主要考查软件架构设计策略与架构风格的理解与掌握。

根据题干描述,该软件系统特别强调用户定义系统中对象的关系和行为这一特性,这需要在软件架构层面提供一种运行时的系统行为定义与改变的能力,根据常见架构风格的特点和适用环境,可以知道最合适的架构设计风格应该是解释器风格。

11、在嵌入式系统的存储部件中,存取速度最快的是(B)。

A.内存B.寄存器组C.FlashD.Cache

存取速度:寄存器>Cache>内存>硬盘>光盘>软盘

寄存器属于CPU的一个组成部分而缓存只是集成到CPU封装内完全是和CPU独立的器件。另外二者速度相差很大,寄存器存取速度最快其次缓存最后是内存。

12在UML提供的系统视图中,(35)是逻辑视图的一次执行实例,描述了并发与同步结构;(36)是最基本的需求分析模型。

(35)A.进程视图B.实现视图C.部署视图D.用例视图

【答案】AD【解析】

UML对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。具体来说,就是指以下5个系统视图:

①逻辑视图。逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。

②进程视图。进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。

③实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。

④部署视图。部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。⑤用例视图。用例视图是最基本的需求分析模型。

13.以下关于软件架构设计重要性的描述,(C)是错误的。

A.软件架构设计能够满足系统的性能、安全性、可维护性等品质

B.软件架构设计能够帮助项目干系入(Stakeholder)更好地理解软件结构

C.软件架构设计能够帮助架构师更好地捕获和细化系统需求

D.软件架构设计能够有效地管理系统的复杂性,并降低系统维护费用

【答案】C【解析】本题主要考査软件架构设计的重要性。

软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。软件架构设计能够满足系统的性能、安全性、可维护性等品质;软件架构设计能够帮助项目干系人(Stakeholder)更好地理解软件结构:软件架构设计能够有效地管理系统的复杂性,并降低系统维护费用;软件架构设计对系统开发具有指导性:软件架构设计为系统复用奠定的基础;软件架构设计能够支持冲突分析。需要注意的是,软件架构设计与系统需求是直交的,两者并无必然联系。

13.在嵌入式系统设计时,下面几种存储结构中对程序员是透明的是(11)。

(11)A.高速缓存B.磁盘存储器C.内存D.flash存储器

【答案】A【解析】本题主要考查嵌入式系统程序设计中对存储结构的操作。

14.对某公司欲开发一种工业机器人,用来进行汽车零件的装配。公司的架构师经过分析与讨论,给出了该机器人控制软件的两种候选架构方案:闭环控制和分层结构。以下对于这两种候选架构的选择理由,错误的是

A.应该采用闭环控制架构,因为闭环结构给出了将软件分解成几个协作构件的方法,这对于复杂任务特别适合

B.应该采用闭环控制结构,因为闭环控制架构中机器人的主要构件(监控器、传感器、发动机等)是彼此分开的,并能够独立替换

C.应该采用分层结构,因为分层结构很好地组织了用来协调机器人操作的构件,系统结构更加清晰

D.应该采用分层结构,因为抽象层的存在,满足了处理不确定性的需要:在较低层次不确定的实现细节在较髙层次会变得确定

【答案】A【解析】

能够进行替换与重用,但闭环结构通常适用于处理简单任务(如机器装配等),并不适用于复杂任务。分层结构的特点是通过引入抽象层,在较低层次不确定的实现细节在较高层次会变得确定,并能够组织层间构件的协作,系统结构更加清晰。

15.Windows操作系统在图形用户界面处理方面采用的核心架构风格是(51)风格。Java语言宣传的“一次编写,到处运行”的特性,从架构风格上看符合(52)风格的特点。

(51)A.虚拟机B.管道-过滤器C.事件驱动D.微内核-扩展

(52)A.虚拟机B.管道-过滤器C.事件驱动D.微内核-扩展

【答案】CA【解析】

Windows操作系统在图形用户界面处理方面采用的是典型的“事件驱动”的架构风格,首先注册事件处理的是回调函数,当某个界面事件发生时(例如键盘敲击、鼠标移

动等),系统会查找并选择合适的回调函数处理该事件。Java语言是一种解释型语言,

在Java虚拟机上运行,这从架构风格上看是典型的“虚拟机”风格,即通过虚拟机架构屏蔽不同的硬件环境。

二.判断题

1.软件的开发与运行经常受到硬件的限制和制约。(√)

2.模块内的高内聚往往意味着模块间的松耦合。(√)

3.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X)

4.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)

5.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)

6.UML只能应用于软件系统模型的建立。(X)

7.软件测试的目的是为了无一遗漏的找出所有的错误。(X)

8.用户对软件需求的描述不精确,往往是产生软件危机的原因之一-。(√)

9.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)

和关键路径法(CPM)。(√)

10.一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的

人际关系,善于听取别人的意见。(√)

11.目前的绝大多数软件都不适合于快速原型技术。(X)

12.面向数据的设计方法适用场合是具有明显的层次信息结构的应用如:企事业的信息

管理系统;系统软件(如操作系统)等。(√)

13.缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。(X)

14.测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。(X)

15.软件也会磨损和老化。(X)

16.完善性维护是提高或完善软件的性能。(√)

17.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原

因之一。(√)

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

19.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获

取第一手资料,并从中提取出有价值的需求。(√)

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

二.大题

1.图书管理系统功能性需求说明如下:(25分)

图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书馆向每一一个借阅者发放图书

证,其中包含每-一个借阅者的编号和个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服务等。

当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接与系统交互,而是通过图书管理员充当借阅者的

代理和系统交互。

系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、删除和修改。并且能够查询借阅者、图书和图书

管理员的信息。

°可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。

回答下面问题:

1)该系统中有哪些参与者(3分)

借阅者图书管理员系统管理员

2)确定该系统中的类,找出类之间的关系并画出类图

用户类、用户角色类、图书类、预定类、借阅类、书目类(6分)

类图(6分)6个类每2个1分,6个关系每2个1分

3)画出语境“借阅者预定图书”的时序图(10分)

2.某软件公司欲开发一个网络设备管理系统,对管理区域内的网络设备(如路由器和交换机等)进行远程监视和控制。公司的系统分析师首先对系统进行了需求分析,识别出如下3项核心需求:

(a)目前需要管理的网络设备确定为10类20种,未来还将有新类别的网络设备纳入到该设备管理系统中;

(b)不同类别的网络设备,监视和控制的内容差异较大;同一类网络设备,监视和控制的内容相似,但不同厂商的实现方式(包括控制接口格式、编程语言等)差异较大;

(c)网络管理员能够在一个统一的终端之上实现对这些网络设备的可视化呈现和管理操作。

针对上述需求,公司研发部门的架构师对网络设备管理系统的架构进行了分析与设计,架构师王工认为该系统可以采用MVC架构风格实现,即对每种网络设备设计一个监控组件,组件通过调用网络设备厂商内置的编程接口对监控指令进行接收和处理;系统管理员通过管理模块向监控组件发送监控指令,对网络设备进行远程管理;网络状态、监控结果等信息会在控制终端上进行展示。针对不同网络设备的差异,王工认为可以对当前的20种网络设备接口进行调研与梳理,然后通过定义统一操作接口屏蔽设备差异。李工同意王工提出的MVC架构风格和定义统一操作接口的思路,但考虑到未来还会有新类别的网络设备接入,认为还需要采用扩展接口的方式支持系统开发人员扩展或修改现有操作接口。公司组织专家进行架构评审,最终同意了王工的方案和李工的改进意见。

————————————————

【问题1】请用300字以内的文字解释什么是MVC架构风格以及其中的组件交互关系,并根据题干描述,指出该系统中的M、V、C分别对应什么。

MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化。

在本系统中,模型(M)代表监控组件、视图(V)代表控制终端、控制器(C)代表管理模块。

本题主要考査MVC架构风格的定义以及扩展接口模式结构的分析与理解。

3.阅读以下关于软件系统建模的叙述,在答题纸上回答问题1至问题3。

【说明】

某软件公司计划开发一套教学管理系统,用于为高校提供教学管理服务。该教学管理系统基本的需求包括:

(2)管理员(Registrar)使用该系统管理学校(University)、系(Department)、教师(Lecturer)、学生(Student)和课程(Course)等教学基础信息;

(3)学生使用系统选择并注册课程,必须通过所选课程的考试才能获得学分;如果考试不及格,必须参加补考,通过后才能获得课程学分;

(4)教师使用该系统选择所要教的课程,并从系统获得选择该课程的学生名单;

(5)管理员使用系统生成课程课表,维护系统所需的有关课程、学生和教师的信息;

(6)每个月到了月底系统会通过打印机打印学生的考勤信息。

项目组经过分析和讨论,决定采用面向对象开发技术对系统各项需求建模。

【问题1】(7分)用例建模用来描述待开发系统的功能需求,主要元素是用例和参与者。请根据题目所述需求,说明教学服务系统中有哪些参与者。

【试题解析】

【问题2】(7分)

用例是对系统行为的动态描述,用例获取是需求分析阶段的主要任务之一。请指出在面向对象系统建模中,用例之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时,

“参加考试”用例与“参加补考”用例之间的关系为:扩展关系。【问题3】(11分)

类图主要用来描述系统的静态结构,是组件图和配置图的基础。请指出在面向对象系统建模中,类之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时,类University与类Student之间、类University和类Department之间、类Student和类Course之间的关系分别属于哪种类型?

【参考答案】类之间的关系包括:关联、聚合、组合、依赖、泛化、实现(可写可不写,因为实现是接口与类之间的关系,而接口是一种特殊的类)。

类University与类Student之间的关系是:聚合关系。类University与类Department之间的关系是:组合关系。

类Student与类Course之间的关系是:关联关系。

【试题解析】依赖关系:一个事物发生变化影响另一个事物。泛化关系:特殊/一般关系。关联关系:描述了一组链,链是对象之间的连接。

聚合关系:整体与部分生命周期不同。组合关系:整体与部分生命周期相同。实现关系:接口与类之间的关系。

THE END
1.信息过载与知识管理策略与实践:管理和组织信息关键词: 信息过载、知识管理、策略、实践、信息组织摘要: 在当今信息爆炸的时代,信息过载已经成为影响个人和企业效率的普遍问题。本文旨在探讨信息过载的现状及其危害,并深入分析知识管理的概念、原则、策略和实践,以提供有效的信息管理和组织方法。通过介绍知识管理的基本策略和工具,本文希望能够帮助读者理解和应对信息过载https://blog.csdn.net/universsky2015/article/details/144304187
2.图书管理系统需求分析报告09806经管文库(原现金图书管理系统需求分析报告09806 https://bbs.pinggu.org/thread-13116825-1-1.html
3.故障案例知识库:案例数据汇总和故障知识归纳分析自动化重命名功能能够提高文档管理效率,减少人为错误。首先将需要重命名的文档上传系统,系统对文档内容进行深度分析,提取关键信息,根据预设规则或模板生成新文件名并替换原有文件名。用户可自定义重命名规则和模板,并对结果进行预览和修改。该功能为文档生成规范文件名,方便查找和使用,提高工作效率。同时,达观大模型https://baijiahao.baidu.com/s?id=1817583749982409612&wfr=spider&for=pc
4.论信息系统项目的质量管理(正文部分)9篇(全文)在有关领导的亲切关怀下,以及项目各组干系人的配合与支持下,我与项目组全体成员一起并肩作战,通过近10个月的努力,终于在2009年3月3日全面通过系统验收,项目总花费成本为98.38万元,比计划提前了15天完成项目建设。 该项目的成功与很大程度上归功于在项目整体实施过程中对质量的有效管理,下面分别对项目过程中的质量https://www.99xueshu.com/w/file87k8h3v3.html
5.数据治理:元数据及元数据管理策略方法和技术企业元数据管理的本质是有效利用企业数据资产,让数据发挥出尽可能大的价值。元数据管理可以帮助业务分析师、系统架构师、数据仓库工程师和软件开发工程师等相关干系人清楚地知道企业拥有什么数据,它们存储在哪里,如何抽取、清理、维护这些数据并指导用户使用。 https://maimai.cn/article/detail?fid=1764226521&efid=pZndI-4jw66BTIK70mfYmQ
6.软考(信息系统项目管理师)真题案例分析论文(2009BXT公司的问题:项目管理流程形同虚设,没有深入切实的检查。 BXT公司的问题:用人不当,不应选新毕业生做质量保证。项目经理小刘问题:需求分析闭门造车、项目计划?手包办。项目经理小刘问题:没有进行干系人分析,没有请对确认需求分析说明书的项目干系人。【问题2】项目经理小刘应该如何科学地制订该项目的WBS (说明https://m.book118.com/html/2022/0614/6122024050004200.shtm
7.学习记录第三十四天(PMP课程第5天)输入有“批准的变更请求”,这个是已经遵循变更管理流程被干系人批准的。 3、指导与管理项目工作的工具:项目管理信息系统(PMIS) 用来收集和发布绩效数据的系统,可自动收集和报告KPI是PMIS的重要功能。 项目管理信息系统提供下列工具:进度计划工具、工作授权系统、配置管理系统、信息收集与发布系统,或进入其他在线自动化系https://zhuanlan.zhihu.com/p/159275758
8.信息化项目需求说明书(通用9篇)篇3:信息系统项目需求的开发与管理 一、需求开发 需求开发是通过调查分析, 获得用户的需求并定义产品或服务。信息系统需求开发的结果是一系列通过评审的需求文档 (如范围文档、用例文档、需求规格说明书等) , 这些文档构成了项目日后工作的需求基线, 是用户和项目承建方之间就项目产生的产品或服务的一个约定。一个完https://www.360wenmi.com/f/file8n2c0jd8.html
9.it技术部岗位职责1、负责图书馆自动化集成管理系统及数据库系统的建设管理、维护工作。负责图书馆服务器系统、网络设备以及网络环境的安装、调试、管理与维护。 2、制定图书馆网络建设与发展规划,提出数字资源建设的建议。作好数字化图书资源、网络资源的建设工作。 3、负责多媒体视听中心的建设与维护工作,并做好馆藏光盘、磁盘、磁带等https://www.qunzou.com/ziliao/gangwei/208773.html
10.历年信息系统项目管理师考试论文真题范文(六)回顾而言,对项目计划的有效管理是成功的一大重要因素。但也存在一些不足之处,如前期需求分析时没有充分考虑到各分校间业务流程存在的差异性,也未能充分地引导客户需求,导致需求开发里程碑进度偏差较大。在今后的工作中,本人将继续总结经验教训,从而最大限度地满足项目干系人的需求和希望的目的。https://m.educity.cn/ntce/1780458.html
11.软件项目计划书SQL Server 20xx:数据库管理软件 DBMS:数据库管理系统 Windows XP:运行环境 VB.net 20xx:软件开发语言 visual studio 20xx 软件开发环境 2 项目概述 2.1 系统与项目的定义 本系统是建立在C/S系统架构下基于SQL Server数据库,采用VB.Net技术分析、设计、开发用于酒店信息化管理的。该系统基本满足了酒店管理方面的需https://www.ruiwen.com/gongwen/jihuashu/1074599.html