《軟件工程》高職計(jì)算機(jī)全套教學(xué)課件_第1頁(yè)
《軟件工程》高職計(jì)算機(jī)全套教學(xué)課件_第2頁(yè)
《軟件工程》高職計(jì)算機(jī)全套教學(xué)課件_第3頁(yè)
《軟件工程》高職計(jì)算機(jī)全套教學(xué)課件_第4頁(yè)
《軟件工程》高職計(jì)算機(jī)全套教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩284頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程模塊1_軟件工程概述模塊2_軟件可行性分析與需求分析模塊3_軟件設(shè)計(jì)模塊4_軟件編碼與實(shí)現(xiàn)模塊5_面向?qū)ο蠓椒K6_軟件測(cè)試模塊7_軟件維護(hù)模塊8_軟件管理模塊9_軟件工程標(biāo)準(zhǔn)與文檔編制全套可編輯PPT課件

模塊1軟件工程概述軟件工程的背景31.1本課件是可編輯的正常PPT課件41.1.1軟件的定義與特點(diǎn)1.軟件的定義:一個(gè)完整的計(jì)算機(jī)系統(tǒng)由兩部分組成:硬件(hardware)和軟件(software)。硬件是一系列電子、機(jī)械和光電元件組成的各種物理裝置的總稱,是計(jì)算機(jī)系統(tǒng)運(yùn)行的物質(zhì)基礎(chǔ)。軟件是計(jì)算機(jī)系統(tǒng)中程序、數(shù)據(jù)及其相關(guān)文檔的總稱。其中,程序是按事先設(shè)計(jì)的功能和性能要求編寫(xiě)的指令序列,是軟件的重要組成部分,也是軟件的主要表現(xiàn)形式;數(shù)據(jù)是描述程序的處理對(duì)象;文檔是與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文材料,是對(duì)軟件開(kāi)發(fā)和維護(hù)全過(guò)程的書(shū)面描述和記錄。本課件是可編輯的正常PPT課件51.1.1軟件的定義與特點(diǎn)2.軟件的特點(diǎn):從操作系統(tǒng)到應(yīng)用程序,從專業(yè)工具到游戲,都是計(jì)算機(jī)軟件,可以說(shuō)軟件已滲透到人們工作生活中的方方面面。計(jì)算機(jī)軟件種類繁多,功能各異。與硬件相比,計(jì)算機(jī)軟件具有以下特點(diǎn)——(1)復(fù)雜性:軟件系統(tǒng)的復(fù)雜性來(lái)源于其功能的多樣性和實(shí)現(xiàn)的復(fù)雜性。一個(gè)大型的軟件系統(tǒng)可能包含數(shù)百萬(wàn)行代碼,涉及多種編程語(yǔ)言和技術(shù)路線。(2)無(wú)形性:與硬件不同,軟件是一種無(wú)形的產(chǎn)品。它沒(méi)有具體的物理形態(tài),但可以通過(guò)存儲(chǔ)介質(zhì)如光盤(pán)、硬盤(pán)或網(wǎng)絡(luò)傳輸。(3)可復(fù)制性:軟件的復(fù)制成本極低,一旦開(kāi)發(fā)完成,就可以無(wú)限復(fù)制而不會(huì)降低質(zhì)量。這種特性使得軟件可以大規(guī)模分發(fā),但同時(shí)也要求開(kāi)發(fā)者采取措施保護(hù)知識(shí)產(chǎn)權(quán),防止非法復(fù)制和盜版。(4)依賴性:軟件功能的發(fā)揮通常依賴于特定的硬件和操作系統(tǒng)環(huán)境,不同的軟件對(duì)硬件的需求不同。如果沒(méi)有硬件的支持,軟件將失去實(shí)用價(jià)值。(5)可變性:軟件可以根據(jù)用戶的需求進(jìn)行修改和更新,用戶也可以根據(jù)自己的需求和偏好來(lái)定制軟件的功能和界面。許多軟件提供個(gè)性化設(shè)置,允許用戶調(diào)整操作方式、界面布局和功能選項(xiàng),這使得軟件具有很高的靈活性,可以獲得更佳的使用體驗(yàn)。(6)應(yīng)用性:軟件的價(jià)值在于應(yīng)用。軟件的設(shè)計(jì)和開(kāi)發(fā)都是為了實(shí)現(xiàn)特定的功能,以滿足用戶的不同需求。無(wú)論是文字處理、圖像編輯還是數(shù)據(jù)分析,每種軟件都有其獨(dú)特的功能集合。應(yīng)用性是軟件價(jià)值的核心體現(xiàn)。本課件是可編輯的正常PPT課件61.1.2軟件的發(fā)展歷程與軟件危機(jī)軟件發(fā)展的4個(gè)階段:自1946年世界上的第一臺(tái)計(jì)算機(jī)ENIAC誕生以后,就有了程序的概念,因此可以認(rèn)為,程序是軟件的前身。經(jīng)歷了七十多年的發(fā)展,人們對(duì)軟件有了更為深刻的認(rèn)識(shí)。在這幾十年中,計(jì)算機(jī)軟件的發(fā)展大致經(jīng)歷了4個(gè)階段,如表1-1所示。本課件是可編輯的正常PPT課件71.1.2軟件的發(fā)展歷程與軟件危機(jī)軟件危機(jī):在軟件技術(shù)發(fā)展的第二階段,隨著計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算機(jī)的存儲(chǔ)容量、速度和可靠性有了明顯提高,硬件成本的降低為計(jì)算機(jī)的廣泛應(yīng)用創(chuàng)造了極好的條件。在這一形勢(shì)下,軟件的需求量不斷增加,軟件的規(guī)模也越來(lái)越大,復(fù)雜度也不斷增加,然而軟件開(kāi)發(fā)技術(shù)的進(jìn)步卻一直未能滿足形勢(shì)發(fā)展所提出的要求,導(dǎo)致在軟件開(kāi)發(fā)中遇到的問(wèn)題找不到解決的方法,致使問(wèn)題積累起來(lái),形成了日益尖銳的矛盾,導(dǎo)致“軟件危機(jī)”的出現(xiàn)。軟件危機(jī)的產(chǎn)生原因:(1)軟件規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜。隨著計(jì)算機(jī)的普及,應(yīng)用范圍不斷擴(kuò)大,需要開(kāi)發(fā)的軟件越來(lái)越多,軟件結(jié)構(gòu)也越來(lái)越復(fù)雜。(2)用戶需求不明或需求變更頻繁。在軟件開(kāi)發(fā)出來(lái)之前,用戶自己不清楚軟件開(kāi)發(fā)的具體需求,或者對(duì)需求的描述不精確,可能有遺漏、二義性甚至有誤;開(kāi)發(fā)人員對(duì)用戶需求的理解與用戶的愿望有差異。(3)技術(shù)復(fù)雜性與開(kāi)發(fā)人員的技能不足。隨著技術(shù)的發(fā)展,軟件系統(tǒng)變得越來(lái)越復(fù)雜。這種復(fù)雜性不僅來(lái)自于軟件本身的功能需求,還包括與其他系統(tǒng)的集成、多種技術(shù)的融合等。(4)缺乏標(biāo)準(zhǔn)化。軟件開(kāi)發(fā)缺乏統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范,不同的團(tuán)隊(duì)可能采用不同的開(kāi)發(fā)方法和工具。這種缺乏一致性的做法導(dǎo)致了軟件質(zhì)量和兼容性的問(wèn)題。(5)開(kāi)發(fā)技術(shù)與開(kāi)發(fā)工具落后。(6)。缺乏有效的項(xiàng)目管理方法、工具和經(jīng)驗(yàn),會(huì)導(dǎo)致項(xiàng)目計(jì)劃不準(zhǔn)確、進(jìn)度控制不力、資源分配不合理等。本課件是可編輯的正常PPT課件81.1.3軟件工程1.什么是軟件工程?概括地說(shuō),軟件工程是一門(mén)指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。它采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把管理技術(shù)和開(kāi)發(fā)技術(shù)有效地結(jié)合起來(lái),以便經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。軟件工程提出了一系列的概念、方法、原理以及開(kāi)發(fā)模型,其研究的核心問(wèn)題是在給定的成本和進(jìn)度前提下,使用什么方法開(kāi)發(fā)軟件能獲得可使用、可行性好、易于維護(hù)、成本合適的軟件。軟件工程的知識(shí)結(jié)構(gòu)主要有三個(gè):計(jì)算機(jī)科學(xué)和數(shù)學(xué)、工程科學(xué)、管理科學(xué)。其中,計(jì)算機(jī)科學(xué)和數(shù)學(xué)用于構(gòu)造算法,工程科學(xué)用于指定規(guī)范、設(shè)計(jì)泛型、評(píng)估成本及確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、質(zhì)量和成本的管理。本課件是可編輯的正常PPT課件91.1.3軟件工程2.軟件工程的目標(biāo):●付出較低的開(kāi)發(fā)成本?!襁_(dá)到要求的軟件功能?!袢〉幂^好的軟件性能?!褴浖目煽啃暂^高?!褴浖子谑褂谩⒕S護(hù)和移植?!衲軌虬磿r(shí)完成開(kāi)發(fā)任務(wù),并及時(shí)交付使用。本課件是可編輯的正常PPT課件101.1.3軟件工程3.軟件工程的基本原則:(1)嚴(yán)格管理:應(yīng)該把軟件生命周期劃分成若干個(gè)階段,并相應(yīng)地制訂出切實(shí)可行的計(jì)劃,嚴(yán)格按照計(jì)劃對(duì)軟件的開(kāi)發(fā)與維護(hù)工作進(jìn)行管理。(2)階段評(píng)審:在每個(gè)階段都進(jìn)行嚴(yán)格的評(píng)審,才能盡早發(fā)現(xiàn)在軟件開(kāi)發(fā)過(guò)程中所犯的錯(cuò)誤,減少改正錯(cuò)誤所需付出的代價(jià)。(3)產(chǎn)品控制:一切有關(guān)修改軟件的提議,必須嚴(yán)格按照規(guī)程進(jìn)行評(píng)審,獲得批準(zhǔn)以后才能實(shí)施修改,絕不能誰(shuí)想修改就可以修改。(4)采用現(xiàn)代程序設(shè)計(jì)技術(shù):程序設(shè)計(jì)盡可能采用當(dāng)今成熟且先進(jìn)的技術(shù),以提高軟件開(kāi)發(fā)和維護(hù)的效率,同時(shí)也可以提高軟件產(chǎn)品的質(zhì)量。本課件是可編輯的正常PPT課件111.1.3軟件工程3.軟件工程的基本原則:(5)結(jié)果審查:軟件產(chǎn)品不同于一般的物理產(chǎn)品,軟件開(kāi)發(fā)人員(或開(kāi)發(fā)小組)的工作進(jìn)展情況可見(jiàn)性差,難以準(zhǔn)確度量,從而使得軟件產(chǎn)品的開(kāi)發(fā)過(guò)程更難以評(píng)價(jià)和管理。為了提高軟件開(kāi)發(fā)過(guò)程的可見(jiàn)性,更好地進(jìn)行管理,應(yīng)該根據(jù)軟件開(kāi)發(fā)項(xiàng)目的總目標(biāo)及完成期限,規(guī)定開(kāi)發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使得到的結(jié)果能夠被清楚地審查。(6)人員應(yīng)該少而精:軟件開(kāi)發(fā)小組的組成人員的素質(zhì)應(yīng)該高,且人數(shù)不宜過(guò)多。合理安排人員可以減少開(kāi)發(fā)成本并提高工作效率。(7)不斷改進(jìn)軟件工程實(shí)踐:不斷總結(jié)經(jīng)驗(yàn),勇于嘗試新的軟件技術(shù)和工具,以提高工作效率和產(chǎn)品質(zhì)量。本課件是可編輯的正常PPT課件軟件的生命周期及其開(kāi)發(fā)模型121.2本課件是可編輯的正常PPT課件131.2.1軟件生命周期軟件生命周期(lifecycle)也稱軟件生存周期,是指一個(gè)軟件從提出開(kāi)發(fā)要求開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、交付使用,直到該軟件報(bào)廢為止的整個(gè)時(shí)期。在軟件生存周期中,將軟件的開(kāi)發(fā)過(guò)程分為若干階段,使得每個(gè)階段有明確的任務(wù),從而方便對(duì)規(guī)模大、結(jié)構(gòu)和管理復(fù)雜的軟件開(kāi)發(fā)進(jìn)行控制和管理。這對(duì)于軟件生產(chǎn)的管理和進(jìn)度控制有著非常重要的意義。軟件生命周期一般可分為三個(gè)主要階段:定義(計(jì)劃)階段、開(kāi)發(fā)階段和運(yùn)行維護(hù)階段。這三個(gè)階段往往又可細(xì)分為一些子階段。本課件是可編輯的正常PPT課件141.2.1軟件生命周期1.定義(計(jì)劃)階段:這一階段的主要任務(wù)是明確要解決的問(wèn)題并確定工程的可行性,分析軟件系統(tǒng)項(xiàng)目的主要目標(biāo)和開(kāi)發(fā)該系統(tǒng)的可行性,估計(jì)完成該項(xiàng)目所需的資源和成本,最后還要提出軟件開(kāi)發(fā)的進(jìn)度安排,提交軟件計(jì)劃文檔。軟件計(jì)劃又可細(xì)分為問(wèn)題定義和可行性分析兩個(gè)階段。2.開(kāi)發(fā)階段:開(kāi)發(fā)階段可分為三個(gè)子階段:設(shè)計(jì)、編碼和測(cè)試。設(shè)計(jì)又可分為系統(tǒng)設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。系統(tǒng)設(shè)計(jì)是軟件開(kāi)發(fā)過(guò)程中的關(guān)鍵階段,主要任務(wù)是將軟件需求分解為系統(tǒng)架構(gòu)及組件級(jí)別的設(shè)計(jì),包括主要的模塊、接口、數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)。編碼就是按照設(shè)計(jì)說(shuō)明選擇合適的程序設(shè)計(jì)語(yǔ)言工具把每個(gè)模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計(jì)算機(jī)可接受的程序代碼,即寫(xiě)成以某種特定程序設(shè)計(jì)語(yǔ)言表示的“源程序清單”。測(cè)試就是根據(jù)測(cè)試計(jì)劃對(duì)軟件項(xiàng)目進(jìn)行各種測(cè)試,其主要方式是使用測(cè)試用例檢驗(yàn)軟件的各個(gè)組成部分。測(cè)試的目的是發(fā)現(xiàn)軟件中的問(wèn)題,它是保證軟件質(zhì)量的重要手段。測(cè)試完成后需提交軟件項(xiàng)目測(cè)試報(bào)告。本課件是可編輯的正常PPT課件151.2.1軟件生命周期3.運(yùn)行維護(hù)階段:運(yùn)行維護(hù)階段是軟件生存周期中時(shí)間最長(zhǎng)的階段。軟件經(jīng)過(guò)評(píng)審確認(rèn)后提交給用戶使用,就進(jìn)入了運(yùn)行維護(hù)階段。軟件產(chǎn)品投入運(yùn)行后,接下來(lái)的主要工作就是維護(hù)了。維護(hù)始終貫穿于軟件運(yùn)行期間,它可以持續(xù)幾年甚至幾十年,維護(hù)的過(guò)程漫長(zhǎng),維護(hù)的內(nèi)容廣泛(不僅要改正軟件運(yùn)行中出現(xiàn)的錯(cuò)誤,還包括修改軟件以適應(yīng)環(huán)境的變化,根據(jù)用戶需求擴(kuò)充軟件的功能等),因此,軟件維護(hù)的工作量很大。本課件是可編輯的正常PPT課件161.2.2軟件開(kāi)發(fā)模型根據(jù)軟件生產(chǎn)工程化的需要,生存周期的劃分也有不同,從而形成了不同的軟件生存周期模型(lifecyclemodel,LCM),或稱軟件開(kāi)發(fā)模型(軟件過(guò)程模型),它是描述軟件生產(chǎn)過(guò)程中各種活動(dòng)如何執(zhí)行的模型,是一種對(duì)軟件過(guò)程的抽象表示。軟件開(kāi)發(fā)模型有多種,常用的有瀑布模型、快速原型法模型、螺旋模型、構(gòu)件組裝模型和智能模型等。1.瀑布模型:瀑布模型(waterfallmodel,WM)遵循軟件生存周期的劃分,明確規(guī)定每個(gè)階段的任務(wù),各個(gè)階段的工作按順序展開(kāi),恰如奔流不息逐級(jí)下落的瀑布,如圖1-1所示。瀑布模型把軟件生存周期分為軟件定義、軟件開(kāi)發(fā)、軟件運(yùn)行維護(hù)三個(gè)時(shí)期。這三個(gè)時(shí)期又可細(xì)分為若干階段:軟件定義可分為問(wèn)題定義、可行性分析、需求分析三個(gè)階段,軟件開(kāi)發(fā)可分為系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試等階段,軟件投入運(yùn)行后進(jìn)入運(yùn)行維護(hù)階段。本課件是可編輯的正常PPT課件17本課件是可編輯的正常PPT課件18瀑布模型的優(yōu)點(diǎn)如下:●清晰地提供了軟件開(kāi)發(fā)的全過(guò)程,明確了每一階段的任務(wù)與目標(biāo)。●階段間的有序性和依賴性。有序性是指前一階段的工作完成后,后一階段的工作才能開(kāi)始,有序地開(kāi)展工作,避免了過(guò)程中的隨意狀態(tài)。依賴性指后一階段的工作依賴于前一階段的結(jié)果?!衩總€(gè)階段都形成相應(yīng)的文檔,便于階段性的進(jìn)度管理?!褓|(zhì)量保證。強(qiáng)調(diào)文檔的作用,并對(duì)文檔進(jìn)行評(píng)審,強(qiáng)調(diào)盡早發(fā)現(xiàn)問(wèn)題并及時(shí)改正;嚴(yán)格的計(jì)劃性也會(huì)保證軟件產(chǎn)品的按時(shí)交付。本課件是可編輯的正常PPT課件192.快速原型模型:快速原型模型(rapidprototypemodel,RPM)是指不斷地運(yùn)行系統(tǒng)“原型”來(lái)進(jìn)行啟發(fā)、揭示和判斷的系統(tǒng)開(kāi)發(fā)方法,也稱為快速原型法。正確的需求定義是系統(tǒng)成功的關(guān)鍵,但是許多用戶在開(kāi)始時(shí)往往不能準(zhǔn)確地?cái)⑹鏊麄兊男枰?,軟件開(kāi)發(fā)人員需要反復(fù)多次地和用戶交流信息,才能全面、準(zhǔn)確地了解用戶的要求。當(dāng)用戶實(shí)際使用了目標(biāo)系統(tǒng)以后,也常常會(huì)改變?cè)瓉?lái)的某些想法,對(duì)系統(tǒng)提出新的需求。本課件是可編輯的正常PPT課件203.螺旋模型:螺旋模型(spiralmodel,SM)是一種引入了風(fēng)險(xiǎn)分析與規(guī)避機(jī)制的過(guò)程模型,它將瀑布模型與快速原型模型的迭代特征結(jié)合起來(lái),并加入了兩種模型都忽略的風(fēng)險(xiǎn)分析,彌補(bǔ)了兩者的不足。螺旋模型是瀑布模型、快速原型模型和風(fēng)險(xiǎn)分析方法的有機(jī)結(jié)合,如圖1-3所示。本課件是可編輯的正常PPT課件21螺旋模型將開(kāi)發(fā)過(guò)程分為幾個(gè)螺旋回路(螺旋周期),每個(gè)回路被分成以下4個(gè)工作步驟:①制定計(jì)劃:確定項(xiàng)目階段目標(biāo),選定實(shí)施方案,理清項(xiàng)目開(kāi)發(fā)的限制或約束條件。②風(fēng)險(xiǎn)分析:分析所選方案,識(shí)別和消除風(fēng)險(xiǎn),列出可能出現(xiàn)的問(wèn)題及問(wèn)題的嚴(yán)重程度,并估計(jì)可能產(chǎn)生的后果。③實(shí)施工程:實(shí)施軟件開(kāi)發(fā)的過(guò)程。④用戶評(píng)估:評(píng)價(jià)開(kāi)發(fā)工作,提出修改建議,并與開(kāi)發(fā)人員一起討論制訂下一步的開(kāi)發(fā)計(jì)劃。本課件是可編輯的正常PPT課件22在螺旋模型中,沿螺旋線自內(nèi)向外每旋轉(zhuǎn)一圈便開(kāi)發(fā)出一個(gè)更為完善的新的軟件版本,自內(nèi)向外逐步延伸,最終得到所期望的系統(tǒng)。螺旋模型具有如下特點(diǎn):●螺旋模型更適合人們認(rèn)識(shí)事物的規(guī)律——由粗到細(xì)、由表及里、逐步深化?!裣到y(tǒng)開(kāi)發(fā)的各個(gè)階段可以回溯和重復(fù),逐步發(fā)展,每一個(gè)螺旋周期都是對(duì)上一周期的深化和細(xì)化?!衤菪P吞貏e強(qiáng)調(diào)原型的可擴(kuò)充性,原型的進(jìn)化貫穿整個(gè)軟件的生存周期?!衤菪P褪且环N風(fēng)險(xiǎn)驅(qū)動(dòng)模型,為項(xiàng)目管理人員及時(shí)調(diào)整決策方案提供了方便,降低了開(kāi)發(fā)風(fēng)險(xiǎn)。本課件是可編輯的正常PPT課件234.構(gòu)件組裝模型:面向?qū)ο蠹夹g(shù)是將事物實(shí)體封裝成包含數(shù)據(jù)和數(shù)據(jù)處理方法的對(duì)象,并將這些對(duì)象抽象為類。經(jīng)過(guò)適當(dāng)設(shè)計(jì)和實(shí)現(xiàn)的類或類的集合可以稱為構(gòu)件。由于構(gòu)件具有一定的通用性,因而它們可以在不同的軟件系統(tǒng)中被復(fù)用。在基于構(gòu)件復(fù)用的軟件開(kāi)發(fā)中,軟件由這些預(yù)定義的構(gòu)件裝配而成,就像使用標(biāo)準(zhǔn)零件組裝汽車(chē)一樣。本課件是可編輯的正常PPT課件245.智能模型:智能模型(intelligentmodel,IM)也稱為基于知識(shí)的軟件開(kāi)發(fā)模型,是知識(shí)工程與軟件工程在開(kāi)發(fā)模型上結(jié)合的產(chǎn)物,是以瀑布模型與專家系統(tǒng)的綜合應(yīng)用為基礎(chǔ)建立的模型。該模型通過(guò)系統(tǒng)的知識(shí)和規(guī)則幫助設(shè)計(jì)者認(rèn)識(shí)一個(gè)特定軟件的需求和設(shè)計(jì)。這些專家系統(tǒng)已成為開(kāi)發(fā)過(guò)程的伙伴,并對(duì)其有指導(dǎo)作用。智能模型如圖1-5所示。本課件是可編輯的正常PPT課件軟件開(kāi)發(fā)方法251.3本課件是可編輯的正常PPT課件26軟件開(kāi)發(fā)的目標(biāo)是在規(guī)定的投資和時(shí)間內(nèi),開(kāi)發(fā)出符合用戶需求的高質(zhì)量的軟件。為此需要有成功的開(kāi)發(fā)方法。對(duì)軟件開(kāi)發(fā)方法的重視不夠也是導(dǎo)致軟件危機(jī)產(chǎn)生的原因之一,因此自軟件工程的概念誕生以來(lái),人們就非常重視對(duì)軟件開(kāi)發(fā)方法的研究,已經(jīng)提出了多種軟件開(kāi)發(fā)方法和技術(shù),對(duì)軟件工程及軟件產(chǎn)業(yè)的發(fā)展起到了重要的作用。本課件是可編輯的正常PPT課件271.結(jié)構(gòu)化開(kāi)發(fā)方法:結(jié)構(gòu)化開(kāi)發(fā)方法(structureddevelopingmethod)是一種傳統(tǒng)的軟件開(kāi)發(fā)方法,它以系統(tǒng)工程的思想和工程化的方法為基礎(chǔ),強(qiáng)調(diào)用戶至上、結(jié)構(gòu)化、模塊化,并自頂向下地對(duì)信息系統(tǒng)進(jìn)行分析與設(shè)計(jì)。結(jié)構(gòu)化開(kāi)發(fā)方法的指導(dǎo)思想是“自頂向下,逐步求精”,其基本原則是功能的分解與抽象。它是軟件工程中最早出現(xiàn)的開(kāi)發(fā)方法,相應(yīng)的支持工具也較多,是軟件開(kāi)發(fā)方法中發(fā)展很成熟、應(yīng)用非常廣泛的方法。結(jié)構(gòu)化開(kāi)發(fā)方法由三部分組成:結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化程序設(shè)計(jì)。結(jié)構(gòu)化分析是根據(jù)分解與抽象的原則,按照系統(tǒng)中數(shù)據(jù)處理的流程,通過(guò)數(shù)據(jù)流圖來(lái)建立系統(tǒng)的功能模型,完成需求分析工作。結(jié)構(gòu)化設(shè)計(jì)是根據(jù)模塊獨(dú)立性準(zhǔn)則、軟件結(jié)構(gòu)準(zhǔn)則將數(shù)據(jù)流圖轉(zhuǎn)換為軟件的體系結(jié)構(gòu),用軟件結(jié)構(gòu)圖來(lái)建立系統(tǒng)的物理模型,實(shí)現(xiàn)系統(tǒng)的系統(tǒng)設(shè)計(jì)。結(jié)構(gòu)化程序設(shè)計(jì)是將每個(gè)模塊的功能用相應(yīng)的程序語(yǔ)言的標(biāo)準(zhǔn)控制結(jié)構(gòu)〔順序、選擇和循環(huán)(重復(fù))三種基本控制結(jié)構(gòu)〕表示出來(lái),從而構(gòu)造出程序。本課件是可編輯的正常PPT課件28結(jié)構(gòu)化開(kāi)發(fā)方法的特點(diǎn)如下:●面向數(shù)據(jù)流:特別適用于數(shù)據(jù)處理領(lǐng)域的問(wèn)題,如數(shù)據(jù)庫(kù)管理系統(tǒng)、信息管理系統(tǒng)等。●模塊化:系統(tǒng)被劃分為多個(gè)模塊,每個(gè)模塊負(fù)責(zé)一部分功能,便于維護(hù)和升級(jí)?!裥畔㈦[蔽:每個(gè)模塊內(nèi)部的信息對(duì)其他模塊是隱蔽的,降低了模塊間的耦合度?!衲K獨(dú)立:模塊之間的依賴性最小化,每個(gè)模塊可以獨(dú)立開(kāi)發(fā)和測(cè)試。本課件是可編輯的正常PPT課件292.原型化開(kāi)發(fā)方法:原型化開(kāi)發(fā)方法又稱快速原型法(rapidprototyping),是一種迭代式的軟件開(kāi)發(fā)過(guò)程,其基本思想是花費(fèi)少量代價(jià)建立一個(gè)可運(yùn)行的系統(tǒng),使用戶及早獲得試用和學(xué)習(xí)的機(jī)會(huì)。該方法強(qiáng)調(diào)在開(kāi)發(fā)的早期階段創(chuàng)建可交互的模型或原型,這些原型可以是簡(jiǎn)化的版本,用于演示系統(tǒng)的關(guān)鍵特性和功能,以便用戶和開(kāi)發(fā)者能夠評(píng)估其可行性和實(shí)用性。然后,通過(guò)原型的不斷改進(jìn)和完善,直到滿足用戶的所有需求。原型化方法的核心在于通過(guò)不斷的反饋和迭代來(lái)完善產(chǎn)品。本課件是可編輯的正常PPT課件30與結(jié)構(gòu)化開(kāi)發(fā)方法相比,原型化開(kāi)發(fā)方法具有以下優(yōu)勢(shì):●快速驗(yàn)證想法:通過(guò)原型,開(kāi)發(fā)團(tuán)隊(duì)可以迅速驗(yàn)證核心概念和設(shè)計(jì)選擇,避免在錯(cuò)誤的方向上浪費(fèi)資源?!裨鰪?qiáng)溝通:原型為用戶或非技術(shù)人員提供了一個(gè)直觀的理解工具,幫助他們更好地理解產(chǎn)品的功能和外觀?!窠档惋L(fēng)險(xiǎn):早期的原型測(cè)試有助于識(shí)別潛在的問(wèn)題和風(fēng)險(xiǎn),從而減少后期開(kāi)發(fā)中的成本和時(shí)間損失?!裉岣哂脩魸M意度:用戶參與原型的試用和評(píng)估過(guò)程,可確保產(chǎn)品更加符合用戶的需求和期望。本課件是可編輯的正常PPT課件313.面向?qū)ο蟮拈_(kāi)發(fā)方法:面向?qū)ο螅╫bject-oriented)的開(kāi)發(fā)方法簡(jiǎn)稱OO方法,是20世紀(jì)90年代至今的主流軟件開(kāi)發(fā)方法。面向?qū)ο蟮拈_(kāi)發(fā)方法的基本出發(fā)點(diǎn)是盡可能按照人類認(rèn)識(shí)世界的方法和思維方式來(lái)分析和解決問(wèn)題??陀^世界是由許多具體的事物、事件、概念和規(guī)則組成的,這些均可被看成對(duì)象。面向?qū)ο蟮姆椒ㄕ且詫?duì)象作為最基本的元素,對(duì)象是分析問(wèn)題、解決問(wèn)題的核心。面向?qū)ο蟮姆椒ㄗ非蟮氖擒浖到y(tǒng)對(duì)現(xiàn)實(shí)世界的直接模擬,它將現(xiàn)實(shí)世界中的事物抽象成對(duì)象,直接映射到解空間,以消息驅(qū)動(dòng)對(duì)象實(shí)現(xiàn)操作。面向?qū)ο蟮姆椒ǚ先祟惖恼J(rèn)識(shí)規(guī)律。本課件是可編輯的正常PPT課件32(1)面向?qū)ο蠓椒ǖ慕M成:面向?qū)ο蟮姆椒ò嫦驅(qū)ο蠓治觯╫bject-orientedanalysis,OOA)、面向?qū)ο笤O(shè)計(jì)(object-orienteddesign,OOD)、面向?qū)ο蟪绦蛟O(shè)計(jì)(object-orientedprogramming,OOP)。其中,OOA解決的是“做什么”的問(wèn)題,它的基本任務(wù)是要建立起對(duì)象模型,定義系統(tǒng)的類和對(duì)象及其屬性與操作;定義系統(tǒng)內(nèi)部數(shù)據(jù)的傳送處理;定義對(duì)象狀態(tài)的變化,即時(shí)序。OOD是在需求分析的基礎(chǔ)上,進(jìn)一步解決“如何做”的問(wèn)題,也分為系統(tǒng)設(shè)計(jì)與詳細(xì)設(shè)計(jì)。OOP解決的是系統(tǒng)的實(shí)現(xiàn)問(wèn)題。本課件是可編輯的正常PPT課件33(2)面向?qū)ο缶幊讨允艿綇V泛歡迎,主要得益于它具有的優(yōu)勢(shì):●模塊化:通過(guò)封裝,對(duì)象成為獨(dú)立的模塊,易于理解和修改。●重用性:類和繼承機(jī)制使得代碼可以在多個(gè)項(xiàng)目中重用,提高了開(kāi)發(fā)效率?!褚子诰S護(hù):對(duì)象的責(zé)任分明,修改一個(gè)對(duì)象通常不會(huì)影響到其他對(duì)象?!耢`活性:對(duì)象的多態(tài)性允許程序在運(yùn)行時(shí)動(dòng)態(tài)地決定要調(diào)用的方法,增加了系統(tǒng)的靈活性。面向?qū)ο箝_(kāi)發(fā)方法在軟件工程中具有顯著的優(yōu)勢(shì),但也存在一些需要注意的問(wèn)題,如復(fù)雜度高,對(duì)團(tuán)隊(duì)合作要求高。因此,在實(shí)際應(yīng)用中,應(yīng)根據(jù)項(xiàng)目的需求和團(tuán)隊(duì)的實(shí)際情況來(lái)選擇合適的方法,并充分利用其優(yōu)點(diǎn),盡量克服其缺點(diǎn)。本課件是可編輯的正常PPT課件344.敏捷軟件開(kāi)發(fā)方法:敏捷軟件開(kāi)發(fā)方法又稱敏捷開(kāi)發(fā),其核心思想在于“敏捷”,即能夠快速適應(yīng)變化。在傳統(tǒng)的軟件開(kāi)發(fā)過(guò)程中,往往采用瀑布模型等線性流程,從需求分析、設(shè)計(jì)、編碼、測(cè)試到部署,每個(gè)階段都有嚴(yán)格的順序和界限。然而,這種方式在面對(duì)需求變化時(shí)往往顯得力不從心,常常導(dǎo)致項(xiàng)目延期、成本超支等問(wèn)題。敏捷開(kāi)發(fā)則打破了這種僵化的流程,通過(guò)迭代和增量的方式,不斷交付可用的軟件產(chǎn)品,并根據(jù)用戶的反饋進(jìn)行調(diào)整和優(yōu)化,提倡只編寫(xiě)“必需、夠用”的文檔,而不把過(guò)多的精力放在編寫(xiě)詳盡的文檔上。本課件是可編輯的正常PPT課件35(3)敏捷開(kāi)發(fā)的主要特點(diǎn):●適應(yīng)性:敏捷方法強(qiáng)調(diào)適應(yīng)性而非預(yù)測(cè)性,因而能夠更好地應(yīng)對(duì)需求變化?!衽c客戶合作:與客戶緊密合作,確保產(chǎn)品滿足客戶需求。●交付頻率:通過(guò)頻繁的迭代和交付,可以不斷獲得用戶的反饋并快速改進(jìn)產(chǎn)品,快速交付可運(yùn)行的軟件。●團(tuán)隊(duì)協(xié)作:團(tuán)隊(duì)成員之間進(jìn)行緊密的合作,共享信息,共同解決問(wèn)題。本課件是可編輯的正常PPT課件軟件工具與集成化開(kāi)發(fā)環(huán)境361.4本課件是可編輯的正常PPT課件37軟件工具是用于支持和輔助軟件開(kāi)發(fā)、運(yùn)行、維護(hù)、管理等活動(dòng)的特殊軟件。使用功能強(qiáng)大、方便適用的軟件工具可以降低軟件開(kāi)發(fā)和維護(hù)的成本,減輕開(kāi)發(fā)人員的勞動(dòng)強(qiáng)度,提高軟件生產(chǎn)的效率,改善軟件產(chǎn)品的質(zhì)量。因此,軟件工具是軟件工程研究中的重要內(nèi)容之一。1.軟件工具軟件工具種類繁多,涉及面廣,按軟件開(kāi)發(fā)過(guò)程可分為軟件開(kāi)發(fā)工具、軟件維護(hù)工具、軟件管理和支持工具三大類。本課件是可編輯的正常PPT課件38(1)軟件開(kāi)發(fā)工具按軟件開(kāi)發(fā)階段可分為分析工具、設(shè)計(jì)工具、編碼工具和測(cè)試工具?!穹治龉ぞ撸河糜谛枨蠓治鲭A段,輔助系統(tǒng)分析員完成軟件系統(tǒng)需求分析的活動(dòng),包括根據(jù)需求的定義,生成完整、準(zhǔn)確、一致的需求分析說(shuō)明?!裨O(shè)計(jì)工具:用于幫助軟件設(shè)計(jì)人員完成軟件系統(tǒng)的設(shè)計(jì)活動(dòng)的工具?!窬幋a工具:用于編程階段的工具,包括語(yǔ)言程序、編譯程序、解釋程序等。這些編碼工具可以是獨(dú)立的應(yīng)用程序,也可以是一個(gè)集成的程序開(kāi)發(fā)環(huán)境,集成了源代碼的編輯、編譯和鏈接程序,以及用于源代碼排錯(cuò)的調(diào)試程序和可供發(fā)布產(chǎn)品的發(fā)布程序?!駵y(cè)試工具:用于測(cè)試階段的工具。軟件的測(cè)試包含很多方面,從不同的角度有不同的劃分,如單元測(cè)試、集成測(cè)試、功能測(cè)試、性能測(cè)試、安全測(cè)試等。不同的測(cè)試的關(guān)注點(diǎn)不同,因而測(cè)試工具也有很多種,不同的測(cè)試工具實(shí)現(xiàn)的測(cè)試功能不同。本課件是可編輯的正常PPT課件39(2)軟件維護(hù)工具軟件維護(hù)的主要任務(wù)是在軟件產(chǎn)品投入運(yùn)行以后,糾正軟件開(kāi)發(fā)過(guò)程中未發(fā)現(xiàn)的錯(cuò)誤,改進(jìn)和完善軟件的功能和性能,以適應(yīng)用戶新的需求,延長(zhǎng)軟件產(chǎn)品的使用壽命。這一階段的軟件工具包括版本控制工具、文檔管理工具、逆向工程工具和再工程工具。本課件是可編輯的正常PPT課件40●版本控制工具:用于存儲(chǔ)、更新、恢復(fù)和管理某個(gè)軟件的多個(gè)版本。常用的版本控制管理工具有VisualSourceSafe(VSS)、git、SVN、PingCode、ONES等。●文檔管理工具:用于對(duì)軟件過(guò)程中形成的文檔進(jìn)行分析、組織、維護(hù)和管理,這對(duì)提高軟件的質(zhì)量和軟件維護(hù)具有重要的意義。常用的文檔管理工具軟件有Confluence、ONESWiki等。本課件是可編輯的正常PPT課件41●逆向工程工具:軟件的逆向工程是指對(duì)已有的軟件進(jìn)行分析,獲取比源代碼更高級(jí)的表現(xiàn)形式,如提取出數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)、程序總體設(shè)計(jì)等各種有用的軟件開(kāi)發(fā)信息。早期的逆向工程工具有反匯編工具、反編譯工具等。現(xiàn)在的逆向工程工具能夠分析出高級(jí)程序設(shè)計(jì)語(yǔ)言的源程序,恢復(fù)程序的控制結(jié)構(gòu)、流程圖、PAD圖等更高級(jí)的抽象信息,為軟件的理解和維護(hù)提供方便。常用的逆向工程工具有IDAPro。●再工程工具:軟件的再工程是指在通過(guò)逆向工程獲得軟件設(shè)計(jì)等信息的基礎(chǔ)上,利用這些信息修改或重構(gòu)軟件系統(tǒng),增加新的功能和改進(jìn)性能。再工程工具可以用來(lái)輔助軟件開(kāi)發(fā)人員重構(gòu)一個(gè)功能和性能更為完善的軟件系統(tǒng)。再工程工具的使用主要集中在代碼重構(gòu)、程序結(jié)構(gòu)重構(gòu)和數(shù)據(jù)結(jié)構(gòu)重構(gòu)等方面。本課件是可編輯的正常PPT課件42(3)軟件管理和支持工具軟件產(chǎn)品管理與支持工具用于確保軟件產(chǎn)品的質(zhì)量和軟件產(chǎn)品的開(kāi)發(fā)效率,這類工具主要包括項(xiàng)目管理工具、配置管理工具、軟件評(píng)價(jià)工具和風(fēng)險(xiǎn)分析工具?!耥?xiàng)目管理工具:輔助軟件管理人員進(jìn)行項(xiàng)目計(jì)劃、成本估算、資源分配、質(zhì)量監(jiān)控等。常用的項(xiàng)目管理工具有MSProject、ONES、PingCode等?!衽渲霉芾砉ぞ撸簩?duì)軟件配置項(xiàng)進(jìn)行標(biāo)識(shí)、版本控制、變化控制的工具。常用的配置管理工具有VisualSourceSafe、Git、SVN等。●軟件評(píng)價(jià)工具:對(duì)軟件質(zhì)量進(jìn)行評(píng)價(jià)的工具。如ISO軟件質(zhì)量度量模型、McCall軟件度量模型等。●風(fēng)險(xiǎn)分析工具:風(fēng)險(xiǎn)管理對(duì)于一個(gè)大型項(xiàng)目是極為重要的。風(fēng)險(xiǎn)分析工具可以通過(guò)提供風(fēng)險(xiǎn)標(biāo)示和分析,使項(xiàng)目管理者能有效地對(duì)軟件開(kāi)發(fā)過(guò)程中出現(xiàn)的風(fēng)險(xiǎn)進(jìn)行控制和規(guī)避。本課件是可編輯的正常PPT課件432.集成化開(kāi)發(fā)環(huán)境:現(xiàn)在的軟件開(kāi)發(fā)工具往往不是單一功能的,而是按照一定的開(kāi)發(fā)模式或者開(kāi)發(fā)方法組織起來(lái)、在一定的領(lǐng)域內(nèi)使用的一個(gè)輔助軟件開(kāi)發(fā)的工具集合,這個(gè)工具集合就是“集成化開(kāi)發(fā)環(huán)境”。例如,MicrosoftVisualStudio、Eclipse、PyCharm等都是編程人員熟悉的集成開(kāi)發(fā)環(huán)境。集成化開(kāi)發(fā)環(huán)境也有一些不同的叫法,如“工具箱”“工具盒”“軟件支撐環(huán)境”“軟件工程環(huán)境”等,這些指的都是集成化開(kāi)發(fā)環(huán)境。軟件工程工具和軟件工程的理論是相輔相成的,正確地使用這些工具,需要掌握軟件工程的基本概念、原理、方法和技術(shù)。利用這些工具輔助軟件開(kāi)發(fā),將提高軟件開(kāi)發(fā)的效率和質(zhì)量,同時(shí)也會(huì)讓使用者加深對(duì)軟件工程的概念、原理、方法和技術(shù)的認(rèn)識(shí)。本課件是可編輯的正常PPT課件謝謝觀看!模塊2軟件可行性分析與需求分析項(xiàng)目可行性分析462.1本課件是可編輯的正常PPT課件472.1.1可行性分析的意義和任務(wù)軟件工程中的可行性分析是指在軟件開(kāi)發(fā)之前對(duì)項(xiàng)目的可行性進(jìn)行評(píng)估,以確定項(xiàng)目是否值得投資時(shí)間和資源去開(kāi)發(fā)。可行性分析是軟件工程中的一個(gè)重要環(huán)節(jié),它通常在項(xiàng)目啟動(dòng)初期進(jìn)行,目的是評(píng)估項(xiàng)目是否可行,是否能夠滿足預(yù)期的目標(biāo)和需求,分析后得出項(xiàng)目是否可行的結(jié)論。可行性分析的結(jié)論一般有以下三種:●可行,建議項(xiàng)目可以繼續(xù)進(jìn)入下一階段(如需求分析或設(shè)計(jì)階段)?!窕究尚校瑢?duì)項(xiàng)目要求和方案做必要修改后是可行的?!癫豢尚?,不立項(xiàng)或終止項(xiàng)目。本課件是可編輯的正常PPT課件482.1.1可行性分析的意義和任務(wù)可行性分析這一階段的分析結(jié)果將是決策的依據(jù),將決定項(xiàng)目是否繼續(xù)進(jìn)行,或者是否需要調(diào)整項(xiàng)目的范圍、目標(biāo)或者方案。通過(guò)可行性分析,可以在項(xiàng)目早期就識(shí)別潛在的風(fēng)險(xiǎn)和問(wèn)題,從而避免在后期投入更多資源后才發(fā)現(xiàn)項(xiàng)目不可行而造成的比較大的損失??尚行苑治龅谋举|(zhì)是解決“做還是不做”的問(wèn)題,也就是對(duì)“實(shí)施與否”做出理性且科學(xué)的決策。它的核心目標(biāo)是在盡可能短的時(shí)間內(nèi)以盡可能小的成本精準(zhǔn)判斷問(wèn)題能否得到有效解決。值得注意的是,此階段并不追求直接解決問(wèn)題,而是評(píng)估該問(wèn)題是否值得去解決。本課件是可編輯的正常PPT課件492.1.2可行性分析的要素1.經(jīng)濟(jì)可行性:經(jīng)濟(jì)可行性主要是通過(guò)對(duì)項(xiàng)目開(kāi)發(fā)成本的估算和取得效益的評(píng)估,確定要開(kāi)發(fā)的項(xiàng)目是否值得投資開(kāi)發(fā)。經(jīng)濟(jì)可行性分析是可行性分析中的一個(gè)重要組成部分,它主要關(guān)注項(xiàng)目的經(jīng)濟(jì)效益和成本效率,目的是評(píng)估項(xiàng)目在整個(gè)生命周期內(nèi)(包括開(kāi)發(fā)、實(shí)施和維護(hù)階段)的財(cái)務(wù)狀況是否合理。本課件是可編輯的正常PPT課件502.1.2可行性分析的要素經(jīng)濟(jì)可行性分析通常涉及以下幾個(gè)關(guān)鍵方面:●成本估計(jì):估算項(xiàng)目的總成本,包括開(kāi)發(fā)成本、運(yùn)營(yíng)成本、維護(hù)成本以及可能的風(fēng)險(xiǎn)成本等?!袷找骖A(yù)測(cè):預(yù)測(cè)項(xiàng)目實(shí)施后能夠帶來(lái)的收益,包括直接收益(如銷售收入)和間接收益(如提高效率、降低其他成本)兩種。●投資回報(bào)率:即計(jì)算項(xiàng)目帶來(lái)的收益與項(xiàng)目成本之間的比率,以評(píng)估項(xiàng)目的盈利能力?!耧L(fēng)險(xiǎn)評(píng)估:分析可能的風(fēng)險(xiǎn)因素及其對(duì)成本和收益的影響,包括市場(chǎng)風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、法律風(fēng)險(xiǎn)等?!褙?cái)務(wù)分析:包括現(xiàn)金流量分析、凈現(xiàn)值分析和盈虧平衡點(diǎn)分析等,以評(píng)估項(xiàng)目的財(cái)務(wù)可行性。其中,盈虧平衡點(diǎn)分析很關(guān)鍵。本課件是可編輯的正常PPT課件512.1.2可行性分析的要素2.技術(shù)可行性:技術(shù)可行性是指通過(guò)評(píng)估現(xiàn)有的技術(shù)條件、技術(shù)水平、開(kāi)發(fā)工具、人員能力等因素,判斷在給定的時(shí)間內(nèi)解決軟件問(wèn)題的可能性和現(xiàn)實(shí)性。技術(shù)可行性是可行性分析的關(guān)鍵組成部分,它主要關(guān)注項(xiàng)目是否具有可實(shí)施的技術(shù)方案,以及當(dāng)前技術(shù)是否能夠支持項(xiàng)目的開(kāi)發(fā)和實(shí)現(xiàn)。在進(jìn)行技術(shù)分析時(shí),有以下幾方面的問(wèn)題需要引起注意:本課件是可編輯的正常PPT課件522.1.2可行性分析的要素(1)全面考慮技術(shù)問(wèn)題:軟件開(kāi)發(fā)過(guò)程涉及多方面的技術(shù),如軟件開(kāi)發(fā)方法、軟件平臺(tái)、網(wǎng)絡(luò)結(jié)構(gòu)、軟件結(jié)構(gòu)、輸入輸出技術(shù)等,應(yīng)全面、客觀地分析軟件開(kāi)發(fā)所涉及的技術(shù)以及這些技術(shù)的成熟度和實(shí)現(xiàn)可能。(2)盡可能采用成熟的技術(shù):成熟技術(shù)是被多人用過(guò)并被反復(fù)證明行之有效的技術(shù),因此采用成熟技術(shù)一般具有較高的成功率。另外,成熟技術(shù)經(jīng)過(guò)長(zhǎng)時(shí)間、大范圍的使用、補(bǔ)充和優(yōu)化,其精細(xì)程度、優(yōu)化程度、可操作性、經(jīng)濟(jì)性一般都要比新技術(shù)好。(3)著眼于具體的開(kāi)發(fā)環(huán)境和開(kāi)發(fā)人員:盡管許多技術(shù)總體上是成熟和可行的,但是如果自己的開(kāi)發(fā)隊(duì)伍中沒(méi)有人掌握這種技術(shù),項(xiàng)目組又沒(méi)有引進(jìn)具備這種技術(shù)的人員,或者現(xiàn)有的技術(shù)人員的技術(shù)水平不足以支撐采用這種技術(shù),那么這種技術(shù)對(duì)系統(tǒng)的開(kāi)發(fā)來(lái)說(shuō)就是不可行的。本課件是可編輯的正常PPT課件532.1.2可行性分析的要素3.社會(huì)可行性:社會(huì)可行性包含的內(nèi)容比較廣泛,它需要從市場(chǎng)、法律、健康、安全、環(huán)境以及經(jīng)濟(jì)和社會(huì)可持續(xù)發(fā)展等社會(huì)因素分析軟件開(kāi)發(fā)的可能性和現(xiàn)實(shí)性。社會(huì)可行性分析中包含兩個(gè)重要的因素:市場(chǎng)與法律。市場(chǎng)又分為未成熟的市場(chǎng)、成熟的市場(chǎng)和將要消亡的市場(chǎng)。涉足未成熟的市場(chǎng)要冒很大的風(fēng)險(xiǎn),要盡可能準(zhǔn)確地估計(jì)潛在的市場(chǎng)有多大,自己能占多少份額,多長(zhǎng)時(shí)間能實(shí)現(xiàn),最終的報(bào)償是否能表明所冒的開(kāi)發(fā)風(fēng)險(xiǎn)是值得的。對(duì)于成熟的市場(chǎng),雖然風(fēng)險(xiǎn)不高,但能創(chuàng)造的利潤(rùn)也將比較少。在法律方面需要考慮的是,軟件的開(kāi)發(fā)和配置是否會(huì)有違法的責(zé)任風(fēng)險(xiǎn)?對(duì)責(zé)任問(wèn)題是否給了足夠的保護(hù)?是否存在潛在的破壞性問(wèn)題?對(duì)于這些方面的問(wèn)題,必要時(shí)應(yīng)咨詢知識(shí)產(chǎn)權(quán)和相關(guān)方面的法律顧問(wèn),以免給企業(yè)帶來(lái)不必要的損失。本課件是可編輯的正常PPT課件542.1.2可行性分析的要素4.操作可行性:操作可行性需要評(píng)估系統(tǒng)的用戶界面、功能設(shè)計(jì)、操作流程等是否符合用戶的實(shí)際需求和操作習(xí)慣,并要考慮系統(tǒng)的運(yùn)行環(huán)境、培訓(xùn)需求和日常維護(hù)等因素,以確保軟件投入使用后能夠順利被用戶接受和有效使用。分析操作可行性必須立足于實(shí)際操作和使用軟件系統(tǒng)的用戶環(huán)境。通過(guò)對(duì)操作可行性的深入分析,可以幫助組織避免不必要的成本和風(fēng)險(xiǎn),提高項(xiàng)目成功的概率,確保新系統(tǒng)能夠有效地支持組織的業(yè)務(wù)流程和長(zhǎng)期發(fā)展目標(biāo)。本課件是可編輯的正常PPT課件552.1.3可行性分析的過(guò)程1.確定系統(tǒng)規(guī)模和目標(biāo):在這個(gè)過(guò)程中,分析員應(yīng)該訪問(wèn)一些關(guān)鍵的人員,咨詢一些相關(guān)業(yè)務(wù)方面的專家,并仔細(xì)閱讀和分析相關(guān)的材料,然后進(jìn)一步復(fù)查問(wèn)題定義階段編寫(xiě)的關(guān)于規(guī)模和目標(biāo)的報(bào)告書(shū),確認(rèn)系統(tǒng)的規(guī)模和目標(biāo)(對(duì)其中含糊不清或不確切的地方加以改正),清晰地描述目標(biāo)系統(tǒng)的所有限制和約束,以確保正在分析的問(wèn)題確實(shí)是要解決的問(wèn)題。2.研究目前正在使用的系統(tǒng):研究目前正在使用的系統(tǒng),對(duì)新系統(tǒng)的開(kāi)發(fā)有很大的幫助。由于現(xiàn)有系統(tǒng)處于正在使用的狀態(tài)中,分析它便可以知道它具有什么功能、存在什么問(wèn)題、所需要的費(fèi)用等,這些是新系統(tǒng)開(kāi)發(fā)的重要信息來(lái)源。3.導(dǎo)出新系統(tǒng)的高層邏輯模型:通過(guò)研究現(xiàn)有系統(tǒng)的工作,逐漸明確新系統(tǒng)的功能、處理流程以及所受的約束,然后使用建立邏輯模型的工具——數(shù)據(jù)流圖和數(shù)據(jù)字典描述出數(shù)據(jù)在系統(tǒng)中的流動(dòng)和處理情況,把新系統(tǒng)描繪得更加清晰準(zhǔn)確。本課件是可編輯的正常PPT課件562.1.3可行性分析的過(guò)程4.重新定義問(wèn)題:事實(shí)上,分析員提出的目標(biāo)系統(tǒng)的邏輯模型表達(dá)了新系統(tǒng)必須做什么的看法,但用戶的觀點(diǎn)可能不一定與之相同。因此,分析員和用戶必須以數(shù)據(jù)流圖和數(shù)據(jù)字典為基礎(chǔ)來(lái)討論問(wèn)題定義、工程規(guī)模和目標(biāo),以改正分析員對(duì)問(wèn)題的誤解,增加用戶曾經(jīng)遺漏的某些要求。5.導(dǎo)出和評(píng)價(jià)供選擇的方案:經(jīng)過(guò)上述幾步后,分析員得出了其所建議的高層邏輯模型,接下來(lái)就應(yīng)從技術(shù)角度出發(fā),提出實(shí)現(xiàn)高層邏輯模型的不同方案。也就是說(shuō),根據(jù)這個(gè)模型導(dǎo)出幾個(gè)較高層次的物理解法(方案)供比較和選擇。6.推薦行動(dòng)方針:在這一步中,分析員應(yīng)該根據(jù)可行性分析的結(jié)果來(lái)評(píng)估是否繼續(xù)進(jìn)行這項(xiàng)工程的開(kāi)發(fā)。如果認(rèn)為這項(xiàng)工程值得繼續(xù)開(kāi)發(fā),那么分析員應(yīng)該選擇一個(gè)最好的方案,并詳細(xì)地闡述選擇這個(gè)方案的理由。分析員的建議及其所闡述的理由會(huì)成為使用部門(mén)決定是否采用這一方案的決策依據(jù)。本課件是可編輯的正常PPT課件572.1.3可行性分析的過(guò)程7.草擬開(kāi)發(fā)計(jì)劃:如果分析員推薦了行動(dòng)方針,使用部門(mén)也決定開(kāi)發(fā)該系統(tǒng),那么接下來(lái)分析員就應(yīng)為推薦的方案草擬一份開(kāi)發(fā)計(jì)劃。草擬開(kāi)發(fā)計(jì)劃需要估計(jì)各種開(kāi)發(fā)人員、開(kāi)發(fā)資源和開(kāi)發(fā)資金的需求情況,在開(kāi)發(fā)計(jì)劃中指明它們?cè)谑裁磿r(shí)候使用,使用多長(zhǎng)時(shí)間以及各種情況下的需要量;同時(shí)給出需求分析階段的詳細(xì)進(jìn)度表和成本估計(jì)。8.編寫(xiě)文檔提交審查:將上述可行性分析的各個(gè)步驟的工作結(jié)果編寫(xiě)成詳細(xì)的文檔,請(qǐng)用戶和有關(guān)部門(mén)的負(fù)責(zé)人仔細(xì)核對(duì)和審查,以決定是否繼續(xù)投資該工程以及是否接受分析員所推薦的方案。當(dāng)審查完畢后,就完成了整個(gè)可行性分析。本課件是可編輯的正常PPT課件582.1.4系統(tǒng)流程圖與工作流程在進(jìn)行可行性分析過(guò)程中,分析員首先要了解原有系統(tǒng)的工作流程,或是企業(yè)的手工工作流程,通過(guò)對(duì)流程的了解,為新系統(tǒng)確定要實(shí)現(xiàn)的功能奠定基礎(chǔ),然后要以概括的形式描述現(xiàn)有系統(tǒng)的高層邏輯模型。系統(tǒng)流程圖是描繪物理模型的傳統(tǒng)工具,它用圖形符號(hào)來(lái)表示系統(tǒng)中的各個(gè)元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫(kù)、文件、設(shè)備等,并表達(dá)出系統(tǒng)中各個(gè)元素之間信息流動(dòng)的情況。1.系統(tǒng)流程圖的符號(hào)系統(tǒng)流程圖的符號(hào)如表2-1所示。本課件是可編輯的正常PPT課件592.1.4系統(tǒng)流程圖與工作流程本課件是可編輯的正常PPT課件602.1.4系統(tǒng)流程圖與工作流程2.系統(tǒng)流程圖分析實(shí)例下面以圖書(shū)館的借書(shū)流程為例,說(shuō)明系統(tǒng)流程圖的使用方法。某圖書(shū)館借書(shū)流程如下:首先讀者要出示證件,驗(yàn)明證件后才能進(jìn)入圖書(shū)館;讀者在查詢室內(nèi)通過(guò)借閱卡或利用終端檢索圖書(shū)數(shù)據(jù)庫(kù)來(lái)查找自己所需的圖書(shū),找到所需圖書(shū)并填好索書(shū)單后到服務(wù)臺(tái)借書(shū);如果所借圖書(shū)還有剩余,管理員根據(jù)填好的借書(shū)單從庫(kù)房中取出圖書(shū)交與讀者。圖書(shū)館借書(shū)系統(tǒng)流程圖如圖2-1所示。本課件是可編輯的正常PPT課件需求分析612.2本課件是可編輯的正常PPT課件622.2.1需求分析的概念2.系統(tǒng)需求分析是指開(kāi)發(fā)人員準(zhǔn)確理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,并將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說(shuō)明)的過(guò)程。需求分析雖處于軟件開(kāi)發(fā)過(guò)程的開(kāi)始階段,但它對(duì)于整個(gè)軟件開(kāi)發(fā)過(guò)程以及軟件產(chǎn)品質(zhì)量是至關(guān)重要的。在計(jì)算機(jī)發(fā)展的早期,所求解問(wèn)題的規(guī)模較小,需求分析因此常被忽視。隨著軟件系統(tǒng)復(fù)雜性的提高及規(guī)模的擴(kuò)大,需求分析在軟件開(kāi)發(fā)中所處的地位愈加突出,同時(shí)也愈加困難,它的難點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:本課件是可編輯的正常PPT課件632.2.2需求分析的內(nèi)容●問(wèn)題的復(fù)雜性。這是由于用戶需求所涉及的因素繁多而引起的,如運(yùn)行環(huán)境和系統(tǒng)功能等?!窠涣髡系K。這是由于需求分析所涉及人員較多而引起的,所涉及的人員可能包括軟件系統(tǒng)的用戶、問(wèn)題領(lǐng)域?qū)<摇⑿枨蠊こ處熀晚?xiàng)目管理員等。這些人具備不同的背景知識(shí),處于不同的角度,扮演不同角色,造成了相互之間交流的困難。●不完備性和不一致性。由于各種原因,用戶對(duì)問(wèn)題的陳述往往不完備,其各方面的需求還可能存在著矛盾,需求分析要消除這些矛盾,形成完備及一致的定義?!裥枨笠鬃冃?。用戶需求的變動(dòng)是一個(gè)極為普遍的問(wèn)題,即使是部分變動(dòng),也往往會(huì)影響到需求分析的全部,導(dǎo)致不一致性和不完備性。本課件是可編輯的正常PPT課件642.2.3需求分析的任務(wù)1.問(wèn)題識(shí)別:雙方確定對(duì)問(wèn)題的綜合需求,這些需求主要包括①功能需求:所開(kāi)發(fā)軟件必須具備什么樣的功能,這是最重要的。②性能需求:待開(kāi)發(fā)軟件的技術(shù)性能指標(biāo),如存儲(chǔ)容量、運(yùn)行時(shí)間限制等。③環(huán)境需求:軟件運(yùn)行時(shí)所需要的軟件和硬件(如機(jī)型、外部設(shè)備、操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)等)的要求。④用戶界面需求:人機(jī)交互方式、輸入/輸出數(shù)據(jù)格式等方面的需求。另外,還有可靠性、安全性、保密性、可移植性、可維護(hù)性等方面的需求。這些需求一般通過(guò)雙方交流、調(diào)查研究來(lái)獲取,并達(dá)到共同的理解。本課件是可編輯的正常PPT課件652.2.3需求分析的任務(wù)2.分析與綜合,導(dǎo)出軟件的邏輯模型:分析人員對(duì)獲取的需求進(jìn)行一致性分析檢查,在分析、綜合中逐步細(xì)化軟件功能,并劃分成若干個(gè)子功能。這里也包括對(duì)數(shù)據(jù)域進(jìn)行分解,并分配到各個(gè)子功能上,以確定系統(tǒng)的構(gòu)成和主要成分。然后用圖文結(jié)合的形式,建立起新系統(tǒng)的邏輯模型。3.編寫(xiě)文檔需求分析階段需編寫(xiě)若干文檔,這些文檔主要包括:①編寫(xiě)“需求規(guī)格說(shuō)明”,把雙方共同的理解與分析結(jié)果用規(guī)范的方式描述出來(lái),作為今后各項(xiàng)工作的基礎(chǔ)。②編寫(xiě)初步用戶使用手冊(cè),著重反映被開(kāi)發(fā)軟件的用戶功能界面和用戶使用的具體要求,用戶手冊(cè)能夠促使分析人員從用戶使用的觀點(diǎn)考慮軟件的開(kāi)發(fā)。③編寫(xiě)確認(rèn)測(cè)試計(jì)劃,作為今后確認(rèn)和驗(yàn)收的依據(jù)。④修改完善軟件開(kāi)發(fā)計(jì)劃。在需求分析階段對(duì)待開(kāi)發(fā)的系統(tǒng)有了進(jìn)一步的了解,因此能更準(zhǔn)確地估計(jì)開(kāi)發(fā)成本、進(jìn)度和資源要求,對(duì)原計(jì)劃進(jìn)行適當(dāng)修正。本課件是可編輯的正常PPT課件662.2.4需求分析的過(guò)程1.需求獲取需求獲取就是收集并明確用戶需求的過(guò)程,即開(kāi)發(fā)方人員從功能、性能、界面和運(yùn)行環(huán)境等多個(gè)方面識(shí)別目標(biāo)系統(tǒng)要解決哪些問(wèn)題、要滿足哪些限制條件。這一步驟中需要與用戶進(jìn)行深入溝通,了解用戶的業(yè)務(wù)流程、工作環(huán)境以及期望解決的問(wèn)題等。常見(jiàn)的需求獲取方法包括:●面談:通過(guò)直接與用戶或利益相關(guān)者交談來(lái)收集信息?!袷占Y料:就是將用戶日常業(yè)務(wù)中所用的計(jì)劃、原始憑據(jù)、單據(jù)和報(bào)表等原始資料收集起來(lái),以便對(duì)它們進(jìn)行分類研究。●問(wèn)卷調(diào)查:設(shè)計(jì)問(wèn)卷發(fā)放給用戶填寫(xiě),以獲取用戶的反饋信息。●觀察法:觀察用戶的工作環(huán)境和操作過(guò)程,發(fā)現(xiàn)潛在需求?!裨头ǎ簶?gòu)建簡(jiǎn)單的工作模型展示給用戶,根據(jù)用戶的反饋調(diào)整模型,逐步明確需求。●研討會(huì):邀請(qǐng)用戶、分析師等相關(guān)人員參與,共同討論并確定需求。本課件是可編輯的正常PPT課件672.2.4需求分析的過(guò)程2.分析建模:獲得需求后,就應(yīng)該對(duì)問(wèn)題進(jìn)行分析抽象,并在此基礎(chǔ)上建立目標(biāo)系統(tǒng)模型。模型就是為了理解事物而對(duì)事物做出的一種抽象,通常由一組符號(hào)和組織這些符號(hào)的規(guī)則組成。對(duì)待開(kāi)發(fā)系統(tǒng)建立各種角度的模型,有助于人們更好地理解問(wèn)題。通常,從不同角度描述或理解軟件系統(tǒng),就需要不同的模型。常用的建模方法有數(shù)據(jù)流圖、實(shí)體聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、控制流圖、用例圖、類圖、對(duì)象圖等。本課件是可編輯的正常PPT課件682.2.4需求分析的過(guò)程3.需求描述:需求描述指編制需求分析階段的文檔。一般情況下,對(duì)于復(fù)雜的軟件系統(tǒng),需求階段會(huì)產(chǎn)生三個(gè)文檔:系統(tǒng)定義文檔(用戶需求報(bào)告)、系統(tǒng)需求文檔(系統(tǒng)需求規(guī)格說(shuō)明)、軟件需求文檔(軟件需求規(guī)格說(shuō)明)。而對(duì)于簡(jiǎn)單的軟件系統(tǒng)而言,需求階段只需要編制軟件需求文檔就可以了。軟件需求規(guī)格說(shuō)明(softwarerequirementspecification,SRS)主要描述軟件部分的需求,它從開(kāi)發(fā)人員的角度對(duì)目標(biāo)系統(tǒng)的業(yè)務(wù)模型、功能模型、數(shù)據(jù)模型、行為模型等內(nèi)容進(jìn)行描述,作為后續(xù)的軟件設(shè)計(jì)和測(cè)試的重要依據(jù)。需求階段的輸出文檔應(yīng)該具有清晰性、無(wú)二義性和準(zhǔn)確性,并且能夠全面地、確切地描述用戶需求。本課件是可編輯的正常PPT課件692.2.4需求分析的過(guò)程4.需求驗(yàn)證:需求分析階段的工作成果是后續(xù)軟件開(kāi)發(fā)的重要基礎(chǔ)。為了提高軟件開(kāi)發(fā)的質(zhì)量,降低軟件開(kāi)發(fā)的成本,必須對(duì)需求的正確性進(jìn)行嚴(yán)格的驗(yàn)證,以確保需求的一致性、完整性、正確性和有效性。同時(shí),需求驗(yàn)證也是確保需求變更可回溯的重要手段。需求驗(yàn)證的方法主要有以下幾種?!裢性u(píng)審:由項(xiàng)目團(tuán)隊(duì)成員互相審查需求文檔?!駥<以u(píng)審:邀請(qǐng)領(lǐng)域內(nèi)的專家對(duì)需求進(jìn)行評(píng)審?!裨万?yàn)證:構(gòu)建系統(tǒng)原型讓用戶進(jìn)行測(cè)試?!衲M測(cè)試:模擬實(shí)際應(yīng)用場(chǎng)景進(jìn)行測(cè)試。在需求分析過(guò)程中,以上4個(gè)步驟是一個(gè)不斷迭代的過(guò)程,只有需求分析全面、系統(tǒng)、準(zhǔn)確無(wú)誤,才能開(kāi)發(fā)出令用戶滿意的系統(tǒng)。圖2-2描述了需求分析過(guò)程中迭代優(yōu)化的過(guò)程。本課件是可編輯的正常PPT課件702.2.5需求分析模型需求分析模型是準(zhǔn)確地描述系統(tǒng)需求的圖形化工具,在軟件工程中扮演著至關(guān)重要的角色,它為開(kāi)發(fā)者提供了一種系統(tǒng)地理解和表達(dá)用戶需求的方法。需求分析建模的方法包括結(jié)構(gòu)化分析建模和面向?qū)ο蠓治鼋?,這兩種建模方法如圖2-3所示。本課件是可編輯的正常PPT課件712.2.5需求分析模型結(jié)構(gòu)化分析導(dǎo)出的模型包括數(shù)據(jù)模型、功能模型和行為模型。其中,數(shù)據(jù)模型描述系統(tǒng)工作前的數(shù)據(jù)來(lái)自何處,工作中的數(shù)據(jù)暫存在什么地方,工作后的數(shù)據(jù)放在何處,以及這些數(shù)據(jù)之間的關(guān)聯(lián),即對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行定義。功能模型描述系統(tǒng)能做什么,即對(duì)系統(tǒng)的功能、性能、接口和界面進(jìn)行定義。行為模型描述系統(tǒng)在何時(shí)、何地、由何角色、按何種業(yè)務(wù)規(guī)則去實(shí)施,以及實(shí)施的步驟或流程,即對(duì)系統(tǒng)的操作流程進(jìn)行定義。圖2-4描述了結(jié)構(gòu)化分析中各種模型之間的關(guān)系。本課件是可編輯的正常PPT課件722.2.5需求分析模型面向?qū)ο蠓治鼋,F(xiàn)在一般采用統(tǒng)一建模語(yǔ)言(unifiedmodelinglanguage,UML)來(lái)實(shí)現(xiàn)。UML是一種基于面向?qū)ο?、定義良好、易于表達(dá)、功能強(qiáng)大且普遍實(shí)用的建模語(yǔ)言。它用模型來(lái)描述系統(tǒng)的結(jié)構(gòu)、靜態(tài)特征及動(dòng)態(tài)特征,從不同的視角為系統(tǒng)建模,形成了不同的視圖(view)。OOA中主要用到的模型有:對(duì)象模型、動(dòng)態(tài)模型和功能模型,這三種模型分別關(guān)注系統(tǒng)的靜態(tài)結(jié)構(gòu)、動(dòng)態(tài)行為及數(shù)據(jù)流變化等方面。本課件是可編輯的正常PPT課件732.2.5需求分析模型●對(duì)象模型(objectmodel):主要描述系統(tǒng)的靜態(tài)結(jié)構(gòu),如類和對(duì)象的組成、屬性及其關(guān)系等,用來(lái)表示系統(tǒng)的靜態(tài)視圖?!駝?dòng)態(tài)模型(dynamicmodel):主要描述系統(tǒng)的動(dòng)態(tài)行為,即系統(tǒng)隨時(shí)間變化的行為,包括狀態(tài)圖、事件追蹤(eventtrace)等,用于捕捉對(duì)象之間的消息交互、狀態(tài)轉(zhuǎn)換等內(nèi)容?!窆δ苣P停╢unctionalmodel):主要描述系統(tǒng)的數(shù)據(jù)處理邏輯,即數(shù)據(jù)如何在系統(tǒng)中流動(dòng)和變化。通過(guò)數(shù)據(jù)流圖等方式來(lái)表達(dá)系統(tǒng)輸入輸出之間的一系列變換過(guò)程。本課件是可編輯的正常PPT課件數(shù)據(jù)流分析技術(shù)742.3本課件是可編輯的正常PPT課件752.3.1分析方法1.結(jié)構(gòu)化分析方法:結(jié)構(gòu)化分析(structuredanalysis)方法簡(jiǎn)稱SA方法,是一種面向數(shù)據(jù)流的需求分析方法,適用于分析大型數(shù)據(jù)處理系統(tǒng),是一種被廣泛使用的簡(jiǎn)單又實(shí)用的方法。結(jié)構(gòu)化分析方法的基本思想是自頂向下逐層分解。圖2-5為對(duì)一個(gè)問(wèn)題的自頂向下逐層分解的示意圖。本課件是可編輯的正常PPT課件762.3.1分析方法2.描述工具SA方法利用圖形等半形式化的描述方式表達(dá)需求,簡(jiǎn)明易懂,可用它們形成需求說(shuō)明中的主要部分。這些描述工具有:●數(shù)據(jù)流圖。●數(shù)據(jù)字典。●描述加工邏輯的結(jié)構(gòu)化語(yǔ)言、判定表、判定樹(shù)。本課件是可編輯的正常PPT課件772.3.2數(shù)據(jù)流圖1.數(shù)據(jù)流圖簡(jiǎn)述及其基本符號(hào):數(shù)據(jù)流圖(dataflowdiagram,DFD)是SA方法中用于表示系統(tǒng)邏輯模型的一種工具。它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,由于只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。本課件是可編輯的正常PPT課件782.3.2數(shù)據(jù)流圖圖2-6是一個(gè)飛機(jī)機(jī)票預(yù)訂系統(tǒng)的數(shù)據(jù)流圖數(shù)據(jù)流圖有以下4種基本圖形符號(hào):——箭頭,表示數(shù)據(jù)流。——圓或橢圓,表示加工?!p杠,表示數(shù)據(jù)存儲(chǔ)?!娇?,表示數(shù)據(jù)的源點(diǎn)或終點(diǎn)。本課件是可編輯的正常PPT課件792.3.3數(shù)據(jù)字典數(shù)據(jù)流圖僅描述了系統(tǒng)的“分解”情況,說(shuō)明系統(tǒng)由哪幾部分組成以及各部分之間的聯(lián)系,并沒(méi)有對(duì)各個(gè)數(shù)據(jù)流、加工、數(shù)據(jù)存儲(chǔ)進(jìn)行詳細(xì)說(shuō)明,如數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的名字并不能反映其中的數(shù)據(jù)成分、數(shù)據(jù)項(xiàng)目?jī)?nèi)容和數(shù)據(jù)特性,在加工中不能反映處理過(guò)程等。分析人員僅靠“圖”來(lái)完整地理解一個(gè)系統(tǒng)的邏輯功能是不可能的。數(shù)據(jù)字典(datadictionary,DD)是用來(lái)定義數(shù)據(jù)流圖中的各個(gè)成分的具體含義,并以一種準(zhǔn)確的、無(wú)二義性的說(shuō)明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供有關(guān)元素一致的定義和詳細(xì)的描述。它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說(shuō)明的主要組成部分。本課件是可編輯的正常PPT課件802.3.3數(shù)據(jù)字典1.數(shù)據(jù)字典的內(nèi)容及格式數(shù)據(jù)字典可幫助分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細(xì)定義,它像普通字典一樣,要把所有條目按一定的次序排列起來(lái),以便查閱。數(shù)據(jù)字典有以下4類條目:數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)項(xiàng)、加工。數(shù)據(jù)項(xiàng)是組成數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的最小元素。源點(diǎn)、終點(diǎn)不在系統(tǒng)之內(nèi),故一般不在數(shù)據(jù)字典中說(shuō)明。(1)數(shù)據(jù)流條目數(shù)據(jù)流條目給出了DFD中數(shù)據(jù)流的定義,通常列出該數(shù)據(jù)流的各組成數(shù)據(jù)項(xiàng)。在定義數(shù)據(jù)流或數(shù)據(jù)存儲(chǔ)組成時(shí),使用表2-2給出的符號(hào)。本課件是可編輯的正常PPT課件812.3.3數(shù)據(jù)字典(2)數(shù)據(jù)存儲(chǔ)條目數(shù)據(jù)存儲(chǔ)條目是對(duì)數(shù)據(jù)存儲(chǔ)的定義。(3)數(shù)據(jù)項(xiàng)條目數(shù)據(jù)項(xiàng)條目是不可再分解的數(shù)據(jù)單位。(4)加工條目加工條目用來(lái)說(shuō)明DFD中基本加工的處理邏輯,由于下層的基本加工是由上層的加工分解而來(lái),因此只要有了基本加工的說(shuō)明就可理解其他加工。本課件是可編輯的正常PPT課件822.3.3數(shù)據(jù)字典2.數(shù)據(jù)字典的實(shí)現(xiàn)方式(1)結(jié)構(gòu)化開(kāi)發(fā)方法中數(shù)據(jù)字典的實(shí)現(xiàn)在傳統(tǒng)的結(jié)構(gòu)化開(kāi)發(fā)方法中,數(shù)據(jù)字典主要用于支持?jǐn)?shù)據(jù)流圖,以便清晰地定義數(shù)據(jù)流圖中的各個(gè)元素。在這種開(kāi)發(fā)方法下,數(shù)據(jù)字典的實(shí)現(xiàn)主要包括以下方式。(2)面向?qū)ο箝_(kāi)發(fā)方法中數(shù)據(jù)字典的實(shí)現(xiàn)面向?qū)ο蟮能浖_(kāi)發(fā)強(qiáng)調(diào)通過(guò)封裝、繼承和多態(tài)等機(jī)制來(lái)構(gòu)建系統(tǒng),其中數(shù)據(jù)字典的實(shí)現(xiàn)更加注重對(duì)對(duì)象及其屬性的描述。數(shù)據(jù)字典的實(shí)現(xiàn)主要包括以下方式。(3)基于Web的開(kāi)發(fā)方法中數(shù)據(jù)字典的實(shí)現(xiàn)隨著互聯(lián)網(wǎng)技術(shù)和云計(jì)算的迅速發(fā)展,越來(lái)越多的應(yīng)用程序選擇基于Web的開(kāi)發(fā)模式。在此背景下,數(shù)據(jù)字典的實(shí)現(xiàn)方式也有了一些新的變化,除了仍然可采用傳統(tǒng)的實(shí)現(xiàn)方式(如數(shù)據(jù)庫(kù)存儲(chǔ)方式、UML建模方式等)以外,還可以采用以下三種新的方式。本課件是可編輯的正常PPT課件謝謝觀看!模塊3軟件設(shè)計(jì)85軟件設(shè)計(jì)階段包括軟件系統(tǒng)設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段,是需求分析之后又一重要環(huán)節(jié)。需求分析解決的是軟件“做什么”的問(wèn)題,設(shè)計(jì)階段解決的是“如何做”的問(wèn)題。系統(tǒng)設(shè)計(jì)也稱總體設(shè)計(jì),主要確定軟件的系統(tǒng)結(jié)構(gòu);詳細(xì)設(shè)計(jì)是對(duì)各模塊內(nèi)部的具體設(shè)計(jì)。本課件是可編輯的正常PPT課件系統(tǒng)設(shè)計(jì)863.1本課件是可編輯的正常PPT課件873.1.1系統(tǒng)設(shè)計(jì)的基本任務(wù)與基本原則1.基本任務(wù)(1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)(簡(jiǎn)稱軟件結(jié)構(gòu))為了實(shí)現(xiàn)目標(biāo)系統(tǒng),最終必須設(shè)計(jì)出組成這個(gè)系統(tǒng)的所有程序和數(shù)據(jù)庫(kù)(文件)。對(duì)于程序,首先進(jìn)行結(jié)構(gòu)設(shè)計(jì),具體任務(wù)如下:●采用某種設(shè)計(jì)方法,將一個(gè)復(fù)雜的系統(tǒng)按功能劃分成模塊。●確定每個(gè)模塊的功能?!翊_定模塊之間的調(diào)用關(guān)系?!翊_定模塊之間的接口,即模塊之間傳遞的信息?!裨u(píng)價(jià)模塊結(jié)構(gòu)的質(zhì)量。本課件是可編輯的正常PPT課件883.1.1系統(tǒng)設(shè)計(jì)的基本任務(wù)與基本原則(2)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)對(duì)于大型的數(shù)據(jù)處理軟件系統(tǒng),除了控制結(jié)構(gòu)的模塊設(shè)計(jì)外,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)也是重要的。逐步細(xì)化的方法也適用于數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。在需求分析階段,已通過(guò)數(shù)據(jù)字典對(duì)數(shù)據(jù)的組成、操作約束、數(shù)據(jù)之間的關(guān)系等方面進(jìn)行了描述,確定了數(shù)據(jù)的結(jié)構(gòu)特性,在系統(tǒng)設(shè)計(jì)階段則要加以細(xì)化,詳細(xì)設(shè)計(jì)階段則是規(guī)定具體的實(shí)現(xiàn)細(xì)節(jié)。在系統(tǒng)設(shè)計(jì)階段,宜使用抽象的數(shù)據(jù)類型,如“隊(duì)列”的數(shù)據(jù)結(jié)構(gòu)概念。設(shè)計(jì)有效的數(shù)據(jù)結(jié)構(gòu),將大大簡(jiǎn)化軟件模塊處理過(guò)程的設(shè)計(jì)。本課件是可編輯的正常PPT課件893.1.1系統(tǒng)設(shè)計(jì)的基本任務(wù)與基本原則(3)編寫(xiě)系統(tǒng)設(shè)計(jì)文檔系統(tǒng)設(shè)計(jì)文檔主要有以下幾個(gè):①系統(tǒng)設(shè)計(jì)說(shuō)明。②數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明,主要給出所使用的數(shù)據(jù)庫(kù)管理系統(tǒng)(databasemanagementsystem,DBMS)簡(jiǎn)介、數(shù)據(jù)庫(kù)的概要模型、邏輯設(shè)計(jì)、結(jié)果。③用戶手冊(cè),對(duì)需求分析階段編寫(xiě)的用戶手冊(cè)進(jìn)行補(bǔ)充。④修訂的測(cè)試計(jì)劃,內(nèi)容包括對(duì)測(cè)試策略、方法、步驟提出明確要求。(4)評(píng)審本課件是可編輯的正常PPT課件903.1.1系統(tǒng)設(shè)計(jì)的基本任務(wù)與基本原則2.軟件設(shè)計(jì)的基本原則軟件設(shè)計(jì)中最重要的一個(gè)問(wèn)題就是軟件質(zhì)量問(wèn)題。軟件設(shè)計(jì)應(yīng)遵循下面一些基本原則,以保證軟件設(shè)計(jì)的質(zhì)量。(1)模塊化●接口:指模塊的輸入與輸出?!窆δ埽褐改K實(shí)現(xiàn)什么功能?!襁壿嫞好枋鰞?nèi)部如何實(shí)現(xiàn)功能及所需的數(shù)據(jù)。●狀態(tài):指該模塊的運(yùn)行環(huán)境,即模塊的調(diào)用與被調(diào)用關(guān)系。本課件是可編輯的正常PPT課件913.1.1系統(tǒng)設(shè)計(jì)的基本任務(wù)與基本原則(2)抽象(3)信息隱蔽(4)模塊獨(dú)立性如何衡量軟件的獨(dú)立性呢?根據(jù)模塊的外部特征和內(nèi)部特征,提出了兩個(gè)定性的度量標(biāo)準(zhǔn)——耦合性和內(nèi)聚性。①耦合性②內(nèi)聚性耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),將軟件系統(tǒng)劃分成模塊時(shí),要盡量做到高內(nèi)聚低耦合,提高模塊的獨(dú)立性,為設(shè)計(jì)高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。但也存在內(nèi)聚性與耦合性發(fā)生矛盾的情況,為了提高內(nèi)聚性而可能使耦合性變差,在這種情況下,建議給予耦合性以更高的重視。本課件是可編輯的正常PPT課件923.1.2軟件結(jié)構(gòu)的設(shè)計(jì)優(yōu)化原則①劃分模塊時(shí),盡量做到高內(nèi)聚、低耦合,保持模塊的相對(duì)獨(dú)立性,并以此原則優(yōu)化初始的軟件結(jié)構(gòu)。②一個(gè)模塊的作用范圍應(yīng)在其控制范圍之內(nèi),且判定所在的模塊應(yīng)與受其影響的模塊在層次上盡量靠近。③軟件結(jié)構(gòu)的深度、寬度、扇入、扇出應(yīng)適當(dāng)。④模塊的大小要適中。本課件是可編輯的正常PPT課件933.1.2軟件結(jié)構(gòu)的設(shè)計(jì)優(yōu)化原則⑤模塊的接口要簡(jiǎn)單、清晰、含義明確。⑥力爭(zhēng)降低模塊接口的復(fù)雜程度。⑦設(shè)計(jì)單入口、單出口的模塊。⑧模塊功能應(yīng)該可以預(yù)測(cè)。本課件是可編輯的正常PPT課件943.1.3軟件系統(tǒng)的設(shè)計(jì)技術(shù)1.層次圖和HIPO圖通常使用層次圖來(lái)描繪軟件的層次結(jié)構(gòu)。圖3-1就是一個(gè)銷售管理系統(tǒng)的層次圖。在層次圖中,一個(gè)矩形框代表一個(gè)模塊,框間的邊線表示調(diào)用關(guān)系(位于上方的矩形框所代表的模塊調(diào)用位于下方的矩形框所代表的模塊)。本課件是可編輯的正常PPT課件953.1.3軟件系統(tǒng)的設(shè)計(jì)技術(shù)HIPO圖是“層次圖加輸入/處理/輸出圖”的英文縮寫(xiě)。為了使HIPO圖具有可追蹤性,在H圖(即層次圖)里除了頂層的方框之外,每個(gè)方框都加了編號(hào)。圖3-2即為銷售管理系統(tǒng)的HIPO圖。本課件是可編輯的正常PPT課件963.1.3軟件系統(tǒng)的設(shè)計(jì)技術(shù)本書(shū)建議使用一種改進(jìn)的IPO圖(也稱為IPO表),這種圖中包含某些附加的信息,在軟件設(shè)計(jì)過(guò)程中將比原始的IPO圖更有用。改進(jìn)的IPO圖中包含的附加信息主要有系統(tǒng)名稱、圖的作者、本圖描述的模塊的名字、完成的日期、模塊在層次圖中的編號(hào)、調(diào)用本模塊的模塊清單、本模塊調(diào)用的模塊的清單、輸入、輸出、處理、本模塊使用的局部數(shù)據(jù)元素以及注釋等,如圖3-3所示。本課件是可編輯的正常PPT課件973.1.3軟件系統(tǒng)的設(shè)計(jì)技術(shù)2.結(jié)構(gòu)圖軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn),即將來(lái)程序的控制層次體系。對(duì)于一個(gè)“問(wèn)題”,可用不同的軟件結(jié)構(gòu)來(lái)解決。不同的設(shè)計(jì)方法和不同的劃分與組織,得出不同的軟件結(jié)構(gòu)。軟件結(jié)構(gòu)往往用樹(shù)狀或網(wǎng)狀結(jié)構(gòu)的圖來(lái)表示。軟件工程中一般使用結(jié)構(gòu)圖(structurechart,SC)來(lái)表示軟件結(jié)構(gòu)。模塊的控制關(guān)系:兩個(gè)模塊間用單向箭頭(或直線)連接表示它們的控制關(guān)系,如圖3-4所示。按照慣例,圖中位于上方的模塊總是調(diào)用下方的模塊,所以不用箭頭也不會(huì)產(chǎn)生二義性。●模塊間的信息傳遞:模塊間還經(jīng)常用帶注釋的短箭頭表示模塊調(diào)用過(guò)程中來(lái)回傳遞的信息。箭頭尾部帶空心圓的表示傳遞的是數(shù)據(jù),帶實(shí)心圓的表示傳遞的是控制信息,如圖3-4所示。●兩個(gè)附加符號(hào):表示模塊有選擇地調(diào)用或循環(huán)調(diào)用,如圖3-5所示。本課件是可編輯的正常PPT課件983.1.3軟件系統(tǒng)的設(shè)計(jì)技術(shù)圖3-5(a)所示的A模塊中有一個(gè)菱形符號(hào),表示A有判斷處理功能,它有條件地調(diào)用B或C;圖3-5(b)所示的M模塊下方有一個(gè)弧形箭頭,表示M模塊循環(huán)調(diào)用T1、T2、T3模塊。圖3-6是結(jié)構(gòu)圖的一個(gè)實(shí)例。本課件是可編輯的正常PPT課件993.1.3軟件系統(tǒng)的設(shè)計(jì)技術(shù)3.面向數(shù)據(jù)流的設(shè)計(jì)方法(1)數(shù)據(jù)流的類型(2)設(shè)計(jì)過(guò)程(3)變換分析設(shè)計(jì)(4)事務(wù)分析設(shè)計(jì)(5)綜合型數(shù)據(jù)流圖與分層數(shù)據(jù)流圖映射成軟件結(jié)構(gòu)的設(shè)計(jì)(6)設(shè)計(jì)后的處理本課件是可編輯的正常PPT課件詳細(xì)設(shè)計(jì)1003.2本課件是可編輯的正常PPT課件1013.2.1詳細(xì)設(shè)計(jì)的基本任務(wù)①對(duì)每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì),用圖形、表格、語(yǔ)言等工具將每個(gè)模塊處理過(guò)程的詳細(xì)算法描述出來(lái)。②對(duì)模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),對(duì)于需求分析、系統(tǒng)設(shè)計(jì)確定的概念性的數(shù)據(jù)類型進(jìn)行確切的定義。③對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì),即確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)主要指數(shù)據(jù)庫(kù)的存儲(chǔ)記錄格式、存儲(chǔ)記錄安排和存儲(chǔ)方法,這些都依賴于具體所使用的數(shù)據(jù)庫(kù)系統(tǒng)。④其他設(shè)計(jì)。根據(jù)軟件系統(tǒng)的類型,還可能要進(jìn)行其他一些方面的設(shè)計(jì)。⑤編寫(xiě)詳細(xì)設(shè)計(jì)說(shuō)明文檔。⑥評(píng)審。對(duì)處理過(guò)程的算法和數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)都要評(píng)審。本課件是可編輯的正常PPT課件1023.2.2詳細(xì)設(shè)計(jì)的描述方法1.程序流程圖程序流程圖又稱為程序框圖,是被廣泛的一種描述程序邏輯結(jié)構(gòu)的工具。圖3-12為流程圖的3種基本控制結(jié)構(gòu)。本課件是可編輯的正常PPT課件1033.2.2詳細(xì)設(shè)計(jì)的描述方法2.盒圖(N-S圖)為了克服流程圖的缺陷,Nassi和Shneiderman提出了另一種圖形工具——盒圖,又稱為N-S圖。它是一種不違背結(jié)構(gòu)程序設(shè)計(jì)精神的圖形工具.圖3-13給出了結(jié)構(gòu)化程序控制結(jié)構(gòu)的盒圖表示,也給出了調(diào)用子程序的盒圖表示方法。本課件是可編輯的正常PPT課件1043.2.2詳細(xì)設(shè)計(jì)的描述方法3.PAD圖PAD(problemanalysisdiagram)即問(wèn)題分析圖,自1973年由日本日立公司發(fā)明以后,已得到一定程度的推廣。它用二維樹(shù)形結(jié)構(gòu)的圖來(lái)表示程序的控制流,將這種圖翻譯成程序代碼比較容易。圖3-14給出PAD圖的基本符號(hào)。本課件是可編輯的正常PPT課件1053.2.2詳細(xì)設(shè)計(jì)的描述方法4.判定表當(dāng)算法中包含多重嵌套的條件選擇時(shí),使用程序流程圖、盒圖或PAD圖可能都難以清晰地描述這些復(fù)雜結(jié)構(gòu)。相比之下,判定表能更有效地表示復(fù)雜的條件組合及其對(duì)應(yīng)的動(dòng)作之間的關(guān)系?!纠?-1】見(jiàn)書(shū)P64.本課件是可編輯的正常PPT課件1063.2.2詳細(xì)設(shè)計(jì)的描述方法5.判定樹(shù)盡管判定表能夠清晰地表示復(fù)雜的條件組合與相應(yīng)動(dòng)作之間的對(duì)應(yīng)關(guān)系,但其含義并非一目了然。對(duì)于初次接觸這種工具的人來(lái)說(shuō),理解判定表需要一個(gè)簡(jiǎn)短的學(xué)習(xí)過(guò)程。此外,當(dāng)數(shù)據(jù)元素的值多于兩個(gè)時(shí),判定表的簡(jiǎn)潔程度會(huì)有所下降。本課件是可編輯的正常PPT課件1073.2.3Jackson程序設(shè)計(jì)方法1.Jackson圖雖然程序中實(shí)際使用的數(shù)據(jù)結(jié)構(gòu)種類繁多,但是數(shù)據(jù)元素彼此間的邏輯關(guān)系卻只有順序、選擇和重復(fù)三類,因此邏輯數(shù)據(jù)結(jié)構(gòu)也只有這三類。(1)順序結(jié)構(gòu)(2)選擇結(jié)構(gòu)(3)循環(huán)結(jié)構(gòu)2.改進(jìn)的Jackson圖本課件是可編輯的正常PPT課件1083.2.3Jackson程序設(shè)計(jì)方法3.Jackson方法Jackson結(jié)構(gòu)程序設(shè)計(jì)方法基本上由5個(gè)步驟組成?!纠?-2】見(jiàn)書(shū)P68~P71.本課件是可編輯的正常PPT課件數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)1093.3本課件是可編輯的正常PPT課件1103.3.1邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)和步驟邏輯結(jié)構(gòu)時(shí)一般要分三步進(jìn)行。第一步,將概念結(jié)構(gòu)轉(zhuǎn)換為一般的聯(lián)系、網(wǎng)狀、層次模型。第二步,將轉(zhuǎn)換形成的關(guān)系、網(wǎng)狀、層次模型向DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換。第三步,對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化。2.E-R圖向關(guān)系模型的轉(zhuǎn)換3.用戶子模式的設(shè)計(jì)本課件是可編輯的正常PPT課件1113.3.2物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),依賴于給定的計(jì)算機(jī)系統(tǒng)。為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用要求的物理結(jié)構(gòu)的過(guò)程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。數(shù)據(jù)庫(kù)的物理設(shè)計(jì)通常分為以下兩步:①確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要指存取方法和存儲(chǔ)結(jié)構(gòu)。②對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間的效率。本課件是可編輯的正常PPT課件1123.3.2物理結(jié)構(gòu)設(shè)計(jì)1.設(shè)計(jì)的內(nèi)容和方法2.存取方法的選擇(1)索引存取方法的選擇(2)聚簇存取方法的選擇3.確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)(1)確定數(shù)據(jù)的存放位置(2)確定系統(tǒng)配置4.評(píng)價(jià)物理結(jié)構(gòu)本課件是可編輯的正常PPT課件典型的軟件體系結(jié)構(gòu)1133.4本課件是可編輯的正常PPT課件1143.4.1客戶端/服務(wù)器結(jié)構(gòu)客戶端/服務(wù)器(client/server,C/S)軟件體系結(jié)構(gòu)是基于資源不對(duì)等,且為實(shí)現(xiàn)共享而提出的,是20世紀(jì)90年代成熟起來(lái)的技術(shù),C/S體系結(jié)構(gòu)定義了客戶端如何與服務(wù)器相連,以實(shí)現(xiàn)數(shù)據(jù)和應(yīng)用分布到多個(gè)處理機(jī)上。C/S體系結(jié)構(gòu)有3個(gè)主要組成部分,分別為數(shù)據(jù)庫(kù)服務(wù)器、客戶應(yīng)用程序和網(wǎng)絡(luò)。本課件是可編輯的正常PPT課件1153.4.1客戶端/服務(wù)器結(jié)構(gòu)C/S體系結(jié)構(gòu)將應(yīng)用一分為二,服務(wù)器(后臺(tái))負(fù)責(zé)數(shù)據(jù)管理,客戶端(前臺(tái))完成與用戶的交互任務(wù)。服務(wù)器為多個(gè)客戶應(yīng)用程序管理數(shù)據(jù),而客戶程序發(fā)送、請(qǐng)求和分析從服務(wù)器接收的數(shù)據(jù),這是一種“胖客戶機(jī)”(fatclient)或“瘦服務(wù)器”(thinserver)的體系結(jié)構(gòu),其數(shù)據(jù)流圖如圖3-25所示。本課件是可編輯的正常PPT課件1163.4.2三層C/S結(jié)構(gòu)軟件工程隨著企業(yè)規(guī)模的日益擴(kuò)大,軟件的復(fù)雜程度不斷提高,傳統(tǒng)的二層C/S結(jié)構(gòu)存在著很多局限,三層C/S體系結(jié)構(gòu)應(yīng)運(yùn)而生,其結(jié)構(gòu)如圖3-26所示。本課件是可編輯的正常PPT課件1173.4.2三層C/S結(jié)構(gòu)與二層C/S結(jié)構(gòu)相比,三層C/S體系結(jié)構(gòu)增加了一個(gè)應(yīng)用服務(wù)器,可以將整個(gè)應(yīng)用邏輯駐留在應(yīng)用服務(wù)器上,而只有表示層存在于客戶機(jī)上,這種結(jié)構(gòu)稱為“瘦客戶機(jī)”(thinclient)。三層C/S體系結(jié)構(gòu)是將應(yīng)用功能分成表示層、功能層和數(shù)據(jù)層三個(gè)部分,如圖3-27所示。本課件是可編輯的正常PPT課件1183.4.2三層C/S結(jié)構(gòu)1.表示層2.功能層3.數(shù)據(jù)層本課件是可編輯的正常PPT課件1193.4.3瀏覽器/服務(wù)器結(jié)構(gòu)瀏覽器/服務(wù)器(browser/server,B/S)風(fēng)格就是上述三層應(yīng)用結(jié)構(gòu)的一種實(shí)現(xiàn)方式,其具體結(jié)構(gòu)為:瀏覽器/Web服務(wù)器/數(shù)據(jù)庫(kù)服務(wù)器。采用B/S結(jié)構(gòu)的計(jì)算機(jī)應(yīng)用系統(tǒng)的基本框架如圖3-28所示。本課件是可編輯的正常PPT課件謝謝觀看!模塊4軟件編碼與實(shí)現(xiàn)程序設(shè)計(jì)語(yǔ)言1224.1本課件是可編輯的正常PPT課件123程序設(shè)計(jì)語(yǔ)言是人機(jī)通信的工具之一。使用程序設(shè)計(jì)語(yǔ)言“指揮”計(jì)算機(jī)是人類特定的活動(dòng)。編碼過(guò)程是軟件工程中的一個(gè)步驟,語(yǔ)言的工程特性對(duì)軟件開(kāi)發(fā)的成功與否有重要的影響。此外,語(yǔ)言的技術(shù)特性也會(huì)影響軟件設(shè)計(jì)的質(zhì)量。本課件是可編輯的正常PPT課件1244.1.1工程特性從軟件工程的觀點(diǎn),程序設(shè)計(jì)語(yǔ)言的特性著重考慮軟件開(kāi)發(fā)項(xiàng)目的需要,因此對(duì)程序編碼有如下要求:①可移植性。這是指程序從一個(gè)計(jì)算機(jī)環(huán)境移植到另一個(gè)計(jì)算機(jī)環(huán)境的容易程度。計(jì)算機(jī)環(huán)境是指不同機(jī)型、不同的操作系統(tǒng)版本、不同的應(yīng)用軟件包等。為提高可移植性,應(yīng)考慮以下幾點(diǎn):一是在設(shè)計(jì)時(shí)應(yīng)避免模塊與操作系統(tǒng)特性有高度聯(lián)系;二是標(biāo)準(zhǔn)的語(yǔ)言要使用標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)操作,盡量不使用擴(kuò)充結(jié)構(gòu);三是程序中各種可變信息均應(yīng)參數(shù)化,以便于修改。當(dāng)然應(yīng)盡量使用可移植性好的語(yǔ)言,如Java語(yǔ)言。②開(kāi)發(fā)工具的可利用性。有效的軟件開(kāi)發(fā)工具可以縮短編碼時(shí)間,改進(jìn)源代碼的質(zhì)量。目前,許多編程語(yǔ)言都嵌入到一套完整的軟件開(kāi)發(fā)環(huán)境里,如SQLServer2019、可視化開(kāi)發(fā)工具VisualStudio.NET等。

③軟件的可重用性。編程語(yǔ)言能否提供可重用的軟件,如模塊子程序可通過(guò)源代碼剪貼、包含、繼承等方式實(shí)現(xiàn)軟件重用??芍赜密浖诮M裝時(shí),從接口到算法都可能需要考慮額外代價(jià)。④可維護(hù)性。源程序的可維護(hù)性對(duì)復(fù)雜的軟件開(kāi)發(fā)項(xiàng)目尤其重要。因此,源程序的可讀性、語(yǔ)言的文檔化特性對(duì)軟件包的可維護(hù)性具有重大的影響。本課件是可編輯的正常PPT課件1254.1.2技術(shù)特性本課件是可編輯的正常PPT課件程序設(shè)計(jì)風(fēng)格1264.2本課件是可編輯的正常PPT課件1274.2.1源程序文檔化1.符號(hào)名的命名2.程序的注釋3.視覺(jué)感受本課件是可編輯的正常PPT課件1284.2.2數(shù)據(jù)說(shuō)明為了使數(shù)據(jù)定義更易于理解和維護(hù),一般遵循以下原則:●數(shù)據(jù)說(shuō)明順序應(yīng)規(guī)范,使數(shù)據(jù)的屬性更易于查找,從而有利于測(cè)試、糾錯(cuò)與維護(hù)。例如,按以下順序:常量說(shuō)明、類型說(shuō)明、全局變量說(shuō)明、局部變量說(shuō)明?!褚粋€(gè)語(yǔ)句中聲明多個(gè)變量時(shí),各變量名盡量按字典序排列。本課件是可編輯的正常PPT課件1294.2.3語(yǔ)句構(gòu)造語(yǔ)句構(gòu)造的原則是:簡(jiǎn)單直接,不能為了追求效率而使代碼復(fù)雜化。在編寫(xiě)程序語(yǔ)句時(shí),要注意以下幾條規(guī)則。①為了便于閱讀和理解,不要一行多個(gè)語(yǔ)句。不同層次的語(yǔ)句應(yīng)采用縮進(jìn)形式,使各程序的邏輯結(jié)構(gòu)和功能特征更為清晰。②程序編寫(xiě)首先應(yīng)當(dāng)考慮清晰性,不要刻意追求技巧性,使程序顯得過(guò)于緊湊。③要避免復(fù)雜的判定條件,避免多重的循環(huán)嵌套,表達(dá)式中應(yīng)使用括號(hào)以提高運(yùn)算次序的清晰度。④避免不必要的轉(zhuǎn)移,如果能保持程序的可讀性,就不必用goto語(yǔ)句。本課件是可編輯的正常PPT課件1304.2.4輸入和輸出在編寫(xiě)輸入和輸出程序時(shí),要注意以下幾條規(guī)則:●輸入操作步驟和輸入格式盡量簡(jiǎn)單?!駪?yīng)檢查輸入數(shù)據(jù)的合法性、有效性,報(bào)告必要的輸入狀態(tài)信息及錯(cuò)誤信息?!褫斎胍慌鷶?shù)據(jù)時(shí),使用數(shù)據(jù)或文件結(jié)束標(biāo)志,而不要用計(jì)數(shù)來(lái)控制?!窠换ナ捷斎霑r(shí),提供可用的選擇和邊界值?!癞?dāng)程序設(shè)計(jì)語(yǔ)言有嚴(yán)格的格式要求時(shí),應(yīng)保持輸入格式的一致性?!褫敵鰯?shù)據(jù)表格化、圖形化。本課件是可編輯的正常PPT課件1314.2.5程

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論