初谈软件工程(一)

news2025/2/25 15:57:40

        我就读于兰州交通大学的软件工程专业。虽然在全国众多的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”的出现,也推动了软件工程技术的进一步发展和应用。这些历史变迁和技术进步共同构成了软件工程领域的丰富画卷。


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

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

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

相关文章

Airflow【实践 01】Airflow官网+自测源代码举例(简化安装+官方及自测python代码)

Airflow官网自测源代码举例 1.准备1.1 安装1.2 查询DAG目录 2.官方3.自测4.总结 官方网站地址: https://airflow.apache.org/docs/apache-airflow/2.7.2/,本文是基于 2.7.2版本进行的说明。 1.准备 1.1 安装 上一篇的 Quick Start 有详细的安装过程&…

经营分析到底要做什么?

​做经营分析,不是只看数据这么简单,我们要从目标-分析-决策-预警,全流程实现。 基于数据中台底座,实现从制定战略目标到执行落地的数据应用闭环。主要从四个维度来做: 第一步,就是基于预算管理进行战略目…

【书籍分享 • 第三期】虚拟化与容器技术

文章目录 一、本书内容二、读者对象三、编辑推荐四、前言4.1 云计算技术的发展4.2 KVM、Docker4.3 本书内容简介4.4 作者简介 五、粉丝福利 一、本书内容 《虚拟化与容器技术》通过深入浅出的方式介绍KVM虚拟化技术与Docker容器技术的概念、原理及实现方法,内容包括…

图片录入设备、方式与质量对图片转Excel的影响

随着数字化时代的到来,图片已经成为人们日常生活中不可或缺的一部分。在各行各业中,图片的应用越发广泛,从而促使了图片处理技术的快速发展。然而,图片的质量对于后续数据处理和分析的准确性和可靠性有着至关重要的影响。本文将从…

Java设计模式 | 七大原则之依赖倒转原则

依赖倒转原则(Dependence Inversion Principle) 基本介绍 高层模块不应该依赖低层模块,二者都应该依赖其抽象(接口/抽象类)抽象不应该依赖细节,细节应该依赖抽象依赖倒转(倒置)的…

源聚达科技:新手做抖音店铺到底要多久回本

在数字化浪潮中,抖音店铺如雨后春笋般涌现。新手商家涉足其中,常怀揣一问:何时能够回本?此问题非一日可答,涉及因素众多,但透过分析与经验,仍可略窥端倪。 选品策略。若产品契合市场需求,且具备…

动态规划课堂2-----路径问题

目录 引言: 例题1:不同路径 例题2:不同路径II 例题3:礼物的最⼤价值 例题4:下降路径最⼩和 例题5:最小路径和 结语: 引言: 在学习完动态规划斐波那契数列模型后,…

前端Vue项目无法启动服务,提示无 ‘dev‘ npm的脚本问题解决

目录 一、问题详情 二、问题解决 一、问题详情 上周还能运行的项目,今天突然无法执行了,连最基本的启动按钮也没有了,所有的项目本地都突然跑不起来了,附上截图。 二、问题解决 后来排查的根本原因有点奇葩,是因为…

如何保护企业免受人工智能网络钓鱼攻击

文章目录 前言一、生成式人工智能带来了新的网络安全威胁二、人工智能将使网络钓鱼攻击变得更加危险三、企业如何阻止人工智能驱动的网络钓鱼四、网络钓鱼模拟确保责任感和适应性前言 网络钓鱼是网络犯罪分子社会工程武器库中的超级武器。网络钓鱼尤其危险,因为它是网络犯罪分…

docker 容器内服务随容器自动启动

docker 容器内服务随容器自动启动 1. 背景2. 准备工作3. 方式一,直接修改.bashrc文件(简单粗暴)4. 方式二,编写启动脚本加入.bashrc文件(文明一点)5. 导出容器制作镜像6. 测试导出容器,nginx服务…

动态规划之第 N 个泰波那契数/三步问题【leetCode】【算法】

动态规划动态规划之第 N 个泰波那契数/三步问题 动态规划LeetCode题目第 N 个泰波那契数求解1求解2(滚动数组) 三步问题求解1求解2(滚动数组) 动态规划 如果问题是由重叠的子问题构成的,那就可以用动态规划&#xff08…

python Matplotlib Tkinter-->tab切换3

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pillow 10.1.0 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk import tkinter as tk import tkinter.messagebox as messagebox import …

云呐智能化运维技术支持是做什么的?运维监控一体化是什么

智能化运维技术支持的具体职责和工作内容,包括但不限于故障诊断、系统维护、数据分析等方面的任务。同时,阐述智能化运维监控一体化的概念,包括其目标、实现方式以及如何通过集成监控和管理流程来提高运维效率的优势。包含对智能化运维技术支…

【ArcGIS】重采样栅格像元匹配问题:不同空间分辨率栅格数据统一

重采样栅格像元匹配问题:不同空间分辨率栅格数据统一 原始数据数据1:GDP分布数据2.1:人口密度数据2.2:人口总数数据3:土地利用类型 数据处理操作1:将人口密度数据投影至GDP数据(栅格数据的投影变…

ffmpeg 推流报错 Error writing trailer of rtmp:// End of file

推流一段时间以后就会报这个错误,有没有人知道怎么解决呢?

10 款数据恢复软件功能和有效性对比(2024 年更新)

数据丢失可能是一种痛苦的经历,无论是由于意外删除、硬件故障还是软件损坏。值得庆幸的是,数字时代带来了强大的数据恢复解决方案。 随着我们进入 2024 年,市场上充斥着旨在有效检索丢失数据的先进软件。在本文中,我们将探讨 2024…

【论文笔记】Slim-neck by GSConv

文章目录 前言1. 简介2. GSConv4. 为什么要在Neck中使用GSConv3. Slim-NeckSlim-Neck中的模块Slim-Neck针对YOLO系列的设计 一些问题总结References 前言 作者提出了一种新方法GSConv来减轻模型复杂度,保持准确性。GSConv可以更好地平衡模型的准确性和速度。并且&am…

JAVA学习笔记12

1.键盘输入语句 1.1 介绍 ​ *在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。 1.2 步骤 ​ 1.导入该类的所在包,java.util.* ​ 2.创建该类对象(声明变量) ​ 3.调用里面的功能 import java.…

后端:跨端轻量JavaScript引擎的实现与探索

一、JavaScript 1.JavaScript语言 JavaScript是ECMAScript的实现,由ECMA 39(欧洲计算机制造商协会39号技术委员会)负责制定ECMAScript标准。 ECMAScript发展史: 时间版本说明1997年7月ES1.0 发布当年7月,ECMA262 标准出台1998年6月ES2.0 发布该版本修改完全符合…

2024年sCrypt编程马拉松即将开幕

BSV区块链的建设者们,你们在哪?2024年sCrypt编程马拉松即将拉开帷幕! 2024年3月16日至17日,我们将在旧金山市举办一场以比特币智能合约(即 sCrypt)和比特币通证(如Ordinals)相结合为…