分享经典、现代和前沿软件工程课程

        随着信息技术的发展,软件已经深入到人类社会生产和生活的各个方面。软件工程是将工程化的方法运用到软件的开发、运行和维护之中,以达到提高软件质量,降低开发成本的目的。软件工程已经成为当今最活跃、最热门的学科之一。

        本次软件工程MOOC课程是一门导论性课程,我们将全面介绍软件工程所涉及的各方面知识,包括软件过程、软件需求、结构化分析和设计方法、面向对象分析和设计方法、敏捷开发方法、软件测试、软件项目管理、软件开发工具和环境。通过课程讲授,让大家初步了解软件开发和维护的方法学,为进一步深入学习各专题打下基础。

        软件工程的目的是以工程的原理、原则和方法进行软件开发,以解决软件危机。所以软件工程的总目标不是寻求最优解。而系统工程的目标是寻求最优解。但软件开发中的软件需求分析、软件体系结构设计、软件的集成测试和软件的系统测试等活动,已经可以看作软件系统工程的工程活动。

        希望软件工程未来能真正发展到像目前制造业那样流水线生产组装制造软件的模式,但即使到这一步,由于用户需求的千差万别,定制化应用也是需要的。我个人认为,定制化应用开发中,会复用一些满足部分需求的软件构件,同时还要开发一些新需求的软件构件,然后组装集成为最终的定制化应用。做产品设计需要考虑低耦合的功能,只有这样,产品本身以及构成产品的软件构件才能有更长的生命周期。

        课程还包含了实践环节,通过一个小型软件项目,大家可以体验软件开发的各个环节,并形成项目管理的意识。帮助读者系统而完整地梳理了软件工程的经典、现代和前沿理论、方法和技术,通过案例分析让读者了解其运用,并以浅显易懂的方式讲授业界广泛使用的方法和技术如敏捷开发方法、群智化开发方法-开源和众包、DevOps方法等,让读者理解和掌握现代业界使用的方法和技术。而且,作者结合北京大学和浙江大学在软件工程前沿的研究成果,首次在国内外软件工程教材中,系统化地介绍了人工智能(AI)、区块链(Blockchain)、云计算(Cloud Computing)、大数据(Big Data)、物联网(IoT)等新型技术驱动的前沿软件工程理论和方法,以此拓展读者的软件工程视野。

        “人月神话”的意思,是指在软件开发过程中,人们往往以“人月”作为估计工作量的单位,并认为通过增加人手就能以同等比例缩短所需的开发时间,比如说10个人预计10个月的开发工作量,100个人应该可以在一个月内完成。这种想当然的意见往往与事实天差地别,因此被称为“神话”。

        “人月神话”不能成立的原因,一是`当任务由于次序上的限制不能分解时,人手的添加对进度没有帮助。`二是`对于可以分解,但子任务之间需要相互沟通和交流的任务,必须在计划工作中考虑沟通的工作量。`

         理论上说,一对一的情况下,三个人之间的沟通量是两个人之间沟通量的3倍,四个人之间的沟通量是两个人之间沟通量的6倍,考虑到多个人或者多个团队之间开会协商、一起解决问题的需要,增加人手的作用往往要大打折扣,甚至可能起到负面的作用。

         以尽量精简的团队完成任务当然是最佳选择。但小团队毕竟无法承担大型软件开发任务,因为软件开发有其时效性,再高的效率,以大型软件的工作量计,也要十数年才能完成开发——这在商业上是没有意义的。

          因此,就展开了本书讨论的主题:如何管理大型软件项目开发。

主教材

孙艳春, 黄罡, 邓水光. 软件工程:经典、现代和前沿.

北京大学出版社,2024.2, ISBN 978-7-301-34801-7.

cbbdba93864f4c0bb8e901b7e21aff35.png

软件工程_北京大学_中国大学MOOC(慕课)

北京大学出版社

北京大学-软件工程(国家级精品课)课堂录播–孙艳春老师_哔哩哔哩_bilibili

爱课程 软件工程 北京大学信息科学技术学院

人月神话(纪念典藏版)【美】小弗雷德里克·P.布鲁克斯 清华大学出版社

ac4520a564854f3abc6afbbc54f5f650.jpg

 ca8f931f50114824af93ef08c5f07510.jpg

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

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

相关文章

SAP PP学习笔记05 - BOM配置(Customize)1 - 修正参数

上次学习了BOM相关的内容。 SAP PP学习笔记04 - BOM1 - BOM创建,用途,形式,默认值,群组BOM等_sap销售bom与生产bom-CSDN博客 SAP PP学习笔记04 - BOM2 -通过Serial来做简单的BOM变式配置,副明细,BOM状态&…

Matlab 最小二乘插值(曲线拟合)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 在多项式插值时,当数据点个数较多时,插值会导致多项式曲线阶数过高,带来不稳定因素。因此我们可以通过固定幂基函数的最高次数 m(m < n),来对我们要拟合的曲线进行降阶。之前的函数形式就可以变为: 二、实现…

Unity绘制六边形体

现在steam上面有很多下棋类/经营类的游戏都是用六边形的地形&#xff0c;比较美观而且实用&#xff0c;去年在版本末期我也自己尝试做了一个绘制六边体的demo&#xff0c;一年没接触unity竟然都要忘光了&#xff0c;赶紧在这边记录一下。 想cv代码可以直接拉到代码章节 功能 …

力扣周赛387

第一题 代码 package Competition.The387Competitioin;public class Demo1 {public static void main(String[] args) {}public int[] resultArray(int[] nums) {int ans[]new int[nums.length];int arr1[]new int[nums.length];int arr2[]new int[nums.length];if(nums.leng…

[AutoSar]BSW_Com09 CAN driver 模块FULL(BASIC)CAN、FIFO选择

目录 关键词平台说明一、FULL CAN 和Basic CAN 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector &#xff0c;芯片厂商TI 英飞凌编程语言C&#xff0c;C编译器HighTec (GCC)autosar版本4.3.1 >>>>>回到总目录<&…

云计算市场,从追求“规模制胜”到走向“用户分化”

文|智能相对论 作者|叶远风 通常来说&#xff0c;价格战放到任何行业&#xff0c;都不是什么好事。 如今&#xff0c;作为曾经的前沿技术创新&#xff0c;云计算行业正在被迫走入价格战的阴霾当中&#xff0c;引发业界担忧。 ECS&#xff08;云服务器&#xff09;最高降36%…

wordpress外贸独立站

WordPress外贸电商主题 简洁实用的wordpress外贸电商主题&#xff0c;适合做外贸跨境的电商公司官网使用。 https://www.jianzhanpress.com/?p5025 华强北面3C数码WordPress外贸模板 电脑周边、3C数码产品行业的官方网站使用&#xff0c;用WordPress外贸模板快速搭建外贸网…

【c++】继承深度解剖

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解什么事继承&#xff0c;基类和派生类的使用和…

YOLOv8改进涨点,添加GSConv+Slim Neck,有效提升目标检测效果,代码改进(超详细)

目录 摘要 主要想法 GSConv GSConv代码实现 slim-neck slim-neck代码实现 yaml文件 完整代码分享 总结 摘要 目标检测是计算机视觉中重要的下游任务。对于车载边缘计算平台来说&#xff0c;巨大的模型很难达到实时检测的要求。而且&#xff0c;由大量深度可分离卷积层构…

4. 编写app组件

1. 代码 main.ts // 引入createApp用于创建应用 import {createApp} from "vue"// 引入App根组件 import App from ./App.vue createApp(App).mount(#app) App.vue <!-- vue文件可以写三种标签1. template标签&#xff0c;写html结构2. script 脚本标签&…

【论文阅读】微纳米气泡技术作为CO2-EOR和CO2地质储存技术的新方向:综述

Micro and nanobubbles technologies as a new horizon for CO2-EOR and CO2 geological storage techniques: A review 微纳米气泡技术作为CO2-EOR和CO2地质储存技术的新方向&#xff1a;综述 期刊信息&#xff1a;Fuel 2023 期刊级别&#xff1a;EI检索 SCI升级版工程技术1区…

微服务 人工智能AI 物联网智慧工地云平台源码

目录 ​编辑 智慧工地架构 智慧工地系统 智慧工地云平台功能模块 1、基础数据管理 2、考勤管理 3、安全隐患管理 4、视频监控 5、塔吊监控 6、升降机监控 7、移动端数据推送 智慧工地管理平台子系统构成 智慧工地物联网解决方案&#xff0c;对工地施工安全人员、设…

在Jupyter-lab中使用RDKit画分子2D图

在Jupyter-lab中使用RDKit画分子2D图 在做完分子对接后&#xff0c;想看看筛选后的分子的结构。因此想利用Jupyter-lab来画分子的2D图。 1. 安装Jupyter-lab与RDKit 系统&#xff1a;Win11已安装conda RDKit 是一个功能强大、灵活易用的化学信息学工具包&#xff0c;广泛应…

YOLOv应用开发与实现

一、背景与简介 YOLO&#xff08;You Only Look Once&#xff09;是一种流行的实时目标检测系统&#xff0c;其核心思想是将目标检测视为回归问题&#xff0c;从而可以在单个网络中进行端到端的训练。YOLOv作为该系列的最新版本&#xff0c;带来了更高的检测精度和更快的处理速…

Node.js基础---npm与包

包 概念&#xff1a;Node.js 中的第三方模块又叫做包 来源&#xff1a;由第三方个人或团队开发出来的&#xff0c;免费使用&#xff0c;且为开源 为什么需要&#xff1a;Node.js的内置模块只有一些底层API&#xff0c;开发效率低 包是基于内置模块封装出来的&#xff0c;提供更…

FPGA高端项目:FPGA基于GS2971的SDI视频接收转HDMI输出,提供3套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI接收HLS动态字符叠加输出应用本方案的SDI接收HLS多路视频融…

【详识JAVA语言】抽象类和接口

抽象类 抽象类概念 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果 一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这样的类就是抽象类。 比如&#xff1a;…

一文搞懂浏览器缓存机制

文章目录 概述强制缓存协商缓存总结参考文章 概述 浏览器的缓存机制也就是我们说的HTTP缓存机制&#xff0c;其机制是根据HTTP报文的缓存标识进行的 浏览器第一次向服务器发送HTTP请求, 浏览器拿到请求结果后&#xff0c;会根据响应报文的缓存标识&#xff0c;决定是否进行缓存…

Web元素定位工具-ChroPath

往往Selenium元素定位需要知道具体元素的位置准确定位&#xff0c;一步一步找元素的位置很麻烦并且费时。今天介绍一款辅助定位web网站元素位置的插件ChroPath由此很有用&#xff0c;本文将介绍ChroPath完整版安装和使用&#xff08;含插件包&#xff09;&#xff0c;让seleniu…

数据结构与算法-冒泡排序

引言 在数据结构与算法的世界里&#xff0c;冒泡排序作为基础排序算法之一&#xff0c;以其直观易懂的原理和实现方式&#xff0c;为理解更复杂的数据处理逻辑提供了坚实的入门阶梯。尽管在实际应用中由于其效率问题不常被用于大规模数据的排序任务&#xff0c;但它对于每一位初…