文章目錄 Pair Project (sample 2)Pair Project (sampe 3) 這是現代軟體工程課的作業結對項目 Pair Project: 一對同學用結對程式設計的方法完成 結對程式設計課件: 現代軟體工程講義 3 結對程式設計和兩人合作軟體工程講義 3 兩人合作(2) 要會做漢堡包 Pair Projecthttp://academic.research.microsoft.com/academicmap
文章目錄 Team homework #2: innovation in new application domains. 這是現代軟體工程課的作業列表, 老師可以根據情況選用, 建議要保證每周都有作業。 團隊作業 Team Homework: 適合團隊完成的作業 這些作業都要團隊的成員互相配合才能完成, 團隊可以選出一位同學完成作業的具體寫作和發部落格部分, 大家可以輪流完成。 一個團隊通常由 5-7名隊員組成,
有同學問我這個問題:“你正在做一個項目,這個項目有一項關鍵的feature需要實現,這個feature有一定的技術難度,你調試了很久,都沒找到實現的途徑,這時你已經在這個feature上花了很多時間了,而且無法預期解決需要多長時間。在這種情況下,你會怎麼做?” 一種典型失敗的情況是:第一天:我正在做一個關鍵的feature, 看起來不難,做好了會很有面子。。。第三天:就是搞不通,就這樣過了三天,其中“murphy's
很多大學裡是把軟體開發相關的專業劃入工科的,這給人一種錯覺,讓人認為軟體開發也是一個工程學科,就像土木建築,動力機械那樣。但這從根本上錯了,土木建築,動力機械的背後有確實的科學定律作為支撐,而軟體開發的背後基本上什麼都沒有,遠不是一種“科學”。也正因此,“軟體工程”的現實意義也就遠不如“土木工程”,“動力工程”。 每個人對“科學”的定義可能不同,但在這裡,我們可以做一個簡化版的定義:當有一組在限定條件下顛撲不破的定律做支撐時,相應的知識,我們可以稱之為科學,科學自身可以體現為一種確定性。比如說:
在眾多軟體相關的知識中,軟體工程絕對是很特別的一個。很多人很鄙視軟體工程,說:我一看到軟體工程的書就直接略過;與之相對應,很多人很推崇軟體工程,會花很大的心思去研究敏捷、CMMI等。剛入職場的程式員大致上是討厭軟體工程的,因為這東西離自己的實踐有點遠,並且主要是添加束縛。 但既然更加複雜紛繁的曆史都可以總結出規律,軟體開發沒道理就總結不出可以遵循的規律。也許真的事實是:並不是軟體工程沒有用,而實在是很多軟體工程的書籍理論飄的太高,落地上有困難。 軟體工程一個很大的困境在於,它總是試圖以軟體整體為
(接前一篇,繼續) 第五重:技術變化快,積累上不去 設想一下,一個10年前的高手,這10年他什麼也不學,那他今天會是什麼樣的一個狀況。 我個人估計是快被淘汰了。 這是個極端的例子,但回顧一下軟體的發展曆程你會發現,新技術的出現是爆炸式的。 在DOS的時代裡,軟硬體的距離非常近,你只要會一種語言,瞭解基本演算法和資料結構,再瞭解電腦硬體的知識,你就可以寫大部分的程式。 接下來軟體和硬體間的層次越來越多,Windows加上一層,Java虛擬機器加上一層,瀏覽器加上一層,Flash等再加上一層,
這些天晚上總是聽著音樂睡覺,可是電腦不能開一晚上啊 ,就想下載個定時關機的可沒找到自己喜歡的,就自己寫了一個用來玩的定時關機的功能比較單一,自己用不錯。呵呵主要代碼如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//關機程式調用 cmd.exe 加傳參Process.Start("cmd.exe", "/c shutdown /s /t 10"
軟體開發沉思錄--ThoughtWorks文集(china-pub首發)(來自軟體界思想領袖們的經驗心得)。看試讀的兩章:第五章充斥著狗屎,第十三章卻瑕不掩瑜。第五章的一個問題在於討論的大多數問題都是虛的:比如在Java與Ruby的比較中提到的落單方法。這樣的話題根本沒有真理可言,而作者卻毫無顧忌地認為它(沒錯,“它”)的觀點就是對的。但這還不是傷害性的;下面就這個例子說一下狗屎從何而來。仔細看Java版的isBlank函數,其中對null的判斷,對length的判斷,對每個元素(這裡是字元)是
不知道怎麼就被裝上了這個軟體, 憑心而論, 這個軟體的功能還不錯, 創意也挺好但是請你能不能不要這樣無恥啊? 請神容易送神難!!!別的什麼通用網址下載豬之類的軟體, 好歹也有一個卸載的方法, 雖然麻煩一點, 但總歸還是可以卸載掉的.可是這個垃圾的劃詞搜尋, 真TM的無恥...自己的機器不小心也感染上了, 找了一堆軟體都卸載不掉, 最後進入安全模式先徹底刪掉檔案和檔案夾, 再去註冊表裡面搜尋所有跟zsearch, wsearch, movesearch有關的項全部刪除辦公室的機器就沒這麼幸運了,
聽了北京INTETA第三次活動的講座以後,最近對一些開發過程中的品質控制相關的東西感興趣,找了NUnit、NAnt、Draco等等相關的資料看了看,雖然都沒有深入瞭解,不過對於目前公司的開發流程的改進有了一些新的想法。按照我的想法,對於我們目前的團隊規模(項目都很小,一般就是2、3個人,最多的時候是5個人),開發流程可以這樣做:需求調研:是一個重點,雖然不至於要搞得非常清楚,但是對於要實現的商務程序、客戶的具體需求是一定要搞清楚的;目前的幾個項目都在這上面吃了大虧,甚至於由於設計無法修改而推翻重
幫LP找了一個osCommerce做網上商店,給自己在家裡的機器上裝了一個Plog寫日記;都是基於PHP+MySQL的開源項目,在Windows下運行都很順利,而且都找到了簡體中文語言套件,用起來很方便。工作中還用到了TortoiseCVS、Mantis、CommunityServer等開源軟體,有些有現成的簡體中文語言套件,有些需要自己手工修改,有些則只能使用英文版的軟體(只能對原始碼進行翻譯;雖然有原始碼,但是對原始碼進行一點點的翻譯工作量太大,而且這種翻譯方法在原始碼升級後就又要重新來過)
軟體架構引言之專案管理的問題 很多朋友都有過或者正在管理一個或者多個軟體項目,那麼我的文章就從這個問題開始:如果單純從表象來說,軟體專案管理過程中暴露的最大問題是什嗎? 不同的人的會有不同的答案,但是大致這樣的答案我想大部分人都是會認可的,那就是“進度拖延”。進度拖延當然是表象之一了,其他諸如品質不過關、功能不完整等等,我覺得都是和進度拖延密切相關的。很多專案經理都想去做那些認為是十分必要的事情,比如計劃、測試等,但是“沒有時間”。為什麼會沒有時間?等到項目總結的時候,我們總會羅列出一大堆的理由
摘自:《敏捷式軟體開發 (Agile Software Development):原則、模式與實踐》 Robert C.Martin【著】,鄧輝【譯】敏捷式軟體開發 (Agile Software Development)宣言 : 個體和互動 勝過 過程和工具 可以工作的軟體 勝過 面面俱到的文檔 客戶合作 勝過 合約談判 響應變化 勝過 遵循計劃(雖然右項也具有價值,但左項具有更大的價值) 敏捷宣言遵循的12個原則:1.
"客戶說是這樣的!","客戶根本沒這個需求!"需求對程式員而言,往往猶如聖經,客戶說了,我們就要這樣做。但是,往往客戶明天就變了一幅嘴臉,原本明明說好按鈕在下面的,結果現在一定要挪到上面去,明明不需要儲存顏色的,結果現在一定要把顏色也加上。於是我們從頭改到尾,從下改到上,好不容易改完,好了,客戶明天想法又變了!怎麼辦?繼續改! 好吧,厭倦了這種可怕的生活了吧,於是我們希望應對這種問題,於是我們決定,通過設計一個完美的架構來解決問題,我們希望,當客戶需求變更的時候,只要改改配置就可以應對。客戶不是
成都某外資企業中進階軟體工程師應聘條件1: 5年以上從業經驗,其中專案管理年限不得低於1年;2: 懂日語者優先, 較強的溝通能力以及專案管理能力;3: 精通VB、VB.NET、C#, JAVA,對常用資料庫有相當的瞭解.薪水範圍: 8000-15000年底雙薪,並且每半年一次獎金.年底13薪,其他該有的都有.工作地點:成都備忘:中級軟體工程師條件可以降低.有意者請發簡曆到:jiangsir6@163.com
複雜度畫一個圓圈,圓圈裡面的部分代表你已經掌握的知識,圓圈外面是你未知的領域,圓形的線條代表目前狀態下,那些你已經認識到但還沒有被掌握的地區。結論是你掌握得越多,你所認識到未掌握的東西也越多。如果把這個比喻用於軟體開發過程,也是一個很有意思的現象:這次圓圈裡面的部分代表複雜度(且不管複雜度具體應當包括哪些,怎樣衡量),圓圈外面的部分代表風險,圓形的線條則代表項目過程中有可能遇到的風險。結論是複雜度越高,項目的風險越大。從字面意義理解複雜度,上面的結論是顯而易見的,但在具體項目中,我們卻經常因錯誤
軟體架構組織原則與模式的摘要和筆記 誰才是架構師?怎樣做好架構? 軟體架構的主要障礙往往在於組織方面而非技術。創造切實可行的軟體架構需要對技術的深入把握、良好的認知能力和溝通技巧以及大量艱苦的工作。然而,軟體架構的成功並非只是技術和優秀工程師的事情,它的成功往往依賴於資深經理、主管和實施者(此處指架構的實施者,可以理解為產品開發人員,即使用架構進行開發,實現架構價值的人)所忽略的組織因素。技術上出色的架構往往由於沒有全面的處理好組織因素而失敗。 VRAPS (Vision,
這款軟體不能完全意義上是我做的,使用的素材有DotNetBar8.3破解版,網友的仿Vista時鐘控制項,調用的天氣預報web服務先看看效果吧熟悉DotNetbar和devexpress的朋友應該對這個控制項有印象,即schedule控制項,只是我覺得Devexpress的schedule做的太霸道,而且不夠靈活,所以選擇了Dot的schedule,並且這個也更接近Ribbon風格
可維護性和可複用性是兩個獨立的目標,就像兩隻奔跑的兔子,並不總是方向一致的。對於物件導向的軟體系統設計來說,在支援可維護性的同時,提高系統的可複用是一個核心問題。軟體的維護和普通產品的維護不同,它不僅包含清除錯誤和缺陷,而且包括對已有效能的擴充,以滿足新的設計要求。軟體的維護就是軟體的再生,一個好的軟體設計必須能夠允許新的設計要求以比較容易和平穩的方式加入到已有的系統中去,從而使這個系統能夠不斷的煥發青春。導致軟體可維護性低的真正原因有四個:過於僵硬,過於脆弱,複用率低,粘稠度高。過於僵硬:很難
上次發的照片效果http://www.cnblogs.com/aowind/archive/2005/03/03/112392.htmlp