軟體工程中設計與編碼

2021-04-29 15:42:20 字數 1942 閱讀 7028

gf常說我吃家裡飯操別人的心。

父親常被母親這樣「罵」,這是我家的宿命。

以前都是乙個人開發,從有想法,到最後發布到網上。

而且都是一些很小的工具軟體,因此,沒有體會到設計的重要性。

最近,由於5個人在開發乙個小專案,前期只有幾個頁面,由於涉及到後期的東西,為了後期考慮,將業務層寫得很複雜,將現實中的事物基本是一對一的對映成類/集等。

其實幾個頁面,乙個人幾下搞定,但是為什麼,我們目前還沒有完成呢?

不是專案經理沒努力,也不是成員們偷懶。

那誰來承擔責任呢?

這不是問題,誰承擔責任,對以後的專案有好處嗎?沒有!

找到導致此情況的原因,並在以後的專案中避免再犯此錯。

設計!!

是設計!

在我僅參加的一次專案會議上,記得已經有人提出了問題,是那種由感而發的問題,感覺到有某個地方有點不正常。

的確,他感覺到了,並提出了--「設計稍顯粗糙」。

現在,我們為此付出代價了,周一應該測試的,可我們週末加2天班,仍然沒有看到曙光!

今天周二了,曙光在**,我仍沒看到。

那這麼久,我們在作了什麼?

專案經理,是最累的,大家都看得到。

可以說「頭髮都想白了」,這話來形容,太貼切了。

其他4人呢?

在內耗!注意在這裡「內耗」是中性的意思。非貶非褒!

由於沒有細緻的設計階段應該出來的文件,成員們只有事無具細都找專案經理交流。

你想,換誰,再好的脾氣,再好的涵養也會瘋狂的。

4個人,每人一天問n個問題。n>20。而被問的這個人,不是專門解答問題的,他還在「想白頭髮」的在思考,如何設計。

他此時會是多少程序在同時執行,還不斷有4個無規律的中斷事件進來發出請求。電腦都要死機,何況是人。

在這種情況下,設計出來的東西,當然不算好,分配任務也不會很合適。

於是成員們,會花很多的時間來猜測和尋找,自己需要的資料,從哪個類,用哪個方法取出來。如果有一點不清楚,先自己想(都不忍心再去打擾專案經理),花了n多時間,沒解決,然後,再去找專案經理。

即使這樣,進展也很緩慢。質量也不高。而每個人都覺得很艱難。

正好,這樣惡性迴圈,進展慢,時間緊,「頭髮白」想出來的,業務層設計,注釋和說明就盡量的少了,節省時間嘛。導致,其他人看不明白,又不好意思頻繁地去刺激老大,只有自己想,實在想不出再去刺激老大一下。

如果遇上老大在苦想階段,這交流效果肯定不好,兩個人說了半天,都還不知道對方的意思。

好了,不再嘮叨這沒有詳細設計就開工的負面情況了。

如果!我們來總結一下,加上如果。至少今後,可以按「如果」來作作。我在此只是設想一下,如前所述,我乙個人開發慣了。並沒有團隊開發的經驗。如有不對之處,還請指證。

乙個專案,不論大小,只要不是乙個人開發,就需要每個參與者都對此專案很了解,特別是要了解「它」是如何設計的。哪個類,哪個方法,是作什麼的。這個是起碼的要求。

但是在缺乏設計文件的情況下,一邊開發,一邊定義類,介面,而以時間緊為由,沒有寫清楚,這定義的這些東西是作什麼的?怎麼用?

那別人會花更多的時間來猜測這個東西是作什麼的,怎麼用?浪費的時間,比別人自己從資料庫寫到表現層更多。

在設計階段,我們幾個開發人員一起,進行n次討論(或稱會議吧),作什麼呢?

從用例討論到抽象,從介面層的按鈕的放置到資料表的字段定義。並形成文件。

文件細緻到有每個類及類應該有的屬性,方法。

這樣每個方法返回什麼,實現什麼功能,都確定好了。

這樣會將前期的設計搞得面目全非---(套用一句話,真的會「連他媽都不認識」)。

修正文件和在實際開發中修正**容易不是一點兩點,對吧。

到這裡,我們就可以真正的實現設計70%(大家在一起討論,氣氛很好,不會緊張和覺得打擾到對方)。

在編碼的時,可以從文件中依葫蘆畫瓢,輕鬆簡單,不會再頻繁地去打擾其他成員的思路。

編碼真就成了乙個體力活了,不會常常看到扣破腦袋的情形了。有的只是邊聽**,邊優雅的敲擊鍵盤。

於是乙個專案就在輕鬆團結的背景下完成了。

軟體工程6 軟體編碼

1960年底dijkstra提倡的 a 是一種有效的提高程式設計效率的方法。dijkstra為了使程式結構易於理解,把基本控制結構限於順序 b c 避免使用 d a 不僅提高程式設計的生產率,同時也容易進行程式的 e 供選擇的答案 a 1.標準化程式設計 2.組合語言 3.多道程式設計 4.巨集語言...

軟體工程 程式編碼

軟體工程的編碼階段主要是由工作在一線的軟體開發人員程式設計師和程式經理來完成的,這個階段的主角決定著軟體的質量的好壞。下面我分為兩個部分來總結一下程式編碼和編碼後的質量評價。1.語言的分類導圖裡面已經很清晰了,但是高階語言還包括四個型別 系統實現語言 靜態高階語言 快結構語言 動態高階語言 2.語言...

軟體工程 程式編碼

程式編碼是將 詳細設計 結果轉換為某一種程式語言編寫的程式的過程。有許多因素制約和影響著軟體的質量和可維護性。1 應用領域的不同決定選擇的語言 2 系統使用者的要求決定,使用者使用他們熟悉的語言 3 可以使用的編譯程式 4 程式設計師的經驗和知識 5 軟體可移植性要求 6 當工程規模很大時,二又沒有...