第八周 回到起點,從頭再來

2022-08-21 02:06:15 字數 1141 閱讀 7908

在這近兩個月裡的時間裡,耗費了幾乎所有週末的時間來做專案開發。現在專案開發已經完成,我所得到的一些感想在這與大家一同分享。

在專案開發伊始,我們就確定了總體的設計框架。本以為這樣事情就完成了大半,以為有了大概的框架,我們往裡面新增東西就行了,事實證明確實是我想多了。比如,在gui互動這一塊,要怎麼實現gui之間的通訊,要怎麼新增網路介面給gui,客戶端要怎麼與gui實現互動,客戶端要怎麼實現訊息的同步傳送等。乙個整體的框架根本解決不了所有問題,其中的細節問題多到讓我們難以想象。當然,最後我們還是解決了這其中的大部分,只是花費的時間超出了我們的預期。由這不得不想到,軟體工程學的重要性。假想我們一開始就直接編碼,期望在編碼的過程中實現我們期望的過程,那麼這麼多細節要考慮,前前後後要進行的除錯的次數可想而知。相反,如果採用軟體工程的思想——先仔細設計再實現,來進行專案開發,那麼很多問題可以提公升到整體的層面來考慮,對於諸多的細節問題在設計階段就想好恰當的解決方案,不至於在編碼過程中顧此失彼,還得反過頭來重新設計,使得專案開發時間大大延長。

這次專案開發也看到了自己的很多不足。我是大二轉專業到計算機系的,由於正在補修《離散數學》、《資料結構》這兩門課,整體的學習情況有點難以兼顧。而且,在真正參與專案開發之後,我才明白離散數學和資料結構這兩門課的重要性。這兩門課重要在不是它們能夠提供多少實用的公式應用在我們的工程中,而是這兩門課能夠培養我們將現實世界的實體轉化成計算機可計算的邏輯實體的能力,同時能夠站在電腦科學的角度,為工程的實現提供可靠的解決方案。比如在伺服器使用者訊息**功能中,採用的資料結構為圖。圖的鍵為對方使用者的id,值為對應客戶端的socker例項,格式化的訊息傳入伺服器,可通過頭部的id查詢對方使用者的socket,進而實現訊息的**過程,這樣的例子還有很多。這就是電腦科學美的地方,那些資料結構外表看起來複雜、晦澀,但是這幾乎是現實世界各種實體、資料最簡潔的邏輯表達,它給予了我們在邏輯層面的視角,將問題的來龍去脈看得清清楚楚,現實問題由繁化簡,為我們設計解決方案提供了極大的幫助。雖然軟體工程這門專業強調的是計算機技術的應用,但是我覺得這種程式設計的思想,簡單來說就是分析問題、解決問題的能力,對於所有計算機行業的從業人員來說都極其可貴,這也是真正的軟體工程師與it民工的區分標識。所以對我來說,這次專案開發結束之後,我不再想去鑽研web開發、資料庫等等,而是應該好好靜下心來,重新回到電腦科學最開始的地方,從離散數學、資料結構重新開始,扎扎實實地打好自己的基礎,重新邁入電腦科學的大門。

以上。

第八周 刪除

題目描述 從串s中刪除其值等於c的所有字元。如從message中刪除 e 得到的就是mssag 1 演算法庫中的標頭檔案部分 ifndef sqstring h included define sqstring h included define maxsize 100 最多的字元個數 typede...

第八周學習

第八周學習週報 2018.10.22 10.28 一 本週學習情況 本週主要學習了 開源硬體 arduino基礎教程 1 歐姆定律 2 光敏電阻與三極體的初步認識 3 多種方法控制並點亮led燈 按鈕開關,光敏開關,紅外開關 訪問了csdn社群的計算機基礎板塊,學習大神的帖子。利用開源硬體對網課裡的...

第八周作業

1 理解窗體的檔案含義及組織結構 如 form1.cs form1.designer.cs form1.resx 控制項的屬性 方法和事件。2 完全用 的方式在form1.cs檔案中建立乙個文字標籤物件label1,用 設定label1的parent location name text autos...