1、軟件開發(fā)階段包括需求分析钓辆、總體設(shè)計(jì)剪验、詳細(xì)設(shè)計(jì)肴焊、編碼和測(cè)試五個(gè)階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典
2功戚、軟件的需求分析階段的工作娶眷,可以概括為四個(gè)方面:需求獲取、需求分析啸臀、編寫需求規(guī)格說明書和需求評(píng)審届宠。
需求獲取的目的是確定對(duì)目標(biāo)系統(tǒng)的各方面需求。涉及到的主要任務(wù)是建立獲取用戶需求的方法框架乘粒,并支持和監(jiān)控需求獲取的過程豌注。
需求分析是對(duì)獲取的需求進(jìn)行分析和綜合,最終給出系統(tǒng)的解決方案和目標(biāo)系統(tǒng)的邏輯模型灯萍。
編寫需求規(guī)格說明書作為需求分析的階段成果轧铁,可以為用戶、分析人員和設(shè)計(jì)人員之間的交流提供方便旦棉,可以直接支持目標(biāo)軟件系統(tǒng)的確認(rèn)齿风,又可以作為控制軟件開發(fā)進(jìn)程的依據(jù)。
需求評(píng)審是對(duì)需求分析階段的工作進(jìn)行復(fù)審绑洛,驗(yàn)證需求文檔的一致性救斑、可行性、完整性和有效性诊笤。
3系谐、常見的需求分析方法有:結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒ā=Y(jié)構(gòu)化分析的常用工具有:數(shù)據(jù)流圖(DFD)讨跟、數(shù)據(jù)字典(DD)、判定樹和判定表等
4鄙煤、需求分析是軟件定義時(shí)期的最后一個(gè)階段晾匠,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門梯刚、企業(yè)等)凉馆,充分了解原系統(tǒng)的工作概況,明確用戶的各種需求亡资,然后在此基礎(chǔ)上確定新系統(tǒng)的功能澜共。選項(xiàng)A)軟件開發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù)锥腻;選項(xiàng)C)軟件開發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)嗦董。
5、軟件需求規(guī)格說明書(SRS瘦黑,Software Requirement Specification)是需求分析階段的最后成果京革,是軟件開發(fā)中的重要文檔之一奇唤。它有以下幾個(gè)方面的作用:① 便于用戶、開發(fā)人員進(jìn)行理解和交流匹摇;② 反映出用戶問題的結(jié)構(gòu)咬扇,可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③ 作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)廊勃。
6懈贺、軟件需求規(guī)格說明書是需求分析階段產(chǎn)生的主要文檔,可以為用戶坡垫、分析人員和設(shè)計(jì)人員之間的交流提供方便梭灿,可以直接支持目標(biāo)軟件系統(tǒng)的確認(rèn),又可以作為控制開發(fā)軟件進(jìn)程的依據(jù)葛虐。
7胎源、軟件需求規(guī)格說明書的作用:
1.便于用戶和開發(fā)人員進(jìn)行理解和交流。
2.反映出用戶問題的結(jié)構(gòu)屿脐,可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)涕蚤。
3.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。
8的诵、結(jié)構(gòu)化分析的常用工具有數(shù)據(jù)流圖万栅、數(shù)據(jù)字典、判定樹和判定表西疤。而PAD圖是常見的過程設(shè)計(jì)工具中的圖形設(shè)計(jì)烦粒。
9、軟件設(shè)計(jì)一般分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段代赁,總體設(shè)計(jì)的任務(wù)是確定軟件的總體結(jié)構(gòu)扰她,子系統(tǒng)和模塊的劃分,并確定模塊間的接口和評(píng)價(jià)模塊劃分質(zhì)量芭碍,以及進(jìn)行數(shù)據(jù)分析徒役。詳細(xì)設(shè)計(jì)的任務(wù)是確定每一模塊實(shí)現(xiàn)的定義,包括數(shù)據(jù)結(jié)構(gòu)窖壕、算法和接口忧勿。
10、軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)瞻讽、數(shù)據(jù)設(shè)計(jì)鸳吸、接口設(shè)計(jì)和過程設(shè)計(jì)。其中結(jié)構(gòu)設(shè)計(jì)是定義軟件系統(tǒng)各主要部件之間的關(guān)系速勇;數(shù)據(jù)設(shè)計(jì)是將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義晌砾;接口設(shè)計(jì)是描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信快集;過程設(shè)計(jì)則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述贡羔。
11廉白、軟件工程包括3個(gè)要素,即方法乖寒、工具和過程猴蹂。
12、軟件設(shè)計(jì)工具包括:程序流程圖楣嘁、N-S磅轻、PAD、HIPO逐虚,判定表聋溜,PDL(偽碼)。
13叭爱、程序流程圖(PFD)通常也稱為程序框圖,是一種傳統(tǒng)的撮躁、應(yīng)用廣泛的軟件過程設(shè)計(jì)表示工具,通常也稱為程序框圖买雾,其箭頭代表的是控制流把曼,矩形表示加工步驟,菱形表示邏輯條件漓穿。
14嗤军、數(shù)據(jù)流相當(dāng)于一條管道,并有一級(jí)數(shù)據(jù)(信息)流經(jīng)它晃危。在數(shù)據(jù)流圖中叙赚,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工僚饭,也可以從加工流向文件或從文件流向加工震叮,并且可以從外部實(shí)體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體。
15鳍鸵、確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中的確定的各種需求冤荆,以及軟件配置是否完全、正確权纤。
16、總體設(shè)計(jì)過程通常由兩個(gè)主要階段組成:系統(tǒng)設(shè)計(jì)乌妒,確定系統(tǒng)的具體實(shí)現(xiàn)方案汹想;結(jié)構(gòu)設(shè)計(jì),確定軟件結(jié)構(gòu)撤蚊。
為確定軟件結(jié)構(gòu)古掏,首先需要從實(shí)現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。分析員結(jié)合算法描述仔細(xì)分析數(shù)據(jù)流圖中的每個(gè)處理侦啸,如果一個(gè)處理的功能過分復(fù)雜槽唾,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^簡(jiǎn)單的功能丧枪。
17、調(diào)試的關(guān)鍵在于推斷程序內(nèi)部的錯(cuò)誤位置及原因庞萍。主要的調(diào)試方法有強(qiáng)行排錯(cuò)法拧烦、回溯法和原因排除法
18、視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序钝计,它們分別是自頂向下恋博、自底向上和由內(nèi)向外,它們又為視圖設(shè)計(jì)提供了具體的操作方法私恬,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握债沮,可以單獨(dú)使用也可混合使用。
19本鸣、常見的過程設(shè)計(jì)工具有:程序流程圖疫衩、N-S圖、PAD圖和HIPO圖荣德。其中闷煤,為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖命爬,通常也把這種圖稱為N-S圖曹傀。
20、通常饲宛,將軟件產(chǎn)品從提出皆愉、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期艇抠。它可以分為軟件定義幕庐、軟件開發(fā)及軟件運(yùn)行維護(hù)三個(gè)階段。
21家淤、軟件的白盒測(cè)試方法是把測(cè)試對(duì)象看做一個(gè)打開的盒子异剥,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例絮重,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試冤寿。
?白盒測(cè)試從檢查程序的邏輯著手,可以把白盒測(cè)試?yán)斫鉃?內(nèi)行人"進(jìn)行軟件測(cè)試青伤。邏輯覆蓋是泛指一系列以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測(cè)試用例技術(shù)督怜,程序中的邏輯表示有判斷、分支狠角、選擇等号杠。
22、黑盒測(cè)試方法也稱為功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。黑盒測(cè)試是對(duì)軟件已經(jīng)實(shí)現(xiàn)的功能是否滿足需求進(jìn)行測(cè)試和驗(yàn)證姨蟋。黑盒測(cè)試完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性屉凯,只依據(jù)程序的需求和功能規(guī)格說明,檢查程序的功能是否符合它的功能說明眼溶。
黑盒測(cè)試方法主要有:等價(jià)類劃分法悠砚、邊界值分析法、錯(cuò)誤推測(cè)法偷仿、因果圖等哩簿,主要用于軟件確認(rèn)測(cè)試。
23酝静、關(guān)于軟件測(cè)試的目的节榜,Grenford J.Myers在《The Art of Software Testing》一書中給出了深刻的闡述:軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例别智;一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試宗苍。整體來說,軟件測(cè)試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤薄榛。
24讳窟、模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單敞恋。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)丽啡,耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中硬猫,各模塊的內(nèi)聚性越強(qiáng)补箍,則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì)啸蜜,應(yīng)盡量做到高內(nèi)聚坑雅,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性衬横,有利于提高模塊的獨(dú)立性裹粤。
25、計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分蜂林,是包括程序遥诉、數(shù)據(jù)及相關(guān)文檔的完整集合。
26噪叙、軟件具有以下特點(diǎn):①軟件是一種邏輯實(shí)體突那,而不是物理實(shí)體,具有抽象性构眯;②軟件的生產(chǎn)過程與硬件不同,它沒有明顯的制作過程早龟;③軟件在運(yùn)行惫霸、使用期間不存在磨損猫缭、老化問題;④軟件的開發(fā)壹店、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性猜丹,受計(jì)算機(jī)系統(tǒng)的限制,這導(dǎo)致軟件移植的問題硅卢;⑤軟件復(fù)雜性高射窒,成本昂貴;⑥軟件開發(fā)涉及諸多的社會(huì)因素将塑。
27脉顿、程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,改正以后還需要再測(cè)試点寥。程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤艾疟。它與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤敢辩。先要發(fā)現(xiàn)軟件的錯(cuò)誤蔽莱,然后借助于一定的調(diào)試工具去找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期戚长,調(diào)試主要在開發(fā)階段盗冷。
28、為了達(dá)到更好的測(cè)試效果同廉,應(yīng)該由獨(dú)立的第三方來構(gòu)造測(cè)試仪糖。因?yàn)閺男睦韺W(xué)角度講,程序人員或設(shè)計(jì)方在測(cè)試自己的程序時(shí)恤溶,要采取客觀的態(tài)度是程度不同地存在障礙的乓诽。軟件的運(yùn)行和維護(hù)是指將已交付的軟件投入運(yùn)行,并在運(yùn)行使用中不斷地維護(hù)咒程,根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改鸠天。
29、程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤帐姻。程序調(diào)試的基本步驟:①錯(cuò)誤定位稠集。②修改設(shè)計(jì)和代碼,以排除錯(cuò)誤饥瓷。③進(jìn)行回歸測(cè)試剥纷,防止引進(jìn)新的錯(cuò)誤。
30呢铆、軟件工程是計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科晦鞋,它采用工程的概念原理、技術(shù)和方法來開發(fā)和維護(hù)軟件,它把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好技術(shù)結(jié)合起來悠垛。
31线定、軟件的運(yùn)行和維護(hù)是指將已交付的軟件投入運(yùn)行,并在運(yùn)行使用中不斷地維護(hù)确买,根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改斤讥。而軟件生命周期是指軟件產(chǎn)品從提出、實(shí)現(xiàn)湾趾、使用維護(hù)到停止使用退役的過程
32芭商、20世紀(jì)70年代以來,提出了許多軟件設(shè)計(jì)方法搀缠,主要有
(1)逐步求精:對(duì)復(fù)雜的問題铛楣,應(yīng)設(shè)計(jì)一些子目標(biāo)作過渡,逐步細(xì)化
(2)自頂向下:程序設(shè)計(jì)時(shí)應(yīng)先考慮總體胡嘿,后考慮細(xì)節(jié)蛉艾;先考慮全局目標(biāo),后考慮局部目標(biāo)衷敌。不要一開始就過多追求眾多的細(xì)節(jié)勿侯,先從最上層總目標(biāo)開始設(shè)計(jì),逐步使問題具體化
(3)模塊化:一個(gè)復(fù)雜問題缴罗,肯定是由若干稍簡(jiǎn)單的問題構(gòu)成助琐。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo)面氓,把每個(gè)小目標(biāo)稱為一個(gè)模塊兵钮,而可復(fù)用是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)優(yōu)點(diǎn)。
33舌界、從工程管理角度看掘譬,軟件設(shè)計(jì)分為兩步完成:概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì))將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)呻拌、確定系統(tǒng)級(jí)接口葱轩、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式;詳細(xì)設(shè)計(jì)確立每個(gè)模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu)藐握,用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)靴拱。
34、軟件生命周期分為軟件定義猾普、軟件開發(fā)及軟件維護(hù)袜炕。其中軟件開發(fā)階段的任務(wù)中軟件設(shè)計(jì)階段可分解成概要設(shè)計(jì)階段和詳細(xì)設(shè)計(jì)階段;軟件維護(hù)不屬于軟件開發(fā)階段初家。
35偎窘、軟件開發(fā)階段包括需求分析乌助、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)评架、編碼和測(cè)試5個(gè)階段眷茁。其中需求分析階段常用的工具是數(shù)據(jù)流圖(簡(jiǎn)稱DFD)和數(shù)據(jù)字典(簡(jiǎn)稱DD)。常見的詳細(xì)設(shè)計(jì)的圖形描述工具主要有程序流程圖纵诞、N-S結(jié)構(gòu)圖、問題分析圖(簡(jiǎn)稱PAD圖)培遵。
36浙芙、可行性研究和計(jì)劃制定,其目的在于確定待開發(fā)軟件系統(tǒng)的開發(fā)目標(biāo)和總的要求籽腕,給出它的功能嗡呼、性能、可靠性以及接口等方面的可能方案皇耗,制定完成開發(fā)任務(wù)的實(shí)施計(jì)劃南窗,因此不屬于開發(fā)階段。
37郎楼、1983年IEEE將軟件測(cè)試定義為:使用人工或自動(dòng)手段來運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過程万伤,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。因此選項(xiàng)A的敘述是錯(cuò)誤的呜袁。
38敌买、軟件測(cè)試的基本準(zhǔn)則為:①所有測(cè)試都應(yīng)追溯到需求。②嚴(yán)格執(zhí)行測(cè)試計(jì)劃阶界,排除測(cè)試的隨意性虹钮。③充分注意測(cè)試中的群集現(xiàn)象。④程序員應(yīng)避免檢查自己的程序膘融。⑤窮舉測(cè)試不可能芙粱。⑥妥善保存測(cè)試計(jì)劃、測(cè)試用例氧映、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告春畔,為維護(hù)提供方便。因此選項(xiàng)D正確屯耸。
? 在對(duì)程序進(jìn)行了成功的測(cè)試之后將進(jìn)入程序調(diào)試(通常稱Debug拐迁,即排錯(cuò))。
39疗绣、軟件測(cè)試過程一般按4個(gè)步驟進(jìn)行线召,即單元測(cè)試、集成測(cè)試多矮、驗(yàn)收測(cè)試(確認(rèn)測(cè)試)和系統(tǒng)測(cè)試
40缓淹、單元測(cè)試是對(duì)軟件設(shè)計(jì)的最小單位-----模塊(程序單元)進(jìn)行正確性檢驗(yàn)的測(cè)試哈打。單元測(cè)試的目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯(cuò)誤。單元測(cè)試的依據(jù)是詳細(xì)設(shè)計(jì)說明書和源程序讯壶。
41料仗、軟件測(cè)試是保證軟件質(zhì)量的重要手段,其主要過程涵蓋了整個(gè)軟件生命期的過程伏蚊。
軟件測(cè)試的目的:
1)軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程立轧;
2)一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例;
3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試躏吊。
42氛改、軟件測(cè)試的準(zhǔn)則:
1)所有的測(cè)試都應(yīng)追溯到需求;
2)嚴(yán)格執(zhí)行測(cè)試計(jì)劃比伏,排除測(cè)試的隨意性胜卤;
3)充分注意測(cè)試中的群集現(xiàn)象;
4)程序員應(yīng)避免檢查自己的程序赁项;
5)窮舉測(cè)試不可能葛躏;
6)妥善保存測(cè)試計(jì)劃、測(cè)試用例悠菜、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告舰攒,為維護(hù)提供方便。
43李剖、軟件按功能可以分為:應(yīng)用軟件芒率、系統(tǒng)軟件、支撐軟件(或工具軟件)篙顺。
應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件偶芍。例如,事務(wù)處理軟件德玫,工程與科學(xué)計(jì)算軟件匪蟀,實(shí)時(shí)處理軟件,嵌入式軟件宰僧,人工智能軟件等應(yīng)用性質(zhì)不同的各種軟件材彪。
系統(tǒng)軟件是計(jì)算機(jī)管理自身資源,提高計(jì)算機(jī)使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的軟件琴儿。如操作系統(tǒng)段化,編譯程序,匯編程序造成,網(wǎng)絡(luò)軟件显熏,數(shù)據(jù)庫管理系統(tǒng)等
44、在軟件開發(fā)和維護(hù)過程中晒屎,軟件危機(jī)主要表現(xiàn)在:
? ?①軟件需求的增長(zhǎng)得不到滿足喘蟆。用戶對(duì)系統(tǒng)不滿意的情況經(jīng)常發(fā)生缓升。
? ?②軟件開發(fā)成本和進(jìn)度無法控制。開發(fā)成本超出預(yù)算蕴轨,開發(fā)周期大大超過規(guī)定日期的情況經(jīng)常發(fā)生港谊。
? ?③軟件質(zhì)量難以保證。
? ?④軟件不可維護(hù)或維護(hù)程度非常低橙弱。
? ?⑤軟件的成本不斷提高歧寺。
? ?⑥軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長(zhǎng)。
總之棘脐,可以將軟件危機(jī)歸結(jié)為成本成福、質(zhì)量、生產(chǎn)率等問題荆残。
45、為了消除軟件危機(jī)净当,通過認(rèn)真研究解決軟件危機(jī)的方法内斯,認(rèn)識(shí)到軟件工程是使計(jì)算機(jī)軟件走向工程科學(xué)的途徑,逐步形成了軟件工程的概念像啼,開辟了工程學(xué)的新興領(lǐng)域-軟件工程學(xué)俘闯。軟件工程就是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制忽冻、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法真朗。
46、軟件生命周期的主要活動(dòng)階段為:
? ?(1)可行性研究和計(jì)劃制定僧诚。確定待開發(fā)軟件系統(tǒng)的開發(fā)目標(biāo)和總的要求遮婶,給出它的功能、性能湖笨、可靠性以及接口等方面的可能方案旗扑,制定完成開發(fā)任務(wù)的實(shí)施計(jì)劃。
? ?(2)需求分析慈省。對(duì)待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義臀防,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊(cè)边败,提交評(píng)審袱衷。
? ?(3)軟件設(shè)計(jì)。系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上笑窜,給出軟件的結(jié)構(gòu)致燥、模塊的劃分、功能的分配以及處理流程怖侦。在系統(tǒng)比較復(fù)雜的情況下篡悟,設(shè)計(jì)階段可分解成概要設(shè)計(jì)階段和詳細(xì)設(shè)計(jì)階段谜叹。編寫概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書和測(cè)試設(shè)計(jì)初稿搬葬,提交評(píng)審荷腊。
? ?(4)軟件實(shí)現(xiàn)。把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼急凰。即完成源程序的編碼女仰,編寫用戶手冊(cè)、操作手冊(cè)等面向用戶的文檔抡锈,編寫單元測(cè)試計(jì)劃疾忍。
? ?(5)軟件測(cè)試。在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上床三,檢驗(yàn)軟件的各個(gè)組成部分一罩。編寫測(cè)試分析報(bào)告。
(6)運(yùn)行和維護(hù)撇簿。將已交付的軟件投入運(yùn)行聂渊,并在運(yùn)行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改四瘫。
軟件設(shè)計(jì)階段任務(wù):設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)汉嗽、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì)、編寫概要設(shè)計(jì)文檔找蜜、概要設(shè)計(jì)文檔評(píng)審饼暑。其中,在數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì)任務(wù)中洗做,需要結(jié)合算法設(shè)計(jì)弓叛,確定算法所必需的邏輯數(shù)據(jù)結(jié)構(gòu)及其操作。
47竭望、概要設(shè)計(jì)使用的工具是系統(tǒng)結(jié)構(gòu)圖邪码。
48、詳細(xì)設(shè)計(jì)使用的工具主要有:程序流程圖咬清,N-S圖闭专,PAD,HIPO旧烧。
結(jié)構(gòu)化分析的常用工具有:數(shù)據(jù)流圖(DFD)影钉、數(shù)據(jù)字典(DD)、判定樹和判定表等掘剪。
49平委、數(shù)據(jù)字典(Data Dictionary,簡(jiǎn)稱DD)就是用來定義數(shù)據(jù)流圖中的各個(gè)成分的具體含義的夺谁,它以一種準(zhǔn)確的廉赔、無二義性的說明方式為系統(tǒng)的分析肉微、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型蜡塌,是需求規(guī)格說明書的主要組成部分碉纳。
50、軟件設(shè)計(jì)階段任務(wù):設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)馏艾、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì)劳曹、編寫概要設(shè)計(jì)文檔、概要設(shè)計(jì)文檔評(píng)審琅摩。
其中铁孵,在數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì)任務(wù)中,需要結(jié)合算法設(shè)計(jì)房资,確定算法所必需的邏輯數(shù)據(jù)結(jié)構(gòu)及其操作蜕劝。
51、結(jié)構(gòu)圖是描述軟件結(jié)構(gòu)的圖形工具轰异,模塊用矩形表示熙宇,模塊的扇出是指模塊直接調(diào)用的下級(jí)模塊的個(gè)數(shù),模塊的扇入是指模塊受了多少個(gè)直接上級(jí)模塊的調(diào)用溉浙。扇出和扇入的最大值稱為最大扇數(shù)。
52蒋荚、結(jié)構(gòu)圖的深度表示控制的層數(shù)戳稽。同一層上所有結(jié)點(diǎn)的所有子結(jié)點(diǎn)都在下一層,該系統(tǒng)結(jié)構(gòu)共三層期升,系統(tǒng)深度就為3惊奇。
53、扇入播赁,是直接調(diào)用該模塊的上級(jí)模塊的個(gè)數(shù)颂郎,扇入的大小代表著該模塊被調(diào)用的頻繁度,扇入越大表明該模塊使用度高容为,扇入小表明該模塊被調(diào)用的機(jī)率低
54乓序、軟件的寬度是指軟件結(jié)構(gòu)同一層次上模塊的總個(gè)數(shù)的最大值。
55坎背、關(guān)于軟件工程的定義替劈,國(guó)標(biāo)(GB)中指出,軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義得滤、開發(fā)和維護(hù)的一整套方法陨献、工具、文檔懂更、實(shí)踐標(biāo)準(zhǔn)和工序
56眨业、軟件工程包括3個(gè)要素急膀,即方法、工具和過程
57龄捡、軟件工程從根本上來說卓嫂,其目的是研究軟件的開發(fā)技術(shù)
58、軟件根據(jù)應(yīng)用目標(biāo)的不同墅茉,是多種多樣的命黔。軟件按照功能可以分為:應(yīng)用軟件、系統(tǒng)軟件就斤、支撐軟件(工具軟件)悍募。應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件。如:數(shù)據(jù)庫管理系統(tǒng)洋机、財(cái)務(wù)管理系統(tǒng)坠宴,所以選項(xiàng)B、C錯(cuò)誤绷旗;系統(tǒng)軟件是計(jì)算機(jī)管理自身資源喜鼓,提高計(jì)算機(jī)使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的軟件。如:操作系統(tǒng)衔肢,所以選項(xiàng)D錯(cuò)誤庄岖;支撐軟件是介于系統(tǒng)軟件和應(yīng)用之間,協(xié)助用戶開發(fā)軟件的工具性軟件角骤,包括輔助和支持開發(fā)和維護(hù)應(yīng)用軟件的工具軟件隅忿,如需求分析工具軟件,設(shè)計(jì)工具軟件邦尊,編碼工具軟件背桐,測(cè)試工具軟件,維護(hù)工具軟件等蝉揍,也包括輔助管理人員控制開發(fā)進(jìn)程和項(xiàng)目管理的工具軟件链峭。
59、系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上又沾,給出軟件的結(jié)構(gòu)弊仪、模塊的劃分、功能的分配以及處理流程杖刷。在系統(tǒng)比較復(fù)雜的情況下撼短,設(shè)計(jì)階段可分解成概要設(shè)計(jì)階段和詳細(xì)設(shè)計(jì)階段。編寫概要設(shè)計(jì)說明書挺勿、詳細(xì)設(shè)計(jì)說明書和測(cè)試計(jì)劃初稿曲横,提交評(píng)審。