一 说说整理初衷
最近有一些网友问我要考试套路,我确实有,但是比较散乱,借此重新整理一下发出来。
欢迎加微信沟通交流,专门建了个软考架构的群,欢迎加我微信拉进群沟通交流。
二 软件工程案例分析要点
软件工程案例主要是考察以下两块:
- 结构化需求分析(****)
- 面向对象设计(**)
结构化需求分析(****)
结构化需求分析中重点主要是:功能模型,考察的主要是数据流图(DFD),一般是以补全数据流图 (顶层图、0层图)的方式考擦。
如下2019年的案例真题:
问题:根据订餐管理系统功能说明,请在图2-1所示数据流图中给出外部实体E1~E4
和加工P1~ P4
的具体名称。
答题原则
父图与子图之间的平衡、子图内平衡(黑洞、奇迹、灰洞)
答题技巧:
- 1 补充实体
- 人物角色: 如客户、管理员、主管、经理、老师、学生
- 组织机构:如银行、供应商、募捐机构
- 外部系统:如银行系统、工资系统、后台数据库(当要开发的是中间件时)
- 2 补充存储
- 存储的文字方面特征:xx文件、xx表、xx库、xx清单、xx档案
- 3 补充数据流
- 根据数据平衡原则 - 对比顶层图与0层图
- 按题目说明进行匹配
- 4 补充加工名
- “动词+名词”,如生成报告、发出通知、批改作业、记录分数
- 例外情况如:物流跟踪、用户管理、xx管理
面向对象设计(**)
考察方式:一般会考察UML图的概念或者多种UML图的对比。
主要考察的UML图如下
UML图 - 用例图
用例建模的流程:
- 识别参与者(必须)
- 合并需求获得用例(必须)
- 细化用例描述(必须)
- 调整用例模型(可选)
可能考察识别出参与者(如2016年案例真题):参与者是外部触发因素包括用户、组织、外部系统、时间(定时任务)。
可能考察用例之间的关系(如2016年案例真题):包含关系、扩展关系、泛化关系
UML图 - 类图与对象图(考察方式:挖空)
可能考察概念如下:
- 类图:描述一组类、接口、协作和它们的关系
- 对象图:描述一组对象及它们之间的关系。
可以考察关系(如2016年案例真题):
- 依赖关系(一个事物发生变化影响另一个事物)
- 泛化关系(特殊与一般关系)
- 关联关系(描述了一组链,链是对象之间的连接)
- 聚合关系(整体与部分生命周期不同)
- 组合关系(整体与部分生命周期相同)
- 实现关系(接口与类之间的关系)
UML图 - 顺序图
考察概念,与其他UML图对比。
强调对象之间消息发送的顺序,同时显示对象之间的交互。
UML图 - 通信图(协作图)
考察概念,与其他UML图对比。
通信图也是一种交互图,强调对象之间存在的消息收发关系,不突出时序。
UML图 - 状态图
考察概念,与其他UML图对比。
是对类描述的补充,用户展现此类对象所具有的可能状态,以及某些事件发生时其状态转移情况。
特点: 节点就是状态 线代表事件
UML图 - 活动图
考察概念,与其他UML图对比。
活动图是一种特殊的状态图。强调对象间的控制流。
支持并行。
特点:节点是动作、横线是分流或合流
UML图 - 定时图
考察概念,与其他UML图对比。
也叫计时图,也是一种交互图,展示交互过程真实的时间信息,描述对象状态变化的时间点及维持特定状态的时间段。
三 其他概念考察
活动图与流程图的三个主要区别
- 活动图描述的是对象活动的顺序关系所遵循的规则,着重表现系统行为,而非处理过程;流程图着重描述处理过程。
- 活动图可以支持并发进程,流程图一般限于顺序执行。
- 活动图是面向对象的,流程图是面向过程的。
三种设计模式的作用
- 创建型模式:主要用于创建对象,为设计类实例化新对象提供指南。
- 结构型模式:主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南。
- 行为型模式:主要用于描述类或对象的交互以及职责的分类,对类之间交互以及分配职责的方式提供指南。