(五) 軟件計(jì)劃
軟件開(kāi)發(fā)過(guò)程的每一步都要生產(chǎn)出可交付的文檔,這些文檔可以用來(lái)進(jìn)行評(píng)審和作為下一步工作的基礎(chǔ)。軟件計(jì)劃是一份比較簡(jiǎn)短精煉的文件。它應(yīng)該發(fā)給有關(guān)部門(mén),其中包括:
(1)把該項(xiàng)目所確定的工作范圍和所需的資源告訴軟件主管部門(mén)、技術(shù)人員和該項(xiàng)目的需求者;
(2)有關(guān)該項(xiàng)目的成本估算和進(jìn)度安排,應(yīng)告訴軟件主管部門(mén),以便他們進(jìn)行評(píng)審;
(3)還要發(fā)給與該項(xiàng)目開(kāi)發(fā)有關(guān)的所有人員,給他們提供有關(guān)該項(xiàng)目開(kāi)發(fā)的總辦法。軟件計(jì)劃應(yīng)包含以下內(nèi)容:
1.工作范圍
(1)項(xiàng)目目標(biāo)(2)主要功能(3)其他特性(4)開(kāi)發(fā)情況
2.資源
(1)人員資源(2)硬件資源(3)軟件資源(4)可利用的窗口
3.成本估算
4.進(jìn)度安排
六、軟件開(kāi)發(fā)工具與環(huán)境
目前,軟件開(kāi)發(fā)工具種類(lèi)繁多,按功能可將軟件開(kāi)發(fā)工具分為8類(lèi):
(1)業(yè)務(wù)系統(tǒng)規(guī)劃工具
通過(guò)將企業(yè)的策略性信息需求模型化,這類(lèi)工具提供一個(gè)可導(dǎo)出特定信息系統(tǒng)的“原模型”,這樣可使業(yè)務(wù)信息運(yùn)行于企業(yè)的各個(gè)部門(mén)。
(2)項(xiàng)目管理工具
借助這類(lèi)工具,項(xiàng)目管理者可以有效地估算軟件項(xiàng)目所需的工作量、成本和研制周期等,可以定義一個(gè)功能分解結(jié)構(gòu)WBS,并制定可行的項(xiàng)目開(kāi)發(fā)計(jì)劃;基于需求跟蹤項(xiàng)目的開(kāi)發(fā)情況;可采集度量數(shù)據(jù),以此評(píng)價(jià)軟件開(kāi)發(fā)效率和產(chǎn)品質(zhì)量。由此可見(jiàn),這類(lèi)工具又可詳細(xì)分為項(xiàng)目計(jì)劃工具、需求跟蹤工具及度量和管理工具等。
(3)支持工具
這類(lèi)工具用于支持軟件工程過(guò)程,具體包括文檔編制工具、系統(tǒng)軟件工具、質(zhì)量保證工具、數(shù)據(jù)庫(kù)管理工具和軟件配置管理工具等。
(4)分析和設(shè)計(jì)工具
這類(lèi)工具是用于建立待開(kāi)發(fā)系統(tǒng)的模型,并評(píng)價(jià)模型的質(zhì)量,通過(guò)對(duì)模型進(jìn)行一致性和有效性檢查,保證分析與設(shè)計(jì)的完整性。它除包括支持某種開(kāi)發(fā)方法的工具外,還包括基于規(guī)則體系的分析與設(shè)計(jì)機(jī),這種分析與設(shè)計(jì)機(jī)是90年代的期望產(chǎn)品,它可使工具適用于各種分析和設(shè)計(jì)方法。
(5)編程工具
這類(lèi)工具包括用于支持大多數(shù)傳統(tǒng)編程語(yǔ)言的編譯器、編輯器和調(diào)試器等,從工具輸出來(lái)看,4GL也屬于這一類(lèi)。
(6)測(cè)試與分析工具 常用的測(cè)試與分析工具包括靜態(tài)分析工具和動(dòng)態(tài)測(cè)試工具。
(7)原型工具 作為除瀑布式開(kāi)發(fā)模式以外的另一主要開(kāi)發(fā)模式是原型開(kāi)發(fā)模式,因其運(yùn)用的靈活性和用戶(hù)需求反應(yīng)的快捷性
愈來(lái)愈受到重視,特別是隨著軟件構(gòu)件重用研究的深入,更增強(qiáng)了這種開(kāi)發(fā)模式的實(shí)用價(jià)值。但原型的構(gòu)造離不開(kāi)經(jīng)驗(yàn)信息,所以支持原型開(kāi)發(fā)模式的原型工具的發(fā)展日趨專(zhuān)用化,諸如用于用戶(hù)界面設(shè)計(jì)的原型工具可利用圖形包快速構(gòu)造出應(yīng)用系統(tǒng)的界面,供用戶(hù)評(píng)價(jià),以確定最終產(chǎn)品的界面形式。
(8)維護(hù)工具
用于協(xié)助維護(hù)活動(dòng)的完成,包括當(dāng)運(yùn)行發(fā)現(xiàn)問(wèn)題時(shí),定位到相應(yīng)的軟件開(kāi)發(fā)基線;軟件配置不完備時(shí)由源程序到分析與設(shè)計(jì)模型的逆轉(zhuǎn)換工具等。軟件開(kāi)發(fā)環(huán)境的分類(lèi)方法很多。這里介紹三種:
(1)按解決的問(wèn)題分類(lèi);
(2)按現(xiàn)有的軟件開(kāi)發(fā)環(huán)境的演變趨向分類(lèi);
(3)按集成化程度分類(lèi)。
(一) 按解決的問(wèn)題分類(lèi)
軟件開(kāi)發(fā)中遇到的問(wèn)題主要出現(xiàn)在三個(gè)級(jí)別上:程序設(shè)計(jì)級(jí)、系統(tǒng)合成級(jí)和項(xiàng)目管理級(jí)。軟件開(kāi)發(fā)環(huán)境也應(yīng)該在這三個(gè)級(jí)別上給予支持。
1.程序設(shè)計(jì)環(huán)境
程序設(shè)計(jì)環(huán)境主要解決一個(gè)相對(duì)他人獨(dú)立工作的程序員如何把規(guī)范說(shuō)明轉(zhuǎn)變成可工作的程序的問(wèn)題,即屬于局部編程(programming-in-the-small)的范疇。這個(gè)過(guò)程包括兩個(gè)重要部分:方法和工具。其中方法(例如“結(jié)構(gòu)化編碼技術(shù)”)可能是更重要的部分,因?yàn)閷?duì)于設(shè)計(jì)和編碼很差的程序而言,再好的工具也不會(huì)是靈丹妙藥。但作為軟件開(kāi)發(fā)環(huán)境而言,我們將把重點(diǎn)放在工具上。
2.系統(tǒng)合成環(huán)境
系統(tǒng)合成環(huán)境主要考慮把很多子系統(tǒng)集成為一個(gè)大系統(tǒng)的問(wèn)題,即屬于全局編程(proˉgramming-in-the-large)的范疇(已有文章把更大規(guī)模的系統(tǒng)編程稱(chēng)為programming-in-the-garantuan)。所有的大型軟件系統(tǒng)都有兩個(gè)基本特點(diǎn):第一,它們是由一些較小的、較易理解的子系統(tǒng)組成的;第二,它們是不斷改變的。這兩個(gè)特點(diǎn)使軟件在開(kāi)發(fā)過(guò)程中產(chǎn)生大量的分支。因此,需要有一個(gè)系統(tǒng)合成環(huán)境來(lái)輔助人們控制子系統(tǒng)及其向大系統(tǒng)的集成。沒(méi)有適當(dāng)?shù)闹С郑筒荒茉谲浖袦?zhǔn)確地進(jìn)行修改(改正錯(cuò)誤或者改進(jìn)功能),因?yàn)槿说闹橇㈦y于招架如此之大的規(guī)模和隨之產(chǎn)生的高度復(fù)雜性。系統(tǒng)合成的兩個(gè)基本問(wèn)題是接口控制和版本控制。接口控制要考慮對(duì)模塊相連和資源共享問(wèn)題的描述和制約。版本控制則要考慮對(duì)系統(tǒng)的各個(gè)版本的生成和管理。
3.項(xiàng)目管理環(huán)境
大型軟件系統(tǒng)的開(kāi)發(fā)和維護(hù)必然會(huì)有多個(gè)人員在一段時(shí)間內(nèi)協(xié)同工作。對(duì)人與人之間的交流和合作缺乏管理就會(huì)造成比程序設(shè)計(jì)更多、更嚴(yán)重的問(wèn)題。另外,項(xiàng)目生存期越長(zhǎng),參與的人越多,就有越多的管理問(wèn)題產(chǎn)生。項(xiàng)目管理環(huán)境的責(zé)任就是解決由于軟件產(chǎn)品的規(guī)模大、生存期長(zhǎng)、人們的交往多而造成的問(wèn)題,即屬于多方編程(programming-in-the-many)的范疇。項(xiàng)目管理環(huán)境必須對(duì)付的三個(gè)問(wèn)題是誤解、缺乏信息和利益沖突。項(xiàng)目管理環(huán)境可由兩部分組成:記錄和維護(hù)系統(tǒng)開(kāi)發(fā)的狀態(tài)信息以及集成和分發(fā)文檔。
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |