軟件工程PPT統(tǒng)一完整版課件全套ppt教學(xué)教程最全整套電子教案電子講義(最新)-(2)_第1頁(yè)
軟件工程PPT統(tǒng)一完整版課件全套ppt教學(xué)教程最全整套電子教案電子講義(最新)-(2)_第2頁(yè)
軟件工程PPT統(tǒng)一完整版課件全套ppt教學(xué)教程最全整套電子教案電子講義(最新)-(2)_第3頁(yè)
軟件工程PPT統(tǒng)一完整版課件全套ppt教學(xué)教程最全整套電子教案電子講義(最新)-(2)_第4頁(yè)
軟件工程PPT統(tǒng)一完整版課件全套ppt教學(xué)教程最全整套電子教案電子講義(最新)-(2)_第5頁(yè)
已閱讀5頁(yè),還剩629頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一篇 軟件工程學(xué)概述第1章 概述 本章的主要目標(biāo)是介紹軟件工程這門學(xué)科,讀完你將了解以下基本內(nèi)容:軟件工程的相關(guān)基本概念:軟件、軟件危機(jī)、軟件工程、軟件生命周期、軟件過程等,具體見下述部分介紹。12軟件從業(yè)人員的道德和職業(yè)問題對(duì)軟件工程產(chǎn)業(yè)的影響。1軟件工程的相關(guān)基本概念:軟件、軟件危機(jī)、軟件工程、軟件生命周期、軟件過程等,具體見下述部分介紹。1軟件工程的相關(guān)基本概念:軟件、軟件危機(jī)、軟件工程、軟件生命周期、軟件過程等,具體見下述部分介紹。1222軟件工程的相關(guān)基本概念:軟件、軟件危機(jī)、軟件工程、軟件生命周期、軟件過程等,具體見下述部分介紹。12軟件從業(yè)人員的道德和職業(yè)問題對(duì)軟件工程產(chǎn)業(yè)的影

2、響。軟件工程的相關(guān)基本概念:軟件、軟件危機(jī)、軟件工程、軟件生命周期、軟件過程等,具體見下述部分介紹。1 本章的主要目標(biāo)是介紹軟件工程這門學(xué)科,讀完你將了解以下基本內(nèi)容:當(dāng)今世界的信息化進(jìn)程,愈來愈趨向復(fù)雜化、人性化和扁平化。軟件工程作為一門工程學(xué)科,它的主要目標(biāo)就是驅(qū)使軟件系統(tǒng)向高性價(jià)比發(fā)展。 具有實(shí)時(shí)動(dòng)態(tài)性 ,抽象、不可觸摸 ,它的面向?qū)ο竽繕?biāo)不受物理因素限制。軟件工程同時(shí)又是一門比較年輕的學(xué)科?!败浖こ獭边@一概念是在1968年NATO會(huì)議上針對(duì)“軟件危機(jī)”的議題提出。 1.1 基本概念構(gòu)建這些軟件系統(tǒng)的早期經(jīng)驗(yàn)是:個(gè)人英雄主義、作坊式非正規(guī)的軟件開發(fā)并不奏效。投資很大,做得很差。制作既滿

3、足用戶要求、又能按期完成并且不超出項(xiàng)目預(yù)算的復(fù)雜軟件仍然存在很多困難。軟件工程自1968年以來已得到了長(zhǎng)足的發(fā)展。面向?qū)ο?、?gòu)件、WEB服務(wù)及云計(jì)算等的擴(kuò)充和提高已成為現(xiàn)實(shí)。 1.1.1 軟件1.1.1.1 軟件及組成計(jì)算機(jī)軟件是與計(jì)算機(jī)系統(tǒng)操作有關(guān)的程序(Program)、規(guī)程、規(guī)則及任何與之有關(guān)的文檔和數(shù)據(jù)。1. 程序 程序是用程序設(shè)計(jì)語(yǔ)言描述的、適合于計(jì)算機(jī)處理的語(yǔ)句序列,軟件開發(fā)人員根據(jù)需求開發(fā)出來滿足用戶。 目前的程序設(shè)計(jì)語(yǔ)言有三種類型:機(jī)器語(yǔ)言和匯編語(yǔ)言、獨(dú)立于機(jī)器的面向過程的語(yǔ)言以及獨(dú)立于機(jī)器的面向問題的語(yǔ)言,后兩種類型為高級(jí)語(yǔ)言。 用于科學(xué)計(jì)算的FORTRAN,用于事務(wù)處理的C

4、OBOL,支持結(jié)構(gòu)化程序設(shè)計(jì)的PASCAL,支持現(xiàn)代軟件開發(fā)的C、ADA,支持面向?qū)ο笤O(shè)計(jì)方法的C+、JAVA等。 面向問題的語(yǔ)言是第四代語(yǔ)言(4GL),也稱為非過程式語(yǔ)言。數(shù)據(jù)庫(kù)查詢語(yǔ)言(Structure Query Language,SQL)、報(bào)表語(yǔ)言、機(jī)床控制專用語(yǔ)言和電路設(shè)計(jì)專用語(yǔ)言等都是面向問題的語(yǔ)言。2. 文檔文檔(Document)是一種數(shù)據(jù)媒體和其上所記錄的數(shù)據(jù)。最新的計(jì)算機(jī)軟件文檔編制規(guī)范是GB/T 8567-2006。1.系統(tǒng)軟件1.1.1.3 軟件的分類1.系統(tǒng)軟件監(jiān)控、分析和控制現(xiàn)實(shí)世界發(fā)生的事件,以足夠快的速度對(duì)輸入信息并在規(guī)定的時(shí)間內(nèi)做出反應(yīng),這類軟件稱為實(shí)時(shí)軟件

5、。2.實(shí)時(shí)軟件計(jì)算機(jī)系統(tǒng)軟件是計(jì)算機(jī)管理自身資源(如CPU、內(nèi)存、外存等)、提高計(jì)算機(jī)的使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的基礎(chǔ)軟件。1.系統(tǒng)軟件此類軟件以數(shù)值算法為基礎(chǔ),對(duì)數(shù)值量進(jìn)行處理和計(jì)算。4.科學(xué)與工程計(jì)算軟件用于處理事務(wù)信息,特別是商務(wù)信息的計(jì)算機(jī)軟件。5.事務(wù)處理軟件嵌入式計(jì)算機(jī)系統(tǒng)將計(jì)算機(jī)嵌入在某一系統(tǒng)中,使之成為該系統(tǒng)的重要組成部分,控制該系統(tǒng)的運(yùn)行,進(jìn)而實(shí)現(xiàn)一個(gè)特定的物理過程。3.嵌入式軟件此類軟件以數(shù)值算法為基礎(chǔ),對(duì)數(shù)值量進(jìn)行處理和計(jì)算。4.科學(xué)與工程計(jì)算軟件嵌入式計(jì)算機(jī)系統(tǒng)將計(jì)算機(jī)嵌入在某一系統(tǒng)中,使之成為該系統(tǒng)的重要組成部分,控制該系統(tǒng)的運(yùn)行,進(jìn)而實(shí)現(xiàn)一個(gè)特定的物理過程

6、。3.嵌入式軟件嵌入式計(jì)算機(jī)系統(tǒng)將計(jì)算機(jī)嵌入在某一系統(tǒng)中,使之成為該系統(tǒng)的重要組成部分,控制該系統(tǒng)的運(yùn)行,進(jìn)而實(shí)現(xiàn)一個(gè)特定的物理過程。3.嵌入式軟件嵌入式計(jì)算機(jī)系統(tǒng)將計(jì)算機(jī)嵌入在某一系統(tǒng)中,使之成為該系統(tǒng)的重要組成部分,控制該系統(tǒng)的運(yùn)行,進(jìn)而實(shí)現(xiàn)一個(gè)特定的物理過程。3.嵌入式軟件4.科學(xué)與工程計(jì)算軟件此類軟件以數(shù)值算法為基礎(chǔ),對(duì)數(shù)值量進(jìn)行處理和計(jì)算。4.科學(xué)與工程計(jì)算軟件個(gè)人計(jì)算機(jī)上使用的軟件包括系統(tǒng)軟件和應(yīng)用軟件兩類。7.個(gè)人計(jì)算機(jī)軟件計(jì)算機(jī)輔助軟件工程(Computer-Aided Software Engineering,CASE)是指軟件開發(fā)和管理人員在軟件工具的幫助下進(jìn)行軟件產(chǎn)品的開

7、發(fā)、維護(hù)以及開發(fā)過程的管理。8.CASE工具軟件支持計(jì)算機(jī)系統(tǒng)產(chǎn)生人類某些智能的軟件。人工智能軟件常用的計(jì)算機(jī)語(yǔ)言有LISP和PROLOG等。6.人工智能軟件個(gè)人計(jì)算機(jī)上使用的軟件包括系統(tǒng)軟件和應(yīng)用軟件兩類。7.個(gè)人計(jì)算機(jī)軟件個(gè)人計(jì)算機(jī)上使用的軟件包括系統(tǒng)軟件和應(yīng)用軟件兩類。7.個(gè)人計(jì)算機(jī)軟件1.1.1.4 軟件的發(fā)展階段第一階段 (20世紀(jì)50年代初至20世紀(jì)60年代初)是計(jì)算機(jī)系統(tǒng)開發(fā)的初期階段。這時(shí)的通用計(jì)算機(jī)由于價(jià)格昂貴、體積大、功耗高、機(jī)器不穩(wěn)定和需要專人維護(hù)等原因,只能放在公共的實(shí)驗(yàn)室內(nèi)供大家使用。第二階段 (20世紀(jì)60年代中期至20世紀(jì)70年代末)引進(jìn)了多用戶、多道程序和人機(jī)交

8、互等新概念。實(shí)時(shí)系統(tǒng)可以從多路信號(hào)源上采集、處理、分析和轉(zhuǎn)換數(shù)據(jù),在相當(dāng)短的時(shí)間輸出計(jì)算結(jié)果。 第三階段 (20世紀(jì)70年代中期至20世紀(jì)80年代末)分布式系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、嵌入式計(jì)算機(jī)系統(tǒng)有了很大發(fā)展。微處理器、個(gè)人計(jì)算機(jī)、高性能的桌面工作站具有相當(dāng)高的性價(jià)比,廣泛走進(jìn)了人們工作、生活的各個(gè)方面。第四階段 (自20世紀(jì)80年代末期開始至現(xiàn)在)在很多應(yīng)用領(lǐng)域,人們開始采用面向?qū)ο蟮募夹g(shù),專家系統(tǒng)、人工智能軟件、構(gòu)件開發(fā)、服務(wù)化軟件、云計(jì)算等開始走向?qū)嶋H應(yīng)用。 20世紀(jì)90年代末,Internet技術(shù)。 21世紀(jì),電子商務(wù)、電子政務(wù),服務(wù)化軟件、云計(jì)算新型軟件模式的出現(xiàn)。1.1.2 軟件危機(jī)1.

9、1.2.1 軟件危機(jī)的表現(xiàn) 20世紀(jì)60年代末至20世紀(jì)70年代初,“軟件危機(jī)”直到1968年在原西德加米施(Garmish)召開的國(guó)際軟件工程會(huì)議上才被世人所注目。 計(jì)算機(jī)生物圈的計(jì)算機(jī)硬件,卻有一個(gè)可怕的摩爾定律。 人月神話(The Mythical Man-Month)。 沒有銀彈(No Silver Bullet)。 軟件危機(jī)概括地包含下述兩方面的問題:如何開發(fā)軟件、如何維護(hù)數(shù)量不斷膨脹的已有軟件。 軟件危機(jī)主要有以下一些典型表現(xiàn):對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。 用戶對(duì)“已完成”的系統(tǒng)不滿意很普遍。 軟件產(chǎn)品的質(zhì)量往往靠不住。 軟件常常不可維護(hù)。 缺失適當(dāng)?shù)奈臋n資料。 軟件成

10、本在計(jì)算機(jī)系統(tǒng)總成本中的比例逐年上升。軟件開發(fā)生產(chǎn)率的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)的普及 和深入趨勢(shì)。 1.1.2.2 軟件危機(jī)的表現(xiàn)用戶對(duì)軟件需求的描述不精確,存在遺留、二義性、錯(cuò)誤的情況經(jīng)常發(fā)生 。 軟件開發(fā)人員對(duì)用戶需求的理解與用戶的本來愿望有差異 。 大型軟件項(xiàng)目需要組織一定的人力共同參與完成 。 軟件項(xiàng)目開發(fā)人員不能有效、獨(dú)立自主地處理大型軟件的全部關(guān)系和各個(gè)分支 。 缺乏有力的方法學(xué)和工具的支持 。 軟件產(chǎn)品的特殊性和人類智力的局限性導(dǎo)致人們無力處理很多復(fù)雜問題 。1.1.2.3 軟件危機(jī)的克服途徑 用現(xiàn)代工程的概念、原理、技術(shù)和方法進(jìn)行軟件的開發(fā)、管理、維護(hù)和更新。計(jì)算機(jī)科學(xué)技術(shù)誕生了

11、一個(gè)新的研究領(lǐng)域軟件工程1.1.3 軟件工程 1968年,北大西洋公約組織(NATO)召開計(jì)算機(jī)科學(xué)會(huì)議,弗里茲.鮑爾(Fritz Bauer)首次提出了“軟件工程”的概念 。1.1.3.1 軟件工程的定義 1993年,IEEE對(duì)軟件工程的定義為:“將系統(tǒng)的、規(guī)范的、可度量的工程化方法應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)的全過程及有關(guān)上述方法的研究”。軟件工程包括三個(gè)基本要素:方法、工具和過程 。1.1.3.2 軟件工程的基本原理 著名的軟件工程專家B. W. Boehm綜合這些學(xué)者們的意見并總結(jié)了TRW公司多年開發(fā)軟件的經(jīng)驗(yàn),1983年在一篇論文中提出了軟件工程的7條基本原理。1. 用分階段的生命周期

12、計(jì)劃嚴(yán)格管理2. 階段評(píng)審 3. 嚴(yán)格的產(chǎn)品控制 盡可能重用。 限定每一層的副作用,減少耦合度。 盡可能重用。4. 現(xiàn)代的程序設(shè)計(jì)技術(shù)7. 軟件工程實(shí)踐需不斷改進(jìn)6. 開發(fā)人員應(yīng)少而精5. 結(jié)果應(yīng)能清楚地審查1.1.3.3 軟件工程的目標(biāo)可修改性(Modifiability)有效性(Efficiency)可靠性(Reliability) 可理解性(Understandability)可維護(hù)性(Maintainability)可重用性(Reusability) 可適應(yīng)性(Adaptability) 可移植性(Portability) 可追蹤性(Traceability) 可互操作性(Intero

13、perability)1.1.3.4 軟件工程的原則抽象(Abstraction) 信息隱藏(Information Hiding) 模塊化(Modularity) 局部化(Localization)一致性(Consistency) 完整性(Completeness) 可驗(yàn)證性(Verifiability)1.1.4 軟件生命周期軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護(hù),直到最后退役的全過程稱為軟件生存周期(Software Life Cycle)。軟件生命周期由軟件定義、軟件開發(fā)和軟件使用維護(hù)退役3個(gè)時(shí)期 。1. 問題定義 要解決的問題是什么?2. 可行性研究 問題定義所確定的問題有行得

14、通的解決 方法嗎?此問 題值不值得去解決?4. 總體設(shè)計(jì) 概括地說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?3. 需求分析 為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須要做什么?5. 詳細(xì)設(shè)計(jì) 以比較抽象的方式提出解決問題的方法。 6. 編碼和單元測(cè)試 寫出容易理解和容易維護(hù)的正確程序模塊。 7. 綜合測(cè)試 通過各種類型的測(cè)試使軟件達(dá)到預(yù)定的要求。 9. 軟件的維護(hù) 維護(hù)是對(duì)軟件產(chǎn)品進(jìn)行修改或?qū)π枨笞兓龀鲰憫?yīng)的過程。8. 軟件的使用 軟件的使用是軟件發(fā)揮社會(huì)和經(jīng)濟(jì)效益的重要 實(shí)施階段。 10. 軟件的退役 終止對(duì)軟件產(chǎn)品的支持,軟件停止使用。 1.1.5.1 瀑布模型瀑布模型(Waterfall Model)也稱之為軟件生

15、存周期模型,由W.Royce于1970年提出。此模型根據(jù)軟件生存周期各個(gè)階段的任務(wù),逐步進(jìn)行階段性變換,直至得到用戶確認(rèn)的產(chǎn)品為止。 以充分有效的軟件需求有效為前提,具有順序性、依賴性、推遲時(shí)間以及質(zhì)量保證的特點(diǎn)。它也不是“萬(wàn)能藥”,主要體現(xiàn)在: 在軟件開發(fā)初始階段指明軟件系統(tǒng)的全部需求是不太可 能的,有時(shí)甚至是不現(xiàn)實(shí)的。 需求確定后,用戶和軟件項(xiàng)目負(fù)責(zé)人要等相當(dāng)長(zhǎng)的時(shí)間 (經(jīng)過設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、運(yùn)行)才能得到一份軟件的 最初版本。 “瀑布模型是借助文檔驅(qū)動(dòng)的”是它的另一個(gè)主要缺點(diǎn)。 快速開發(fā)原型的本質(zhì)是“快速”,實(shí)現(xiàn)的途徑有三種:利用個(gè)人計(jì)算機(jī)模擬軟件系統(tǒng)的人機(jī)界面和人機(jī)交互方式。開發(fā)一個(gè)工

16、作原型,實(shí)現(xiàn)軟件系統(tǒng)的部分功能,而這部分 功能是重要的,也可能是容易產(chǎn)生誤解的。找來一個(gè)或幾個(gè)正在運(yùn)行的類似軟件,利用這些軟件向客 戶展示軟件需求中的部分或全部功能。1.1.5.2 原型模型建造原型的過程如圖1.5所示。 原型不能稱之為軟件,UNIX Shell和超文本都是廣泛的快速原型語(yǔ)言,近年來,廣泛地使用第四代語(yǔ)言(4GL)構(gòu)建快速原型。 1.1.5.3 增量模型 增量模型(Incremental Model)也稱為漸進(jìn)模型,它把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計(jì)、編碼、集成和測(cè)試。增量模型的優(yōu)點(diǎn)體現(xiàn)在:增量模型分批逐步地向用戶提交產(chǎn)品,整個(gè)軟件產(chǎn)品被分解成許多增量構(gòu)件,開發(fā)人員一個(gè)構(gòu)件

17、接一個(gè)構(gòu)件地向用戶提交產(chǎn)品。增量模型逐步增加產(chǎn)品功能,可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品功能性能,從而減少一個(gè)全新的軟件可能給客戶帶來的不適應(yīng)。增量模型的實(shí)施也存在一些難度:在把每個(gè)新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)時(shí),必須不破壞原來已開發(fā)出的產(chǎn)品。 在設(shè)計(jì)軟件體系結(jié)構(gòu)時(shí),必須使之利于擴(kuò)充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過程也要簡(jiǎn)單、方便,即體系結(jié)構(gòu)必須是開放的。圖1.6描繪了一種高風(fēng)險(xiǎn)的增量模型。1.1.5.4 螺旋模型螺旋模型(Spiral Model)是TRW(湯普森-拉美-伍爾德里奇公司,簡(jiǎn)稱為TRW)的B. Boehm于1988年提出的。它基于軟件生存周期模型與原型模型的結(jié)合 。螺旋

18、模型主要由四部分組成:需求定義、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評(píng)審。 螺旋模型在支持大型軟件開發(fā)方面具有廣泛的應(yīng)用前景,適用于面向規(guī)格說明、面向過程和面向?qū)ο蟮能浖_發(fā)模型。 1.1.5.5 噴泉模型噴泉模型(Fountain Model)是一種典型的面向?qū)ο筌浖_發(fā)模型,迭代是它的主旨思想。 “噴泉”這個(gè)詞體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性,如圖1.8。 1.1.5.6 基于四代技術(shù)的模型第四代語(yǔ)言(4GL)是R. Ross于1981年提出,采用四代技術(shù)開發(fā)軟件的模型,如圖1.9 1.1.5.7 變換模型 變換模型(Transformational Model)是基于形式化規(guī)格說明語(yǔ)言及程序變

19、換的軟件開發(fā)模型。 軟件需求分析確定后,用某種形式化的需求規(guī)格說明語(yǔ)言(如VDM的META-IV、CSP和Z)描述,生成形式化的規(guī)格說明。 形式化規(guī)格說明語(yǔ)言及其變換描述的研究方興未艾,人們采用的技術(shù)手段主要有:基于模型的規(guī)格說明及其變換技術(shù);基于代數(shù)結(jié)構(gòu)的規(guī)格說明及其變換技術(shù);基于時(shí)序邏輯的規(guī)格說明及驗(yàn)證技術(shù);基于可視形式化技術(shù)的規(guī)格說明等等。1.1.5.8 組合模型組合的方式有兩種: 第一種方式是以一種模型為主,嵌入另外一種或幾種模型。 第二種方式是建立軟件開發(fā)的組合模型。 1269111314的路徑規(guī)劃軟件開發(fā),就是生存周期模型 帶有原型的生存周期模型,開發(fā)路徑

20、1327111314是原型模型 1581291314是螺旋模型 14111314是基于四代技術(shù)的模型 1.1.6 軟件工程面臨的挑戰(zhàn)軟件工程在21世紀(jì)面臨以下三大挑戰(zhàn):遺留系統(tǒng)的挑戰(zhàn)多樣性的挑戰(zhàn)交付上的挑戰(zhàn)1.2 軟件工程從業(yè)人員的職業(yè)和道德素養(yǎng)軟件工程人員必須堅(jiān)持誠(chéng)實(shí)正直的行為準(zhǔn)則包括:機(jī)密;工作能力;知識(shí)產(chǎn)權(quán);計(jì)算機(jī)濫用; 在這一方面,職業(yè)協(xié)會(huì)和機(jī)構(gòu)肩負(fù)重任。ACM(美國(guó)計(jì)算機(jī)協(xié)會(huì))、IEEE(電氣和電子工程師協(xié)會(huì))和英國(guó)計(jì)算機(jī)協(xié)會(huì)等組織頒布了職業(yè)行為準(zhǔn)則或職業(yè)道德準(zhǔn)則,凡是加入這些組織的成員必須嚴(yán)格遵守。 軟件工程人應(yīng)當(dāng)遵守以下八條原則:公眾感 ;客戶和雇主 ;產(chǎn)品 ;判斷力 ;管理 ;

21、職業(yè)感 ;同事 ;自己 ; 在我們的職業(yè)生涯中,每個(gè)人都會(huì)面臨這些困惑,幸運(yùn)的是,在多數(shù)情況下,這些困惑要么不嚴(yán)重,要么不難解決。 當(dāng)雇主的行為不合乎道德時(shí),職業(yè)工程人員的處境尤為艱難。安全不是絕對(duì)的。 另一個(gè)道德問題是軍事項(xiàng)目和核項(xiàng)目的參與。雇主和所有雇員事先相互溝通各自的觀點(diǎn)非常重要。 軟件工程從業(yè)人員的道德問題研究最好要聯(lián)系軟件工程的實(shí)際,而不是將其作為一個(gè)孤立的問題來研究,且不能僅僅歸為一個(gè)單純的哲學(xué)問題來看待。習(xí)題1 假設(shè)自己是一家軟件公司的總工程師,當(dāng)把圖1.1給手下的軟件工程師觀看,告訴他們及早發(fā)現(xiàn)并改正錯(cuò)誤的重要性時(shí),有人不同意這個(gè)觀點(diǎn),認(rèn)為要求在錯(cuò)誤進(jìn)入軟件之前就清除它們是不

22、現(xiàn)實(shí)的,并向你舉例:如果一個(gè)故障是編碼錯(cuò)誤造成的,那么一個(gè)人怎么能在設(shè)計(jì)階段清除它呢?應(yīng)該怎么駁斥他? 職業(yè)工程人員是否應(yīng)該像醫(yī)生或律師一樣要頒發(fā)資格證書?分組討論一下。THANKS第1篇 軟件工程學(xué)概述第2章 計(jì)算機(jī)系統(tǒng)工程基于計(jì)算機(jī)系統(tǒng)工程的各類相關(guān)因素。1系統(tǒng)模型與建模、系統(tǒng)規(guī)格說明及評(píng)審。2本章的主要目標(biāo)是介紹計(jì)算機(jī)系統(tǒng)工程的概念、解釋系統(tǒng)工程的因素特征與軟件工程及軟件工程師的關(guān)系。讀完本章,你將了解以下基本內(nèi)容: 大多數(shù)軟件項(xiàng)目都是為了滿足某種需求的軟件產(chǎn)品而建立起的一個(gè)系統(tǒng)化工程過程,這些軟件必須在計(jì)算機(jī)系統(tǒng)的支持下才能工作。 計(jì)算機(jī)系統(tǒng)工程是指構(gòu)造基于計(jì)算機(jī)系統(tǒng)有關(guān)的過程、方法和

23、技術(shù),這是一種問題求解的活動(dòng)序列。 大多數(shù)軟件項(xiàng)目都是為了滿足某種需求的軟件產(chǎn)品而建立起的一個(gè)系統(tǒng)化工程過程,這些軟件必須在計(jì)算機(jī)系統(tǒng)的支持下才能工作。 2.1 系統(tǒng)與系統(tǒng)工程1. 功能特性2. 非功能特性 系統(tǒng)的復(fù)雜性很大程度體現(xiàn)在可靠性上,系統(tǒng)總體的可靠性涉及到三方面: 硬件可靠性; 軟件可靠性; 系統(tǒng)操作員可靠性。2.1.1 系統(tǒng)總體特性2.1.1 系統(tǒng)總體特性 系統(tǒng)工程師根據(jù)系統(tǒng)需求為硬件系統(tǒng)指派任務(wù),產(chǎn)生硬件需求。硬件工程式分為3個(gè)階段 :第一階段:制定開發(fā)計(jì)劃,經(jīng)評(píng)審確定項(xiàng)目成本預(yù)算和工程進(jìn)度;展開詳細(xì)需求分析,經(jīng)評(píng)審確定硬件規(guī)格說明。第二階段:設(shè)計(jì)分析,以圖的形式展現(xiàn)設(shè)計(jì)結(jié)果;必

24、要時(shí)建造原型,并不斷完善測(cè)試原型; 制造分析,畫出硬件生產(chǎn)圖。第三階段:按照質(zhì)量保證計(jì)劃和要求生產(chǎn)硬件產(chǎn)品。2.1.3 軟件和軟件工程 軟件與硬件、軟件工程與硬件工程分別是基于計(jì)算機(jī)系統(tǒng)和基于計(jì)算機(jī)的系統(tǒng)工程的重要組成部分。 目前,大多數(shù)基于計(jì)算機(jī)系統(tǒng)的軟部件,都是軟件工程師自行開發(fā)的。軟部件由源程序、數(shù)據(jù)和文檔三部分組成。 系統(tǒng)軟件和應(yīng)用軟件的接口由系統(tǒng)軟件決定。無論基于計(jì)算機(jī)的系統(tǒng)功能和性能如何,它們的結(jié)構(gòu)都可以用IPO(Input Process Output)模型表示。 借助軟件工程的過程、方法和工具,軟件工程師開發(fā)基于計(jì)算機(jī)的系統(tǒng)。無論是哪種軟件工程過程模型,它們都是涵蓋軟件項(xiàng)目的定

25、義、開發(fā)、驗(yàn)證、提交和維護(hù)階段 。軟件定義階段的任務(wù): 制定項(xiàng)目規(guī)劃 ; 需求分析與定義 ; 確定軟件性能和資源約束; 定義軟件要素驗(yàn)收標(biāo)準(zhǔn) ; 軟件開發(fā)階段的任務(wù)是完成軟件總體結(jié)構(gòu)及數(shù)據(jù)設(shè)計(jì)、過程設(shè)計(jì)和編碼三部分;軟件工程過程的最后階段是軟件驗(yàn)證、提交和維護(hù)。驗(yàn)證的任務(wù) : 制定軟件測(cè)試計(jì)劃和過程,產(chǎn)生測(cè)試文檔和 測(cè)試題目 ; 對(duì)軟件的每個(gè)模塊進(jìn)行單元測(cè)試、驗(yàn)證模塊 的功能是否符合設(shè)計(jì)要求; 對(duì)整個(gè)軟件進(jìn)行綜合測(cè)試; 組織專家和用戶對(duì)測(cè)試結(jié)果進(jìn)行評(píng)審 ;總體結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)的任務(wù) : 設(shè)計(jì)模塊結(jié)構(gòu); 定義界面并建立數(shù)據(jù)結(jié)構(gòu) ;軟件過程設(shè)計(jì)的任務(wù) : 詳細(xì)描述軟件規(guī)格說明中的每一個(gè)模塊; 對(duì)

26、模塊進(jìn)行評(píng)審。通過評(píng)審模塊的詳細(xì)描述將構(gòu) 成詳細(xì)設(shè)計(jì)規(guī)格說明 ;軟件編碼的任務(wù) : 用恰當(dāng)?shù)木幊陶Z(yǔ)言對(duì)詳細(xì)描述模塊進(jìn)行編碼,生 成 程序 ;評(píng)審?fù)ㄟ^后,進(jìn)行軟件提交,主要任務(wù)包括 :對(duì)已生成的記錄和內(nèi)部文檔進(jìn)行整理、分類和存檔;開發(fā)用戶手冊(cè)、建立適當(dāng)?shù)呐渲每刂茩C(jī)制 ;將軟件提交給用戶,必要時(shí)還應(yīng)負(fù)責(zé)把軟件安裝到用戶環(huán)境中 ;2.1.4 人機(jī)交互工程 現(xiàn)在,“友好的人機(jī)交互”已成為計(jì)算機(jī)系統(tǒng)的一項(xiàng)重要技術(shù)衡量指標(biāo),人機(jī)工程也已成為基于計(jì)算機(jī)系統(tǒng)開發(fā)的一項(xiàng)重要內(nèi)容。人機(jī)工程一般包括以下幾個(gè)步驟: 活動(dòng)分析 ; 動(dòng)作定義與設(shè)計(jì) ; 人機(jī)交互的對(duì)話設(shè)計(jì) ; 用戶環(huán)境設(shè)計(jì) ; 設(shè)計(jì)原型 ;2.1.5 數(shù)

27、據(jù)庫(kù)工程一個(gè)基于計(jì)算機(jī)的系統(tǒng)工程,至少包括三個(gè)部分:硬件工程、軟件工程和人機(jī)交互過程。 開發(fā)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)是一項(xiàng)復(fù)雜而龐大的軟件工程項(xiàng)目,一般情況下稱之為數(shù)據(jù)庫(kù)工程,它主要完成以下任務(wù): 調(diào)查用戶的信息需求和對(duì)信息處理的要求;進(jìn)行可行性論證;提出成本預(yù)算和工作計(jì)劃等 ; 論證、選擇和購(gòu)置支持?jǐn)?shù)據(jù)庫(kù)系統(tǒng)的硬件和軟件 ; 設(shè)計(jì)與實(shí)現(xiàn) ; 數(shù)據(jù)庫(kù)中的數(shù)據(jù)是按照系統(tǒng)確定的范圍和用戶的需求收集、整理、儲(chǔ)存 ; 數(shù)據(jù)庫(kù)管理人員(比如DBA)是數(shù)據(jù)庫(kù)工程的重要組成部分 ;2.2 系統(tǒng)模型與建?;顒?dòng) 輸入-處理-輸出(IPO)結(jié)構(gòu)是系統(tǒng)建模的基礎(chǔ),它將基于計(jì)算機(jī)的系統(tǒng)換算成一個(gè)信息變換模型。同時(shí),Hatley

28、和Pirbhai補(bǔ)充了用戶界面、維護(hù)及自測(cè)試方面的處理內(nèi)容。 2.2.1 系統(tǒng)模型1. 結(jié)構(gòu)圖 系統(tǒng)工程師用結(jié)構(gòu)模板開發(fā)系統(tǒng)模型。 圖2.5是某某傳送線在線貨物分類系統(tǒng)的總體關(guān)系圖。 系統(tǒng)工程師借助ACD可以定義各子系統(tǒng)的結(jié)構(gòu)流圖(AFD)。 2. 系統(tǒng)結(jié)構(gòu)規(guī)格說明 結(jié)構(gòu)圖規(guī)格說明(ADS)描述了子系統(tǒng)信息以及子系統(tǒng)之間的控制流和信息流。每個(gè)子系統(tǒng)的結(jié)構(gòu)圖規(guī)格說明都應(yīng)包括系統(tǒng)模板說明書、系統(tǒng)結(jié)構(gòu)數(shù)據(jù)字典和系統(tǒng)結(jié)構(gòu)互連圖。 2.2.2 系統(tǒng)建模及模擬 為了減少在真實(shí)環(huán)境中試驗(yàn)的風(fēng)險(xiǎn)和代價(jià),在系統(tǒng)分析和設(shè)計(jì)階段普遍采用系統(tǒng)建模和模擬技術(shù)。 從時(shí)間維角度,可以把系統(tǒng)模型定位為靜態(tài)模型和動(dòng)態(tài)模型,靜態(tài)

29、模型不關(guān)乎時(shí)間參數(shù),動(dòng)態(tài)模型則不同。從計(jì)算機(jī)系統(tǒng)參數(shù)的隨機(jī)性來看,模型有確定和隨機(jī)之分。 系統(tǒng)模擬是用一個(gè)系統(tǒng)表示某個(gè)實(shí)際系統(tǒng)或抽象系統(tǒng)中選定行為的特征 。主要步驟是: 分析問題、確定模擬的目標(biāo) ; 建立模型 ; 運(yùn)行模型并分析模擬結(jié)果 ; 若需要,修改模型 ; 撰寫模擬文檔 ;2.3 系統(tǒng)規(guī)格與評(píng)審說明表2.1系統(tǒng)規(guī)格說明目錄2.3.1 系統(tǒng)規(guī)格I. 引言A. 文檔的范圍和目的B. 概述 1. 目標(biāo) 2. 約束II. 功能和數(shù)據(jù)描述A. 系統(tǒng)結(jié)構(gòu) 1. 結(jié)構(gòu)關(guān)系圖 2. 結(jié)構(gòu)關(guān)系圖描述III. 子系統(tǒng)描述A. 子系統(tǒng)N的結(jié)構(gòu)圖規(guī)格說明 1. 結(jié)構(gòu)流圖 2. 系統(tǒng)模型說明3. 性能問題 4.

30、設(shè)計(jì)約束條件 5. 分配系統(tǒng)部件B. 結(jié)構(gòu)字典C. 結(jié)構(gòu)連結(jié)圖和說明IV. 系統(tǒng)建模和模擬結(jié)果A. 用于模擬的系統(tǒng)模型B. 模擬結(jié)果C. 特殊性能V. 項(xiàng)目問題A. 開發(fā)成本B. 進(jìn)度VI. 附錄2.3.2 評(píng)審說明 系統(tǒng)規(guī)格說明評(píng)審過程分管理評(píng)審和技術(shù)評(píng)審兩個(gè)階段。管理評(píng)審需回答: 系統(tǒng)是否有一個(gè)穩(wěn)定的商業(yè)需求,系統(tǒng)開發(fā)是否有意義? 系統(tǒng)開發(fā)是否有市場(chǎng)價(jià)值或社會(huì)效益? 系統(tǒng)開發(fā)是否還有其他選擇方案? 系統(tǒng)各個(gè)部分的開發(fā)風(fēng)險(xiǎn)怎樣? 系統(tǒng)開發(fā)所需資源是否已具備? 成本和進(jìn)度計(jì)劃是否恰當(dāng)?等等。技術(shù)評(píng)審需回答: 系統(tǒng)功能復(fù)雜性是否與開發(fā)風(fēng)險(xiǎn)、成本和進(jìn)度評(píng)估保持一致? 系統(tǒng)采用的術(shù)語(yǔ)、系統(tǒng)與子系統(tǒng)功

31、能定義是否足夠詳細(xì)?系統(tǒng)與環(huán)境的接口以及各子系統(tǒng)間的接口定義是否詳細(xì)?系統(tǒng)各個(gè)部分的開發(fā)風(fēng)險(xiǎn)怎樣?系統(tǒng)規(guī)格說明是否指明系統(tǒng)性能、可靠性和可維護(hù)性方面的問題?系統(tǒng)規(guī)格說明是否為后續(xù)的硬件工程、軟件工程打下堅(jiān)實(shí)的基礎(chǔ)? 系統(tǒng)規(guī)格說明評(píng)審?fù)瓿珊?,系統(tǒng)開發(fā)可以按照硬件工程、軟件工程、數(shù)據(jù)庫(kù)工程、人機(jī)交互等并行展開。從第三章起,主要任務(wù)介紹軟件工程。習(xí)題2 討論并描述系統(tǒng)分析員應(yīng)該具備的主要知識(shí)結(jié)構(gòu)和基本素質(zhì)。軟件開發(fā)人員和用戶分別擔(dān)任系統(tǒng)分析員有哪些優(yōu)勢(shì)和缺陷。 找出并改正程序邏輯中的錯(cuò)誤。 THANKS第2篇 軟件定義第3章 可行性研究本章的主要目標(biāo)是介紹軟件可行性研究階段的相關(guān)工作。讀完本章,你將

32、了解以下基本內(nèi)容:1軟件可行性論證需考慮的幾個(gè)因素、任務(wù)和執(zhí)行過程。1軟件可行性論證需考慮的幾個(gè)因素、任務(wù)和執(zhí)行過程。1軟件可行性論證需考慮的幾個(gè)因素、任務(wù)和執(zhí)行過程。13可行性研究報(bào)告中成本/效益分析、技術(shù)分析和可行性方案的分配與權(quán)衡??尚行匝芯恐邢嚓P(guān)的系統(tǒng)流程元素及模型表達(dá)。2軟件可行性論證需考慮的幾個(gè)因素、任務(wù)和執(zhí)行過程。1軟件可行性論證需考慮的幾個(gè)因素、任務(wù)和執(zhí)行過程。12可行性研究中相關(guān)的系統(tǒng)流程元素及模型表達(dá)。2 只要資源和時(shí)間不加以限制,所有的項(xiàng)目都是可行的。 軟件可行性研究的目的,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決??尚行匝芯康闹髦疾皇墙鉀Q問題,而是確定問題

33、是否值得去解首先需要進(jìn)一步分析和澄清問題定義其次,在澄清了問題定義后,分析人員應(yīng)該導(dǎo)出系統(tǒng)的邏輯模型。3.1 可行性研究的任務(wù)可行性,一般來講,主要集中在以下幾個(gè)方面: 技術(shù)可行性。 經(jīng)濟(jì)可行性。 操作可行性。 法律可行性。 抉擇??尚行匝芯啃枰臅r(shí)間長(zhǎng)短取決于工程的規(guī)模, 通常情況下,可行性研究的成本只是預(yù)期工程總成本的5%10%。3.2 可行性研究過程典型的可行性研究過程需要下述一些步驟:復(fù)查系統(tǒng)規(guī)模和目標(biāo)研究目前正在使用的系統(tǒng)導(dǎo)出新系統(tǒng)的高層邏輯模型再次定義問題導(dǎo)出和評(píng)價(jià)供選擇的解法推薦行動(dòng)方針草擬開發(fā)計(jì)劃書寫文檔并提交審查3.3 系統(tǒng)流程元素及模型表達(dá) 需要在可行性研究階段大體設(shè)計(jì)未來

34、物理系統(tǒng)的概貌,這里需要系統(tǒng)流程圖。 系統(tǒng)流程圖是概括描繪物理系統(tǒng)的傳統(tǒng)工具?;舅枷胧怯脠D形符號(hào)以黑盒子形式描繪組成系統(tǒng)的每個(gè)部件(程序、文檔、數(shù)據(jù)庫(kù)、人工過程等)。3.3.1 元素符號(hào)表3.1 基本符號(hào) 符號(hào)名 稱說 明處理能改變數(shù)據(jù)值或數(shù)據(jù)位置的加工或部件,例如程序、處理機(jī)、人工加工等均為處理輸入/輸出表示輸入或輸出,是一個(gè)廣義的不指明具體設(shè)備的符號(hào)連接指出轉(zhuǎn)到圖的另一部分或從圖的另一部分轉(zhuǎn)來,通常在同一頁(yè)上換頁(yè)連接指出轉(zhuǎn)到另一頁(yè)圖上或由另一頁(yè)圖轉(zhuǎn)來數(shù)據(jù)流用來連接其他符號(hào),指明數(shù)據(jù)流動(dòng)方向表3.2 系統(tǒng)符號(hào)名 稱說 明穿孔卡片表示用穿孔卡片輸入或輸出,也可表示一個(gè)穿孔卡片文件文檔通常表示

35、打印輸出,也可表示用打印終端輸入數(shù)據(jù)磁帶磁帶輸入輸出,或表示一個(gè)磁帶文件聯(lián)機(jī)存儲(chǔ)表示任何種類的聯(lián)機(jī)存儲(chǔ),包括磁盤、磁鼓、軟盤和海量存儲(chǔ)器件等磁盤磁盤輸入輸出,也可表示存儲(chǔ)在磁盤上的文件或數(shù)據(jù)庫(kù)磁鼓磁鼓輸入輸出,也可表示存儲(chǔ)在磁鼓上的文件或數(shù)據(jù)庫(kù)顯示CRT終端或類似的顯示部件,可用于輸入或輸出,也可既輸入又輸出人工輸入人工輸入數(shù)據(jù)的脫機(jī)處理,例如,填寫表格人工操作人工完成的處理,例如,會(huì)計(jì)在工資支票上簽字輔助操作使用設(shè)備進(jìn)行的脫機(jī)操作通信鏈路通過遠(yuǎn)程通信線路或鏈路傳送數(shù)據(jù)3.3.2 舉例 該裝配廠使用一臺(tái)小型計(jì)算機(jī)處理更新庫(kù)存清單主文件和產(chǎn)生定貨報(bào)告的任務(wù)。零件庫(kù)存量的每一次變化稱為一個(gè)事務(wù),由

36、放在倉(cāng)庫(kù)中的CRT終端輸入到計(jì)算機(jī)中;系統(tǒng)中的庫(kù)存清單程序?qū)κ聞?wù)進(jìn)行處理,更新存儲(chǔ)在磁盤上的庫(kù)存清單主文件,并且把必要的定貨信息寫在磁盤上。最后,每天由報(bào)告生成程序讀一次磁盤,且打印出定貨報(bào)告。 某裝配廠有一存放零件的倉(cāng)庫(kù),倉(cāng)庫(kù)中現(xiàn)有的各種零件的數(shù)量以及每種零件的庫(kù)存量臨界值等數(shù)據(jù)記錄在庫(kù)存清單主文件中。當(dāng)倉(cāng)庫(kù)中零件數(shù)量有變化時(shí),應(yīng)及時(shí)修改庫(kù)存清單主文件,如果哪種零件的庫(kù)存量少于它的庫(kù)存量臨界值,則應(yīng)報(bào)告給采購(gòu)部門以便定貨,規(guī)定每天向采購(gòu)部門送一次定貨報(bào)告。 該裝配廠使用一臺(tái)小型計(jì)算機(jī)處理更新庫(kù)存清單主文件和產(chǎn)生定貨報(bào)告的任務(wù)。零件庫(kù)存量的每一次變化稱為一個(gè)事務(wù),由放在倉(cāng)庫(kù)中的CRT終端輸入到

37、計(jì)算機(jī)中;系統(tǒng)中的庫(kù)存清單程序?qū)κ聞?wù)進(jìn)行處理,更新存儲(chǔ)在磁盤上的庫(kù)存清單主文件,并且把必要的定貨信息寫在磁盤上。最后,每天由報(bào)告生成程序讀一次磁盤,且打印出定貨報(bào)告。 某裝配廠有一存放零件的倉(cāng)庫(kù),倉(cāng)庫(kù)中現(xiàn)有的各種零件的數(shù)量以及每種零件的庫(kù)存量臨界值等數(shù)據(jù)記錄在庫(kù)存清單主文件中。當(dāng)倉(cāng)庫(kù)中零件數(shù)量有變化時(shí),應(yīng)及時(shí)修改庫(kù)存清單主文件,如果哪種零件的庫(kù)存量少于它的庫(kù)存量臨界值,則應(yīng)報(bào)告給采購(gòu)部門以便定貨,規(guī)定每天向采購(gòu)部門送一次定貨報(bào)告。3.4 成本/效益分析 開發(fā)一個(gè)軟件也是投資,期望將來獲得更大的經(jīng)濟(jì)效益。經(jīng)濟(jì)效益通常表現(xiàn)為減少運(yùn)行費(fèi)用或(和)增加收入。3.4.1 成本估計(jì)代碼行技術(shù)任務(wù)分解技術(shù)自

38、動(dòng)估計(jì)成本技術(shù)表3.3 典型環(huán)境下各個(gè)開發(fā)階段需要使用的人力的百分比任務(wù)人力(%)可行性研究5需求分析10總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)25編碼和單元測(cè)試20綜合測(cè)試40總計(jì)1003.4.2 成本/效益分析方法成本/效益分析的第一步是估計(jì)開發(fā)成本、運(yùn)行費(fèi)用和新系統(tǒng)將帶來的經(jīng)濟(jì)效益。為了保險(xiǎn)起見,以后在進(jìn)行成本/效益分析時(shí)一般假設(shè)生命周期為5年。通常用利率的形式表示貨幣的時(shí)間價(jià)值。 通常用投資回收期衡量一項(xiàng)開發(fā)工程的價(jià)值。所謂投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初投資所需要的時(shí)間。 衡量工程價(jià)值的另一項(xiàng)經(jīng)濟(jì)指標(biāo)是工程的純收入,也就是在整個(gè)生命周期之內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。這相當(dāng)于比較

39、投資開發(fā)一個(gè)軟件系統(tǒng)和把錢存在銀行(或貸給其他企業(yè))這兩種方案的優(yōu)劣。4.投資回收率3.純收入 設(shè)想把數(shù)量等于投資額的資金存入銀行,每年年底從銀行取回的錢等于系統(tǒng)每年預(yù)期可以獲得的效益。1.貨幣的時(shí)間價(jià)值2.投資回收期3.5 技術(shù)分析用于技術(shù)分析的方法,有數(shù)學(xué)模型和優(yōu)化技術(shù)、概率和統(tǒng)計(jì)、排隊(duì)論、控制論等。圖3.2說明在模型化的過程中信息的整個(gè)流程: BlanChard和Fabrychy為系統(tǒng)的技術(shù)分析定義了一套使用模型的準(zhǔn)則。模型應(yīng)表現(xiàn)出待評(píng)估系統(tǒng)構(gòu)成的動(dòng)態(tài)特性,其操作應(yīng)當(dāng)盡量接近真實(shí)的結(jié)果;模型應(yīng)包括所有的相關(guān)元素,并且保證其可靠性;模型應(yīng)突出表現(xiàn)與現(xiàn)實(shí)問題最相關(guān)的因素,對(duì)次要的因素,要謹(jǐn)慎

40、地回避它們;模型設(shè)計(jì)應(yīng)盡量簡(jiǎn)單,并應(yīng)很快解決問題。模型設(shè)計(jì)應(yīng)制定要求,以便修改或者擴(kuò)充,并在需要時(shí)進(jìn)行評(píng)估。3.6 方案的分配與權(quán)衡一旦解決了與分析任務(wù)相關(guān)的問題,就應(yīng)開始考慮候選的解決方案對(duì)候選系統(tǒng)配置方案的整個(gè)評(píng)估過程如圖3.3和圖3.4所示習(xí)題31.問題描述:為方便儲(chǔ)戶,某銀行擬開發(fā)計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)。儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員輸入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲(chǔ)戶;如果是取款,系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。對(duì)這段問題描述進(jìn)行分析,畫出相關(guān)的系統(tǒng)業(yè)務(wù)流程。2.問題描述:為方便旅客,某航空公司擬開發(fā)一個(gè)機(jī)票預(yù)訂系統(tǒng)。旅行社把

41、預(yù)訂機(jī)票的旅客信息(姓名、性別、工作單位、身份證號(hào)碼、旅行時(shí)間、旅行目的地等)輸入系統(tǒng),系統(tǒng)為旅客安排航班,印出取票通知和賬單,旅客在飛機(jī)起飛的前一天憑取票通知和賬單交款取票,系統(tǒng)校對(duì)無誤即印出機(jī)票給旅客。對(duì)這段問題描述進(jìn)行分析,畫出相關(guān)的系統(tǒng)業(yè)務(wù)流程。3.問題描述:住院病人主要由護(hù)士護(hù)理,這樣做不僅需要大量護(hù)士,而且由于不能隨時(shí)觀察危重病人的病情變化,可能會(huì)延誤救治時(shí)機(jī)。某醫(yī)院打算開發(fā)一個(gè)以計(jì)算機(jī)為中心的患者監(jiān)護(hù)系統(tǒng),醫(yī)院對(duì)患者監(jiān)護(hù)系統(tǒng)的基本要求是隨時(shí)接收每個(gè)病人的生理信號(hào)(脈搏、體溫、血壓、心電圖等),定時(shí)記錄病人情況以形成患者日志,當(dāng)某個(gè)病人的生理信號(hào)超出醫(yī)生規(guī)定的安全范圍時(shí)向值班護(hù)士發(fā)

42、出警告信息,此外,護(hù)士在需要時(shí)還可以要求系統(tǒng)印出某個(gè)指定病人的病情報(bào)告。對(duì)這段問題描述進(jìn)行分析,畫出相關(guān)的系統(tǒng)業(yè)務(wù)流程。THANKS第2篇 軟件定義第4章 結(jié)構(gòu)化需求分析本章的主要目標(biāo)是介紹軟件需求分析的相關(guān)工作。讀完本章,你將了解以下基本內(nèi)容:需求分析的基礎(chǔ)。1結(jié)構(gòu)化面向數(shù)據(jù)流的需求分析。2結(jié)構(gòu)化需求分析常用工具。34.1 需求分析基礎(chǔ) 軟件需求是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。最終形成需求規(guī)格說明。 需求分析階段是介于系統(tǒng)分析和軟件設(shè)計(jì)階段間的重要橋梁。需求分析可分為問題分析、需求描述及需求評(píng)審3個(gè)階段。4.1.1 需求分析的任務(wù)與原則 在問題分析階段,分析人

43、員通過對(duì)問題及其環(huán)境的理解、分析和綜合,清除用戶需求的模糊性、歧義性和不一致性,并在用戶的幫助下對(duì)相互沖突的要求進(jìn)行折衷。 需求描述階段的主要任務(wù)是以需求模型為基礎(chǔ),考慮到問題的軟件可解性,生成需求規(guī)格說明和初步的用戶手冊(cè)。 在需求評(píng)審階段,分析人員需在用戶和軟件設(shè)計(jì)人員的配合下對(duì)自己生成的需求規(guī)格說明和初步的用戶手冊(cè)進(jìn)行復(fù)核,以確保軟件需求的全面性、精確性和一致性,并使用戶和設(shè)計(jì)人員對(duì)需求規(guī)格說明及用戶手冊(cè)的理解達(dá)成一致。4.1.2 需求初步獲取技術(shù)訪談與會(huì)議4.1.2.1需求實(shí)例4.1.2.4深入用戶工作環(huán)境4.1.2.2用戶與開發(fā)人員一同參與4.1.2.34.1.2.4 需求實(shí)例問題描述

44、:家庭保安市場(chǎng)正以每年40%的速度增長(zhǎng)。現(xiàn)希望建立一種基于微處理器的家庭保安系統(tǒng),它能夠識(shí)別異常事件并采取相應(yīng)的防護(hù)措施。這些異常事件應(yīng)包括非法進(jìn)入、火災(zāi)、水淹等等。一旦異常情形被相應(yīng)的傳感器探測(cè)出來,系統(tǒng)應(yīng)自動(dòng)通過電話向監(jiān)控中心報(bào)警。此外,系統(tǒng)還應(yīng)該允許戶主對(duì)其行為實(shí)施程序式控制。針對(duì)此問題,軟件研發(fā)聯(lián)合小組首先制定工作制度:每次會(huì)議開始前必須有確定的議程,參加者需要針對(duì)各項(xiàng)議程進(jìn)行充分的準(zhǔn)備,這種準(zhǔn)備不僅是思想上的,還應(yīng)成形于文字。 最后,初步分析活動(dòng)應(yīng)形成結(jié)論性文檔,該文檔將作為后續(xù)分析活動(dòng)的基礎(chǔ)。經(jīng)過初步分析后,“家庭保安系統(tǒng)”的部分需求文檔(不包括約束條件和測(cè)試標(biāo)準(zhǔn))如下: “家庭保

45、安系統(tǒng)”的軟件允許用戶在安裝時(shí)進(jìn)行系統(tǒng)配置,實(shí)施對(duì)傳感器的監(jiān)控并通過控制面板與用戶進(jìn)行信息交互。配置操作包括:(1)指定每一傳感器的種類和編號(hào);(2)設(shè)置開、關(guān)機(jī)密碼;(3)指定報(bào)警電話號(hào)碼;(4)指定報(bào)警延遲和電話重?fù)苎舆t時(shí)間(以秒為單位)。 當(dāng)軟件系統(tǒng)接收到傳感器發(fā)出的數(shù)據(jù)后,判斷是否出現(xiàn)異常事件。若是,則在指定的延遲時(shí)間內(nèi)撥報(bào)警電話,撥號(hào)操作將按照重?fù)苎舆t反復(fù)進(jìn)行,直至電話接通。然后軟件系統(tǒng)負(fù)責(zé)報(bào)告時(shí)間、地點(diǎn)和異常事件的性質(zhì)。 開機(jī)后,軟件系統(tǒng)負(fù)責(zé)顯示當(dāng)前工作狀態(tài),接收并處理用戶指令。4.1.3 需求建模軟件目標(biāo)系統(tǒng)可通過模型刻畫所涉及的信息、處理功能及實(shí)際運(yùn)行時(shí)的外部行為。建立軟件模型

46、是分析活動(dòng)的焦點(diǎn)。4.1.4 問題抽象、問題分解與多視點(diǎn)分析抽象方法要求分析人員在分析過程中善于捕捉用戶描述或問題本身所固有的一般特殊關(guān)系,首先關(guān)注一般問題的解決途徑,進(jìn)而指導(dǎo)特殊問題的求解。問題分解也是普遍適用于分析各階段的一般性方法。與問題分解相對(duì)應(yīng),還有一種“視角分解”方法廣泛應(yīng)用于需求分析活動(dòng), 這就是所謂的“多視點(diǎn)分析”。4.1.5 支持需求分析的快速原型技術(shù) 一旦確定采用快速原型技術(shù)后,分析人員不妨遵循以下步驟: 利用各種分析技術(shù)和方法,生成一個(gè)簡(jiǎn)化的需求規(guī)格說明; 對(duì)前述需求規(guī)格說明進(jìn)行檢查、修訂后,生成設(shè)計(jì)規(guī)格說明。一般情況,為了快速生成原型,軟件的設(shè)計(jì)只關(guān)心軟件的總體結(jié)構(gòu)、用

47、戶界面和數(shù)據(jù)設(shè)計(jì),不注重過程內(nèi)部的控制流程設(shè)計(jì)。 在現(xiàn)有工具或環(huán)境的幫助下快速生成可運(yùn)行的軟件原型并進(jìn)行測(cè)試、完善和改進(jìn)。可用的主要工具有可重用的軟部件庫(kù)、用戶界面 自動(dòng)生成器等快速原型支持工具; 將原型提交給用戶評(píng)估并征詢改進(jìn)意見; 上述過程將反復(fù)迭代進(jìn)行,直到用戶完全認(rèn)可為止。4.1.6 需求規(guī)格說明與評(píng)審它必須服務(wù)于以下目標(biāo):便于用戶、分析人員和軟件設(shè)計(jì)人員進(jìn)行理解和交流。支持目標(biāo)軟件系統(tǒng)的確認(rèn)??刂葡到y(tǒng)進(jìn)化過程。需求規(guī)格說明書的主體內(nèi)容包括功能與行為需求描述以及非行為需求描述兩部分。需求規(guī)格說明書基本構(gòu)架和內(nèi)容見計(jì)算機(jī)軟件文檔編制規(guī)范(GB/T8567-2006)。4.1.6.1 需求

48、規(guī)格說明書的目標(biāo)和內(nèi)容4.1.6.2 需求評(píng)審 衡量需求規(guī)格說明書質(zhì)量的標(biāo)準(zhǔn)按重要性次序排列為正確性、無歧義性、完全性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性。正確性。需求規(guī)格說明書中的功能、行為、性能描述必須與用戶對(duì)目標(biāo)軟件產(chǎn)品的期望相吻合。無歧義性。對(duì)于用戶、分析人員、設(shè)計(jì)人員和測(cè)試人員而言,需求規(guī)格說明書中的任何語(yǔ)法單位只能有唯一的語(yǔ)義解釋。完全性。需求規(guī)格說明書不能遺漏任何用戶需求??沈?yàn)證性。對(duì)于規(guī)格說明書中的任何需求,均應(yīng)該對(duì)技術(shù)和經(jīng)濟(jì)上的可行性手段進(jìn)行驗(yàn)證和確認(rèn)。一致性。需求規(guī)格說明書的各部分內(nèi)容之間不能相互矛盾??衫斫庑浴W非笊鲜瞿繕?biāo)不應(yīng)妨礙需求規(guī)格說明書對(duì)于用戶、設(shè)計(jì)人

49、員和測(cè)試人員的易理解性。可修改性。需求規(guī)格說明書的格式和組織方式應(yīng)保證能夠比較容易地接納后續(xù)的增刪改,并使修改后的說明書能夠較好地保持其他各項(xiàng)屬性。可追蹤性。需求規(guī)格說明書分析后獲得的每項(xiàng)需求必須與用戶的原始需求項(xiàng)清晰地聯(lián)系起來,并為后續(xù)開發(fā)和其他文檔引用這些需求項(xiàng)提供便利。 4.2 面向數(shù)據(jù)流的結(jié)構(gòu)化需求分析方法 結(jié)構(gòu)化分析方法的雛形出現(xiàn)于20世紀(jì)60年代后期。但是,直到1979年才由DeMarco將其作為一種需求分析方法正式提出。20世紀(jì)80年代中后期,Ward & Hatley和Hatley & Pirbhai在結(jié)構(gòu)化分析方法中引入了實(shí)時(shí)系統(tǒng)分析機(jī)制,Harel等人研制了面向復(fù)雜實(shí)時(shí)反應(yīng)

50、式系統(tǒng)的開發(fā)環(huán)境STATEMATE. 結(jié)構(gòu)化需求分析過程是通過建立三種模型來詮釋,它們分別是數(shù)據(jù)模型、功能模型和行為模型。4.2.1 實(shí)體-聯(lián)系圖 在數(shù)據(jù)模型中包含三種相互關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象、數(shù)據(jù)對(duì)象的屬性及數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系。4.2.1.1 數(shù)據(jù)對(duì)象 數(shù)據(jù)對(duì)象可以是外部實(shí)體(例如產(chǎn)生或使用信息的任何事物)、事物(例如報(bào)表)、行為(例如打電話)、事件(例如響警報(bào))、角色(例如教師、學(xué)生、經(jīng)理、雇員等)、單位(例如會(huì)計(jì)科)、地點(diǎn)(例如倉(cāng)庫(kù))或結(jié)構(gòu)(例如文件)等。總之,可以由一組屬性來定義的實(shí)體都可以被認(rèn)為是數(shù)據(jù)對(duì)象。 數(shù)據(jù)對(duì)象彼此間是有關(guān)聯(lián)的,例如,教師“教”課程,學(xué)生“學(xué)”課程.

51、數(shù)據(jù)對(duì)象只封裝了數(shù)據(jù)而沒有對(duì)施加于數(shù)據(jù)之上的操作加以引用,這是數(shù)據(jù)對(duì)象與面向?qū)ο蠓缎椭械摹邦悺被颉皩?duì)象”的顯著區(qū)別。4.2.1.2 屬性 屬性定義了數(shù)據(jù)對(duì)象的性質(zhì)。 應(yīng)該根據(jù)對(duì)所要解決問題的理解,來確定特定數(shù)據(jù)對(duì)象的一組合適的屬性。4.2.1.3 聯(lián)系 客觀世界中的事物彼此間往往是有聯(lián)系的。 數(shù)據(jù)對(duì)象彼此之間相互連接的方式稱為聯(lián)系,也稱為關(guān)系。聯(lián)系可分為以下三種:一對(duì)一聯(lián)系(1:1)一對(duì)多聯(lián)系(1:N)多對(duì)多聯(lián)系(M:N)4.2.1.4 實(shí)體-聯(lián)系圖的符號(hào) 使用實(shí)體-聯(lián)系圖(Entity-Relationship Diagram)來建立數(shù)據(jù)模型??梢园褜?shí)體聯(lián)系圖簡(jiǎn)稱為ER圖,相應(yīng)地把用ER圖描

52、繪的數(shù)據(jù)模型稱為ER模型。4.2.1.5 數(shù)據(jù)規(guī)范化 常用“范式(Normal Forms)”定義消除數(shù)據(jù)冗余的程度。第一范式(1 NF)數(shù)據(jù)冗余程度最大,第六范式(6 NF)冗余程度最小。從實(shí)用角度來看,在大多數(shù)場(chǎng)合選用第三范式比較恰當(dāng)。1.第一范式 無重復(fù)的列。2.第二范式 完全依賴于主鍵消除非主屬性對(duì)主鍵的部分函數(shù)依賴。 3.第三范式 不依賴于其它非主屬性消除傳遞依賴。4.2.2 狀態(tài)轉(zhuǎn)換圖 狀態(tài)轉(zhuǎn)移圖(簡(jiǎn)稱為狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件來表示系統(tǒng)的行為。4.2.2.1 狀態(tài) 狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對(duì)事件

53、的響應(yīng)方式。 在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)(即初始狀態(tài))、終態(tài)(最終狀態(tài))和中間狀態(tài)。在一張狀態(tài)圖中只有一個(gè)初態(tài),而終態(tài)則可以有0至多個(gè)。4.2.2.2 事件 事件是在某個(gè)特定時(shí)刻發(fā)生的事件,它是對(duì)引起系統(tǒng)做動(dòng)作或(和)從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外界事件的抽象。4.2.2.3 符號(hào) 在狀態(tài)圖中,初態(tài)用實(shí)心圓表示,終態(tài)用一對(duì)同心圓(內(nèi)圓為實(shí)心圓)表示。 中間狀態(tài)用圓角矩形表示,可以用兩條水平橫線分成上、中、下3個(gè)部分。上面部分為狀態(tài)的名稱,這部分不能缺省;中間部分為狀態(tài)變量的名字和值,此部分可選;下面部分是活動(dòng)表,這部分也是可選。 活動(dòng)表的語(yǔ)法格式為:事件名(參數(shù)表)/動(dòng)作表達(dá)式。 狀態(tài)圖

54、中兩個(gè)狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。 事件表達(dá)式的語(yǔ)法:事件說明【警戒條件】/動(dòng)作表達(dá)式。圖4.2是狀態(tài)圖中使用的主要符號(hào)表征。4.2.2.4 舉例4.2.3 數(shù)據(jù)流圖 數(shù)據(jù)流圖(Data Flow Diagram,DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程所經(jīng)受的變換。4.2.3.1 符號(hào)數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都是數(shù)據(jù),僅僅所處的狀態(tài)不同。 處理并不一定是一個(gè)程序。一個(gè)處理框可以代表一系列程序、單個(gè)程序或者程序的一個(gè)模塊;它甚至可以代表用穿孔機(jī)穿孔或目視檢查數(shù)據(jù)正確性等人工處理過程。一個(gè)數(shù)據(jù)存儲(chǔ)也并不等同于一個(gè)文件,它可以表示一個(gè)文件、文件的一部分、

55、數(shù)據(jù)庫(kù)的元素或記錄的一部分等。 如圖4.4(a)所示,數(shù)據(jù)流圖有4種基本符號(hào):正方形(或立方體)表示數(shù)據(jù)的源點(diǎn)或終點(diǎn);圓角矩形(或圓形)代表變換數(shù)據(jù)的處理;開口矩形(或兩條平行橫線)代表數(shù)據(jù)存儲(chǔ);箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向。注意,數(shù)據(jù)流與程序流程圖中用箭頭表示的控制流有本質(zhì)不同,不可以混淆。數(shù)據(jù)流圖的基本要點(diǎn)是描繪“做什么”,而不考慮“怎樣做”。4.2.3.2 數(shù)據(jù)流層次 在分析的初始,整個(gè)信息處理系統(tǒng)可以用圖4.5所示的頂級(jí)(第0級(jí))數(shù)據(jù)流圖表示。 隨著需求分析活動(dòng)的逐漸深入,較高層抽象級(jí)別的復(fù)雜轉(zhuǎn)換可以精化為一系列相互關(guān)聯(lián)的數(shù)據(jù)流和子轉(zhuǎn)換。 在進(jìn)行逐層精化的過程中,必須維持層次間

56、數(shù)據(jù)流圖的平衡,被完成精化的轉(zhuǎn)換的輸入流、輸出流必須與精化它的數(shù)據(jù)流子圖的初始輸入流和最終輸出流保持嚴(yán)格一致。4.2.3.3 數(shù)據(jù)字典通常,數(shù)據(jù)字典的每一數(shù)據(jù)條目包含以下內(nèi)容:(1)在數(shù)據(jù)流圖中標(biāo)識(shí)數(shù)據(jù)流、數(shù)據(jù)源或外部實(shí)體的名稱與別名;(2)數(shù)據(jù)類型;(3)所有以它作為輸入流或輸出流的轉(zhuǎn)換列表;(4)如何使用該數(shù)據(jù)條目的簡(jiǎn)要說明;(5)數(shù)據(jù)條目的解釋性說明;(6)其他補(bǔ)充說明,例如取值范圍與缺省值,有關(guān)的設(shè)計(jì)約束等。 數(shù)據(jù)條目的定義必須遵循精確、簡(jiǎn)潔的原則,并且能為用戶方和軟件開發(fā)方共同理解。例如,可以使用形式語(yǔ)言中的語(yǔ)法定義機(jī)制描述數(shù)據(jù)條目的內(nèi)容:=定義為(等價(jià)于);A+B 表示語(yǔ)法成分A、

57、B的順序連接;A|B表示A或B;()表示括弧內(nèi)的內(nèi)容可選(圓括弧里的分量可有可無)。A表示A0|A,即含有一個(gè)A,或者不含;An(n0)表示n個(gè)A的順序連接;常常使用上限和下限進(jìn)一步注釋表示重復(fù)的花括弧。一種注釋方法是在開括弧的左邊用上角標(biāo)和下角標(biāo)分別表明重復(fù)的上限和下限;另一種注釋方法是在開括弧左側(cè)標(biāo)明重復(fù)的下限,在閉括弧的右側(cè)標(biāo)明重復(fù)的上限。例如:1A5,或者,它們含義相同。表示用A表示的字符串集合,字符串包括:A、AA、AAA、AAAA和AAAAA。 這樣,“家庭保安系統(tǒng)”中的“電話號(hào)碼”數(shù)據(jù)條目可以定義如下:電話號(hào)碼=分機(jī)號(hào)|外線號(hào)碼分機(jī)號(hào)=8601|8602|8699外線號(hào)碼=9+市

58、話號(hào)碼|長(zhǎng)話號(hào)碼長(zhǎng)話號(hào)碼=0+區(qū)號(hào)+市話號(hào)碼區(qū)號(hào)=30|1|93市話號(hào)碼=局號(hào)+分局號(hào)局號(hào)=455|448|888|552分局號(hào)=40|1|944.2.3.4 基于數(shù)據(jù)流的分析方法 數(shù)據(jù)流圖是目標(biāo)軟件系統(tǒng)中各個(gè)處理子功能以及它們之間的數(shù)據(jù)流動(dòng)的圖形表示。數(shù)據(jù)流圖的精化過程實(shí)際上是處理子功能和數(shù)據(jù)流的細(xì)化過程。隨著這一過程的進(jìn)行,用戶需求逐步精確化、一致化和完全化。 在創(chuàng)建用戶需求的數(shù)據(jù)流模型的過程中, 分析人員應(yīng)遵循以下規(guī)則: 首先建立頂級(jí)數(shù)據(jù)流圖4.2.3.4.1 創(chuàng)建數(shù)據(jù)流 對(duì)用戶需求的文字描述進(jìn)行語(yǔ)法分析,其中的名詞和名詞短語(yǔ)構(gòu)成潛在的外部實(shí)體、數(shù)據(jù)源或數(shù)據(jù)流,動(dòng)詞構(gòu)成潛在的處理功能。

59、采用通常的功能分解法,按照“高內(nèi)聚、低耦合”原則逐個(gè)對(duì)處理功能進(jìn)行精化;與此同時(shí),逐步完成數(shù)據(jù)流的精化,并針對(duì)被精化的處理功能生成下一級(jí)數(shù)據(jù)流圖。 “高內(nèi)聚、低耦合”原則是指,被分解出來的各子功能之間的聯(lián)系相對(duì)松散、簡(jiǎn)單,子功能內(nèi)部各部分的聯(lián)系相對(duì)緊密、復(fù)雜。 對(duì)數(shù)據(jù)流的精化包含兩方面的意義。首先,伴隨著功能分解的進(jìn)行,數(shù)據(jù)流的內(nèi)容及各項(xiàng)特征將逐步彰顯,所以要將其作為數(shù)據(jù)字典的一個(gè)條目,并不斷精化、調(diào)整內(nèi)容。其次,在父數(shù)據(jù)流圖中的復(fù)合數(shù)據(jù)項(xiàng)可被分解為子數(shù)據(jù)項(xiàng),這種數(shù)據(jù)流分解并不違背平衡準(zhǔn)則。 在精化過程中必須維持各級(jí)數(shù)據(jù)流的平衡。 精化過程應(yīng)適可而止,避免涉及軟件設(shè)計(jì)細(xì)節(jié)。一般來說 ,如果某子

60、功能可以用一段簡(jiǎn)潔、精確的文字描述清楚,就無需進(jìn)一步分解。4.2.3.4.2 過程規(guī)格說明 圖4.8中“口令核對(duì)”子功能分解出來的“設(shè)置口令”子功能可描述如下:參數(shù):口令;類別:字符串;處理步驟:i. 檢查系統(tǒng)是否已有口令。若有,則驗(yàn)證用戶輸入口令的有效性。若有效,則顯示提示信息要求輸入新口令;否則,顯示失敗信息并退出。ii. 檢查口令長(zhǎng)度是否合法。若非法,則顯示提示信息,要求重新輸入。iii. 要求用戶再次鍵入合法口令,以便用戶確認(rèn)和記憶。若兩次鍵入的口令不符,則返回。iv. 將確認(rèn)后的口令按某種加密方法轉(zhuǎn)換為另一字符串存放于系統(tǒng)配置文件中。顯示成功信息并退出。約束條件:在上述i、ii、ii

溫馨提示

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

評(píng)論

0/150

提交評(píng)論