软件工程 案例分析作业
現代軟件工程? 構建之法 作業https://bbs.csdn.net/forums/SoftwareEngineering?typeId=1723
軟件工程作業 ?案例分析
(建議作為個人或結對作業)
很多同學有疑惑:
軟件工程課是否就是枯燥的理論課?? 或者是幾個牛人拼命寫代碼,其他人抱大腿的課?? 要不然就是學習一個程序語言,練習某個框架, 搞一個職業培訓的課?
都不對!?軟件工程有理論,有實踐,更重要的是分析,思辨,總結。 在課程中,同學們自己組織團隊寫一個軟件發布, 然后分析其中的得失,的確是學習軟件工程的一個好方法。 這樣能根據切身體會來分析,很有價值,但也有可能 “身在此山中”,未能看清全局。 而且,課程時間有限,我們也不能做很多具體的項目。 ?另一方面,我們也可以從間接經驗中學習, 分析,別的項目的成敗同樣給我們很多啟發。
我們生活中很多時候要和軟件打交道, 大家上課開小差時候玩的手機游戲, 背英語單詞的手機App,買火車票的網站,互相聯系用的微信微博,等等,都是軟件,都很值得分析。? 你為何成為它們的用戶? 你為何后來有不用它們了? 它們的團隊做對了什么,做錯了什么? 軟件工程質量如何??如果你來做,會做得更好么?通過各種案例分析, 評測,辯論, 總結,我們就能看到軟件工程的原則在實踐中的種種體現,學好軟件工程,幫助我們在實踐中做得更好。
分析什么樣的軟件也有講究,這就要說到一個故事:
某國空軍為了提高飛機在空戰中的存活率,決定加固飛機,但是加固什么地方呢?? 他們研究空戰后飛回基地的飛機,飛機各部分中彈的地方和密度,想以此得出結論。 但是專家們忽略了一點,那些被擊中要害的飛機,都沒有能飛回基地,也沒有能夠參加這些調查。
幸存者偏倚 (Survivorship Bias) 是一種常見的邏輯謬誤,意思是只能看到經過某種篩選而產生的結果,而沒有意識到篩選的過程,因此忽略了被篩選掉的關鍵信息。這東西的別名有很多,比如“沉默的數據”、“死人不會說話”等等。
我們不光要分析那些經歷戰場的考驗而最后 "活著出來" 而勝利的軟件,還要分析那些在戰場中被打敗,或者傷痕累累,正在掙扎的軟件,這樣才能全面地了解軟件工程的原理在好/壞軟件上所起的作用。
有的同學會說, “我只會看看界面,寫不出來什么技術分析...",? 那么,可以看看只評價界面的分析報告,爭取寫出類似水平的報告來。
2022??學年供分析的產品:
從 A,B,C 中選擇一個課題來分析。?
A)作為一個 IT 行業的學生或從業者,如果你碰到了問題, 你去哪里尋找答案呢? 請比較至少 兩個 IT 問答網站:列出它們具體的優缺點,并說明如果你來主持工作,你會怎么改進。
建議評測的要點:
B)現在很多開發人員和IT專業的學生都在移動設備上學習、工作、社交,在移動設備上的APP 能滿足這類目標用戶的需求么?它們會被wx公眾號取代么? 請分析 CSDN 的移動App, 不要面面俱到,請聚焦一下, 分析它的 “動態” 功能,? 點擊 App 的首頁下方正中間的那個 “動態” 按鈕,打開后的微社區,就是我們要分析的。 可以在 “動態” 中發布幾個動態,看看你的城市有什么IT的網友,?下載鏈接是:????
CSDN 的APPhttps://www.csdn.net/app/C)現在學習資料很多,但是很多同學在學習新技術的時候還是很茫然,有沒有更好的學習路徑? 請評測 技能樹? (例子: Python 技能樹, CS入門技能樹, C 語言技能樹 等)。 請對照項目成員對自己產品的期待, 你覺得這個目前的產品狀態離原來的期望還差哪幾個方面? 你作為一個學習這個技術的學習者,發現了技能樹的什么亮點,有什么不滿?
D) IT 人士都會寫文章,寫技術文檔,實驗報告,等等。 寫博客誰都會,那么,哪家的博客編輯器最好? 大家都聽說了 Markdown 這種高效率的文檔風格,CSDN 的 Markdown 編輯器好用么?它對于各種文件格式,插入圖像,動畫,表格,代碼塊的支持如何? 你作為一個開始寫博客的人, 發現了什么問題?請寫一個詳細的博客描述你碰到的問題,以及改進的建議。
鏈接: 寫文章-CSDN博客h
還可以看看一下優秀的博客:?極客日報社區-CSDN社區云? 從這些優秀博客中學習到寫博客的各種技巧。?
作業博客具體要求:
第一部分? 調研, 評測
(參考知識點: 軟件的bug,功能評測,黑箱測試,第8章 用戶調研, 12 章 軟件的用戶體驗)
你在上面選中的要評測的軟件或者服務,在這里被稱為?<被評測軟件/網站>。??
注冊并使用? <被評測軟件>? 的主要功能,按照書中?bug 定義, 找出幾個功能性的比較嚴重的 bug。至少兩個.? 用專業的語言描述 (每個bug 不少于 40字), 如有必要, 可以配圖。
另外,請你自己花幾天時間時不時用一下 <被評測軟件>,? 看看你有沒有成為一個持續使用者。
<被評測軟件> 解決了你的什么問題??
相信每個同學的朋友中一定有人需要用這樣的軟件 (例如你上課的同學),? 記載你對這位用戶的采訪。?
提示:? 采訪提要
1)??? 介紹采訪對象的背景和需求 (他們為何要用這個軟件/網站, 有什么痛點,還有別的需求么)
2)??? 讓采訪對象使用10 – 30 分鐘 <被評測軟件> 的基本功能? (請上傳照片證明用戶的確正在使用,? 遠程采訪的同學請讓別人幫忙照相)
3)??? 描述用戶使用這個產品的過程,? 用戶的問題解決了么?? 軟件在數據量/界面/功能/準確度上各有什么優缺點?? 用戶體驗方面有問題么?
4)??? 用戶對產品有什么改進意見?
結論:經過這么多工作,你一定有充分的理由給這個軟件下一個評價:
? ? a)?? 非常不推薦
? ? b)?? 不推薦
? ? c)?? 一般
? ? d)? ?推薦
? ? e)?? 非常推薦
請選擇一個結論。 除了定性的結論,是否能有定量的結論 (就像最近比較時髦的手機評測那樣, 跑個分?), 如何定量地評價一個軟件?
第二部分 分析 ?
?(參考8.6 節 對工作的估計, 和14.1 節 軟件工程的質量)
根據你對 <被評測軟件> 的了解, 現在請估計這個軟件/網站/服務 做到這個程度大約需要多少時間 (團隊人數6 人左右, 計算機大學畢業生,? 并有專業UI 支持)。? 分析這個軟件目前的優劣 (和類似軟件相比), ? ?這個產品的質量在同類產品中估計名列第幾? 它的市場份額估計第幾? 兩者匹配么? 不匹配的原因是什么?
在書上我們看到:
? 程序 = 算法 + 數據結構; ?
? ? ? 軟件 = 程序 + 軟件工程 ? (軟件服務還有數據,內容的因素)
? ? ? 軟件企業 = 軟件 + 商業模式
你在第一部分發現的bug, 為何軟件團隊不能在發布前修復?他們是不知道,還是有意不修復? ?你覺得是什么原因?從下面的可能性中選取幾個:
- 對用戶需求掌握不好
- 具體的設計質量不高
- 開發人員粗心大意
- 測試把關不嚴,敷衍了事,沒有注意在特殊的配置或環境下測試
- 其他
團隊在哪一個層次還有問題? 為何職業的軟件團隊還有這些問題?可以把自己想問軟件團隊的問題都列出來, 也許就能得到團隊的親自解答!
從各方面的問題,推理出這個軟件團隊在軟件工程方面可以提高的一個重要方面,?期望你提出具體建議。
第三部分 ?建議和規劃 ??
(參考《構建之法》第8章 功能的定位和優先級;第9章 項目經理)
這個軟件/網站/服務有很多可以提高的部分, 如果你是新上任的項目經理, 如何提高從而在競爭中勝出? ?
首先,市場有多大? 全中國IT 專業的學生和職業人士都可以是用戶, 總共有多少人? 目前市場上有什么樣的產品了,它們的優勢劣勢在哪里? 和它直接競爭的產品在那里? 這個領域是出于 (萌芽 / 成長 / 風口 / 平臺 / 下降)階段??
作為新的項目經理,這個產品的核心用戶群是什么樣的人, 典型用戶長什么樣?學歷,年齡,專業,愛好,收入,表面需求,潛在需求都是什么?
功能:你要設計什么樣的功能? 為何要做這個功能,而不是其他功能? 為什么用戶會用你的產品/功能?? 你的創新在哪里? 可以用 NABCD 分析.
如果你有錢可以招聘 6 個人, 有 4 個月的時間, 你作為項目經理, 應該如何配置角色? (前端開發人員, 后端開發人員,測試人員,交互設計師,等等)?
描述你的團隊在16 周 期間每周都要做什么, 才能在第16周如期發布軟件的改進版本,并取得預想中的成績。
把上面幾個部分都寫清楚,發一個博客,博客中請加一個鏈接指向這個作業要求 (本博客)。
?--------
附錄
2020 - 2021 學期供分析的產品:
2019 - 2020 學期供分析的產品:
①??現在人工智能 (AI) 非常火熱, 我們能否分析一些AI 相關的開發產品,例如 智能表單信息抽取識別?它有何創新, 有何不足,你從中看到了什么機會? 如何參與這個開源項目?
②? cnblogs.com 的博客功能, 特別是?首頁 - 班級博客 - 博客園?中針對學習,教學,班級管理,互相交流的功能。 請用它寫一些博客和評論,你覺得你會成為它的用戶么?這一方面的參考對象是:?www.csdn.net。
③??現在很多開發人員和IT專業的學生都在移動設備上學習、工作,在移動設備上的APP 能滿足這類目標用戶的需求么?它們會被wx公眾號取代么? 請分析?csdn 的APP
④? 微軟公司有兩個代碼編輯器, Visual Studio, VS Code,它們的目標用戶,主要功能有何不同?為何要有兩個編輯器和開發環境? 請用這兩個編輯器/IDE 寫出一個簡單的 C/C++/Python 程序,描述你的發現。?
2017 - 2018 學期供分析的產品 (從下面 3 類產品中挑一個你最感興趣的):
①??現在人工智能 (AI) 非常火熱, 我們能否分析一些AI 相關的開發產品,例如 OpenMind Studio,? VS Code Tools for AI。這些新工具有何創新, 有何不足,你從中看到了什么機會?
②? cnblogs.com 的博客功能, 特別是 首頁 - 班級博客 - 博客園 中針對學習,教學,班級管理,互相交流的功能,這一方面的參考對象是: www.csdn.net。
③??現在很多開發人員和IT專業的學生都在移動設備上學習、工作,在移動設備上的APP 能滿足這類目標用戶的需求么?它們會被wx公眾號取代么? 請分析 csdn 的APP
請向老師咨詢評測博客文章的上交期限. 建議的打分標準是:
--------------------------------------------------------------------------------
總結
以上是生活随笔為你收集整理的软件工程 案例分析作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python txt转json_实战篇
- 下一篇: 软件工程 动物世界