当前位置: 首页 > news >正文

初谈软件工程(一)

        我就读于兰州交通大学的软件工程专业。虽然在全国众多的985、211高校中,兰州交通大学可能并不显眼,似乎未能跻身这些所谓的“顶尖”行列就意味着不被认可。然而,在甘肃省的教育领域中,它无疑是一座璀璨的明珠,名列前茅。回顾历史,兰州交通大学也经历了不少波折和变迁,但正是这些经历,铸就了它今日的坚韧与辉煌。


        让我们回归正题,探讨软件工程。我于2022年踏入这所学校的校门,成为本校第23届软件工程专业的学生。遥想首届学子,那是在2000年,如今已经走过了23载春秋。那么,为何会在那个时间点创立软件工程专业呢?这背后蕴藏着深刻的历史原因,与当时国家的发展紧密相连。诸位或许还记得,2001年,中国迎来了一个具有里程碑意义的时刻——我们正式成为世界贸易组织的第143个成员。正是这一重要事件,为中国揭开了长达24年的高速发展序幕,让全球众多发达国家为之侧目。

        在与世界贸易组织接轨后,国内的IT行业还很不景气。正是在这样的背景下,我们学校的软件工程专业应运而生,应运而生地肩负起培养适应市场需求、具备国际竞争力的软件工程师的使命。这一专业的设立,不仅响应了时代的需求,更体现了学校对于行业发展趋势的敏锐洞察和前瞻性布局。


        在我们学校,软件工程专业的发展历程可谓独具特色。

        初期,从2000级至2004级,我们采用了“2+2”的培养模式。这意味着,我们并非直接从高考毕业生中招生,而是从本校已有两年学历的学生中选拔。这一模式的实施,不仅体现了学校在软件工程教育上的创新与独特视角,更凸显了软件工程系在当时已经具备的强大实力。许多优秀的学长学姐们,在毕业后纷纷加入了华为等知名企业,成为行业的佼佼者。

        随后,从2003级至2010级,我们转向了“1+3”的培养模式。这一变革标志着学校对软件工程教育的进一步探索与调整,以适应不断变化的市场需求。

        最终,从2011级开始,我们进入了正常的四年制本科教育模式。这一转变,不仅使软件工程专业的教育更加规范化、系统化,也为学生提供了更加全面、深入的学习机会,为他们在未来的职业生涯中奠定了坚实的基础。


        2000年可谓是一个时代的转折点,正是在这一年,"互联网"这一概念开始崭露头角,引领着科技的浪潮。尽管互联网的起源可以追溯到1995年,但2000年前后无疑是其在国内发展的关键时刻。这一时期,众多IT公司如雨后春笋般涌现,其中不乏如今已崭露头角的行业巨头,如网易、腾讯等。在这一时期,这些公司主要以搜索引擎、门户网站等业务为主,不断探索和拓展互联网的商业边界。


        随着互联网的诞生,另一个具有划时代意义的存在也应运而生——Java。作为一种基于互联网的编译语言,Java的出现对互联网的发展起到了至关重要的作用。而在这背后,我们必须提及那个创造了Java的公司——Sun Microsystems。尽管Sun最终被甲骨文公司收购,但其在科技界的实力与影响力仍是不容小觑的。

        当时的Sun Microsystems可谓是“软硬兼施”。在硬件领域,Sun与TI公司携手合作,于1987年共同开发了第一款具有可扩展性的微处理器——SPARC(Scalable Processor ARChitecture,可扩展处理架构)。这一创举为Sun的产品注入了强大的动力,也使其在高端服务器市场上占据了一席之地。尽管如今Sun已被甲骨文公司收购,但其CPU技术仍在某些领域得到广泛应用和发展。

        而在软件方面,Sun Microsystems同样展现出了卓越的创新力。他们提出了“Green Project”,致力于推动绿色计算和可持续性发展,为整个行业树立了环保的标杆。在创造Java时,Sun更是提出了“write once, run anywhere!”的理念,这一理念使得Java成为了一种跨系统使用的编程语言。无论是更换操作系统还是硬件设备,Java程序都能在不更改代码的情况下正常运行,这一特性使得Java在互联网领域具有了无可替代的地位。


        随后,我们迎来了两种重要的架构模式:“C/S”(Client/Server,客户/服务器)两层架构和“B/S”(Browser/Server,浏览器/服务器)三层架构。这两种架构模式分别被形象地称为“胖”客户端和“瘦”客户端,其区分主要依据在于业务逻辑代码的放置位置。

        “胖”客户端将业务逻辑代码置于客户端本地,典型的例子如银行系统中仍广泛使用的C/S架构。这种架构因其业务逻辑代码直接运行在客户端本地,所以具备较高的安全性和稳定性,能够确保数据的完整性和交易的可靠性。

        相对而言,“瘦”客户端则将业务逻辑代码部署在中间层——应用服务层,以如今人们手中的手机银行APP为例。虽然这种架构在安全性上可能稍逊一筹,但其优势在于为用户提供了更为便捷、快速的服务体验。用户只需通过浏览器或APP界面进行操作,无需关心复杂的业务逻辑处理过程,极大地简化了用户的使用流程。


        软件工程作为一门应用广泛的学科,在兰州交通大学得到了深入的发展和探索。从2000年互联网和Java的崛起开始,软件工程领域经历了巨大的变革,Sun Microsystems等公司的创新为行业发展奠定了坚实基础。兰州交通大学的软件工程专业在这一背景下应运而生,通过不断调整教育模式,培养了大量适应市场需求的软件工程师。同时,两种重要的架构模式——“C/S”和“B/S”的出现,也推动了软件工程技术的进一步发展和应用。这些历史变迁和技术进步共同构成了软件工程领域的丰富画卷。


        希望大家能够从这篇文章中获得启示和收获,同时也感谢各位大佬的支持。如果您在阅读文章时发现任何问题,欢迎在评论区留言,鸿蒙会尽快回复并提供反馈!

相关文章:

初谈软件工程(一)

我就读于兰州交通大学的软件工程专业。虽然在全国众多的985、211高校中,兰州交通大学可能并不显眼,似乎未能跻身这些所谓的“顶尖”行列就意味着不被认可。然而,在甘肃省的教育领域中,它无疑是一座璀璨的明珠,名列前茅…...

自动化开展思路

自动化开展思路 本人在公司一直从事自动化测试推进工作,最近在好友的邀请下去其就职的公司分享如何开展自动化测试! 希望能帮其解决如下几个痛点: 1.上线周期长; 2.测试时间紧张,上线信心不足,测试覆盖…...

安装使用zookeeper

先去官网下载zookeeper:Apache ZooKeeper 直接进入bin目录,使用powerShell打开。 输入: ./zkServer.cmd 命令,启动zookeeper。 zookeeper一般需要配合Dubbo一起使用,作为注册中心使用,可以参考另一篇博客&#xf…...

nginx实现http反向代理及负载均衡

目录 一、代理概述 1、代理概念 1.1 正向代理(Forward Proxy) 1.2 反向代理(Reverse Proxy) 1.3 正向代理与反向代理的区别 2、同构代理与异构代理 2.1 同构代理 2.2 异构代理 2.3 同构代理与异构代理的区别 二、四层代…...

vue组件中data为什么必须是一个函数

查看本专栏目录 关于作者 还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas&#x…...

科技论文编写思路

科技论文编写思路 1.基本框架2.课题可行性评估1.研究目标和意义2.研究方法和技术3.可行性和可操作性4.风险和不确定性5.经济性和资源投入6.成果预期和评估 3.写作思路4.利用AI读论文5.实验流程 1.基本框架 IntroductionRelated worksMethodExperiment and analysisDiscussionC…...

Windows虚拟机克隆后修改SID

在日常使用VMware Workstation我们经常会去克隆一些Windows操作系统的虚拟机,克隆的虚拟机和源虚拟机的系统安全标识符(Security Identifiers,SID)相同,SID是标识用户、组和计算机账户的唯一的号码。 如果两台虚拟机都…...

前端架构: 脚手架工具rxjs的快速上手应用

rxjs rxjs 是一个异步的库和Promise是非常的相似 文档:https://www.npmjs.com/package/rxjs Weekly Downloads 44,474,389 (动态数据) 说明这个库也是非常的流行 安装 $ npm i -S rxjs 使用 import { range, filter, map } from rxjs;range(1, 200).pipe(filte…...

小程序框架(概念、工作原理、发展及应用)

引言 移动应用的普及使得用户对于轻量级、即时可用的应用程序需求越来越迫切。在这个背景下,小程序应运而生,成为一种无需下载安装、即点即用的应用形式,为用户提供了更便捷的体验。小程序的快速发展离不开强大的开发支持,而小程…...

音视频数字化(数字与模拟-电影)

针对电视屏幕,电影被称为“大荧幕”,也是娱乐行业的顶尖产业。作为一项综合艺术,从被发明至今,近200年的发展史中,无人可以替代,并始终走在时代的前列。 电影回放的原理就是“视觉残留”,也就是快速移过眼前的画面,会在人的大脑中残留短暂的时间,随着画面不断地移过,…...

在 Ubuntu 中, 使用 fsck 命令来修复磁盘文件系统

在 Ubuntu 中,可以使用 fsck 命令来修复磁盘文件系统。fsck 是用于检查和修复文件系统的工具。 使用 fsck 命令修复磁盘文件系统的步骤如下: 首先,您需要在命令行终端窗口中以 root 用户身份登录。 使用 fdisk -l 命令列出所有磁盘设备。 …...

LED电子显示屏连接方式解析

LED电子显示屏作为现代化数字展示设备的重要组成部分,其连接方式对于显示效果和稳定性至关重要。正确选择和实施连接方式不仅可以确保LED显示屏系统的正常运行,还可以提高其可靠性和持久性。本文将介绍LED电子显示屏常见的连接方式,以帮助读者…...

Mysql运维篇(五) 部署MHA--主机环境配置

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。如有侵权,请留言,我及时删除! 大佬博文 https://www.cnblogs.com/gomysql/p/3675429.html MySQL 高可用(MHA&#x…...

Offer必备算法09_分治快排_四道力扣OJ(快排三路划分)

目录 分治快排算法原理 ①力扣75. 颜色分类 解析代码 ②力扣912. 排序数组 解析代码 ③力扣215. 数组中的第K个最大元素 解析代码 ④力扣LCR 159. 库存管理 III(剑指 Offer . 最小的k个数) 解析代码 本篇完。 分治快排算法原理 分治就是分而治…...

Linux下性能分析的可视化图表工具

1 sar 和sadf 1.1 简介 sar命令可以记录系统下的常见活动信息,例如CPU使用率、网络统计数据、Block I/O数据、内存使用情况 等。 sar命令的“-o [file_name]”参数可以将系统活动数据记录到file_name文件,然后通过sadf来解析,sadf命令的“-g…...

泽攸科技JS系列高精度台阶仪在半导体领域的应用

泽攸科技JS系列高精度台阶仪是一款先进的自主研发的国产台阶仪,采用了先进的扫描探针技术。通过扫描探针在样品表面上进行微观测量,台阶仪能够准确获取表面形貌信息。其工作原理基于探针与样品表面的相互作用力,通过测量探针的微小位移&#…...

c++实现栈和队列类

c实现栈和队列类 栈(Stack)Stack示意图Stack.cpp 队列(queue)queue 示意图queue.cpp 栈(Stack) Stack示意图 Stack.cpp #pragma once #include "ListStu.cpp"template<typename T> class Stack { public: /* * void push(T& tDate)* 参数一 &#xff1a;…...

MySQL优化之索引下推

(/≧▽≦)/~┴┴ 嗨~我叫小奥 ✨✨✨ &#x1f440;&#x1f440;&#x1f440; 个人博客&#xff1a;小奥的博客 &#x1f44d;&#x1f44d;&#x1f44d;&#xff1a;个人CSDN ⭐️⭐️⭐️&#xff1a;传送门 &#x1f379; 本人24应届生一枚&#xff0c;技术和水平有限&am…...

【Java程序设计】【C00338】基于Springboot的银行客户管理系统(有论文)

基于Springboot的银行客户管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的银行客户管理系统&#xff0c;本系统有管理员、员工以及用户二种角色&#xff1b; 管理员&#xff1a;个人中心、管理员管理、客…...

C语言中大小写字母的转化

目录 C语言中大小写字母的转化 一、引言 二、C语言中的大小写转换函数 toupper()函数 tolower()函数 三、注意事项 四、总结 C语言中大小写字母的转化 一、引言 在C语言编程中&#xff0c;字符的处理是一个重要的环节。字符包括字母、数字、标点符号等&#xff0c;其中…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...