软考中级(软件设计师)必备知识解读——应用技术
应用技术
试题一
题目形式:文字说明 + 两张数据流图 + 问题
数据流图(DFD)
数据流图的基本图形元素包括数据流、加工、数据存储和外部实体。

-
外部实体(实体只能是唯一的):当前系统之外的人、物、外部系统
-
人:学生、老师、员工、主管、医生、客户、供应商…
-
物:传感器、控制器、单车、车辆、采购部门…
-
外部系统:支付系统、车辆交易系统、库存管理系统、道闸控制系统…
-
-
数据存储:存储数据和提供数据,存储加工的输出数据和提供加工的输入数据
-
例子:客户表、订单表、学生表
-
巴士列表文件、维修记录文件、课表文件
-
加工:将输入数据处理后得到输出数据
-
一个加工至少有一个输入数据流和一个输出数据流
-
加工只有输入没有输出称为:黑洞
-
加工只有输出没有输入称为:白洞
-
加工的输入数据不足以产生输出数据:灰洞
-
数据流的起点或终点必须至少有一个是加工
问题一(易)
找实体名称
写法: E1 :病人 E2:护理人员 E3:医生
问题二(易)
找数据存储名称
写法:D1:XX 表 XX 文件
D1:销售订单表 D2:库存表 D3:生产计划表 D 4:配方表 D5:采购订单表
问题三(15~20分钟)
题型:
- 根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点(三条即可)。
- 图1-2中缺失了4条数据流,使用说明、图1-1和图1-2中的术语,给出数据流的名称及其起点和终点。
- 根据说明和图中词语,补充图1-2中缺失的数据流及其起点和终点。
三个解题方法
- 父图子图平衡
- 加工既有输入数据流也有输出数据流
- 数据守恒
注意事项:数据流的起点和终点必须有一个是加工
答题格式:

-
如何保持数据流图平衡?
- 父图中加工的输入数据流必须与子图中的输入输出数据流在数量上和名字上相同;
- 父图中的一个输入(输出)数据流对应子图中几个输入(输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一条数据流。
试题二
数据库设计:
- 需求分析
- 概念模型 问题1 :E-R图
- 逻辑结构 问题2:关系模式
- 题型结构
- 说明
- 需求分析
- 概念模型(E-R图)
- 逻辑结构
- 问题
实体
实体用矩形表示,通常矩形框内写明实体名。
- 弱实体:使用双线矩形框表示。将需要依赖其他实体存在的实体。即一个实体的存在必须以另一个实体为前提。
例如职工与家属的联系,家属总是属于某职工的(在关系模式中需要依赖职工而存在),所以家属是弱实体。
- 子实体:又称为子类,它会有一个超类,并且能继承超类的属性,超类的属性是实体集中所有子实体的相同属性。

-
超类和子类的转化
超类、子类实体都可以转换为一个关系,并将超类实体的主码加到子类实体中
联系
联系用菱形表示,通常菱形框内写明联系名。
1:1:
- 转关系模式
- 归并到任一方实体
1:*:
- 转关系模式,关系的码是多方实体的码
- 归并到多方实体,把一方实体主键加到多方实体的关系模式属性,归并后多方实体的码保持不变
*:*:只能转化成一个独立的关系模式,关系的码是多方实体的码构成的属性组
属性
用椭圆形表示,并用无向边将其与相应的实体连接起来
- 简单属性和复合属性。简单属性是原子的、不可再分的复合属性可以细分为更小的部分(即划分为别的属性)。
- 单值属性和多值属性。单独的一个值。
- 派生属性。派生属性可以从其他属性得来。
试题三
[UML 的关系](#关 系)
- 依赖
-
关联:是一种结构关系,描述了一个组链,链是对象之间的连接

-
聚合:部分和整体的生命周期不一样,整体消失了,部分仍存在,部分可以脱离整体存在。

-
组合 :部分和整体的生命周期一样,整体消失了,部分也消失,部分不可以脱离整体存在。

-
-
泛化(继承) :父类泛化子类

-
实现:类实现一个接口

UML 的图
-
UML 类图
- 类
- 依赖、泛化、关联关系、实现(少见)
- 接口(不考)
- 协作(不考)
-
UML 用例图
- 用例。
- 参与者。
- 用例之间的扩展关系(<>)和包含关系(<>),参与者和用例之间的关联关系,用例与用例以及参与者与参与者之间的泛化关系。
试题四
N皇后问题
-
按行来摆放皇后
-
判断同一列
Q i 列 = Q j 列 Qi列 = Qj列 Qi列=Qj列 -
判断同一条斜线:
∣ Q i 行 − Q j 行 ∣ = ∣ Q i 列 − Q j 列 ∣ |Qi行 - Qj行| = |Qi列 - Qj列| ∣Qi行−Qj行∣=∣Qi列−Qj列∣
软考资料,笔记获取,更多粉丝福利,关注下方公众号获取

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)