怎麼做一個軟件系統?
各種操作系統和一些各種軟件是怎麼做出來的?
在C語言發明之前,所有程序都是用匯編語言寫的。世界上第一個操作系統是Unix,最早版本的Unix就是用匯編語言寫的。但是,眾所周知,彙編語言難度大,不好掌握,因此編程是很難普及的。而且,當對系統的需求日益增加時,完全用匯編語言編寫程序已經變得非常耗時費力了。所以,貝爾貳驗室的科學家對發明了另一種編程語言-----B語言,也是C語言的前身,再經過了一段時間後,C語言被創造出來並得到逐步完善,之後的Unix系統也使用C語言重寫了。從C語言的發展歷史你就可以看出為什麼在開發底層軟件的時候C語言能夠表現得如魚得水了。比如微軟的windows 3.0以前的版本都是用C語言開發出來的,到後來C++出現後才得到進一步的加強,從而誕生了Windows 9x.........
一些應用程序都是怎麼做的?
如果你喜歡編一些小程序,或者進行文件交流,為你的程序或文件製作一個安裝程序可以為使用者提供很大的方便,同時也提高了軟件的製作水準。一般來說,使用專業的應用程序製作工具,如InstallShield製作應用程序安裝文件是比較複雜的,一般用戶也難以做到。最近,筆者在網上找到一個容量極小,適用簡單,但是功能卻非常強大的Win 95/98/NT應用程序製作工具CreateInstall,試用一下感覺非常好,在此願推薦給大家。
CreateInstall非常小,但是程序提供的功能卻很全面,通過該工具,我們可以創建基於Win 95/98環境使用應用程序安裝文件,該文件同時提供反安裝功能,程序提供安裝程序的背景界面設計、提供各種標題欄/標題設計、提供創建應用程序組功能、提供版權限時功能、提供安裝完成之後運行應用程序功能、提供向系統註冊表添加鍵值及主鍵功能、提供向Windows的安裝路徑複製文件功能等等,非常全面。對於安裝文件,程序提供14種語言界面供選擇,可以滿足不同語言平臺用戶使用。對於應用程序安裝製作,程序提供創建Install.exe文件,及對應用程序進行分卷壓縮打包功能,便於存儲於不同的載體中。可見應用程序安裝需要的設置它都提供了,而且使用效果也會很好的。
CreateInstall只有一個主界面,程序的所有設置均在此界面中進行,使用起來非常簡便,由於將不同的功能設置分別設計到不同的標籤項中,界面顯得很直觀。以下筆者給出使用該工具製作應用程序安裝文件的具體步驟,供您參考。
1. 將需要安裝的應用程序複製到臨時工作路徑。啟動CreateInstall,此時程序給出Main標籤項。單擊程序界面菜單條中的Project / New Project命令,表示要創建一個新的工作項目。在關聯的對話框中設置新的項目名,擊回車鍵確認;
2. 在Main標籤項中的“Source Directory"文本框中鍵入需要安裝的應用程序保存路徑,在“Destination Directory"文本框中鍵入由該工具製作的應用程序安裝文件的保存路徑,如果需要在安裝完成之後運行應用程序(並不一定是程序中的文件),可選擇“Run after Installation"項中的Yes複選框,然後在關聯文本框中設置需要運行的文件名;
3. 切換到General標籤項,在“Window Title"文本框中設置應用程序名、在“Default Path"文本框中設置默認安裝路徑,如果你不希望安裝者修改這個路徑,可選擇使用“Default path can‘t be changed"複選框、在“Setup Language"下拉文本框中選擇安裝界面語言、在“Volume Size"項中設置打包分卷文件容量、在“Executable Filename"文本框中設置安裝文件名,如果你希望使用具有自擴展功能的應用程序打包格式,可選擇使用“Self-extracting archive"複選框,如果希望在安裝結束後,自動關閉程序安裝窗口,可選擇使用“Automatic closing setup"複選框;
怎樣做一個GHOST的系統,自己在裡面加一些自己想要的軟件
這個我也想學。下面是我在網上找的,你看好不好用
本篇是製作萬能Ghost系統最的基礎教程。製作出來的萬能Ghost系統鏡像文件,可以恢復到絕大多數的計算機上使用,對於經常裝機的朋友,可以給自己帶來極大的方便。
一、準備工作
1、準備所需工具軟件
※ S&R&S_V9.5.1118 智能系統封裝工具
※ DEPLOY.CAB(在系統安裝光盤:/SUPPORT/TOOLS目錄下自帶)
※ Ghost_v8.0 & v8.2(v8.0以上版本才能夠支持NTFS分區)
※ Windows2K/XP/2003系統安裝光盤(推薦使用免激活的版本)
※ DllCacheManager_V1.0(龍帝國專用版)Dllcache備份還原工具
2、安裝操作系統
正常安裝操作系統並打好系統安全補丁(一定要安裝到C盤,不能安裝到其他分區,除非你是整個硬盤Ghost)。操作系統可選擇FAT32和NTFS兩種文件格式進行安裝,建議採用FAT32文件格式(不要偷懶一定要完全格式化,防止磁盤有壞區),因為Ghost對FTA32的壓縮率更大一些,可以減小製作後的備份文件體積。再一個是FTA32格式在恢復後還可以轉換為NTFS,而NTFS轉換成FTA32的話就比較麻煩,因此採用FAT32文件格式較為靈活一些。當然認真讀過MS的FAT與NTFS、NTFS與Convert NTFS區別的就應該知道,"原生"的NTFS比轉換的NTFS在性能與文件碎片上更具有優勢,因此也建議注重性能者採用NTFS文件格式進行安裝操作系統(" 原生"是指直接用NTFS文件格式進行格式化的分區,而不是通過Convert轉換的)。
對於Windows XP,製作萬能克隆時的一個重要問題就是系統激活,因為Windows XP為了防止盜版,採取了激活機制,當硬件發生改變時,系統就會要求重新激活,所以建議使用不需要激活的Windows XP版本,如大企業授權版本等。
3、安裝應用軟件
安裝註冊並設置好你所需要的應用軟件,如:Office、Winrar等。
注:由於使用sysprep重新封裝系統後,在恢復安裝時系統將把輸入法的相關設置還原到系統默認狀態,封裝前新安裝的輸入法將不在語言欄的列表裡顯示,需手動再次添加。為此WindowsXP的系統可在系統封裝前作以下設置:打開控制面板,雙擊“區域和語言選項”,選擇“高級”,在“默認用戶帳戶設置”框下選中“將所有設置應用於當前用戶帳戶和默認用戶配置文件”,然後點“確定”,這樣語言欄的輸入法相關設置就添加到系統的默認配置文件中了。重新封裝系統後,在恢復安裝時就可使新安裝的輸入法自動添加到語言欄的輸入法列表裡了。
4、安裝S&R&S_V9.5.1118 智能系統封裝工具
雙擊 S&R&S_V9.5.1118 智能系統封裝工具,一路“下一步”就可以了,它會自動在當前系統分區根目錄創建sysprep文件夾。然後把系統安裝光盤/SUPPORT/TOOLS目錄裡的DEPLOY.CAB文件解壓拷貝到sysprep文件夾裡即可(這個目錄和目錄裡的文件在系統封裝後第一次啟動安裝完成時會自動刪除)。
5、安裝DllCacheManager_V1.0(龍帝國專用版)Dllcache備份還原工具(可選)
解壓DllCacheManager.rar文件,然後把DllCacheManager.exe、ZProgBar.ocx兩文件拷貝到%syste......
如何做好軟件系統的架構設計
軟件架構設計的目的 對於外包業務類型的項目,軟件架構設計的目的與產品類型的項目有所不同,在這裡主要討論外包類型項目的軟件架構設計目的。 1、為大規模開發提供基礎和規範,並提供可重用的資產,軟件系統的大規模開發,必須要有一定的基礎和遵循一定的規範,這既是軟件工程本身的要求,也是客戶的要求。架構設計的過程中可以將一些公共部分抽象提取出來,形成公共類和工具類,以達到重用的目的。 2、一定程度上縮短項目的週期,利用軟件架構提供的框架或重用組件,縮短項目開發的週期。 3、降低開發和維護的成本,大量的重用和抽象,可以提取出一些開發人員不用關心的公共部分,這樣便可以使開發人員僅僅關注於業務邏輯的實現,從而減少了很多工作量,提高了開發效率。 4、提高產品的質量,好的軟件架構設計是產品質量的保證,特別是對於客戶常常提出的非功能性需求的滿足。 軟件架構設計的原則 軟件架構設計必須遵循以下原則: 1、滿足功能性需求和非功能需求。這是一個軟件系統最基本的要求,也是架構設計時應該遵循的最基本的原則。 2、實用性原則,就像每一個軟件系統交付給用戶使用時必須實用,能解決用戶的問題一樣,架構設計也必須實用,否則就會“高來高去”或“過度設計”。 3、滿足複用的要求,最大程度的提高開發人員的工作效率。 軟件架構設計的幾種視圖 我們常常在討論架構設計該做些什麼的時候,或是在架構設計評審的會議上,會提出各種各樣的問題,例如開發人員該如何記錄Log,事務如何控制?怎樣才能提高我們的開發人員的工作效率,即在單位時間內更有品質的完成更多的功能?怎樣滿足客戶的非功能性需求?怎樣讓生產環境的平臺管理人員更好的維護系統? 上面這些問題,實際上是軟件系統的不同的干係人站在不同的角度上提出的問題,要回答上面這些問題,我們就得從不同的視角來看待軟件架構設計這項工作。 1、邏輯架構視角,從系統用戶的角度考慮問題,設計出來的軟件架構能夠滿足業務邏輯的需求,能夠處理現在越來越複雜的業務邏輯需求。 2、開發架構視角,從系統開發人員的角度來考慮問題,設計的架構要易於理解,易於開發,易於單元測試,最好做到讓開發人員可以用最少的代碼行數完成功能的開發。 3、運行架構視角,從系統運行時的質量需求考慮問題,特別關注於系統的非功能需求,客戶常常都會要求我們系統的功能畫面的最長響應時間不超過4秒,能滿足2000個用戶同時在線使用,基於角色的系統資源的安全控制等。 4、物理架構視角,關注系統安裝和部署在什麼樣的環境上,例如現在最流行的企業應用服務解決方案IBM Http Server + WebSphere Application Server + DB2,WebLogic + Oracle等。 5、數據架構視角,如今我們開發的各類系統,如MIS,ERP,SAP,基本上都是對各類數據的操作,把一堆不太好懂的數據展現成用戶容易看懂的數據,自動處理各類數據的運算等,所以數據的持久化是十分重要的一件事情。1、分析需求和理解業務模型(或領域建模),並選定關鍵Use case。 軟件的需求,可以分為從用戶視角和開發人員視角來看,從用戶的角度看,又可以分為功能性和非功能性需求,我們必須從不同的視角和級別去全面的認識需求並分析需求,理解業務模型。實踐表明,常常被我們忽視的非功能性需求常常會導致整個項目失敗。 理解業務需求最好的方式莫過於進行領域建模,領域建模與需求分析往往是交替穿叉進行的,領域建模主要有以下三個方面的作用:......
軟件設計的基本步驟是什麼
軟件開發是指一個軟件項目的開發,如市場調查,需求分析,可行性分析,初步設計,詳細設計,形成文檔,建立初步模型,編寫詳細代碼,測試修改,發佈等。
軟件是怎麼樣開發出來的
第一個步驟是市場調研,技術和市場要結合才能體現最大價值。
第二個步驟是需求分析,這個階段需要出三樣東西,用戶視圖,數據詞典和用戶操作手 冊。
用戶視圖 是該軟件用戶(包括終端用戶和管理用戶)所能看到的頁面樣式,這裡麵包含了 很多操作方面的流程和條件。
數據詞典 是指明數據邏輯關係並加以整理的東東,完成了數據詞典,數據庫的設計就完成了一半多。
用戶操作手冊是指明瞭操作流程的說明書。
請注意,用戶操作流程和用戶視圖是由需求決定的,因此應該在軟件設計之前完成,完成這些,就為程序研發提供了約束和準繩,很遺憾太多公司都不是這樣做的,因果顛倒,順序不分,開發工作和實際需求往往因此產生隔閡脫節的現象。
需求分析,除了以上工作,筆者以為作為項目設計者應當完整的做出項目的性能需求說明 書,因為往往性能需求只有懂技術的人才可能理解,這就需要技術專家和需求方(客戶或公司市場部門)能夠有真正的溝通和了解。
第三個步驟是概要設計,將系統功能模塊初步劃分,並給出合理的研發流程和資源要求。
作為快速原型設計方法,完成概要設計就可以進入編碼階段了,通常採用這種方法是因為涉及的研發任務屬於新領域,技術主管人員一上來無法給出明確的詳細設計說明書,但是 並不是說詳細設計說明書不重要,事實上快速原型法在完成原型代碼後,根據評測結果和 經驗教訓的總結,還要重新進行詳細設計的步驟。
第四個步驟是詳細設計,這是考驗技術專家設計思維的重要關卡,詳細設計說明書應當把 具體的模塊以最’乾淨’的方式(黑箱結構)提供給編碼者,使得系統整體模塊化達到最 大;一份好的詳細設計說明書,可以使編碼的複雜性減低到最低,實際上,嚴格的講詳細 設計說明書應當把每個函數的每個參數的定義都精精細細的提供出來,從需求分析到概要 設計到完成詳細設計說明書,一個軟件項目就應當說完成了一半了。換言之,一個大型軟 件系統在完成了一半的時候,其實還沒有開始一行代碼工作。
那些把作軟件的程序員簡單理解為寫代碼的,就從根子上犯了錯誤了。
第五個步驟是編碼,在規範化的研發流程中,編碼工作在整個項目流程裡最多不會超過1/ 2,通常在1/3的時間,所謂磨刀不誤砍柴功,設計過程完成的好,編碼效率就會極大提 高,編碼時不同模塊之間的進度協調和協作是最需要小心的,也許一個小模塊的問題就可能影響了整體進度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發過程中都 出現過。
編碼時的相互溝通和應急的解決手段都是相當重要的,對於程序員而言,bug永 遠存在,你必須永遠面對這個問題,大名鼎鼎的微軟,可曾有連續三個月不發補丁的時候 嗎?從來沒有!
第六個步驟是測試
測試有很多種:
按照測試執行方,可以分為內部測試和外部測試
按照測試範圍,可以分為模塊測試和整體聯調
按照測試條件,可以分為正常操作情況測試和異常情況測試
按照測試的輸入範圍,可以分為全覆蓋測試和抽樣測試
以上都很好理解,不再解釋。
總之,測試同樣是項目研發中一個相當重要的步驟,對於一個大型軟件,3個月到1年的外部測試都是正常的,因為永遠都會又不可預料的問題存在。
完成測試後,完成驗收並完成最後的一些幫助文檔,整體項目才算告一段落,當然日後少不了升級,修補等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟件的運營 狀況並......
怎樣才能做好一個軟件系統實施人員呢
我覺得是你對系統熟悉度膽夠,只要你跟客戶聊到自己的系統,能夠滔滔不絕,能夠給他繪畫可信的藍圖,足夠。這就是口才。
怎麼樣才能成為一個軟件工程師開發高手
信息技術的發展時間雖然不長,但其爆炸式的發展速度使信息技術迅速覆蓋社會和人類生活的各個角落。程序員們是這場信息化浪潮的見證者之一,更是其中的主要參與者,這是時代賦予每個程序員的機會和責任。
信息技術的更新速度是驚人的,程序員的職業生涯則是一個要求不斷學習的過程,永遠不能固步自封。本人在工作期間曾看見過很多程序員只要有閒暇時間就瀏覽一些沒有太大作用的網頁,在網上聊天,打遊戲,浪費了大量的時間,十分不可取。而另外一種情況是,IT技術的日新月異使很多程序員眼花繚亂,什麼都想學,卻又不知從何學起,今天看看這個,明天學學那個,貪多不熟。
雖然IT技術發展迅速,但很多技術都是有規律可循,一些基本的概念、原理和方法還很通用,可以舉一反三。本人根據自己的體會和經驗,向那些剛剛踏入IT行業的新程序員們或正在迷茫的程序員們推薦程序員必須掌握的七種武器,有了這七種武器,雖不敢說笑傲江湖,但將自己立於不敗之地還是可以的。
第一種武器:開發工具
至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結合是JAVA的優勢所在,而本人對SUN公司的“網絡即計算機”的概念相當欣賞,並相信JAVA即其相關的技術集JAVA One會成為未來的主流開發工具之一。其次,如果能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
第二種武器:數據庫
為什麼數據庫是如此重要?很多應用程序都是以數據庫的數據為中心,而數據庫的產品也有不少,其中關係型數據庫仍是主流形式,所以程序員至少熟練掌握一兩種數據庫,對關係型數據庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多數據庫產品提供了可視化的數據庫管理工具,但SQL是基礎,是通用的數據庫操作方法。如果沒有機會接觸商業數據庫系統,可以使用免費的數據庫產品是一個不錯的選擇,如mySQL, Postgres等。
第三種武器:操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入瞭解操作系統,瞭解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平臺,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的瞭解後,你會發現自己上了一個新的臺階。
第四種武器:網絡協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網絡技術已改變了軟件運行的模式,從最早的客戶/服務器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網絡協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/......
怎麼製作一個U盤做系統的工具
把GHOST系統放在U盤或者電腦硬頂中,用軟件諾頓Ghost,來安裝系統或者把系統的備份ghost鏡像恢復到之前電腦的C盤裡。
怎樣做一個管理系統 需要用什麼軟件,例如圖書館管理系統。。。
SqlServer2000和C# 來做。到圖書館找圖書,或到網站中找源代碼來弄,快捷方便。參考人家的,然後成為自己的。