版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第四章
軟件開發(fā)工具的技術(shù)要素
4.1基本功能與一般結(jié)構(gòu)4.2總控與人機(jī)界面4.3信息庫及其管理4.4文檔生成與代碼生成4.5項(xiàng)目管理與版本管理第四章
軟件開發(fā)工具的技術(shù)要素4.1基本功能與一般結(jié)構(gòu)1由于軟件開發(fā)工具一般都較為復(fù)雜、龐大,所以,它的功能設(shè)計(jì)與總體結(jié)構(gòu)是必須認(rèn)真考慮的。由于軟件開發(fā)工具一般都較為復(fù)雜、龐大,所以,它的功能設(shè)計(jì)與總24.1
基本功能與一般結(jié)構(gòu)軟件開發(fā)工具對各類支持工作歸納成五個(gè)方面,即軟件的功能要求:認(rèn)識(shí)與描述客觀系統(tǒng)存儲(chǔ)及管理開發(fā)過程中的信息代碼的編寫或生成文檔的編制或生成軟件項(xiàng)目的管理4.1
基本功能與一般結(jié)構(gòu)軟件開發(fā)工具對各類支持工作歸納成3一、軟件開發(fā)工具的基本功能(五個(gè)方面)(1)提供描述軟件狀況及其開發(fā)過程的概念模式,協(xié)助軟件開發(fā)人員認(rèn)識(shí)軟件工作的環(huán)境與要求、合理地組織與管理軟件開發(fā)的工作過程。系統(tǒng)描述軟件開發(fā)工具是引導(dǎo)人們建立正確的、有效地概念模式的一種手段。此處的概念模式包括幾個(gè)主要方面:對軟件的應(yīng)用環(huán)境的認(rèn)識(shí)和理解對預(yù)期產(chǎn)生的軟件產(chǎn)品的認(rèn)識(shí)與理解。對軟件開發(fā)過程的認(rèn)識(shí)與理解。
任何軟件開發(fā)工具都具備這種功能。一、軟件開發(fā)工具的基本功能(五個(gè)方面)(1)提供描述軟件狀況4(2)提供存儲(chǔ)和管理有關(guān)信息的機(jī)制與手段。
簡單說就是根據(jù)概念模式提供一個(gè)信息庫和一個(gè)人機(jī)界面,它能夠有效地管理這些信息。信息管理(3)幫助使用者編制、生成及修改各種文檔。這包括文字材料和各種表格、圖形。軟件開發(fā)中有大量的文檔產(chǎn)生,其工作量常常使人望而卻步,軟件開發(fā)工具在這方面的功能是十分重要的。文檔生成(2)提供存儲(chǔ)和管理有關(guān)信息的機(jī)制與手段。
簡單說就是根5(4)幫助使用者編寫程序代碼,即代碼生成。這些編碼工作本來是程序員的任務(wù),軟件開發(fā)工具通過各種信息的提供,使用戶能夠在較短時(shí)間內(nèi)半自動(dòng)地生成所需的代碼段落,進(jìn)行測試、修改錯(cuò)誤等。代碼生成(5)對于歷史信息進(jìn)行跨生命周期的管理,把項(xiàng)目運(yùn)行與版本更新的有關(guān)信息科學(xué)地管理起來。對于大型軟件開發(fā)來說,這一部分會(huì)成為信息處理的瓶頸。做好這一部分工作將非常有利于信息與資源的充分利用(或重用),其作用也是十分可觀的。項(xiàng)目管理完整的、一體化的軟件開發(fā)工具應(yīng)當(dāng)具備以上這些功能。理想情況下,現(xiàn)有的多數(shù)軟件開發(fā)工具往往實(shí)現(xiàn)了其中某一薦或某幾項(xiàng)。(4)幫助使用者編寫程序代碼,即代碼生成。這些編碼工作本來是6二、軟件開發(fā)工具的一般結(jié)構(gòu)
根據(jù)軟件開發(fā)工具的基本功能概括軟件開發(fā)工具的一般結(jié)構(gòu):處于中心位置的是總控和人機(jī)界面。一方面,人機(jī)界面面對著不同的用戶類型;另一方面,總控面對著系統(tǒng)內(nèi)部的各種功能與各種信息,它要保證各部分相互之間的協(xié)調(diào)一致,保證各部分之間信息有效地、準(zhǔn)確地流通。另一個(gè)重要部分是信息庫及其管理,信息庫框架反映了人們對軟件產(chǎn)品和軟件開發(fā)過程的基本看法。信息庫內(nèi)容的豐富程度則是軟件開發(fā)工具的功能與作用的最基本的依據(jù)。圖中沒有反映出來的技術(shù)要素是項(xiàng)目管理和版本管理。
分析設(shè)計(jì)人員運(yùn)行管理人員項(xiàng)目管理人員人機(jī)界面總控使用查詢一致性維護(hù)錄入更新聯(lián)機(jī)查詢文檔生成代碼生成其他輸出系統(tǒng)狀況設(shè)計(jì)成果運(yùn)行狀況項(xiàng)目版本信息庫信息庫管理二、軟件開發(fā)工具的一般結(jié)構(gòu)根據(jù)軟件開發(fā)工具的基本功能概括軟7具體包括以下的幾個(gè)方面:1、總控部分與人機(jī)界面這部分是使用用者和軟件開發(fā)工具之間交流信息,實(shí)現(xiàn)所有的支持功能的橋梁。這一部分的有效實(shí)現(xiàn)是軟件開發(fā)工具的實(shí)用性和靈活性的主要保證。2、信息庫存及其管理模塊軟件開發(fā)工具對軟件開發(fā)支持的范圍及深度取決于信息庫的功能和內(nèi)容3、文檔生成模塊用于輸出文檔4、代碼生成模塊用于生成代碼5、項(xiàng)目管理模塊用于實(shí)現(xiàn)跨越開發(fā)周期的信息共享、知識(shí)重用以及軟件重用文檔生成和代碼生成是兩個(gè)最重要的信息出口。具體包括以下的幾個(gè)方面:84.
2總控部分及人機(jī)界面總控與人機(jī)界面的地位與作用作為一個(gè)完整的、一體化的軟件開發(fā)工具,總控和人機(jī)界面處于中心的位置。(1)從一體化的軟件開發(fā)工具來看作為一個(gè)完整的、一體化的軟件開發(fā)工具,總控和人機(jī)界面提供了各個(gè)工作環(huán)節(jié)之間的協(xié)調(diào)與配合,早期的、單項(xiàng)功能工具,只是幫助人們完成某一項(xiàng)具體工作,各個(gè)環(huán)節(jié)缺乏協(xié)調(diào)與配合,工具的封閉性致使它們的輸出格式之間有差別,協(xié)調(diào)配合更加困難。隨著軟件規(guī)模的擴(kuò)大,整個(gè)工具的總的結(jié)構(gòu),各部分之間的聯(lián)系方式及在用戶面前保持統(tǒng)一的形象逐步成為中心議題。4.
2總控部分及人機(jī)界面總控與人機(jī)界面的地位與作用9(2)從單項(xiàng)功能的工具集成的角度來看在實(shí)際工作中,常常采用來自不同廠家的單項(xiàng)工具,使用者自己承擔(dān)集成的任務(wù)。如分析階段使用獨(dú)立于機(jī)器的一般化的以邏輯設(shè)計(jì)文檔作為其輸出的工具,在設(shè)計(jì)編碼階段,使用依賴于某個(gè)軟件(語言或數(shù)據(jù)庫管理系統(tǒng))的設(shè)計(jì)工具。在這種情況下,最關(guān)鍵的也是最麻煩的就是把前半段的輸出,準(zhǔn)確無誤地轉(zhuǎn)化為后半段工作所要求的輸入。這就要設(shè)立一個(gè)有效的總控,它能夠在各個(gè)具體工具之上,實(shí)現(xiàn)信息的正確傳遞與轉(zhuǎn)換,幫助人們完成上述協(xié)調(diào)與配合的工作,從而形成一個(gè)統(tǒng)一的、完整地支撐環(huán)境,并通過一個(gè)統(tǒng)一的、友好的人機(jī)界面與用戶對話。因此,不論是從一體化的軟件開發(fā)工具來說,還是從單項(xiàng)的工具集成的角度來說,總控和人機(jī)界面都處于中心的位置。(2)從單項(xiàng)功能的工具集成的角度來看10軟件配置(集成)名詞:實(shí)質(zhì)是設(shè)立一個(gè)有效的總控部分,能夠在各個(gè)具體工具之上實(shí)現(xiàn)信息的正確傳遞與轉(zhuǎn)換,幫助人們完成軟件開發(fā)各階段的協(xié)調(diào)與配合工作,從而形成一個(gè)統(tǒng)一的、完整的支撐環(huán)境,并通過一個(gè)統(tǒng)一的、友好的人機(jī)界面與用戶對話。
軟件配置(集成)名詞:實(shí)質(zhì)是設(shè)立一個(gè)有效的總控部分,能夠在各11總體結(jié)構(gòu)設(shè)計(jì)的基本原則是什么?
在技術(shù)上可以歸納為三條要點(diǎn):面向使用者;保證信息的準(zhǔn)確傳遞;保證系統(tǒng)的開放性(或靈活性)首先,總控和人機(jī)界面是使用者與工具之間聯(lián)系的橋梁,必須嚴(yán)格遵循面向使用者的原則。其次,保證各部分之間信息的準(zhǔn)確傳遞。各個(gè)分散的軟件工具在集成為一個(gè)一體化的工具時(shí),它們的內(nèi)部并不發(fā)生改變,而是通過相互之間的信息交流聯(lián)系。最后,保證的開放性或靈活性。軟件開發(fā)過程的復(fù)雜性決定了軟件開發(fā)工具的多樣性和可變性。理想的模塊結(jié)構(gòu)應(yīng)當(dāng)是模塊式的,易于裁剪的??傮w結(jié)構(gòu)設(shè)計(jì)的基本原則是什么?在技術(shù)上可以歸納為三條12面向用戶的原則體現(xiàn)在幾個(gè)方面?
面向用戶的原則具體體現(xiàn)在兩方面:一方面是總控部分對各部分的調(diào)度與安排應(yīng)當(dāng)體現(xiàn)符合軟件開發(fā)人員思路的概念模式。另一方面,向用戶提供的統(tǒng)一界面應(yīng)當(dāng)體現(xiàn)這個(gè)模式。不論是設(shè)計(jì)一體化的軟件開發(fā)工具,還是把分散的單項(xiàng)工具集成起來,都應(yīng)當(dāng)遵循面向用戶這個(gè)基本原則。面向用戶的原則體現(xiàn)在幾個(gè)方面?
面向用戶的原則具體體現(xiàn)在兩方13為什么要保證軟件開發(fā)工具各部分之間信息的準(zhǔn)確傳遞?
無論是分散的軟件工具集成為一體化工具還是有計(jì)劃有組織的統(tǒng)一開發(fā)一體化工具,它們的內(nèi)部都是通過相互交流信息聯(lián)系。交流信息時(shí),信息能夠準(zhǔn)確地從一個(gè)部分傳送到另一個(gè)部分,就成為一體化是否成功的關(guān)鍵。某一部分的輸出當(dāng)它成為另一個(gè)部分的輸入的時(shí)候,它的特殊因素就必須經(jīng)過充分的考慮,并進(jìn)行必要的交換或調(diào)整,否則,就會(huì)產(chǎn)生誤解以致干擾和破壞了整個(gè)軟件系統(tǒng)的正常運(yùn)轉(zhuǎn)。因此,必須保證軟件開發(fā)工具各部分之間信息的準(zhǔn)確傳遞。為什么要保證軟件開發(fā)工具各部分之間信息的準(zhǔn)確傳遞?
無論是分14軟件開發(fā)工具是為軟件開發(fā)人員服務(wù),因此軟件開發(fā)工具要能夠?qū)浖h(huán)境及需求、軟件結(jié)構(gòu)與功能、軟件開發(fā)工作的過程與步驟進(jìn)行描述。IBM的AD/Cycle就是這樣一個(gè)框架,它一方面描述了一般的應(yīng)用軟件的結(jié)構(gòu)即SAA,另一方面,它進(jìn)一步提出了應(yīng)用軟件開發(fā)的各個(gè)階段的模型。SAA:系統(tǒng)應(yīng)用體系結(jié)構(gòu),包括的接口及內(nèi)容如下表所示:軟件開發(fā)工具是為軟件開發(fā)人員服務(wù),因此軟件開發(fā)工具要能夠?qū)?5AD/Cycle把軟件開發(fā)過程的一個(gè)周期分五個(gè)階段,各階段的任務(wù)(1)需求分析階段
需求分析階段的任務(wù)是建立邏輯模型。具體說:
①首先應(yīng)當(dāng)建立志軟件所處領(lǐng)域或環(huán)境的模型(即“企業(yè)模型”)
②其次,建立起軟件所要處理信息的靜態(tài)模型,即數(shù)據(jù)模型。
③第三,建立起信息流通的模型,即信息的來源、去向、存儲(chǔ)及處理的邏輯過程。
AD/Cycle把軟件開發(fā)過程的一個(gè)周期分五個(gè)階段,各階段的16(2)分析設(shè)計(jì)階段
需求分析階段的基本任務(wù)是完成系統(tǒng)的總體設(shè)計(jì)。包括數(shù)據(jù)結(jié)構(gòu)的詳細(xì)設(shè)計(jì),處理過程的詳細(xì)設(shè)計(jì),子系統(tǒng)或模塊的劃分以及它們之間相互聯(lián)系的具體規(guī)定。作為對于一下階段工作的具體要求,還應(yīng)當(dāng)完成屏幕設(shè)計(jì)、報(bào)表設(shè)計(jì)、數(shù)據(jù)庫的物理設(shè)計(jì)。
(3)編碼階段
是指編寫軟件的階段,這里是實(shí)際的程序代碼的產(chǎn)生點(diǎn)。(2)分析設(shè)計(jì)階段
需求分析階段的基本任務(wù)是完成系統(tǒng)的總體設(shè)17(4)測試階段
任務(wù)是對已經(jīng)完成的各個(gè)模塊或子系統(tǒng)進(jìn)行測試、調(diào)整,以便最終形成完整的軟件。需要安排測試方案,準(zhǔn)備測試數(shù)據(jù),收集與分析測試結(jié)果,對需要修改的模塊進(jìn)行修改或調(diào)整。
(5)運(yùn)行維護(hù)階段
任務(wù)是組織和管理軟件的日常運(yùn)行,收集運(yùn)行中的狀態(tài)信息及出現(xiàn)的問題并及時(shí)地進(jìn)行局部的修改與完善。(4)測試階段
任務(wù)是對已經(jīng)完成的各個(gè)模塊或子系統(tǒng)進(jìn)行測試、184.
3信息庫及其管理
信息庫是軟件開發(fā)工具的基礎(chǔ)。沒有這個(gè)基礎(chǔ),或者這個(gè)基礎(chǔ)不牢??偪鼐蜔o信息可調(diào)度,人機(jī)界面也就沒有有用的信息向用戶提供,所謂支持軟件開發(fā)也就為一句空話。因此,合理的組織信息庫的內(nèi)容,加強(qiáng)信息庫的管理功能,是軟件開發(fā)工具的又一個(gè)重要的技術(shù)要素。
4.
3信息庫及其管理信息庫是軟件開發(fā)工具的基礎(chǔ)。沒有這個(gè)19信息庫的技術(shù)考慮主要涉及四個(gè)問題:信息庫的內(nèi)容信息庫的組織方式信息庫的管理功能歷史信息的處理方法。
信息庫的技術(shù)考慮主要涉及四個(gè)問題:20一、信息庫的內(nèi)容:
信息庫中需要存放四大類信息系統(tǒng)狀況:關(guān)于軟件應(yīng)用的領(lǐng)域與環(huán)境的狀況。包括應(yīng)用領(lǐng)域中的有關(guān)實(shí)體及它們之間的相互關(guān)系的描述,軟件要處理的信息的種類、格式、數(shù)量、流向、應(yīng)用領(lǐng)域?qū)浖囊?、使用者的情況、背景、工作目標(biāo)、工作習(xí)慣等。一般是在需求分析階段收集并存入信息庫,主要用于分析設(shè)計(jì)階段。設(shè)計(jì)成果:包括邏輯設(shè)計(jì)與物理設(shè)計(jì)的成果。
主要包括:數(shù)據(jù)流程圖、數(shù)據(jù)字典、系統(tǒng)結(jié)構(gòu)圖、數(shù)據(jù)庫邏輯設(shè)計(jì)、各模塊的設(shè)計(jì)要求以及由此形成的設(shè)計(jì)文檔。運(yùn)行狀況的記錄:包括運(yùn)行效率、作用、用戶反映、故障情況、故障的原因及處理情況。項(xiàng)目管理與版本管理的信息:包括項(xiàng)目的進(jìn)度、過程、人員分工、資源投入、版本組織等。屬于跨生命周期的信息。第三章書本61頁有詳細(xì)的內(nèi)容。一、信息庫的內(nèi)容:信息庫中需要存放四大類信息21二、信息庫的組織方式(三種)1、集中存儲(chǔ)方式(最初采?。?/p>
就是建立一個(gè)龐大的數(shù)據(jù)庫,把各種信息都存放在這個(gè)數(shù)據(jù)庫存中,而各種工具,或?qū)崿F(xiàn)單項(xiàng)功能的模塊則圍繞在這個(gè)信息庫的周圍,進(jìn)行操作。
優(yōu)點(diǎn):想法比較自然,而且充分利用已有的數(shù)據(jù)庫技術(shù),比較容易保持一致性。
缺點(diǎn):與模塊化的要求相沖突。2、分散存儲(chǔ)
把信息分別存入不同的數(shù)據(jù)庫,由不同的功能模塊來處理。
優(yōu)點(diǎn):易于變更和裁剪,一部分發(fā)生變更,不致影響整個(gè)系統(tǒng)。
缺點(diǎn):每個(gè)模塊都要有自己進(jìn)行一整套增刪改的操作,且各部分之間的一致性無從保證。
信息庫模塊1模塊2模塊3子庫模塊1模塊2模塊3子庫子庫二、信息庫的組織方式(三種)1、集中存儲(chǔ)方式(最初采?。?/p>
就223、邏輯上統(tǒng)一、物理上分散、設(shè)立統(tǒng)一的信息庫管理模塊來進(jìn)行管理:通過信息庫管理模塊來對分散的各個(gè)數(shù)據(jù)庫進(jìn)行存取,并進(jìn)行一致性的檢查與維護(hù)。
優(yōu)點(diǎn):數(shù)據(jù)庫與模塊都實(shí)現(xiàn)了模塊化,既保持了一致性,又保持了靈活性。子庫模塊1模塊2模塊3子庫子庫信息管理模塊3、邏輯上統(tǒng)一、物理上分散、設(shè)立統(tǒng)一的信息庫管理模塊來進(jìn)行管23三、信息庫的管理功能
1)與一般數(shù)據(jù)庫管理系統(tǒng)相同的功能:錄入更新、使用查詢、一致性維護(hù)。2)與一般數(shù)據(jù)庫不同的管理功能:信息庫管理的主要任務(wù)(1)信息之間邏輯聯(lián)系的識(shí)別與記錄。即信息庫管理模塊必須記住信息之間的邏輯聯(lián)系,如數(shù)據(jù)字典某一項(xiàng)發(fā)生變化,相應(yīng)的數(shù)據(jù)流程圖也必須隨之變更,不管是否在同一個(gè)數(shù)據(jù)中。(2)如何實(shí)現(xiàn)定量信息與文字信息的協(xié)調(diào)一致。如數(shù)字的部分修改不會(huì)引起與數(shù)字對應(yīng)的全部文字的修改。三、信息庫的管理功能1)與一般數(shù)據(jù)庫管理系統(tǒng)相同的功能:錄24四、歷史信息的處理方法
1、信息庫的另一個(gè)問題是如何處理歷史信息。實(shí)際操作中有兩個(gè)困難:
(1)一個(gè)是歷史信息的數(shù)量太大,占用存儲(chǔ)設(shè)備過多。
大容量問題
(2)另一個(gè)是歷史信息格式不一致,難以有效地利用。表達(dá)方式不一致問題2、解決辦法:
(1)前一個(gè)問題一般采用脫機(jī)備份的方法解決。即面對信息爆炸的問題要做好脫機(jī)備份的準(zhǔn)備。
(2)解決后一個(gè)問題是十分困難的。加強(qiáng)標(biāo)準(zhǔn)化、穩(wěn)定數(shù)據(jù)結(jié)構(gòu)只能使這個(gè)問題得到一定程度的解決。(任何標(biāo)準(zhǔn)化都不是一成不變的,數(shù)據(jù)結(jié)構(gòu)的穩(wěn)定是相對的,變更則是絕對的。這個(gè)問題至今尚無令人十分滿意的解決辦法)四、歷史信息的處理方法1、信息庫的另一個(gè)問題是如何處理歷史254.4
文檔的生成與代碼的生成
除了通過屏幕上的對話獲取信息支持外,使用者從軟件開發(fā)工具得到的最主要的幫助有兩種方式:文檔生成與代碼生成。軟件開發(fā)工具的起點(diǎn)也就是這二者,軟件開發(fā)工具的主要輸出成果:程序和文檔。
一、代碼生成
1、代碼生成器的基本任務(wù)根據(jù)設(shè)計(jì)要求,自動(dòng)地或者半自動(dòng)地產(chǎn)生相應(yīng)的某種語言的程序。輸出代碼是這個(gè)模塊的目標(biāo)。輸出的代碼有兩種情況:某種高級(jí)語言程序的代碼和某種機(jī)器環(huán)境下可運(yùn)行的機(jī)器指令。
4.4
文檔的生成與代碼的生成除了通過屏幕上的對話獲取信息26
①某種高級(jí)程序設(shè)計(jì)語言的代碼
優(yōu)點(diǎn):使用者可以在這個(gè)基礎(chǔ)上進(jìn)一步修改加工,即利用自動(dòng)生成模塊作為原型,在此基礎(chǔ)上形成自己所要求的系統(tǒng)(或系統(tǒng)的一部分)。
缺點(diǎn):功能較死,效率不高。
②某種機(jī)器(包括硬件和操作系統(tǒng))環(huán)境下可運(yùn)行的機(jī)器指令。
優(yōu)點(diǎn):可以直接運(yùn)行,如果不合要求可以立即調(diào)整命令和參數(shù)重新生成一遍。
缺點(diǎn):機(jī)器代碼一般無法直接修改,對機(jī)器的硬件軟件環(huán)境的依賴很大。
①某種高級(jí)程序設(shè)計(jì)語言的代碼
優(yōu)點(diǎn):使用者可以在這個(gè)基礎(chǔ)上27哪類程序易于生成?哪類程序難于生成?為什么?
一般來說,對話屏幕、輸入屏幕、輸出報(bào)表、菜單控制結(jié)構(gòu)等類型的模塊比較容易生成,因?yàn)樗鼈兊奶幚磉^程比較規(guī)范,比較容易通過一些參數(shù)來加以描述和規(guī)定。而對于統(tǒng)計(jì)分析、數(shù)據(jù)加工、決策判斷等類型的模塊則比較難以生成,因?yàn)樗鼈兊撵`活程度較大。哪類程序易于生成?哪類程序難于生成?為什么?一般來說,對話282、代碼生成器依據(jù)三方面的資料(1)信息庫里已有的有關(guān)資料。如系統(tǒng)的總體結(jié)構(gòu)、模塊間的調(diào)用關(guān)系、基礎(chǔ)數(shù)據(jù)的相關(guān)設(shè)置、屏幕報(bào)表設(shè)計(jì)要求等。保證系統(tǒng)的統(tǒng)一。(2)各種標(biāo)準(zhǔn)模塊的框架和構(gòu)件。事實(shí)上,代碼生成的技術(shù)是根據(jù)人們對某一類模塊的編程經(jīng)驗(yàn),歸納出一些一般框架或一般構(gòu)件,事先存放在機(jī)器中,在實(shí)際使用時(shí)根據(jù)當(dāng)時(shí)輸入的參數(shù),填入框架或重新組合構(gòu)件,從而形成一個(gè)新的程序段落。(3)使用者通過屏幕前的操作送入的信息。信息庫中不可能已經(jīng)存人了代碼設(shè)計(jì)所需要的全部信息,還有相當(dāng)一部分要求或參數(shù)是在編碼時(shí)才確定的。所見即所得的的人機(jī)界面在圖形、鼠標(biāo)、功能鍵等的配合下,方便使用者的操作。2、代碼生成器依據(jù)三方面的資料29二、文檔生成文檔生成的功能與代碼生成相比,數(shù)量更大、內(nèi)容更復(fù)雜。
文檔生成包括三大類:文章、表格、圖形?!ぎ媹D已經(jīng)不是困難的問題,困難是把圖形的含義與信息庫中的內(nèi)容有機(jī)的聯(lián)系起來。把信息庫中的內(nèi)容用人們一目了然的圖形表示出來有一定的難度?!け砀癖容^容易按信息庫當(dāng)前的內(nèi)容輸出?!の恼率亲铍y處理的。寫好系統(tǒng)分析、設(shè)計(jì)報(bào)告或用戶手冊絕不只是技術(shù)問題。二、文檔生成文檔生成的功能與代碼生成相比,數(shù)量更大、內(nèi)容更復(fù)30文檔生成的困難性?文檔生成比代碼生成困難得多。1、文檔內(nèi)容復(fù)雜,包括文章、表格和圖形。2、文檔沒有嚴(yán)格的語法規(guī)則,隨意性大,種類多,又要符合人們的習(xí)慣與要求。3、文檔中的包括表面形式和含義,需要將其建立邏輯的聯(lián)系,保持文檔各部分之間、文檔與程序之間的一致性尤其困難。一處變更,需要觸發(fā)相關(guān)各處的修改。4、文章的生成是最難處理的,這不只是技術(shù)問題。文檔生成的困難性?314.5
項(xiàng)目管理與版本管理
·項(xiàng)目管理與版本管理的核心問題:跨生命周期的信息管理問題。·項(xiàng)目管理與版本管理的關(guān)鍵問題:歷史信息的處理。
4.5
項(xiàng)目管理與版本管理·項(xiàng)目管理與版本管理的核心問題32AD/Cycle的總框架中,對項(xiàng)目管理應(yīng)當(dāng)考慮的范圍給出如下規(guī)定(也就是項(xiàng)目管理的任務(wù))
(1)研究與確定開發(fā)工作的方針與方法。如采用什么樣的階段劃分方法,采用什么樣的系統(tǒng)描述方法等。(2)開發(fā)任務(wù)的劃分與分工。整個(gè)開發(fā)任務(wù)如何逐層分解為具體的任務(wù),這些任務(wù)委托給什么人來做,這些任務(wù)之間的相互關(guān)系。(3)資源狀況。有多少人力、物力、設(shè)備、軟件資金,它們在做什么,是否得到充分利用等。(4)人員情況。每個(gè)人進(jìn)度如何,是否需要培訓(xùn)等。(5)變更情況。需求、人員、環(huán)境的變更
(6)質(zhì)量情況。檢驗(yàn)標(biāo)準(zhǔn)是什么,誰負(fù)責(zé)等。
一、項(xiàng)目管理內(nèi)容AD/Cycle的總框架中,對項(xiàng)目管理應(yīng)當(dāng)考慮的范圍給出如下33項(xiàng)目管理的方法人們依據(jù)項(xiàng)目管理的經(jīng)驗(yàn),提出了以項(xiàng)目數(shù)據(jù)庫為中心進(jìn)行項(xiàng)目管理的方法。項(xiàng)目數(shù)據(jù)庫實(shí)際上是信息庫的一個(gè)組成部分,它記錄的是項(xiàng)目本身進(jìn)展的各種有關(guān)信息。如各工作階段的預(yù)期進(jìn)度、實(shí)際進(jìn)展情況、驗(yàn)收情況。項(xiàng)目負(fù)責(zé)人要隨時(shí)掌握這些情況,一方面把住驗(yàn)收質(zhì)量關(guān),同時(shí)掌握全局,及時(shí)發(fā)現(xiàn)瓶頸環(huán)節(jié),從組織上加以解決。項(xiàng)目管理的方法人們依據(jù)項(xiàng)目管理的經(jīng)驗(yàn),提出了以項(xiàng)目數(shù)據(jù)庫為中34二、版本管理主要內(nèi)容是:各個(gè)版本的編號(hào)、功能改變、模塊組成、文檔狀況、推出時(shí)間、用戶數(shù)量(或用戶名單)、用戶反映、封存情況等。主要是對成為產(chǎn)品中,需要不斷更新的大型軟件而言的。二、版本管理主要內(nèi)容是:各個(gè)版本的編號(hào)、功能改變、模塊組成、35練習(xí)軟件開發(fā)工具的基本功能有哪些?(1)提供描述軟件狀況及其開發(fā)過程的概念模式,協(xié)助軟件開發(fā)人員認(rèn)識(shí)軟件工作的環(huán)境與要求、合理地組織與管理軟件開發(fā)的過程。(2)提供存儲(chǔ)和管理有關(guān)信息的機(jī)制與手段。(3)幫助使用者編制、生成及修改各種文檔。(4)幫助使用者編寫程序代碼,即代碼生成。(5)對于歷史信息進(jìn)行跨生命周期的管理,把項(xiàng)目運(yùn)行與版本更新的有關(guān)信息科學(xué)地管理起來。練習(xí)軟件開發(fā)工具的基本功能有哪些?36一體化的軟件開發(fā)工具包括哪幾個(gè)主要組成部分?(1)總控和人機(jī)界面——中心位置,使用者和工具間的橋梁,工具實(shí)用性和靈活性的保證。(2)信息庫和信息庫管理模塊——工具功能與作用的最基本依據(jù)。(3)文檔生成和代碼生成——兩個(gè)重要輸出(4)項(xiàng)目管理和版本管理——跨周期信息共享、知識(shí)重用、軟件重用的關(guān)鍵問題。一體化的軟件開發(fā)工具包括哪幾個(gè)主要組成部分?37總控和人機(jī)界面為什么是系統(tǒng)開放性和靈活性的關(guān)鍵?總控和人機(jī)界面是使用者和軟件開發(fā)工具之間交流信息、實(shí)現(xiàn)所有的支持功能的橋梁。這一部分的有效實(shí)現(xiàn)對于軟件開發(fā)工具來說,是實(shí)用性和靈活性的主要保證。一方面,人機(jī)界面面對不同類型的用戶,這些用戶既有區(qū)別,又有共性,人機(jī)界面既要保持統(tǒng)一和一致,又要能夠在正確區(qū)分和識(shí)別用戶的基礎(chǔ)上,針對不同用戶的要求與習(xí)慣提供有效的幫助。另一方面,總控部分面對系統(tǒng)內(nèi)部的各種功能與各種信息,它要保證各部分之間相互的協(xié)調(diào)一致,保證各部分之間信息有效地、準(zhǔn)確地流通??偪睾腿藱C(jī)界面為什么是系統(tǒng)開放性和靈活性的關(guān)鍵?38總控和人機(jī)界面的設(shè)計(jì)原則是什么?(1)面向使用者(用戶)的原則(2)保證各部分之間信息的準(zhǔn)確傳遞(3)保證系統(tǒng)的開放性或靈活性——理想的系統(tǒng)結(jié)構(gòu)應(yīng)當(dāng)是模塊式的,易于剪裁的。信息庫的內(nèi)容就包括哪些方面?(1)關(guān)于軟件應(yīng)用的領(lǐng)域與環(huán)境的狀況。(2)設(shè)計(jì)成果,包括邏輯設(shè)計(jì)與物理設(shè)計(jì)的成果。(3)運(yùn)行狀況的記錄。(4)有關(guān)項(xiàng)目管理與版本管理的信息??偪睾腿藱C(jī)界面的設(shè)計(jì)原則是什么?39信息庫的結(jié)構(gòu)方式有幾種?為什么要有專門的信息庫管理模塊?信息庫管理模塊是針對邏輯上統(tǒng)一和物理上分散的組織方式來說的,由該模塊對分散的各個(gè)數(shù)據(jù)庫進(jìn)行存取,并進(jìn)行一致性的檢查與維護(hù),既保持了一致性,又保證了靈活性。它實(shí)現(xiàn)三種功能:錄入更新、使用查詢、一致性維護(hù)。信息庫的結(jié)構(gòu)方式有幾種?為什么要有專門的信息庫管理模塊?40代碼生成器的代碼輸出方式有哪幾種?優(yōu)、缺點(diǎn)是什么?(1)某種高級(jí)程序設(shè)計(jì)語言的代碼。優(yōu)點(diǎn):使用者可以利用自動(dòng)生成的模塊為原型,在此基礎(chǔ)上修改加工,形成自己所要求的系統(tǒng)或系統(tǒng)的某一部分。缺點(diǎn):功能較死,效率不高,需要修改(2)某種機(jī)器環(huán)境下可運(yùn)行的機(jī)器指令。優(yōu)點(diǎn):可以直接運(yùn)行,如果不合要求可以立即調(diào)整命令或參數(shù)重新生成一遍。缺點(diǎn):這種代碼一般無法直接修改,對硬件環(huán)境的依賴性大,用的不多。代碼生成器依據(jù)哪些資料工作?代碼生成器依據(jù)三方面的資料:(1)信息庫里已有的有關(guān)資料(2)各種標(biāo)準(zhǔn)模塊的框架和構(gòu)件(3)使用者通過屏幕臨時(shí)送入的信息項(xiàng)目管理的任務(wù)包括哪些方面?(1)研究與確定開發(fā)工作的方針與方法。(2)開發(fā)任務(wù)的劃分與分工。(3)資源情況。(4)人員情況。(5)變更情況。(6)質(zhì)量情況。代碼生成器的代碼輸出方式有哪幾種?優(yōu)、缺點(diǎn)是什么?41項(xiàng)目管理工作的困難何在?主要是各個(gè)工作階段對信息的要求、視角不同,軟件開發(fā)人員經(jīng)常需要回去補(bǔ)充調(diào)查,影響了軟件開發(fā)的進(jìn)度,同時(shí)為保持信息的一致性,需要對已有的文檔、資料做相應(yīng)修改。
項(xiàng)目管理工作的困難何在?42第四章
軟件開發(fā)工具的技術(shù)要素
4.1基本功能與一般結(jié)構(gòu)4.2總控與人機(jī)界面4.3信息庫及其管理4.4文檔生成與代碼生成4.5項(xiàng)目管理與版本管理第四章
軟件開發(fā)工具的技術(shù)要素4.1基本功能與一般結(jié)構(gòu)43由于軟件開發(fā)工具一般都較為復(fù)雜、龐大,所以,它的功能設(shè)計(jì)與總體結(jié)構(gòu)是必須認(rèn)真考慮的。由于軟件開發(fā)工具一般都較為復(fù)雜、龐大,所以,它的功能設(shè)計(jì)與總444.1
基本功能與一般結(jié)構(gòu)軟件開發(fā)工具對各類支持工作歸納成五個(gè)方面,即軟件的功能要求:認(rèn)識(shí)與描述客觀系統(tǒng)存儲(chǔ)及管理開發(fā)過程中的信息代碼的編寫或生成文檔的編制或生成軟件項(xiàng)目的管理4.1
基本功能與一般結(jié)構(gòu)軟件開發(fā)工具對各類支持工作歸納成45一、軟件開發(fā)工具的基本功能(五個(gè)方面)(1)提供描述軟件狀況及其開發(fā)過程的概念模式,協(xié)助軟件開發(fā)人員認(rèn)識(shí)軟件工作的環(huán)境與要求、合理地組織與管理軟件開發(fā)的工作過程。系統(tǒng)描述軟件開發(fā)工具是引導(dǎo)人們建立正確的、有效地概念模式的一種手段。此處的概念模式包括幾個(gè)主要方面:對軟件的應(yīng)用環(huán)境的認(rèn)識(shí)和理解對預(yù)期產(chǎn)生的軟件產(chǎn)品的認(rèn)識(shí)與理解。對軟件開發(fā)過程的認(rèn)識(shí)與理解。
任何軟件開發(fā)工具都具備這種功能。一、軟件開發(fā)工具的基本功能(五個(gè)方面)(1)提供描述軟件狀況46(2)提供存儲(chǔ)和管理有關(guān)信息的機(jī)制與手段。
簡單說就是根據(jù)概念模式提供一個(gè)信息庫和一個(gè)人機(jī)界面,它能夠有效地管理這些信息。信息管理(3)幫助使用者編制、生成及修改各種文檔。這包括文字材料和各種表格、圖形。軟件開發(fā)中有大量的文檔產(chǎn)生,其工作量常常使人望而卻步,軟件開發(fā)工具在這方面的功能是十分重要的。文檔生成(2)提供存儲(chǔ)和管理有關(guān)信息的機(jī)制與手段。
簡單說就是根47(4)幫助使用者編寫程序代碼,即代碼生成。這些編碼工作本來是程序員的任務(wù),軟件開發(fā)工具通過各種信息的提供,使用戶能夠在較短時(shí)間內(nèi)半自動(dòng)地生成所需的代碼段落,進(jìn)行測試、修改錯(cuò)誤等。代碼生成(5)對于歷史信息進(jìn)行跨生命周期的管理,把項(xiàng)目運(yùn)行與版本更新的有關(guān)信息科學(xué)地管理起來。對于大型軟件開發(fā)來說,這一部分會(huì)成為信息處理的瓶頸。做好這一部分工作將非常有利于信息與資源的充分利用(或重用),其作用也是十分可觀的。項(xiàng)目管理完整的、一體化的軟件開發(fā)工具應(yīng)當(dāng)具備以上這些功能。理想情況下,現(xiàn)有的多數(shù)軟件開發(fā)工具往往實(shí)現(xiàn)了其中某一薦或某幾項(xiàng)。(4)幫助使用者編寫程序代碼,即代碼生成。這些編碼工作本來是48二、軟件開發(fā)工具的一般結(jié)構(gòu)
根據(jù)軟件開發(fā)工具的基本功能概括軟件開發(fā)工具的一般結(jié)構(gòu):處于中心位置的是總控和人機(jī)界面。一方面,人機(jī)界面面對著不同的用戶類型;另一方面,總控面對著系統(tǒng)內(nèi)部的各種功能與各種信息,它要保證各部分相互之間的協(xié)調(diào)一致,保證各部分之間信息有效地、準(zhǔn)確地流通。另一個(gè)重要部分是信息庫及其管理,信息庫框架反映了人們對軟件產(chǎn)品和軟件開發(fā)過程的基本看法。信息庫內(nèi)容的豐富程度則是軟件開發(fā)工具的功能與作用的最基本的依據(jù)。圖中沒有反映出來的技術(shù)要素是項(xiàng)目管理和版本管理。
分析設(shè)計(jì)人員運(yùn)行管理人員項(xiàng)目管理人員人機(jī)界面總控使用查詢一致性維護(hù)錄入更新聯(lián)機(jī)查詢文檔生成代碼生成其他輸出系統(tǒng)狀況設(shè)計(jì)成果運(yùn)行狀況項(xiàng)目版本信息庫信息庫管理二、軟件開發(fā)工具的一般結(jié)構(gòu)根據(jù)軟件開發(fā)工具的基本功能概括軟49具體包括以下的幾個(gè)方面:1、總控部分與人機(jī)界面這部分是使用用者和軟件開發(fā)工具之間交流信息,實(shí)現(xiàn)所有的支持功能的橋梁。這一部分的有效實(shí)現(xiàn)是軟件開發(fā)工具的實(shí)用性和靈活性的主要保證。2、信息庫存及其管理模塊軟件開發(fā)工具對軟件開發(fā)支持的范圍及深度取決于信息庫的功能和內(nèi)容3、文檔生成模塊用于輸出文檔4、代碼生成模塊用于生成代碼5、項(xiàng)目管理模塊用于實(shí)現(xiàn)跨越開發(fā)周期的信息共享、知識(shí)重用以及軟件重用文檔生成和代碼生成是兩個(gè)最重要的信息出口。具體包括以下的幾個(gè)方面:504.
2總控部分及人機(jī)界面總控與人機(jī)界面的地位與作用作為一個(gè)完整的、一體化的軟件開發(fā)工具,總控和人機(jī)界面處于中心的位置。(1)從一體化的軟件開發(fā)工具來看作為一個(gè)完整的、一體化的軟件開發(fā)工具,總控和人機(jī)界面提供了各個(gè)工作環(huán)節(jié)之間的協(xié)調(diào)與配合,早期的、單項(xiàng)功能工具,只是幫助人們完成某一項(xiàng)具體工作,各個(gè)環(huán)節(jié)缺乏協(xié)調(diào)與配合,工具的封閉性致使它們的輸出格式之間有差別,協(xié)調(diào)配合更加困難。隨著軟件規(guī)模的擴(kuò)大,整個(gè)工具的總的結(jié)構(gòu),各部分之間的聯(lián)系方式及在用戶面前保持統(tǒng)一的形象逐步成為中心議題。4.
2總控部分及人機(jī)界面總控與人機(jī)界面的地位與作用51(2)從單項(xiàng)功能的工具集成的角度來看在實(shí)際工作中,常常采用來自不同廠家的單項(xiàng)工具,使用者自己承擔(dān)集成的任務(wù)。如分析階段使用獨(dú)立于機(jī)器的一般化的以邏輯設(shè)計(jì)文檔作為其輸出的工具,在設(shè)計(jì)編碼階段,使用依賴于某個(gè)軟件(語言或數(shù)據(jù)庫管理系統(tǒng))的設(shè)計(jì)工具。在這種情況下,最關(guān)鍵的也是最麻煩的就是把前半段的輸出,準(zhǔn)確無誤地轉(zhuǎn)化為后半段工作所要求的輸入。這就要設(shè)立一個(gè)有效的總控,它能夠在各個(gè)具體工具之上,實(shí)現(xiàn)信息的正確傳遞與轉(zhuǎn)換,幫助人們完成上述協(xié)調(diào)與配合的工作,從而形成一個(gè)統(tǒng)一的、完整地支撐環(huán)境,并通過一個(gè)統(tǒng)一的、友好的人機(jī)界面與用戶對話。因此,不論是從一體化的軟件開發(fā)工具來說,還是從單項(xiàng)的工具集成的角度來說,總控和人機(jī)界面都處于中心的位置。(2)從單項(xiàng)功能的工具集成的角度來看52軟件配置(集成)名詞:實(shí)質(zhì)是設(shè)立一個(gè)有效的總控部分,能夠在各個(gè)具體工具之上實(shí)現(xiàn)信息的正確傳遞與轉(zhuǎn)換,幫助人們完成軟件開發(fā)各階段的協(xié)調(diào)與配合工作,從而形成一個(gè)統(tǒng)一的、完整的支撐環(huán)境,并通過一個(gè)統(tǒng)一的、友好的人機(jī)界面與用戶對話。
軟件配置(集成)名詞:實(shí)質(zhì)是設(shè)立一個(gè)有效的總控部分,能夠在各53總體結(jié)構(gòu)設(shè)計(jì)的基本原則是什么?
在技術(shù)上可以歸納為三條要點(diǎn):面向使用者;保證信息的準(zhǔn)確傳遞;保證系統(tǒng)的開放性(或靈活性)首先,總控和人機(jī)界面是使用者與工具之間聯(lián)系的橋梁,必須嚴(yán)格遵循面向使用者的原則。其次,保證各部分之間信息的準(zhǔn)確傳遞。各個(gè)分散的軟件工具在集成為一個(gè)一體化的工具時(shí),它們的內(nèi)部并不發(fā)生改變,而是通過相互之間的信息交流聯(lián)系。最后,保證的開放性或靈活性。軟件開發(fā)過程的復(fù)雜性決定了軟件開發(fā)工具的多樣性和可變性。理想的模塊結(jié)構(gòu)應(yīng)當(dāng)是模塊式的,易于裁剪的??傮w結(jié)構(gòu)設(shè)計(jì)的基本原則是什么?在技術(shù)上可以歸納為三條54面向用戶的原則體現(xiàn)在幾個(gè)方面?
面向用戶的原則具體體現(xiàn)在兩方面:一方面是總控部分對各部分的調(diào)度與安排應(yīng)當(dāng)體現(xiàn)符合軟件開發(fā)人員思路的概念模式。另一方面,向用戶提供的統(tǒng)一界面應(yīng)當(dāng)體現(xiàn)這個(gè)模式。不論是設(shè)計(jì)一體化的軟件開發(fā)工具,還是把分散的單項(xiàng)工具集成起來,都應(yīng)當(dāng)遵循面向用戶這個(gè)基本原則。面向用戶的原則體現(xiàn)在幾個(gè)方面?
面向用戶的原則具體體現(xiàn)在兩方55為什么要保證軟件開發(fā)工具各部分之間信息的準(zhǔn)確傳遞?
無論是分散的軟件工具集成為一體化工具還是有計(jì)劃有組織的統(tǒng)一開發(fā)一體化工具,它們的內(nèi)部都是通過相互交流信息聯(lián)系。交流信息時(shí),信息能夠準(zhǔn)確地從一個(gè)部分傳送到另一個(gè)部分,就成為一體化是否成功的關(guān)鍵。某一部分的輸出當(dāng)它成為另一個(gè)部分的輸入的時(shí)候,它的特殊因素就必須經(jīng)過充分的考慮,并進(jìn)行必要的交換或調(diào)整,否則,就會(huì)產(chǎn)生誤解以致干擾和破壞了整個(gè)軟件系統(tǒng)的正常運(yùn)轉(zhuǎn)。因此,必須保證軟件開發(fā)工具各部分之間信息的準(zhǔn)確傳遞。為什么要保證軟件開發(fā)工具各部分之間信息的準(zhǔn)確傳遞?
無論是分56軟件開發(fā)工具是為軟件開發(fā)人員服務(wù),因此軟件開發(fā)工具要能夠?qū)浖h(huán)境及需求、軟件結(jié)構(gòu)與功能、軟件開發(fā)工作的過程與步驟進(jìn)行描述。IBM的AD/Cycle就是這樣一個(gè)框架,它一方面描述了一般的應(yīng)用軟件的結(jié)構(gòu)即SAA,另一方面,它進(jìn)一步提出了應(yīng)用軟件開發(fā)的各個(gè)階段的模型。SAA:系統(tǒng)應(yīng)用體系結(jié)構(gòu),包括的接口及內(nèi)容如下表所示:軟件開發(fā)工具是為軟件開發(fā)人員服務(wù),因此軟件開發(fā)工具要能夠?qū)?7AD/Cycle把軟件開發(fā)過程的一個(gè)周期分五個(gè)階段,各階段的任務(wù)(1)需求分析階段
需求分析階段的任務(wù)是建立邏輯模型。具體說:
①首先應(yīng)當(dāng)建立志軟件所處領(lǐng)域或環(huán)境的模型(即“企業(yè)模型”)
②其次,建立起軟件所要處理信息的靜態(tài)模型,即數(shù)據(jù)模型。
③第三,建立起信息流通的模型,即信息的來源、去向、存儲(chǔ)及處理的邏輯過程。
AD/Cycle把軟件開發(fā)過程的一個(gè)周期分五個(gè)階段,各階段的58(2)分析設(shè)計(jì)階段
需求分析階段的基本任務(wù)是完成系統(tǒng)的總體設(shè)計(jì)。包括數(shù)據(jù)結(jié)構(gòu)的詳細(xì)設(shè)計(jì),處理過程的詳細(xì)設(shè)計(jì),子系統(tǒng)或模塊的劃分以及它們之間相互聯(lián)系的具體規(guī)定。作為對于一下階段工作的具體要求,還應(yīng)當(dāng)完成屏幕設(shè)計(jì)、報(bào)表設(shè)計(jì)、數(shù)據(jù)庫的物理設(shè)計(jì)。
(3)編碼階段
是指編寫軟件的階段,這里是實(shí)際的程序代碼的產(chǎn)生點(diǎn)。(2)分析設(shè)計(jì)階段
需求分析階段的基本任務(wù)是完成系統(tǒng)的總體設(shè)59(4)測試階段
任務(wù)是對已經(jīng)完成的各個(gè)模塊或子系統(tǒng)進(jìn)行測試、調(diào)整,以便最終形成完整的軟件。需要安排測試方案,準(zhǔn)備測試數(shù)據(jù),收集與分析測試結(jié)果,對需要修改的模塊進(jìn)行修改或調(diào)整。
(5)運(yùn)行維護(hù)階段
任務(wù)是組織和管理軟件的日常運(yùn)行,收集運(yùn)行中的狀態(tài)信息及出現(xiàn)的問題并及時(shí)地進(jìn)行局部的修改與完善。(4)測試階段
任務(wù)是對已經(jīng)完成的各個(gè)模塊或子系統(tǒng)進(jìn)行測試、604.
3信息庫及其管理
信息庫是軟件開發(fā)工具的基礎(chǔ)。沒有這個(gè)基礎(chǔ),或者這個(gè)基礎(chǔ)不牢??偪鼐蜔o信息可調(diào)度,人機(jī)界面也就沒有有用的信息向用戶提供,所謂支持軟件開發(fā)也就為一句空話。因此,合理的組織信息庫的內(nèi)容,加強(qiáng)信息庫的管理功能,是軟件開發(fā)工具的又一個(gè)重要的技術(shù)要素。
4.
3信息庫及其管理信息庫是軟件開發(fā)工具的基礎(chǔ)。沒有這個(gè)61信息庫的技術(shù)考慮主要涉及四個(gè)問題:信息庫的內(nèi)容信息庫的組織方式信息庫的管理功能歷史信息的處理方法。
信息庫的技術(shù)考慮主要涉及四個(gè)問題:62一、信息庫的內(nèi)容:
信息庫中需要存放四大類信息系統(tǒng)狀況:關(guān)于軟件應(yīng)用的領(lǐng)域與環(huán)境的狀況。包括應(yīng)用領(lǐng)域中的有關(guān)實(shí)體及它們之間的相互關(guān)系的描述,軟件要處理的信息的種類、格式、數(shù)量、流向、應(yīng)用領(lǐng)域?qū)浖囊蟆⑹褂谜叩那闆r、背景、工作目標(biāo)、工作習(xí)慣等。一般是在需求分析階段收集并存入信息庫,主要用于分析設(shè)計(jì)階段。設(shè)計(jì)成果:包括邏輯設(shè)計(jì)與物理設(shè)計(jì)的成果。
主要包括:數(shù)據(jù)流程圖、數(shù)據(jù)字典、系統(tǒng)結(jié)構(gòu)圖、數(shù)據(jù)庫邏輯設(shè)計(jì)、各模塊的設(shè)計(jì)要求以及由此形成的設(shè)計(jì)文檔。運(yùn)行狀況的記錄:包括運(yùn)行效率、作用、用戶反映、故障情況、故障的原因及處理情況。項(xiàng)目管理與版本管理的信息:包括項(xiàng)目的進(jìn)度、過程、人員分工、資源投入、版本組織等。屬于跨生命周期的信息。第三章書本61頁有詳細(xì)的內(nèi)容。一、信息庫的內(nèi)容:信息庫中需要存放四大類信息63二、信息庫的組織方式(三種)1、集中存儲(chǔ)方式(最初采?。?/p>
就是建立一個(gè)龐大的數(shù)據(jù)庫,把各種信息都存放在這個(gè)數(shù)據(jù)庫存中,而各種工具,或?qū)崿F(xiàn)單項(xiàng)功能的模塊則圍繞在這個(gè)信息庫的周圍,進(jìn)行操作。
優(yōu)點(diǎn):想法比較自然,而且充分利用已有的數(shù)據(jù)庫技術(shù),比較容易保持一致性。
缺點(diǎn):與模塊化的要求相沖突。2、分散存儲(chǔ)
把信息分別存入不同的數(shù)據(jù)庫,由不同的功能模塊來處理。
優(yōu)點(diǎn):易于變更和裁剪,一部分發(fā)生變更,不致影響整個(gè)系統(tǒng)。
缺點(diǎn):每個(gè)模塊都要有自己進(jìn)行一整套增刪改的操作,且各部分之間的一致性無從保證。
信息庫模塊1模塊2模塊3子庫模塊1模塊2模塊3子庫子庫二、信息庫的組織方式(三種)1、集中存儲(chǔ)方式(最初采?。?/p>
就643、邏輯上統(tǒng)一、物理上分散、設(shè)立統(tǒng)一的信息庫管理模塊來進(jìn)行管理:通過信息庫管理模塊來對分散的各個(gè)數(shù)據(jù)庫進(jìn)行存取,并進(jìn)行一致性的檢查與維護(hù)。
優(yōu)點(diǎn):數(shù)據(jù)庫與模塊都實(shí)現(xiàn)了模塊化,既保持了一致性,又保持了靈活性。子庫模塊1模塊2模塊3子庫子庫信息管理模塊3、邏輯上統(tǒng)一、物理上分散、設(shè)立統(tǒng)一的信息庫管理模塊來進(jìn)行管65三、信息庫的管理功能
1)與一般數(shù)據(jù)庫管理系統(tǒng)相同的功能:錄入更新、使用查詢、一致性維護(hù)。2)與一般數(shù)據(jù)庫不同的管理功能:信息庫管理的主要任務(wù)(1)信息之間邏輯聯(lián)系的識(shí)別與記錄。即信息庫管理模塊必須記住信息之間的邏輯聯(lián)系,如數(shù)據(jù)字典某一項(xiàng)發(fā)生變化,相應(yīng)的數(shù)據(jù)流程圖也必須隨之變更,不管是否在同一個(gè)數(shù)據(jù)中。(2)如何實(shí)現(xiàn)定量信息與文字信息的協(xié)調(diào)一致。如數(shù)字的部分修改不會(huì)引起與數(shù)字對應(yīng)的全部文字的修改。三、信息庫的管理功能1)與一般數(shù)據(jù)庫管理系統(tǒng)相同的功能:錄66四、歷史信息的處理方法
1、信息庫的另一個(gè)問題是如何處理歷史信息。實(shí)際操作中有兩個(gè)困難:
(1)一個(gè)是歷史信息的數(shù)量太大,占用存儲(chǔ)設(shè)備過多。
大容量問題
(2)另一個(gè)是歷史信息格式不一致,難以有效地利用。表達(dá)方式不一致問題2、解決辦法:
(1)前一個(gè)問題一般采用脫機(jī)備份的方法解決。即面對信息爆炸的問題要做好脫機(jī)備份的準(zhǔn)備。
(2)解決后一個(gè)問題是十分困難的。加強(qiáng)標(biāo)準(zhǔn)化、穩(wěn)定數(shù)據(jù)結(jié)構(gòu)只能使這個(gè)問題得到一定程度的解決。(任何標(biāo)準(zhǔn)化都不是一成不變的,數(shù)據(jù)結(jié)構(gòu)的穩(wěn)定是相對的,變更則是絕對的。這個(gè)問題至今尚無令人十分滿意的解決辦法)四、歷史信息的處理方法1、信息庫的另一個(gè)問題是如何處理歷史674.4
文檔的生成與代碼的生成
除了通過屏幕上的對話獲取信息支持外,使用者從軟件開發(fā)工具得到的最主要的幫助有兩種方式:文檔生成與代碼生成。軟件開發(fā)工具的起點(diǎn)也就是這二者,軟件開發(fā)工具的主要輸出成果:程序和文檔。
一、代碼生成
1、代碼生成器的基本任務(wù)根據(jù)設(shè)計(jì)要求,自動(dòng)地或者半自動(dòng)地產(chǎn)生相應(yīng)的某種語言的程序。輸出代碼是這個(gè)模塊的目標(biāo)。輸出的代碼有兩種情況:某種高級(jí)語言程序的代碼和某種機(jī)器環(huán)境下可運(yùn)行的機(jī)器指令。
4.4
文檔的生成與代碼的生成除了通過屏幕上的對話獲取信息68
①某種高級(jí)程序設(shè)計(jì)語言的代碼
優(yōu)點(diǎn):使用者可以在這個(gè)基礎(chǔ)上進(jìn)一步修改加工,即利用自動(dòng)生成模塊作為原型,在此基礎(chǔ)上形成自己所要求的系統(tǒng)(或系統(tǒng)的一部分)。
缺點(diǎn):功能較死,效率不高。
②某種機(jī)器(包括硬件和操作系統(tǒng))環(huán)境下可運(yùn)行的機(jī)器指令。
優(yōu)點(diǎn):可以直接運(yùn)行,如果不合要求可以立即調(diào)整命令和參數(shù)重新生成一遍。
缺點(diǎn):機(jī)器代碼一般無法直接修改,對機(jī)器的硬件軟件環(huán)境的依賴很大。
①某種高級(jí)程序設(shè)計(jì)語言的代碼
優(yōu)點(diǎn):使用者可以在這個(gè)基礎(chǔ)上69哪類程序易于生成?哪類程序難于生成?為什么?
一般來說,對話屏幕、輸入屏幕、輸出報(bào)表、菜單控制結(jié)構(gòu)等類型的模塊比較容易生成,因?yàn)樗鼈兊奶幚磉^程比較規(guī)范,比較容易通過一些參數(shù)來加以描述和規(guī)定。而對于統(tǒng)計(jì)分析、數(shù)據(jù)加工、決策判斷等類型的模塊則比較難以生成,因?yàn)樗鼈兊撵`活程度較大。哪類程序易于生成?哪類程序難于生成?為什么?一般來說,對話702、代碼生成器依據(jù)三方面的資料(1)信息庫里已有的有關(guān)資料。如系統(tǒng)的總體結(jié)構(gòu)、模塊間的調(diào)用關(guān)系、基礎(chǔ)數(shù)據(jù)的相關(guān)設(shè)置、屏幕報(bào)表設(shè)計(jì)要求等。保證系統(tǒng)的統(tǒng)一。(2)各種標(biāo)準(zhǔn)模塊的框架和構(gòu)件。事實(shí)上,代碼生成的技術(shù)是根據(jù)人們對某一類模塊的編程經(jīng)驗(yàn),歸納出一些一般框架或一般構(gòu)件,事先存放在機(jī)器中,在實(shí)際使用時(shí)根據(jù)當(dāng)時(shí)輸入的參數(shù),填入框架或重新組合構(gòu)件,從而形成一個(gè)新的程序段落。(3)使用者通過屏幕前的操作送入的信息。信息庫中不可能已經(jīng)存人了代碼設(shè)計(jì)所需要的全部信息,還有相當(dāng)一部分要求或參數(shù)是在編碼時(shí)才確定的。所見即所得的的人機(jī)界面在圖形、鼠標(biāo)、功能鍵等的配合下,方便使用者的操作。2、代碼生成器依據(jù)三方面的資料71二、文檔生成文檔生成的功能與代碼生成相比,數(shù)量更大、內(nèi)容更復(fù)雜。
文檔生成包括三大類:文章、表格、圖形?!ぎ媹D已經(jīng)不是困難的問題,困難是把圖形的含義與信息庫中的內(nèi)容有機(jī)的聯(lián)系起來。把信息庫中的內(nèi)容用人們一目了然的圖形表示出來有一定的難度?!け砀癖容^容易按信息庫當(dāng)前的內(nèi)容輸出?!の恼率亲铍y處理的。寫好系統(tǒng)分析、設(shè)計(jì)報(bào)告或用戶手冊絕不只是技術(shù)問題。二、文檔生成文檔生成的功能與代碼生成相比,數(shù)量更大、內(nèi)容更復(fù)72文檔生成的困難性?文檔生成比代碼生成困難得多。1、文檔內(nèi)容復(fù)雜,包括文章、表格和圖形。2、文檔沒有嚴(yán)格的語法規(guī)則,隨意性大,種類多,又要符合人們的習(xí)慣與要求。3、文檔中的包括表面形式和含義,需要將其建立邏輯的聯(lián)系,保持文檔各部分之間、文檔與程序之間的一致性尤其困難。一處變更,需要觸發(fā)相關(guān)各處的修改。4、文章的生成是最難處理的,這不只是技術(shù)問題。文檔生成的困難性?734.5
項(xiàng)目管理與版本管理
·項(xiàng)目管理與版本管理的核心問題:跨生命周期的信息管理問題。·項(xiàng)目管理與版本管理的關(guān)鍵問題:歷史信息的處理。
4.5
項(xiàng)目管理與版本管理·項(xiàng)目管理與版本管理的核心問題74AD/Cycle的總框架中,對項(xiàng)目管理應(yīng)當(dāng)考慮的范圍給出如下規(guī)定(也就是項(xiàng)目管理的任務(wù))
(1)研究與確定開發(fā)工作的方針與方法。如采用什么樣的階段劃分方法,采用什么樣的系統(tǒng)描述方法等。(2)開發(fā)任務(wù)的劃分與分工。整個(gè)開發(fā)任務(wù)如何逐層分解為具體的任務(wù),這些任務(wù)委托給什么人來做,這些任務(wù)之間的相互關(guān)系。(3)資源狀況。有多少人力、物力、設(shè)備、軟件資金,它們在做什么,是否得到充分利用等。(4)人員情況。每個(gè)人進(jìn)度如何,是否需要培訓(xùn)等。(5)變更情況。需求、人員、環(huán)境的變更
(6)質(zhì)量情況。檢驗(yàn)標(biāo)準(zhǔn)是什么,誰負(fù)責(zé)等。
一、項(xiàng)目管理內(nèi)容AD/Cycle
溫馨提示
- 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國人壽保險(xiǎn)寧夏分公司招聘筆試參考題庫含答案解析
- 2025年天馬微電子股份有限公司招聘筆試參考題庫含答案解析
- 2025年中國石油大港石化分公司招聘筆試參考題庫含答案解析
- 寧波市國際投資促進(jìn)局2025年招考合同制工作人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 酒店項(xiàng)目管理培訓(xùn)課件
- 國家技術(shù)轉(zhuǎn)移西南中心瀘州分中心招考聘用2人(2025年)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 二零二五年度大清包勞務(wù)合同(建筑工程專業(yè))3篇
- 商務(wù)部外貿(mào)發(fā)展事務(wù)局公開招聘15人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 吉林四平雙遼市招聘新時(shí)代文明實(shí)踐專職公益性崗位歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 廈門市市政園林局補(bǔ)充招考1名非在編人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 生產(chǎn)車間工藝員年終總結(jié)
- 特色酒吧方案計(jì)劃書
- 2021年海南省公務(wù)員考試《行測》真題和答案解析
- 2023年上海高中物理合格考模擬試卷一含詳解
- 《中醫(yī)基礎(chǔ)理論講座》課件
- 2024年滑雪用品行業(yè)分析報(bào)告及未來發(fā)展趨勢
- 經(jīng)方治療腦梗塞的體會(huì)
- 新版DFMEA基礎(chǔ)知識(shí)解析與運(yùn)用-培訓(xùn)教材
- 制氮機(jī)操作安全規(guī)程
- 《探索微電影廣告》課件
- 肌萎縮性側(cè)索硬化癥演示課件
評論
0/150
提交評論