第一篇:武漢大學軟件工程復習重點總結
軟件工程復習
一、概論
1、軟件的組成:程序+文檔+數據;
軟件的特點:更依賴于人、開發成本進度難以估計、正確性難保證、維護困難、不磨損老化、可長期使用;
軟件開發的三個時期:程序設計語言興起時期、結構化程序設計時期、軟件工程與軟件開發環境時期;
2、軟件危機的表現:難以控制開發進度、軟件工作量難以估計、軟件修改維護困難,原因:需求問題、管理問題、方法工具問題、局限性;
3、軟件工程是:(1)把系統化的、規范的、可度量的途徑應用于軟件開發、運行和維護過程,也就是把工程化應用于軟件中;(2)研究(1)中提到的途徑;
軟件工程三要素:以質量保證為基礎的過程、方法、工具;
4、軟件生存的三個時期:定義時期、開發時期、使用和維護時期;
軟件生存的六個階段:軟件計劃、需求分析、軟件設計、實現編碼、測試、維護;
5、瀑布模型
基本思想:分而治之
優點:規范管理開發過程、文檔驅動
缺點:初期系統的需求難以完全確定、文檔驅動、周期長 V型模型:瀑布模型+質量控制
適用范圍:結構化方法、面向過程的軟件開發方法,需求變化少,開發人員熟悉應用領域,低風險項目,使用環境穩定
6、原型模型
針對軟件開發初期需求難以確定,采用快速原型法 基本思想:快速建立原型,完善用戶需求 優點:用戶參與、快速
缺點:快速、對開發環境要求高
適用范圍:已有產品、有快速原型開發工具、進行產品移植或升級
二、軟件質量評價
1、良軟件結構:具有層次性,無回路塊調用的軟件結構
2、模塊獨立性測量
耦合:零耦合、數據耦合、控制耦合、公共環境耦合、內容耦合,盡量使用數據耦合,少用控制耦合,限制公共環境變量耦合的范圍,完全不用內容耦合; 內聚:偶然內聚、邏輯內聚、時間內聚、過程內聚、通信內聚、順序內聚、功能內聚,內聚更重要
3、軟件質量定性評價
用戶角度:達到需求、界面友好、簡單易學
開發人員角度:良結構、易測試、易維護、可移植
4、軟件質量定量評價——軟件度量:軟件復雜性度量(規模、文本復雜性、控制結構的復雜性)、軟件可靠性度量(系統故障率、軟件修復與軟件有效性、軟件可靠性估算)
5、軟件質量好的宏觀標準:可靠性、良軟件結構、文檔齊全
三、軟件計劃
1、任務:弄清開發項目的性質、目標、規模、可行性、成本、風險分析、開發計劃等,并編寫項目任務說明書(項目計劃書、可行性分析報告)
2、可行性研究的內容:經濟可行性(成本效益分析)、技術可行性(風險分析、資源分析、技術分析)、法律可行性、開發方案的選擇
3、軟件項目的量化估算:成本估算&工作量估算(代碼行成本估算、階段成本估算)、工程進度安排(甘特圖、任務網絡圖)
四、軟件需求分析
1、需求分析的任務:問題分析、需求描述、需求評審
2、初步獲取需求技術:調研、閱讀相關資料、市場問卷調查、同類產品用戶手冊等
3、需求內容:功能性需求、非功能性需求(技術需求)
4、需求建模方法
面向數據流的分析方法:結構化方法建模、實體關系圖、數據流圖、狀態轉換圖
面向對象的分析方法 面向數據結構的分析方法
五、傳統軟件設計方法
1、設計啟發規則:提高模塊獨立性(水平劃分、垂直劃分)、模塊規模適中、深度廣度扇入扇出適當、作用域在控制域內、降低接口的復雜程度、單出單入避免內容耦合、模塊功能可預測
2、表示軟件結構的圖形工具:層次圖(調用關系)、HIPO圖(H圖+IPO圖+IPO表)、結構圖
3、軟件系統設計技術
面向數據流的設計方法:DFD的類型決定映射方法(變換流、事務流、混合型)SA/SD方法優點:自頂向下,逐步求精,各模塊可單獨設計、編碼、測試、修改 SA/SD方法缺點:紙上設計,長時間偏離軟件實體、開發周期長、剝離了數據/功能的關系、頂在何方,下到何處
面向數據結構的設計方法:Jackson方法、Warnier方法 原型法
4、詳細設計
設計表示方法:流程圖、PAD、偽碼 流程圖:
5、結構化程序設計(SP):避免用GOTO語句、自頂向下的程序設計、一種組織和編程方法、主要作用是使程序正確性的證明易于實現、討論如何將大規模和復雜的流程圖轉換為一種標準形式,能用幾種標準的控制結構通過嵌套來表示。
6、結構化定理:任何正規程序都可語義等價于由基集合{順序、條件、循環}通過嵌套復合成結構化程序。
正規程序:有一個入口點和出口點、程序中的任何一個結點都可以找一條從入口點經過該點到出口點的路徑。
六、軟件編碼
1、結構化程序設計的觀點首要是強調好的結構而不是效率,它的目的在于編寫結構清晰、易于理解,也易于驗證的程序
七、軟件測試
1、程序正確性證明
2、測試:也是軟件的“建設性”,為了發現程序中的錯誤而執行程序的過程,證明程序錯誤,暴露錯誤;分為動態測試和靜態測試。
3、動態測試分為黑盒測試(功能測試法)和白盒測試
黑盒測試方案:等價劃分法、邊界值分析法、錯誤推測法
等價劃分的評價:選用等價類中的任意值/典型值作為用例、沒有選用某些高效率的測試方案;
邊界值分析的評價:邊界值易發現錯誤,考慮輸出等價類,聯合使用等價劃分和邊界值分析法
白盒測試方案:語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋
4、軟件測試的步驟與策略 單元測試:模塊、白盒法
集成測試:接口、多以黑盒為主,輔以白盒
增式測試法:
自頂向下集成,深度優先策略、寬度優先策略
優勢:盡早測試主要控制、關鍵選擇(上層)、盡早實現軟件的完整
功能并驗證、無需driver 缺點:需編寫stub、底層關鍵模塊測試晚、軟件結構中沒有重要的數據自下往上流、并行測試困難 自底向上集成,優勢:無需stub、可盡早并行測試、可盡早發現底層關鍵模塊的錯誤、易建立測試條件和判定測試結果
缺點:需編寫driver、接口出錯發現較遲、系統輪廓形成較晚 混合法
確認測試:驗證軟件的有效性、以用戶為主或用戶積極參與、黑盒法
系統測試:軟件作為計算機系統的一部分,與硬件、外設等其它系統結合起來,對計算機系統進行一系列的集成測試和確認測試
5、面向對象的軟件測試:不能孤立測試單個操作,把操作作為類的一部分來測試(不能再‘真空’中孤立地進行測試操作,有必要在每個子類的語境中測試繼承的操作)、OOM易于測試與糾錯
八、軟件維護
1、軟件維護的類型:校正性維護/糾錯性維護、適應性維護、完善性維護、預防性維護
2、提高可維護性的措施
需求分析:清晰、易讀、結構好——易修改
設計:結構層次清晰、獨立性強——修改局部化、靈活的數據邏輯結構——適應處理的變化
編碼:編碼規則、風格,SP,通用性高的PL 測試:測試充分 文檔:
3、維護的副作用:修改軟件后導致新錯誤的發生
編碼的副作用——嚴格執行回歸測試、數據的副作用——完善的設計文檔資料、文檔資料的副作用——對整個軟件配置進行評審
九、軟件管理
1、軟件管理的內容:開發計劃與進度管理、成本估算與控制、人員管理與組織管理、質量管理、文檔管理
2、軟件管理的原則:軟件生存期、按階段確認、質量檢查、自頂向下SP/OOP、職責分明、人員少而精、不斷充實
3、軟件管理的特點:知識密集,非實物性、單品生產,開發過程不確定、開發周期長、內容復雜,正確性難保證、勞動密集,自動化程度低、軟件用法繁瑣,維護困難,費用高
十、軟件開發環境的基本概念
1、SDE的目標:支持軟件生產的全生命周期、支持大型軟件項目、支持基本語言、支持配置管理
2、SDE的特征:整體性、開放性、移植性、堅定性、3、SDE的基本組成:中心信息庫、接口界面、工具組,三級結構——核心級、基本級、應用級,
第二篇:軟件工程復習重點總結
第一章
軟件過程:需求設計實現發布
軟件過程三要素: 過程+方法+工具
瀑布rup scrum Iconix
Scrum是一種迭代式增量軟件開發過程,通常用于敏捷軟件開發。Product Owner、Scrum Master、Team Product Backlog、SprintBacklog、Burndown Chart、Sprint、Sprint Planning Meeting、Daily Standup Meeting、Review Meeting、Retrospective Meeting ICONIX軟件開發過程
愿景、業務建模、需求分析、健壯性分析、系統設計??
思想是重點;過程是方式;方法和工具是載體
第二章
敏捷開發是一種以人為核心、迭代、循序漸進的開發方法。敏
捷是一種思想?Scrum是一個框架
敏捷開發過程知多少?
?Scrum、?極限編程(XP)、?Crystal Methods(水晶方法族)
?特性驅動開發(FDD)
?動態系統開發(DSDM)
?輕量型統一過程(RUP)
調查結果:敏捷開發方法—Scrum最流行!
Scrum的適用場景
?7人,+or-2
?偏小一些會更適合?最好能坐在一起
?客戶參不度高
?快速移動互聯網項目
?自主性研發的產品
第三章
軟件項目是為了改善某個組織的某些方面
–老大就是要改善的組織中最有權力的干系人。
用戶建模四步曲列出盡可能多的用戶識別關鍵用戶(購買決策者/主要使用者)分類,合并次要用戶
4添加虛擬和極端用戶
第四章
?產品backlog是Scrum的核心
產品功能列表格式
?ID(標示符)
–統一標識符
?Name(標題)
–簡短的、描述性的故事名
?Story(故事)
–故事內容描述
?Priority(重要性)
–產品負責人評出一個數值,指示這個故事有多重要
?Initial estimate(初始估計)
–團隊的初步估算,表示不其他故事相比,完成該故事所需的工作量
?How to demo(如何做演示)
–它大略描述了這個故事應該如何在sprint 演示上進行示范
?Notes(注解)
–相關信息、解釋說明和對其它資料的引用等等
產品功能列表由誰來寫?
?思考:由誰來寫?
–主要是Product Owner
–Team也有權利,但最終由PO進行取舍。
用戶故事是一種敏捷的需求挖掘方式,其側重點不是將需求書寫出來,而是將需求討論出來。
按“作為一個??,可以??,以便??”樣式和思路寫成的用戶需求,就是用戶故事。
用戶故事的三個變量
范圍,重要性,估算
好故事的準則
?獨立的(Independ)
?可討論的(Negotiable)
?對用戶戒客戶有價值的(Valuable)
?可估計的(Estimatable)
?小的(Small)
?可測試的(Testable)
Sprint會議如何迚行
–確定Sprint目標及長度
–講解Story、估算時間、任務分解
–決定 sprint 要包含的故事
–一些其他問題
第六章
什么是界面原型
?界面原型指使用工具根據客戶需求及軟件分析人員的理解,將頭腦中的界面快速的反映到介質上。
界面原型的目的?盡早驗證需求
?盡早明確不確定性的因素
?方便溝通交流
?為后續界面設計提供基礎
第八章
ICONIX過程
?ICONIX過程的規模介于RUP和XP之間
?適合中小型的、需求相對明確的軟件項目
?ICONIX核心思想
?開源!節流!
ICONIX軟件過程是用例驅動的軟件過程。
ICONIX過程中的第一步:明確愿景
?愿景是確保項目成功的第一步;
?愿景必須來自老大;
?愿景必須是可度量。
如何獲取軟件項目的愿景
?獲取軟件項目愿景的三步曲:
?第一步:找到軟件項目的“老大”;
?第二步:得到“老大”對項目的期望(愿景);
?第三步:描述出愿景的度量指標;
要點:系統要改善哪個組織的流程?
老大就是要改善的組織中最有權力的干系人
第九章
業務建模的目的:從組織的角度來定位系統的價值。
業務建模
?業務建模的目的是把視角從系統轉向組織,站在客戶角度看問題。
?業務用例是對組織為外部業務執行者提供的價值的建模。
?現狀業務序列圖是對組織價值內部實現流程(業務工人與業務實體的協作)的建模 ?改迚業務序列圖是對新系統為組織提供的改良的建模。
業務建模的步驟:
1.明確我們為誰服務(選定愿景要改進的組織)。
2.要改進的組織是什么現狀(業務用例圖、現狀業務序列圖)。
3.我們如何改進(改進業務序列圖)。
第十章
域建模的步驟
第一步:提取名詞或名詞短語
第二步:排除重復、相似
第三步:排除系統范圍外
第四步:畫出第一版域模型圖
第五步:整理第一版域模型
域模型之間的關系
?泛化[Generalization],一般元素和特殊元素的關系。
?關聯[Association],兩個類乊間存在著某種語義上的聯系。
系統需求分析的目的是把視角轉向新系統,站在最織
用戶(及其它干系人)的角度看問題。
?系統用例是對(新)系統為系統執行者提供的價值的建模
系統用例建模步驟
1.繪制系統用例圖
2.編寫系統用例描述
3.更新域模型
繪制系統用例圖
1.確定系統邊界
2.識別系統執行者
3.識別系統用例
4.確定用例間的關系
用例描述的作用
?用例圖描述總體,用例文檔描述紳節。
?每個用例必須對應有用例描述。
用例描述的基本組成?干系人利益
?基本路徑
?擴展路徑
?業務觃則
軟件產品的典型非功能性需求(RUPS)
?可靠性[Reliability]。
?可用性[Usability]。
?性能[Performance]。
?可支持性[Supportability]。
需求獲取的方法
?研究文檔。
?問卷調查。
?訪談。
?觀察。
?研究競爭對手。
需求分析結果復核
?形式:面對面會議。
?參會人:甲乙雙方在需求分析階段的主要參與者。
?被審材料:域模型、用例圖、用例描述、非功能性需求;
?過程:需求分析師主持,最終需求分析成果,所有參與者交流討論,達成統一理解和確認。?結論:所有參與者簽字確認。(當然,也有可能是未達成共識,需要返工。)
?注意:后續的工作基本不需要用戶的參不了。
第十一章
健壯性分析的步驟
第一步:創建一個空的健壯性圖。
第三步:從基本路徑的第一句話開始畫健壯性圖。
第二步:直接將用例文本粘貼到圖上(基本路徑和擴展路徑)。
第四步:貫串整個用例基本路徑,一次一個句子,畫執行者、適當的邊界對象和實體對象以及控制器,和各元素乊間的連線。
第五步:將每一個擴展路徑畫在健壯性圖上,并以紅色標示出。
在用例驅動的開發模式中,用例的準確完整性是關鍵;
?健壯性分析技術兩個主要的價值:其一幫助完善用例分析結果;其二完善域模型,做為需求分析走向系統設計的過度技術;
?丌要花費太多的精力和時間在本階段,本階段的成果也僅起到過度作用,不納入最終文檔; 第十二章
關鍵設計是功能性需求的設計,成果為類圖和序列圖;
?關鍵設計還沒考慮真實實現的平臺相關因素,因此不能基于這個階段的設計成果開始編碼; ?關鍵設計的方法就是在域模型、用例描述和健壯性分析的基礎上,迭代生成類圖和序列圖;
關鍵設計的步驟
?第一步:將現有的域模型直接作為第一版靜態類模型;
?第二步:基于用例描述和健壯性分析結果,畫出每個用例的序列圖;
?健壯性圖中的控制類會轉化為方法;
?如果也轉化為控制類,那么就添加到類圖中(注意:邊界類丌添加到類圖中); ?第三步:整理靜態類圖和序列圖;
?第四步:關鍵設計復核,迭代更新用例圖、類圖和序列圖;
高內聚、低耦合。是判斷設計好壞的標準。
關鍵設計復核的指導建議
?確保關鍵設計的“如何做”和需求階段的“做什么”匹配。也就是說每個用例都要和序列圖匹配,包含了用例的基本流程和分支流程。
?復核設計的品質。應該至少有一個設計與家在場。
?檢查消息的連貫性。檢查時序圖上消息箭頭的指向,有時我們會發現對象乊間缺少消息而造成跳躍,我們必須消除這些邏輯跳躍。
?確保方法分配給了適當的類,類視圖中的每一個類擁有適當的方法和屬性。
第三篇:武漢大學-軟件工程課程設置
軟件工程課程設置
大一:
英語聽說(專業必修)大學英語(公共必修)體育(公共必修)軍事理論(公共必修)高等數學(公共必修)線性代數(公共必修)
思想道德修養和法律基礎(公共必修)馬克思主義基本原理(公共必修)中國近現代史綱要(公共必修)C++程序設計(專業必修)離散數學(專業必修)
計算機系統導論(專業必修)信息系統導論(專業選修)
大二:
體育(公共必修)大學英語(公共必修)
概率論與數理統計B(公共必修)
毛澤東思想、鄧小平理論和“三個代表”重要思想概論(公共必修)面向對象的程序設計(專業必修)計算機組織與體系結構(專業必修)用戶界面設計與測試(專業必修)數據庫系統(專業必修)數據庫課程實踐(專業必修)操作系統原理(專業必修)數據結構與算法(專業必修)編譯技術及應用(專業必修)數字電路(專業選修)
UML及軟件建模(專業選修)計算機接口與通信(專業選修)大三:
軟件工程(專業必修)
網絡及分布式計算(專業必修)網絡工程與編程實踐(專業必修)解釋器構造(專業必修)系統級別編程(專業必修)
Unix系統程序設計(專業選修)模式識別(專業選修)數字圖像處理(專業選修)C#程序設計(專業選修)日語(專業選修)信息安全(專業選修)
嵌入式軟件技術(專業選修)計算機輔助藝術設計(專業選修)XML及其應用(專業選修)
管理溝通(專業選修)
游戲架構與編程(專業選修)
軟件系統開發課程: SSD1 信息系統導論 SSD2計算機系統導論 SSD3面向對象編程與設計
SSD4以用戶為中心的設計與測試 SSD5數據結構與運算 SSD6系統級別編程 SSD7數據庫系統 SSD8網絡與分配計算
SSD9軟件規范,測試與維護 SSD10軟件項目組織與管理
第四篇:軟件工程重點總結
1、什么是軟件危機?
軟件危機泛指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題。
2、軟件危機的主要表現
(1)對軟件開發成本和進度的估計常常很不準確
(2)用戶對“已完成的”軟件系統不滿意現象經常發生
(3)軟件產品質量往往靠不住
(4)軟件往往是不可維護的(5)軟件通常沒有適當的文檔資料
(6)軟件成本在計算機系統總成本中所占的比例逐年上升
(7)軟件開發生產效率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢
3、軟件危機產生的原因
(1)來自軟件自身的特點
是軟件系統的邏輯部件,缺乏可見性,管理和控制軟件開發過程相當困難;規模龐大、復雜,修改、維護困難。
(2)軟件開發與維護的方法不當
忽視需求分析;認為軟件開發等于程序編寫;輕視軟件維護。
4、如何消除軟件危機?
(1)對計算機軟件有一個正確的認識(軟件≠程序)
(2)必須充分認識到軟件開發不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴密、各類人員協同配合、共同完成的工程項目
(3)推廣使用在實踐中總結出來的開發軟件的成功技術和方法
(4)開發和使用更好的軟件工具
5、面向對象的三種模型:對象模型 動態模型 功能模型 P2166、模塊獨立性的兩個標準:耦合 內聚 P977、軟件測試方法:黑盒測試 白盒測試 P1518、軟件調試的途徑:蠻干法 回溯法 原因排除法 P1789、可行性研究:確定問題是否有行得通的解決辦法 P3510、需求分析:準確地回答“系統必須干什么”這個問題 P5511、軟件成分的重用級別:代碼重用 設計結果重用 分析結果重用
可被重用的軟件成分有:項目計劃,成本估計,體系結構,需求模型和規格說明,設計,源代碼,用戶文檔和技術文檔,用戶界面,數據,測試用例。
12、軟件可靠性的定義:軟件在給定的時間間隔內,按照規格說明書的規定成功地運行的概率。
軟件可用性的定義:程序在給定的時間點,按照規格說明書的規定,成功地運行的概率??煽啃耘c可用性之間的主要差別是,可靠性意味著在0到t這段時間內系統沒有失效,而可用性只意味著在時刻t,系統是正常運行的。P17913、白盒測試:邏輯覆蓋 控制結構測試 P162
黑盒測試:等價劃分 邊界值分析 調試 P171
環形復雜度的計算:復雜度=邊數-點數+2P13714、面向對象的3個子模式:對象模型 動態模型 功能模型 P232
對象模型的5個層次:主題層 類與對象層 結構層 屬性層 服務層 P23215、軟件定義階段干什么事:確定軟件開發工程必須完成的總目標;確定工程的可行性;導
出實現工程目標應該采用的策略及系統必須完成的功能;估計完成該工程需要的資源和成本,并制定工程進度表。
16、類和對象的關系:類是具有相同數據和相同操作的一組相似對象的定義,也就是說,類
是對具有相同屬性和行為的一個或多個對象的描述。類是支持繼承的抽象數據類型,而對象就是類的實例。P21117、UML有哪些圖? P2171、用例圖:展示系統外部的各類執行者與系統提供的各種用例之間的關系
2、類圖:展示系統中類的靜態結構
3、對象圖:是類圖的一種實例化圖
4、狀態圖:描述一類對象具有的所有可能的狀態及其轉移關系
5、時序圖:展示對象之間的一種動態協作關系
6、合作圖:從另一個角度展示對象之間的動態協作關系
7、活動圖:展示系統中各種活動的執行流程
8、構件圖:展示程序代碼的物理結構
9、配置圖:展示軟件在硬件環境中的配置關系
18、能力成熟度模型(CMM):初始級 可重復級 已定義級 已管理級 優化級 P31119、什么是軟件生命周期模型?試比較瀑布模型、快速原型模型、增量模型和螺旋模型的優
缺點,說明每種模型的適用范圍。P33習題1.720、軟件的可維護性定義:維護人員理解、改正、改動或改進這個軟件的難易程度。決定可維護性的因素:可理解性 可測試性 可修改性 可移植性 可重用性。
文檔是影響可維護性的決定性因素。P19521、如何評價軟件規格說明書?
從四個方面:一致性 完整性 現實性 有效性 P7022、層次圖 P10223、深度:軟件結構中控制的層數 P100
寬度:軟件結構中同一個層次上的總數的最大值
扇出:一個模塊直接控制(調用)的模塊數目
散入:一個模塊被多少個上級模塊直接調用
24、面向數據流的設計方法 P10425、類構件的重用方式:實例重用 繼承重用 多態重用
1.什么是軟件工程?軟件工程和計算機科學有何區別?
軟件工程是指導計算機軟件開發和維護的一門工程學科。
計算機科學研究的是構成計算機和軟件系統基礎的有關理論和方法,而軟件工程則是研究軟件制作中的實際問題。
2、流程圖與數據流圖有什么主要區別?
(1)數據流圖(date flow diagram , DFD),是SA方法中用于表示系統邏輯模型的一種工具,它以圖形的方式描繪數據在系統中流動和處理的過程,由于它只反映系統必須完成的邏輯功能,所以它是一種功能模型,是從數據的角度來描述一個系統的;而流程圖則是從對數據加工的角度來描述系統的;
(2)數據流圖中的箭頭是數據流,而流程圖中的箭頭則是控制流,它表達的是程序執行的次序;
(3)數據流圖適合于宏觀地分析一個組織業務概況,而程序流程圖只適合于描述系統中某個加工的執行細節。
(4)數據流程圖應該重點描述了數據加工的過程,主要是模塊內部,數據流圖則是描述模塊之間的關系。
3.軟件需求分析的任務是什么?有哪些主要步驟?
需求分析的基本任務是深入描述軟件的功能和性能、確定軟件設計的約束和軟件同其它系統元素的接口細節、定義軟件的其它有效性需求,總之,需求分析的任務就是借助于當前系統的邏輯模型導出目標系統的邏輯模型,解決目標系統的 “做什么” 的問題。
主要步驟:
1.問題識別
(1)功能需求:明確所開發的軟件必須具備什么樣的功能。
(2)性能需求:明確待開發的軟件的技術性能指標。
(3)環境需求:明確軟件運行時所需要的軟、硬件的要求。
(4)用戶界面需求:明確人機交互方式、輸入輸出數據格式。
2.分析與綜合,導出軟件的邏輯模型
分析人員對獲取的需求,進行一致性的分析檢查,在分析、綜合中逐步細化軟件功能,劃分成各個子功能。用圖文結合的形式,建立起新系統的邏輯模型。
3.編寫文檔
(1)編寫“需求規格說明書”,把雙方共同的理解與分析結果用規范的方式描述出來,作為今后各項工作的基礎。
(2)編寫初步用戶使用手冊,著重反映被開發軟件的用戶功能界面和用戶使用的具體要求,用戶手冊能強制分析人員從用戶使用的觀點考慮軟件。
(3)編寫確認測試計劃,作為今后確認和驗收的依據。
(4)修改完善軟件開發計劃。在需求分析階段對待開發的系統有了更進一步的了解,所以能更準確地估計開發成本、進度及資源要求,因此對原計劃要進行適當修正。
4.簡述結構化分析、設計的要點:
結構化分析方法適合于數據處理類型軟件的需求分析。
其要點是“自頂向下” 地開發系統,由整體到各組成部分,由表及里,由抽象到具體,逐步求精.(1)模塊化
(2)由頂向下,逐步求精.(3)上層模塊分解為下層模塊,有三種不同的結構形式,即順序結構,選擇結構和循環結構.5.數據字典包含哪些主要內容?
數據字典通常包括數據項、數據結構、數據流、數據存儲和處理過程五個部分.據字典內容包括:
數據庫中所有模式對象的信息,如表、視圖、簇、及索引等。
分配多少空間,當前使用了多少空間等。
列的缺省值。
約束信息的完整性。
用戶的名字。
用戶及角色被授予的權限。
用戶訪問或使用的審計信息。
其它產生的數據庫信息。
6.軟件測試的目標是什么,有哪幾種主要有測試方法?
軟件測試的目標:
(1)測試是為了發現程序中的錯誤而執行程序的過程;
(2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案;
(3)成功的測試是發現了至今為止尚未發現的錯誤的測試。
軟件測試的方法有黑盒測試、白盒測試。
7.白盒測試主要有哪些覆蓋?
語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、點覆蓋、邊覆蓋、路徑覆蓋
8、選擇一種程序設計語言的主要有哪些依據?
為了使程序容易測試和維護以減少生命周期的總成本,選用的高級語言應該有理想的模塊化機制,以及可讀性好的控制結構和數據結構;為了便于調試和提高軟件可靠性,語言特點應該使編譯程序能夠盡可能多地發現程序中的錯誤;為了降低軟件開發和維護的成本,選用的語言應該有良好的獨立編譯機制。上述這些要求是選擇語言的理想標準,但是在實際選用語言時不能僅僅考慮理論上的標準,還必須同時考慮實用方面的各種限制。
(1)系統用戶的要求
(2)可以使用的編譯程序
(3)可以得到的軟件工具
(4)系統規模
(5)程序員的知識
(6)軟件可移植性要求
(7)軟件的應用領域
9.軟件的維護的目標是什么,有哪幾種維護類型?
糾正在使用過程中暴露出來的錯誤而進行的改進性維護,適應外部環境的變化而進行的適應性維護,改進原有的軟件而進行的完善性維護,以及改進將來的可維護性和可靠性而進行的預防性維護。
軟件維護主要劃分為糾錯性維護、適應性維護和完善性維護。
(1)糾錯性維護。由于前期的測試不可能揭露軟件系統中所有潛在的錯誤,用戶在使用軟件時仍將會遇到錯誤,診斷和改正這些錯誤的過程稱為糾錯性維護。
(2)適應性維護。由于新的硬件設備不斷推出,操作系統和編譯系統也不斷地升級,為了使軟件能適應新的環境而引起的程序修改和擴充活動稱為適應性維護。
(3)完善性維護。在軟件的正常使用過程中,用戶還會不斷地提出新的需求。為了滿足用戶新的需求而增加軟件功能的活動稱為完善性維護。
10.簡述提高軟件質量的主要措施。
復審:是在軟件生命周期每個階段結束之前,都采用一定的標準對該段產生的軟件配置成分進行嚴格的正式或非正式的檢測。
復查:是檢查已有的材料,以斷定在軟件生命周期某個階段的工作是否能夠開始或繼續。管理復審:是向開發組織或使用部門的管理人員提供有關項目的總體狀況、成本和進度等方面的情況,以便他們從管理角度對開發工作進行審查。
測試:包括測試計劃、測試過程和測試結果3個階段。
11.面向對象如何實現模塊獨立性,其偶合和內聚的含義是什么?
因為對象是由數據及可以對這些數據施加的操作所組成的統一體,而且對象是以數據為中心的,操作圍繞對其數據所需做的處理來設置,沒有無關的操作。因此,對象內部各種元素彼此結合得很緊密。內聚性相當強,由于完成對象所需要的元素(數據和方法)基本上都被封裝在對象內部,它與外界的聯系自然就比較少。因此,對象之間的耦合通常比較松??傊嫦驅ο笫褂脤ο?、類、繼承和消息的方法,既使用類和繼承等機制,而且對象之間僅能通過傳遞消息實現彼此通信來實現模塊的獨立性。
12.面向對象和面向過程軟件工程有哪些區別?
(1)面向過程就是分析出解決問題所需要的步驟,然后用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。面向對象是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。(2)面向過程是把一件事一項工程分解成為一個個小的功能,用一個個函數來實現.面向對象是把事情看成是一個個小的對象組成的,或者說一個個小部分組成的,這些對象之間的相互關系,構成了整個項目.在面向對象的思想中,萬物皆對象。而“類”,就是對象的抽象或者說是概括。
13.簡述對象、類、消息、方法的基本概念。
(1)對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。
(2)類是具有相同或相似性質的對象的抽象。對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。類具有屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性。類具有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描述。
(3)對象之間進行通信的結構叫做消息。在對象的操作中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操作的信息。發送一條消息至少要包括說明接受消息的對象名、發送給該對象的消息名(即對象名、方法名)。一般還要對參數加以說明,參數可以是認識該消息的對象所知道的變量名,或者是所有對象都知道的全局變量名。
(4)類中操作的實現過程叫做方法,一個方法有方法名、參數、方法體。
14.簡述面向對象分析設計的三個模型。
答:三個模型:對象模型、動態模型、功能模型
(1)對象模型描述系統的靜態結構,包括類和對象,它們的屬性和操作,以及它們之間的關系。構造對象模型的目的在于找出與應用程序密切相關的概念。對象模型用包含對象及對象的關系圖表示。
(2)動態模型著重于系統的控制邏輯,考察在任何時候對象及其關系的改變,描述這些涉及時序和改變的狀態。動態模型包括狀態圖和事件跟蹤圖。狀態圖是一個狀態和事件的網絡,側重于描述每一類對象的動態行為。事件跟蹤圖則側重于說明系統執行過程中的一個特點“場景”,也叫做腳本(scenarios),是完成系統某個功能的一個事件序列。腳本通常起始于一個系統外部的輸入事件,結束于一個系統外部的輸出事件。
(3)功能模型著重于系統內部數據的傳送和處理。功能模型表明,通過計算,從輸出數據能得到什么樣的輸出數據,但不考慮參加計算的數據按什么時序執行。功能模型由多個數據流圖組成,它們指明從外部輸出,通過操作和內部存儲,直到外部輸出的整個數據流情況。功能模型還包括了對象模型內部數據間的限制。功能模型中的數據流圖往往形成一個層次結構,一個數據流圖的過程可以由下一層的數據流圖作進一步的說明。
第五篇:武漢大學印刷應用光學復習重點總結(15-16).
第一章:
1、幾何光學四項基本定律: 光的直線傳播定律:均勻介質中光總是沿直線傳播的;光的獨立傳播定律:不同光源(非相干光不同方向的光束獨立傳播;光的反射折射定律:符號正負 光路可逆定律:
2、全反射及其產生條件: 在一定條件下,入射到介質上的光會全部反射回原來的介質中,而沒有折射光產生,這種現象稱為光的全反射現象。
入射光由光密介質進入光疏介質;入射角必須大于臨界角。
3、光程、共軛、完善像: 光程表示在相同的時間內光在真空中通過的路程
共軛:對某一光組組成的光學系統來說,物體的位置固定后,總可以在一個相應的位置上找到物體所成的像,這種物象之間的關系在光學上稱為共軛。
完善像:理想光組能使物空間的同心光束轉化為像空間的同心光束(球面波仍為球面波,也就是物空間一點經光組成的像仍是一點,即物空間與像空間是:點點對應;線線對應;面面對應而形成的像叫完善像
第二章:
1、單球面折射成像存在球差的原因: 軸上物點粗光束成像:r , n , n’給定,已知L 和U ,求解L’和U’,正弦定理,折射定律
2、焦距,近軸相似: 像方焦距:物點位于左方無限遠處的光軸上,即l→∞,表示無窮遠處物點對應的像點,稱為
像方焦點或后焦點。此時像方截距稱為像方焦距,或后焦距。
焦距:像方焦距的正負決定了球面其匯聚還是發散作用,故將像方焦距為焦距近軸相似:將物方傾斜角U限制在一個很小的范圍內,人為選擇靠近光軸的光線,只慮近軸光成像,這時可以認為可以成完善像
第三章:
1、理想光學系統、主平面;理想光學系統:能夠對足夠大空間內的點以足夠寬光束成完善像的光學系統
(通常把物象空間符合“點對應點,直線對應直線,平面對應平面”關系的像稱為“理想像”,把成像符合上述關系的光學系統稱為“理想光學系統”
理想中,每一個物點對應于唯一的一個像點,即“共軛”
理想中,物空間和像空間都是均勻透明介質,根據光的直線傳播定律,由點對應唯一像點可推出直線成像為直線、平面成像為平面,即共線成像理論
主平面:不同位置的共軛面對應不同放大率??傆幸粚曹椕娴拇馆S放大率β=1,稱其為主平面,物平面稱為物方主平面,平面與光軸交點稱為主點
2、求軸上某點的像(多種方法:
第四章:
1、一致像: 當物為左手坐標系,而像變為右手坐標系(或反之,這樣的像稱為“非一致像”,也叫做“鏡像”;當物用左手坐標系,通過光學元件后所成的像仍為左手坐標系,則稱這樣的像為“一致
像”
2、平面鏡旋轉某一角度:平面鏡旋轉:當入射光線方向不變,而平面鏡轉動α角時,反射光線的方向改變2α角
兩個平面鏡同時轉:2I1=2I2+β;I1=I2+ɑ;β=2ɑ
3、棱鏡成像坐標變化判斷(單反相機: 棱鏡成像坐標變化判斷原則:(1沿著光軸的坐標軸和光軸的出射方向一致。
(2垂直于主截面的坐標軸視屋脊面的個數而定,如果有奇數個屋脊面,則其像坐標軸方
向與物坐標軸方向相反;沒有屋脊面或有偶數個屋脊面,則像坐標軸方向與物坐標軸方向一致。
(3平行于主截面的坐標軸的方向視反射面個數(屋脊面按兩個反射面計算而定。如果
物坐標系為右手坐標系,當反射面個數為偶數時,坐標軸按右手坐標系確定;而當反射面個數為奇數時,坐標軸依左手坐標系確定。
▲對于復合棱鏡,且各光軸面不在一個平面內,上述原則在各光軸面內均適用, 可按上述原則在各自光軸面內判斷坐標方向.4、棱鏡成像坐標變化判斷(潛望鏡:
第五章:
1、簡述孔徑光闌與視場光闌的含義:
對光束起限制作用的光學元件;用于限制成像光束大小的光闌稱為孔徑光闌;用于限制成像范圍大小的光闌稱為視場光闌
2、實際成像光學系統中常見的光闌主要有: 孔徑光闌;視場光闌;場鏡;漸暈光闌:由軸外物點發出并充滿入瞳的光束,有一部分光被系統后面的光闌阻擋而不能到達像面,這種使軸外物點光束被限制的現象稱為漸暈;實際情況中,視場光闌設置在像面上,但為了減小系統的橫向尺寸或改善軸外物點的成像質量,其他的通光元件適當的減少尺寸而去攔去部分光線,即人為地在成像范圍內產生部分漸暈,起這種限制作用的光學器件稱為漸暈光闌
第六章:
1、光學成像系統中五種單色幾何像差主要包括: 球差:軸上單色寬光束,出射光與光軸交點位置不同,各交點相對于理想像點的偏移;彗差:軸外單色寬光束,發出的光束通過透鏡后,不再相交一點,則一光點的像便會得到一逗點狀,型如彗星;像散:軸外單色細光束,軸外物點用細光束成像時形成兩條相互垂直且相隔一定距離的短線像的一種非對稱性像差被稱為像散;場曲:軸外單色細光束,當其他像差都等于零,而只存在場曲時,整個光束交于一點(左圖同時存在像散,但交點和理想像點并不重合,但是整個平面不在一個平面上,而是在一個回轉的曲面上;畸變:畸變是垂軸(橫向放大率隨視場的增大而變化,所引起一種失去物像相似的像差。
2、光學成像系統中兩張復合色光幾何像差主要包括: 位置色差:軸上點;倍率色差:軸外點
3、簡述光學成像系統中兩種色差的形成機理: 位置色差:白色光中波長愈短折射率愈大,按色光的波長由短到長,其相應的像點離透鏡有近到遠地排列在光軸上,這種現象稱為位置色差;倍率色差:光學材料對不同色光的折射率不同,對于光學系統對不同色光就有不同的焦距,不同色光的焦距不等時,其放大率也不等就有不同的像高,即倍率色差,疊加結果使像的邊緣呈現彩色;第七章:
1、簡述LED光源相比于傳統光源所具有的技術優勢: 體積小:一塊被封裝在環氧樹脂里面的小晶片 電壓低:工作電壓是2-3.6V。使用壽命長:10萬小時 高光效:發光效率高 光色純:無紫紅外成分 環保:無毒材料構成
節能:耗電量僅為白熾燈的十分之一 靈活:色光可調
2、簡述印刷工業對制版光源的技術要求:
在印刷制版過程領域中對光源的光譜、能量、溫度、均勻度、漫射性等都有特定的要求:(1發光強度大(2光源光譜應與感光材料的光譜靈敏度相適應(3發光的穩定性高(4光能量分布均勻性好(5熱線(紅外線極少(6對作業環境及工作人員無害(7點燃容易,能瞬時點燈(8價格便宜(9機構簡單,維修方便
3、請以公式形式說明光度量與輻射度量之間的關系: 第八章:
1、簡述傳統光源與激光發光的最主要的差異: 普通光源是受激吸收產生的,多波長,不相干,分散;激光是受激輻射的產生的,相干光,單色,集中; 激光是相干光,即受激輻射光子的相位、頻率、偏振、傳播方向與誘發光子完全相同
2、激光的四大特性: 亮度高,方向性好,單色性,高相干性
3、全息照相技術: 一種新型的照相技術,其成像過程是:利用光的干涉和衍射現象,在照相干板或膠片上以干 涉條紋的形式把圖像記錄下來,然后用光照射這種干板(稱作全息干板),就能以立體形式 再現出原來的物體像。普通照相在膠片上記錄的僅是物光的振幅信息(即光強分布),而全息照相在記錄振幅信息 的同時,還記錄了物光的相位信息,“全息”也因此而得名。
4、簡述光纖通信原理: 在發送端首先要把傳送的信息(如話音變成電信號,然后調制到激光器發出的激光束上,使 光的強度隨電信號的幅度(頻率變化而變化,并通過光纖發送出去;在接收端,檢測器收到 光信號后把它變換成電信號,經解調后恢復原信息
5、計算機直接制版(CTP)技術中使用的激光光源按光譜范圍可簡單分為: 從 1064nm 的 YAG 紅外激光器,到 830nm 的近紅外激光二極管;
650nm 的紅激光二極管; 再到紅色光源(波長為 780nm 的激光,532nm 的倍頻 YAG 綠激光器及 488nm 的氬離子激 光器; 最后到 400nm 的紫激光二極管; 紅外激光光源主要適用于熱敏版; 可見激光光源將慢慢被淘汰; 紫激光(分辨率高,體積小,速度快,可使用明亮的黃色安全燈,品質穩定,維修容易,壽 命長,穩定性好)第九章:
1、平板掃描儀所采用的光電轉換器件是: 光電耦合器件(CCD),線陣,機械運動方式
2、滾筒式掃描儀所采用的光電轉換器件是: 光電倍增管(PMT):將微弱光信號轉換成電信號的真空電子器件; 信噪比較高,對光信號放大作用基本呈線性,避強光入射,避光保存
3、激光調制: 激光可
作為傳遞信息的工具。把欲傳輸的信息(數字化的圖像和文字加載于激光輻射的過程 稱為激光調制,因激光起到“攜帶”信息的作用,故稱其為載波。聲光調制器
4、對照圖,論述激光打印機的工作原理:
充電:電暈絲開始電暈放電,此時,電暈絲周圍的不導電空氣被電離,變成能導電的導體,使感光鼓表面帶上正(負)電荷 曝光:當激光束照射帶電荷的感光鼓表面時,鼓表面被照射到的地方(即有文字或圖像的地 方)電荷消失,以外的地方不變,形成了不可見的文字或圖像的電子潛像 顯影:墨粉帶有電荷,由于靜電的作用,墨粉就會被吸附在感光鼓表面電子潛像區,使電子 潛像變成可見的圖像 轉?。恨D印的原理也是靜電感應作用。轉印電極使紙張帶有與墨粉圖像極性相反的電荷 定影: 當紙張從定影輥和壓力輥之間經過時,受到定影輥內加熱電極的烘干和壓力輥的擠壓 作用,使墨粉融化滲入紙張纖維中,形成可永久保存的記錄 清洗:為了消除這些殘留的墨粉,在紙張下面安裝了放電燈泡(反向充電),其作用是消除 感光鼓表面上的電荷,以便進一步徹底清掃殘留墨粉
5、激光照排機按結構主要分為哪三類: 絞盤式激光照排機:結構操作簡單,價格低;記錄精度套準度偏低 外鼓式激光照排機:記錄精度套準度較高,結構簡單,工作穩定,大幅面;不方便,自動化 程度低 內鼓式激光照排機:記錄精度高、幅面大、自動化程度高、操作簡便、速度快等特點,但價 格要比前兩種照排機貴;原因:1.膠片固定不動,轉鏡轉動,避免機械誤差。2.激光束位于 圓心,到各圓周各點距離相同。
6、簡述 OID 技術: OID 是 Optical Identification 的縮寫,是光學辨識碼的一種。每個 OID 編碼圖形均是由許多細微而人眼難辨的點按照特定規則所組成,并對應到一組特 定數值 微小化的底碼不僅具有保密與低視覺干擾的特性,更能隱藏在印刷品的彩色圖案之下 底碼版單獨用黑色印,分辨率要求較高。
7、單鏡頭反光式相機光學系統的三個參數: 焦距:從物鏡的主點到焦點的距離,決定被攝物在膠片上成像的大??;
相對孔徑:入瞳直徑 D 與鏡頭焦距 f’的比值(D/f’.;光圈系數:相對孔徑的倒數(f’/D)視場角:被映畫幅的對角線對物鏡入瞳中心所張的角,用來表示攝影物鏡視場大小 的參數 第十章:
1、CIE 推薦的反射測量四種幾何條件: 垂直照明,45°測量 45°照明,垂直測量 漫射照明,垂直測量 垂直照明,漫射測量
2、積分球: 積分球是一個內部涂有漫反射涂層的空心球體,外面一般是金屬結構,開有幾個小孔。積分球內部有標準燈、輔助燈、光纖接口等,外接設備包括電源、電腦、光譜儀等儀器。積分球系統主要功能是測量光源的輻射度、色度、光度等光色電參數。具體包括光源的光通 量、照度、色溫、色度坐標、發光效率等。積分球系統主要應用于光源、燈具等光測量領域。?理想積分球系統 1.球內表面是一完美的球面,半徑處處相等; 2.球內壁是均勻的漫反射涂層,對各種波長的光具有相同的漫反射率; 3.球內沒有任何物體,光源只看作發光但沒有實物的抽象光源。