軟件:(SoftWare)是一系列按照特定順序組織的計算機數據和指令的集合。前端
1、軟件由三部分構成:程序(計算機程序)、文檔、數據程序員
2、軟件分類:數據庫
一、按應用程序分類:系統軟件、應用軟件瀏覽器
系統軟件:是負責管理計算機系統中的各類獨立的硬件,使得它們之間能夠協調工做。安全
1)操做系統:是管理計算機硬件與軟件資源的程序,是直接運行在「裸機」上最基本的系統軟件。服務器
操做系統發展:早期-->DOS操做系統-->操做系統新時代(Windows、Unxi、Xenix、OS/2)-->今日(Windows、Linux、Unix)微信
2)支撐軟件:支撐各類軟件的開發和維護的軟件,又稱爲開發環境。網絡
注意:計算機首先要裝系統軟件才能安裝應用軟件。架構
應用軟件:爲了某種特定的用途而被開發的軟件。市面上大多數軟件都是應用軟件(QQ、微信、淘寶、各類遊戲等)框架
二、按軟件架構形式分類:C/S架構、B/S架構、移動端APP
C/S結構:即Client/Server(客戶機/服務器)結構,是你們熟知的軟件系統體系結構,經過將任務合理分配到Client端和Server端,下降了系統的通信開銷,能夠充分利用兩端硬件環境的優點。早期的軟件系統多以此做爲首選設計標準。電腦上的QQ軟件就屬於C/S架構。
B/S結構:即Browser/Sever(瀏覽器/服務器)結構,是隨着Intrenet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶界面徹底經過WWW瀏覽器的實現,一部分事務邏輯在前端實現,可是主要事務邏輯在服務器端實現,造成3-tier結構。B/S結構,主要是利用了不斷成熟的WWW瀏覽器技術,結合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術,用通用瀏覽器就實現了原來須要複雜專用軟件才能實現的強大功能,並節約了開發成本,是一種全新的軟件系統構造技術。隨着Windows98/Windows 2000將瀏覽器技術植入操做系統內部,這種結構更成爲當今應用軟件的首選體系結構。淘寶、京東等官網就屬於B/S架構。
手機上的淘寶APP(移動端)APP結合了C/S和B/S的優勢,一般有HTML5和軟件框架構成。
B/S架構與C/S架構的區別
一、硬件環境不一樣:
C/S 通常創建在專用的網絡上, 小範圍裏的網絡環境, 局域網之間再經過專門服務器提供鏈接和數據交換服務.
B/S 創建在廣域網之上的, 沒必要是專門的網絡硬件環境,例與電話上網, 租用設備. 信息本身管理. 有比C/S更強的適應範圍, 通常只要有操做系統和瀏覽器就行
二、對安全要求不一樣 :
C/S 通常面向相對固定的用戶羣, 對信息安全的控制能力很強. 通常高度機密的信息系統採用C/S 結構適宜. 能夠經過B/S發佈部分可公開信息.
B/S 創建在廣域網之上, 對安全的控制能力相對弱, 面向是不可知的用戶羣.
三、對程序架構不一樣:
C/S 程序能夠更加註重流程, 能夠對權限多層次校驗, 對系統運行速度能夠較少考慮.
B/S 對安全以及訪問速度的多重的考慮, 創建在須要更加優化的基礎之上. 比C/S有更高的要求 B/S結構的程序架構是發展的趨勢, 從MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持網絡的構件搭建的系統. SUN 和IBM推的JavaBean 構件技術等,使 B/S更加成熟.
四、軟件重用不一樣:
C/S 程序能夠不可避免的總體性考慮, 構件的重用性不如在B/S要求下的構件的重用性好.
B/S 對的多重結構,要求構件相對獨立的功能. 可以相對較好的重用.就入買來的餐桌能夠再利用,而不是作在牆上的石頭桌子
五、系統維護不一樣 :
系統維護是軟件生存週期中,開銷大, -------重要
C/S 程序因爲總體性, 必須總體考察, 處理出現的問題以及系統升級. 升級難. 多是再作一個全新的系統
B/S 構件組成,方面構件個別的更換,實現系統的無縫升級. 系統維護開銷減到最小.用戶從網上本身下載安裝就能夠實現升級.
六、處理問題不一樣:
C/S 程序能夠處理用戶面固定, 而且在相同區域, 安全要求高需求, 與操做系統相關. 應該都是相同的系統
B/S 創建在廣域網上, 面向不一樣的用戶羣, 分散地域, 這是C/S沒法做到的. 與操做系統平臺關係最小.
七、用戶接口不一樣
C/S 可能是創建的Window平臺上,表現方法有限,對程序員廣泛要求較高
B/S 創建在瀏覽器上, 有更加豐富和生動的表現方式與用戶交流. 而且大部分難度減低,減低開發成本.
3、軟件開發的流程:
瞭解客戶需求-->根據客戶需求編寫SRS(需求規格說明書)-->依據SRS設計和開發軟件
4、軟件的生命週期:
一、調研階段:軟件開發方調研市場需求,需求方共同討論,肯定軟件的開發目標和可行性。
二、需求分析階段:在肯定軟件開發可行的狀況下,對軟件需求實現的各個功能進行詳細分析。需求分析是個很重要的階段,這個階段直接影響到後面的軟件開發階段,作好需求分析能爲下階段的軟件開發打下良好的基礎。
三、軟件設計階段:依據需求分析的結果,對軟件系統進行設計(整體設計與詳細設計)。好的軟件設計將爲軟件編碼階段打下良好的基礎。
四、編碼開發階段:此階段是將軟件設計的結果轉換成計算機可運行的程序代碼。
五、軟件測試階段:在軟件設計並編碼完成後,對軟件進行嚴密的測試,以確保軟件符合客戶的全部需求。
六、軟件上線發佈:在軟件測試工做完成後,發佈軟件交與客戶使用。
七、軟件運行維護階段:此階段是軟件生命週期中持續時間最長的階段。軟件上線發佈供客戶使用後,因爲多方面緣由,軟件不知足用戶的需求,要延續軟件的使用壽命,就必須對軟件進行維護(糾錯性維護和改進性維護)
八、軟件下線:軟件與市場上其餘軟件相互競爭失去優點時,會逐漸失去用戶,逐漸失去市場佔有率的時候,就會被市場所淘汰,從而面臨下線。
5、實現一個軟件的功能的基本步驟
一、準備好硬件(電腦)。
二、準備好乾淨無毒的、最低配置符合基本要求的操做系統。
三、安裝和配置服務器軟件,把軟件開發包放到服務器指定的地方。
四、安裝和配置數據庫軟件
五、進行基本的瀏覽器等配置
軟件工程師:通常指從事軟件開發職業的人。