現代軟件工程—構建之法》第一章 中出現的計算機專業術語

現代軟件工程—構建之法》第一章 中出現的計算機專業術語

  1. 軟件
  2. 程序
  3. 軟件工程
  4. 二叉樹
  5. 遍歷算法
  6. 數據結構
  7. 算法
  8. 應用軟件
  9. 軟件服務
  10. 源程序
  11. 軟件架構
  12. 軟件設計與實現
  13. 依賴關係
  14. 編譯參數
  15. 連接參數
  16. 構建
  17. 源代碼管理
  18. 配置管理
  19. 質量保證
  20. 軟件測試
  21. 需求分析
  22. 程序理解
  23. 軟件維護
  24. 服務運營
  25. 軟件的生命週期
  26. 軟件項目的管理
  27. 用戶體驗
  28. 國際化和本地化
  29. API
  30. 用戶界面設計
  31. 計算理論
  32. 信息和編碼理論
  33. 算法和數據結構
  34. 形式化方法
  35. 程序設計語言
  36. 計算機體系結構
  37. 並行計算和分佈式系統
  38. 實時系統和嵌入式系統
  39. 操做系統
  40. 計算機網絡
  41. 科學計算
  42. 安全和密碼學
  43. 人工智能
  44. 模式識別
  45. 機器學習
  46. 數據挖掘
  47. 信息提取
  48. 計算機圖形學
  49. 計算機視覺
  50. 多媒體
  51. 數據庫和大規模數據處理
  52. 萬維網
  53. 天然語言處理和語言
  54. 人機交互
  55. 冒煙測試

我提出的問題

  1. 我看了git

    3.我上班後,發現之前同事寫的程序真是垃圾,根本看不懂,沒法維護。我要推翻重寫!後來一個老員工笑嘻嘻地告訴我,咱們如今看到的程序,就是去年的新員工憤怒地推翻重寫以後的結果,你們反映 尚未之前的版本好用呢。web

    我對這段話所表達的意思有異議,由於這個新員工可能由於我的習慣很差或者編程能力不夠,或者時間不足致使等出現了各類各樣的問題,可這不表明將來的人重寫的結果是怎麼樣,這個老員工很明顯就是在警告這個新人,這徹底是先入爲主的想法,並且,我之前看過別人公司的項目,也不知道是何時開始寫的了,裏面的函數、類沒有註釋,而且結構混亂,有一些內容已經沒有必要存在了,但是對於新人來講卻沒法作處理,因此這些老項目極可能真的有這些問題。第二,最後這句「尚未之前的版本好用呢」 意思是說新員工新完成的項目須要一步到位,雖然之前的很難維護,可它是通過好幾代的修復bug,而新建的項目天然會有一些問題,難道之前的項目剛作出來時你們就沒有怨言嗎?知足全部人的要求,那可真是太難了。
    而後根據個人經驗,面對像這種從開始或者通過不少次修改致使項目更難維護,此時應該作軟件重構,而不是推翻一切重寫,由於那樣太浪費精力和時間。算法

  2. 我對 源代碼管理 不理解,書中的內容是數據庫

    有些時候,咱們要爲了每一個需求寫一些特殊功能,不久後又要把這些功能在合併會主要版本。有些程序要配置不一樣的界面,運行在中文、英文或者其餘語言的操做系統上;有些程序還有32位版本、64位版本等。編程

    有些時候,咱們要爲了每一個需求寫一些特殊功能,不久後又要把這些功能在合併會主要版本。 這裏我仍是理解的,這個我在使用GitHub 或者git 時就會知道有時候會建立一些分支,當這些分支完成時即可以合併到主分支中。可是後面的 配置不一樣的界面 不涉及到分支的問題,還有後面的,通常都是經過 xml 或者 conf 等的配置文件完成這些設置,這只是一種配置程序兼容性時所使用的方法,沒法理解這和源代碼管理有什麼關係。而後我經過 www.baidu.com 搜索 源代碼管理 定義 找不到與之相關的信息,和 源代碼管理 相關的也都是一些git 等軟件相關的。不過我所不理解的問題卻是和 配置管理 有關。瀏覽器

  3. 我對 職業道德規範 不理解,由於我不知道這個道德規範的界限在哪裏,何爲道德,何爲不道德。若是一個軟件侵犯了用戶的利益,好比我的隱私泄漏形成財產損失、名譽損失,這裏徹底能夠經過法律訴訟來解決。以書中舉的例子,限制用戶安裝其餘軟件,製做軟件的公司應該也能夠有本身的選擇吧,若是說這種行爲讓用戶很不爽,或者說浪費用戶時間,不少軟件也在未通過用戶的贊成的狀況下展現廣告,難道這也是不道德的嗎?安全

  4. 我對第9頁的軟件工程的難題中的第二個複雜性 的「 而軟件工程師的肉眼一般一次只能看到30-80行源代碼(至關於顯示器的一屏)「的表述不太贊成,雖然只能看到30-80行,可是現代IDE 提供hierarchy (層級瀏覽),或者文件大綱,再加上工程師的記憶力,並且只要記住關鍵點,這些方法都可以讓工程師對本身所操做的部分有更高的把握。網絡

  5. 我對第9頁的軟件工程的難題中的第五個「非連續性」 的解釋有異議,現代軟件須要擁有的特性就是提供給用戶反饋,無論用戶作了什麼,須要提醒用戶當前的操做是無效的,或者不支持當前操做,不能什麼都不作,好比按下按鈕,須要經過按鈕的變化告訴用戶你的操做確認了,等待完成就行了,而且這個操做也應該是當即的,若是是個耗時操做那就應該是線程了。若是一個軟件進行了操做,一個軟件,一個系統,卻沒有任何輸出,包括視覺輸出,那用戶是很不樂意使用這個軟件的。數據結構

  6. 在第14頁引用的費曼的話,架構

    你能夠知道一種鳥的名字在全世界各類語言怎麼說,可是說完以後,你仍是不瞭解這個鳥。因此咱們要觀察這個鳥的行動--這纔是最重要的。

這句話好像就是說,我餓了,喝了一杯水,仍是餓同樣。

分類軟件

  • 瀏覽器
  1. Chrome
  2. Chrome Canary
  3. Firefox
  4. QQ 瀏覽器
  • 工具軟件
  1. Automate
  2. Block
  3. Macro Droid
  4. Measure
  5. Loop
  6. Mi Drop
  • 學習
  1. EF Hello
  2. keke
  3. 墨墨背單詞
  4. 外研隨身學
  5. 閱讀
  • 通信 社交
  1. QQ
  2. Tim
  3. 酷安
  • 購物
  1. 京東
  2. 手機天貓
  3. 小米商城
  4. 轉轉

我選擇的軟件

1. 這些軟件的開發者是怎麼說服你(陌生人)成爲他們的用戶的?他們的目標都是盈利麼?他們的目標都是賺錢用戶的現金麼?仍是別的?

  • 王者榮耀
    遊戲 並無誰說服我,最先接觸的MOBA 的是英雄聯盟,而後身邊的同窗開始玩王者榮耀,本身慢慢也開始玩了。目標是盈利,目標是賺取用戶的現金,並不展現廣告。
  • Macro Droid
    手機應用,沒有人說服,本身想要找相似的軟件而已。目標應該是盈利,並不展現廣告,不過免費版的功能受到限制,想要破除限制,須要購買。
  • draw.io
    web 軟件 一個在線做圖的軟件,不盈利,沒有廣告

2. 這些軟件是如何到你手裏的(郵購,下載,互相拷貝....)?你當時上幾年級?你對這個軟件的感受如何?

  • 王者榮耀
    下載的,在大一的時候,挺好的,在這上面也花費了挺長的時間
  • Macro Droid
    手機應用 下載,大二,當時還不太會用,後面一段時間都沒有再繼續使用,等到大三時又從新下載了這個軟件。
  • draw.io
    web 軟件,在手機上的瀏覽器使用的話體驗很很差,若是是電腦的話,挺好的,沒有廣告,功能挺全的,當時是大二

3. 這些軟件是如何處理bug 的?又是如何更新版本的?

  • 王者榮耀
    用戶發現bug 應該會告訴騰訊,而後再下個版本中就會更新了吧。
  • Macro Droid
    上架在Google Play 上,用戶能夠經過評論的方式告訴開發者,而後再下個版本中更新。
  • draw.io
    由於不須要下載,直接在網絡上使用,因此用戶可能不知道發生了更新

4. 同一類型的軟件之間是如何競爭的?

  • 王者榮耀
    雖然MOBA 類的手機遊戲有不少,但騰訊騰訊原本就有大用的用戶,同時做爲MOBA 遊戲,遊戲模型構建的更好,做爲在線遊戲嚴格管理做弊問題也會讓這款遊戲有競爭力。
  • MacroDroid
    雖然有相似的軟件,可是尚未說ui,操做有這款軟件好的。由於這原本就是一個小衆軟件,不太可能會有很大的市場,用戶爲此花的錢也不會不少。
  • draw.io 做爲一個免費軟件,談不上與誰競爭,卻是很到找到相似的在線軟件。
相關文章
相關標籤/搜索