第一章 軟體的本質
軟體的定義
軟體:(1)指令的集合(電腦程式),通過執行這些指令可以滿足預期的特性,功能和效能需求;(2)資料結構,使得資料可以合理利用資訊;(3)軟體描述資訊,它以硬拷貝和虛擬形式存在,用來描述程式的操作和使用。
軟體應用領域
系統軟體 整套服務用於其他程式的程式。
某些系統軟體(例如編譯器、編輯器、檔案管理軟體)處理複雜但確定地資訊結構,另一些系統應用程式(例如作業系統構建,驅動程式,網路軟體、遠端通訊處理器》主要處理的是不確定的資料。
工程/科學軟體 解決特定業務需要的獨立應用程式。
這類應用軟體處理商務或技術資料,以協助業務操作或協助做出管理或技術決策。
嵌入式軟體 嵌入式軟體存在於某個產品或者系統中,可實現和控制面向終端使用者和系統本身的特性和功能。
嵌入式軟體可以執行有限的和內部的功能(例如微波爐的按鍵控制),或者提供重要的功能和控制能力(例如汽車中的燃油控制、儀錶盤顯示、剎車系統等汽車電子功能)。
產品線軟體 為多個不同使用者的使用提供特定功能。
產品線軟體關注有限的及內部的市場(例如庫存控制產品)或者大眾消費品市場。
人工智慧軟體 利用非數值演算法解決計算和直接分析無法解決的複雜問題。
這個領域的應用程式包括機械人、專家系統、模式識別(影象和語音)、人工神經網路、定理證明和博弈等。
遺留軟體
定義:在幾十年前開發,不斷被修改以滿足商業需要和計算平台變化的軟體系統。
特點:生命週期長,業務關鍵性,質量差。
第二章 軟體工程
軟體工程的定義
定義:(1)將系統化的,規範化的,可量化的方法應用於軟體的開發、執行和維護、即將工程化方法應用於軟體;(2)對以上方法的研究。
軟體工程的層次
自頂向下:工具、方法、過程、質量關注點。
(1)支援軟體工程的根基在於質量關注點;
(2)軟體工程的基礎是過程層;
軟體過程將各個技術層次結合在一起,使得合理、及時地開發計算機軟體成為可能。過程定義了乙個框架有效實施軟體工程技術。軟體過程構成了軟體專案管理控制的基礎。建立了工作環境以便於應用技術方法、提交工作產品(模型、文件、資料、報告、**等)
(3)軟體工程的方法為構建軟體提供技術上的解決方法;
方法覆蓋面很廣,包括溝通、需求分析、設計模型、程式構造、測試和技術支援
(4)軟體工程工具為過程和方法提供自動化或半自動化的支援。
工具可以整合起來,使得乙個工具產生地資訊可被另外乙個工具使用,這樣就建立了軟體開發地支撐系統,稱為計算機輔助軟體工程
軟體過程的定義
軟體過程是工作產品構建時所執行的一系列活動、動作和任務的集合。
活動主要實現寬泛的目標
動作包含了主要工作產品生產過程中的一系列任務
任務關注了小而明確的目標
過程框架
過程框架定義了若干個框架活動,為實現完整的軟體工程過程建立了基礎。
溝通策劃
建模構建
部署普通性活動
軟體專案跟蹤和控制、風險管理、軟體質量保證、技術評審、測量、軟體配置管理、可復用管理、工作產品的準備和生產。
軟體開發神話
關於軟體開發過程中的一些被人們盲目相信的說法,它實際上誤導了管理者和從業人員對軟體開發的態度。
訓練總結 9 28
這段時間一直在看樹狀陣列,之前的知識都回顧了一下,過段時間再看,有了更深的理解。前幾天做的塗色問題,之前一直有一點不理解,雖然它很簡單,直到前幾天重新理解了一下,才徹底弄懂。還有一道離線處理的題目,求某一區間不重複元素的和,與map結合。還遇到了一道dp題,lis演算法解決。今天的關於樹狀陣列維度的...
9 28技術隨筆
1.dns 將網域名稱轉成ip位址 2.虛擬記憶體 作業系統把一部分硬碟當成記憶體來用,避免執行的程式過大的時候記憶體崩掉。它的大小是由cpu的定址空間以及物理盤的剩餘空間決定的。例如32位的系統,定址空間即32位,最大支援4g 2的32次方 的虛擬空間,64位的系統最大支援8g的虛擬記憶體空間。3...
閱讀任務 閱讀筆記 4
功能驅動的設計 1 構造總體模型 2 構造功能列表 3 制定開發計畫 4 功能設計階段 5 實現具體功能 軟體測試按目的分類 1 功能測試 2 非功能測試 軟體測試的各種方法 1 單元測試和 覆蓋率測試 2 構建驗證測試 3 驗收測試 4 探索式的測試 5 回歸測試 6 場景 整合 系統測試 7 夥...