軟件工程與軟件文檔_第1頁
軟件工程與軟件文檔_第2頁
軟件工程與軟件文檔_第3頁
軟件工程與軟件文檔_第4頁
軟件工程與軟件文檔_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程介紹教材:《軟件工程與軟件文檔寫作》

文斌劉長青田原著成績計算: 平時成績:30%

期末考試:70%考勤:30%作業(yè):70%本課程全面系統(tǒng)地講述了現(xiàn)代軟件工程的基本概念、原理及應(yīng)用,重點是面向?qū)ο蟮能浖_發(fā)方法、工具和過程,并針對軟件生命周期的主要階段,結(jié)合具體案例和相關(guān)標準,講述軟件主要文檔的寫作規(guī)范和技巧。通過本課程的學習,使學生能夠真正的從中了解軟件開發(fā)的整個過程,培養(yǎng)學生的軟件工程化開發(fā)的意識和對于不同軟件文檔的寫作能力;使學生能夠運用所學技能和標準完成軟件開發(fā)組織中文檔寫作的任務(wù)。特別是面向?qū)ο蟛糠郑褂肬ML+Rose進行開發(fā)方法講述和文檔寫作能力培養(yǎng)。課程主要內(nèi)容參考資料:[1]齊治昌,譚慶平,寧洪.軟件工程.北京:高等教育出版社,2001[2] 殷人昆.軟件工程復習與考試指導.北京:高等教育出版社,2001[3] 鄭人杰,殷人昆,陶永雷.實用軟件工程第2版.北京:清華大學出版社,1997[4] 張虹.軟件工程與軟件開發(fā)工具.北京:清華大學出版社,2004[5] 朱三元,錢樂秋,宿為民.軟件工程技術(shù)概論.北京:科學出版社,2002[6] 王國強,廖啟高,王海山,等.如何寫好計算機軟件文檔.北京:電子工業(yè)出版社,1994[7] [美]PrattT W,ZelkowitzMV.程序設(shè)計語言:設(shè)計與實現(xiàn)第4版.傅育熙譯.北京:電子工業(yè)出版社,2001[8] 吳際,金茂忠.UML面向?qū)ο蠓治?北京:北京航空航天大學出版社,2002[9] PressmanR.SoftwareEngineering:APractitioner’sApproach.4thed.北京:機械工業(yè)出版社,1999[10] 張海藩.軟件工程導論第4版.北京:清華大學出版社,2003[11] 劉強.軟件工程教案.北京:清華同方股份公司,2003[12] 劉超,張莉.可視化面向?qū)ο蠼<夹g(shù).北京:北京航空航天大學出版社,1999第1章軟件工程與軟件文檔1.1軟件

軟件包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合;

程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列;

數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);

文檔是與程序開發(fā)、維護和使用有關(guān)的圖文材料。

程序是由程序設(shè)計語言所描述、能為計算機所識別、理解和處理的語句序列,程序設(shè)計語言具有良好、嚴格的語法和語義。目前程序設(shè)計語言主要有以下幾種類型:?面向機器,如匯編語言、機器語言等;?面向過程,如Fortran、Pascal、C等等;?面向?qū)ο?,如Java等等;?面向問題,如結(jié)構(gòu)化查詢語言SQL等等。軟件文檔是記錄軟件開發(fā)活動和階段性成果、理解軟件所必需的闡述性資料。編寫軟件文檔的目的:?促進對軟件的開發(fā)、管理和維護;?便于各種人員(用戶和開發(fā)人員)的交流。軟件的形式化定義,即軟件是:(1)能夠完成預(yù)定功能和性能的可執(zhí)行指令;(2)使得程序能夠適當?shù)夭僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu);(3)描述程序的操作和使用的文檔。軟件的特點(1)軟件是一種邏輯實體,而不是具體的物理實體(2)軟件的生產(chǎn)與硬件不同(3)在軟件的運行和使用期間,沒有硬件那樣的機械磨損,老化問題磨合調(diào)整磨損用壞修改點實際曲線理想曲線硬件失效率曲線時間失效率時間失效率軟件失效率曲線(4)軟件的開發(fā)和運行常常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性。為了解除這種依賴性,在軟件開發(fā)中提出了軟件移植的問題。(5)軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方式。(6)軟件本身是復雜的。(7)相當多的軟件工作涉及到社會因素。(8)軟件成本相當昂貴。軟件的成本相當昂貴軟件技術(shù)的發(fā)展落后于需求硬、軟件成本比例的變化時間軟件復雜性軟件需求差距軟件技術(shù)年份成本%軟件1950197019851995硬件1.2 軟件的分類和發(fā)展(1)按軟件的功能進行劃分系統(tǒng)軟件:能與計算機硬件緊密配合在一起,使計算機系統(tǒng)各個部件、相關(guān)軟件和數(shù)據(jù)協(xié)調(diào)、高效工作的軟件,例如,操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、設(shè)備驅(qū)動程序以及通信處理程序等。應(yīng)用軟件:是在特定領(lǐng)域內(nèi)開發(fā),為特定目的服務(wù)的一類軟件。支撐軟件:是協(xié)助用戶開發(fā)軟件的工具性軟件,其中包括幫助程序人員開發(fā)軟件產(chǎn)品的工具,也包括幫助管理人員控制開發(fā)進程的工具。2023/6/12支撐軟件一般類型:文本編輯程序文本格式化程序支持需求分析:PSL/PSA問題描述語言關(guān)系數(shù)據(jù)庫管理系統(tǒng)支持設(shè)計:圖形軟件包結(jié)構(gòu)化流程圖繪圖程序支持測試:靜態(tài)分析器測試覆蓋檢驗程序支持實現(xiàn):編輯程序連接編輯程序支持管理:標準檢驗程序庫管理程序(2)按軟件規(guī)模進行劃分類別參加人員數(shù)研制期限產(chǎn)品規(guī)模(源程序行數(shù))微型11?4周500小型11?6月1x103?2x103中型2?51?2年5x103?50x103大型5?202?3年5k?50xl03?100xlO3甚大型100-10004?5年1xlO6極大型2000?50005?10年1x106?10x106(3)按軟件工作方式劃分實時處理軟件:指在事件或數(shù)據(jù)產(chǎn)生時立即予以處理,并及時反饋信號,控制需要監(jiān)測和控制的過程的軟件。主要包括數(shù)據(jù)采集、分析和輸出三部分。例:QQ分時軟件:允許多個聯(lián)機用戶同時使用計算機。

例:紅綠燈交互式軟件:能實現(xiàn)人機通信的軟件。例:繪聲繪影批處理軟件:把一組輸入作業(yè)或一批數(shù)據(jù)以成批處理的方式一次運行,按順序逐個處理的軟件。例:垃圾處理軟件(4)按軟件服務(wù)對象的范圍劃分項目軟件:也稱定制軟件,是受某個特定客戶(或少數(shù)客戶)的委托,由一個或多個軟件開發(fā)機構(gòu)在合同的約束下開發(fā)出來的軟件。例如軍用防空指揮系統(tǒng)、衛(wèi)星控制系統(tǒng)。產(chǎn)品軟件:是由軟件開發(fā)機構(gòu)開發(fā)出來直接提供給市場,或是為千百個用戶服務(wù)的軟件。例如,文字處理軟件、文本處理軟件、財務(wù)處理軟件、人事管理軟件等。(5)按使用的頻度進行劃分有的軟件開發(fā)出來僅供一次使用。例如用于人口普查、工業(yè)普查的軟件。另外有些軟件具有較高的使用頻度,如天氣預(yù)報軟件。(6)按軟件失效的影響進行劃分有的軟件在工作中出現(xiàn)了故障,造成軟件失效,可能給整個系統(tǒng)帶來的影響不大。有的軟件一旦失效。可能釀成災(zāi)難性后果,例如財務(wù)金融、交通通信、航空航天等軟件。我們稱這類軟件為關(guān)鍵軟件或生命攸關(guān)軟件。軟件的發(fā)展歷史

經(jīng)歷4個階段1950196019701980程序設(shè)計階段面向批處理有限的分布自定義軟件1.1.2軟件發(fā)展1950196019701980程序系統(tǒng)階段多用戶實時數(shù)據(jù)庫軟件產(chǎn)品19501960197019801990軟件工程階段分布式系統(tǒng)嵌入“智能”低成本硬件消費者的影響1.1.2軟件發(fā)展195019601970198019902005

第四階段強大的桌面系統(tǒng)面向?qū)ο蠹夹g(shù)專家系統(tǒng)人工神經(jīng)網(wǎng)絡(luò)并行計算網(wǎng)絡(luò)計算1.1.2軟件發(fā)展軟件危機

軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重的問題。(20世紀60年代末70年代初)(正常、不正常運行軟件都具有這種問題)軟件危機的具體表現(xiàn):對軟件開發(fā)成本和進度的估計常常不準確。(成本、進度等);軟件產(chǎn)品不符合用戶的實際需要;軟件產(chǎn)品的質(zhì)量差:軟件質(zhì)量保證技術(shù)(審查、復審及測試)沒有貫穿到軟件開發(fā)的全過程中;軟件的可維護性差(改正、移植、重用性等);件開發(fā)生產(chǎn)率提高的速度遠遠不能滿足客觀需求;軟件文檔資料通常不完整、不合格;軟件的價格昂貴。軟件危機的原因:

(1)用戶需求不明確

(2)軟件開發(fā)人員對用戶需求的理解與用戶的本來愿望有差異

(3)軟件規(guī)模越來越大,經(jīng)驗不足

(4)軟件項目開發(fā)人員不能有效、獨立自主地處理大型軟件的全部關(guān)系和各個分支

(5)缺乏有力的方法學和工具方面的支持

(6)軟件產(chǎn)品的特殊性和人類智力的局限性1.3

軟件工程軟件工程,由NATO于1968年提出軟件工程是運用工程、數(shù)學、計算機等科學概念、方法和原理來指導軟件開發(fā)和管理和維護的一門工程學科。軟件工程構(gòu)成三要素為:?過程一管理部分;?方法——技術(shù)手段;?工具——自動或半自動地支持軟件的開發(fā)和管理要素之間相互關(guān)聯(lián)和支持。軟件工程的目標是:在給定成本、進度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并滿足用戶需求的軟件產(chǎn)品。追求這些目標有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護的困難。軟件工程的原則:抽象、信息隱藏、模塊化、局部化、一致性、完整性和可驗證性12個在不同場合反復出現(xiàn)的概念:綁定(Binding)大問題的復雜性(Complexity oflargeProblems)概念和形式模型(Conceptual andFormatModels)一致性和完備性(ConsistencyandCompleteness)效率(Efficiency)演化(Evolution)抽象層次(Levels ofAbstraction)按空間排序(Ordering inSpace)(9)按時間排序(Ordering inTime)(10)重用(Reuse)(11)安全性(Security)(12)折中和結(jié)論(Tradeoffs andConsequences)1.4

軟件文檔在軟件開發(fā)中的地位和作用主要體現(xiàn)在以下幾個方面:(1)文檔反映軟件開發(fā)人員在各階段的工作成果和結(jié)束標志。(2)文檔提高軟件開發(fā)過程的“透明度”,便于管理人員對整個開發(fā)過程進行控制和管理。(3)文檔增強軟件開發(fā)的系統(tǒng)性。(4)文檔改善軟件開發(fā)人員之間“愛莫能助”的局面,增強開發(fā)人員之間的通訊交流。(5)文檔記錄從問題定義、需求分析、軟件設(shè)計到驗收測試,這一系列有關(guān)軟件的管理信息和技術(shù)信息,既便于協(xié)調(diào)軟件開發(fā)工作,又為軟件維護和擴充提供了依據(jù)。(6)文檔說明軟件安裝。對文檔的基本要求:文檔的及時性。文檔的完整性。文檔的準確性。文檔的規(guī)范性。根據(jù)標準制定的機構(gòu)和標準適用的范圍有所不同,軟件工程和軟件文檔標準可分為五個級別,即國際標準國家標準、行業(yè)標準、企業(yè)(機構(gòu))規(guī)范及項目(課題)規(guī)范。1.國際標準:由國際聯(lián)合機構(gòu)制定和公布的標準,供各國參考。如ISO——國際標準化組織。2.國家標準:由政府或國家級的機構(gòu)制定或批準,適用于全國范圍。如GB——中國國標、ANSI——美國國家標準協(xié)會、BS——英國國家標準、JIS——日本工業(yè)標準。3.行業(yè)標準:由行業(yè)機構(gòu)、學術(shù)團體或國防等機構(gòu)制定,適用于某個業(yè)務(wù)領(lǐng)域。如IEEE——美國電氣和電子工程師學會、GJB——中國國家軍用標準。4.企業(yè)規(guī)范:企業(yè)因軟件工程工作的需要制定的適用于本企業(yè)的規(guī)范。如IBM通用產(chǎn)品部于1984年制定的《程序設(shè)計開發(fā)指南》。5.項目規(guī)范:由某一科研生產(chǎn)項目組織制定,僅為該項目任務(wù)服務(wù)的軟件工程規(guī)范。如CIMS——計算機集成制造系統(tǒng)——軟件工程規(guī)范。中國的軟件標準1983年起,我國陸續(xù)制定和發(fā)布了20余項軟件工程國家標準。這些標準可以分為以下四類:1.基礎(chǔ)標準:規(guī)定了信息加工處理和軟件工程領(lǐng)域的術(shù)語、符號、表示、構(gòu)造、分類級約定;2.開發(fā)標準:規(guī)定了軟件生存期過程、軟件支持環(huán)境、軟件記錄處理流程、軟件維護等的工作規(guī)范;3.文檔標準:規(guī)定了軟件產(chǎn)品、需求、測試、管理等文檔的編制規(guī)范;4.管理標準:規(guī)定了軟件配置管理計劃、質(zhì)量保證計劃、產(chǎn)品質(zhì)量特性、軟件可靠性和可維護性管理等的規(guī)范和工作要素。下表列出了我國部分軟件工程標準的名稱及其標準號:類型標準名稱標準號基礎(chǔ)標準軟件工程術(shù)語GB/T11457-1989信息處理——數(shù)據(jù)流程、程序流程圖、系統(tǒng)結(jié)構(gòu)圖、程序網(wǎng)絡(luò)圖、系統(tǒng)資源圖的文件編制符號及約定GB/T1526-1989軟件工程標準分類法GB/T15538-1995信息處理——程序構(gòu)造及其表示法的約定GB/T13502-1992信息處理——單命中判定表規(guī)范GB/T15535-1995(ISO5806)信息處理系統(tǒng)——計算機系統(tǒng)配置圖符號及其約定GB/T14085-1993(ISO8790)開發(fā)標準信息技術(shù)——軟件生存期過程GB/T8566-1995軟件支持環(huán)境GB/T15853-1995信息處理——按記錄組處理順序文卷的程序流程GB/T15697-1995(ISO6593)軟件維護指南GB/T14079-1993文檔標準計算機軟件產(chǎn)品開發(fā)文檔編制指南GB/T8567-1988計算機軟件需求說明編制指南GB/T9385-1988計算機軟件測試文檔編制規(guī)范GB/T9386-1988軟件文檔管理指南GB/T16680-1996管理標準計算機軟件配置管理計劃規(guī)范GB/T12505-1990信息技術(shù)——軟件產(chǎn)品評價質(zhì)量特性及其使用指南GB/T16260-1996計算機軟件質(zhì)量保證計劃規(guī)范GB/T12504-1990計算機軟件可靠性和可維護性管理GB/T14394-1993軟件工程標準的制定

軟件工程標準的制定與推行通常要經(jīng)歷一個環(huán)狀生命周期,如下圖所示。從最初的制定一項標準的初步設(shè)想,經(jīng)發(fā)起后,沿著環(huán)狀生命期,順時針經(jīng)歷以下步驟:審核修訂建議開發(fā)咨詢審批公布培訓實施發(fā)起撤銷1.建議——擬定初步的建議方案2.開發(fā)——制定標準的具體內(nèi)容3.咨詢——征求并吸收有關(guān)人員的意見4.審批——由管理部門決定能否推出5.公布——公布發(fā)布,使標準生效6.培訓——為推行標準準備人員條件7.實施——投入使用,需經(jīng)歷相當期限8.審核——檢驗實施效果,決定修改或撤銷9.修訂——修改其中不適當?shù)牟糠?,形成標準的新版本,進入新的周期事實上,幾乎所有的標準都有一個逐步的成熟,在環(huán)狀生命期上循環(huán)數(shù)次的經(jīng)歷,這就需要標準的制定者和使用者付出大量的勞動,來對標準加以完善。軟件文檔的種類軟件文檔從形式上看,大致可分為兩類:一類是開發(fā)過程中填寫的各種圖表,可稱之為工作表格;另一類是編制的技術(shù)資料或技術(shù)管理資料,可稱之為文檔或文件。軟件文檔的編制,可以用自然語言、特別設(shè)計的形式語言、介于兩者之間的半形式語言(結(jié)構(gòu)化語言)和各類圖形表示??梢杂帽砀駚砭幹莆臋n。文檔可以書寫,也可以在計算機支持系統(tǒng)中產(chǎn)生,但它必須是可閱讀的。按照文檔產(chǎn)生和使用的范圍,軟件文檔大致可分為以下三類:①開發(fā)文檔。②管理文檔。③用戶文檔。41軟件文檔開發(fā)文檔用戶文檔管理文檔可行性研究報告項目開發(fā)計劃軟件需求說明書數(shù)據(jù)要求規(guī)格說明概要設(shè)計說明書詳細設(shè)計說明書用戶手冊操作手冊軟件需求說明書維護修改建議項目開發(fā)計劃模塊開發(fā)卷宗開發(fā)進度月報測試計劃測試分析報告項目開發(fā)總結(jié)報告421.開發(fā)文檔開發(fā)文檔作為軟件開發(fā)人員前一階段工作成果的體現(xiàn)和后一階段工作依據(jù)的文檔,主要負責對軟件開發(fā)過程進行描述和規(guī)范。開發(fā)文檔除了前面列表的內(nèi)容,還包括軟件的詳細技術(shù)描述,如程序邏輯、程序間相互關(guān)系、數(shù)據(jù)格式、存儲等。開發(fā)文檔主要可以發(fā)揮以下幾個方面的作用:作為軟件生存期整個階段之間的通信工具,記錄生成軟件需求、設(shè)計、編碼、測試等的詳細規(guī)定和說明;描述開發(fā)小組的工作職責。通過規(guī)定軟件規(guī)劃設(shè)計、主題事項、文檔編制、質(zhì)量保證等人員的角色,來定義“如何做”和“何時做”;用作檢驗點,而允許管理者評估開發(fā)進度。如果開發(fā)文檔缺失或過時,管理者將失去跟蹤和控制軟件項目的重要工具;形成系統(tǒng)維護人員所要求的基本的軟件支持文檔,并構(gòu)成產(chǎn)品文檔的一部分;記錄軟件開發(fā)的歷史。442.用戶文檔用戶文檔主要負責對軟件產(chǎn)品的安裝、配置、使用、維護等信息進行描述。包括系統(tǒng)安裝配置手冊、用戶操作手冊、軟件需求說明書、數(shù)據(jù)要求說明書等。用戶文檔主要發(fā)揮以下作用:為使用和運行軟件產(chǎn)品的用戶提供培訓和運行參考信息;為產(chǎn)品維護工程師提供必要的信息;促進和方便軟件產(chǎn)品的市場推廣。用戶文檔的提供通??梢园ㄒ韵滦问剑?產(chǎn)品的市場宣傳資料、適合管理者的產(chǎn)品指南和相關(guān)資料、提供給潛在用戶的較深入的產(chǎn)品技術(shù)資料、產(chǎn)品使用所需的完整的操作和技術(shù)資料等。用戶文檔的涉眾通常包括以下人員: 一般潛在用戶、具有決策權(quán)的潛在用戶、最終用戶、產(chǎn)品維護人員等。最基本的用戶文檔通常包括以下幾類: 產(chǎn)品培訓手冊、產(chǎn)品操作手冊、產(chǎn)品安裝配置手冊、產(chǎn)品支持手冊、產(chǎn)品信息廣告等。用戶文檔的分發(fā)按照涉眾的類型進行。不同類型的涉眾可以獲得不同的用戶文檔。用戶文檔在分發(fā)前應(yīng)該制定合適的分發(fā)策略和計劃。463.管理文檔管理文檔主要是對軟件開發(fā)過程的管理信息進行描述。管理文檔除了前面列表內(nèi)容,還應(yīng)該包括被管理者的反饋信息,如各色表格、工作總結(jié)、開發(fā)體會、產(chǎn)品建議等。管理文檔主要有以下作用:軟件初期定義、規(guī)劃、商務(wù)等與客戶互動結(jié)果的記錄;開發(fā)過程每個階段的進度和進度變更的記錄;軟件開發(fā)人員

溫馨提示

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

評論

0/150

提交評論