哈工大2024春软件工程期末回忆版

一.10个选择,但我只记得8个

1.以下关于 Git 的说法,不正确的是 选D

A 一个commit 可以有0个、1个、2个父亲commit
B 程序员对某个文件做了重命名但没有修改文件内容,Git仍会看作是删除了一个文件、新建了一个文件
C 一个本地Git仓库可以设置多个远程 Git 仓库连接并与它们进行同步
D Git 管理的软件配置项是代码行,即Git管理变化的基本单元是代码行

2.在UML 类图中,类与类之间有以下几种常见的关系:泛化(Genendization)、实现(Realization)、关联(Association)、聚合(Aggregation)、组合(Composition)、依赖(Dependency)。其中,按照关系紧密程度从强到弱的正确顺序是  选A
A 组合>关联>依赖   B 关联>组合>依赖   C 依赖>关联>组合 D 组合>依赖>关联

3.软件测试的主要目的是  选B
A 评价软件的质量    B 发现错误、降低错误带来的风险
C 与软件调试相同    D 证明软件是正确的

4.软件最长周期? 软件维护

5.增加或修改系统的功能,使其适应业务的变化属于什么?完善性维护

6.用于大规模软件项目,周期长、成本高,风险大选用?螺旋模型

7.需求工程不包括什么?

8.MVC controller不负责什么?只记得三个选项 A.业务逻辑,B.在用户与model传递信息C.调用model    选业务逻辑

二.四个简答,我遇到三个原题(都是考研题,答案是学长书写,并不准确)

一. “增量模型”是将系统划分为一系列增量,每开发完一个增量即去收集用户的反馈,而“原型模型”也强调根据用户的反馈调整当前系统,因此“增量模型”和“原型模型”是一种模型,这种说法正确吗? 为什么?

  • 不正确, 增量模型是因为当前需求不明确或者需求任务量太大, 所以将需求划分为一系列增量, 增量模型是串行的瀑布模型, 每一阶段都按照瀑布模型的严格审查和分阶段, 以及文档化操作, 增量模型仍然不能处理需求发生变更的情况

  • 原型模型是先设计一个工作原型, 工作原型不是增量, 他可能只是用于演示而不属于最终系统, 也可能通过演化加入最终系统, 原型模型可以最大程度上实现和用户的频繁交流互动, 并快速应对用户需求的变化

二. 结构化程序设计方法强调“高内聚、低耦合”,OO设计方法 强调应做到“类的责任单一”、“在不修改原有类代码的前提 下实现功能扩展”。你认为这些设计原则共同追求的NFR是 什么?为什么在设计中做到这些原则可以使该NFR变得更好?

同类型的NFR(非功能性需求):

  • 可维护性:代码清晰、职责单一,易于理解和维护。

  • 可扩展性:低耦合和高内聚使得系统可以方便地扩展新功能而不影响现有功能。

  • 可重用性:类的单一职责和低耦合使得代码更容易被重用。

  • 可靠性:更容易定位和修复问题,减少系统故障风险。

为什么这些设计原则使NFR变得更好:

  • 简内聚、低耦合:模块化设计,减少模块间的依赖,提高系统的灵活性和稳定性。

  • 责任单一:每个类只负责一种职责,减少类的复杂度,提高代码的可理解性和可维护性。

  • 不修改代码的前提下扩展功能:利用继承、接口和多态等OO特性,实现开放封闭原则,提高系统 的可扩展性。

三.C/S,B/S,M/C的层次结构与优缺点

四.在软件测试过程中,测试用例的数目, 测试的覆盖度和测试的效率三者之间存在一定关系,简要分析它们上间的折中性

  • 测试数目越多, 所能发现错误的情况就越多, 那么测试的覆盖度就越高

  • 同时, 测试用例越多, 所需要测试的时间就越多, 测试时所占用计算机的内存也可能越多, 使测试的效率降低

  • 折中处理:

    • 选取测试类时, 应使用等价类划分和边界分析法去寻找用例, 使每个用例是其所在等价类中的典型用例, 能代表整个等价类的总体情况, 这样可以减少不必要的用例数量

    • 既要包括有效等价类, 也要包括无效等价类

    • 并尽量选取边界值, 因为在边界更可能发现错误

    • 测试用例数量既不要太多, 也不要太少, 要尽量覆盖需求规格要求的范围

三.综合题

一个在线会议投稿系统,涉及会议组织者,投稿人,审稿人,三者涉及邮件联系,同时系统会给审稿人发送提醒邮件

(1)描述用例,但以表格形式给出,左侧actor,右侧actor的行为

(2)画领域图,只涉及实体类

(3)改进部署图,和12年第一大题第二问类似,同样是5个要求,原来部署图和下面差不多

①用户获取系统的及时更新

②用户可通过微信小程序获取信息

③用户可通过微信 短信,邮件获取通知

④系统人员希望较小代码更改

⑤系统维护人员希望,高效安全地访问

记不太清,大概是这样

(4)黑盒测试,跟下题差不多,只不过描述的是论文编号

软件工程复习资源icon-default.png?t=O83Ahttps://github.com/HITLittleZheng/HITCS/tree/main/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B上放仓库还有MOOC习题答案,复习资料,实验报告,往年期末题等学习资源

 为避免误人子弟,附上成绩:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NJU_AI_NB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值