軟體基礎第二次作業

2022-07-13 22:51:28 字數 1750 閱讀 5666

這個作業屬於哪個課程

這個作業的目標

閱讀《構建之法》中的內容,用合理的方式提出問題並思考

姓名-學號

《阮夢帆》-<2018330301059>

我看了書中如下內容:

什麼是好的軟體工程思想?乙個工程使開了部落格,**了很多別人的文章,這算有思想麼?另乙個工程師堅持做任何設計都要畫uml圖,這算有思想麼?

——p45 3.1 軟體工程師的成長

我的問題是:什麼是 uml 圖?它在軟體開發的哪個環節起到什麼作用?它與程式流程圖有何區別?為何作者要在這裡對堅持畫 uml 的做法提出質疑?通過查閱資料,我知道了uml-unified modeling language指統一建模語言,是用來對軟體密集系統進行視覺化建模的一種語言。它是一種在開發階段,說明、視覺化、構建和書寫乙個物件導向軟體密集系統的方法,踐,對大規模,複雜系統進行建模方面,特別是在軟體架構層次,已經被驗證有效。

通過比較,我認為 uml 圖與程式流程圖的主要區別在於, uml 圖適用於物件導向的建模,描述的是類、物件、成員等之間的關係;而程式流程圖是由順序、選擇、分支結構組成的邏輯流程。

我仍不明白的是,看起來 uml 在軟體開發過程中是一種挺有效挺重要的方式,為何作者對凡事畫uml圖的做法存疑呢?現在的軟體開發中難道已經很少用 uml 了嗎?

書中這樣寫道:

結對程式設計中有兩個角色:

1.駕駛員(driver):控制鍵盤輸入。

——p79 4.5.2為什麼要結對程式設計

我的觀點是

這裡的模擬在嚴格意義上可能並不是那麼的得當。

原因在於駕駛員和領航員是共依存模式,他(她)們必須成對存在,否則賽車寸步難行(電影《飛馳人生》中沈騰飾演的張弛算個例)。

而在程式開發中,結對程式設計固然可以大幅提公升效率,但不是必要的組合模式。

首先駕駛員和領航員這種組合模式一般只出現在汽車拉力賽中(rally)。這裡的越野賽車說得不夠準確,嚴格意義上它不是一種賽事的型別。

在拉力賽中,坐在副駕駛席上的領航員通過被稱做「pacenote」的比賽路線圖為駕駛員指示前進方向。這不是一般的指路,領航員除了要指示方向,還要預報前方的彎道彎曲程度、建議檔位等關鍵資訊。

相較於場地賽車運動,拉力賽的賽道環境十分惡劣,通常會遇到大霧瀰漫、雨雪交加的天氣,這種情況下,駕駛員根本看不清前方路況,領航員就起到了至關重要的作用。相當於駕駛員要在領航員的指示下閉著眼睛開車。

相比之下,結對程式設計的兩人不一定有如此緊密不可分割的聯絡,這種組合模式主要是為了提公升效率,並不是專案能否完成的必要條件。

我看了書中如下內容:

4.5.1 最早由記錄的結對程式設計結對程式設計隨著敏捷思潮的興起……於是這兩人在3月的最後一周開展了不得已的、長達60小時的結對程式設計活動。

我的問題是:軟體工程中,這種趕不上進度的情況常見嗎?是哪些原因導致的這種情況?是前期的規劃不夠合理,還是開發過程中遇到了不可預料的問題?除了在deadline之前拼命趕工創造奇蹟以外,還有沒有什麼方法能夠盡量避免進度落後的局面?

軟體基礎第二次作業

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

軟體基礎第二次作業

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

軟體基礎第二次作業

這個作業屬於哪個課程 這個作業的目標 軟體基礎第二次作業 姓名 學號 黃炳 2018330301117 p95 兩人相處的技巧中,乙個三明治的交流方式。兩個人比較有隔閡時才需要用這樣的方式,關係好的人可以當面直說,就像老師上課舉出的問題,你朋友打遊戲太菜了一直要帶著你輸怎麼辦,如果關係不好肯定不能當...