軟件工程作業(yè)含答案.doc
《軟件工程作業(yè)含答案.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程作業(yè)含答案.doc(17頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、軟件工程第一章作業(yè)11.1什么是計(jì)算機(jī)軟件?軟件的特點(diǎn)是什么?11.2 簡(jiǎn)述軟件的分類,并舉例說(shuō)明。11.4 什么是軟件工程?11.5 簡(jiǎn)述軟件工程的基本原則。11.6 軟件生存周期分哪幾個(gè)階段?分別簡(jiǎn)述各個(gè)階段的任務(wù)。11.9 簡(jiǎn)述各類軟件過(guò)程模型的特點(diǎn)。21.10 敏捷軟件開發(fā)的特點(diǎn)是什么?21.12 簡(jiǎn)述敏捷軟件開發(fā)的原則。2第2、3章32.1簡(jiǎn)述系統(tǒng)工程的任務(wù)。32.2基于計(jì)算機(jī)的系統(tǒng)由哪些元素組成?32.3簡(jiǎn)述可行性分析的任務(wù)。33.1需求工程的重要性是什么?舉出身邊由于需求分析失敗而造成整個(gè)項(xiàng)目失敗的例子。33.2需求工程具體包括哪些步驟?每個(gè)步驟的具體任務(wù)是什么?33.3一個(gè)系統(tǒng)
2、分析員應(yīng)該具備哪些思想素質(zhì)和基礎(chǔ)知識(shí)?請(qǐng)說(shuō)明理由。43.4列出在制定需求獲取策略時(shí)的3種主要考慮因素。53.6舉例說(shuō)明一個(gè)系統(tǒng)的3個(gè)不同類型的非功能需求53.8軟件需求分析的操作性原則和需求工程的指導(dǎo)性原則是什么?53.9軟件需求規(guī)約主要包括哪些內(nèi)容?自己尋找一個(gè)實(shí)例,親自寫一個(gè)需求規(guī)約。53.10需求驗(yàn)證應(yīng)該有哪些人參加?畫出一個(gè)過(guò)程模型,說(shuō)明需求評(píng)審應(yīng)該如何組織。5第4章54.1 簡(jiǎn)述軟件設(shè)計(jì)階段的基本任務(wù)54.2 軟件設(shè)計(jì)與質(zhì)量的關(guān)系是怎么樣的?64.4 簡(jiǎn)述模塊、模塊化及模塊化設(shè)計(jì)的概念。64.6耦合和軟件可移植性的概念有何關(guān)系?舉例說(shuō)明自己的結(jié)論。64.7用自己的話描述信息隱蔽概念,
3、并討論信息隱藏與模塊獨(dú)立兩概念之間的關(guān)系。64.8什么是模塊獨(dú)立性?設(shè)計(jì)中為什么模塊要獨(dú)立?如何度量獨(dú)立性?模塊功能獨(dú)立有何優(yōu)點(diǎn)?64.9軟件設(shè)計(jì)規(guī)約主要包括哪些內(nèi)容?7第5章 結(jié)構(gòu)化分析與設(shè)計(jì)75.1 簡(jiǎn)述數(shù)據(jù)流圖的主要思想,概述使用數(shù)據(jù)流圖進(jìn)行需求分析的過(guò)程。75.2 分別采用數(shù)據(jù)流方法中得哪些技術(shù)來(lái)完成用戶需求的精確化、一致化和完全化的任務(wù)。75.78第68章126.1 簡(jiǎn)述面向數(shù)據(jù)結(jié)構(gòu)方法的特點(diǎn)126.2 采用Jackson圖表示下面的文件結(jié)構(gòu):138.1什么是構(gòu)件?138.2 簡(jiǎn)述基于構(gòu)件的軟件開發(fā)過(guò)程。13第11、13章1413.1請(qǐng)討論使軟件維護(hù)成本居高不下的因素。如何盡可能降低
4、這些因素的影響?1413.3軟件維護(hù)的過(guò)程是如何進(jìn)行的?為什么要進(jìn)行軟件可維護(hù)性分析?151軟件工程第一章作業(yè)1.1什么是計(jì)算機(jī)軟件?軟件的特點(diǎn)是什么?答:計(jì)算機(jī)軟件指計(jì)算機(jī)系統(tǒng)中的程序及其文檔。軟件的特點(diǎn)是:A 軟件是一種邏輯實(shí)體,而不是有形的系統(tǒng)元件,其開發(fā)成本和進(jìn)度難以準(zhǔn)確得估算;B 軟件是被開發(fā)的或被設(shè)計(jì)的,沒(méi)有明顯的制造過(guò)程,一旦開發(fā)成功,只需復(fù)制即可,但其維護(hù)的工作量大;C 軟件的使用沒(méi)有硬件那樣的機(jī)械磨損和老化問(wèn)題。1.2 簡(jiǎn)述軟件的分類,并舉例說(shuō)明。答:在計(jì)算機(jī)科學(xué)技術(shù)百科全書中,將軟件分為系統(tǒng)軟件、支撐軟件和應(yīng)用軟件3類。A 系統(tǒng)軟件:系統(tǒng)軟件居于計(jì)算機(jī)系統(tǒng)中最靠近硬件的一層
5、,其他軟件一般都通過(guò)系統(tǒng)軟件發(fā)揮作用。系統(tǒng)軟件與具體的應(yīng)用領(lǐng)域無(wú)關(guān)。例如:編譯程序、操作系統(tǒng)等。B 支撐軟件:支撐軟件是支撐軟件的開發(fā)和維護(hù)的軟件。例如:數(shù)據(jù)庫(kù)管理系統(tǒng)、網(wǎng)絡(luò)軟件、軟件工具、軟件開發(fā)環(huán)境等。C 應(yīng)用軟件:應(yīng)用軟件是特定應(yīng)用領(lǐng)域?qū)S玫能浖?。例如:工?科學(xué)計(jì)算軟件、嵌入式軟件、產(chǎn)品線軟件、Web應(yīng)用軟件、人工智能軟件。1.4 什么是軟件工程?答:在計(jì)算機(jī)科學(xué)技術(shù)百科全書中軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,開發(fā)軟件的工程。1.5 簡(jiǎn)述軟件工程的基本原則。答:軟件工程原則包括圍繞工程設(shè)計(jì)、工程支持和工程管理提出的以下4條基本原則:第一條:圍繞適宜的開發(fā)模型;第二條:采用
6、合適的設(shè)計(jì)方法;第三條:提供高質(zhì)量的工程支撐;第四條:重視軟件工程的管理。1.6 軟件生存周期分哪幾個(gè)階段?分別簡(jiǎn)述各個(gè)階段的任務(wù)。答:軟件生存周期有計(jì)算機(jī)系統(tǒng)工程、需求分析、設(shè)計(jì)、編碼、測(cè)試、運(yùn)行和維護(hù)6個(gè)階段。A計(jì)算機(jī)系統(tǒng)工程的任務(wù)是確定待開發(fā)軟件的總體要求和范圍,以及該軟件與其他計(jì)算機(jī)系統(tǒng)元素之間的關(guān)系,進(jìn)行成本估算,做出進(jìn)度安排,并進(jìn)行可行性分析,即從經(jīng)濟(jì)、技術(shù)、法律等方面分析待開發(fā)的軟件是否有可行的解決方案,并在若干個(gè)可行的解決方案中做出選擇。B需求分析主要解決待開發(fā)軟件要“做什么”的問(wèn)題,確定軟件的功能、性能、數(shù)據(jù)、界面等要求,生成軟件需求規(guī)約。C軟件設(shè)計(jì)只要解決待開發(fā)軟件“怎么做
7、”的問(wèn)題。軟件設(shè)計(jì)通??煞譃橄到y(tǒng)設(shè)計(jì)和詳細(xì)設(shè)計(jì)。系統(tǒng)設(shè)計(jì)的任務(wù)是設(shè)計(jì)軟件系統(tǒng)的體系結(jié)構(gòu),包括軟件系統(tǒng)的組成成分、各成分的功能和接口、成分間的連接和通信,同時(shí)設(shè)計(jì)全局?jǐn)?shù)據(jù)結(jié)構(gòu)。詳細(xì)設(shè)計(jì)的任務(wù)是設(shè)計(jì)各個(gè)組成成分的實(shí)現(xiàn)細(xì)節(jié),包括局部數(shù)據(jù)結(jié)構(gòu)和算法等。D編碼階段的任務(wù)是用某種程序設(shè)計(jì)語(yǔ)言,將設(shè)計(jì)的結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。E測(cè)試階段的任務(wù)是發(fā)現(xiàn)并糾正軟件中的錯(cuò)誤和缺陷。測(cè)試主要包括單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。F軟件完成各種測(cè)試后就可交付使用,在軟件運(yùn)行期間,需對(duì)投入運(yùn)行的軟件進(jìn)行維護(hù),即可發(fā)現(xiàn)了軟件中潛藏的錯(cuò)誤或需要增加新的功能或使軟件適應(yīng)外界環(huán)境的變化等情況出現(xiàn)時(shí),對(duì)軟件進(jìn)行修改。1.
8、9 簡(jiǎn)述各類軟件過(guò)程模型的特點(diǎn)。答:典型的軟件過(guò)程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、噴泉模型、基于構(gòu)件的開發(fā)模型和形式方法模型等。A瀑布模型中,上一階段的活動(dòng)完成并經(jīng)過(guò)評(píng)審后才能開始下一階段的活動(dòng),其特征是:接受上一階段活動(dòng)的結(jié)果作為本階段活動(dòng)的輸入;依據(jù)上一階段活動(dòng)的結(jié)果實(shí)施本階段應(yīng)完成的活動(dòng);對(duì)本階段的活動(dòng)進(jìn)行評(píng)審;將本階段活動(dòng)的結(jié)果作為輸出。B增量模型將軟件的開發(fā)過(guò)程分成若干個(gè)日程時(shí)間交錯(cuò)的線性序列,每個(gè)線性序列產(chǎn)生軟件的一個(gè)可發(fā)布的增量版本,后一個(gè)版本是對(duì)前一個(gè)版本的修改和補(bǔ)充,重復(fù)增量發(fā)布的過(guò)程,直至產(chǎn)生最終的完善產(chǎn)品。C原型方法從軟件工程師與客戶的交流開始
9、,其目的是定義軟件的總體目標(biāo),標(biāo)識(shí)需求。然后快速制定原型開發(fā)的計(jì)劃,確定原型的目標(biāo)和范圍,采用快速設(shè)計(jì)的方式對(duì)其建模,并構(gòu)建模型。被開發(fā)的原型應(yīng)交付給客戶使用,并收集客戶的反饋意見,這些反饋意見可在下一輪迭代中對(duì)原型進(jìn)行改進(jìn)。在前一個(gè)原型需要改進(jìn),或者需要擴(kuò)展其范圍的時(shí)候,進(jìn)入下一輪原型的迭代開發(fā)。D螺旋模型將原型模型實(shí)現(xiàn)的迭代特征與瀑布模型中控制的和系統(tǒng)化的方面結(jié)合起來(lái),不僅體現(xiàn)了這兩種模型的優(yōu)點(diǎn)而且還增加了風(fēng)險(xiǎn)分析。E噴泉模型是一種支持面向?qū)ο箝_發(fā)的過(guò)程模型。類及對(duì)象是面向?qū)ο蠓椒ㄖ械幕境煞?。在分析階段,標(biāo)識(shí)類及對(duì)象,定義類之間的關(guān)系,建立對(duì)象-關(guān)系模型和對(duì)象-行為模型。在設(shè)計(jì)階段,從實(shí)
10、現(xiàn)的角度對(duì)分析模型進(jìn)行調(diào)整和擴(kuò)充。在編碼階段,用面向?qū)ο笳Z(yǔ)言實(shí)現(xiàn)類及對(duì)象,通過(guò)消息機(jī)制實(shí)現(xiàn)對(duì)象之間的通信,完成軟件的功能。在面向?qū)ο蠓椒ㄖ?,分析模型和設(shè)計(jì)模型采用相同的符號(hào)表示體系,開發(fā)的各個(gè)活動(dòng)沒(méi)有明顯的邊界,各個(gè)活動(dòng)經(jīng)常重復(fù),迭代地交替進(jìn)行。F基于構(gòu)件的開發(fā)模型,基于構(gòu)件的開發(fā)是指利用預(yù)先包裝的構(gòu)建來(lái)構(gòu)造應(yīng)用系統(tǒng)。構(gòu)件可以是組織內(nèi)部開發(fā)的構(gòu)建,也可以是商業(yè)化的、現(xiàn)存的軟件構(gòu)件。G形式化方法是建立在嚴(yán)格數(shù)學(xué)基礎(chǔ)上的一種軟件開發(fā)方法。軟件開發(fā)的全過(guò)程中,從需求分析、規(guī)約、設(shè)計(jì)、編程、系統(tǒng)集成、測(cè)試、文檔生成,直至維護(hù)等各個(gè)階段,凡是采用嚴(yán)格的數(shù)學(xué)語(yǔ)言,具有精確的數(shù)學(xué)語(yǔ)義的方法,都稱為形式化方法
11、。形式化方法用嚴(yán)格的數(shù)學(xué)語(yǔ)言和語(yǔ)義描述功能和設(shè)計(jì)規(guī)約,通過(guò)數(shù)學(xué)的分析和推導(dǎo),易于發(fā)現(xiàn)需求的歧義性、不完整性和不一致性,易于對(duì)分析模型、設(shè)計(jì)模型和程序進(jìn)行驗(yàn)證。通過(guò)數(shù)學(xué)的演算,使得從形式化功能規(guī)約到形式化設(shè)計(jì)規(guī)約,以及從形式化設(shè)計(jì)規(guī)約到程序代碼轉(zhuǎn)換成為可能。1.10 敏捷軟件開發(fā)的特點(diǎn)是什么?答:敏捷軟件開發(fā)的特點(diǎn)有4個(gè):A個(gè)人和交互高于過(guò)程和工具;B可運(yùn)行軟件高于詳盡的文檔;C與客戶協(xié)作高于合同談判;D對(duì)變更及時(shí)做出反應(yīng)高于遵循計(jì)劃。1.12 簡(jiǎn)述敏捷軟件開發(fā)的原則。答:敏捷軟件開發(fā)必須遵循的12條原則如下;A最優(yōu)先的是通過(guò)盡早地和不斷地提交有價(jià)值的軟件來(lái)使客戶滿意;B歡迎變化的需求,即使該變
12、化出現(xiàn)在開發(fā)的后期,為了提升對(duì)客戶的競(jìng)爭(zhēng)優(yōu)勢(shì),Agile過(guò)程利用變化作為動(dòng)力;C以幾周到幾個(gè)月為周期,盡快、不斷地發(fā)布可運(yùn)行軟件;D在整個(gè)項(xiàng)目過(guò)程中,業(yè)務(wù)人員和開發(fā)人員必須天天一起工作;E以積極向上的員工為中心建立項(xiàng)目組,給予他們所需要的環(huán)境和支持,對(duì)他們的工作予以充分的信任;F項(xiàng)目組內(nèi)效率最高、最有效的信息傳遞方式是面對(duì)面的交流;G測(cè)量項(xiàng)目進(jìn)展的首要依據(jù)是可運(yùn)行的軟件;H敏捷過(guò)程提倡可持續(xù)的開發(fā),項(xiàng)目發(fā)起者、開發(fā)者和用戶應(yīng)能長(zhǎng)期保持恒定的速度;I應(yīng)該時(shí)刻關(guān)注技術(shù)上的精益求精和好的設(shè)計(jì),以增強(qiáng)敏捷性;J簡(jiǎn)單化是必不可少的,這是盡可能減少不必要工作的藝術(shù);K最好的構(gòu)架、需求和設(shè)計(jì)出自于自我組織的
13、團(tuán)隊(duì);L團(tuán)隊(duì)要定期反思怎樣才能更加有效,并據(jù)此調(diào)整自己的行為。第2、3章2.1簡(jiǎn)述系統(tǒng)工程的任務(wù)。答:系統(tǒng)工程是一個(gè)問(wèn)題求解的活動(dòng),其目的是分析基于計(jì)算機(jī)的系統(tǒng)的功能、性能等要求,并把它們分配到基于計(jì)算機(jī)系統(tǒng)的各個(gè)系統(tǒng)元素中,確定它們的約束條件和接口。主要任務(wù)包括:(1)識(shí)別用戶要求;(2)系統(tǒng)建模與模擬;(3)成本估算及進(jìn)度安排;(4)可行性分析;(5)生成系統(tǒng)規(guī)格說(shuō)明。2.2基于計(jì)算機(jī)的系統(tǒng)由哪些元素組成?答:組成基于計(jì)算機(jī)系統(tǒng)的元素主要有:軟件、硬件、人員、數(shù)據(jù)庫(kù)、文檔和規(guī)程。2.3簡(jiǎn)述可行性分析的任務(wù)。答:可行性分析主要從經(jīng)濟(jì)、技術(shù)、法律等方面分析所給出的解決方案是否可行,能否在規(guī)定的
14、資源和時(shí)間的約束下完成。(1)經(jīng)濟(jì)可行性主要進(jìn)行成本效益分析,從經(jīng)濟(jì)角度,確定系統(tǒng)是否值得開發(fā)。包括成本、效益、貨幣的時(shí)間價(jià)值、投資回收期和純收入。(2)技術(shù)可行性主要根據(jù)系統(tǒng)的功能、性能、約束條件等,分析在現(xiàn)有資源和技術(shù)條件下系統(tǒng)能否實(shí)現(xiàn)。技術(shù)可行性分析通常包括風(fēng)險(xiǎn)分析、資源分析和技術(shù)分析。(3)法律可行性主要研究系統(tǒng)開發(fā)過(guò)程中可能涉及到的合同、侵權(quán)、責(zé)任以及各種與法律相抵觸的問(wèn)題。3.1需求工程的重要性是什么?舉出身邊由于需求分析失敗而造成整個(gè)項(xiàng)目失敗的例子。答:重要性是應(yīng)用已證實(shí)有效的技術(shù)、方法進(jìn)行需求分析,確定客戶需求、幫助分析人員理解問(wèn)題,評(píng)估可行性,協(xié)商合理的解決方案,無(wú)歧視地規(guī)約
15、方案,確認(rèn)規(guī)約以及將規(guī)約轉(zhuǎn)換到可行性的系統(tǒng)時(shí)的管理要求,通過(guò)合理的工具和符號(hào)系統(tǒng)地描述待開發(fā)系統(tǒng)以及其行為特征和相關(guān)約束,形成需求文檔,并對(duì)用戶不斷變化的需求演進(jìn)給予支持。因需求分析失敗而造成項(xiàng)目失敗例子如下:項(xiàng)目名稱:郵政資信管理系統(tǒng)項(xiàng)目功能:管理郵政方面業(yè)務(wù)的監(jiān)督和管理,提高郵政的服務(wù)效率。失敗原因:需求分析不足,需求內(nèi)容不明確,把握不充分。3.2需求工程具體包括哪些步驟?每個(gè)步驟的具體任務(wù)是什么?答:需求工程具體步驟包括:需求獲取、需求分析與協(xié)商、系統(tǒng)建模、需求規(guī)約、需求驗(yàn)證以及需求管理六個(gè)步驟。(1)需求獲取在需求獲取階段系統(tǒng)分析人員通過(guò)與用戶的交流、對(duì)現(xiàn)有系統(tǒng)的觀察以及對(duì)任務(wù)進(jìn)行分析
16、,確定系統(tǒng)或產(chǎn)品范圍的限制性描述、與系統(tǒng)或產(chǎn)品有關(guān)的人員及特征列表、系統(tǒng)的技術(shù)環(huán)境的描述、系統(tǒng)功能的列表以及應(yīng)用于每個(gè)需求的領(lǐng)域限制、一組描述不同運(yùn)行條件下系統(tǒng)或產(chǎn)品使用狀況的應(yīng)用場(chǎng)景以及為更好地定義需求而開發(fā)的原型。需求獲取的工作產(chǎn)品為進(jìn)行需求分析提供了基礎(chǔ)。(2)需求分析與協(xié)商此階段的任務(wù)是對(duì)需求進(jìn)行分類組織,分析每個(gè)需求與其他需求的關(guān)系以檢查需求的一致性、重疊和遺漏的情況,并根據(jù)用戶的需要對(duì)需求進(jìn)行排序。(3)系統(tǒng)建模系統(tǒng)建模是為了在用戶和系統(tǒng)分析人員之間建立統(tǒng)一的語(yǔ)言和理解的橋梁,系統(tǒng)分析人員借助建模技術(shù)對(duì)獲取的需求信息進(jìn)行分析,排除錯(cuò)誤和彌補(bǔ)不足,確保需求分析文檔正確反映用戶的真實(shí)意
17、圖。(4)需求規(guī)約軟件需求規(guī)約是分析任務(wù)的最終產(chǎn)物,通過(guò)建立完整的信息描述、詳細(xì)的功能和行為描述、性能和設(shè)計(jì)約束的說(shuō)明、合適的驗(yàn)收標(biāo)準(zhǔn),給出對(duì)目標(biāo)軟件的各種需求。需求規(guī)約作為用戶和開發(fā)者之間的一個(gè)協(xié)議,在之后的軟件工程各個(gè)階段發(fā)揮重要作用。(5)需求驗(yàn)證此階段的任務(wù)是對(duì)功能的正確性、完整性和清晰性,以及其他需求給予評(píng)價(jià),保證軟件需求定義的質(zhì)量。(6)需求管理軟件需求管理是對(duì)需求工程所有相關(guān)活動(dòng)的規(guī)劃和控制。換句話說(shuō),需求管理就是:一種獲取、組織并記錄系統(tǒng)需求的系統(tǒng)化方案,以及一個(gè)使用戶與項(xiàng)目團(tuán)隊(duì)對(duì)不斷變更的系統(tǒng)需求達(dá)成并保持一致的過(guò)程。3.3一個(gè)系統(tǒng)分析員應(yīng)該具備哪些思想素質(zhì)和基礎(chǔ)知識(shí)?請(qǐng)說(shuō)明
18、理由。答: (1)強(qiáng)烈的責(zé)任心和事業(yè)心系統(tǒng)分析師由于必須保證分析的準(zhǔn)確性,尤其是需求,所以責(zé)任更為重大。一般來(lái)說(shuō),不應(yīng)以用戶表述不明確,無(wú)法得到需求,或者用戶需求變化太多太快作為借口,更不能因?yàn)橄旅娴难邪l(fā)技術(shù)人員技術(shù)水平不如自己而責(zé)備研發(fā)技術(shù)人員,同時(shí)也需要能夠?yàn)楸WC企業(yè)利益而說(shuō)服公司領(lǐng)導(dǎo)做出正確的決策;(2)鉆研精神IT行業(yè)不同于其他行業(yè),新理念新技術(shù)新方法層出不窮,系統(tǒng)分析師需要能夠適時(shí)適當(dāng)?shù)匾M(jìn)新理念新技術(shù)新方法,為企業(yè)提高生產(chǎn)效率,為員工降低勞動(dòng)強(qiáng)度,為客戶提供更具競(jìng)爭(zhēng)力和更加實(shí)用的產(chǎn)品和服務(wù);(3)優(yōu)秀的協(xié)商談判能力復(fù)雜的系統(tǒng)有許多項(xiàng)目相關(guān)的人員,他們之間的需求必定會(huì)出現(xiàn)沖突,協(xié)商的
19、過(guò)程就是討論需求,找出每個(gè)人都滿意的折衷方案。分析人員是參與這之中的重要一份子,需要協(xié)調(diào)這之中的各方利益,這就要求分析員必須要有優(yōu)秀的協(xié)商談判能力。(4)廣泛的知識(shí)面:除了具備基本的IT技能、知識(shí)外,需要廣泛涉獵其他行業(yè)其他學(xué)科的知識(shí)方法,以系統(tǒng)工程的理念,借鑒和利用其他行業(yè)的為IT 行業(yè)所用,也可以把IT行業(yè)的理念應(yīng)用到其他行業(yè);(5)精湛的技術(shù)能力:系統(tǒng)分析員往往需要分析可行性和解決研發(fā)人員的技術(shù)問(wèn)題,因此必須具備廣泛的技術(shù)涉獵面和較強(qiáng)的技術(shù)能力;(6)財(cái)務(wù)能力:系統(tǒng)分析員往往需要參與項(xiàng)目的招投標(biāo)分析,為了保證企業(yè)的利潤(rùn)和客戶的利益,必須進(jìn)行財(cái)務(wù)核算,需要具備會(huì)計(jì)、財(cái)務(wù),成本計(jì)算等方面的能
20、力;(7)司法能力:與其他大部分行業(yè)一樣,IT行業(yè)也受到法律的約束,任何活動(dòng)必須合情合理合法,任何違背法律的項(xiàng)目最終都會(huì)失敗,違背倫理道德的事和人最終都將失去人心。(8)超強(qiáng)超快的學(xué)習(xí)能力:IT行業(yè)新技術(shù)層出不窮,同時(shí)其他相關(guān)必備知識(shí)、業(yè)務(wù)知識(shí)也是瞬息萬(wàn)變,系統(tǒng)分析師要能夠快速學(xué)習(xí)并快速掌握和靈活應(yīng)用;(9)敏銳的觀察力:由于IT行業(yè)項(xiàng)目的特殊性,項(xiàng)目復(fù)雜多變,系統(tǒng)分析師要能夠先于其他人員發(fā)現(xiàn)問(wèn)題、發(fā)現(xiàn)隱患,并提前做出規(guī)避風(fēng)險(xiǎn)的策略。3.4列出在制定需求獲取策略時(shí)的3種主要考慮因素。答:(1)能否建立起順暢的通訊途徑;(2)是否能夠獲取用戶對(duì)系統(tǒng)的功能需求和非功能需求;(3)是否利于在可運(yùn)行系
21、統(tǒng)時(shí)的管理要求。3.6舉例說(shuō)明一個(gè)系統(tǒng)的3個(gè)不同類型的非功能需求答:非功能性需求是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有且除功能需求以外的特性。軟件產(chǎn)品的非功能性需求包括系統(tǒng)的性能、可靠性、可維護(hù)性、可擴(kuò)充性和對(duì)技術(shù)和對(duì)業(yè)務(wù)的適應(yīng)性等。例如在銀行管理系統(tǒng)中,由于銀行數(shù)據(jù)量的龐大以及對(duì)銀行賬戶的管理需求,用戶對(duì)系統(tǒng)的性能、可靠性、可維護(hù)性要求很高。安全性是對(duì)銀行用戶個(gè)人信息保密的基本要求;在使用系統(tǒng)時(shí),由于用戶龐大,要求能快速安全的執(zhí)行要求,這就對(duì)系統(tǒng)的性能有高需求;銀行的用戶的變動(dòng)比較大,需求高要求的系統(tǒng)維護(hù)。3.8軟件需求分析的操作性原則和需求工程的指導(dǎo)性原則是什么?答:(1)必須能夠表示和
22、理解問(wèn)題的信息域;(2)必須能夠定義軟件將完成的功能;(3)必須劃分描述數(shù)據(jù)、功能和行為的模型,從而可以分層次地揭示細(xì)節(jié);(4)分析過(guò)程應(yīng)該從要素信息移向細(xì)節(jié)信息3.9軟件需求規(guī)約主要包括哪些內(nèi)容?自己尋找一個(gè)實(shí)例,親自寫一個(gè)需求規(guī)約。答:軟件需求規(guī)約包括:引言、信息描述、功能描述、行為描述、檢驗(yàn)標(biāo)準(zhǔn)、參考書目、附錄。3.10需求驗(yàn)證應(yīng)該有哪些人參加?畫出一個(gè)過(guò)程模型,說(shuō)明需求評(píng)審應(yīng)該如何組織。答:參與人員:分析人員,用戶,開發(fā)部門的管理者,軟件設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試的人員。 需求分析 分析人員 用戶 用戶要求 獲取系統(tǒng) 系統(tǒng) 信息 需求 折衷方案 系統(tǒng)信息 開發(fā)部門管理者 軟件設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試人員
23、 系統(tǒng)需求第4章4.1 簡(jiǎn)述軟件設(shè)計(jì)階段的基本任務(wù)軟件設(shè)計(jì)的輸入是軟件分析模型。使用一種設(shè)計(jì)方法,軟件分析模型中通過(guò)數(shù)據(jù)、功能和行為模型所展示的軟件需求的信息被傳送給設(shè)計(jì)階段,產(chǎn)生數(shù)據(jù)/類設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)、部件及設(shè)計(jì)。 數(shù)據(jù)/類設(shè)計(jì)將分析類模型變換成類的實(shí)現(xiàn)和軟件實(shí)現(xiàn)所需要的數(shù)據(jù)結(jié)構(gòu)。 體系結(jié)構(gòu)設(shè)計(jì)定義了軟件的整體結(jié)構(gòu),由軟件部件、外部可見的屬性和他們之間的關(guān)系組成。 接口設(shè)計(jì)描述了軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件同人之間的通信方式。 部件級(jí)設(shè)計(jì)將軟件體系結(jié)構(gòu)的結(jié)構(gòu)性元素變換為對(duì)軟件部件的過(guò)程性描述。4.2 軟件設(shè)計(jì)與質(zhì)量的關(guān)系是怎么樣的?設(shè)計(jì)是在軟件開發(fā)中形成質(zhì)量的階段,設(shè)計(jì)
24、提供了可以用于質(zhì)量評(píng)估的軟件表示,是將用戶需求準(zhǔn)確的轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的主要途徑。4.4 簡(jiǎn)述模塊、模塊化及模塊化設(shè)計(jì)的概念。在軟件工程中模塊是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序?qū)ο蟮募?,具有名字、參?shù)、功能等外部特征以及完成模塊功能的程序代碼和模塊內(nèi)部數(shù)據(jù)等內(nèi)部特征。模塊化,即把軟件按照規(guī)定原則,劃分為一個(gè)個(gè)較小的,相互獨(dú)立的但又相互關(guān)聯(lián)的部件,實(shí)際上是系統(tǒng)分解和抽象的過(guò)程。模塊化設(shè)計(jì),簡(jiǎn)單地說(shuō)就是程序的編寫不是開始就逐條錄入計(jì)算機(jī)語(yǔ)句和指令,而是首先用主程序、子程序、子過(guò)程等框架把軟件的主要結(jié)構(gòu)和流程描述出來(lái),并定義和調(diào)試好各個(gè)框架之間的輸入、輸出鏈接關(guān)系。逐步求精的結(jié)果是得到一系列以功
25、能塊為單位的算法描述。以功能塊為單位進(jìn)行程序設(shè)計(jì),實(shí)現(xiàn)其求解算法的方法稱為模塊化。模塊化的目的是為了降低程序復(fù)雜度,使程序設(shè)計(jì)、調(diào)試和維護(hù)等操作簡(jiǎn)單化。4.6耦合和軟件可移植性的概念有何關(guān)系?舉例說(shuō)明自己的結(jié)論。所謂“耦合性”是指模塊之間聯(lián)系的緊密程度的一種度量,而軟件的“可移植性”是指將一個(gè)軟件系統(tǒng)從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境移植到另一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境中運(yùn)行時(shí)所需工作量的大小??梢浦残允怯靡唤M子特性,包括簡(jiǎn)明性、模塊獨(dú)立性、通用性、可擴(kuò)充性、硬件獨(dú)立性和軟件系統(tǒng)獨(dú)立性等,來(lái)衡量的。如果一個(gè)軟件具有可移植性,它必然耦合性低,這樣模塊獨(dú)立性要強(qiáng)。例如,有一個(gè)圖形處理軟件,它應(yīng)具有二維幾何圖形處理、三
26、維幾何圖形處理、圖形顯示、外設(shè)控制、數(shù)據(jù)庫(kù)管理、用戶界面控制、設(shè)計(jì)分析等模塊。如果這些模塊之間都是通過(guò)參數(shù)表來(lái)傳遞信息,那么它們之間的的耦合就是數(shù)據(jù)耦合或標(biāo)記耦合等,都是低耦合。將來(lái)如果想要把它們移植到另一個(gè)外部環(huán)境中,這些模塊容易修改(功能內(nèi)聚),且接口清晰,修改可局部化。反言之,如果這些模塊都是功能內(nèi)聚或信息內(nèi)聚的模塊,模塊之間的耦合都是低耦合,也對(duì)可移植性有促進(jìn)。但不能講具有低耦合性模塊結(jié)構(gòu)的軟件一定具有可移植性,因?yàn)槭欠窬哂锌梢浦残赃€有其它因素的影響。 4.7用自己的話描述信息隱蔽概念,并討論信息隱藏與模塊獨(dú)立兩概念之間的關(guān)系。信息隱藏指在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含的特定信息
27、(過(guò)程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來(lái)說(shuō),是透明的?!半[藏”的意思是,有效的模塊化通過(guò)定義一組相互獨(dú)立的模塊來(lái)實(shí)現(xiàn),這些獨(dú)立的模塊彼此之間僅僅交換那些為了完成系統(tǒng)功能所必需的信息,而將那些自身的實(shí)現(xiàn)細(xì)節(jié)與數(shù)據(jù)“隱藏”起來(lái)。信息隱蔽為軟件系統(tǒng)的修改、測(cè)試及以后的維護(hù)都帶來(lái)好處。通過(guò)抽象,可以確定組成軟件的過(guò)程實(shí)體。通過(guò)信息隱藏,可以定義和實(shí)施對(duì)模塊的過(guò)程細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。模塊獨(dú)立的概念是模塊化、抽象、信息隱藏和局部化概念的直接結(jié)果。開發(fā)具有獨(dú)立功能而且和其他模塊之間沒(méi)有過(guò)多的相互作用的模塊,就可以做到模塊獨(dú)立。4.8什么是模塊獨(dú)立性?設(shè)計(jì)中為什么模塊要獨(dú)立?如何度量獨(dú)立性?模
28、塊功能獨(dú)立有何優(yōu)點(diǎn)?(1) 模塊的獨(dú)立性是模塊化、信息隱藏和局部化等概念的直接結(jié)果。(2) 模塊的獨(dú)立性是很重要的:第一,功能被劃分,并且接口被簡(jiǎn)化,所以具有有效模塊化的軟件易于開發(fā)。第二,由于因設(shè)計(jì)和編碼修改引起的副作用受到局限,錯(cuò)誤傳播被減小,并且模塊復(fù)用成為可能,所以獨(dú)立的模塊更易于維護(hù)和測(cè)試。總的來(lái)說(shuō),模塊獨(dú)立是良好設(shè)計(jì)的關(guān)鍵,從而又是保證軟件質(zhì)量的關(guān)鍵。(3) 用內(nèi)聚度與耦合度來(lái)度量獨(dú)立性。內(nèi)聚度度量同一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度,耦合度度量不同模塊彼此間相互以來(lái)的緊密程度。(4) 模塊功能獨(dú)立的優(yōu)點(diǎn):系統(tǒng)容易開發(fā),系統(tǒng)可靠性高,系統(tǒng)易于維護(hù),軟件結(jié)構(gòu)清晰。4.9軟件設(shè)計(jì)規(guī)
29、約主要包括哪些內(nèi)容?1.工作范圍2.體系結(jié)構(gòu)設(shè)計(jì)3.數(shù)據(jù)設(shè)計(jì)4.接口設(shè)計(jì)5.各部件的過(guò)程設(shè)計(jì)6.運(yùn)行設(shè)計(jì)7.出錯(cuò)處理設(shè)計(jì)8.安全保密設(shè)計(jì)9.需求/設(shè)計(jì)交叉索引10.測(cè)試部分11.特殊注解12.附錄第5章 結(jié)構(gòu)化分析與設(shè)計(jì)5.1 簡(jiǎn)述數(shù)據(jù)流圖的主要思想,概述使用數(shù)據(jù)流圖進(jìn)行需求分析的過(guò)程。 數(shù)據(jù)流圖(DFD)描述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換(即加工),用于對(duì)系統(tǒng)的功能建模。數(shù)據(jù)流圖可以用來(lái)抽象地表示系統(tǒng)或軟件。它從信息傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程,同時(shí)可以按自頂向下、逐步分解的方法表示內(nèi)容不斷增加的數(shù)據(jù)流和功能細(xì)節(jié)。因此,數(shù)據(jù)流圖既提供了功能建模的機(jī)制,也提
30、供了信息流建模的機(jī)制,從而可以建立起系統(tǒng)或軟件的功能模型。數(shù)據(jù)流圖進(jìn)行需求分析的過(guò)程:1) 畫出系統(tǒng)的輸入和輸出2) 畫出系統(tǒng)內(nèi)部3) 畫出加工內(nèi)部4)重復(fù)第三步,直至每個(gè)尚未分解的加工都足夠簡(jiǎn)單(即不必再分解)5.2 分別采用數(shù)據(jù)流方法中得哪些技術(shù)來(lái)完成用戶需求的精確化、一致化和完全化的任務(wù)。1)父圖和子圖平衡2)數(shù)據(jù)守恒3)局部文件4)一個(gè)加工的輸入數(shù)據(jù)流不能與該加工的輸入數(shù)據(jù)流同名5)每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流。6)在整套分層數(shù)據(jù)流中,每個(gè)文件應(yīng)至少有一個(gè)加工讀該文件,有另一個(gè)加工寫該文件。7)分層數(shù)據(jù)流圖中得每個(gè)數(shù)據(jù)流和文件都必須命名(除了流入或流出文件的數(shù)據(jù)流),并
31、且與數(shù)據(jù)字典一致。8)分層DFD中的每個(gè)基本加工(即不再分解子圖的加工)都應(yīng)有一個(gè)加工規(guī)約。5.4 在數(shù)據(jù)流圖中,可否將兩個(gè)加工用一個(gè)數(shù)據(jù)流相連?可否將兩個(gè)源用一個(gè)數(shù)據(jù)流相連?為什么? 兩個(gè)加工可以直接用數(shù)據(jù)流相連,兩個(gè)源不能直接用數(shù)據(jù)流相連。因?yàn)閿?shù)據(jù)流由一組固定成分的數(shù)據(jù)組成。在DFD中,數(shù)據(jù)流的流向可以有以下幾種:從一個(gè)加工流向另一個(gè)加工,從加工流向文件(寫文件),從文件流向加工(讀文件),從源流向加工,從加工流向宿。5.7 采用結(jié)構(gòu)化分析方法寫出書店管理系統(tǒng)的需求文檔,包括數(shù)據(jù)流圖及數(shù)據(jù)字典。看到這個(gè)題目,我想起了以前自己也在手機(jī)端Android平臺(tái)寫了一個(gè)書店的管理系統(tǒng),不過(guò)那個(gè)時(shí)候根
32、本沒(méi)有什么需求分析,只是自己一廂情愿的模擬了一個(gè)簡(jiǎn)單的流程。也沒(méi)有采用什么結(jié)構(gòu)化分析方法,就僅僅描述了幾個(gè)對(duì)象及其功能。所以我覺(jué)得可以對(duì)照著新學(xué)的軟件工程的知識(shí)運(yùn)用到自己的實(shí)際項(xiàng)目中去,同時(shí)也可以完成這道相識(shí)的題目。下圖就是以前的功能結(jié)構(gòu)圖:會(huì)員管理子系統(tǒng)用戶登錄子系統(tǒng)超級(jí)管理員倉(cāng)庫(kù)管理員銷售管理員供應(yīng)商信息管理子系統(tǒng)倉(cāng)庫(kù)管理子系統(tǒng)進(jìn)貨出貨銷售管理子系統(tǒng)零售批發(fā)退貨書店銷售管理系統(tǒng) 利用結(jié)構(gòu)化方法分析:1、 數(shù)據(jù)流程圖第一, 存書分?jǐn)?shù)據(jù)流圖: 書店管理員存書情況查 詢存書進(jìn)貨時(shí)間 是否為新書 否 第二, 進(jìn)貨分?jǐn)?shù)據(jù)流圖:登記 進(jìn)貨信息進(jìn)貨信息進(jìn)貨登記表查詢存書進(jìn)貨信息進(jìn)貨信息登記銷售已售信息圖
33、書銷售登記表第三, 銷售分?jǐn)?shù)據(jù)流圖: 登記銷售管理員查詢銷售銷售信息存書 銷售信息第四, 會(huì)員分?jǐn)?shù)據(jù)流圖: 查 詢會(huì)員信息登記表管理員會(huì)員信息 會(huì)員信息會(huì)員信息會(huì)員信息登 記會(huì)員信息登記銷售總數(shù)據(jù)流圖:已售信息圖書銷售登記表登記進(jìn)貨信息進(jìn)貨信息銷售進(jìn)貨登記表信息登記銷售查詢銷售存 書進(jìn)貨信息銷售銷售查詢信息信息進(jìn)貨信息進(jìn)貨會(huì)員信息登記表查 詢登 記信息書 店 管 理 員會(huì)員信息會(huì)員信息會(huì)員信息 存書會(huì)員信息進(jìn)會(huì)員信息貨查 詢時(shí)間查 詢進(jìn)貨信息存書情況進(jìn)貨信息新 書 列是否為新書是否2、數(shù)據(jù)字典存書數(shù)據(jù)字典: 屬 性 名類 型長(zhǎng) 度備 注書 號(hào)char10書的編號(hào)書 名char30書的名稱作 者
34、char20書的寫作者類 型char20書的類型簡(jiǎn) 述char150書的簡(jiǎn)單介紹單 價(jià)smallmoney4書的價(jià)格現(xiàn) 存 數(shù) 量int4店內(nèi)的現(xiàn)有存書數(shù)量店 內(nèi) 位 置char20書在店內(nèi)的具體位置出 版 社 號(hào)char10出版社的編號(hào)特價(jià)書char2是否為特價(jià)書(缺省值是“否”)出版社數(shù)據(jù)字典:屬 性 名類 型長(zhǎng) 度備 注出版社號(hào)char10出版社的編號(hào)出版社名稱char20出版社的名稱所在城市char10出版社所在的城市電話char15出版社的聯(lián)系電話進(jìn)貨數(shù)據(jù)字典:屬 性 名類 型長(zhǎng) 度備 注書 號(hào)char10書的編號(hào)進(jìn) 價(jià)smallmoney4書的進(jìn)價(jià)進(jìn)貨數(shù)量int4每本書的進(jìn)貨數(shù)量日
35、 期datetime8進(jìn)貨的日期銷售數(shù)據(jù)字典:屬 性 名類 型長(zhǎng) 度備 注日 期datetime8售貨的日期書 號(hào)char10書的編號(hào)銷售量int4售出的書本數(shù)量銷售金額money8銷售金額=(單價(jià)*銷售量)會(huì)員信息數(shù)據(jù)字典:屬 性 名類 型長(zhǎng) 度備 注客服號(hào)char8會(huì)員卡的卡號(hào)姓名char20會(huì)員的姓名地址char50會(huì)員的家庭住址電話char15會(huì)員的電話號(hào)碼購(gòu)買書號(hào)char10書的編號(hào)店內(nèi)收出數(shù)據(jù)字典:屬 性 名長(zhǎng) 度備 注月份6水電支出4水電費(fèi)用員工支出4員工的工資其他支出4其他費(fèi)用支出結(jié)算8每月的總結(jié)算2、 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)名組成存書信息書號(hào),書名,作者,簡(jiǎn)介,單價(jià),店內(nèi)位置,類型
36、,現(xiàn)存數(shù)量,出版社號(hào),特價(jià)書出版社號(hào)出版社號(hào),出版社名稱,電話,所在城市進(jìn)貨信息書號(hào),進(jìn)貨數(shù)量,進(jìn)價(jià),進(jìn)貨日期銷售信息銷售日期,書號(hào),銷售量,銷售金額會(huì)員信息購(gòu)買書號(hào),客服號(hào),會(huì)員姓名,地址,電話書店支出信息月份,水電支出,員工支出,其他支出,結(jié)算3、 數(shù)據(jù)流數(shù)據(jù)流名數(shù)據(jù)流來(lái)源數(shù)據(jù)流去向組成登記新書信息進(jìn)貨信息存書信息新書信息查詢新書信息新書登記信息管理員新書信息登記打折書信息存書信息銷售信息存書信息查詢打折書信息打折書登記信息管理員存書信息.登記會(huì)員信息會(huì)員信息存書信息會(huì)員信息查詢會(huì)員信息會(huì)員登記信息管理員會(huì)員信息4、 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)名輸入的數(shù)據(jù)流輸出的數(shù)據(jù)流組成新書登記表進(jìn)貨信息,是否為
37、新書存書信息進(jìn)貨信息,存書信息打折書登記表存書信息,是否為打折書銷售信息存書信息,銷售信息會(huì)員登記表會(huì)員信息,銷售信息會(huì)員信息會(huì)員信息,銷售信息第68章6.1 簡(jiǎn)述面向數(shù)據(jù)結(jié)構(gòu)方法的特點(diǎn)答:特點(diǎn)如下:1 以信息對(duì)象及其操作作為核心進(jìn)行需求分析;2 認(rèn)為復(fù)合信息對(duì)象具有層次結(jié)構(gòu),并且可按順序,選擇,重復(fù)3種結(jié)構(gòu)分解為成員對(duì)象信息;3 提供由層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機(jī)制,從而為軟件設(shè)計(jì)奠定良好的基礎(chǔ)。6.2 采用Jackson圖表示下面的文件結(jié)構(gòu):文件人員記錄*工作工號(hào)地址姓名工廠。辦公室。管理員。8.1什么是構(gòu)件?答:根據(jù)pressman書中的定義構(gòu)件是某系統(tǒng)中有價(jià)值的、幾乎獨(dú)立的并可替換的
38、一個(gè)部分,它在良好定義的體系結(jié)構(gòu)語(yǔ)境內(nèi)滿足某種清晰的功能。根據(jù)brown的定義構(gòu)件是一個(gè)獨(dú)立發(fā)布的功能部分,可以通過(guò)其接口訪問(wèn)它的服務(wù)。根據(jù)計(jì)算機(jī)科學(xué)技術(shù)百科全書(第二版)中的定義軟件構(gòu)件是軟件系統(tǒng)中具有相對(duì)獨(dú)立功能,可以明確標(biāo)識(shí),接口由規(guī)約指定,與語(yǔ)境有明顯依賴關(guān)系,可獨(dú)立部署,且多由第三方提供的可組裝軟件實(shí)體。軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型??蓮?fù)用構(gòu)件是指具有可復(fù)用價(jià)值的構(gòu)件。在基于構(gòu)件的軟件開發(fā)中經(jīng)常會(huì)使用到的商用成品構(gòu)件,是指由第三方開發(fā)的滿足一定構(gòu)件標(biāo)準(zhǔn)并且可組裝的軟件構(gòu)件。8.2 簡(jiǎn)述基于構(gòu)件的軟件開發(fā)過(guò)程。基于構(gòu)件的軟件開發(fā)過(guò)程:領(lǐng)域工程的步驟:1 領(lǐng)域分析 2 建
39、立領(lǐng)域特定的基準(zhǔn)體系結(jié)構(gòu)模型 3 標(biāo)識(shí)候選構(gòu)件 4 泛化和可變性分析 5 構(gòu)件重構(gòu) 6 構(gòu)件的測(cè)試 7 構(gòu)件的包裝 8 構(gòu)件入庫(kù)應(yīng)用系統(tǒng)工程的步驟:1 建立應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型;2 尋找候選構(gòu)件;3 評(píng)價(jià)和選擇合適的構(gòu)件;4 構(gòu)件的修改和特化;5 開發(fā)未被復(fù)用的不分;6 構(gòu)件的組裝;7 集成測(cè)試;8 評(píng)價(jià)被復(fù)用的構(gòu)件,并推薦可能的新構(gòu)件。第11、13章13.1請(qǐng)討論使軟件維護(hù)成本居高不下的因素。如何盡可能降低這些因素的影響?軟件維護(hù)的代價(jià)是生產(chǎn)率驚人下降。維護(hù)費(fèi)用只不過(guò)是軟件及維護(hù)最明顯的代價(jià),起一些隱性的代價(jià)將更為人們關(guān)注。軟件維護(hù)除費(fèi)用外的無(wú)形代價(jià)包括:1.維護(hù)活動(dòng)占用了其他軟件開發(fā)可用
40、的資源,使資源的利用率降低 2.一些修復(fù)或修改請(qǐng)求得不到及時(shí)安排,使得客戶滿意率下降 3.維護(hù)的結(jié)果把一些新的潛在的錯(cuò)誤引入軟件,降低了軟件質(zhì)量 4.將軟件人員抽調(diào)到維護(hù)工作中,使得其它軟件開發(fā)過(guò)程受到干擾 影響維護(hù)工作量的因素主要有以下六種:1.系統(tǒng)的規(guī)模:系統(tǒng)規(guī)模越大,其功能就越復(fù)雜,軟件維護(hù)的工作量也隨之增大2.程序設(shè)計(jì)語(yǔ)言:使用強(qiáng)功能的程序設(shè)計(jì)語(yǔ)言可以控制程序的規(guī)模。語(yǔ)言的功能越強(qiáng),生成程序的模塊化和結(jié)構(gòu)化程度越高,所需的指令數(shù)就越少,程序的可讀性也越好3.系統(tǒng)年齡:老系統(tǒng)比新系統(tǒng)需要更多的維護(hù)工作量。4.數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用:使用數(shù)據(jù)庫(kù),可以簡(jiǎn)單而有效地管理和存儲(chǔ)用戶程序中的數(shù)據(jù),還可以
41、減少生成用戶報(bào)表應(yīng)用軟件的維護(hù)工作量 5.先進(jìn)的軟件開發(fā)技術(shù):在軟件開發(fā)過(guò)程中,如果采用先進(jìn)的分析設(shè)計(jì)技術(shù)和程序設(shè)計(jì)技術(shù),如面向?qū)ο蠹夹g(shù)、復(fù)用技術(shù)等,可減少大量的維護(hù)工作量6.其它一些因素:如應(yīng)用的類型、數(shù)學(xué)模型、任務(wù)的難度、IF嵌套深度、索引或下標(biāo)數(shù)等,對(duì)維護(hù)工作量也有影響 為了有效的進(jìn)行軟件維護(hù),盡可能降低這些因素的影響,應(yīng)事先就開始做組織工作:1.首先建立維護(hù)的機(jī)構(gòu)2.申明提出維護(hù)申請(qǐng)報(bào)告的過(guò)程及評(píng)價(jià)的過(guò)程3.為每一個(gè)維護(hù)申請(qǐng)規(guī)定標(biāo)準(zhǔn)的處理步驟4.建立維護(hù)活動(dòng)的登記制度以及規(guī)定評(píng)價(jià)和評(píng)審的標(biāo)準(zhǔn)13.3軟件維護(hù)的過(guò)程是如何進(jìn)行的?為什么要進(jìn)行軟件可維護(hù)性分析?1.對(duì)于非糾錯(cuò)性維護(hù),則首先判
42、斷維護(hù)類型,對(duì)適應(yīng)性維護(hù),按照評(píng)估后得到的優(yōu)先級(jí)放入隊(duì)列 2.對(duì)于改善性維護(hù),則還要考慮是否采取行動(dòng),如果接受申請(qǐng),則同樣按照評(píng)估后得到的優(yōu)先級(jí)放入隊(duì)列,如果拒絕申請(qǐng),則通知請(qǐng)求者,并說(shuō)明原因3.對(duì)于工作安排隊(duì)列中的任務(wù),由修改負(fù)責(zé)人依次從隊(duì)列中取出任務(wù),按照軟件工程方法學(xué)規(guī)劃、組織、實(shí)施工程。4.每種維護(hù)請(qǐng)求都要進(jìn)行同樣的一系列技術(shù)工作:修改軟件需求說(shuō)明、修改軟件設(shè)計(jì)、設(shè)計(jì)評(píng)審、必要時(shí)重新編碼、單元測(cè)試、集成測(cè)試( 包括回歸測(cè)試)、確認(rèn)測(cè)試等 5.維護(hù)工作最后一步是復(fù)審 維護(hù)請(qǐng)求類型類型嚴(yán)重性評(píng)估后按優(yōu)先級(jí)在隊(duì)列排隊(duì)救火行動(dòng),當(dāng)排在隊(duì)列之首評(píng)估后分類評(píng)估后按優(yōu)先級(jí)在隊(duì)列排隊(duì)采取的行動(dòng)通知請(qǐng)求
43、者并說(shuō)明原因按優(yōu)先級(jí)在隊(duì)列中排隊(duì)從維護(hù)請(qǐng)求隊(duì)列之首取出一任務(wù)按SE方法學(xué)規(guī)劃、組織、實(shí)施工程隊(duì)列中還有維護(hù)請(qǐng)求嗎?資源用于開發(fā)新的軟件。yn糾錯(cuò)性維護(hù)其他改善性維護(hù)適應(yīng)性維護(hù)拒絕接受并不嚴(yán)重非常嚴(yán)重維護(hù)過(guò)程圖:進(jìn)行可維護(hù)性分析的原因:軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需求而修改軟件的過(guò)程。一個(gè)中等規(guī)模的軟件,如果其開發(fā)過(guò)程需要一二年時(shí)間,則它投入使用以后,其運(yùn)行時(shí)間可能持續(xù)510年之久。在這個(gè)維護(hù)階段中,人們需要著手解決開發(fā)階段尚未解決的問(wèn)題,同時(shí),還解決維護(hù)工作本身所產(chǎn)生的問(wèn)題。做好軟件的維護(hù)工作不僅能夠排除軟件中存在的錯(cuò)誤,使它能夠正常工作,而且還可以使它擴(kuò)充功能,提
44、高性能,為用戶帶來(lái)新的效益。軟件的可維護(hù)性是指維護(hù)人員為糾正軟件系統(tǒng)出現(xiàn)的錯(cuò)誤或缺陷,以及為滿足新的要求而理解、修改和完善軟件系統(tǒng)的難易程度??删S護(hù)性是所有軟件系統(tǒng)都應(yīng)具備的特點(diǎn)。在軟件工程的每一階段都應(yīng)該努力提高系統(tǒng)的可維護(hù)性,在每個(gè)階段結(jié)束前的審查和復(fù)審中,應(yīng)著重對(duì)可維護(hù)性進(jìn)行復(fù)審。維護(hù)階段的花費(fèi)約占整個(gè)軟件生命期花費(fèi)的67%。因此,應(yīng)充分認(rèn)識(shí)到維護(hù)現(xiàn)有軟件的重要意義。3.7在重構(gòu)和正向工程之間存在的細(xì)微不同是什么?當(dāng)某應(yīng)用的基本體系結(jié)構(gòu)是堅(jiān)固的時(shí)候發(fā)生重構(gòu),即使技術(shù)的內(nèi)部細(xì)節(jié)需要修改。當(dāng)軟件的大部分是有用的,僅僅部分模塊和數(shù)據(jù)需要擴(kuò)展性修改時(shí),啟動(dòng)重構(gòu)活動(dòng)。正向工程是通過(guò)到實(shí)現(xiàn)語(yǔ)言的映射而把模型轉(zhuǎn)換為代碼的過(guò)程。正向工程過(guò)程應(yīng)用軟件工程的原理、概念、技術(shù)和方法來(lái)重新開發(fā)某個(gè)現(xiàn)有的應(yīng)用系統(tǒng)。15
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第七章-透射電子顯微鏡
- 群落的結(jié)構(gòu)(課件)
- 焊接基礎(chǔ)知識(shí)
- 水文地質(zhì)學(xué)課件
- 某公司員工工傷安全管理規(guī)定
- 消防培訓(xùn)課件:安全檢修(要點(diǎn))
- 某公司安全生產(chǎn)考核與獎(jiǎng)懲辦法范文
- 安全作業(yè)活動(dòng)安全排查表
- 某公司危險(xiǎn)源安全辨識(shí)、分類和風(fēng)險(xiǎn)評(píng)價(jià)、分級(jí)辦法
- 某公司消防安全常識(shí)培訓(xùn)資料
- 安全培訓(xùn)資料:危險(xiǎn)化學(xué)品的類別
- 中小學(xué)寒假學(xué)習(xí)計(jì)劃快樂(lè)度寒假充實(shí)促成長(zhǎng)
- 紅色插畫風(fēng)輸血相關(guān)知識(shí)培訓(xùn)臨床輸血流程常見輸血不良反應(yīng)
- 14.應(yīng)急救援隊(duì)伍訓(xùn)練記錄
- 某公司各部門及人員安全生產(chǎn)責(zé)任制