軟體基礎第二次作業

2022-07-14 09:30:13 字數 1093 閱讀 2302

這個作業屬於哪個課程

這個作業的目標

讀《構建之法》並提出自己的三個問題 

姓名-學號

洪琦輝 2018330301011

一、我看了這一段文字 :「軟體工程的目標:建立乙個足夠好的軟體」——摘自《構建之法》p.15 第1章概論。

有這個問題 :軟體的好壞是如何評判的?

根據我的實踐,我得到這些經驗:在文中,作者說bug的多少直接衡量了軟體的開發效率、使用者滿意度等。我在想,bug的存在就一定會破壞使用者滿意度嗎?比如有一些很經典的遊戲設定在最初其實都是bug,但是因為這些bug的趣味性。結果就保留在了遊戲裡面,後被玩家們所喜愛,使得遊戲大火。這樣的bug不僅沒有降低使用者的滿意度,反而還幫助力軟體的擴散,所以我認為bug的存在嚴格意義上並不是軟體好壞的有力標準。

但是我還是不太懂,我的困惑是:什麼是軟體好壞的有力標準。

二、我看了這一段文字:「另乙個重要的軟體設計原則是開放-封閉原則(open-close principle,ocp):軟體實體應該是可以擴充套件的,同時是不可修改的——《構建之法》p.38 第2章個人技術和流程」

有這個問題 :軟體的可擴充套件性與不可修改性兩特性不應該是重複的嗎?

我查了資料,有這些說法:「本原則的意思是對擴充套件是開放的,而對修改是封閉的。因此,開放封閉原則主要體現在擴充套件開放,意味著有新的需求或變化時,可對現有**擴充套件,以適應新的情況;對修改封閉,意味著類一旦設計完成,就可獨立完成工作」

根據我的實踐,我得到這些經驗:軟體的擴充套件是對功能的擴充套件,是指新增新的**進去從而滿足新的功能,而不可修改性是指在軟體完成後形成乙個整體,無法再對這個整體進行外界的修改,前者是軟體完成前的特性,後者則是軟體完成後特性。

三、我看了這一段文字:」巴克斯頓說技能的反面是」problem solving「——」解決問題「——《構建之法》p.57第3章軟體工程師的成長「

有這個問題 :技能是乙個人掌握的能力,為什麼它的反面是解決問題,這不也是一種能力嗎?

我查了資料,有這些說法:在這裡所說的技能被形象化為乙個人對某項能力的掌握程度,即是否精通,精通一項能力到不需要任何外部幫助的情況下就可以獨立完成這項能力所對應的事情,展現這方面的能力,則為一項技能。解決問題是在外界的幫助下,以解決(低層次)為目的,無法展現乙個人的能力,因此互為反面。

軟體基礎第二次作業

這個課程屬於 這個作業的目標 通讀構建之法,提出三個困惑 姓名 學號 高可凡 2018339950059 研發出符使用者需求的軟體 在一定的軟體流程,在預計的時間內發布足夠好的軟體 能證明所開發的軟體是可維護和繼續發展的。按書上的說法,乙個工程如果能在規定時間內滿足顧客的需求且具備可持續發展性,就可...

軟體基礎第二次作業

這個作業屬於哪個課程 這個作業的目標 通讀 構建之法 提出問題 姓名 學號 許兆宋 2016330301162 前言 簡單讀了前三章,可能是 死讀書,讀死書 習慣了,一直處於 盡信書 的狀態,覺得書裡說的都是對的。你看他引經據典,聲情並茂,還有情景小故事,講得真好。我肚子裡著實沒啥墨水,就取巧挑幾個...

軟體基礎第二次作業

這個作業屬於哪個課程 這個作業的目標 閱讀 構建之法 中的內容,用合理的方式提出問題並思考 姓名 學號 阮夢帆 2018330301059 我看了書中如下內容 什麼是好的軟體工程思想?乙個工程使開了部落格,了很多別人的文章,這算有思想麼?另乙個工程師堅持做任何設計都要畫uml圖,這算有思想麼?p45...