【中项】系统集成项目管理工程师-第5章 软件工程-5.3软件设计

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 

       软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”,目前涵盖了计算机软件、计算机网络、计算机应用技术、信息系统、信息服务5大领域,总共27个科目,也是分为初、中、高三个级别。

       通信专业主要需要关注“计算机网络”这个专业类别,可以考的科目有初级资格的“网络管理员”、中级的“网络工程师”。

       还有5个高级资格专业,分别是“信息系统项目管理师“”系统分析师“”系统架构设计师“”网络规划设计师“”系统规划与管理师“。

       软考高级证书在通信行业比较吃香,主要原因有两个: 通信行业与计算机软件是相近专业,评职称满足相近专业的要求; 通信高级不能以考代评,但软考高级可以,很多考生通过考软考高级来评高级职称。
————————————————

                       

目录

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 

  5.3软件设计

5.3.1结构化设计

1.模块结构

2.系统结构图

5.3.2面向对象设计

1.实体类

2.控制类

3.边界类

5.3.3统一建模语言

1.UML中的事物

2.UML中的关系

3.UML2.0中的图

4.UML视图

5.3.4设计模式


  5.3软件设计

      软件设计的目标是根据软件分析的结果,完成软件构建的过程。其主要目的是绘制软件的蓝 图,权衡和比较各种技术和实施方法的利弊,合理分配各种资源,构建新的详细设计方案和相关模 型,指导软件实施工作的顺利开展。

      软件设计是需求的延伸与拓展。需求阶段解决“做什么 ”的问题,而软件设计阶段解决“怎么 做 ”的问题。同时,它也是系统实施的基础,为系统实施工作做好铺垫。合理的软件设计方案既可 以保证软件的质量,也可以提高开发效率,确保软件实施工作的顺利进行。从方法上来说,软件设 计分为结构化设计与面向对象设计。

5.3.1结构化设计

      结构化设计(Structured Design SD是一种面向数据流的方法,其目的在于确定软件结构 它以SRSSA阶段所产生的DFD和数据字典等文档为基础,是一个自顶向下、逐层分解、逐步求精 和模块化的过程。SD方法的基本思想是将软件设计成由相对独立且具有单一功能的模块组成的结 。从管理角度讲,其分为概要设计和详细设计两个阶段。其中,概要设计又称为总体结构设计, 它是开发过程中很关键的一步,其主要任务是确定软件系统的结构,将系统的功能需求进行模块划 分,确定每个模块的功能、接口和模块之间的调用关系,形成软件的模块结构图,即系统结构图。 在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,而为每个具体任务选择适 当的技术手段和处理方法的过程称为详细设计。详细设计的主要任务是为每个模块设计实现的细 节,根据任务的不同,详细设计又可分为多种,例如,输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。( 23

1.模块结构

      系统是一个整体,它具有整体性的目标和功能,但这些目标和功能的实现又是由相互联系的各 个组成部分共同工作的结果。人们在解决复杂问题时使用的一个很重要的原则,就是将它分解成多 个小问题分别处理,在处理过程中,需要根据系统总体要求,协调各业务部门的关系。在SD中, 这种功能分解就是将系统划分为模块,模块是组成系统的基本单位,它的特点是可以自由组合、分 解和变换,系统中任何一个处理功能都可以看成一个模块。

1)信息隐藏与抽象。信息隐藏原则要求采用封装技术,将程序模块的实现细节(过程或数据 等)隐藏起来,对于不需要这些信息的其他模块来说是不能访问的,使模块接口尽量简单。按照信 息隐藏的原则,系统中的模块应设计成“黑盒 ”,模块外部只能使用模块接口说明中给出的信息, 如操作和数据类型等。模块之间相对独立,既易于实现,也易于理解和维护。抽象原则要求抽取事 物最基本的特性和行为,参见本章5.2.4小节中关于抽象的说明。

2)模块化。在SD方法中,模块是实现功能的基本单位,它一般具有功能、逻辑和状态3个基 本属性。其中,功能是指该模块“做什么 ”,逻辑是描述模块内部“怎么做 ”,状态是该模块使用 时的环境和条件。在描述一个模块时,必须按模块的外部特性与内部特性分别描述。模块的外部特 性是指模块的模块名、参数表和给程序乃至整个系统造成的影响;模块的内部特性则是指完成其功 能的程序代码和仅供该模块内部使用的数据。对于模块的外部环境(例如,需要调用这个模块的上 级模块)来说,只需要了解这个模块的外部特性就足够了,不必了解它的内部特性。而软件设计阶 段,通常是先确定模块的外部特性,然后再确定它的内部特性。

3)耦合。耦合表示模块之间联系的程度。紧密耦合表示模块之间联系非常强,松散耦合表示 模块之间联系比较弱,非直接耦合则表示模块之间无任何直接联系。模块的耦合类型通常分为7 种,根据耦合度从低到高排序如表5-1所示。

5-1:模块的耦合类型

耦合类型

描述

非直接耦合

两个模块之间没有直接关系,它们之间的联系完全是通过上级模块的控制和调用来 实现的

数据耦合

一组模块借助参数表传递简单数据

标记耦合

一组模块通过参数表传递记录等复杂信息(数据结构)

控制耦合

模块之间传递的信息中包含用于控制模块内部逻辑的信息

通信耦合

一组模块共用了一组输入信息,或者它们的输出需要整合, 以形成完整数据,即共 享了输入或输出

公共耦合

多个模块都访问同一个公共数据环境,公共的数据环境可以是全局数据结构、共享 的通信区、 内存的公共覆盖区等

内容耦合

一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一个模 块的内部;两个模块有一部分程序代码重叠:一个模块有多个入口等

      对于模块之间耦合的强度,主要依赖于一个模块对另一个模块的调用、一个模块向另一个模块 传递的数据量、一个模块施加到另一个模块的控制的多少, 以及模块之间接口的复杂程度等。

4 内聚。 内聚表示模块内部各代码成分之间联系的紧密程度,是从功能角度来度量模块内的 联系,一个好的内聚模块应当恰好做目标单一的一件事情。模块的内聚类型通常也可以分为7种, 根据内聚度从高到低排序如表5-2所示。

5-2:模块的内聚类型

内聚类型

描述

功能内聚

完成一个单一功能,各个部分协同工作,缺一不可

顺序内聚

处理元素相关,而且必须顺序执行

通信内聚

所有处理元素集中在一个数据结构的区域上

过程内聚

处理元素相关,而且必须按特定的次序执行

时间内聚

所包含的任务必须在同一时间间隔内执行

逻辑内聚

完成逻辑上相关的一组任务

偶然内聚

完成一组没有关系或松散关系的任务

      一般来说,系统中各模块的内聚越高,则模块间的耦合就越低,但这种关系并不是绝对的。耦 合低使得模块间尽可能相对独立,各模块可以单独开发和维护; 内聚高使得模块的可理解性和维护 性大大增强。因此,在模块的分解中应尽量减少模块的耦合,力求增加模块的内聚,遵循“高内 聚、低耦合 ”的设计原则。

2.系统结构图

      系统结构图(Structure Chart SC)又称为模块结构图,它是软件概要设计阶段的工具,反映 系统的功能实现和模块之间的联系与通信,包括各模块之间的层次结构,即反映了系统的总体结 构。在系统分析阶段,系统分析师可以采用SA方法获取由DFD 、数据字典和加工说明等组成的系 统的逻辑模型;在系统设计阶段,系统设计师可根据一些规则,从DFD中导出系统初始的SC

      详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确;算法描述要简明易懂。详细设计必须遵循概要设计来进 行。详细设计方案的更改,不得影响到概要设计方案;如果需要更改概要设计,必须经过项目经理 的同意。详细设计应该完成详细设计文档,主要是模块的详细设计方案说明。设计的基本步骤如 下:

分析并确定输入/输出数据的逻辑结构;

找出输入数据结构和输出数据结构中有对应关系的数据单元;

按一定的规则由输入、输出的数据结构导出程序结构;

列出基本操作与条件,并把它们分配到程序结构图的适当位置;

用伪码写出程序。

详细设计的表示工具有图形工具、表格工具和语言工具。

1)图形工具。利用图形工具可以把过程的细节用图形描述出来。具体的图形有业务流程图、 程序流程图、问题分析图(Problem Analysis  Diagram PAD)、NS流程图(由NassiShneiderman 开发,简称NS)等。

业务流程图:是一种描述管理系统内各单位、人员之间的业务关系、作业顺序和管理信息流  向的图表。业务流程图的绘制是按照业务的实际处理步骤和过程进行的,它用一些规定的符号及连 线表示某个具体业务的处理过程,帮助分析人员找出业务流中的不合理流向。

程序流程图:又称为程序框图,是使用最广泛的一种描述程序逻辑结构的工具。它用方框表 示一个处理步骤,用菱形表示一个逻辑条件,用箭头表示控制流向。其优点是结构清晰,易于理  解,易于修改;缺点是只能描述执行过程而不能描述有关的数据。

NS流程图:也称为盒图或方框图,是一种强制使用结构化构造的图示工具。其具有以下特

点:功能域明确,不可能任意转移控制,很容易确定局部和全局数据的作用域,很容易表示嵌套关 系及模板的层次关系。

PAD图:是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结 构更清晰。最大的优点是能够反映和描述自顶向下的历史和过程。PAD提供了5种基本控制结构的 图示,并允许递归使用。

2)表格工具。可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的 条件。

3)语言工具。用某种高级语言来描述过程的细节,例如伪码或PDLProgram DesignLanguage)等。PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。语法是开放式的,其外层语法是确定的,而内层语法则不确定。外层语 法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。内层语法描述 具体操作,考虑到不同软件系统的实际操作种类繁多, 内层语法因而不确定,它可以按系统的具体 情况和不同的设计层次灵活选用。

PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工 具产生和管理; 已经有自动处理程序存在,而且可以自动由PDL生成程序代码。

PDL的不足:不如图形工具形象直观,描述复杂的条件组合与动作间的对应关系时不如判定 树清晰简单。

5.3.2面向对象设计

      面向对象设计(Object-Oriented Design ,OOD)是OOA方法的延续,其基本思想包括抽象、封 装和可扩展性,其中可扩展性主要通过继承和多态来实现。在OOD中,数据结构和在数据结构上 定义的操作算法封装在一个对象之中 。 由于现实世界中的事物都可以抽象出对象的集合,所以 OOD方法是一种更接近现实世界、更自然的软件设计方法。

      OOD的主要任务是对类和对象进行设计,这是OOD中最重要的组成部分,也是最复杂和最耗 时的部分。其主要包括类的属性、方法, 以及类与类之间的关系。OOD的结果就是设计模型。对 于OOD而言,在支持可维护性的同时,提高软件的可复用性是一个至关重要的问题,如何同时提 高软件的可维护性和可复用性,是OOD需要解决的核心问题之一。在OOD中,可维护性的复用是 以设计原则为基础的。

常用的OOD原则包括

单职原则:一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分

开闭原则对扩展开放,对修改封闭。当应用的需求改变时,在不修改软件实体的源代码或 者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。

里氏替换原则:子类可以替换父类,即子类可以扩展父类的功能,但不能改变父类原有的功 能。

依赖倒置原则:要依赖于抽象,而不是具体实现;要针对接口编程,不要针对实现编程。

接口隔离原则:使用多个专门的接口比使用单一的总接口要好。

组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。

迪米特原则( 最少知识法则一个对象应当对其他对象有尽可能少的了解。其目的是降低 类之间的耦合度,提高模块的相对独立性。( 23

OOD中,类可以分为3种类型:实体类、控制类和边界类

1.实体类

      实体类映射需求中的每个实体,是指实体类保存需要存储在永久存储体中的信息。例如,在线 教育平台系统可以提取出学员类和课程类,它们都属于实体类。实体类通常都是永久性的,它们所 具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。实体类对用户来说是最有 意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型的转换中, 一个参与者一般对应于实体类。通常可以从SRS中的那些与数据库表(需要持久存储)对应的名词 着手来找寻实体类。通常情况下,实体类一定有属性,但不一定有操作。

2.控制类

      控制类是用于控制用例工作的类,一般是由动宾结构的短语( “动词+ 名词 ”或“名词+  ”)转化来的名词。例如,用例“身份验证 ”可以对应于一个控制类“身份验证器 ”,它提供了 与身份验证相关的所有操作。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象 (控制类的实例)通常控制其他对象,因此,它们的行为具有协调性。

控制类将用例的特有行为进行封装,控制对象的行为与特定用例的实现密切相关,当系统执行 用例的时候,就产生了一个控制对象,控制对象经常在其对应的用例执行完毕后消亡。通常情况 下,控制类没有属性,但一定有方法。

3.边界类

      边界类用于封装在用例内、外流动的信息或数据流。边界类位于系统与外界的交接处,包括所 有窗体、报表、打印机和扫描仪等硬件的接口, 以及与其他系统的接口。要寻找和定义边界类,可 以检查用例模型,每个参与者和用例交互至少要有一个边界类,边界类使参与者能与系统交互。边 界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。常见的边界类有窗口、通 信协议、打印机接口、传感器和终端等。实际上,在系统设计时,产生的报表都可以作为边界类来 处理。

      边界类用于系统接口与系统外部进行交互,边界对象将系统与其外部环境的变更(例如,与其 他系统的接口的变更、用户需求的变更等)分隔开,使这些变更不会对系统的其他部分造成影响。 通常情况下,边界类可以既有属性也有方法。

5.3.3统一建模语言

      统一建模语言Unified Modeling Language UML)是一种定义良好、易于表达、功能强大且 普遍适用的建模语言 232次、23上) 。它融入了软件工程领域的新思想、新方法和新技术, 它的作用域不仅支持OOA(面向对象分析法)和OOD(面向对象设计 还支持从需求分析开始 的软件开发的全过程( 18)。从总体上来看,UML的结构包括构造块、规则和公共机制3个部分,如表5-3所示。

5-3UML的结构

部分

说明

构造块

UML3种基本的构造块,分别是事物(thing)、关系(relationship)和图

 Diagram)。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多 个相互关联的事物的集合

规则

规则是构造块如何放在一起的规定,包括:为构造块命名;给一个名字以特定 含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相 互联系,即完整性:运行或模拟动态模型的含义是什么,即执行

公共机制

公共机制是指达到特定目标的公共UML方法,主要包括规格说明(详细说 明)、修饰、公共分类(通用划分)和扩展机制4

1.UML中的事物

       UML中的事物也称为建模元素,包括结构事物(Structural Things) 、行为事物(Behavioral Things ,也称动作事物)、分组事物(Grouping Things)和注释事物(Annotational Things ,也称注 解事物)。这些事物是UML模型中最基本的OO(面向对象)构造块,如表5-4所示。

5-4UML中的事物

建模元素

说明

结构事物

结构事物在模型中属于最静态的部分,代表概念上或物理上的元素。UML 7种结构事物,分别是类、接口、协作、用例、活动类、构件和节点

行为事物

行为事物是UML模型中的动态部分,代表时间和空间上的动作。UML有两  种主要的行为事物:第一种是交互(内部活动),交互是由一组对象之间在特定 上下文中,为达到特定目的而进行的一系列消息交换而组成的动作,交互中组成 动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动

作)、连接(对象之间的连接);第二种是状态机,状态机由一系列对象的状态 组成

分组事物

分组事物是UML模型中的组织部分,可以把它们看成盒子,模型可以在其中 进行分解。UML只有一种分组事物,称为包。包是一种将有组织的元素分组的机 制。与构件不同的是,包纯粹是一种概念上的事物,只存在于开发阶段,而构件 可以存在于系统运行阶段

注释事物

注释事物是UML模型的解释部分

2.UML中的关系

       UML用关系把事物结合在一起,主要有4种关系:依赖、关联、泛化和实现。

1)依赖(Dependency 。依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另 一个事物的语义。

2)关联(Association)。关联是指一种对象和另一种对象有联系。

3)泛化(Generalization)。泛化是一般元素和特殊元素之间的分类关系,描述特殊元素的对 象可替换一般元素的对象。

4)实现(Realization)。实现将不同的模型元素(例如,类)连接起来,其中的一个类指定 了由另一个类保证执行的契约。

3.UML2.0中的图

       UML2.0包括14种图,如表5-5所示。

5-5UML2.0中的图

种类

说明

类图(Class  Diagram

类图描述一组类、接口、协作和它们之间的关系。在OO系统的 建模中最常见的图就是类图。类图给出了系统的静态设计视图,活  动类的类图给出了系统的静态进程视图

对象图(Object  Diagram

对象图描述一组对象及它们之间的关系。对象图描述了在类图 中所建立的事物实例的静态快照。和类图一样,这些图给出系统的 静态设计视图或静态进程视图,但它们是从真实案例或原型案例的 角度建立的

构件图(Component Diagram

构件图描述一个封装的类和它的接口、端口, 以及由内嵌的构 件和连接件构成的内部结构。构件图用于表示系统的静态设计实现 视图。对于由小的部件构建大的系统来说,构件图是很重要的。构 件图是类图的变体

组合结构图(Composite Structure  Diagram

组合结构图描述类中的内部构造,包括结构化类与系统其余部 分的交互点。组合结构图用于画出结构化类的内部内容。组合结构 图比类图更抽象

用例图(UseCase  Diagram

用例图是用户与系统交互的最简表示形式。用例图给出系统的 静态用例视图。这些图在对系统的行为进行组织和建模时是非常重

要的

顺序图(Sequence  Diagram 也称序列图)

顺序图也是一种交互图 ,它是强调消息的时间次序的交互图 Interaction Diagram 。交互图展现了一种交互,它由一组对象或参 与者以及它们之间可能发送的消息构成。交互图专注于系统的动态 视图

通信图(Communication

Diagram

通信图也是一种交互图,它强调收发消息的对象或参与者的结 构组织。顺序图和通信图表达了类似的基本概念,但它们所强调的 概念不同,顺序图强调的是时序,通信图表达的是对象之间相互协 作完成 一个 复杂    UML1.X 版本   通信 图称 为协作  Collaboration Diagram

定时图(Timing  Diagram 称计时图)

定时图也是一种交互图,用来描述对象或实体随时间变化的状 态或值,及其相应的时间或期限约束。它强调消息跨越不同对象或 参与者的实际时间,而不只是关心消息的相对顺序

状态图(State  Diagram

状态图描述一个实体基于事件反应的动态行为,显示了该实体 如何根据当前所处的状态对不同的事件做出反应 。它由状态、转 移、事件、活动和动作组成。状态图给出了对象的动态视图。它对 于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对 象行为,这非常有助于对反应式系统建模

活动图(Activity  Diagram

活动图将进程或其他计算结构展示为计算内部一步步的控制流 和数据流。活动图专注于系统的动态视图。它对系统的功能建模和 业务流程建模特别重要,并强调对象间的控制流程。活动图在本质 上是一种流程图

部署图(Deployment Diagram

部署图描述对运行时的处理节点及在其中生存的构件的配置。 部署图给出了架构的静态部署视图,通常一个节点包含一个或多个 部署图

制品图(Artifact  Diagram

制品图描述计算机中一个系统的物理结构。制品包括文件、数 据库和类似的物理比特集合。制品图通常与部署图一起使用。制品 也给出了它们实现的类和构件

包图(Package  Diagram

包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关

交互概览图(Interaction Overview  Diagram

交互概览图是活动图和顺序图的混合物

4.UML视图

       UML对系统架构的定义是系统的组织结构,包括系统分解的组成部分, 以及它们的关联性、 交互机制和指导原则等提供系统设计的信息。具体来说,就是指逻辑视图、进程视图、实现视图、 部署视图和用例视图这5个系统视图。

1逻辑视图。逻辑视图也称为设计视图,它用系统静态结构和动态行为来展示系统内部的功 能是如何实现的,其侧重点在于如何得到功能。它表示了设计模型中在架构方面具有重要意义的部 分,即类、子系统、包和用例实现的子集。

2进程视图。进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实 例,描述了并发与同步结构。

3实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。

4部署视图。部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构:

5用例视图。用例视图是最基本的需求分析模型。它从外部角色的视角来展示系统功能。 另外,UML还允许在一定的阶段隐藏模型的某些元素、遗漏某些元素, 以及不保证模型的完

整性,但模型要逐步地达到完整和一致。

5.3.4设计模式

       设计模式是前人经验的总结,它使人们可以方便地复用成功的软件设计。当人们在特定的环境 下遇到特定类型的问题,采用他人已使用过的一些成功的解决方案,一方面可以降低分析、设计和 实现的难度,另一方面可以使系统具有更好的可复用性和灵活性。设计模式包含模式名称、问题、 目的、解决方案、效果、实例代码和相关设计模式等基本要素。

       根据处理范围不同,设计模式可分为类模式和对象模式。类模式处理类和子类之间的关系,这 些关系通过继承建立,在编译时刻就被确定下来,属于静态关系;对象模式处理对象之间的关系, 这些关系在运行时刻变化,更具动态性。

       根据目的和用途不同,设计模式可分为创建型(Creational)模式、结构型(Structural)模式 和行为型(Behavioral)模式3种。创建型模式主要用于创建对象,包括工厂方法模式、抽象工厂模 式、原型模式、单例模式和建造者模式等;结构型模式主要用于处理类或对象的组合,包括适配器 模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式等;行为型模式主要用于描述类或对象的交互以及职责的分配,包括职责链模式、命令模式、解释器模式、迭代器模式、中 介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式等。

1 #include "stdio.h"
2 void main()
3 {
4     int time;
5     for (time=1;time<=10;time++)
6     printf("%d、喜欢的帮忙点赞收藏加关注哦!\n",time);
7 }

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

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

相关文章

一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置

原文链接&#xff1a;一文解决 | Linux&#xff08;Ubuntn&#xff09;系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置 本期教程 获得本期教程文本文档&#xff0c;在后台回复&#xff1a;20240724。请大家看清楚回复关键词&#xff0c;每天都有很多人回复错误关键词&#xf…

Blackbox AI-跨时代AI产物,你的私人编程助手

1. 引言 随着人工智能技术的飞速发展&#xff0c;我们的生活方式正在经历前所未有的变革。从智能家居到自动驾驶&#xff0c;AI已经渗透到我们生活的方方面面。而在这场科技革命中&#xff0c;Blackbox 网站凭借其先进的技术和全面的功能&#xff0c;成为了众多AI产品中的佼佼者…

不同行情下算法的具体使用!

上一篇我们说到了不同公司算法交易的区分&#xff0c;有朋友提出了不同的行情下的算法交易应该怎么使用&#xff0c;小编今天就带大家了解下&#xff01;当然具体实际状况百出&#xff0c;这种可以实际为准&#xff08;韭菜修养全拼实际探讨交流&#xff09;&#xff01; 我们在…

Redis的使用场景、持久化方式和集群模式

1. Redis的使用场景 热点数据的缓存 热点数据&#xff1a;频繁读取的数据 限时任务的操作。比如短信验证码 完成session共享的问题。因为前后端分离 完成分布式锁 商品的销售量 2. Redis的持久化方式 2.1 什么是持久化 把内存中的数据存储到磁盘的过程。同时也可以把磁盘中…

AI绘画入门实践|Midjourney:使用 --no 去除不想要的物体

在 Midjourney 中&#xff0c;--no 作为反向提示词&#xff0c;告诉 MJ 在生成图像时&#xff0c;不要包含什么。 使用格式&#xff1a;--no 对应物体提示词&#xff08;多个物体之间使用","间隔&#xff09; 使用演示 a web banner, summer holiday --v 6.0 a web b…

【Git多人协作开发】同一分支下的多人协作开发模式

目录 0.前言场景 1.开发者1☞完成准备工作&协作开发 1.1创建dev分支开发 1.2拉取远程dev分支至本地 1.3查看分支情况和分支联系情况 1.4创建本地dev分支且与远程dev分支建立联系 1.5在本地dev分支上开发file.txt 1.6推送push至远程仓库 2.开发者2☞完成准备工作&…

C++第十弹 ---- vector的介绍及使用

目录 前言vector的介绍及使用1. vector的使用1.1 vector的定义1.2 iterator的使用1.3 vector空间增长问题1.4 vector增删查改 2. vector迭代器失效问题(重点) 总结 前言 本文介绍了C中的vector数据结构及其使用方法。 更多好文, 持续关注 ~ 酷酷学!!! 正文开始 vector的介绍…

GPT-4O 的实时语音对话功能在处理多语言客户时有哪些优势?

最强AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量 我瞄了一眼OpenAI春季发布会&#xff0c;这个发布会只有26分钟&#xff0c;你可以说它是一部科幻短片&#xff0c;也可以说它过于“夸夸其谈”&#xff01;关于…

Anconda 快速常用命令简洁版

目的&#xff1a;简单清楚的使用基本的conda 命令 可能需求 查看项目中的虚拟环境及依赖是否满足需求操作新环境来满足项目或者论文的实现 Anconda 常用命令 conda 查看基础命令1. 进入Anaconda 环境2. 查看版本3.查看有哪些虚拟环境4.激活虚拟环境5. 进入虚拟环境查看6. 退出…

如何在网站嵌入可填写的PDF表单:2024巴黎奥运会赛程

如何将可填写的 PDF 表单嵌入您的网页&#xff1f;访问者无需下载或注册即可查看并填写。 简单&#xff01;本文以2024巴黎奥运会赛程表单为例&#xff0c;演示如何将其嵌入网页中。您可以在 ONLYOFFICE 表单库免费获取该模板&#xff0c;有白色和紫色两种背景设计。 如何在网站…

六、抽象工厂模式

文章目录 1 基本介绍2 案例2.1 Drink 抽象类2.2 Tea 类2.3 Coffee 类2.4 DrinkFactory 接口2.5 TeaFactory 类2.6 CoffeeFactory 类2.7 Client 类2.8 Client 类运行结果2.9 总结 3 各角色之间的关系3.1 角色3.1.1 Product ( 抽象产品 )3.1.2 ConcreteProduct ( 具体产品 )3.1.3…

昇思25天学习打卡营第1天|快速入门-实现一个简单的深度学习模型

目录 实验环境 Jupyter云上开发环境使用 导包 处理数据集 网络构建 模型训练 评估模型性能 保存模型 加载模型 预测推理 实验环境 02-快速入门.ipynb (4) - JupyterLab (mindspore.cn) 规格&#xff1a;4u 16G 20G 镜像&#xff1a;py39-ms2.3.0rc1 特性&#xff1…

SpringBoot 最大连接数及最大并发数是多少

SpringBoot 最大连接数及最大并发数 Spring Boot 是一个基于 Spring 框架的快速开发框架&#xff0c;它本身并不直接管理数据库连接或网络连接的最大连接数和最大并发数。这些参数通常由底层的基础设施和组件来控制&#xff0c;例如&#xff1a; 数据库连接池&#xff1a;Spri…

Qt 使用视口和窗口作图

物理坐标系与逻辑坐标系 绘图设备的物理坐标系是基本的坐标系&#xff0c;通过 QPainter 的平移、旋转等坐标变换可以得到更容 易操作的逻辑坐标系。 物理坐标系也称为视口&#xff08;viewport&#xff09;坐标系&#xff0c;逻辑坐标系也称为窗口&#xff08; window&…

netty使用redis发布订阅实现消息推送

netty使用redis发布订阅实现消息推送 场景 项目中需要给用户推送消息: 接口 RestController public class PushApi {Autowiredprivate PushService pushService;/*** 消息推送* param query* return*/PostMapping("/push/message")public String push(RequestBody…

Linux gcc/g++ _ make/makefile

文章目录 库gcc/g程序编译过程链接动态链接静态链接 make _ makefile 库 一、 什么是库&#xff1f; 库是程序代码的集合&#xff0c;是共享程序代码的一种方式。根据源代码的公开情况&#xff0c;库可以分为两种类型&#xff1a; 开源库&#xff0c;公开源代码&#xff0c;能…

Godot入门 03世界构建1.0版

在game场景&#xff0c;删除StaticBody2D节点&#xff0c;添加TileMap节点 添加TileSet图块集 添加TileSet源 拖动图片到图块&#xff0c;自动创建图块 使用橡皮擦擦除。取消橡皮擦后按住Shift创建大型图块。 进入选择模式&#xff0c;TileMap选择绘制&#xff0c;选中图块后在…

MSQP Mysql数据库权限提升工具,UDF自动检测+快速反向SHELL

项目地址:https://github.com/MartinxMax/MSQP MSQP 这是一个关于Mysql的权限提升工具 安装依赖 $ python3 -m pip install mysql-connector-python 使用方法 $ python3 msqp.py -h 权限提升:建立反向Shell 在建立反向连接前,该工具会自动检测是否具有提权条件&#xff0…

软考:软件设计师 — 7.软件工程

七. 软件工程 1. 软件工程概述 &#xff08;1&#xff09;软件生存周期 &#xff08;2&#xff09;软件过程 软件开发中所遵循的路线图称为 "软件过程"。 针对管理软件开发的整个过程&#xff0c;提出了两个模型&#xff1a;能力成熟度模型&#xff08;CMM&#…

解析嵌入式世界里中断和异常的不同之处

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c;点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;是指CPU内部出现的中断&…