软件设计师下午题

下午题(主要是按给出信息,寻找对应的空填写)

1.数据流图

按文字找相应的E对象,D数据存储

三种常见错误:黑洞,奇迹,灰洞

1.找出缺失的,写明起点终点

题目多少分就有多少个(大部分都从D中找出,其中一些相对两个表来找出)

2.最后一题,用结构化写出

在这里插入图片描述

加工是输出输入一起存在的

在这里插入图片描述

2.E-R图

矩形是实体,圆形是属性,菱形是联系,一般为无向边

在这里插入图片描述

1.是否有依赖关系

在这里插入图片描述

3.UML建模

一般都是用例图或类图

用例图

在这里插入图片描述

三种关系

包含关系:<>,包含指向被包含用例

扩展关系:<>扩展用例(就是可选择项;打印成绩)指向被扩展用例(查看成绩){扩展是被扩展的一种选择}

泛化关系:<>子用例(信用卡支付)指向父用例(支付){子用例是父用例的一种方式}

类图

在这里插入图片描述

关联->多重性

在这里插入图片描述

总类分
2.2 接口(Interface)
  接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。
  在UML中,接口使用一个带有名称的小圆圈来进行表示。
2.3 依赖(Dependency)关系
  依赖关系是指两个或多个类之间的依存关系,如植物类依赖于土壤类。 依赖关系还可以再细分为5种类型,分别是绑定(Binding)依赖、实现(Realization)依赖、使用(Usage)依赖、抽象(Abstraction)依赖和授权(Permission)依赖。
  依赖关系用虚线箭头来表示,箭头指向为依赖的方向。
2.4 泛化(Generalization)关系
  简单的讲就是类之间的继承关系。
  在UML中,泛化关系用空心三角形+实线来表示,箭头指向为父类。
2.5 聚合(Association)关系
  聚合关系是类之间的一种较弱的耦合关系,如一个字符串数组和一个字符串就是一种聚合关系。
  在UML中类图中,聚合关系用空心的菱形+实线箭头来表示,箭头指向为被聚合的类。
2.6 组合(Aggregation)关系
  组合关系是类之间一种整体与部分之间的关系,如一只青蛙有四条腿,青蛙类与青蛙腿类之间的关系就是组合关系。在UML类图中,组合关系用实心的菱形+实线箭头来表示,箭头指向为被组合的类。
2.7 关联(Composition)关系
  关联关系是类之间一种相互影响的关系,影响的方向就是关联的方向。
  在UML类图中,组合关系用实线箭头来表示。
2.8 实现(Realization)关系
  一般来讲实现关系是针对类与接口之间的关系而言的。
  在UML类图中,实现关系用空心三角形+虚线来表示。

在这里插入图片描述

1.题目就是在题干中找出对应的

题目三:在讲述的文字中有

在这里插入图片描述

4.数据结构

从上至下,从底上顶

分治法(利用的是递归式)(递归和二分查找)

将原问题拆成单独的子问题,从子问题的解的到原问题的解。不重复的子问题,(递归算法,斐波那契数列)

回溯法(按深度优先进行搜索,会把所有子树都走一遍再回到根结点)(适合解一些组合数较大的问题)

选择一步,若不是最优就回退到上一步重新选择,(深度优先法)

贪心法(选择就不会回退)

每一步都选择最优的,但这不是整体最优,只是单体最优。(背包放置问题)

动态规划法

最优子结构,重复子问题,无后效性

找出最优解的性质,并刻画其结构特征。
递归地定义最优解的值。
以自底向上地方式算出最优值。
根据计算最优值时得到的信息,构造一个最优解。

1.从图中得出使用的方法及方式

在这里插入图片描述

5.C++或java设计语言(上下代码联系)

implements interface的方法

Java

interface中的方法在类图中有表示
寻找相应的方法,大部分是implements中的方法在interface里面写出相应的接口函数
若是继承方法的属性定义要加上abstract

ents interface的方法

Java

interface中的方法在类图中有表示
寻找相应的方法,大部分是implements中的方法在interface里面写出相应的接口函数
若是继承方法的属性定义要加上abstract

下午题参考下午题

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为软件设计师,需要熟悉各种数据结构及其应用,以下是一些常见的数据结构型: 1. 数组操作:包括数组的遍历、查找、排序、插入、删除等操作,需要熟练掌握数组的基本概念和使用方法。 2. 栈和队列:栈和队列是两种常见的线性数据结构,需要了解它们的基本概念、实现方式以及在算法中的应用。 3. 链表:链表是一种非线性数据结构,需要掌握链表的基本实现方式、遍历方式、节点的插入和删除等操作,以及链表在算法中的应用。 4. 树:树是一种重要的非线性数据结构,包括二叉树、平衡树、红黑树、B树等,需要了解树的基本概念、遍历方式、节点的插入和删除等操作,以及树在算法中的应用。 5. 图:图是一种复杂的非线性数据结构,包括有向图和无向图,需要了解图的基本概念、遍历方式、最短路径算法、最小生成树算法等,以及图在算法中的应用。 6. 哈希表:哈希表是一种基于哈希函数实现的数据结构,需要了解哈希表的基本概念、实现方式和哈希冲突解决方法,以及哈希表在算法中的应用。 7. 字符串操作:包括字符串的匹配、替换、反转、压缩、加密等操作,需要熟练掌握字符串的基本概念和使用方法。 以上是一些常见的数据结构型,掌握它们对于软件设计师的编程能力和算法理解能力都有很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值