freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

軟件技術基礎軟件工程(ppt169)(1)(已修改)

2025-02-18 22:21 本頁面
 

【正文】 軟件技術基礎 軟件工程 計算機軟件基礎之一 第三部分 軟件工程 ? 目的與要求 ? 講課內容與學時 ? 參考資料 目的與要求 ? 學習 、 掌握和了解軟件工程的概念 ? 掌握軟件工程的方法和軟件開發(fā)的過程 ? 初步了解對軟件開發(fā)質量的監(jiān)控和管理 講課內容與學時 1. 軟件工程的基本概念 ( 2) 2. 軟件開發(fā)方法與工作模型 ( 2) 3. 結構化開發(fā)方法概述 ( 2) 4. 小結與習題 ( 2) 教科書、參考書 ? 孫淑霞 、 肖陽春等編 , 2023 《 軟件技術基礎 》 , 成都理工大學 ? 黃迪明編 , 1998, 《 軟件技術基礎 》 ,電子科技大學出版社 ? 鄭人杰 , 軟件工程與軟件工程管理 , 講座 ?國際標準 ISO 8631信息處理 程序構造及其表示法的約定 ?國家標準 GB856688軟件開發(fā)規(guī)范 ? CMM軟件成熟度模型 第三部分 軟件工程 1. 軟件工程的基本概念 2. 軟件開發(fā)方法與工作模型 3. 結構化開發(fā)方法概述 4. 習題 1 軟件工程的基本概念 ? 軟件工程學的形成和發(fā)展 ? 軟件工程學研究的內容 ? 軟件與軟件生命周期 ? 軟件工程基本原則 軟件工程學的形成和發(fā)展 ? 軟件工程學是在克服 60年代末所出現的 “ 軟件危機 ” ( software crisis) 的過程中逐漸形成與發(fā)展起來的 ? 而所謂 “ 軟件危機 ” 是在軟件的規(guī)模越來越大 , 復雜度不斷增加 , 軟件需求量不斷增大的情況下出現的 ? 由于軟件開發(fā)過程是一種高密度的腦力勞動 ,軟件開發(fā)的模式及技術不能適應軟件發(fā)展的需要 , 所以 “ 軟件危機 ” 便產生了 軟件工程的發(fā)展 ? 計算機軟件發(fā)展至今經歷了三個不同的發(fā)展時期: –程序設計時期 ( 20世紀 50年代 ——60年代 ) –軟件時期 ( 20世紀 60年代中期 ——70年代 ) –軟件工程時期 ( 20世紀 70年代 ——現在 ) 發(fā)展 ? 程序設計語言 (Programming) – 機器語言 – 匯編語言 – ALGOL60 – FORTRAN – COBOL – BASIC ? 軟件 (Software) 1960 – 程序 – 文檔 – 數據 ? 軟件危機引出軟件工程 (Software Engineering) – 軟件開發(fā)工程化 1968 NATO – 軟件開發(fā)階段與瀑布模型 – 軟件工程標準 焦點 ? 目標 –少資源 、 高效益 –在人力投入 、 開發(fā)期 、 成本 、 質量諸方面求得最佳 ? 風險 –需求:不明與變更 –人員流動 –軟件知識產權保護 –不存在絕對無缺陷的軟件產品 成功的標志 ? 如期完成 ? 預算內完成 ? 達到質量要求 ( 需求和希望 ) 軟件業(yè)與制造業(yè)的差異 |?設計 ?||? 生產 ?|| 運 輸 ||倉 儲 | |功能度 ….. 制造業(yè) 大量 |? 設計(開發(fā)) ?||? 生產 ? || 運輸 ||倉儲 ||功能度 ….. 軟件業(yè) 大量 軟件的特點 ? 軟件是一種邏輯實體 , 具有抽象性 – 這個特點使它與其他工程對象有著明顯的差異 – 人們可以把它記錄在紙上 、 內存和磁盤 、 光盤上 , 但卻無法看到軟件本身的形態(tài) , 必須通過觀察 、 分析 、 思考 、 判斷 , 才能了解它的功能 、 性能等特性 ? 軟件沒有明顯的制造過程 – 一旦研制開發(fā)成功 , 就可以大量拷貝同一內容的副本 , 所以對軟件的質量控制 , 必須著重在軟件開發(fā)方面下工夫 ? 軟件在使用過程中 , 沒有磨損 、 老化的問題 – 軟件在生存周期后期不會因為磨損而老化 , 但會為了適應硬件 、環(huán)境以及需求的變化而進行修改 , 而這些修改又不可避免地引入錯誤 , 導致軟件失效率升高 , 從而使得軟件退化 – 當修改的成本變得難以接受時 , 軟件就被拋棄 ? 軟件對硬件和環(huán)境有著不同程度的依賴性 – 這導致了軟件移植的問題 軟件的特點 (cont.) ? 軟件的開發(fā)至今尚未完全擺脫手工作坊式的開發(fā)方式 ,生產效率低 ? 軟件是復雜的 , 而且以后會更加復雜 – 軟件是人類有史以來生產的復雜度最高的工業(yè)產品 – 軟件涉及人類社會的各行各業(yè) 、 方方面面 , 軟件開發(fā)常常涉及其他領域的專門知識 , 這對軟件工程師提出了很高的要求 ? 軟件的成本相當昂貴 – 軟件開發(fā)需要投入大量 、 高強度的腦力勞動 , 成本非常高 , 風險也大 – 現在軟件的開銷已大大超過了硬件的開銷 ? 軟件工作牽涉到很多社會因素 – 許多軟件的開發(fā)和運行涉及機構 、 體制和管理方式等問題 , 還會涉及到人們的觀念和心理 – 這些人的因素 , 常常成為軟件開發(fā)的困難所在 , 直接影響到項目的成敗 軟件危機 (software crisis) ? 軟件危機是指計算機軟件開發(fā)和維護過程中所遇到的一系列嚴重問題 – 軟件的數量急劇膨脹 , 軟件需求日趨復雜 , 維護的難度越來越大 , 開發(fā)成本令人吃驚地高 , 而失敗的軟件開發(fā)項目卻屢見不鮮 ? 它主要包含兩個方面的問題: – 如何開發(fā)軟件 , 以滿足不斷增長 , 日趨復雜的需求 ——軟件產品質量低劣 , 甚至開發(fā)過程就夭折 – 如何維護數量不斷膨脹的軟件產品 ——軟件生產率低 , 不能滿足需要 軟件危機的表現 ? 對軟件開發(fā)成本和進度的估計常常不準確 ,開發(fā)成本超出預算 , 實際進度比預定計劃一再拖延的現象并不罕見 ? 用戶對 “ 已完成 ” 系統(tǒng)不滿意的現象經常發(fā)生 ? 軟件產品的質量往往靠不住 , Bug一大堆 ,Patch一個接一個 ? 軟件的可維護程度非常之低 ? 軟件通常沒有適當的文檔資料 ? 軟件的成本不斷提高 ? 軟件開發(fā)生產率的提高趕不上硬件的發(fā)展和人們需求的增長 產生軟件危機的原因 ? 由于軟件本身的特點 , 管理和控制軟件開發(fā)過程相當困難 , 而且軟件維護較難 – 軟件是一種高智力活動 , 由復雜的邏輯 、 復雜的運算和復雜的關聯(lián)等構成 ? 由于對軟件開發(fā)與軟件維護的不正確方法 , 產生了軟件危機 – 軟件規(guī)模越來越大 , 功能越來越強 , 導致軟件結構非常復雜 – 忽視軟件開發(fā)前期的需求分析 – 開發(fā)過程沒有統(tǒng)一的 、 規(guī)范的方法論的指導 , 文檔資料不齊全 , 忽視人與人的交流 – 忽視測試階段的工作 , 提交用戶的軟件質量差 – 輕視軟件的維護;等等 對軟件看法的轉變 ? 早期那些被認為是優(yōu)秀的程序常常很難被別人看懂 , 通篇充滿了程序技巧 ? 現在人們普遍認為優(yōu)秀的程序除了功能正確 , 性能優(yōu)良之外 , 還應該容易看懂、 容易使用 、 容易修改和擴充 軟件的定義 ? 軟件 (software)是計算機系統(tǒng)中與硬件(hardware)相互依存的另一部分 , 它包括: –程序 (program)——是按照事先設計的功能和性能要求執(zhí)行的指令序列 –相關數據 (data)——是程序能正常操縱信息的數據結構 –說明文檔 (document)——是與程序開發(fā)維護和使用有關的各種圖文資料 軟件工程 (software engineering) ? 提出 – 1968年秋季 , NATO( 北約 ) 的科技委員會召集了近 50名一流的編程人員 、 計算機科學家和工業(yè)界巨頭 , 討論和制定擺脫 “ 軟件危機 ” 的對策 。在那次會議上第一次提出了軟件工程這個概念 。 ? 軟件工程的定義 – 軟件工程是一門研究如何用系統(tǒng)化 、 規(guī)范化 、 數量化等工程原則和方法去進行軟件的開發(fā)和維護的學科 。 1 軟件工程的基本概念 ? 軟件工程學的形成和發(fā)展 ? 軟件工程學研究的內容 ? 軟件與軟件生命周期 ? 軟件工程基本原則 軟件工程學研究的內容 ? “ 軟件工程 ” 是軟件工程人員尋求解決出現的軟件危機而產生的 ? 它的核心思想是 –采用工程化的原理與方法對軟件進行計劃 、開發(fā)和維護 質量 成本 效率 工具 方法 過程 產品需求 產品 資源 管理 ???! 高效率、低成本地 開發(fā)高質量的軟件! 軟件工程面對的挑戰(zhàn) 軟件工程兩個方面的內容 ? 軟件開發(fā)技術 –軟件開發(fā)方法學 –軟件工具 –軟件工程環(huán)境 ? 軟件項目管理 –軟件度量 –項目估算 –進度控制 –人員組織 –配置管理 –項目計劃等 1 軟件工程的基本概念 ? 軟件工程學的形成和發(fā)展 ? 軟件工程學研究的內容 ? 軟件與軟件生命周期 ? 軟件工程基本原則 軟件與軟件生命周期 ? 關于軟件 – 要糾正那種認為 “ 軟件就是程序 , 開發(fā)軟件就是編寫程序 ” 的錯誤觀念 – 軟件應是 “ 程序以及開發(fā) 、 使用和維護程序所需的所有文檔 ” 。 具體來說是由: ? 應用程序:面向用戶 , 為解決各種特定問題編寫的程序 ? 系統(tǒng)程序:面向硬件 , 為應用程序服務的程序 ? 面向用戶的文檔:如何使用和維護應用程序的資料 ? 面向開發(fā)者的文檔:記載了應用程序的設計和開發(fā)過程 ,以便進一步開發(fā)和修改 軟件與軟件生命周期 ? 軟件生命周期 ( SLC) –軟件生命周期是指從軟件開發(fā)到報廢的全過程 , 也稱軟件生存期 –軟件生命周期的描述模型 ?瀑布模型 ( 經典 ) ?快速原型模型 –軟件生命周期的三個時期 ?定義時期 ?開發(fā)時期 ?維護時期 瀑布模型 問題定義 可行性研究 需求分析 設 計 編 程 測 試 運行與維護 目標與范圍說明書 可行性論證報告 需求說明書 設計文檔 程序 測試報告 維護報告 計劃時期 開發(fā)時期 運行時期 快速原型模型 需求分析 原型開發(fā) 原型評定 目標系統(tǒng)設計 目標系統(tǒng)實現 用戶意見 軟件開發(fā)流程 用 戶 初始需求 交付的軟件 運行 維護 分析定義 需求規(guī)格說明 設計 設計文檔 實現 測試 源程序 軟件生命周期 ——定義期 ? 定義期 –要為被開發(fā)的軟件規(guī)定 “ 做什么 ” –開發(fā)人員要確定 ?軟件將處理什么信息 ?軟件的功能 ?軟件的性能 ?建立什么樣的接口 ?要考慮什么設計限制 ?軟件開發(fā)成功的確認標準 軟件生命周期 ——定義期 ? 定義期包括三個階段的工作 – 系統(tǒng)分析 ? 把軟件要完成的工作與整個計算機系統(tǒng)的其他部分 , 如硬件 , 操作人員及數據庫等應完成的工作區(qū)分開來 – 軟件項目計劃 ? 確定軟件開發(fā)總目標 , 進行風險分析 , 資源分配 , 成本估計 , 規(guī)定工作任務和進度安排 – 需求分析 ? 更明確地確定軟件做什么 ? 給出所開發(fā)軟件的功能 , 性能 , 用戶接口 ? 對數據流進行分析 ? 給出功能說明 ? 寫出用戶手冊初稿 軟件生命周期 ——開發(fā)期 ? 開發(fā)期 –著重解決所開發(fā)軟件 “ 怎么做 ” 的問題 –開發(fā)期要進行 ?設計數據結構 ?設計軟件總體結構 ?實現軟件的過程細節(jié) ?將設計轉換成程序語言 ?進行測試 軟件生命周期 ——開發(fā)期 ? 開發(fā)期含有以下三個階段 –軟件設計 ?把已經確定的軟件需求轉換成特定形式的設計表示 , 使其得以實現 –程序編制 ?用某個編程語言表達軟件設計時確定的處理過程算法 –軟件測試 ?對已編制的程序進行測試 , 以找出其中功能上 、邏輯上和實現中的錯誤 軟件生命周期 ——維護期 ? 運行維護期 –著重解決因多種原因軟件要做的變更 –軟件投入使用后 , 要對軟件作變更的理由 ?開發(fā)期中存在的問題 , 當時未能發(fā)現和及時解決 ?適應變更了的軟件運行環(huán)境 ?軟件需進一步完善 ?用戶需求較小的變化 軟件生存周期 ? 軟件生存期的三個時期有時也籠統(tǒng)地稱為軟件開發(fā) ? 為更清楚地表達生存期內各個階段的工作和各階段間的關系 , 可為生存期設計不同的范型 , 或稱模型 。 如: –瀑布模型 –螺旋模型 –噴泉模型 軟件生存周期方法學 ? 軟件工程采用的生存周期方法學就是 – 從時
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1