[軟件工程]軟件工程第一次做業
- 第一題:小學生四則運算
- 第二題:我在看《構建之法》時的幾個思考
- 在4.3代碼設計規範一節中的4.3.2的goto
- 原文中提出只要有助於程序邏輯的清晰體現,什麼方法均可以使用,包括goto
- 可是在Dijkstra的《goto有害論》一文中提出了goto下降代碼的可讀性,若是大量使用goto的話可能會形成代碼的行號異常複雜,更加難讀,並且會形成程序流程的混亂,使理解和調試程序都產生困難。在某些狀況下確實能夠提高程序的邏輯,可是大量使用也會形成邏輯過於複雜。
- 在4.4代碼複審一節中,做者總結了6點複審的目的,而我認爲還應該多加一點,就是複審代碼的註釋
- 在我看來,同一個團隊中,互相理解代碼的一個重要路徑就是註釋。有時,程序員在改寫代碼是可能疏於去修改相應的註釋,因此就可能形成註釋與代碼不符。並且有時註釋寫的晦澀難懂,也會影響交流,因此能夠審覈註釋,使其更通俗化。
- 在獲取用戶需求——用戶調研一節中部份內容不是很理解
- 在本節中前面的幾個方法還比較好理解,可是8.快速原型調研並非很理解,並且旁邊的F模式插圖,更是看得很迷
- 在8.4競爭性需求分析的框架,圖8.7中對用戶無用的功能過於的絕對化,如今無用不表明未來無用(固然不包括被淘汰的無用功能)
- 起初我也是認爲對用戶無用的功能就應該及時的剔除,可是在一次的夏令營中,我有幸遇到過一位搜狗拼音的項目經理,當時我也有一樣的問題,搜狗拼音爲何加了那麼多根本沒什麼用的功能,當時那位項目經理的回答是,由於將來誰都沒法碰見,因此一個公司,一個團隊想要謀求一些新的發展就勢必要想象到將來可能出現的一切可能,因此只要有新想法,就將它發展起來,說很差就是將來的就是本身如今的一個沒用的功能。
- 在10.3規格說明書一節中,我感受我看完了所有內容,可是好像仍是不知道怎麼去寫一個比較好的說明書,應該以什麼樣的格式?都寫些什麼內容?
- 在13.1.1按測試設計的方法分類一節中,我基本明白了什麼是黑箱和白箱,可是黑箱、白箱這兩種測試有什麼本身的優勢?並且在測試的過程當中,我應該帶入什麼樣子的測試用例?它們兩種方法的測試用例是否相通?
- 第三題:我選擇了 遊戲、操做系統、工具軟件
- 1)這些軟件開發者是怎麼說服你(陌生人)成爲他們的用戶的?他們的目標都是盈利麼?他們的目標都是賺取用戶現金麼麼?仍是別的?
- 遊戲:遊戲首先是本身獨特的玩法,或者是本身很高的畫質,很細緻的建模和極佳的遊戲體驗。遊戲基本上都是以盈利爲目的的,不論是購買、充值仍是間接的宣傳目的,都是在盈利。大部分遊戲是爲了賺取現金,可是也有一些遊戲是爲了將用戶引流至某個APP,賺取APP運營商的錢
- 操做系統:操做系統通常是預裝在設備中的,固然也有一些其餘的系統,主要吸引用戶的仍是流暢度、外觀、應用程序的兼容性。拿Windows系統來講,它的目標應該就是盈利,而一些Linux發行版則是爲了公益。Windows系統是直接賺取用戶現金,也有部分定製的Linux發行版也是直接賺取現金
- 工具軟件:吸引用戶的主要應該是某些特別的功能。好比PS,AE等等。他們的盈利也是直接賺取用戶的現金,固然也有免費的工具。
- 2)這些軟件是如何到你手裏的(郵購,下載,互相拷貝)
- 遊戲:從網上下載,互相拷貝或者從一些平臺上購買電子版或實體版
- 操做系統:從網上下載、互相拷貝或者購買實體版
- 工具軟件:從網上下載、互相拷貝或者購買實體版
- 3)這些軟件是如何處理Bug的?又是如何更新新的版本的?
- 遊戲:都會及時更新,通常更新都是下載更新包,而不是下載整個軟件
- 操做系統:及時推送補丁,可是跨版本升級則須要從新安裝
- 工具軟件:及時的推送更新,好比PS,會自動更新,可是若是升級版本,也須要從新安裝
- 4) 同一類型的軟件之間是如何競爭的?
- 主要就是增長用戶的友好度,使軟件更簡單使用,下降價格或者就像360同樣選擇免費,轉爲賺取廣告收入。
- 5)列舉你在使用上述軟件時觀察到的「特殊」現象,它們和硬件有什麼不一樣?這些能說明軟件的某些本質特性麼?
- 硬件一旦售出,除了質量問題,通常不用維護,可是軟件則不一樣,須要及時維護
- 軟件的購買方式多種多樣,能夠購買電子版,也能夠購買實體版,可是硬件必須購買實體版
- 團隊
- 咱們團隊一共四我的,李怡龍,賀鴻琨,胡浪,季澈,其中季澈是咱們的組長,團隊介紹能夠移步季澈的博客。
歡迎關注本站公眾號,獲取更多信息