軟體工程的定義和分類
什麼是軟體?
軟體是計算機系統中與硬體相互依存的一部分,它是包括程式,資料和文件的集合。
特點:
(1)抽象性,是一種邏輯實體,不是具體的物理實體。
(2)沒有明顯的製造過程
(3)沒有磨損老化現象
(4)對於系統有著不同程度的依賴性
(5)尚未完全擺脫手工藝的開發方式
(6)本身是複雜的
(6)成本相當昂貴.
軟體的分類
系統軟體
1.作業系統
2資料庫管理程式
3.通訊處理程式
支撐軟體
- 文字編輯程式
- 檔案格式化
- 程式庫系統
應用軟體
- 商業處理
- 計算軟體
,,,,,,,
工作方式分
實時處理軟體:必須立刻響應和處理,並且返回訊號
分時軟體:
互動式軟體:人機通訊
批處理軟體:輸入的作業按照輸入的順序排隊輪流執行
軟體的服務物件
專案軟體:接受特定客戶的委託有軟體開發機構在合同的約束下開發的軟體。不以盈利為目的
產品軟體:軟體開發機構開發以後推向市場,以盈利為目的
發展的階段
程式設計階段50~60年代 機器語言或者組合語言,手工操作沒有文件
程式系統階段60~70年代 作坊式開發,程式加說明階段
軟體工程階段70年代以後 產品規範法,標準化
相關推薦
軟體工程的定義和分類
什麼是軟體? 軟體是計算機系統中與硬體相互依存的一部分,它是包括程式,資料和文件的集合。 特點: (1)抽象性,是一種邏輯實體,不是具體的物理實體。 (2)沒有明顯的製造過程 (3)沒有磨損老化現象 (4)對於系統有著不同程度的依賴性 (5)尚未完全擺脫手工藝的開發方式 (6)本身是複雜的
軟體工程定義及發展過程
定義: 軟體工程一直以來都缺乏一個統一的定義,很多學者、組織機構都分別給出了自己的定義: BarryBoehm:運用現代科學技術知識來設計並構造計算機程式及為開發、執行和維護這些程式所必需的相關檔案資料。 IEEE:在軟體工程術語彙編中的定義:軟體工程是:1.將系統化的、嚴格
計算機網路的定義和分類
這學期上了計算機網路這門課,上完之後感慨頗多,因為這門課非常有用,對於以後接觸的網路各層次都有了更深入的理解。總結是一個很好的習慣,所以在這裡總結一下所學的比較重要的東西吧,方便以後查閱。部落格裡面圖片來自《計算機網路(第五版)》 清華大學出版社,以及老師上
數據冗余的定義和幾大分類
靈敏度 嚴重 利用 分數 感受 大型 沒有 數據恢復軟件 序列 數據冗余的含義和用途 把視頻和音頻信號數字化了之後,數據量大的驚人,因此,若存儲大量的圖像和音頻信息需要大大提高系統的存儲容量,通常解決的方法是采用大容量磁盤或光盤,但這僅僅是解決海量存儲的一個辦法,而數據冗余
軟體工程學習筆記《三》程式碼優化和效能測試
如何在開源社群提問? 如果你提問沒有人回答!那麼是不是沒有人會呢?其實不然!可能你提問的方式本身就是不對的,我們來看看大牛是怎樣提問的?一起來學一下 https://github.com/seajs/seajs/issues/545 程式碼審查 程式碼優化
軟體工程課堂練習作業—二維整數陣列中最大子陣列的和
這次的課堂練習是要返回一個二維陣列中最大子陣列的和。 (一):要求:輸入一個二維整型陣列,數組裡要有正數也有負數。 二維陣列中連續的一個子矩陣組成一個子陣列,每個子陣列都有一個和。 求所有子陣列的和的最大值。要求時間複雜度為O(n)。 結對程式設計要求: 兩人結對完成程式設
軟體工程之概念篇(軟體分類及發展,軟體工程的過程PDCA,生命週期模型)
終於開啟了軟體工程的學習,因為剛剛自看完《軟體開發工具》這本書,發現視訊的前兩講內容跟軟體開發工具的內容有很多重複,感覺很熟悉,上手很輕鬆,今天來分享一下前兩講的內容。 第一講:軟體的概述 第二、三講:軟體工程的概述 生存
資料冗餘的定義和幾大分類
資料冗餘的含義和用途 把視訊和音訊訊號數字化了之後,資料量大的驚人,因此,若儲存大量的影象和音訊資訊需要大大提高系統的儲存容量,通常解決的方法是採用大容量磁碟或光碟,但這僅僅是解決海量儲存的一個辦法,而資料冗餘的作用就是將額外的資料或資料資訊儲存在一個獨立的硬碟上,來防止資料丟失,下面詳解什麼是資料冗餘?有
軟體工程(三)——敏捷開發和理解需求
筆者正在學習《軟體工程-實踐者的研究方法》這本書,記錄下一些讀書筆記,共勉! 1.敏捷 市場條件變化十分迅速,客戶和終端使用者的需求在演變,從業者必須使軟體工程工作保持敏捷,要限定過程應是靈活機動的、有適應能力的和精益的以適應現代商務的需求。 敏捷可以應用於任何一個軟體過程(溝通
軟體工程--資料流圖和資料字典
資料流圖 資料流圖(Data Flow Diagram):簡稱DFD,它從資料傳遞和加工角度,以圖形方式來表達系統的邏輯功能、資料在系統內部的邏輯流向和邏輯變換過程,是結構化系統分析方法的主要表達工具及用於表示軟體模型的一種圖示方法。 基本的圖形符號: 加工中常用的關係符號表示
軟體工程之路(二)——個人技術和流程
個人技術和流程 1. 單元測試 1.1 寫一個單元測試 1.2 用以驗證的Assert類/斷言 1.3 如何寫好單元測試 1.4 迴歸測試 2. 效能分析工具 1. 單元測試 一般情況下一個軟體
陣列的分類,定義和遍歷技巧
一、陣列分類 1.陣列是由一組有序的值或鍵值對組成的資料結構 2.陣列根據鍵名型別分為:索引陣列 與 關聯陣列 二大類 3.索引陣列:鍵名是元素的位置索引,預設從0開始,採用系統自動處理可以省略鍵名 4.關聯陣列:鍵名是自定義的字
UML軟體工程建模:序列圖互動優點和缺點及其在建模中的常見錯誤及其糾正方法
序列圖互動建模中的常見錯誤及其糾正方法。 常見錯誤 糾正錯誤 舉例 不將序列圖中的物件對映到類圖中的類 確保序列圖中的每個物件在類圖中都有相應的類 - 設計完成時。
【 分類 】- 軟體工程
專欄達人 授予成功建立個人部落格專欄
【測試自動化顧問】測試自動化(TA)是軟體測試的重要方向。TA不僅能夠提升軟體測試的生產力,而且能夠改進軟體工程的生產關係。然而在實踐中,失敗的TA屢屢可見,成功的TA卻並不多見。這是為什麼?關注本專欄,我們一起探討成功的自動化測試所需的理念、方法和技能。
測試自動化(TA)是軟體測試的重要方向。TA不僅能夠提升軟體測試的生產力,而且能夠改進軟體工程的生產關係。然而在實踐中,失敗的TA屢屢可見,成功的TA卻並不多見。這是為什麼?關注本專欄,我們一起探討成...
卡內基梅隆大學軟體工程研究所先後制定用於評價軟體系統成熟度的模型CMM和CMMI
SEI(美國卡內基梅隆大學軟體工程研究所(Software Engineering Institute, SEI))開發的CMM模型有: 用於軟體的(SW-CMM;SW代表'software即軟體'), 用於人力資源管理的(P-CMM;P代表'人'), 用於系統工程(SE-CMM), 用於整合產品開發的(IP
閱讀和提問作業3 現代軟體工程 習而學的軟體工程教育
1.方法的好和壞 The rise of worse is better: 作者Richard Gabriel在文章中對比了兩種軟體設計的思想, “the right thing”和“worse-is-better”,前者認為,軟體設計過程中的簡單性、正確性、一致性、完備性等特徵,對於設計者來說同
軟體工程期中作業-閱讀和提問
可能有銀彈 There Is a Silver Bullet – Brad J Cox 這篇文章說到隨著資訊時代的來臨,出現了一個軟體危機,在一個“已故”的軟體專案中新增更多的功能,只會讓事情變得更為糟糕。進而提出了一個強大的武器,銀彈,是一種正規化轉變,一種基於可重複使用和可互換部件的軟體工業革命。這個在
軟體工程中的系統文獻對映研究例項-軟體開發中的假設條件有哪些定義(第二部分)
之前的部落格詳細描述了軟體工程中的系統文獻對映研究方法。這裡接著給出一個我曾經做過的工作作為例子,以更直觀地展示這種研究型別。該研究的背景資訊這裡不再贅述。 這篇部落格主要介紹第一個研究問題的結果,即軟體開發中的假設條件有哪些定義。 下面的表中給出假設條件的定義的分類,並對映到相關的軟體開發
軟體工程中的那些圖:系統流程圖,程式流程圖和資料流圖
軟體工程看完後,開始著手寫有關機房收費系統的軟工文件。可是其中的各種圖把我搞得頭疼,於是我把軟體工程中提到的那些圖總結了一下,還望眾位大神指正! 系統流程圖(System Flowchart):是描繪系統物理模型的傳統工具。它的基本思想是用圖形符號以黑盒子形式描繪系統裡