2020年秋季《軟件工程》開課啦


網易教育報道過,“老師混課時,學生混學分”,是一些課堂上老師和學生心照不宣一起走過場的尷尬現實。功利化的現實中,老師難以淡定。在鄒欣老師的描述中,比較常見的師生關體系為“路人甲/路人乙”或“獄警/犯人”。

  • 在“路人甲/路人乙”關系中,老師對着學生宣講幻燈片,下課就走,不認識學生,也不沒有精力了解具體學生的情況。學生平時也見不到老師,即使碰上了,也難有交流。
  • 在“獄警/犯人”關系中,老師設法讓學生來上課,點名、小測驗、指紋打卡,誘惑大家在課堂上划考試重點等。學生則想法逃課,找人代簽字,課上睡覺熬時間,像坐牢一樣,巴不得早點解放。

鄒欣老師指出理想的師生關系是“健身教練/健身學員”的關系,想要有效的減肥、練出肌肉,學員要自己親歷親為的流汗。教練的作用就是提出各種要求,鼓勵大家更努力。在這個關系中,有的同學想成為一流的軟件工程師,老師就用世界一流的標准要求;有的同學只想要一個及格,老師也會告訴他如何能及格;有的同學想在某個領域深造,老師也會提供相應的指點。

在這些的啟發下,2020的秋季的《軟件工程》我們仍然會進行一些探索,在自我懷疑中不斷推進:

(1)多配助教。 優秀的助教團隊對於課程至關重要。計划多投入自己的一年級研究生進行助教工作,助教可以將同學們在項目里遇到的問題要定期總結,在博客上發布,更好的整改存在的問題。

(2)多組織階段性技術評審。 由各小組介紹自己工作,其它同學作為評委進行提問和打分,對於表現較好的小組以獎勵,可以較好的激發大家的積極性。在評審前,同學們往往會非常努力的完成階段目標,適當熬夜是常事,也是對於課程最起碼的尊重。階段評審能刺激大家,帶來更高的項目質量。

(3)進一步加強項目管理。 首先,項目的選題要具有持續性,方便下一屆的同學在此基礎上改進。然后,對項目的過程和監督評價要進一步明確,本年度對於博客的點評和批閱較少,下一年度要加強對博客的管理。最后,要及時反饋。本學期的教訓就是反饋不及時,對於做的好的小組要及時肯定,做的差的小組要及時止損。同時,希望同學們做的項目是真正的有價值,並非為了課程而做;每個同學都在真誠的付出,共同努力;每個同學都是有所收獲,項目結束時都是不負大家的努力。

(4)多激發大家的興趣。 優秀的同學在大學比在高中更忙碌,要學習理論,還要敲代碼,本質上還是真的對專業感興趣。希望有機會帶着課上優秀的同學出去走走,參加一些國內會議,拓展視野。畢竟興趣是最好的老師,也希望對本專業不感興趣的同學盡早找到自己的興趣點,早點進步。





2020秋季軟件工程(高峰)-中國海洋大學

一、課程基本情況介紹

1. 課程的能力培養目標

  • 軟件能力:按照工程化方法來開發高質量復雜軟件系統的能力
  • 軟件工程基礎課程:通過團隊協作使用現代軟件工具按照軟件工程方法來開發高質量並且可用復雜軟件系統的能力
    • 復雜軟件系統:具有一定復雜性、需要團隊協作來完成的軟件系統
    • 團隊協作:4-6人團隊協作
    • 軟件工程方法:構建一個有效協作的功能團隊,綜合運用極限編程、測試驅動、敏捷等軟件工程方法和最佳實踐,通過有效項目管理按計划的開發滿足典型用戶需求的可用軟件方法
    • 高質量和向可用:能夠使用技術性手段來確保所開發軟件的質量,能夠通過技術性手段來證明軟件的可用性並獲取用戶的反饋

2. 課程的組織結構

  • 課堂教學:研討性教學、課堂練習、作業點評、討論、團隊項目匯報

  • 課后作業:博客作業

  • 項目實踐:團隊項目 (15周)、總結回顧 (2周)

  • 成績構成:項目成績30% + 隨堂測驗10% + 考試成績60% + 獎勵成績 - 懲罰成績 - 缺勤

二、項目實踐說明

  • 實踐目標 :學習敏捷軟件開發方法,軟件團隊的構建,軟件生命周期及各個階段所用到的工具;開發一個值得驕傲的可用軟件

  • 時間進度

    • 1-3周:團隊選題及准備工作
    • 5-8周:Alpha迭代4周,項目評審和反思
    • 9-12周:Beta迭代4周,項目評審和反思
    • 13-15周:Gamma迭代3周,項目評審和反思
  • 內容

    • 面向實際用戶的可用軟件
    • 在已有軟件的基礎上進行軟件開發,或者提出滿足特定用戶需求的軟件並進行開發
    • 通過兩輪迭代的敏捷軟件開發,體驗軟件開發的全生命周期
    • 每一輪迭代的流程和任務:
時間 軟件開發階段 博客任務
第一周 計划和設計 明確階段要實現的需求功能點、完成功能點的設計,發布博客
第二周 實現(沖刺一周) 2篇每日例會博客
第三周 實現(沖刺一周) 2篇每日例會博客
第四周 穩定和發布 測試報告,發布說明
評審和反思 維護和反思、是否需要人員轉會
  • 要求
    • 團隊項目每一項任務都必須有結果:代碼簽入、博客、文檔等
    • 團隊項目過程中所有材料公開:進度表、例會記錄
    • 團隊項目開發的軟件要有真實用戶:展示用戶數量和對軟件的反饋
    • 在每輪迭代之后進行反思:找出自己和團隊在本輪迭代之中的不足之處,並提出改進辦法;從反思和錯誤中學習鞏固軟件工程知識和方法

三、教學日歷

周次 講授內容
1 課程簡介,第1章 軟件工程概述:軟件危機,軟件工程概念、原理、方法學,生命周期階段
2 第1章 軟件過程:瀑布、螺旋、增量、RUP模型,極限,XP,微軟過程。學長介紹項目經驗
3 第2章 可行性研究:任務,系統流程圖,數據流圖,數據字典,成本/效益分析方法
5 第3章 需求分析:任務,獲取需求方法,實體-聯系圖,狀態轉換圖,層次方框圖
6 第3章 需求分析:IPO圖,驗證軟件需求的方法。項目組介紹需求,點評
7 第5章 總體設計:層次圖和HIPO圖、結構圖;面向數據流的設計方法
8 第6章 詳細設計:程序流程圖、盒圖、PAD圖、判定樹、判定表;Jackson圖;程序復雜程度的定量度量
9 第7章 實現:編碼,軟件測試的目標、准則、方法、步驟;單元測試;集成測試過程及方法;白盒測試
10 第7章 實現:黑盒測試技術;調試過程、途徑;軟件可靠性的概念及估算方法
11 第8章 維護:定義,特點,過程,可維護性
12 第9、10章 面向對象方法學引論:對象概念,對象模型、動態模型、功能模型;三種模型之間的關系;建立三種模型,UML幾種模型介紹
13 第10、11章 面向對象設計、實現,設計准則,重用,服務,關聯,優化
14 第12章 項目管理:估算軟件規模;工作量估算;估算開發時間、工程進度、關鍵路徑、機動時間
15 第12章 項目管理:人員組織,軟件質量保證,配置管理,能力成熟度模型
16 實踐項目分組演示,點評
17 實踐項目分組演示,點評,課程展望,軟件工程未來發展概述

四、課程博客作業

同學們有什么想法?歡迎在博客下面點評、補充。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM