软件工程考研核心考试必考点
(精简可打印)
一、软件开发模型选型口诀
需求稳定选瀑布、V模型;需求模糊选原型、进化模型;
项目分阶段迭代用增量模型;项目风险高选用螺旋模型;
互联网、需求易变场景用敏捷模型;面向对象开发适配喷泉模型。
高频对比
1. 瀑布vs敏捷:瀑布模型线性开发、侧重文档,全程需求固定;敏捷依托短迭代、轻文档,可快速适配需求变动。
2. V模型vs瀑布:V模型是瀑布模型的优化版本,核心优势是实现开发与测试环节一一对应,让测试提前介入,有效提升软件质量。
二、UML建模与数据流图(必考)
(一)核心UML图
1. 类图(重中之重)
包含类名、带权限的属性与操作( + 公有、 – 私有,必考)。六种关系:泛化、实现、关联、聚合、组合、依赖。
2. 用例图
由参与者、椭圆用例、系统边界构成。包含三种关系:包含为必备功能,扩展为可选附加功能,泛化为子用例继承父用例能力。
3. 序列图
横向为对象、纵向为时间轴,通过编号箭头消息,按时间顺序展示对象交互逻辑。
(二)数据流图DFD
需分层绘制,0层展示系统整体与外部实体的数据流转,1层细化系统内部加工流程。四大元素:外部实体(矩形)、加工(圆形/矩形)、数据存储(双横线)、数据流(带名称箭头)。
三、软件测试
1. 测试阶段顺序:单元测试→集成测试→系统测试→验收测试,逐级通过方可进入下一阶段。
2. 核心测试方法:黑盒测试不关注内部逻辑,包含等价类划分、边界值分析;白盒测试聚焦代码逻辑,包含语句覆盖、判定覆盖。
3. 用例设计:区分有效、无效等价类,重点校验数据上下限及边界±1数值。
四、面向对象OO四大特性
封装:依托权限控制整合属性与方法,提升系统安全与可维护性;
继承:子类复用父类能力,减少代码冗余;
多态:同一方法适配不同对象,执行差异化逻辑;
抽象:提炼通用特征,隐藏细节、聚焦核心功能。
五、软件设计与需求核心
1. 设计核心原则:高内聚(模块功能单一)、低耦合(模块关联性弱)、模块化(拆分独立模块,便于迭代维护)。
2. 两层架构:概要设计规划整体架构与模块划分,明确系统“做什么”;详细设计设计模块算法与逻辑,明确系统“怎么做”。
3. 需求分析:分为功能需求,以及性能、安全、易用、可靠性四类核心非功能需求;常用获取方式:访谈、问卷、原型法、场景分析。
六、项目管理高频考点
核心管理维度:范围、进度、成本、质量、风险。
夜雨聆风