软件工程概述

背景

软件工程(Software Engineering)这个概念的正式提出是在 1969 年,在人们经历过一系列软件危机(Software Crisis)之后的 NATO 会议上。

当时人们遇到的软件危机包括:

  1. 项目运行超过预算;
  2. 项目运行超过时间;
  3. 软件质量低劣;
  4. 软件通常不符合需求;
  5. 项目无法管理且代码难以维护。

下面举三个案例呈现当时的软件危机。

其一是 IBM 的 OS/360 系统,当决定外部技术说明文档的制定人员时,Fred Brooks 错误地给与了程序实现团队而不是体系结构团队,导致最后项目增加了一年的调试时间并多出了几百万美元的投入。

其二是美国银行信托软件,当时计划预算 2 千万,时长 9 个月;但实际上投入了 6 千万,时长 4 年,仍未完成,最终放弃。

其三是 AECL 公司开发的 Therac-25 放射性疗法机器,因竞态条件偶然发射高于正常剂量的辐射,从而导致患者死亡或重伤。

定义

在软件危机的背景之下,1969 年的 NATO 会议提出了软件工程的概念。

软件工程是用来建立和使用合理的工程原则,以经济地获取可靠的,且在真实机器上可高效工作的软件。

随后 IEEE 在 1993 年给出了更加综合性的定义,即

(1) 将系统化的、规范的、可量化的方法应用到软件的开发、运行及维护中,即将工程化方法应用于软件;

(2) 在 (1) 中所述方法的研究。

软件生命周期

软件工程有两面,一面是 “软件”,一面是 “工程”。软件是软件工程中最重要的制品。我们依照软件的生命周期,在每个时期实施不同的工程化的方法使得软件可以按需求运作。

<

内容概要:本文提供了一个基于MATLAB的电力系统负荷预测模型,采用时间序列分析方法实现短期负荷预测。系统集成了三种主流预测模型——ARIMA模型、指数平滑法和LSTM神经网络,并支持数据加载、仿真生成、多模型对比及误差分析功能。通过图形用户界面(GUI)进行交互操作,能够可视化展示历史负荷数据、各模型预测结果以及预测精度对比(以平均绝对百分比误差MAPE为指标)。代码结构清晰,包含完整的数据预处理、模型训练、预测执行与结果保存流程,适用于教学演示和工程原型开发。; 适合人群:电气工程、自动化及相关专业的高校学生、研究人员以及从事电力系统运行与规划的工程师;具备基本MATLAB编程能力的技术人员;; 使用场景及目标:①用于电力系统短期负荷预测的教学实验与课程设计;②比较不同时间序列模型(ARIMA、指数平滑、LSTM)在实际或仿真负荷数据上的预测性能;③构建可扩展的负荷预测原型系统,为进一步研究智能电网调度、能源管理提供技术支持;; 阅读建议:建议结合MATLAB环境运行代码并逐步调试,重点关注各预测模型的实现细节(如ARIMA的季节性设定、LSTM的序列构造方式),同时可通过修改参数(训练比例、预测天数等)观察对预测效果的影响,深入理解时间序列建模的关键环节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值