分享經典、現代和前沿軟件工程課程

? ? ? ? 隨著信息技術的發展,軟件已經深入到人類社會生產和生活的各個方面。軟件工程是將工程化的方法運用到軟件的開發、運行和維護之中,以達到提高軟件質量,降低開發成本的目的。軟件工程已經成為當今最活躍、最熱門的學科之一。

? ? ? ? 本次軟件工程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.pswp.cn/news/718634.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718634.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718634.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

模板06-普通函數與函數模板調用規則

1、如果函數模板和普通函數都可以實現&#xff0c;優先調用普通函數 2、可以通過空模板參數列表來強調調用函數模板 3、函數模板也可以發生重載 4、如果函數模板可以發生更好的匹配&#xff0c;優先調用函數模板 #include <iostream> using namespace std;int my_add …

混合云技術架構是什么樣的

混合云技術架構是什么樣的&#xff1f;混合云技術架構是一種將公有云和私有云相結合的云計算架構。它允許組織在私有云和公有云之間靈活地共享和遷移應用程序、數據和服務。 混合云技術架構的設計可以根據組織的需求和業務要求進行定制&#xff0c;通常包括以下組件&#xff1…

現在如何才能開通微信公眾號留言功能?

為什么公眾號沒有留言功能&#xff1f;2018年2月12日之后直到現在&#xff0c;新注冊公眾號的運營者會發現一個問題&#xff1a;無論是個人還是企業的公眾號&#xff0c;在后臺都找不到留言功能了。這對公眾號來說絕對是一個極差的體驗&#xff0c;少了一個這么重要的功能&…

萬村樂數字鄉村系統開源代碼:革命性引領,助推鄉村振興新篇章

如今&#xff0c;國際社會普遍認為信息化、數字化已是重大且不可逆轉的發展趨勢&#xff0c;如何讓廣大農村地區充分分享到這個發展帶來的紅利&#xff0c;從而提升農村的經濟活力&#xff0c;確保村民生活質量不斷優化&#xff0c;已然成為我們需要認真研究并積極解決的重大議…

Window下編寫的sh文件在Linux/Docker中無法使用

Window下編寫的sh文件在Linux/Docker中無法使用 一、sh文件目的1.1 初始狀態1.2 目的 二、過程與異常2.1 首先獲取標準ubuntu20.04 - 正常2.2 啟動ubuntu20.04容器 - 正常2.3 執行windows下寫的preInstall文件 - 報錯 三、檢查和處理3.1 評估異常3.2 處理異常3.3 調整后運行測試…

WebFlux的探索與實戰 - r2dbc的多表查詢

前言 在一個有數據庫的項目中&#xff0c;條件查詢與多表查詢總是同幽靈般如影隨形。 好久不見朋友們&#xff0c;我是forte。 本篇文章會以我的 個人經驗 來介紹下如何在 Spring WebFlux 中使用 Spring Data R2DBC 進行多表查詢。 這次我會以一個自己寫的項目作為基礎來為各…

[課程]yolov9目標檢測封裝成類調用

搞定系列&#xff1a;yolov9目標檢測封裝成類調用 課程地址&#xff1a;https://edu.csdn.net/course/detail/39352 課程介紹課程目錄討論留言 你將收獲 學會yolov9封裝基本技巧和大體思路 學會yolov9封裝類的API調用技巧和自由擴展 學會使用Pycharm調試技巧和運行腳本技…

「連載」邊緣計算(二十四)03-04:邊緣部分源碼(源碼分析篇)

&#xff08;接上篇&#xff09; 在Register()函數中對EdgeHub struct的初始化只是對EdgeHub struct中的controller進行初始化。controller的初始化函數具體如下所示。 KubeEdge/edge/pkg/edgehub/controller.go //NewEdgeHubController creates and returns a EdgeHubContro…

uniapp+vue基于Android的圖書館借閱系統qb4y3-nodejs-php-pyton

uni-app框架&#xff1a;使用Vue.js開發跨平臺應用的前端框架&#xff0c;編寫一套代碼&#xff0c;可編譯到Android、小程序等平臺。 框架支持:springboot/django/php/Ssm/flask/express均支持 前端開發:vue 語言&#xff1a;pythonjavanode.jsphp均支持 運行軟件:idea/eclip…

2023天津公租房網上登記流程圖,注冊到信息填寫

2023年天津市公共租賃住房網上登記流程圖 小編為大家整理了天津市公共租賃住房網上登記流程&#xff0c;從登記到填寫信息。 想要體驗的朋友請看一下。 申請天津公共租賃住房時拒絕申報家庭情況會怎樣&#xff1f; 天津市住房保障家庭在享受住房保障期間&#xff0c;如在應申…

智慧草莓基地:Java與SpringBoot的技術革新

??計算機畢業編程指導師 ??個人介紹&#xff1a;自己非常喜歡研究技術問題&#xff01;專業做Java、Python、微信小程序、安卓、大數據、爬蟲、Golang、大屏等實戰項目。 ??實戰項目&#xff1a;有源碼或者技術上的問題歡迎在評論區一起討論交流&#xff01; ?? Java、…

xss.haozi:0x00

0x00沒有什么過濾所以怎么寫都沒有關系有很多解 <script>alert(1)</script>

【Linux取經路】文件系統——inode與軟硬鏈接

文章目錄 一、前言二、認識硬件——磁盤2.1 磁盤的存儲構成2.2 磁盤的邏輯抽象 三、操作系統對磁盤的使用3.1 再來理解創建文件3.2 再來理解刪除文件3.3 再來理解目錄 四、硬鏈接五、軟鏈接六、結語 一、前言 在之前的【Linux取經路】文件系統之被打開的文件——文件描述符的引…

DevStack 基于 Ubuntu 部署 OpenStack

Devstack 簡介 DevStack 是一系列可擴展的腳本&#xff0c;用于基于 git master 的最新版本快速調出完整的 OpenStack 環境。devstack 以交互方式用作開發環境和 OpenStack 項目大部分功能測試的基礎。 devstack 透過執行 stack.sh 腳本&#xff0c;搭建 openstack 環境&…

AcWing 799. 最長連續不重復子序列

Problem: AcWing 799. 最長連續不重復子序列 文章目錄 思路解題方法復雜度Code 思路 這是一個求最長連續不重復子序列的問題。我們可以使用雙指針&#xff08;滑動窗口&#xff09;的方法來解決。我們維護一個窗口&#xff0c;并使用一個數組來記錄窗口內元素的出現次數。當窗口…

深度學習的一個完整過程通常包括以下幾個步驟

深度學習的一個完整過程通常包括以下幾個步驟&#xff1a; 問題定義和數據收集&#xff1a; 定義清晰的問題&#xff0c;明確任務的類型&#xff08;分類、回歸、聚類等&#xff09;以及預期的輸出。收集和整理用于訓練和評估模型的數據集。確保數據集的質量&#xff0c;進行預…

車聯網產品與應用

在中國&#xff0c;先是小鵬汽車官宣“智駕覆蓋城市數量、可用里程以及用戶口碑均為行業第一”。后有華為問界官宣OTA&#xff0c;領航功能全國可用路段高達99%&#xff0c;“全國都能用&#xff0c;哪哪都能開”。 似乎分分鐘&#xff0c;“自動駕駛”就要干成了。但日新月異的…

Day31|貪心算法1

貪心的本質是選擇每一階段的局部最優&#xff0c;從而達到全局最優。 無固定套路&#xff0c;舉不出反例&#xff0c;就可以試試貪心。 一般解題步驟&#xff1a; 1.將問題分解成若干子問題 2.找出適合的貪心策略 3.求解每一個子問題的最優解 4.將局部最優解堆疊成全局最…

【MySQL】深入解析 Buffer Pool 緩沖池

文章目錄 1、前置知識1.1、Buffer Pool介紹1.2、后臺線程1.2.1、Master Thread1.2.2、IO Thread1.2.3、Purge Thread1.2.4、Page Cleaner Thread 1.3、重做日志緩沖池 2、Buffer Pool 組成2.1、數據頁2.2、索引頁2.3、undo頁2.4、插入緩沖2.5、鎖空間2.6、數據字典2.6、自適應哈…

JavaScript之structuredClone現代深拷貝

在JavaScript中&#xff0c;實現深拷貝的方式有很多種&#xff0c;每種方式都有其優點和缺點。今天介紹一種原生JavaScript提供的structuredClone實現深拷貝。 下面列舉一些常見的方式&#xff0c;以及它們的代碼示例和優缺點&#xff1a; 1. 使用JSON.parse(JSON.stringify(…