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

本文内容来自笔者学习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.mzph.cn/pingmian/9265.shtml

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

相关文章

【3dmax笔记】030:参考与冻结

一、参考 参考物体,需要是实体。例如将一个图片作为参考,导入软件中,基于图片进行二维样条线绘制。 首先绘制一个三维的平面,或者绘制一个二维的矩形,添加一个挤出修改器(将厚度设为0),勾选【生成贴图坐标】,如下图所示: 然后将图片(位于配套实验数据包中的data03…

数据治理的难题:如何化解?

在数字化转型的大潮中,数据治理成了每个企业都绕不开的话题。但是,数据治理这条路并不好走,充满了各种挑战。这些挑战不仅来自于技术,还有组织文化、流程和法律法规等方面。 挑战一:数据孤岛 在企业内部,…

容灾演练双月报|郑大一附院数据级容灾演练切换

了解更多灾备行业动态 守护数字化时代业务连续 目录 CONTENTS 01 灾备法规政策 02 热点安全事件 03 容灾演练典型案例 01 灾备法规政策 3月19日,工信部发布《工业和信息化部办公厅关于做好2024年信息通信业安全生产和网络运行安全工作的通知》。明确提出“…

如何防止WordPress网站内容被抓取

最近在检查网站服务器的访问日志的时候,发现了大量来自同一个IP地址的的请求,用站长工具分析确认了我的网站内容确实是被他人的网站抓取了,我第一时间联系了对方网站的服务器提供商投诉了该网站,要求对方停止侵权行为,…

五一超级课堂---Llama3-Tutorial(Llama 3 超级课堂)---第一节 Llama 3 本地 Web Demo 部署

课程文档: https://github.com/SmartFlowAI/Llama3-Tutorial 课程视频: https://space.bilibili.com/3546636263360696/channel/collectiondetail?sid2892740&spm_id_from333.788.0.0 操作平台: https://studio.intern-ai.org.cn/consol…

特征提取与深度神经网络(角点检测)

图像特征概述 图像特征表示是该图像唯一的表述,是图像的DNA HOG HOG (Histogram of Oriented Gradients)是一种用于目标检测的特征描述子。在行人检测中用的最多。HOG特征描述了图像中局部区域的梯度方向信息,通过计算图像中各个…

通义千问2.5正式发布,能力升级,全面赶超GPT4

简介 在人工智能的大潮中,大模型的竞争愈发激烈。今日,阿里云发布了其最新的通义千问2.5大模型,引起了业界的广泛关注。这款模型不仅在性能上全面赶超了GPT-4,还在多个基准测评中取得了优异的成绩,展现了国产AI技术的…

ARP命令

按照缺省设置,ARP高速缓存中的项目是动态的,每当发送以恶个指定的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。一旦高速缓存的项目被输入,就已经开始走向失效状态。因此,如果ARP高速缓存中的项目很少或…

SPSS之主成分分析

SPSS中主成分分析功能在【分析】--【降维】--【因子分析】中完成(在SPSS软件中,主成分分析与因子分析均在【因子分析】模块中完成)。 求解主成分通常从分析原始变量的协方差矩阵或相关矩阵着手。 (1)当变量取值的度量…

【Elasticsearch<五>末篇 ✈️✈️】结合 kibana 实现索引中 IP 地址分布地图可视化

目录 👋前言 👀一、ES 地理位置基本了解 🌱二、IP 地址地图可视化 2.1 创建预处理通道 2.2 创建索引库 2.3 插入一条数据 2.4 观察写入后的数据 2.5 可视化展示 😄三、章末 👋前言 继前面了解 Elasticsearch 的安…

酷企秀场景elementUi plus可视化diy

无论网络公司还是政务企业需求的所需的一单可回本的 独立部署集三大功能:电子画册、VR全景、地图秀等功能都可以可视化在线设计 后续免费增加 自定义表单、抽奖活动功能。 源码交付,独立私有化部署,无限多开,可视化设计&#x…

【linux】主分区,扩展分区,逻辑分区,动态分区,引导分区,标准分区

目录 主分区,扩展分区,逻辑分区 主分区和引导分区 主分区,扩展分区,逻辑分区(标准分区) 硬盘一般划分为一个“主分区”和“扩展分区”,然后在扩展分区上再分成数个逻辑分区。 磁盘主分区扩展…

JavaWeb之过滤器(Filter)与监听器(Listener)

前言 过滤器(Filter) 1.什么是过滤器 2.过滤器的语法格式 3.使用场景 3.1.如何防止用户未登录就执行后续操作 3.2.设置编码方式--统一设置编码 3.3.加密解密(密码的加密和解密) 3.4.非法文字筛选 3.5.下载资源的限制 监听器(Listener) 1.什么是监听器 2.监听器分类…

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

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

IPFoxy Tips:什么是静态住宅IP?静态ISP代理指南

静态住宅代理(也称为静态ISP代理)是最流行的代理类型之一。它们也是隐藏您的身份并保持在线匿名的最佳方法之一。您为什么要使用住宅代理而不是仅使用常规代理服务?下面我具体分享。 一、什么是静态住宅代理? 首先,我…

无监督式学习

1.是什么? 无监督式学习与监督式学习**最大的区别就是:**没有事先给定的训练实例,它是自动对输入的示例进行分类或者分群; 优点:不需要标签数据,极大程度上扩大了我们的数据样本,其次不受监督信…

STC8增强型单片机开发day02

逻辑分析仪 什么是逻辑分析仪 逻辑分析仪(Logic Analyzer)是一种工具,用于分析数字信号,例如控制信号,时钟信号等等。它可以用于调试和验证数字电路、嵌入式系统等等 本人采用的是mini版USB 逻辑分析仪。总共有10个…

刷题《面试经典150题》(第九天)

加油! 学习目标:学习内容:学习时间:知识点学习内容:跳跃游戏 II - 力扣(LeetCode)H 指数 - 力扣(LeetCode)盛最多水的容器 - 力扣(LeetCode)矩阵置…

Spring学习笔记

目录 1. Spring有什么优势 1.1 模块化 1.2 轻量级 1.3 方便集成各种优秀框架 1.4 提供了分层开发下的完整技术解决方案 1.5 Java语言编写的开源框架,使用了多种设计模式 2. Spring的第一个程序 2.1 开发环境 2.2 环境搭建 2.3 编码测试 2.4 BeanFactory的UML类图…

pytest教程-42-钩子函数-pytest_runtest_makereport

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest_runtest_teardown钩子函数的使用方法,本小节我们讲解一下pytest_runtest_makereport钩子函数的使用方法。 pytest_runtest_makereport 钩子函数在 pytest 为每个测试生成报…