软件生命周期

软件生命周期

什么是软件工程?以工程化的原则和方法来开发软件,其目的是提高软件生产率、提高软件质量、降低软件成本。

软件工程3大组成部分:方法、工具、过程

什么是软件生命周期:经过开发、使用和维护,直到最后退役的全过程。

软件生命周期的过程:

  1. 基本过程:主要参与方是发起或完成软件产品开发、运行或维护的组织。基本过程分为获取过程、供应过程、开发过程、运作过程和维护过程。
    开发过程包括:需求分析、设计、编码、集成、测试以及软件产品相关的安装和验收等活动;维护过程包括软件产品的迁移和退役。(软件生存周期的过程)
  2. 支持过程:是一个有机组成部分支持其他过程,目的是软件项目成功和提高质量。
    支持过程包括:文档预编译过程、配置管理过程、质量保证过程、验收过程、确认过程、联合评审过程、审核过程、问题解决过程和易用性过程。(用于支持其他过程)
  3. 组织过程:组织过程可被某个组织用来建立和实现由相关的生产周期过程和人员组成的基础结构,并不断优化这种结构和过程。组织过程包括:管理过程、基础设施过程、改进过程、人力资源过程、资产管理过程、重用大纲管理过程、领域工程过程。(和人、公司有关)


软件生命周期各个阶段的任务

都属于基本过程,需求分析属于开发过程。

  1. 获取、供应过程:可行性研究(能不能做)
  2. 开发过程:需求分析(做什么)、【概要设计(模块结构的设计)、详细设计(模块内部的设计、算法、数据结构等)】(怎么做?)、实现(做,编码)、组装测试(集成测试,不同模块组装成整体后开始测试)、确认测试(与用户需求确认)。
  3. 运作过程:使用
  4. 维护过程:维护、退役。

各阶段的产物:

  • 系统规划阶段‌:
    • 系统设计任务书、系统设计规格说明
  • 系统分析阶段‌:
    • 系统方案建议书、需求规格说明(SRS)、确认测试计划、系统测试计划、初步的用户手册 6
  • 系统设计阶段‌:
    • 程序规格说明、架构文档、概要设计文档、详细设计文档、概要测试计划、详细测试计划 
  • 系统实施阶段‌:
    • 软件编码、单元测试报告、集成测试报告、系统测试报告、操作手册(测试完成)

习题

1、系统方案建议书是系统分析(需求分析)阶段结束的产物
2、操作手册是系统测试阶段完成的产物

软件过程管理 

能力成熟度模型 

CMM

能力成熟度模型CMM。衡量组织做软件的能力。有4个等级

  1. 初始级:软件过程杂乱无章,完全依赖个人努力和核心人物
  2. 可重复级:建立基本的项目管理过程和实践,有必要的过程准则来重复,(重点在重复)
  3. 已定义级:软件过程已经文档化、标准化、并综合成整个软件开发组织的标准软件过程。(重点在文档化、标准化)
  4. 已管理级:指定了软件过程和产品质量的详细度量标准。(重点是详细的度量标准)
  5. 优化级:可以不断的持续改进。

CMMI

能力成熟度模型集成CMMI

是若干过程模型的综合和改进不仅仅是软件而是支持多个工程学科和领域的、系统的、一直的过程改进框架。,能适应现代工程的特点和需要,能提高过程质量和工作效率。

CMMI 的两种表示方式:

  1. 阶段式模型:类似CMM,他关注组织的成熟度,5个成熟度模型如下:
    初始级:
    已管理级
    已定义级
    定量管理
    优先级
  2. 连续式模型:关注每个过程域的能力,过程域分类:
    过程管理
    项目管理
    工程
    支持

软件过程评估

 软件过程评估是根据过程模型或其他模型对组织的软件过程进行规范的评估。

评估模型有:

  1. CMM模型:帮助软件组织通过基于模型的过程改进
  2. Trililum模型:主要用于嵌入式软件开发
  3. bootstrap
  4. iso

习题 

B,第1级最差

软件过程模型

 也叫:软件生命周期的典型模型。使用需求明确的开发。

瀑布模型

瀑布模型的特点:需要上一项完成才开始下一项,不能回去,逐渐被淘汰了。

  1. 上一项活动的产物作为该项活动的输入
  2. 对该项活动的实施工作成功进行评审

原型模型

也叫“快速原型方法”

原型化模型的第一步是创建一个快速模型,满足原型交互,通过分析,最终确认系统的需求,在原型的基础上开发用户满意的产品。

原型化方法很难一下全面确认需求,所以他具备以下特点:

  1. 实际可行
  2. 具有最终系统的基本特征
  3. 构造方便、快速、造价低
  4. 对用户的需求是动态响应的,逐步纳入的。

螺旋模型

螺旋模型是一个演化软件过程模型,原型实现的迭代特征和线性顺序(瀑布)模型中控制的和系统化的方面结合起来,在螺旋模型中,软件开发是一系列的增量发布

他的开发过程具有周期性重复的螺旋线状。四个象限分别标志每个开发周期所划分的4阶段:制定计划、风险分析、实施过程和用户评估。

螺旋模型强调风险分析,特别适合庞大而复杂、高风险的系统。

V模型

V模型左边代表开发过程:编码、详细设计、概要设计、需求分析
右边代表测试过程:单元测试、集成测试、系统测试、验收测试

V 模型的特点:生命周期和测试的对应

  1. 单编:单元测试的测试是在详细设计完成
  2. 集详
  3. 系概
  4. 验需

V模型适合:需求明确且需求变更不频繁。重测试。

增量模型

增量模型:首先开发核心模块,与用户确认后再开发次要模块。优先级最高的服务最先交付。

特点:由于不是从系统整体角度划分各个模块,因此不利于模块划分。难点在于如何将客户需求划分为多个增量。与原型不同的是,增量模型每一次增量版本都可以作为独立可操作的产品。而原型的构造一般是为了演示。 


后面的模型不太重要了

其他模型

喷泉模型:面向对象,以用户需求为动力,以对象为驱动的模型

基于构件的开发模型CBSD:基于构件、逐渐,特点是增强了复用性。

习题

1、视频

1、瀑布模型适合需求明确,且时间有严格要求。
原型模型适合需求不明确的快速开发
V模型适合需求明确且变更不频繁的
螺旋模型适合复杂大型项目 强调风险分析。

2、螺旋模型适合大型复杂的软件项目。

信息系统开发与方法

结构化方法

结构是指系统内各个组成要素(指模块)之间的相互联系、相互作用的框架。

结构化方法(生命周期法),是一种传统的信息系统开发方法,组成部分:

  1. 结构化分析:系统分析阶段
  2. 结构化设计:系统设计阶段
  3. 结构化程序设计:系统实施阶段

精髓是自顶向下,逐步求精的模块化设计,面相数据流、面向过程。

结构化方法的主要特点:

  1. 开发目标清晰化:遵循“用户第一”的原则
  2. 开发工作阶段化:根据阶段工作目标和要求进行审查,使各个阶段有条不紊的进行,便于项目管理与控制。
  3. 开发文档规范化:每个阶段完整都需要有相应的文档。
  4. 设计方法结构化:在系统分析和设计时,全局考虑,自顶向下的分解;在系统实现时,自底向上的逐步实现整个系统。

结构化方法的不足:

  1. 开发周期长
  2. 难以使用需求变化
  3. 很少考虑数据结构

结构化方法常用工具:一般采用图形表达用户需求,比如数据流图、数据字典、结构化语言、判定表以及判定树。

面相对象方法

面向对象方法:认为客观世界由对象组成,任何事物都可以是对象,每个对象都有自己的运动规律和内部状态,都属于某个对象类,

面向对象方法特点:

  1. 使用OO方法构造的系统具有更好的复用性,建立全面合理、统一的模型(用例模型和分析模型
  2. OO也划分阶段,系统分析、系统设计和系统实现3个阶段没有缝隙,也就是界限变得不明确。不是一定要一项一项完成。
  3. 普遍使用各类信息系统的开发。

面向对象方法的不足:

1、必须依靠一定的面相对象技术支持,对大型项目有局限性,不能涉足系统分析之前的开发环节

2、大型信息系统的开发,通常是将结构化方法和OO方法结合,自底向上的时候采用OO。因此结构化方法和OO是相互依存、不可替代的。

原型化方法

原型化方法也称为:快速原型化、原型化。

根据用户初步需求,快速建立一个系统模型展示给用户,不断改进。

原型化方法分类:

  1. 按是否实现功能分类:水平原型(行为原型,功能的导航)、垂直原型(结构化原型,实现了部分功能)
  2. 按最终结果分类:抛弃式原型、演示化原型。

原型化的特点:

使统开发周期缩短、成本和风险降低、速度加快、获得较高的综合开发收益

原型化是以用户为中心来开发系统,对系统的功能和结构容易理解和接受,有利于系统移交。

原型化不足:

开发环境和管理水平要求较高。

原型化优点:

  1. 有效的确认用户需求,适用需求不明确的系统开发;适用分析层面难度大,技术层面难度不大的系统。
  2. 目前原型化方法不是一种独立的系统开发方法,而只是一种开发思想,不是完整意义上的方法论体系,必须与西塔的信息系统开发方法结合使用

面相服务的开发-SO

面向服务:基本单位是服务,

OO形成了构件的概念,跨构件的功能调用会采用接口的形式暴露,进一步将接口的定义和实现进行解耦,则出现了面向服务SO。面向对象、基于构件、面向服务是3个递进的抽象层次。

SO3个主要抽象级别:操作、服务、业务流程

SO介绍:

  1. 最底层的操作代表单个逻辑单元的事务。服务的操作类似于对象的方法
  2. 位于第二层的服务代表操作的逻辑分组
  3. 最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的动作或活动。

快速应用开发-RAD

采用基于构件的开发方法快速开发。复用性强。是瀑布模型的一个高速变种。

RAD的4个基本思想:

  1. 让用户更主动参与系统分析、设计和构造中来。
  2. 将项目开发组织成一系列重点突出的研讨会。
  3. 通过一种迭代的构造方法,加速需求分析和设计阶段。
  4. 让用户提前看到一个可工作的系统

RAD的开发阶段:

  1. 业务建模
  2. 数据建模
  3. 过程建模
  4. 应用生成
  5. 测试和交付

RAD的局限性:

  1. 并非所有应用都适合RAD
  2. 开发者和客户必须在很短时间完成一系列的需求分析。
  3. RAD只能用于管理信息系统的开发,不适合技术风险很高的项目。

敏捷开发模型

介绍

开发宣言:个体和交互胜过 过程和工具,可以工作的软件 胜过 面面俱到的文档、客户合作 胜过 合同谈判、响应变化 胜过 遵循计划。 

特点:

  1. 适应性,而非预设性的
  2. 面向人的,而非面向过程的

核心思想:

  1. 适应性
  2. 以人为本
  3. 迭代增量式。

主要的敏捷方法

1、极限编程-XP

XP 的基础和价值观是交流、朴素、反馈和勇气。即任何一个软件项目都可以从4个方面入手:加强交流、从简单做起、寻求反馈、实事求是。

XP是一个近螺旋的开发方法,将复杂开发分解为简单的小周期,提倡测试先行。

XP最大的不同:

  1. 在更短的周期内,更早的提出具体且持续的反馈信息。
  2. 迭代的进行计划编制
  3. 依赖自动测试程序来监控开发进度,尽早捕获缺陷
  4. 依赖口头交流、测试和源程序进行沟通
  5. 提倡持续的演化式的设计
  6. 依赖开发团队内部的紧密协作。
  7. 尽可能程序员短期利益和项目长期利益的平衡。 

2、动态系统开发方法-DSDM

动态系统开发方法倡导以业务为核心,快速进行系统开发,DSDM认为事情不可能一次圆满完成,应该用20%的时间完成80%的有用功能,以适合商业目的为准。

3、并列争球法-Scrum

Scrum的整个开发过程有若干个短的迭代周期组成,一个短的迭代周期称为Sprint,每个Sprint的建议长度为2-4周,按需求优先级实现产品,多个自组织和自治的小组并行的递增实现产品。

统一过程模型

敏捷是轻量级,统一过程模型是重量级的

RUP 描述了如何有效利用商业的,可靠的方法开发和部署软件,是重量级的过程。

RUP 是一个二维的软件开发模型,有9个核心工作流:

  1. 业务建模:理解待开发系统所在机构及其商业运作,确保所有参与人员对待开发系统所在机构有共同的认识,评估待开发系统对所在机构的影响。
  2. 需求:定义系统功能以及用户界面,使客户、开发人员理解系统需求功能,为项目预算和计划提供基础。
  3. 分析与设计:把需求分析的结果转化为分析和设计模型。
  4. 实现:把设计模型转为实现结果,对开发的代码进行单元测试,将不同模块集成为可执行的系统。
  5. 测试:测试验证,对缺陷进行归档,对软件质量提出改进意见。
  6. 部署:打包、分发、培训用户以及销售人员、技术支持。
  7. 配置与变更管理:跟踪并维护系统开发过程中产生的所有产品的完整性和一致性。
  8. 项目管理:为软件开发提供计划、人员分配、执行、监控等方面的知道,进行风险管理。
  9. 环境:提供软件环境,即提供过程管理和工具的支持。

rup生命周期的4个阶段:每个循环生成产品的一个新版本,每个循环一次由4个连续阶段组成。

  1. 初始,与需求有关。任务是为系统建立业务模型并确定项目的边界。关注的事整个项目的业务和需求方面的主要风险,实现过程为:明确项目规模、评估项目风险、制定项目计划、阶段技术评审。
  2. 细化,与设计有关。任务是分析问题领域、建立完善的架构、淘汰项目中最高风险的元素。实现过程是:确定架构、制定构建阶段计划、建立支持环境、选择构建、阶段技术评审。
  3. 构建,与实现有关。开发所有剩余的构建和应用程序功能,把这些构建集成为产品,并进行详细测试。完成所需功能的分析、开发、测试等。
  4. 移交,与实施交付有关。进行β测试测试,制作产品发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员。

β测试是在用户在实际使用下进行的测试,是完全真实的测试,软件要交付必须进行这个测试

RUP的特点:

  1. 用例驱动:用例指功能
  2. 体系结构为中心
    4+1视图模型:
    分析人员和测试人员:关心系统行为。看用例视图
    最终用户关系系统的功能。看逻辑视图
    程序员关心系统的配置、装配。看实体视图
    系统集成人员(项目经理)关心系统的性能、可扩展性。看进程视图
    系统工程师(运维)关心系统的发布、安装等问题。看部署视图
  3. 迭代与增量

软件开发环境与工具

SDE 是支持软件的工程化开发和维护而使用的一组软件,由软件工具集和环境集成机制构成。

软件工具是指CASE工具,用以支持软件开发的相关过程、活动、任务;

环境集成机制是指为工具集成和软件开发、维护以及管理提供同意的支持。

软件开发环境的分类:

  1. 开发模型和开发方法分类:有支持瀑布模型的、演化模型、喷泉模型等
  2. 功能结构特点分类:单体、协同、分散、并发
  3. 应用范围分类:通用、专业
  4. 开发阶段分类:前端开发环境、后端开发环境、软件维护、逆向工程。

集成机制的分类:

  1. 环境信息库
  2. 过程控制与信息服务器
  3. 环境用户界面

目前软件开发环境已经进入第3代了,即集成计算机辅助软件工程(ICASE)阶段。ICASE的最终目标是实现应用软件的自动化开发。

软件工具分类【需要记忆】

软件工具分类:

  1. 软件开发工具:辅助开发人员进行软件开发活动,包括需求分析工具、设计工具、编码与拍错功能。
  2. 软件维护工具:辅助维护人员对软件代码及其文档进行维护活动,包括版本管理工具(git)、文档分析工具、开发信息库工具、逆向工程工具、再工程工具
  3. 软件管理和支持工具:辅助管理和支持人员进行活动,包括:项目管理工具、辅助管理工具、软件评价工具。

开发工具的选择取决两个因素:最终用户和开发人员。

在快速应用开发-RAD方法中,包括的工具主要有数据库编程语言、界面生成器、报告生成器。RAD工具主要使用可视化技术。可视化技术是一种通过集成细粒度可复用构建来构造软件的方法。

习题

1、视频

软件重用和再工程

软件重用

软件重用:多次开发中使用相似软件元素的过程。软件元素包括:源代码、测试用例、设计文档、设计过程等,可重用的软件也叫做软构件,可重用的软件构件越大、重用的粒度越大。

软件重用的3个层次:

  1. 组装模型:构建存储在构件库中,对可重用构建进行修改并组装。
  2. 类重用模型:适用面向对象技术中的类构件。分为实例重用、继承重用、多态重用。
  3. 软件重用过程模型:强调的是领域工程和软件工程同时进行。

逆向工程

逆向工程:分析程序,力图在比源代码更高抽象层次上建立程序的表示过程。

软件逆向工程的实现方法:

  1. 分析信息交换过程:抓包工具、逻辑分析等。
  2. 反汇编:还原出汇编语言
  3. 反编译:还原成高级语言源代码

再工程

再工程:在逆向工程所获得信息的基础上,修改或重构已有的系统,产生新版本。
再工程是对是对现有信息系统重新开发的过程,包含逆向工程、新需求的考虑过程、正向工程

正向工程:从现有信息系统中恢复设计信息,使用该信息取改变或重构现有系统,改进质量。

习题

1、视频

看前面的基本概念。

软件产品线

软件产品线是一个产品集合,这些产品是公共可管理的特征集软件产品线是适合专业的开发组织的软件开发方法,能有效的提高软件生产率和质量、缩短开发时间,降低成本

软件产品线两部分组成:

  1. 核心资源
  2. 产品集合

产品线的建立方式

  1. 演进:不断演化
  2. 革命:重新开发产品

软件形式化方法

形式化方法:是建立在严格的数据基础上。

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

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

相关文章

C 语言结构体与 Java 类的异同点深度解析

在编程语言的发展历程中,C 语言的结构体与 Java 的类扮演着至关重要的角色。作为面向过程编程的经典代表,C 语言的结构体为数据封装提供了基础形式;而 Java 作为纯面向对象语言,类则是其核心语法结构。二者既存在一脉相承的设计思想,又因编程语言范式的差异呈现出显著区别…

C++、STL面试题总结(二)

1. 必须实现拷贝构造函数的场景 核心问题:默认拷贝构造的缺陷 C 默认的拷贝构造函数(浅拷贝),会直接拷贝指针 / 引用成员的地址。若类包含引用成员或指向堆内存的指针,浅拷贝会导致 “多个对象共享同一份资源”&…

IntelliJ IDEA2024 错误‘http://start.spring.io/‘的初始化失败,请检查URL、网络和代理设置。

下载新版本的intellij idea2024创建项目时,服务器URL报错误http://start.spring.io/的初始化失败,请检查URL、网络和代理设置。错误消息:Cannot download http://start.spring.io/:Permission denied:getsockopt,具体如下图&#…

从零开始的云计算生活——第三十八天,避坑落井,Docker容器模块

一.故事背景 在综合使用了之前全部的知识完成项目之后,接下来将学习更简单的方法来对之前的命令进行使用,马上进入容器模块 二. Docker概述 Docker简介 Docker,翻译过来就是码头工人 Docker是一个开源的应用容器引擎,让开发者…

Python与自动化运维:构建智能IT基础设施的终极方案

Python与自动化运维:构建智能IT基础设施的终极方案 引言:运维革命的Python引擎 在DevOps理念席卷全球的今天,企业IT基础设施的复杂度呈指数级增长。某跨国银行的数据显示,采用Python构建的自动化运维体系使其服务器部署效率提升400%,故障响应时间缩短至原来的1/8。本文将…

HarmonyOS应用开发环境搭建以及快速入门介绍

下载并安装DevEco Studio,这是华为官方提供的HarmonyOS应用开发IDE。访问华为开发者联盟官网下载对应操作系统的版本。安装完成后,配置HarmonyOS SDK和必要的工具链。 确保计算机满足开发环境要求,包括Windows 10 64位或macOS 10.14及以上操…

RocketMQ与Kafka 消费者组的‌重平衡操作消息顺序性对比

RocketMQ 的重平衡机制本身不会直接影响消息顺序,但消费模式的选择和使用需注意以下细节:重平衡机制RocketMQ消费者组的重平衡策略是每隔20秒从Broker获取消费组的最新消费进度,并根据订阅信息重新分配消息队列。该策略主要影响消息拉取的均衡…

学习 Android(十四)NDK基础

学习 Android(十四)NDK基础 Android NDK 是一个工具集,可让我们使用 C 和 C 等语言以原生代码实现应用的各个部分。对于特定类型的应用,这可以帮助我们重复使用以这些语言编写的代码库。 接下来,我们将按照以下步骤进行…

宝塔(免费版9.2.0)的docker拉取仓库失败的加速方法

宝塔docker拉取仓库失败 完美加速方法_宝塔docker加速-CSDN博客 版本:免费版 9.2.0 https://docker.1ms.run 其他的试了很多 都不行 最后不要用宝塔的控制面板(很卡),直接在linux中用命令行,效果就很好了。

文献解读-生境分析亚区域选择+2D_DL+3D_DL-局部晚期食管鳞状细胞癌新辅助化疗免疫治疗反应预测

研究标题:结合亚区域放射组学与多通道二维或三维深度学习模型预测局部晚期食管鳞状细胞癌(LA-ESCC)患者对新辅助化疗免疫治疗(NACI)的反应借鉴点:建模思路(看流程图理解就够了)引言食…

机器学习第四课之决策树

目录 简介 一.决策树算法简介 二. 决策树分类原理 1.ID3算法 1.1 熵值 1.2 信息增益 1.3 案例分析 ​编辑 2.C4.5 2.1 信息增益率 2.2.案例分析 3.CART决策树 3.1基尼值和基尼指数 3.2案例分析 三、决策树剪枝 四、决策树API 五、电信客户流失 六、回归树 七. 回归…

Java面试题和答案大全

一、Java基础知识 1. Java语言特点 题目: 请说明Java语言的主要特点? 答案: 面向对象:Java是纯面向对象的语言,支持封装、继承、多态 平台无关性:一次编译,到处运行(Write Once, Run Anywhere) 简单性:语法简洁,去掉了C++中的指针、多重继承等复杂特性 安全性:提…

用NAS如何远程访问:详细教程与实用技巧

在信息时代,家用NAS(网络附加存储)成为家庭数据存储和管理的热门设备。它不仅可以作为家庭照片、视频、工作文件的集中存储中心,还支持远程访问,方便用户随时随地获取数据。那么,如何配置和实现家用NAS的远…

Qt-桌面宠物

目录 一,演示(部分功能) 二,开发环境准备 三,部分代码实现 1.创建基础窗口 2.实现宠物动画 3.添加交互功能 4.系统托盘集成 5.行为模式实现 6.状态管理系统 7.资源打包部署 四,接受定制 一&…

C++编程学习(第19天)

局部变量和全局变量每一个变量都有其有效作用范围,这就是变量的作用域,在作用域以外是不能访问这些变量的。局部变量在一个函数内部定义的变量是局部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用他们,…

客流特征识别准确率提升 29%:陌讯多模态融合算法在零售场景的实战解析

原创声明本文为原创技术解析文章,涉及的技术参数与架构设计引用自《陌讯技术白皮书》,禁止任何形式的抄袭与转载。一、行业痛点:零售客流识别的技术瓶颈在零售数字化转型过程中,客流特征识别(包括性别、年龄分层、停留…

YOLOv8/YOLOv11 C++ OpenCV DNN推理

首先需要将yolov8/yolov11的pt文件转为onnx文件 from ultralytics import YOLO model YOLO("best.pt") model.export(format"onnx",opset11,dynamicFalse) 本次C工具使用vs2017,需要下载OpenCV包:https://opencv.org/releases/&a…

【Mysql】日志--错误日志、二进制日志、查询日志、慢查询日志

错误日志:数据库出现错误时,进行故障排除默认位置:/var/log/mysqld.log查看日志位置show variables like %log_error%查看日志tail -50 /var/log/mysqld.log二进制日志:记录了所有的DDL语句和DML语句,不包含查询(selec…

后端常用框架环境与软件详解

一、基础运行环境 1. JDK(Java Development Kit) 定义:Java 开发工具包,包含编译器、运行时环境(JRE)及核心类库 作用:提供 Java 程序开发和运行的基础环境,是所有 Java 应用的必备依…

本地服务器端部署基于大模型的通用OCR项目——dots.ocr

本地服务器端部署基于大模型的通用OCR项目——dots.ocrdots.ocr相关介绍本地服务器端部署第一步:安装cuda12.8与CUDNN8.9.7第二步:创建项目所需的依赖环境第三步:启动项目第四步:测试第五步:文本解析相关性测试第六步&…