昨天表了一篇文章《軟體開發關鍵字:整合和複用》。關於整合和複用,是有一些交集的。今天繼續這個話題。不過題目變了一下。 以複用的思路指導開發:1、構建系統的時候,把多個子系統系統的交集部分抽象出來,作為系統的基礎設施,為多個子系統提供服務。我們公司是從事企業語音系統開發,包括調度系統,會議系統,話務中心系統等。這幾個子系統的交集,典型的比如企業通訊錄,計費,通訊記錄,網管,都可以單獨抽象出來做為基礎設施為各個子系統提供服務。2、在構建程式的時候,可以將能夠複用的模組以庫的形式抽象出來。比如,軟交
關於開發架構,我有一些個人的看法,不知到怎麼樣。對於軟體開發,我經常會和印刷術進行類比,從印刷術的發展中,也許可以得到對軟體開發的一些有價值的思路。印刷從剛開始的手抄,後來技術進步了,到石碑印刷,雕版印刷,提高複用性。在到後來的活字印刷術,再到現代的更先進的印刷術(不知道怎麼稱呼了)。軟體開發技術的發展曆程和印刷術的發展曆程是非常相像的。我認為,我們現在處理“活字印刷術”記得,代表性的技術比如有:SCA,OSGI等。我把活字理解為我們現在討論的組件,或者服務。開發架構對應以前把一個個活字組織起來
1.1.1 自頂向下和自底向上自頂向下的設計者可能會首先考慮主事件迴圈,然後在考慮插入具體的事件;自底向上設計者通常會考慮封裝具體的事務,以後再按照某種相關次序把這些東西粘合在一起。單純的使用自底向上和自頂向下都無法達到好的效果。一方面設計程式邏輯(自頂向下),一方面整理底層的域原語(專業術語),然後在中間結合。這樣就導致了膠合層的出現。1.1.2
“雞肋——食之無味,棄之可惜”,軟體開發過程文檔遭遇了雞肋一樣的境遇。目前敏捷式軟體開發 (Agile Software Development)過程非常流行。相對於軟體開發過程文檔,敏捷式軟體開發 (Agile Software
小巧銳利工具的Unix教義隱藏著二重性:架構的存在。吝嗇原則:只有實證了其他方式行不通時才寫龐大程式。要對龐大程式保持一種嚴謹懷疑態度以及一種謹慎的策略和方法:首先尋找小巧程式的解決方案。如果單個小程式無法完成工作,嘗試在現有架構結構內構造一個協作小程式工具包來解決問題。如果兩者都失敗了,才可以自由的構建一個巨型的程式或者一個新的架構,而不會覺得已經完敗於設計挑戰。當編製一個架構時,牢記分離原則。架構是機制,儘可能少的包含策略。在多數情況中,根本不需要策略。儘可能多的將行為分解到使用架構的模組中
Linux查看系統資訊的一些命令及查看已安裝軟體包的命令(轉)文章分類:作業系統系統# uname -a # 查看核心/作業系統/CPU資訊# head -n 1 /etc/issue # 查看作業系統版本# cat /proc/cpuinfo # 查看CPU資訊# hostname # 查看電腦名稱# lspci -tv # 列出所有PCI裝置# lsusb -tv #
軟體產品的終極目標是為了實現使用者需求從而滿足人們的需要。也正是為了不斷滿足人們的需要使得軟體行業不斷向前發展。比如,新的演算法(MPEG-1、MPEG-2、MPEG-4、H.264、……)等的出現都在當時為了滿足不同的需要而被發明。然而,人們的需要(行業發展的外部動力)卻並非是軟體技術發展的唯一驅動力,因為它無法解釋為什麼業內的程式設計語言、軟體平台與架構等會層出不窮,有的甚至給人“重新發明輪子”的感覺。如何判斷“新輪子”的確是必要的呢?這與本文想重點關注的另外三大驅動力有關,重點關注它們的原
大體上,我將軟體外包的形式分成三種。第一種形式是外資企業在華等低成本國家成立新的研發中心。研發中心雖然名譽上是總部的分枝機構,但所從事的研發工作通常不會是高精尖的內容。很顯然,由於所設定的分公司在公司制度和企業文化上完全採用總部的,因而這種外包形式在軟體的品質控制上能與總公司的完全符合。可以想象,這種外包形式的成本相當的高昂。第二種軟體外包形式是人員外包。即外包公司出人蔘與到合約公司(即僱用外包公司的公司)的項目中,除了外包人員的薪資由外包公司承擔外,外包人員在軟體項目的參與形式與合約公司的正式
最近,我在微博上看到@程式員鄒欣老師發的一條微博 — “不少大學同學都有一個想法:先做幾年技術,然後做管理;也有一些同學說:我技術不行,希望直接找到一個管理的工作,就像PM那樣。請看 PM 需要什麼樣的能力:(連結略去)”。在讀這條微博的前一部分內容時,我的第一反應是:難道同學們以為做技術管理不需要很好的技術功底?剛好在此之前,我寫過《技術敏感度 —
軟體安全性測試是保證軟體能夠安全使用的最主要的手段,如何進行高效的安全性測試成為業界關注的話題。多年的安全性測試經驗告訴我們,做好軟體安全性測試的必要條件是:一是充分瞭解軟體安全性漏洞,二是擁有高效的軟體安全性測試技術和測試載入器。一:安全主要漏洞與測試方法分析 軟體安全保證的主要目的就是為了防止駭客或者惡意的內部人員對軟體進行攻擊,並保證軟體在受到惡意攻擊的情況能夠正常運行。而攻擊者主要是通過對軟體系統輸入惡意的資料來進行攻擊。因此,軟體主要的安全問題來源於外部的輸入資料。開放性WEB應用項
閑暇之日,捧起Pete McBreen的Software
一 角色與分工人類絕大多數的工程都包括這樣幾個角色:設計者,實現者,檢查者。實際對應就是的就是一般工程的三個階段:設計--->實現--->驗收。在遊戲軟體工程中對應的是:策劃,程式,美工,QA,程式和美工同屬於實現者。 二
我最後也成為了一個老員工了,我也由於個人發展原因跳了槽。天下沒有不散的筵席。我又作為一個新人來到了一個新的環境中,要面臨一個我未知的辦公室潛規則,要置身於一個我還沒有瞭解的利益集團中。 這次我是嫻熟的老員工。 1公司所有人的連絡方式要到 2每個部門的頭都短期內認識了。認識方法就是吃飯 3現有產品深刻使用操作了一遍,發現了問題,也知道了現狀,也知道了未來如何改進 4現有客戶,現有正在跟單的項目情況
@page { margin: 2cm }P { margin-bottom: 0.21cm }-->資料名稱Transparency:Let There Be Light作者EricS.Raymond 作者單位 出處TheArt of UNIX
WinRunner 8.0 企業級測試載入器下載 http://www.verycd.com/topics/56939/ 約190M QuickTest Pro 8.2 中文版 強大測試載入器下載 http://www.verycd.com/topics/56964/ 約250M QACenter--軟體黑箱測試工具Compuware的QACenter家族整合了一些強大的自動工具,這些工具符合大型主機應用的測試要求,使開發組獲得一致而可靠的應用效能。 約500M IBM Rational
在部落格軟體工程首頁上看到了鄧永慶的一文,《Joel vs Bob, 敏捷其實很無聊》,讀後正和我現在的理解相近,實用才是最重要的。我最近也一直在學習敏捷開發,買了《敏捷式軟體開發 (Agile Software Development)
架構師的職責架構師需要參與項目開發的全部過程,包括需求分析、架構設計、系統實現、整合、測試和部署各個階段,負責在整個項目中對技術活動和技術說明進行指導和協調。架構師主要職責有4條:1、確認需求在項目開發過程中,架構師是在需求規格說明書完成後介入的,需求規格說明書必須得到架構師的認可。架構師需要和分析人員反覆交流,以保證自己完整並準確地理解使用者需求。2、系統分解依據使用者需求,架構師將系統整體分解為更小的子系統和組件,從而形成不同的邏輯層或服務。隨後,架構師會確定各層的介面,層與層相互之間的關係
任何一個軟體,都不可能完全滿足所有使用者的需求,為此,我們必須經常修改我們的程式,隨著使用者的數量的增加,我們會感覺很累,儘管我們的程式增加了很多可以配置的功能,但是還不夠,使用者的需求總在變化,我們無法阻擋,我們不可能將程式中所有的環節都設定為可改變的。是否有一個好的辦法,可以減輕一下開發人員的負擔,二次開發是一個很好的選擇。很多人都知道,AutoDesk是一個著名的CAD軟體公司,AutoCAD是其最著名的產品之一,該軟體在世界各地的應用非常普及,除了產品本身的易用性和適應性之外,軟體本身具
1、軟體安裝卸載,分幾種情況:A:RPM包,這種軟體包就像windows的EXE安裝檔案一樣,各種檔案已經編譯好,並打了包,哪個檔案該放到哪個檔案夾,都指定好了,安裝非常方便,在圖形介面裡你只需要雙擊就能自動安裝。==如何卸載:1、開啟一個SHELL終端2、因為Linux下的軟體名都包括版本號碼,所以卸載前最好先確定這個軟體的完整名稱。尋找RPM包軟體:rpm -qa
軟體版本尾碼Beta,RC,Demo,Build等代表的含義版本號碼:V(Version):即版本,通常用數字表示版本號碼。(如:EVEREST Ultimate v4.20.1188 Beta )Build:用數字或日期標示版本號碼的一種方式。(如:Vista最佳化大師 Build 071112)SP:Service Pack,升級包。(如:Windows XP SP 2/Vista SP