軟件工程課件.ppt_第1頁
軟件工程課件.ppt_第2頁
軟件工程課件.ppt_第3頁
軟件工程課件.ppt_第4頁
軟件工程課件.ppt_第5頁
已閱讀5頁,還剩361頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

軟件工程 內(nèi)容摘要 本書為配合國家技能型緊缺人才培養(yǎng)培訓(xùn)工程并根據(jù) 計(jì)算機(jī)應(yīng)用和軟件專業(yè)領(lǐng)域技能型緊缺人才培養(yǎng)培訓(xùn)指導(dǎo)方案 的要求而編寫 本書針對(duì)職業(yè)院校學(xué)生的特點(diǎn) 充分體現(xiàn) 指導(dǎo)方案 中素質(zhì)為基礎(chǔ) 能力為本位 需求為依據(jù) 就業(yè)為導(dǎo)向的基本原則 教學(xué)內(nèi)容注重選擇當(dāng)前軟件工程中的一些新理論 新方法與新技術(shù) 通過一個(gè)小型軟件項(xiàng)目為案例貫穿全書 使學(xué)生在學(xué)完后能基本掌握軟件工程的基本理論與方法在軟件項(xiàng)目開發(fā)中的實(shí)際應(yīng)用 其主要內(nèi)容涉及軟件工程中的軟件策劃 需求分析 軟件設(shè)計(jì) 編碼實(shí)現(xiàn) 軟件測試及實(shí)施與維護(hù)等方面的內(nèi)容 考慮職業(yè)院校學(xué)生的就業(yè)定位 重點(diǎn)側(cè)重于詳細(xì)設(shè)計(jì) 軟件編碼 軟件測試 軟件維護(hù)這幾個(gè)方面的基本知識(shí)與技能 為保持教學(xué)內(nèi)容的先進(jìn)性同時(shí)便于對(duì)教學(xué)進(jìn)行科學(xué)靈活的組織 對(duì)諸如UML方法 面向?qū)ο蟮姆治?設(shè)計(jì)與編程 面向?qū)ο筌浖y試 CMM等也作了介紹 本書可以作為職業(yè)院校計(jì)算機(jī)類專業(yè)的軟件工程課程的教材或教學(xué)參考書 也可作為IT行業(yè)程序員 測試員 維護(hù)員等的培訓(xùn)教材或參考書 主要內(nèi)容 第1章軟件工程概述 第2章系統(tǒng)策劃 第3章需求分析 第4章軟件設(shè)計(jì) 第5章編碼 第6章軟件測試 第7章軟件實(shí)施與維護(hù) 第8章軟件項(xiàng)目管理 第9章軟件過程管理 第一章軟件工程概述 本章主要內(nèi)容 1 1軟件與軟件工程 1 2軟件生存周期與開發(fā)模型 1 3軟件工程過程 1 4軟件開發(fā)工具簡介 1 5學(xué)習(xí)指南 11軟件及軟件工程 軟件 軟件的定義 在運(yùn)行中能提供所希望的功能與性能的程序使程序能夠正確運(yùn)行的數(shù)據(jù)及其結(jié)構(gòu)描述軟件研制過程和方法所用的文檔 軟件的特點(diǎn) 軟件角色的雙重性軟件不是傳統(tǒng)意義上的被制造軟件不會(huì) 磨損 但會(huì)退化軟件都是手工定制的開發(fā)過程的復(fù)雜與費(fèi)用的昂貴 11軟件及軟件工程 軟件 軟件的分類 11軟件及軟件工程 軟件工程 軟件危機(jī) 軟件開發(fā)的生產(chǎn)率遠(yuǎn)遠(yuǎn)不能滿足客觀需要開發(fā)的軟件產(chǎn)品往往不能滿足用戶的實(shí)際需要軟件產(chǎn)品的質(zhì)量低下且可維護(hù)性差很難估計(jì)軟件開發(fā)的進(jìn)度計(jì)劃與成本 軟件神話 有了軟件開發(fā)書籍 就可以解決軟件開發(fā)中的一切問題進(jìn)度滯后了 好 增加程序員只要程序正確 項(xiàng)目就成功 文檔可有可無軟件質(zhì)量只能在正式投入運(yùn)行后才知道 11軟件及軟件工程 軟件工程 軟件工程的定義 IEEE定義 軟件工程是將系統(tǒng)化的 嚴(yán)格約束的 可量化的方法應(yīng)用于軟件的開發(fā) 運(yùn)行和維護(hù) 即將工程化應(yīng)用于軟件 通俗地說 軟件工程是指導(dǎo)軟件開發(fā)和維護(hù)的一門工程學(xué)科 它采用工程的概念 原理 技術(shù)和方法 把經(jīng)過時(shí)間檢驗(yàn)而證明是正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來 用于開發(fā)和維護(hù)軟件 11軟件及軟件工程 軟件工程 軟件工程 層次化技術(shù) 軟件工程三個(gè)要素 方法 工具 過程 11軟件及軟件工程 軟件工程 軟件工程的作用 成功案例 美國聯(lián)邦速遞公司 FedEX 的管理信息系統(tǒng) 失敗案例 英國倫敦的急救服務(wù)管理信息系統(tǒng) 軟件工程的基本原理 用分階段的生存周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚地審查開發(fā)小組的人員應(yīng)該少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性 12軟件生存周期與開發(fā)模型 生存周期 軟件生存周期 人的生存周期 嬰兒 幼兒 兒童 少年 青年 中年 老年 死亡 軟件的生存周期 軟件定義 軟件開發(fā) 軟件支持 問題定義 可行性分析 需求分析 概要設(shè)計(jì) 詳細(xì)設(shè)計(jì) 編碼 測試 軟件發(fā)布 軟件運(yùn)行 維護(hù)或退役 12軟件生存周期與開發(fā)模型 生存周期 軟件定義階段 問題定義可行性分析立項(xiàng)或簽訂合同 軟件開發(fā)階段 需求分析軟件設(shè)計(jì)編碼與測試發(fā)布或安裝驗(yàn)收 軟件開發(fā)階段 軟件的使用 運(yùn)行軟件維護(hù) 12軟件生存周期與開發(fā)模型 開發(fā)模型 問題的提出 軟件工程需要解決什么問題 軟件開發(fā)模型 做什么軟件 怎么做軟件 軟件如何適應(yīng)變化 軟件開發(fā)過程概括 是軟件工程思想的具體化它是跨越整個(gè)軟件生存周期的各個(gè)階段所需要的全部工作與任務(wù)的結(jié)構(gòu)框架 12軟件生存周期與開發(fā)模型 開發(fā)模型 瀑布模型 線性順序模型 可行性分析 需求分析 設(shè)計(jì) 編碼 測試 支持 12軟件生存周期與開發(fā)模型 開發(fā)模型 瀑布模型的特點(diǎn) 瀑布模型的應(yīng)用范圍 階段間具有順序性和依賴性每個(gè)階段必須完成規(guī)定的文檔 每個(gè)階段結(jié)束前完成文檔審查 及早改正錯(cuò)誤 但 開發(fā)過程一般不能逆轉(zhuǎn) 否則代價(jià)太大 實(shí)際的項(xiàng)目開發(fā)很難嚴(yán)格按該模型進(jìn)行 客戶往往很難清楚地給出所有的需求 而該模型卻要求如此 軟件的實(shí)際情況必須到項(xiàng)目開發(fā)的后期客戶才能看到 這要求客戶有足夠的耐心 用戶的需求非常清楚全面 且在開發(fā)過程中沒有或很少變化開發(fā)人員對(duì)軟件的應(yīng)用領(lǐng)域很熟悉 用戶的使用環(huán)境非常穩(wěn)定 開發(fā)工作對(duì)用戶參與的要求很低 12軟件生存周期與開發(fā)模型 開發(fā)模型 原型模型 用戶測試運(yùn)行原型 建造 修改原型 聽取用戶意見 12軟件生存周期與開發(fā)模型 開發(fā)模型 原型模型的特點(diǎn) 原型模型的應(yīng)用范圍 可以得到比較良好的需求定義 容易適應(yīng)需求的變化 有利于開發(fā)與培訓(xùn)的同步 開發(fā)費(fèi)用低 開發(fā)周期短 維護(hù)容易且對(duì)用戶更友好 客戶與開發(fā)者對(duì)原型理解不同準(zhǔn)確的原型設(shè)計(jì)比較困難不利于開發(fā)人員的創(chuàng)新 對(duì)所開發(fā)的領(lǐng)域比較熟悉而且有快速的原型開發(fā)工具項(xiàng)目招投標(biāo)時(shí) 可以以原型模型作為軟件的開發(fā)模型進(jìn)行產(chǎn)品移植或升級(jí)時(shí) 或?qū)σ延挟a(chǎn)品原型進(jìn)行客戶化工作時(shí) 原型模型是非常適合的 12軟件生存周期與開發(fā)模型 開發(fā)模型 基于構(gòu)件的開發(fā)模型 特點(diǎn) 屬于演化式開發(fā)或迭代式開發(fā) 其開發(fā)過程 客戶的交流 獲得問題的定義標(biāo)識(shí)基本類計(jì)劃與風(fēng)險(xiǎn)分析類的復(fù)用或重新開發(fā)構(gòu)造系統(tǒng)用戶評(píng)估 采用了先進(jìn)的面向?qū)ο蠹夹g(shù) 基于構(gòu)件庫的開發(fā) 這是軟件復(fù)用的基礎(chǔ) 開發(fā)速度快 融合了螺旋模型特征支持軟件開發(fā)的迭代方法 是一種演化型的開發(fā)技術(shù) 13軟件工程過程 軟件工程過程的概念 ISO9000 過程 軟件工程的三要素之一從開發(fā)到維護(hù)軟件相關(guān)產(chǎn)品所采取一系列管理活動(dòng) 主要包括項(xiàng)目管理 配置管理 質(zhì)量管理 文檔管理等 IS09001 設(shè)計(jì) 開發(fā) 生產(chǎn) 安裝和服務(wù)的質(zhì)量保證模式IS09002 生產(chǎn) 安裝和服務(wù)的質(zhì)量保證模式IS09003 最終檢驗(yàn)和試驗(yàn)的質(zhì)量保證模式 13軟件工程過程 CMM軟件能力成熟度模型 CMM CapabilityMaturityModel CMM的級(jí)別 開發(fā)工具的作用與功能 14軟件開發(fā)工具簡介 CASE工具 計(jì)算機(jī)輔助軟件工程 CASE 作用 認(rèn)識(shí)與描述系統(tǒng)需求 保存與管理開發(fā)過程中的信息 代碼的生成 文檔的編制與生成 軟件項(xiàng)目的管理 開發(fā)工具的分類 14軟件開發(fā)工具簡介 CASE工具 分類方法 按應(yīng)用階段劃分 按功能劃分 設(shè)計(jì)工具 分析工具 項(xiàng)目管理 軟件配置 質(zhì)量保證 分析設(shè)計(jì) 計(jì)劃工具 界面開發(fā) 客戶服務(wù)器 Web開發(fā) IBMRational工具 14軟件開發(fā)工具簡介 常用CASE工具 Rational公司是專門從事CASE工具研制與開發(fā)的軟件公司 2003年被IBM公司收購 該公司所研發(fā)的Rational系列軟件是完整的CASE集成工具 貫穿從需求分析到軟件維護(hù)的整個(gè)軟件生存周期 需求分析與設(shè)計(jì)工具 產(chǎn)品主要構(gòu)成 測試工具 軟件配置管理工具 Rose PurifyPlusRobot ClearCase 北大青鳥工具 14軟件開發(fā)工具簡介 常用CASE工具 北大青鳥系列CASE工具北京北大青鳥軟件有限公司開發(fā)研制的 在國內(nèi)有較高的知名度 北京大學(xué)軟件工程國家工程研究中心就設(shè)在該公司 產(chǎn)品主要構(gòu)成 微軟版本管理器 VSS 14軟件開發(fā)工具簡介 常用CASE工具 版本管理是軟件配置管理中的核心工作 由Microsoft公司開發(fā)的VisualSourceSafe6 0使用非常廣泛而且很容易獲得 文件檢入與檢出 產(chǎn)品主要功能 版本控制 文件的拆分與共享 權(quán)限管理 本書案例介紹 教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng) 15學(xué)習(xí)指南 學(xué)習(xí)案例 為實(shí)現(xiàn)教學(xué)質(zhì)量的量化考核 借此評(píng)價(jià)教師的教學(xué)水平并有針對(duì)性的提高教學(xué)質(zhì)量 某高校開發(fā)了基于校園網(wǎng)的教學(xué)質(zhì)量網(wǎng)上測評(píng)系統(tǒng)四大功能模塊數(shù)據(jù)采集模塊 學(xué)生對(duì)一個(gè)學(xué)期中所學(xué)課程的各任課教師的教學(xué)水平及師德兩個(gè)方面給予的百分制評(píng)價(jià)分值數(shù)據(jù)統(tǒng)計(jì)模塊 根據(jù)教務(wù)處規(guī)定的統(tǒng)計(jì)方法統(tǒng)計(jì)出每位任課教師在一個(gè)學(xué)期中的教學(xué)水平及師德的最終測評(píng)得分 數(shù)據(jù)查詢模塊 查詢?nèi)H握n教師的最終得分及名次 還能夠查詢各個(gè)班級(jí)的學(xué)生對(duì)任課教師的教學(xué)水平及師德的評(píng)分情況 輔助功能模塊 包括基礎(chǔ)數(shù)據(jù)的管理 測評(píng)類型的管理等 本書案例介紹 教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng) 15學(xué)習(xí)指南 學(xué)習(xí)案例 系統(tǒng)運(yùn)行界面 瀏覽器端 本書案例介紹 教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng) 15學(xué)習(xí)指南 學(xué)習(xí)案例 系統(tǒng)運(yùn)行界面 服務(wù)器端 第二章系統(tǒng)策劃 這個(gè)項(xiàng)目是做還是不做呢 還是先去做一下市場調(diào)研或與客戶談?wù)労灱s的事吧 2 1可行性研究 2 2軟件項(xiàng)目計(jì)劃 本章主要內(nèi)容 21可行性研究 問題的定義 問題定義 確定軟件開發(fā)項(xiàng)目必須完成的目標(biāo) 其關(guān)鍵問題是 要解決什么問題 含義 主要內(nèi)容 問題的背景 總體要求與目標(biāo) 類型范圍 功能規(guī)模 實(shí)現(xiàn)目標(biāo)的方案 開發(fā)的條件 環(huán)境要求等 問題定義報(bào)告應(yīng)包括內(nèi)容 項(xiàng)目名稱 使用方 對(duì)問題的概括定義 項(xiàng)目的目標(biāo) 項(xiàng)目的規(guī)模 21可行性研究 問題的定義 案例分析 某校在校生近5000人 每學(xué)期在期中都要進(jìn)行一次對(duì)教師的教學(xué)質(zhì)量測評(píng) 要求所有學(xué)生都要參加 以前測評(píng)的方式都是手工操作 由教務(wù)處發(fā)出書面問卷調(diào)查表 每個(gè)同學(xué)填寫完成后交回到教務(wù)處 然后教務(wù)處再使用手工的方法對(duì)問卷進(jìn)行統(tǒng)計(jì)匯總 最后得出學(xué)生對(duì)每一位教師的總體評(píng)價(jià) 這種方法一方面浪費(fèi)了大量的財(cái)力 人力 另一方面統(tǒng)計(jì)繁瑣且容易出錯(cuò) 考慮到現(xiàn)在學(xué)校校園網(wǎng)已經(jīng)建成 為節(jié)省開支 提高效率 學(xué)校決定委托計(jì)算機(jī)系開發(fā)一套基于校園網(wǎng)的 教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng) 1 問題的提出 21可行性研究 問題的定義 案例分析 2 問題分析 系統(tǒng)分析人員經(jīng)過與學(xué)校教務(wù)部門及各相關(guān)單位進(jìn)行充分的調(diào)查后 了解了該項(xiàng)目的一些背景資料與基本要求 教師測評(píng)分兩大部分 一是師德測評(píng) 二是教學(xué)質(zhì)量測評(píng) 師德測評(píng)有4項(xiàng)指標(biāo) 教學(xué)質(zhì)量測評(píng)有14項(xiàng)指標(biāo) 系統(tǒng)要實(shí)現(xiàn)的目標(biāo)是 所有學(xué)生在指定時(shí)間內(nèi)在指定機(jī)房的計(jì)算機(jī)上完成對(duì)任課教師的測評(píng)打分 測評(píng)過程全部采用選擇的方法 不需要輸入任何信息 所有的測評(píng)數(shù)據(jù)保存在學(xué)校中心服務(wù)器上 有較為嚴(yán)格的安全措施 系統(tǒng)能對(duì)所有的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)匯總 得出每一位教師的測評(píng)結(jié)果 并能進(jìn)行排序 輸出 系統(tǒng)開發(fā)的大體費(fèi)用在1 2萬元左右 開發(fā)周期大約6個(gè)人月 21可行性研究 問題的定義 案例分析 3 系統(tǒng)定義報(bào)告 根據(jù)以上分析 形成如下的系統(tǒng)定義報(bào)告 案例文檔之一 系統(tǒng)定義報(bào)告用戶單位 XX學(xué)校教務(wù)處負(fù)責(zé)人 XXX開發(fā)單位 XX學(xué)校計(jì)算機(jī)系分析員 XXX項(xiàng)目名稱 基于校園網(wǎng)的教學(xué)質(zhì)量測評(píng)系統(tǒng)問題概述 教師教學(xué)質(zhì)量測評(píng)每學(xué)期必須進(jìn)行一次 原有的手工方法存在資源浪費(fèi) 效率極低 結(jié)果不準(zhǔn)確等問題 其它的相關(guān)說明 項(xiàng)目目標(biāo) 開發(fā)一個(gè)效率高且相對(duì)通用的教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng) 項(xiàng)目規(guī)模 開發(fā)成本大約1 2萬元 開發(fā)周期約6個(gè)人月 可行性研究 建議進(jìn)行一周 費(fèi)用不超過500元 21可行性研究 可行性研究的任務(wù)與步驟 一 可行性研究的任務(wù) 2 經(jīng)濟(jì)可行性 3 社會(huì)因素的考慮 分析成本 收益與短期效益 長遠(yuǎn)利益這兩個(gè)方面 要作出投資的估算和系統(tǒng)投入運(yùn)行后可能獲得的經(jīng)濟(jì)效益或可節(jié)約的費(fèi)用估算 分析利用現(xiàn)有的技術(shù)能否實(shí)現(xiàn) 能否解決系統(tǒng)中的技術(shù)難題 所開發(fā)的系統(tǒng)能否達(dá)到所要求的功能和性能 系統(tǒng)對(duì)技術(shù)人員的要求 現(xiàn)有的技術(shù)人員能否勝任 開發(fā)所需要的軟件與硬件能否如期得到等 1 技術(shù)可行性 主要考慮的是市場 政策與法律方面的問題 21可行性研究 可行性研究的任務(wù)與步驟 二 可行性研究的步驟 1 重新檢查系統(tǒng)定義報(bào)告中相關(guān)內(nèi)容 明確對(duì)目標(biāo)系統(tǒng)限制與約束 2 研究目前正在使用的系統(tǒng) 找出其基本功能和所需要的基本信息 繪制系統(tǒng)流程圖 3 設(shè)想新系統(tǒng)高層邏輯模型 分析歸納現(xiàn)有系統(tǒng) 最后建造新物理系統(tǒng) 4 導(dǎo)出各種實(shí)現(xiàn)方案并對(duì)方案進(jìn)行評(píng)價(jià) 5 推薦可行性方案 6 編寫可行性研究報(bào)告 21可行性研究 技術(shù)可行性分析 技術(shù)可行性分析的三個(gè)方面 1 在給定的時(shí)間內(nèi)能否實(shí)現(xiàn)系統(tǒng)定義中的功能 2 軟件的質(zhì)量如何 如實(shí)時(shí)性 正確性和精確性 3 軟件的生產(chǎn)率如何 高生產(chǎn)率意味著利潤 做得了嗎 做得好嗎 做得快嗎 先分析 21可行性研究 技術(shù)可行性分析 在進(jìn)行技術(shù)可行性分析時(shí) 一個(gè)重要的內(nèi)容是對(duì)現(xiàn)有系統(tǒng)與擬開發(fā)的系統(tǒng)繪制系統(tǒng)流程圖 系統(tǒng)流程圖中所用的符號(hào)與程序設(shè)計(jì)語言中的程序流程圖所用的符號(hào)類似 但系統(tǒng)流程圖與程序流程圖不同 系統(tǒng)流程圖表達(dá)的是信息在系統(tǒng)中各個(gè)部件之間的流動(dòng)情況 而程序流程圖表達(dá)的是程序?qū)π畔⑦M(jìn)行加工處理的控制過程 系統(tǒng)流程圖 21可行性研究 技術(shù)可行性分析 系統(tǒng)流程圖中的常用符號(hào) 系統(tǒng)流程圖中的常用符號(hào) 21可行性研究 技術(shù)可行性分析 教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng)流程圖 21可行性研究 技術(shù)可行性分析 21可行性研究 經(jīng)濟(jì)可行性分析 經(jīng)濟(jì)可行性分析 1 成本分析 2 收益分析 辦公成本 人員成本 資源成本 其它成本 貨幣的時(shí)間價(jià)值 純收入 如果從經(jīng)濟(jì)可行性的角度分析得出純收入小于或等于零的結(jié)論 則這個(gè)項(xiàng)目是不能投資的 最難準(zhǔn)確核算 純收入 總收入折現(xiàn) 總成本折現(xiàn) P F 1 i n稱為折現(xiàn) 21可行性研究 經(jīng)濟(jì)可行性分析 常用成本估算策略 1 在項(xiàng)目后期進(jìn)行估算 即完全精確核算 2 基于已經(jīng)完成的類似項(xiàng)目進(jìn)行估算 3 使用相對(duì)簡單的分解技術(shù)以生成項(xiàng)目成本及工作量的估算 4 使用一個(gè)或多個(gè)經(jīng)驗(yàn)?zāi)P瓦M(jìn)行軟件成本及工作量的估算估算 不能選擇 比較切實(shí)可行 兩種常用策略 21可行性研究 經(jīng)濟(jì)可行性分析 兩種成本估算方法 代碼行法 LOC 功能點(diǎn)法 FP 每行代碼的平均成本乘以程序的行數(shù) 采用軟件所提供的功能來測量的 21可行性研究 案例分析 可行性研究 可行性研究最終生成可行性研究報(bào)告 案例文檔之二 可行性研究報(bào)告1 引言1 1編寫目的本報(bào)告分析了 教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng) 開發(fā)的可行性 請?jiān)侯I(lǐng)導(dǎo)審閱并對(duì)是否進(jìn)行該系統(tǒng)的開發(fā)做出批示 1 2項(xiàng)目背景建議進(jìn)行 教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng) 的開發(fā) 背景介紹略 我院計(jì)算機(jī)系具備進(jìn)行該軟件系統(tǒng)開發(fā)的能力并承擔(dān)本軟件系統(tǒng)的開發(fā)與維護(hù)工作 該軟件系統(tǒng)由我院教務(wù)處使用 詳見教材 22軟件項(xiàng)目計(jì)劃 系統(tǒng)定義報(bào)告 用戶的需求報(bào)告 可行性研究報(bào)告 項(xiàng)目開發(fā)計(jì)劃及相關(guān)的一些專題計(jì)劃 如 測試計(jì)劃 質(zhì)量保證計(jì)劃 配置管理計(jì)劃 人員培訓(xùn)計(jì)劃 系統(tǒng)安裝計(jì)劃 22軟件項(xiàng)目計(jì)劃 軟件項(xiàng)目計(jì)劃的主要內(nèi)容制訂方法 軟件項(xiàng)目計(jì)劃 資源計(jì)劃 軟件估算計(jì)劃 進(jìn)度安排計(jì)劃 人力資源 可復(fù)用的構(gòu)件 開發(fā)環(huán)境 高層管理人員 項(xiàng)目經(jīng)理 開發(fā)人員 客戶 最終用戶 軟件 硬件環(huán)境 采用任務(wù)分解技術(shù)對(duì)軟件的規(guī)模與工作量進(jìn)行估算 并將總的開發(fā)費(fèi)用分配到開發(fā)的各個(gè)階段中 軟件規(guī)模 工作量 進(jìn)度 成本 進(jìn)度安排要確定最終的軟件交付日期 并在限定的日期內(nèi)安排和分配工作量 或者在合理復(fù)用各種資源分配工作量的基礎(chǔ)上確定最終交付日期 其它專題計(jì)劃 如質(zhì)量保證計(jì)劃 配置管理計(jì)劃 里程碑及評(píng)審計(jì)劃 測試計(jì)劃等 22軟件項(xiàng)目計(jì)劃 案例分析 軟件項(xiàng)目開發(fā)計(jì)劃書 案例文檔之三 軟件項(xiàng)目開發(fā)計(jì)劃書1 引言1 1編寫目的為保證 教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng) 的開發(fā)成功 按期交付使用 特編寫項(xiàng)目開發(fā)計(jì)劃 請參與開發(fā)的人員遵照執(zhí)行 1 2項(xiàng)目背景 略 1 3定義 教師教學(xué)網(wǎng)絡(luò)測評(píng)系統(tǒng) 以下簡稱 測評(píng)系統(tǒng) 詳見教材 第三章需求分析 本章主要內(nèi)容 3 1需求分析概述 3 2結(jié)構(gòu)化分析 3 3面向?qū)ο蠓治?3 4UML概述 31需求分析概述 需求分析的重要性 需求分析是發(fā)現(xiàn) 求精 建模 規(guī)格說明和復(fù)審的過程 需求分析是系統(tǒng)設(shè)計(jì)的基礎(chǔ) 關(guān)系到程的成敗和軟件產(chǎn)品的質(zhì)量 重要性 需求獲取困難 原因有三 一是用戶需求的動(dòng)態(tài)性 不穩(wěn)定性 二是需求的模糊性 不準(zhǔn)確性 三是需求必須得到用戶的確認(rèn) 否則毫無意義 31需求分析概述 需求分析的任務(wù) 1 確定對(duì)系統(tǒng)的綜合要求 系統(tǒng)界面要求 系統(tǒng)功能要求 系統(tǒng)性能要求 完全性可靠性保密性要求 系統(tǒng)運(yùn)行要求 異常處理要求 將來可能提出的要求 分析系統(tǒng)的數(shù)據(jù)要求 2 分析系統(tǒng)的數(shù)據(jù)要求3 異出系統(tǒng)的邏輯模型4 修正項(xiàng)目開發(fā)劃5 開發(fā)原型系統(tǒng) 需求分析任務(wù) 需求工程層次分解圖 31需求分析概述 需求分析的過程與方法 一 需求分析過程 需求獲取 用戶 概要信息 業(yè)務(wù)需求 功能需求 用戶需求 非功能性需求 可行性報(bào)告 系統(tǒng)定義報(bào)告 分析 調(diào)研 座談法調(diào)查表法觀察法 31需求分析概述 需求分析的過程與方法 需求分析 獲取數(shù)據(jù) 目標(biāo)邏輯模型 需求獲取 從數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)出發(fā) 找出系統(tǒng)各元素之間的聯(lián)系 接口特征及設(shè)計(jì)限制 能否滿足功能需求 31需求分析概述 需求分析的過程與方法 需求規(guī)格說明書 編寫 目標(biāo)系統(tǒng)的基本描述系統(tǒng)各項(xiàng)需求系統(tǒng)限制及條件系統(tǒng)數(shù)據(jù)定義 需求分析結(jié)果 需求文檔編寫 31需求分析概述 需求分析的過程與方法 評(píng)審 驗(yàn)證的四個(gè)方面 一致性 完整性 現(xiàn)實(shí)性 有效性 所有需求必須一致 不能前 后和相互矛盾 說明書應(yīng)包括用戶需求的每一方面 在現(xiàn)有基礎(chǔ)上可實(shí)現(xiàn) 必須證明需求有效 能解決用戶提出的問題 需求評(píng)審與確認(rèn) 31需求分析概述 需求分析的過程與方法 31需求分析概述 需求分析的過程與方法 二 需求分析的方法 分析方法 結(jié)構(gòu)化分析方法 面向?qū)ο蟮姆治龇椒?面向數(shù)據(jù)的方法 以數(shù)據(jù)流為中心 其核心概念包括 進(jìn)程 數(shù)據(jù)流 數(shù)據(jù)存儲(chǔ) 外部實(shí)體 數(shù)據(jù)組和數(shù)據(jù)元素 有代表性的模擬工具有 數(shù)據(jù)流圖 數(shù)據(jù)字典 原始進(jìn)程規(guī)格說明 面向?qū)ο蠓治鲆詫?duì)象及其服務(wù)作為建模標(biāo)準(zhǔn) 比較自然 對(duì)象也具有相對(duì)的穩(wěn)定性 主要模擬的元素有 對(duì)象 類 屬性 關(guān)系 方法 消息傳遞 用例等 其主要原理包括分類 繼承 層次 信息隱藏 匯集關(guān)系等 基本思想 自頂向下逐層分解 結(jié)構(gòu)化分析 StructuredAnalysis 它是一種面向數(shù)據(jù)流的需求分析方法 適用分析大型數(shù)據(jù)處理系統(tǒng) 是一種簡單 實(shí)用的方法 32結(jié)構(gòu)化分析 問題域 問題 行為 功能 對(duì)應(yīng)于軟件子系統(tǒng) 對(duì)應(yīng)于子軟件的軟構(gòu)件 對(duì)應(yīng)于軟件子系統(tǒng) 32結(jié)構(gòu)化分析 自頂向下需求分析模型圖 S D1 D2 D3 Dn Di P1 P2 P3 Pm Pj F1 F2 F3 Fk 概念 是描述數(shù)據(jù)信息的集合 是對(duì)系統(tǒng)中所有數(shù)據(jù)元素定義的集合 包含信息 數(shù)據(jù) 控制項(xiàng) 數(shù)據(jù)存儲(chǔ)或外部實(shí)體的主要名稱和別名 使用數(shù)據(jù)和對(duì)象的列表 使用對(duì)象的方式 描述數(shù)據(jù)或控制內(nèi)容的符號(hào) 關(guān)于數(shù)據(jù)類型 預(yù)置值 限制等其他補(bǔ)充信息 32結(jié)構(gòu)化分析 數(shù)據(jù)字典 一 定義 32結(jié)構(gòu)化分析 數(shù)據(jù)字典 二 數(shù)據(jù)項(xiàng)的定義 數(shù)據(jù)字典符號(hào) 三 數(shù)據(jù)字典舉例 教師測評(píng)系統(tǒng)中 數(shù)據(jù)字內(nèi)部分內(nèi)容 測評(píng)子項(xiàng)得分 測評(píng)子項(xiàng)編號(hào) 子項(xiàng)得分 學(xué)生評(píng)測數(shù)據(jù) 序號(hào) 教師姓名 所任課程 測評(píng)子項(xiàng)得分 以測評(píng)子項(xiàng)得分為單位的評(píng)測數(shù)據(jù)記錄 學(xué)期 被評(píng)對(duì)象編號(hào) 測評(píng)類型編號(hào) 評(píng)測者區(qū)別編號(hào) 測評(píng)子項(xiàng)名稱 測評(píng)子項(xiàng)所得分值 以測評(píng)類型得分為單位的評(píng)測數(shù)據(jù)記錄 學(xué)期 被評(píng)對(duì)象編號(hào) 測評(píng)類型編號(hào) 評(píng)測者區(qū)別編號(hào) 本測評(píng)類型所得分值 被評(píng)對(duì)象各測評(píng)類型的得分記錄 學(xué)期 被評(píng)對(duì)象編號(hào) 測評(píng)類型編號(hào) 測評(píng)類型得分 本測評(píng)類型占總分的比率 32結(jié)構(gòu)化分析 數(shù)據(jù)字典 定義 數(shù)據(jù)流 變換數(shù)據(jù)的處理 數(shù)據(jù)存儲(chǔ) 數(shù)據(jù)的源 宿 32結(jié)構(gòu)化分析 數(shù)據(jù)流圖 數(shù)據(jù)流圖 DFD 是一種圖形化技術(shù) 它描繪信息和數(shù)據(jù)從輸入到輸出的過程中所經(jīng)受的變換 符號(hào) 數(shù)據(jù)流圖說明 描繪 做什么 不考慮 怎么做 箭頭 數(shù)據(jù)流圖和程序圖中用箭頭表示的控制流有本質(zhì)不同 不能混淆 在數(shù)據(jù)流圖中應(yīng)該描繪所有可能的數(shù)據(jù)流向 而不應(yīng)該描繪出現(xiàn)某個(gè)數(shù)據(jù)流的條件 處理 處理并不一定是一個(gè)程序 一個(gè)處理框可以代表一系列程序 單個(gè)程序或者程序的一個(gè)模塊 也可代表一個(gè)人工處理過程 如用戶目視檢查數(shù)據(jù)正確性 數(shù)據(jù)存儲(chǔ) 一個(gè)數(shù)據(jù)存儲(chǔ)并不等同于一個(gè)文件 它可以表示一個(gè)文件 文件的一部分 數(shù)據(jù)庫的元素或記錄的一部分等 數(shù)據(jù)可以存儲(chǔ)在磁盤 磁帶 磁鼓 主存 微縮膠片 穿孔卡片及其他任何介質(zhì)上 包括人腦 數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都是數(shù)據(jù) 僅僅所處的狀態(tài)不同 數(shù)據(jù)存儲(chǔ)是處于靜止?fàn)顟B(tài)的數(shù)據(jù) 數(shù)據(jù)流是處于運(yùn)動(dòng)中的數(shù)據(jù) 32結(jié)構(gòu)化分析 數(shù)據(jù)流圖 32結(jié)構(gòu)化分析 數(shù)據(jù)流圖 案例 狀態(tài)轉(zhuǎn)換圖簡稱狀態(tài)圖 描述的是系統(tǒng)的狀態(tài)及引系統(tǒng)狀態(tài)轉(zhuǎn)換的事件 可用來表示系統(tǒng)的行為 狀態(tài)圖指出了作為特定事件的結(jié)果將執(zhí)行哪些動(dòng)作 如處理數(shù)據(jù) 所以說 狀態(tài)圖提供了行為建模機(jī)制 表示從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的轉(zhuǎn)換 箭頭的方向表示轉(zhuǎn)換的方向 表示狀態(tài) 定義 符號(hào) 狀態(tài)圖示例 32結(jié)構(gòu)化分析 狀態(tài)轉(zhuǎn)換圖 軟件需求規(guī)格說明闡述一個(gè)軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件 它不僅是系統(tǒng)測試和用戶文檔的基礎(chǔ) 也是所有子系列項(xiàng)目規(guī)劃 設(shè)計(jì)和編碼的基礎(chǔ) 它應(yīng)該盡可能完整地描述系統(tǒng)預(yù)期的外部行為和用戶可視化行為 除了設(shè)計(jì)和實(shí)現(xiàn)上的限制 軟件需求規(guī)格說明不應(yīng)該包括設(shè)計(jì) 構(gòu)造 測試或工程管理的細(xì)節(jié) 說明 格式 見教材 32結(jié)構(gòu)化分析 需求規(guī)格說明書 33面向?qū)ο蟮姆治?面向?qū)ο蠓治龇椒ǖ暮诵氖抢妹嫦驅(qū)ο蟮母拍詈头椒檐浖枨蠼ㄔ炷P?它包含面向?qū)ο蟮膱D形語言機(jī)制以及用于指導(dǎo)需求分析的面向?qū)ο蟮姆椒▽W(xué) 本節(jié)主要介紹面向?qū)ο蟮母拍?面向?qū)ο蠓椒懊嫦驅(qū)ο蠓治鲞^程 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蟮母拍?面向?qū)ο?對(duì)象 分類 繼承 通信 對(duì)象 對(duì)象是現(xiàn)實(shí)世界中個(gè)體或事物的抽象表示 它封裝了特殊的屬性 數(shù)據(jù) 和行為方法 例如 大型客機(jī)可視為對(duì)象 它具有位置 速度 顏色 容量等屬性 對(duì)于該對(duì)象可施行起飛 降落 加速 維修等操作 這些操作將或多或少地改變飛機(jī)的屬性值 狀態(tài) 類 類是具有相同屬性和操作的一組相似對(duì)象的抽象 例如 飛行器類是所有能夠飛行的器械的抽象 如各種飛機(jī) 航天器等 它可以包含位置 速度 顏色等屬性 同時(shí)也具有起飛 降落 加速等操作 顯然類是一個(gè)支持繼承的抽象數(shù)據(jù)類型 而對(duì)象就是類的實(shí)例 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蟮母拍?實(shí)例 是由某個(gè)特定的類所描述的一個(gè)具體的對(duì)象 例如 圓具有半徑和圓心等屬性 它是一個(gè)抽象類 可用circle類來定義 有許多不同半徑和不同圓心的具體的圓 它們是類的一個(gè)個(gè)實(shí)例 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蟮母拍?屬性 是類或?qū)ο笾兴x的數(shù)據(jù) 它是描述客觀世界實(shí)體靜態(tài)特征的數(shù)據(jù)項(xiàng) 當(dāng)類被實(shí)例化而形成具體的對(duì)象后 它不僅包含類所具有的一些屬性 而且還有自己所特有的屬性值 例如 Circle類中定義的代表圓心坐標(biāo) 半徑 顏色等的數(shù)據(jù)成員 就是圓類所具有的屬性 當(dāng)實(shí)例一個(gè)具體的圓后 其屬性也必然存在 還可能增加一些特殊的屬性 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蟮母拍?方法 方法是對(duì)象所能執(zhí)行的操作 也就是類中所定義的服務(wù) 方法描述了對(duì)象執(zhí)行操作的算法 響應(yīng)消息的方法 在C 語言中把方法稱為成員函數(shù) 例如在圓的對(duì)象中可以定義一個(gè)方法GetColor 用來取得圓的顏色 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蟮母拍?消息 就是要求某個(gè)對(duì)象執(zhí)行在定義它的那個(gè)類中所定義的某個(gè)操作的規(guī)格說明 通常 一個(gè)消息由以下三部分組成 接收消息的對(duì)象 消息選擇符即消息名 零個(gè)或多個(gè)變元 例如 MyCircle是一個(gè)半徑4cm 圓心位于 100 200 的Circle類 也就是一個(gè)實(shí)例 當(dāng)要求它以綠顏色在屏幕上顯示自己時(shí) 在C 語言中應(yīng)該向它發(fā)下列消息 MyCircle Show GREEN 其中 MyCircle是接受消息的對(duì)象名 Show是消息選擇符 即消息名 圓括號(hào)內(nèi)的GREEN是消息的變元 當(dāng)Mycircle接收到這個(gè)消息后 將執(zhí)行在Circle類中所定義的Show操作 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蟮母拍?封裝 所謂封裝就是把某個(gè)事物包起來 使外界不知道該事物的具體內(nèi)容 在面向?qū)ο蟮某绦蛑?把數(shù)據(jù)和實(shí)現(xiàn)操作的代碼集中起來放在對(duì)象內(nèi)部 數(shù)據(jù)與方法代碼的內(nèi)部細(xì)節(jié)對(duì)外界隱藏 這樣對(duì)其的任何改變可能引起的副作用只能作用在內(nèi)部 不會(huì)傳播 封裝是軟件復(fù)用的基礎(chǔ) 被封裝對(duì)象間的接口大大地簡化了 對(duì)象之間通過消息聯(lián)系它時(shí)不再關(guān)心對(duì)象內(nèi)部的數(shù)據(jù)結(jié)構(gòu) 系統(tǒng)的耦合度降低了 含義 優(yōu)點(diǎn) 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蟮母拍?繼承 含義 分類 類之間的繼承關(guān)系是現(xiàn)實(shí)世界中遺傳關(guān)系的直接模擬 它表示類之間的內(nèi)在聯(lián)系以及對(duì)屬性和操作的共享 即子類可沿用父類 被繼承 的某些特征 當(dāng)然也可以具有自己獨(dú)有的屬性和操作 單重繼承 多重繼承 子類僅從一個(gè)父類繼承屬性和行為 而且子類可以覆蓋父類的部分屬性和方法 子類可從多個(gè)父類繼承屬性和方法 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蟮母拍?類繼承實(shí)例 汽車是抽象層次較高的概念 在汽車類的基礎(chǔ)上可以分出轎車類與貨車類等 如果再細(xì)分 還可在轎車類的基礎(chǔ)上分出商用轎車與家用轎車等 由于商用轎車與家用轎車作為轎車在絕大多數(shù)的屬性和行為上是一致的 可以把轎車類看成是家用轎車的父類 而家用轎車這個(gè)子類繼承了父類所擁有的屬性與行為 并在父類的基礎(chǔ)上加入了特殊化的屬性與行為而形成了新的類 在類的層次結(jié)構(gòu)中 相對(duì)上層的是超類 superclass 相對(duì)下層的是子類 subclass 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蟮母拍?33面向?qū)ο蟮男枨蠓治?面向?qū)ο蠓椒ê喗?面向?qū)ο蠓椒ㄖС秩N基本的活動(dòng) 識(shí)別對(duì)象和類描述對(duì)象和類之間的關(guān)系通過描述每個(gè)類的功能定義對(duì)象的行為 面向?qū)ο蠓椒?Booch方法 提出面象對(duì)象的軟件工程的概念OMT方法 提出面象對(duì)象的建模技術(shù)方法OOSE方法 用例貫穿于軟件整個(gè)開發(fā)過程 UML 在Booch方法 OMT方法和OOSE方法的基礎(chǔ)上推出了統(tǒng)一的建模語言 UML 1997年被國際對(duì)象管理組織 OMG 確定為標(biāo)準(zhǔn)的建模語言 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蠓治鲞^程 面向?qū)ο蠓椒▽?shí)際上是一整套的軟件開發(fā)方法 它包括面向?qū)ο蟮姆治鯫OA 面向?qū)ο蟮脑O(shè)計(jì)OOD 面向?qū)ο蟮木幊蘋OP 面向?qū)ο蟮臏y試OOT等 可以看出面向?qū)ο蠓椒梢载灤┸浖_發(fā)的整個(gè)過程 OOA方法的關(guān)鍵 是識(shí)別問題域內(nèi)的對(duì)象 并分析它們相互間的關(guān)系 最終建立起問題域的簡潔 精確 可理解的正確模型 這是面向?qū)ο蠓治龅氖滓蝿?wù)在實(shí)際工作中 建模的步驟并不一定嚴(yán)格按照前面講述的次序進(jìn)行 OOA分析過程 分析用戶需求 識(shí)別類與對(duì)象 確定對(duì)象的內(nèi)部特征 識(shí)別對(duì)象之間的關(guān)系 定義主題詞 系統(tǒng)分析員應(yīng)該深入地理解用戶需求 抽象出目標(biāo)系統(tǒng)的本質(zhì)屬性 并用模型準(zhǔn)確表示來 另外要向領(lǐng)域?qū)<覍W(xué)習(xí) 確定問題域中的類和對(duì)象 確定對(duì)象的屬性的操作 分類關(guān)系 一般 特殊 組成關(guān)系 整體 部分 還有反映對(duì)象屬性之間聯(lián)系的實(shí)例連接 反映對(duì)象行為之間依賴關(guān)系的消息等 概念上把大型的 復(fù)雜的系統(tǒng)包含的內(nèi)容分解成若干個(gè)范疇 33面向?qū)ο蟮男枨蠓治?面向?qū)ο蠓治鲞^程 34UML概述 1997年UML1 1被對(duì)象管理組織OMG確定為標(biāo)準(zhǔn)建模語言是軟件工程領(lǐng)域最重要的 具有劃時(shí)代重大意義的事件 UML是一種定義良好 易于表達(dá) 功能強(qiáng)大且普遍適用的標(biāo)準(zhǔn)的圖形化建模語言 用它可以簡明 準(zhǔn)確地為目標(biāo)系統(tǒng)建立模型 它融入了軟件工程領(lǐng)域的新思想 新方法和新技術(shù) 它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計(jì) 還支持從需求分析開始的軟件開發(fā)的全過程 34UML概述 UML的結(jié)構(gòu) 一 UML中的基本構(gòu)造塊 UML建模的積木塊 構(gòu)成UML模型的基本構(gòu)造塊有三種積木元素或積木組合體 即 反應(yīng)的是類與類之間聯(lián)系的方法與性質(zhì) 關(guān)系有依賴 關(guān)聯(lián) 繼承 實(shí)現(xiàn)和聚合5種 圖是軟件系統(tǒng)在不同角度上的投影 它是一組元素的表示 包含了事物及其關(guān)系的組合 UML有九種圖 事物是UML模型中的靜態(tài)元素 UML中共有11種不同的事物 事物 關(guān)系 圖 UML中的 事物 34UML概述 UML的結(jié)構(gòu) 二 UML中的規(guī)則 UML建模的 粘合劑 UML中的規(guī)則是為了將UML中的構(gòu)造塊有機(jī)地組裝在一起形成一個(gè)結(jié)構(gòu)良好的模型而對(duì)事物進(jìn)行描述的語義規(guī)則 5種規(guī)則 1 為事物 關(guān)系命名的命名規(guī)則2 給一個(gè)名字以特定含義的范圍規(guī)則3 使名字可見或如何使用的可見性規(guī)則4 描述事件正確 一致地相互聯(lián)系的完整性規(guī)則5 描述運(yùn)行或模擬動(dòng)態(tài)模型含義的執(zhí)行規(guī)則 34UML概述 UML的結(jié)構(gòu) 三 應(yīng)用于UML的通用機(jī)制 UML模型的圖紙說明 為了對(duì)UML模型進(jìn)行進(jìn)一步的說明 同時(shí)增強(qiáng)其表達(dá)能力 UML提供了4種在整個(gè)語言中可以一致應(yīng)用的 通用機(jī)制 可以認(rèn)為是對(duì)UML模型的圖紙說明 四種機(jī)制 規(guī)格說明 修飾 通用劃分 擴(kuò)展機(jī)制 UML圖形每個(gè)部分后面的語法語義描述 UML表示法中每個(gè)元素都有一個(gè)基本符號(hào) UML構(gòu)造塊有兩種劃分 即類與對(duì)象 接口與實(shí)現(xiàn) 提高UML語言表達(dá)能力 它包含構(gòu)造型 標(biāo)記值和約束等3種類型 34UML概述 UML的結(jié)構(gòu) 34UML概述 UML的圖 UML主要用圖來表達(dá)模型的內(nèi)容 而圖又由代表模型元素的圖形符號(hào)組成 學(xué)會(huì)使用UML的圖 是學(xué)習(xí) 使用統(tǒng)一建模語言UML的關(guān)鍵 UML的重要內(nèi)容可以由下列五類圖 共9種圖形 UML圖 用例圖 Use casediagram 靜態(tài)圖 Staticdiagram 行為圖 Behaviordiagram 交互圖 Interactivediagram 實(shí)現(xiàn)圖 Implementationdiagram 34UML概述 UML的應(yīng)用 UML的目標(biāo)是用面向?qū)ο蟮膱D形方式來描述任何類型的系統(tǒng) 因此 具有很寬的應(yīng)用領(lǐng)域 其中最常用的是建立軟件系統(tǒng)模型 但是它同樣也可以用于描述非計(jì)算機(jī)軟件的其他系統(tǒng) 如機(jī)械系統(tǒng) 商業(yè)系統(tǒng) 企業(yè)機(jī)構(gòu)或業(yè)務(wù)過程 處理復(fù)雜數(shù)據(jù)的信息系統(tǒng) 具有實(shí)時(shí)要求的工業(yè)系統(tǒng)或工業(yè)過程等 總之 UML是一個(gè)通用的標(biāo)準(zhǔn)建模語言 可以為任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)建立模型 UML適用于系統(tǒng)開發(fā)全過程 需求分析 分析 設(shè)計(jì) 編碼 測試 捕獲用戶的需求 用例建模 用UML的邏輯視圖和動(dòng)態(tài)視圖來描述問題域中的基本概念 例如抽象 類和對(duì)象等 和機(jī)制 類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu) 合作圖 順序圖 活動(dòng)圖和狀態(tài)圖描述系統(tǒng)的動(dòng)態(tài)行為 把分析階段的結(jié)果擴(kuò)展成技術(shù)解決方案 加入新的類來定義軟件系統(tǒng)的技術(shù)方案細(xì)節(jié) 設(shè)計(jì)階段用和分析階段類似的方式使用UML 這個(gè)階段的任務(wù)是把來自設(shè)計(jì)階段的類轉(zhuǎn)換成某種面對(duì)象程序語言的代碼 如VB C Java等 UML模型可作為測試階段的依據(jù) 單元測試使用類圖和類規(guī)格說明 集成測試使用構(gòu)件圖和合作圖 系統(tǒng)測試使用用例圖來驗(yàn)證系統(tǒng)的行為 34UML概述 UML的應(yīng)用 一 UML的應(yīng)用領(lǐng)域 二 UML的建模機(jī)制 UML9個(gè)模型 UML9種圖 UML5個(gè)視圖 業(yè)務(wù)模型 領(lǐng)域模型 用例模型 分析模型 設(shè)計(jì)模型 過程模型 部署模型 實(shí)現(xiàn)模型 測試模型 用例視圖 設(shè)計(jì)視圖 進(jìn)程視圖 實(shí)現(xiàn)視圖 實(shí)施視圖 用例圖 靜態(tài)圖 包括類圖 對(duì)象圖和包圖 行為圖 包括狀態(tài)圖和活動(dòng)圖 交互圖 包括順序圖和協(xié)作圖 實(shí)現(xiàn)圖 構(gòu)件圖和配置圖 34UML概述 UML的應(yīng)用 靜態(tài)建模 動(dòng)態(tài)建模 反映的是目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù) 用例圖 類圖 對(duì)象圖 包 構(gòu)件圖 配置圖等是靜態(tài)建模機(jī)制 其中尤以用例圖和類圖最為重要 強(qiáng)調(diào)的是系統(tǒng)的行為 動(dòng)態(tài)建模所建立的模型或者可以執(zhí)行 或者表示執(zhí)行時(shí)的時(shí)序狀態(tài)或交互關(guān)系 它包括狀態(tài)圖 活動(dòng)圖 順序圖和合作圖等四個(gè)圖形 是標(biāo)準(zhǔn)建模語言UML的動(dòng)態(tài)建模機(jī)制 UML建模 34UML概述 UML的應(yīng)用 在UML中可以通過用例圖來構(gòu)造目標(biāo)系統(tǒng)的用例模型 它通過用例來捕獲用戶需求 通過用例建模 描述對(duì)系統(tǒng)感興趣的外部角色及其對(duì)系統(tǒng) 用例 的功能要求 它從系統(tǒng)外部觀察系統(tǒng) 而不涉及到技術(shù)上如何做這些事 34UML概述 UML中的需求分析 用例圖的創(chuàng)建 一 用例模型 Usecasemodel 描述的是外部執(zhí)行者 Actor 所理解的系統(tǒng)功能 用例模型用于需求分析階段 在UML中 一個(gè)用例模型由若干個(gè)用例圖描述 用例圖的主要元素是用例和執(zhí)行者 用例模型是開發(fā)者和用戶對(duì)需求規(guī)格達(dá)成的共識(shí) 用例模型 描述了待開發(fā)系統(tǒng)的功能需求 它將系統(tǒng)看作黑盒 從外部執(zhí)行者的角度來理解系統(tǒng) 它驅(qū)動(dòng)了需求分析之后各階段的開發(fā)工作 影響開發(fā)工作的各個(gè)階段和UML的各個(gè)模型 用例模型功能 34UML概述 UML中的需求分析 用例圖的創(chuàng)建 二 用例 usecase 一個(gè)用例是用戶與計(jì)算機(jī)之間的一次典型交互過程 在UML中 用例表示為一個(gè)橢圓 含義 1 用例捕獲某些用戶可見的需求 實(shí)現(xiàn)一個(gè)具體的用戶目標(biāo) 2 用例由執(zhí)行者激活 并提供確切的值給執(zhí)行者 3 用例可大可小 但它必須是對(duì)一個(gè)具體的用戶目標(biāo)實(shí)現(xiàn)的完整描述 特點(diǎn) 34UML概述 UML中的需求分析 用例圖的創(chuàng)建 舉例 教師測評(píng)系統(tǒng)用例圖 以 測評(píng)系統(tǒng) 為例 一個(gè)學(xué)生測評(píng)某位老師 和 管理員進(jìn)行測評(píng)數(shù)據(jù)處理 便是兩個(gè)典型的用例 34UML概述 UML中的需求分析 用例圖的創(chuàng)建 三 執(zhí)行者 Actor 含義 執(zhí)行者是指用戶在系統(tǒng)中所扮演的角色 其圖形化的表示是一個(gè)小人 通信聯(lián)系 不帶箭頭的線段將執(zhí)行者與用例連接到一起 表示兩者之間交換信息 注意 盡管執(zhí)行者在用例圖中是用類似人的圖形來表示的 但執(zhí)行者未必是人 意義 面對(duì)一個(gè)大系統(tǒng) 要列出用例清單常常是十分困難 這時(shí)可先列出執(zhí)行者清單 再對(duì)每個(gè)執(zhí)行者列出它的用例 問題就會(huì)變得容易很多 34UML概述 UML中的需求分析 用例圖的創(chuàng)建 四 使用和擴(kuò)展 UseandExtend 擴(kuò)展關(guān)系 當(dāng)一個(gè)用例使用另一個(gè)用例時(shí) 這兩個(gè)用例之間就構(gòu)成了使用關(guān)系 當(dāng)一個(gè)用例與另一個(gè)用例相似 但所做的動(dòng)作多一些 就可以用到擴(kuò)展關(guān)系 使用關(guān)系 說明 使用和擴(kuò)展是兩種不同形式的繼承關(guān)系 34UML概述 UML中的需求分析 用例圖的創(chuàng)建 舉例 例中學(xué)位課程的學(xué)習(xí)包括課程設(shè)計(jì) 因此構(gòu)成了使用關(guān)系 學(xué)位課程學(xué)習(xí)比專業(yè)課程學(xué)習(xí)有更多的要求 因此構(gòu)成了擴(kuò)展關(guān)系 34UML概述 UML中的需求分析 用例圖的創(chuàng)建 五 用例模型的獲取 步驟 獲取執(zhí)行者 1 使用系統(tǒng)的主要功能 主要使用者 l2 誰需要系統(tǒng)支持他們的日常工作 l3 誰來維護(hù) 管理使系統(tǒng)正常工作 輔助使用者 4 系統(tǒng)需要操縱哪些硬件 5 系統(tǒng)需要與哪些其它系統(tǒng)交互 包含其它計(jì)算機(jī)系統(tǒng)和其它應(yīng)用程序 獲取用例 l執(zhí)行者要求系統(tǒng)提供哪些功能 執(zhí)行者需要做什么 l執(zhí)行者需要讀 產(chǎn)生 刪除 修改或存儲(chǔ)的信息有哪些類型 l必須提醒執(zhí)行者的系統(tǒng)事件有哪些 或者執(zhí)行者必須提醒系統(tǒng)的事件有哪些 怎樣把這些事件表示成用例中的功能 l為了完整地描述用例 還需要知道執(zhí)行者的某些典型功能能否被系統(tǒng)自動(dòng)實(shí)現(xiàn) l系統(tǒng)需要何種輸入輸出 輸入從何處來 輸出到何處 當(dāng)前運(yùn)行系統(tǒng) 也許是一些手工操作而不是計(jì)算機(jī)系統(tǒng) 的主要問題 34UML概述 UML中的需求分析 用例圖的創(chuàng)建 舉例 教師測評(píng)系統(tǒng)用例模型 34UML概述 UML中的需求分析 用例圖的創(chuàng)建 第四章軟件設(shè)計(jì) 41軟件設(shè)計(jì)基本概念 軟件設(shè)計(jì)工作內(nèi)容 將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu) 確定系統(tǒng)級(jí)接口 全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式 確立每個(gè)模塊的實(shí)現(xiàn)算法 局部數(shù)據(jù)結(jié)構(gòu) 用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié) 41軟件設(shè)計(jì)基本概念 軟件模塊定義 整個(gè)軟件被劃分成若干單獨(dú)命名和可編址的部分 稱之為模塊 模塊的基本屬性 模塊實(shí)現(xiàn)什么功能 模塊的內(nèi)部實(shí)現(xiàn)邏輯 該模塊使用時(shí)的環(huán)境和條件 41軟件設(shè)計(jì)基本概念 模塊劃分的原則 劃分模塊的重要目標(biāo)是提高模塊的獨(dú)立性 度量模塊獨(dú)立性的兩個(gè)準(zhǔn)則是模塊間的內(nèi)聚性和耦合性 好的軟件結(jié)構(gòu)應(yīng)該具有高內(nèi)聚 低耦合的模塊化結(jié)構(gòu) 內(nèi)聚性 耦合性 內(nèi)聚性是一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量 耦合性是模塊間互相連接的緊密程度的度量 它取決于各個(gè)模塊之間接口的復(fù)雜度 調(diào)用方式以及哪些信息通過接口 41軟件設(shè)計(jì)基本概念 內(nèi)聚性 模塊內(nèi)聚按照模塊獨(dú)立性由高到低的順序敘述如下 1 功能內(nèi)聚 2 信息內(nèi)聚 3 通信內(nèi)聚 4 過程內(nèi)聚 5 時(shí)間內(nèi)聚 6 邏輯內(nèi)聚 7 巧合內(nèi)聚 41軟件設(shè)計(jì)基本概念 耦合性 1 非直接耦合 2 數(shù)據(jù)耦合 3 標(biāo)記耦合 4 控制耦合 5 外部耦合 6 公共耦合 7 內(nèi)容耦合 模塊間的耦合按照模塊獨(dú)立性由高到低的順序列舉如下 42概要設(shè)計(jì) 概要設(shè)計(jì)需要完成的工作 1 制定規(guī)范 2 軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì) 3 處理方式設(shè)計(jì) 4 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 5 可靠性設(shè)計(jì) 6 編寫概要設(shè)計(jì)階段的文檔 42概要設(shè)計(jì) 概要設(shè)計(jì)的目標(biāo) 概要設(shè)計(jì)的主要目標(biāo)是把需求轉(zhuǎn)換為軟件的體系結(jié)構(gòu) 軟件的體系結(jié)構(gòu) 程序的模塊結(jié)構(gòu) 程序的數(shù)據(jù)結(jié)構(gòu) 42概要設(shè)計(jì) 設(shè)計(jì)程序的模塊結(jié)構(gòu) 程序的模塊結(jié)構(gòu)表明了程序各個(gè)部件 模塊 的組織情況 是軟件的過程表示 42概要設(shè)計(jì) 模塊間關(guān)系的表示 結(jié)構(gòu)圖反映程序中模塊間的調(diào)用關(guān)系和模塊間信息的傳遞 結(jié)構(gòu)圖的要素包括 1 模塊 模塊用矩形框表示 并用模塊的名字標(biāo)記它 2 模塊的調(diào)用關(guān)系和接口 模塊之間用單向箭頭聯(lián)結(jié) 箭頭從調(diào)用模塊指向被調(diào)用模塊 表示調(diào)用模塊調(diào)用了被調(diào)用模塊 42概要設(shè)計(jì) 設(shè)計(jì)程序的數(shù)據(jù)結(jié)構(gòu) 1 確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)以及數(shù)據(jù)庫的模式 子模式 進(jìn)行數(shù)據(jù)完整性和安全性的設(shè)計(jì) 2 確定輸入 輸出文件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu) 3 結(jié)合算法設(shè)計(jì) 確定算法所必需的邏輯數(shù)據(jù)結(jié)構(gòu)及其操作 4 確定對(duì)邏輯數(shù)據(jù)結(jié)構(gòu)所必需的那些操作的程序模塊 軟件包 5 限制和確定各個(gè)數(shù)據(jù)設(shè)計(jì)決策的影響范圍 6 若需要與操作系統(tǒng)或調(diào)度程序接口所必須的控制表等數(shù)據(jù)時(shí) 確定其詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和使用規(guī)則 7 數(shù)據(jù)的保護(hù)性設(shè)計(jì) 43詳細(xì)設(shè)計(jì) 詳細(xì)設(shè)計(jì)需要完成的工作 在詳細(xì)設(shè)計(jì)過程中 需要完成的工作是 1 確定軟件各個(gè)組成部分內(nèi)的算法以及各部分的內(nèi)部數(shù)據(jù)組織 2 選定某種過程的表達(dá)形式來描述各種算法 可選用的過程表達(dá)形式有 流程圖 盒圖 PAD圖等 3 編寫詳細(xì)設(shè)計(jì)說明書 4 制定單元測試計(jì)劃 5 進(jìn)行詳細(xì)設(shè)計(jì)評(píng)審 43詳細(xì)設(shè)計(jì) 詳細(xì)設(shè)計(jì)的表示 詳細(xì)設(shè)計(jì)中應(yīng)采用合適的方式來描述模塊內(nèi)問題解決過程的細(xì)節(jié) 采用結(jié)構(gòu)化的圖形設(shè)計(jì)表示法是人們易于使用 易于理解的方式 43詳細(xì)設(shè)計(jì) 程序流程圖 43詳細(xì)設(shè)計(jì) 標(biāo)準(zhǔn)流程圖符號(hào) 我國國家標(biāo)準(zhǔn)局批準(zhǔn)的國家標(biāo)準(zhǔn) GB1525 89 流程圖符號(hào) 43詳細(xì)設(shè)計(jì) 標(biāo)準(zhǔn)流程圖示例 43詳細(xì)設(shè)計(jì) 盒圖 N S圖 43詳細(xì)設(shè)計(jì) 面向數(shù)據(jù)結(jié)構(gòu)的詳細(xì)設(shè)計(jì)方法Jackson方法 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 面向?qū)ο蟮姆治雠c設(shè)計(jì)步驟 使用面向?qū)ο蟮脑O(shè)計(jì)方法 同樣需要得出軟件的體系結(jié)構(gòu) 首先 需要將系統(tǒng)劃分為子系統(tǒng) 可以使用包來描述子系統(tǒng) 根據(jù)子系統(tǒng)提供的操作定義它們的接口 然后設(shè)計(jì)子系統(tǒng)的概念模型 對(duì)復(fù)雜的子系統(tǒng) 可以繼續(xù)將其分解 得到更簡單的子系統(tǒng) 直到得出子系統(tǒng)內(nèi)待解決問題域中的類 確定子系統(tǒng)中存在的類及類之間的關(guān)系 并定義了子系統(tǒng)的接口及關(guān)系后 便完成了系統(tǒng)的靜態(tài)建模工作 接下來需要描述待解決問題域中類的動(dòng)態(tài)行為 從而建立問題解決過程的系統(tǒng)動(dòng)態(tài)模型 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 識(shí)別類 為了描述一個(gè)軟件系統(tǒng) 識(shí)別其中的對(duì)象并將其抽象為類是極為關(guān)鍵的 識(shí)別類和對(duì)象的一些好的方法 1 通過實(shí)體 關(guān)系模型識(shí)別類和對(duì)象 2 基于自然語言信息識(shí)別類和對(duì)象 3 基于用例與序列圖識(shí)別類和對(duì)象 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 篩選出正確的類 篩選時(shí)主要依據(jù)下列標(biāo)準(zhǔn) 刪除不正確或不必要的類 對(duì)象 冗余如果兩個(gè)類表達(dá)了同樣的信息 則應(yīng)該保留在此問題域中最富于描述的類 無關(guān)現(xiàn)實(shí)世界中存在許多對(duì)象 不能把它們都納入到系統(tǒng)中去 僅需要把與本問題密切相關(guān)的類 對(duì)象放進(jìn)目標(biāo)系統(tǒng)中 有些類在其他問題中可能很重要 但與當(dāng)前要解決的問題無關(guān) 同樣也應(yīng)該把它們刪掉 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 篩選出正確的類 續(xù) 籠統(tǒng)在需求陳述中常常使用一些籠統(tǒng)的 泛指的名詞 雖然在初步分析時(shí)把它們作為候選的類 對(duì)象列出來了 但是 要么系統(tǒng)無須記憶有關(guān)它們的信息 要么在需求陳述中有更明確更具體的名詞對(duì)應(yīng)它們所暗指的事務(wù) 因此 通常把這些籠統(tǒng)的或模糊的類去掉 屬性在需求陳述中有些名詞實(shí)際上描述的是其他對(duì)象的屬性 應(yīng)該把這些名詞從候選類 對(duì)象中去掉 當(dāng)然 如果某個(gè)性質(zhì)具有很強(qiáng)的獨(dú)立性 則應(yīng)把它作為類而不是作為屬性 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 篩選出正確的類 續(xù) 操作在需求陳述中有時(shí)可能使用一些既可作為名詞 又可作為動(dòng)詞的詞 應(yīng)該慎重考慮它們在本問題中的含義 以便正確地決定把它們作為類還是作為類中定義的操作 實(shí)現(xiàn)在分析階段不應(yīng)該過早地考慮怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng) 因此 應(yīng)該去掉僅和實(shí)現(xiàn)有關(guān)的候選的類 對(duì)象 在設(shè)計(jì)和實(shí)現(xiàn)階段 這些類 對(duì)象可能是重要的 但在分析階段過早地考慮它們反而會(huì)分散我們的注意力 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 確定屬性 一般來說 確定屬性的過程包括分析和選擇兩個(gè)步驟 分析在需求陳述中用名詞詞組表示屬性 例如 汽車的顏色 或 光標(biāo)的位置 往往用形容詞表示可枚舉的具體屬性 例如 紅色的 打開的 但是 不可能在需求陳述中找到所有屬性 分析員還必須藉助于領(lǐng)域知識(shí)和常識(shí)才能分析得出需要的屬性 選擇認(rèn)真考察經(jīng)初步分析而確定下來的那些屬性 從中刪除不正確的或不必要的屬性 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 使用類圖來描述類 類圖通常表示為長方形 長方形又分三個(gè)部分 分別用來表示類的名字 屬性和操作 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 類圖中類之間的關(guān)系及表示普通關(guān)聯(lián) 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 類圖中類之間的關(guān)系及表示導(dǎo)航關(guān)聯(lián) 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 類圖中類之間的關(guān)系及表示關(guān)聯(lián)中的角色 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 類圖中類之間的關(guān)系及表示聚合 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 類圖中類之間的關(guān)系及表示復(fù)合聚合 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 類圖中類之間的關(guān)系及表示通用化 繼承 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 使用包來組織類 包 package 是一種組合機(jī)制 把許多類集合成一個(gè)更高層次的單位 形成一個(gè)高內(nèi)聚 低耦合的類的集合 包圖是一個(gè)很有用的工具 特別是對(duì)于改進(jìn)系統(tǒng)的結(jié)構(gòu)非常有幫助 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 動(dòng)態(tài)建模表示方法 順序圖 狀態(tài)圖 合作圖 其它 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 狀態(tài)圖 所有對(duì)象都具有狀態(tài) 狀態(tài)是對(duì)象執(zhí)行了一系列活動(dòng)的結(jié)果 當(dāng)某個(gè)事件發(fā)生后 對(duì)象的狀態(tài)將發(fā)生變化 狀態(tài)圖中定義的狀態(tài)有 初態(tài) 終態(tài) 中間狀態(tài) 復(fù)合狀態(tài) 其中 初態(tài)是狀態(tài)圖的起始點(diǎn) 而終態(tài)則是狀態(tài)圖的終點(diǎn) 一個(gè)狀態(tài)圖只能有一個(gè)初態(tài) 而終態(tài)則可以有多個(gè) 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 順序圖 順序圖用來描述對(duì)象之間動(dòng)態(tài)的交互關(guān)系 著重體現(xiàn)對(duì)象間消息傳遞的時(shí)間順序 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 合作圖 合作圖用于描述相互合作的對(duì)象間的交互關(guān)系和鏈接關(guān)系 44面向?qū)ο蟮姆治雠c設(shè)計(jì) 動(dòng)態(tài)建模表示方法小結(jié) 狀態(tài)圖描述跨越多個(gè)用例的單個(gè)對(duì)象的行為 順序圖和合作圖適合描述單個(gè)用例中幾個(gè)對(duì)象的行為 第五章編碼 本章主要內(nèi)容 5 1程序設(shè)計(jì)語言 5 2編碼規(guī)范 5 3結(jié)構(gòu)化程序設(shè)計(jì) 5 4面向?qū)ο蟮脑O(shè)計(jì) 5 5用戶界面設(shè)計(jì) 計(jì)算機(jī)語言分類 面向機(jī)器的程序設(shè)計(jì)語言 面向過程的程序設(shè)計(jì)語言 面向?qū)ο蟮某绦蛟O(shè)計(jì)語言 web編程語言 net程序設(shè)計(jì)語言 51程序設(shè)計(jì)語言 常用程序設(shè)計(jì)語言及其特點(diǎn) 51程序設(shè)計(jì)語言 常用程序設(shè)計(jì)語言及其特點(diǎn) 51程序設(shè)計(jì)語言 常用程序設(shè)計(jì)語言及其特點(diǎn) 51程序設(shè)計(jì)語言 程序設(shè)計(jì)語言的選擇 選擇語言的理想標(biāo)準(zhǔn) 為使程序易測試和維護(hù)以減少生存周期的總成本 選用高級(jí)語言應(yīng)用理想的模塊化機(jī)制 以及可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu) 為便于調(diào)試和提高軟件可靠性 應(yīng)選用編譯程序能夠盡可能多地發(fā)現(xiàn)程序中錯(cuò)誤的語言 為降低軟件開發(fā)和維護(hù)成本 選用的語言應(yīng)具有良好的獨(dú)立的編譯機(jī)制 51程序設(shè)計(jì)語言 程序設(shè)計(jì)語言的選擇 選用語言綜合考慮標(biāo)準(zhǔn) 系統(tǒng)用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論