软件工程硕士研究生课程试题
- 格式:docx
- 大小:85.59 KB
- 文档页数:4
2023年全国硕士研究生入学考试软件工程真题考试时间:2023年6月10日上午9:00-11:30考试地点:各省考试中心一、单项选择题(共60题,每题2分,共120分)1. 下列哪项不属于软件开发的生命周期?A. 可行性研究B. 需求分析C. 系统设计D. 程序编码2. 软件测试的目的是 ___________ 。
A. 发现全部缺陷B. 提高软件质量C. 验收软件符合需求D. 用户满意度3. 下列哪项不属于面向对象分析方法?A. CRC卡B. 数据流图C. 用例图D. 类图二、简答题(共3题,每题20分,共60分)1. 请简要描述软件工程的定义和作用。
软件工程是一门研究使用工程原理、方法和工具来开发和维护高质量软件的学科。
它涉及软件开发周期的各个阶段,包括需求分析、系统设计、编码、测试和维护。
软件工程的作用在于提高软件的质量、可靠性和可维护性,以满足用户的需求,并提高软件开发的效率和产品的竞争力。
2. 请简要介绍敏捷开发方法并阐述其优势。
敏捷开发是一种以迭代、循序渐进的方式进行软件开发的方法。
它强调团队合作、快速响应变化和持续交付价值。
与传统的瀑布模型相比,敏捷开发具有以下优势:- 灵活性:敏捷开发能够快速适应需求变化和市场变化。
- 透明度:团队成员之间的沟通更加频繁和紧密,项目进展和问题可以及时暴露和解决。
- 用户参与:敏捷开发注重用户的反馈和参与,能够更好地满足用户需求并提高用户满意度。
- 高质量:通过频繁的测试和持续集成,可以尽早地发现和修复软件缺陷,提高软件质量。
- 提高团队效率:敏捷开发强调团队协作和自组织,能够更加高效地开展工作。
3. 请简要解释软件需求的三个关键属性:可行性、一致性和可跟踪性。
- 可行性(Feasibility):软件需求应该在技术、经济和法律等方面是可行的。
也就是说,软件需求在技术上能够实现,经济上可行(考虑成本和收益),并符合法律法规和规范要求。
- 一致性(Consistency):软件需求之间应该是相互协调和一致的。
软件工程考研试题1.问题:简述软件工程的基本原则。
答案:软件工程的基本原则包括抽象、模块化、信息隐藏、一致性、完备性、可靠性、可维护性和可复用性等。
这些原则是指导软件工程师进行软件开发的重要准则,有助于提高软件的质量和可靠性,降低维护成本。
2.问题:什么是软件开发生命周期?请简述其各个阶段的主要任务。
答案:软件开发生命周期是指从软件的需求分析、设计、实现、测试到部署和维护的整个过程。
主要阶段包括需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段。
需求分析阶段主要任务是确定软件的目标和用户需求;设计阶段主要任务是设计软件的体系结构、数据库和系统流程等;编码阶段主要任务是按照设计要求实现软件功能;测试阶段主要任务是测试软件的各项功能和性能,确保软件符合需求和设计要求;维护阶段主要任务是修复软件缺陷、更新软件版本和提供技术支持等。
3.问题:什么是软件测试?简述软件测试的常用方法。
答案:软件测试是指通过一系列测试用例来验证软件是否符合需求和设计要求的过程。
常用的软件测试方法包括黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。
黑盒测试主要关注软件的功能性需求,通过输入和输出结果来验证软件的正确性;白盒测试主要关注软件的内部结构和逻辑,通过代码的覆盖率来验证软件的可靠性;灰盒测试则介于黑盒和白盒之间,既关注功能性需求也关注内部结构。
单元测试是对单个模块进行测试,集成测试是将多个模块集成在一起进行测试,系统测试是对整个软件的性能和功能进行全面测试。
4.问题:什么是软件维护?简述软件维护的类型。
答案:软件维护是指在软件发布后对其进行修复缺陷、更新版本和改进性能等工作的过程。
根据维护的性质不同,软件维护可以分为纠错性维护、适应性维护、完善性维护和预防性维护等类型。
纠错性维护是指修复已发现的软件缺陷;适应性维护是指修改软件以适应外部环境的变化;完善性维护是指增加软件功能和性能,提高软件的可维护性和可复用性;预防性维护是指通过对软件的审查和评估,预测未来的变化并采取相应的措施。
华中科技大学软件学院软件工程硕士2023(秋)级第一学期《计算机网络》试卷答案注意事项:1.本试卷共五大题,满分100分,考试时间150分钟;2. 请将答案按序号分别写在答题纸上,答在试卷上不得分。
一、名词解释(每题1分共10分)1.1 DNS Domin Name System,域名系统或Domin Name Service,域名服务。
域名系统指给Internet上的主机指定域名地址,同时可使其也具有IP地址。
域名地址由用户使用并自动转换成可供IP包路由软件使用的数据形式的IP地址。
域名服务指实现域名系统的Internet工具。
1.2分组互换是存储转发的一种类型,分组就是将要发送的报文提成长度固定的格式进行存储转发的数据单元,长度固定有助于通信节点的解决。
1.3流量控制流量控制是为了避免发送方发送速率大于接受方接受速率的情况,通过某种反馈机制,限制发送方的发送速率,使发送方的发送速率不超过接受方的接受速率。
1.4差错控制差错控制是为了保证发送方发出的所有的数据帧都可以按照对的的顺序交付给网络层。
为了保证可靠传送,常采用的方法是由接受方向发送方提供反馈信息,例如发回特殊的控制帧表达对输入肯定或否认的信息。
同时设定计时器,当一个帧完全丢失时重新传送。
1.5 IP地址IP协议规定所有参与Internet的网络节点要有一个统一规定格式的地址,简称IP地址。
在Internet网上,每个网络和每一台计算机都被分派有一个IP地址,这个IP 地址在整个Internet网络中是唯一的。
IP地址是供全球辨认的通信地址。
在Internet上通信必须采用这种32位的通用地址格式,才干保证Internet网成为向全球的开放互联数据通信统。
它是全球认可的计算机网络标记方法。
IP地址可表达为二进制格式和十进制格式。
1.6 URL URL(Uniform Resource Locator)是Internet上对资源的标准编址机制。
北京科技大学2014年硕士学位研究生入学考试试题============================================================================================================= 试题编号: 870 试题名称:软件工程(共 4 页)适用专业:计算机科学与技术、软件工程、计算机技术(专业学位)、软件工程(专业学位)说明:所有答案必须写在答题纸上,做在试题或草稿纸上无效。
=============================================================================================================一、选择题(共20分,每小题2分)1、软件工程学科出现的主要原因是( )。
A.计算机的发展B.其他工程学科的发展C.软件危机的出现D.程序设计方法学的影响2、瀑布模型是()。
A.软件开发方法B.软件开发环境C.程序设计方法学D.软件生存周期模型3、准确地解决“软件系统必须做什么”是()阶段的任务。
A.可行性研究B.详细设计C.需求分析D.编码4、好的模块划分原则应该是()。
A.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚5、为了提高模块的独立性,模块内部最好是()。
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、软件工程管理的对象是()。
北京邮电大学2020年硕士研究生招生考试试题考试科目:807软件工程专业综合请考生注意:(1)所有答案(包括选择题和填空题)一律写在答题纸上,否则不计成绩。
(2)允许使用计算器。
(3)本考题包括数据结构,操作系统,数据库三个科目。
其中数据结构为必选。
操作系统与数据库为二选一,考生需选择其中一个科目答题并且注明所选科目的名称。
必选科目数据结构(90分)一、选择题(每小题2分,共20分)1.考虑下面的程序段void running (int n)int j = 0; int k = O;w h ile (j < n) { k = k+ 1; j = j + k;此段代码的时间复杂度为A.O(logn)B.0 (n112)C.0 (n)D.0 (n2)2.设T是高度为h的平衡二叉树(又称A VL树),并且是高度为h的包含节点最少的平衡二叉树,则T包含节点数目的数量级是?A. 1. 41421 hB. 1. 61803hC.2. 71828hD. 3. 14159h3.循环单链表的主要优点是A.不再需要头节点指针B.从表的任一节点出发都能够遍历整个链表C.已知某个节点位置后能够容易找他其前趋D.在进行插入删除操作时能够保证链表不断开4.将n阶对称矩阵A=[a j,k](O<=j, k<n)的上三角元素按行优先压缩存储在数组b[O, N)中,则矩阵元素a j,k(j<=k)在数组中对应的位置是A. b U*n-j* (j—1) /2 + k]B.b U* (j-1) /2 + k]C.b[j*n-j*(j+l)/2 + k-1]D.b[j*(j+l)/2 +k-1]5.对快速排序算法较为不利的情况是A.数据量太大B.数据基本有序C.数据中包含太多的相同键值D.数据量为奇数6.n个节点的二叉树大约有多少个不同的形状?A.3. 14159"B.2"C.2. 71828"D.4"7.在采用线性探测处理冲突的散列表上作查找操作。
软件考研试题及答案一、单项选择题(每题2分,共10分)1. 以下哪个选项是面向对象编程语言的特性?A. 结构化B. 模块化C. 封装D. 过程化答案:C2. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 编写代码B. 设计数据库C. 确定软件功能和性能要求D. 进行系统测试答案:C3. 软件测试的目的是?A. 修复软件中的所有错误B. 验证软件是否满足需求C. 编写文档D. 进行代码审查答案:B4. 在敏捷开发方法中,以下哪个不是敏捷的四大价值观?A. 个体和互动B. 工具和过程C. 可工作的软件D. 客户合作答案:B5. 下列哪种软件架构风格是面向服务的?A. 管道-过滤器B. 客户端-服务器C. 主-从架构D. 层级架构答案:B二、多项选择题(每题3分,共15分)1. 以下哪些是软件工程的主要活动?A. 需求分析B. 系统设计C. 编程D. 软件测试E. 软件维护答案:A, B, C, D, E2. 在面向对象编程中,以下哪些是对象的基本特征?A. 封装B. 继承C. 多态D. 抽象E. 并发答案:A, B, C, D3. 以下哪些是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 性能测试E. 回归测试答案:A, B, C, D, E4. 在软件开发过程中,以下哪些是风险管理的策略?A. 风险转移B. 风险接受C. 风险避免D. 风险共享E. 风险消除答案:A, B, C, D5. 在软件项目管理中,以下哪些是项目成功的关键因素?A. 明确的项目目标B. 有效的沟通C. 合适的技术D. 良好的团队合作E. 严格的进度控制答案:A, B, D, E三、简答题(每题5分,共20分)1. 请简述什么是软件危机,并列举出解决软件危机的几种方法。
答案:软件危机是指软件开发过程中出现的一系列问题,如成本失控、进度延误、质量低下等。
解决软件危机的方法包括:采用软件工程方法论、实施严格的项目管理、进行需求工程、采用模块化和组件化设计、进行持续的测试和维护等。
软件工程考研题库1. 下列哪个不属于软件工程的基本原则?A. 高质量产品B. 及时交付C. 严格控制成本D. 持续演化答案:C解析:软件工程的基本原则包括高质量产品、及时交付和持续演化,而严格控制成本不属于软件工程的基本原则。
2. 软件配置管理的目标是:A. 管理软件开发过程中的变更B. 管理软件的测试工作C. 管理软件的开发人员D. 管理软件的需求分析答案:A解析:软件配置管理的目标是管理软件开发过程中的变更,包括版本控制、变更管理和发布管理等。
3. 下列哪个不属于软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:D解析:软件维护的类型包括纠错性维护、适应性维护和完善性维护,预防性维护不属于软件维护的类型。
4. 软件需求分析的主要任务是:A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的开发环境D. 确定软件的测试用例答案:A解析:软件需求分析的主要任务是确定软件的功能需求,包括系统的功能和行为。
5. 软件测试用例设计的基本原则包括哪些?A. 测试用例应覆盖所有可能的情况B. 测试用例应覆盖大多数情况C. 测试用例应覆盖常见情况D. 测试用例应尽量简单答案:A解析:软件测试用例设计的基本原则是测试用例应覆盖所有可能的情况,以尽可能发现软件中的错误和缺陷。
6. 下列哪个不属于软件项目管理的内容?A. 项目计划B. 项目组织C. 项目实施D. 项目销售答案:D解析:软件项目管理的内容包括项目计划、项目组织和项目实施等,与项目销售无直接关系。
7. 软件度量的目的是:A. 评估软件的质量B. 评估软件的性能C. 评估软件的开发进度D. 评估软件的测试结果解析:软件度量的目的是评估软件的质量,在软件开发过程中通过收集和分析软件相关的数据来评估软件的质量水平。
8. 软件工程中的“五大过程组”包括以下哪些?A. 需求分析、设计、编码、测试、运维B. 规划、需求分析、设计、编码、测试C. 规划、需求分析、设计、实施、运维D. 规划、需求分析、设计、编码、验收答案:C解析:“五大过程组”包括规划、需求分析、设计、实施和运维,是软件工程中的核心流程。
研究⽣软件⼯程考试试卷1⼀、填空题1、CMMI将软件开发过程能⼒分为( 5 )个等级如果某组织已处于定量管理级,则开发过程的特点是;附:五个等级分别为:初始级、已管理级、已定义级、量化管理级、优化级。
初始级:软件过程是⽆序的,有时甚⾄是混乱的,对过程⼏乎没有定义,成功取决于个⼈努⼒。
管理是反应式的。
已管理级:建⽴了基本的项⽬管理过程来跟踪费⽤、进度和功能特性。
制定了必要的过程纪律,能重复早先类似应⽤项⽬取得的成功经验。
已定义级:已将软件管理和⼯程两⽅⾯的过程⽂档化、标准化,并综合成该组织的标准软件过程。
所有项⽬均使⽤经批准、剪裁的标准软件过程来开发和维护软件,软件产品的⽣产在整个软件过程是可见的。
量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。
管理有⼀个作出结论的客观依据,管理能够在定量的范围内预测性能。
优化级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
2、三层体系结构包括:⽤户层、业务层和数据层。
3、统⼀过程模型的特点是:⽤例驱动、以架构为中⼼迭代增量式地开发软件。
4、Gamma将⾯向对象设计模式分为三类:分别是创建型、结构型和⾏为型模式。
5、在UML描述整体和部分关系时,有(组合)和(聚合)两种⽅式,前者的部分不能被整体共享,⽽后者的整体却能被若⼲整体共享。
6、Python语⾔定义类的成员是在(构造/内建)函数中定义。
7、在敏捷软件开发中,Scrum是⼀种(迭代增量)式软件开发过程,就像橄榄球赛的争球过程:快速、⾃组织和有适应性,其开发团队复责(开发团队负责在每个冲刺阶段结束,交付潜在可发布的"已完成"产品增量。
)。
8、SysML是对UML的⼀种扩展,⽤于系统⼯程建模,新增的图包括(需求图)和(参数图)两种。
⼆、简答题1.Petri⽹和Petri⽹系统有何区别?什么是有⾊Petri⽹?Petri ⽹是⼀种⽤于系统描述和分析的数学⼯具,Petri⽹是对离散并⾏系统的数学表⽰。
2024软件工程考研试题2024年的软件工程考研试题,是对未来软件工程师的综合能力进行考察的一次重要考试。
本次考试试题涵盖了软件工程的各个方面,旨在评估考生的专业知识、解决问题的能力以及创新思维。
以下是本次考试的试题内容。
一、单项选择题(共30题,每题2分,共60分)1. 软件工程的目标是:A. 提高软件开发效率B. 提高软件质量C. 提高软件可维护性D. 以上都是2. 下列哪个不是软件工程的基本原则?A. 需求分析B. 设计C. 编码D. 测试3. 软件生命周期模型中,不包括以下哪个阶段?A. 需求分析B. 设计C. 实现D. 维护4. 下列哪个不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 缺陷测试5. 软件需求分析的目的是:A. 确定软件的功能和性能要求B. 确定软件的开发周期C. 确定软件的编程语言D. 确定软件的测试方法二、简答题(共5题,每题10分,共50分)1. 请简要解释软件工程的概念,并列举至少三个软件工程的基本原则。
2. 请简要描述软件生命周期模型,并选择其中一种模型进行详细解释。
3. 请简要解释软件测试的目的和方法,并列举至少两种常用的软件测试方法。
4. 请简要解释软件需求分析的过程,并列举至少三个常用的需求分析方法。
5. 请简要解释软件项目管理的概念,并列举至少三个软件项目管理的常用工具。
三、论述题(共2题,每题20分,共40分)1. 请论述软件工程在现代社会中的重要性,并举例说明。
2. 请论述软件工程师应具备的核心能力,并解释为什么这些能力对软件工程师的职业发展至关重要。
本次考试试题的设计旨在全面考察考生对软件工程的理解和掌握程度。
通过选择题考察考生对基本概念和原则的掌握,通过简答题考察考生对具体知识点的理解和应用能力,通过论述题考察考生对软件工程的整体认识和思考能力。
软件工程作为一门新兴的学科,对现代社会的发展起到了重要的推动作用。
它不仅提高了软件开发的效率和质量,也为各行各业的信息化建设提供了强有力的支持。
郑州大学软件工程考研试题1.下面函数不能满足算法的要求,他违反了算法的()。
sam ( ){ y=0;x=5/y;printf(x,y);}A.有穷性B.确定性C.可行性D.健壮性2.链式存储结构的线性表中,逻辑上相邻的元素其物理位置上()。
A.一定相邻B.一定不相邻C. 不一定相邻D.在同一个数据块3.若用数组b[1]~b[n]作为栈s1和队列s2的共用存储结构,s1是栈底为bottom,s2的队头front,对于栈s1和队列s2,只有当b[1..n]全满时才不能作入栈或入队操作。
为栈S1和队列S2分配空间的最佳初始方案是()。
A.bottom=0,front=n+1 B. bottom=0,front=n/2C. bottom=1,front=nD. bottom=1,front=n/24.设有顺序栈S,元素1,2,3,4,5,6依次进栈,如果6个元素的出栈顺序是2,3,4,5,6,1则栈的容量至少应为()。
A.2B.3C.5D.65.数组通常具有的两种基本操作是()。
A.建立和删除B.索引和修改C.查找与索引D.查找与修改6.已知完全二叉树有26个结点,则整棵二叉树中度为1的节点数为()。
A.0B.1C.2D.137.用哈夫曼树构造{3421 4331 2313 1413}电文(不考虑空格)的二进制通讯编码,则字符“04”的编码可能是()。
A.01B.1C.001D.108.求图中某个源点到其余各定点的最短路径采用的算法是()。
A.PrimB.PleydC.KruskalD.Dijkstra9.长度为m的哈希表,采用线性探测再散列处理冲突,一个关键字第一次计算的哈希地址为d,则第三次计算的哈希地址为()。
A.(d+1)%mB.(d+2)%mC.(d+3)%mD.(d-1)%m10.9阶B-树中,除根以外的任何一个非叶子节点中的关键字数目均在()。
A.4~8之间B. 4~9之间C. 3~8之间D. 5~9之间11.下列排序算法中,在某趟结束后不一定能选出一个元素放在其最终位置上的算法是()。
1.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是开发、运行、维护和修复软件的系统方法。
克服软件危机,需要认真分析软件危机的原因,探索用工程的方法进行软件生产的可能性,即用
现代工程的概念、原理、技术和方法进行计算机软件的开发、管理、维护和更新。
2.什么是软件的生命周期模型?它主要由哪些模型?
答:软件生命周期是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统
设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
3.软件工程过程包括那些过程?
答:(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。
(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。
需求活动包括问题分析和需求分析。
概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
维护活动包括使用过程中的扩充、修改与完善。
伴随以上过程,还有管理
过程、支持过程、培训过程等。
(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
4.软件质量的定义是什么?
答:软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的
软件都应具有的隐含特征的程度。
5.黑箱测试原理是什么?测试目的是什么?
答:把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需
求规格说明书。
测试目的:检查程序的功能是否符合它的功能说明。
6.白箱测试原理是什么?测试目的是什么?
答:把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择
测试用例,对程序所有逻辑路径进行测试。
测试目的:通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
7.简述UML的含义及在软件工程中的作用。
答:UML是一种标准化的图形建模语言,它是面向对象分析与设计的一种标准表示。
由:视图,图, 模型元素,通用机制等几个部分构成。
UML从考虑系统的不同角度出发,定义了用案图、类图、
对象图、状态图、活动图、序列图、协作图、构件图、部署图等9种图。
作用:在现代软件工程中,需求到详细设计是非常重要的环节,后续的编码、测试、维护都只是
按照前面的规划计划进行,一个非常详细的设计,利用UML几乎能将整个的代码通过 UML表示
出来。
8.简述数据流图DFD的定义及其在软件工程中的作用。
答:从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
作用:1、便于用户表达功能需求和数据需求及其联系;2、便于两类人员共同理解现行系统和规
划系统的框架;3、清晰表达数据流的情况;4、有利于系统建模。
9.结合软件工程所学知识,进行淘宝、京东的用户需求解析(至少买家的功能需求进行分析)。
完成UML的用例图、数据流图,并进行对比。
用UML工具画出买家类图、买家的用例图(提示:可根据买家的信息,可进行的购物功能,付款的方式,购物的方式和流程等进行分析),并以阐述他们之间的优缺点。
数据库打开网页选购商品
会员注册
Y
正确
填写详细联系信
息,提交
卖家看到信息,与
物流方联系,确认
送货
数据库
客户收到商品检查
商品交易结束。