關注我的部落格的朋友可能這些天很少看到我更新部落格了,是的,主要的原因是去了長沙實習了,然後就是各種忙,還是**下實習的這些天的收穫吧。
在長沙實習的那些天,我們主要的是對於乙個專案的整體流程的設計,設計的專案是在windows下監控多台linux下的伺服器主機的詳細資訊,例如cpu使用率,記憶體使用率,磁碟使用率,程序的狀態等等。以前我設計專案的時候只是把注意力放在這個專案用什麼技術可以實現,在規定的時間內是否能夠實現,然後就是比較關心**方面的了。對什麼概要設計,詳細設計等等這些事不怎麼用過的,經過這次的實習,對於乙個軟體的設計的重要性,特別是需求分析和概要設計這一塊,將直接的關係到乙個軟體是否能夠按時的完成。在實習的過程中聽到的最深的一句話就是老師說的:乙個軟體的設計比編碼重要100倍不止。一開始我並不相信,但是隨著實習的進行,意識到之前的我對乙個軟體的想法已經進入乙個誤區的了。然後我果斷的靜下心來,好好的學。
總的來說,乙個軟體的設計大體上分為:軟體的開發計畫,軟體的需求分析,概要設計,詳細設計,編碼,測試,產品的發布這幾步。
還是簡單的說一下這幾步在乙個軟體設計中的作用吧:
開發計畫大體上是為客戶制定日常的檢查方案,可以發現使用者系統應用的潛在問題,並提出實時有效的解決方案。
需求分析中我們必須弄清楚客戶要的到底是什麼,要實現的功能到底是什麼,這一點在乙個軟體的開發中是非常非常重要的,設想一下,辛辛苦苦碼出來的**,結果不是使用者需要的,這很明顯對人力物力的消耗是難以想象的。
概要設計就是設計軟體的結果,主要包括系統的規格,系統架構的設計,模組的劃分,關鍵技術的突破,ui的設計,關鍵的資料結構,介面,執行緒模型。概要設計非常非常的重要,它幾乎包括了乙個專案的實現的所有技術和需要注意的地方,系統的規格和系統的架構的重要性不言而喻,架構是否完美,健壯,都會直接的影響到系統的效能和穩定性,模組的劃分則可以讓軟體的功能更加的清晰明了,對這個軟體的功能劃分不再模糊。關鍵技術的突破,這點我以前也是把它的位置放得很重,這對乙個專案是否能實現關鍵的功能有乙個初步的評估,以客觀的態度去衡量是否有足夠的時間和能力去實現專案中的關鍵的技術,ui的設計,這點也是比較重要的,由於在原型設計中,開發人員並不能那麼快的開發出軟體,ui的原型的作用就是可以和客戶去確定具體 的介面情況,保證做的是客戶想要的。資料結構的設計,介面的定義,執行緒的模式的設計,這些是詳細設計的基礎,也是非常的重要的。
在詳細設計階段,設計者的工作物件是乙個模組,主要是在概要設計的基礎上對模組的設計進行細化,主要包括:資料結構的細化,模組使用的演算法,業務流程,狀態的轉換。
在經歷了前面的幾步之後,如果設計的比較完善的話,那麼開發人員的工作就比較的簡單了。現在比較流行的迭代編碼,測試,也就是敏捷開發,在這個階段就可以大展身手了。編碼和測試同時的進行,不停的,盡快的更新出新的版本,使得客戶有軟體可用,實現基本的功能,並在接下來的版本中不斷的去完善專案的功能,敏捷開發在這階段的精髓表現的淋漓盡致。
最後就是產品的發布,以及後期的維護公升級的了。總的來說,以前我一直以為**能力才是體現乙個人在軟體公司中的價值,但是現實看起來並不是這樣,設計的能力,遠比**能力重要,當然,這不是乙個專案就可以學的到的,必須通過不停的專案經驗積累,這是乙個漫長的過程,但是,至少,在接到新的專案的時候再也不會去盲目的直接編碼了。這是對我乙個程式設計思想的乙個糾正,也是我在這次實習中的最重要的收穫吧。
實習期收穫(一)
first 同乙個頁面的前後台傳值,list eg cs protected ilistsylist 定義乙個sylist方法,沒有實現體 sylist syllabusservice.getlistbyclassandterm 1,1 資料繫結到sylist aspx foreach kdsoft...
大連實習之報告總結 我的感悟與收穫
2013年07月14日,我滿懷著對知識的渴求,在班主任賀老師的帶領下,和我的兄弟姐妹們一起坐船開啟了我們的大連實習之路 一切安排妥當後,東軟為我們舉行了開營儀式,然後東軟的老師帶著我們參觀了東軟的工作區,帶我們了解著東軟的歷史以及東軟的發展過程,看著東軟的開發的軟體在醫學 汽車 電子琴 燈具 電腦系...
分享會收穫的人文思想
六方雲科技的董事長 任增強,cto 王智民分享會總結 1 很多人在自己的不喜歡不如意的崗位默默無聞怕苦怕累 總是認為你不給我,我為何這樣做?但其實老總在想,你沒有表現出做事情的能力,我怎麼知道你能不能做?孔子的 不在其位,不謀其徵 這也是中庸的說法,首先得表現出你又這個能力 2 做事情 先選擇,再培...