软件设计师笔记(一)-基础要点

news2025/1/11 11:04:35

本文内容来自笔者学习zst 留下的笔记,虽然有点乱,但是哥已经排版过一次,将就着看吧,查缺补漏,希望大家都能通过,记得加上免费的关注!谢谢!csdn贴图真的很废人!

目录

一、专利相关

二、面向对象

2.1. 面向对象的三大特征

2.2. 面向对象设计原则

2.3. 面向对象设计时包含的主要活动

2.4. 面向对象程序测试

三、UML

3.1 UML 中的图

3.1.1 类图

3.1.2 用例图

3.1.3 序列图

3.1.4 通信图

3.1.5 状态图

3.1.6 活动图

3.1.7 构件图

3.1.8 部署图

3.2 总结

四、设计模式

五 、操作系统

5.1 PV操作

5.2 死锁

5.3 磁盘调度

六、结构化开发

6.1 耦合种类

6.2 内聚

6.3 数据字典

七、软件工程

7.1 CMM软件能力成熟度模型

7.2 CMMI

7.3 开发模型

7.4 敏捷方法

7.5 测试相关

7.6 系统维护

7.7 系统维护性

7.8 COCOMO

7.9 质量模型

八、数据结构

8.1 矩阵存储

8.2 二叉树性质

8.3 遍历方式

8.4 二叉排序树

8.5 最优二叉树

8.6 最优二叉树的构造

8.7 图

8.8 有向图和无向图

8.9 深度优先和广度优先

8.10 归并排序

九、编译器相关

9.1 语法,词法等相关

9.2 中间代码

十、数据结构相关

十一、杂项目

11.1 浮点数的范围表示


一、专利相关

知识要点:

  1. 发表权是有时间指,人死亡后+50年

  2. 在公司开发的相关,员工只有署名权,其他都属于公司

  3. 委托开发,如果无相关委托书指明,软件相关著作权都属于受委托方

  4. 专利:不管谁先用,谁先申请就谁

  5. 商标:同一天申请,谁先使用,归谁

二、面向对象

2.1. 面向对象的三大特征

封装,继承,多态

类对象之前通过消息传递

多态种类:

静态绑定:编译时候进行的,叫做静态绑定

动态绑定:调用代码时候才进行,叫做动态绑定;

重载:表示同一个类中不同成员函数之间的关系,载要求函数名相同,但是参数列表必须不同

覆盖(重置):子类和父类不同成员函数的关系,要求函数名、参数列表、返回值必须相同

2.2. 面向对象设计原则

  • 单一责任原则:针对一个类而言,仅有一个引起变化的原因

  • 开放-封闭原则:扩展开放,修改关闭

  • 里氏替换原则:父类出现的地方,子类一定能够出现

  • 依赖倒置原则:依赖于抽象,而不依赖于细节(实现)

  • 接口分离原则:依赖于抽象,而不依赖于具体

  • 共同重用原则:重用了包中的一个类,那么重用包中所有的类

  • 共同封闭原则:一个变化多一个包产生影响,对该包中所有的产生影响,而对其他不造成影响

面向对象分析时候,执行的活动顺序

认定对象,组织对象,描述对象间的相互作用,确定对象操作、定义对象的内部信息

2.3. 面向对象设计时包含的主要活动

识别类及对象,定义属性,定义服务,识别关系,识别包

2.4. 面向对象程序测试

可以分为4个层次进行

abstract 抽象

  • 算法层

  • 类层

  • 模板层

  • 系统层

  • 静态方法只能访问静态成员变量;类的静态成员变量,在该类的对象将共享该静态成员变量。

三、UML

UML(Unified Modeling Language)

  1. 三种构造块:实物、关系和图

  2. UML4中事物

结构事物:通常是静态部分,描述概念或者物理元素。包括类,结构,协作,用列,主动类,构建,制品和结点

行为事物:动态部分,包括交互,状态机和活动

分组事物:最主要的是包

注释事物:用来描述、说明和标注模块的任何元素。注释是一个依赖一个元素或者一组元素智商,对它进行约束或解释的简单符号。

  1. UML 关系

依赖

关联

聚合【空心】:部分和整体的生命周期不一致,整体消失了,部分仍然存在着,部分可以脱离整体的存在;

组合【实心】:部分和整体的生命周期一致,整体消失了,部分不存在,部分不可以脱离整体的存在;

泛化

子类继承父类,但是泛化的意思是父类泛化子类;

实现

3.1 UML 中的图

3.1.1 类图

3.1.2 用例图

包含关系《include》

扩展关系《extend》

泛化关系《genralize》

3.1.3 序列图

3.1.4 通信图

3.1.5 状态图

状态图展现的是一个状态,

活动(动作)可以 在状态内执行,也可以在状态转换(迁移)时执行

3.1.6 活动图

3.1.7 构件图

构建图也叫组件图

图中右上角的“工”就可以看出是构件图

3.1.8 部署图

3.2 总结

四、设计模式

五 、操作系统

5.1 PV操作

同步信号量,S1=0

互斥型号量,S2>0

5.2 死锁

关于死锁相关条件

M>=nx(w-1)+1

M为资源个数,n为进程个数,w为一个进程需要的资源个数

5.3 磁盘调度

六、结构化开发

6.1 耦合种类

6.2 内聚

6.3 数据字典

七、软件工程

7.1 CMM软件能力成熟度模型

CMM 软件能力成熟度模型

7.2 CMMI

7.3 开发模型

7.4 敏捷方法

7.5 测试相关

白盒测试

1.语句覆盖:指程序中的每个语句需要执行一次【最弱覆盖】

2.判定覆盖:指程每个判定表达式的一次真和假都需要执行一次

3.条件覆盖:判定语句中的每个逻辑条件的各种可能指知道一次(看图)

4.判定/条件覆盖:上面哪种并集

5.条件组合覆盖:每个判定条件中的各种可能值需都至少出现一次

6.路径覆盖:覆盖被测试程序中所有可能的路径【最强覆盖】

7.6 系统维护

可维护性评价指标:“

可理解性,可修改,可测试性

7.7 系统维护性

7.8 COCOMO

基本COCOMO:静态单变量模型

中级COCOMO:静态多变量模型

详细COCOMO:分为系统,子系统和模块3个层次

7.9 质量模型

八、数据结构

8.1 矩阵存储

8.2 二叉树性质

8.3 遍历方式

前序------------根左右

中序------------左根右

后续------------左右根

层次遍历-----------从上往下,从左往右

8.4 二叉排序树

根节点:大于所有左子树,小于所有右子数的关键字

中序遍历得到的序列是有序序列

8.5 最优二叉树

8.6 最优二叉树的构造

8.7 图

8.8 有向图和无向图

选C

深度优先

递归思想

8.9 深度优先和广度优先

深度优先:

时间复杂度:O(n平方)

空间复杂度:O(n+e)

n为结点,e边数

2.广度优先

队列思想

广度优先:

时间复杂度:O(n平方)

空间复杂度:O(n+e)

n为结点,e边数

8.10 归并排序

九、编译器相关

9.1 语法,词法等相关

9.2 中间代码

十、数据结构相关

自然连接:把两个关系做笛卡尔积,然后选取公共属性相等的列(有可能有多个),再去掉重复的列

SQL语句

投影 :可以看是from

选择:可以看是Where

十一、杂项目

11.1 浮点数的范围表示

需要解决的问题:

\1. 有向图和无向图图

\2. 自然连接

相关图片记录

csdn 贴图真的很废人!!晕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1656764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

复杂链表的复制

. - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/fu-za-lian-biao-de-fu-zhi-lcof/ 代码实现: /* // Defini…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Slider的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 输入类控件 | Slider的使用及说明 文章编号:…

使用DBeaver连接postgreSql提示缺少驱动

重新安装电脑之后用dbeaver链接数据库的时候,链接PG库一直提示缺少驱动,当选择下载驱动的时候又非常非常慢经常失败,尝试了一下更改源然后下载库驱动就非常快了,当然也包括dbeaver的自动更新。 方法:点击菜单栏【窗口…

数据防泄密

随着各行各业业务数据信息化发展,各类产品研发及设计等行业,都有关乎自身发展的核心数据,包括业务数据、代码数据、 机密文档、用户数据等敏感信息,这些信息数据有以下共性: — 属于核心机密资料,万一泄密…

C语言—操作符详解(操作符、进制转换、原码反码补码、结构体)

1.操作符分类 算术操作符&#xff1a; 、- 、 * 、 / 、%移位操作符&#xff1a;<< >> //移动的是二进制位位操作符&#xff1a;& | ^ //使用二进制位进行计算赋值操作符&#…

Linux系统运维:修改docker容器与宿主机之间的端口映射,解决端口占用问题

目录 一、问题 二、docker端口映射 &#xff08;一&#xff09;docker端口映射定义 1、相关概念&#xff1a; 2、默认情况下&#xff0c;Docker容器会有一个端口映射&#xff1a; 3、端口范围&#xff1a; &#xff08;二&#xff09;配置相关 1、指定端口映射 2、随机…

3D模型如何实现拖拽打开?---模大狮模型网

在当今数字化时代&#xff0c;3D技术的应用已经深入到各行各业&#xff0c;为用户带来了更加丰富、生动的体验。然而&#xff0c;对于一些用户来说&#xff0c;打开和查看3D模型可能会面临一些困难&#xff0c;特别是在无法拖拽打开时。本文将为您揭示解决这一问题的方法&#…

c4d云渲染怎么操作?怎么使用?一文带你了解

Cinema 4D (C4D) 不仅是众多设计师所青睐的卓越三维软件&#xff0c;其自带的高效渲染器以及对云渲染农场的支持&#xff0c;都极大地拓宽了创意和生产的边界。通过利用强大的云计算资源&#xff0c;C4D能够帮助用户轻松克服渲染速度缓慢的难题&#xff0c;从而实现更加流畅和高…

2024人文艺术、社会发展与教育国际会议(ICHASDE2024)

2024人文艺术、社会发展与教育国际会议(ICHASDE2024) 会议简介 2024年国际人文、艺术、社会发展与教育会议&#xff08;ICHASDE2024&#xff09;将在中国昆明举行。会议旨在为从事“人文、艺术、社会发展和教育”的专家、学者、工程师和技术人员提供一个平台&#xff0c;分享…

学习经验分享【36】论文投稿写作(非理工科文章)

业务进一步扩展&#xff0c;可辅导非理工科偏文科性质的论文辅导&#xff0c;有需要评职称但没有时间精力研究的或者其他相关需求的朋友可咨询了解。 人工智能技术在各领域的发展和思考&#xff0c;类似这种主题的文章。

SAP-ABAP-ALV报表

1、功能介绍 什么是ALV报表 2、开发步骤 事物码: SE38创建报表程序SE93生成TCODESE43SE91消息号报表类型:简单报表、复杂报表、报表树 报表组成:查询界面(选择屏幕)、展示界面、功能按钮 基本流程: 重点:数据放在内表里,临时表,放在内存里。 3、开发实战 按标题…

通过命令行设置ipv4

使用管理员打开命令行窗口。管理员权限更高。 使用Netsh查看网络信息. 在更改IP地址和相关信息之前&#xff0c;需要先找到要更改的网络接口的名称&#xff0c;执行以下命令&#xff1a; netsh interface ipv4 show config运行后, WLAN就是待修改的网络的名称。 自动获取i…

如何通过wifi网络将串口数据发送到多个设备

摘要&#xff1a;当lora电台的速率无法满足高速传输时&#xff0c;可以考虑用“串口服务器”。本文介绍一下如何使用TP-LINK的TL-CPE300D实现一对多的数据发送。 当前也有使用lora电台的&#xff0c;但是lora电台支持的速率有限&#xff0c;可能最大支持到9600&#xff0c;甚至…

8.删除有序数组中的重复项 II

文章目录 题目简介题目解答解法一&#xff1a;双指针&#xff08;快慢指针&#xff09;代码&#xff1a;复杂度分析&#xff1a; 题目链接 大家好&#xff0c;我是晓星航。今天为大家带来的是 删除有序数组中的重复项 II 相关的讲解&#xff01;&#x1f600; 题目简介 题目解…

【高阶数据结构】并查集

并查集 并查集1、概念2、根据人找编号 / 根据编号找人&#xff08;简单介绍一下并查集&#xff09;&#xff08;1&#xff09;代码展示&#xff08;2&#xff09;调试结果&#xff08;3&#xff09;优化1&#xff1a;小的往大的合并&#xff08;4&#xff09;优化2&#xff1a;…

如何把逻辑地址转换为物理地址

​ 使用系统架构设计师真题说明&#xff08;2021年&#xff09;某计算机系统页面大小为 4K&#xff0c;进程 P1 的页面变换表如下图示&#xff0c;看 P1 要访问数据的逻辑地址为十六进制 1B1AH&#xff0c;那么该逻辑地址经过变换后&#xff0c;其对应的物理地址应为十六进制&…

基于一种改进小波阈值的微震信号降噪方法(MATLAB)

微震是指岩体由于在人为扰动或自然原因下受力变形&#xff0c;发生破裂过程中能量积聚而释放的弹性波或应力波。微震信号具有信噪比低、不稳定性、瞬时性和多样性等特点。因此&#xff0c;在任何损坏之前都会出现微小的裂缝&#xff0c;这种微小的裂缝是由岩层中应力和应变的变…

TB交易开拓者旗舰版自动交易的设置

本文针对TB交易开拓者旗舰版V6.0.7.0(期货程序化交易软件下载 - 交易开拓者),目前网上没有自动交易设置的完整教程&#xff0c;特写此篇。 1. 设置期货账户的自动登录和登出。点击菜单“文件/系统设置”&#xff0c;然后在“安全”tab做如下设置&#xff1a; 2 设置你的期货账…

MyBatis认识

一、定义 MyBatis是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08;Plain Old Java O…

Ci24R1 (SOP8)2.4GHz无线收发一体、双向系统的智能家居芯片

Ci24R1 &#xff08;SOP8&#xff09;工作范围在2.4GHzISM频段&#xff0c;专为低系统应用成本的无线场合设计&#xff0c;集成嵌入式ARQ基带协议引擎的无线收发器芯片。它的工作频率范围为2400MHz-2525MHz&#xff0c;共有126个1MHz带宽的信道。 Ci24R1 &#xff08;SOP8&…