女人被躁到高潮嗷嗷叫游戏,久久久久亚洲av成人人电影,久久久精品人妻一区二区三区四,久久久久无码精品国产app,免费人成视频在线播放

留求藝—您的留學(xué)規(guī)劃師

求個軟件工程作業(yè)

260次

問題描述:

求個軟件工程作業(yè),在線求解答

最佳答案

推薦答案

面向?qū)ο笈c結(jié)構(gòu)化方法的比較研究xxx(xxxxxxxxxx)隨著計算機(jī)的硬件及通訊技術(shù)的發(fā)展,計算環(huán)境發(fā)生了深刻的變化。

計算環(huán)境的變遷和不斷增長的軟件需求對程序設(shè)計方法學(xué)提出了一個又一個的挑戰(zhàn),程序設(shè)計方 法學(xué)也在挑戰(zhàn)中前進(jìn)。首先回顧軟件工程程序設(shè)計方法的發(fā)展歷史,指出結(jié)構(gòu)化和面向?qū)ο笫擒浖こ坛绦蛟O(shè)計方法中的2個核心思想,分析、探討了結(jié)構(gòu)化程序設(shè) 計方法與面向?qū)ο蟮姆椒ǖ膮^(qū)別,并就如何在實踐中正確應(yīng)用給出了一些建議。關(guān)鍵字:程序設(shè)計方法; 面向?qū)ο螅?結(jié)構(gòu)化1引言:隨著計算機(jī)硬件及通訊技術(shù)的發(fā)展,計算機(jī)環(huán)境發(fā)生了深刻的變化,計算機(jī)環(huán)境的變遷和不斷增長的軟件需求對程序設(shè)計方法提出了一個有一個挑戰(zhàn),程序設(shè)計方法也在挑戰(zhàn)中前進(jìn)。計算機(jī)發(fā)展經(jīng)歷了3個主要階段:大型主機(jī),客戶/服務(wù)器以及網(wǎng)絡(luò)計算。與此相對應(yīng),軟件工程的設(shè)計方法的發(fā)展可分為4代。1.1第一代面向過程的程序設(shè)計方法面向軟件系統(tǒng)的信息流程圖,采用面向過程的程序設(shè)計語言或面向進(jìn)程的程序設(shè)計語言,實現(xiàn)軟件設(shè)計流程圖所描述的信息處理過程的功能,稱為面向過程的程序設(shè)計方法或面向進(jìn)程的程序設(shè)計方法。這種方法適用于設(shè)計小規(guī)模專業(yè)軟件包,軟件的通用性、重用性和擴(kuò)展性差。1.2 第二代面向模塊的程序設(shè)計方法結(jié)構(gòu)上將軟件系統(tǒng)劃分為若干功能模塊或?qū)嶓w,分別采用模塊化程序設(shè)計語言,如:pascal 編程實現(xiàn),再由各模塊聯(lián)結(jié),組合成相應(yīng)結(jié)構(gòu)的軟件系統(tǒng),稱為面向模塊的程序設(shè)計方法或模塊化程序設(shè)計方法,也稱為面向?qū)嶓w的程序設(shè)計方法。這種方法適用于設(shè)計模塊化、結(jié)構(gòu)化程序,可提高軟件系統(tǒng)的模塊化和結(jié)構(gòu)化水平,設(shè)計和組裝較大規(guī)模的軟件系統(tǒng),有助于提高軟件的通用性、重用性和擴(kuò)展性。1.3 第三代面向?qū)ο蟮某绦蛟O(shè)計方法所謂對象是指具有一定結(jié)構(gòu)、屬性和功能的實體,采用對象和對象類,以及對象之間的相互通信的消息,描述客觀世界中的各種事物及其相互關(guān)系,建立面向?qū)ο蠛拖⒌木哂袑哟谓Y(jié)構(gòu)的世界模型。面向?qū)ο蟮某绦蛟O(shè)計方法基于上述面向?qū)ο笫澜缒P?。采用面向?qū)ο蟮某绦蛟O(shè)計語言,如c++、smalltalk 等編程實現(xiàn)。這種方法具有通用性,適用于廣泛應(yīng)用領(lǐng)域的大規(guī)模軟件系統(tǒng)設(shè)計。有助于提高軟件的重用性、擴(kuò)展性和移植性,提高編程效率和程序自動化水平。1.4 第四代面向智體的程序設(shè)計方法面向智體的程序設(shè)計方法是面向?qū)ο蟮某绦蛟O(shè)計方法的發(fā)展。在程序設(shè)計方法的發(fā)展演變歷程中,結(jié)構(gòu)化和面向?qū)ο笏枷胧亲詈诵牡乃枷敕椒?。結(jié)構(gòu)思想體現(xiàn)了人們抽象思維和復(fù)雜問題分解的基本原則與要求,而面向?qū)ο髣t反映了客觀世界由對象組成這一本質(zhì)特點。2 軟件工程程序設(shè)計方法的出發(fā)點從程序結(jié)構(gòu)來看,每個子問題形成整個程序結(jié)構(gòu)的一個構(gòu)件,這個構(gòu)件稱為一個模塊。程序的算法結(jié)構(gòu),就是一個由模塊連接成的層次結(jié)構(gòu)。在軟件工程中,把這種設(shè)計方法歸結(jié)為軟件工程設(shè)計方法學(xué)。該方法學(xué)的基本表述為:自頂向下,逐步求精,模塊化層次結(jié)構(gòu)設(shè)計。程序設(shè)計方法的本質(zhì)是問題的抽象與分解,各種程序設(shè)計方法的區(qū)別在于其分解的因子不一樣,處理數(shù)據(jù)對象及相關(guān)操作的方法不一樣,也就是出發(fā)點不一樣。3 結(jié)構(gòu)化程序設(shè)計方法結(jié)構(gòu)化程序設(shè)計方法包含以下內(nèi)容。3.1 結(jié)構(gòu)化技術(shù)結(jié)構(gòu)化技術(shù)包括結(jié)構(gòu)化分析(S A )、結(jié)構(gòu)化設(shè)計(SD )、結(jié)構(gòu)化程序設(shè)計(SP )3 方面內(nèi)容,對應(yīng)于軟件開發(fā)時期的分析、設(shè)計和編碼階段。3.2 結(jié)構(gòu)化分析結(jié)構(gòu)化分析是70 年代中期由DeMarco 和Yourdon等倡導(dǎo)的一種基于功能分解的分析方法,即使用數(shù)據(jù)流程圖、決策表、決策樹等工具,來建立一種符合用戶需求的結(jié)構(gòu)化說明書。3.3 結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計是一種面向數(shù)據(jù)流的設(shè)計方法,也就是采用最佳的可能方法設(shè)計系統(tǒng)的各個組成部分以及各成分之間的內(nèi)部聯(lián)系的技術(shù),目的在于提出滿足系統(tǒng)需求的最佳軟件的結(jié)構(gòu),完成軟件層次圖或軟件結(jié)構(gòu)圖。4 面向?qū)ο蟮姆椒嫦驅(qū)ο蠹夹g(shù):面向?qū)ο蠹夹g(shù)包括面向?qū)ο蠓治觯∣ O A )、面向?qū)ο笤O(shè)計(O O D )及面向?qū)ο蟪绦蛟O(shè)計(O O P )3 部分內(nèi)容。O O P 是在結(jié)構(gòu)化程序設(shè)計的基礎(chǔ)上,于8 0 年代初涌現(xiàn)的一種程序設(shè)計方法,但其真正顯示力量和被產(chǎn)業(yè)界所重視還是最近幾年的事。封裝是整個O O P 方法的基礎(chǔ),主要用于在數(shù)據(jù)段外圍構(gòu)造保護(hù)層,以限制外界變化的影響,所有的數(shù)據(jù)訪問都由保護(hù)層內(nèi)的過程間接處理。應(yīng)用程序員不必再按照將程序設(shè)計語言逐句拼裝的方式來構(gòu)造整個軟件,只需組合、重用由系統(tǒng)程序員開發(fā)、可供他人用來裝配的軟件集成塊即可。例如,Visual Basic(VB)是一種面向?qū)ο蟮某绦蛟O(shè)計語言,與傳統(tǒng)DOS 下的Basic 或Quick Basic 最大的差別在于它運(yùn)用了面向?qū)ο蟮母拍?。V B 建立了一個事件驅(qū)動的環(huán)境,供用戶直接調(diào)用。程序設(shè)計人員只要專心數(shù)據(jù)的運(yùn)算處理,其余諸如W i n d o w s 應(yīng)用程序下所見的滾動條、按鈕、下拉式菜單和對話框等,都已經(jīng)有對象供用戶進(jìn)行調(diào)用,而且每個對象又都有許多事件、屬性和方法,供用戶填入適當(dāng)值或程序碼,從而形成一個應(yīng)用程序。5 結(jié)構(gòu)化程序設(shè)計方法與面向?qū)ο蟮某绦蛟O(shè)計方法的比較結(jié)構(gòu)化程序設(shè)計方法由瑞士沃斯教授最早提出為數(shù)據(jù)結(jié)構(gòu)+ 算法= 程序。這種觀念自60 年代的軟件危機(jī)之后對程序設(shè)計方法產(chǎn)生了深遠(yuǎn)的影響。然而隨著軟件規(guī)模的不斷增長,也愈來愈暴露出它的不足和缺陷。在傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計中,數(shù)據(jù)存儲分計方法產(chǎn)生了深遠(yuǎn)的影響。然而隨著軟件規(guī)模的不斷增長,也愈來愈暴露出它的不足和缺陷。在傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計中,數(shù)據(jù)存儲分離與程序代碼還存在著一些弊端。所有的代碼被書寫成結(jié)構(gòu)化的,而不是模塊。因為數(shù)據(jù)元素可以從任何代碼中訪問,它可能在開發(fā)人員不知道的情況下被修改。這可能會導(dǎo)致非常難于調(diào)試的運(yùn)行錯誤。 此外,程序維護(hù)可能成為一項重要的任務(wù)。理解結(jié)構(gòu)化編程中修改一行代碼所造成的全局影響是非常困難的。 最后,依賴于開發(fā)人員控制代碼和數(shù)據(jù)結(jié)果會導(dǎo)致較低的可重用性。 事實上,采用結(jié)構(gòu)化程序設(shè)計方法設(shè)計出的程序,其結(jié)構(gòu)是建立在數(shù)據(jù)結(jié)構(gòu)上的,數(shù)據(jù)結(jié)構(gòu)是現(xiàn)實世界中對象間本質(zhì)關(guān)系的抽象反映。 而程序所要處理的現(xiàn)實世界中的對象是最容易變化的部分。這種變化很難被吸收于局部或某一層,而且涉及整個程序結(jié)構(gòu)。 面向?qū)ο蟮某绦蛟O(shè)計方法的出現(xiàn)為解決這些日益凸顯的困難帶來了曙光。在面向?qū)ο蟮某绦蛟O(shè)計方法中,數(shù)據(jù)結(jié)構(gòu)已不再是程序的基石。取而代之的是抽象數(shù)據(jù)類型、類和對象這些概念。數(shù)據(jù)和操作數(shù)據(jù)的算法不再分離,它們被封裝在一起,更接近現(xiàn)實世界本來面貌。類的封裝性將大量的實現(xiàn)細(xì)節(jié)封裝于內(nèi)部。它帶來的好處是降低了程序結(jié)構(gòu)的復(fù)雜性。使程序更易于修改,也更易于實現(xiàn)代碼的重用。類的繼承性和多態(tài)性是2 個最重要的特征。繼承性使類能反映現(xiàn)實世界的層次結(jié)構(gòu),多態(tài)性反映了現(xiàn)實世界的復(fù)雜多樣。O O P 允許開發(fā)人員通過繼承同時重用代碼和數(shù)據(jù)。通過從先前確定的對象中繼承,開發(fā)人員可以更迅速地構(gòu)造復(fù)雜的應(yīng)用程序。由于編寫新的代碼總是會有帶入錯誤的潛在可能,重用經(jīng)過測試的代碼可以使產(chǎn)生額外錯誤的可能性達(dá)到最小。他們使程序的描述能力進(jìn)一步提高,使真正的代碼重用成為可能。如在軟件開發(fā)過程中,用于界面的工作量往往達(dá)到7 0 % 甚至更多。因而出現(xiàn)了各種用于開發(fā)界面的函數(shù)庫。問題是用戶很難對之進(jìn)行修改擴(kuò)充。如果這么做,需要讀懂函數(shù)庫的源代碼并進(jìn)行修改。這通常是困難的,且很容易引進(jìn)錯誤。如果提供的是類庫,只需簡單地繼承一個類,重新定義或增加新的函數(shù)。 6 在實踐中的正確應(yīng)用面向?qū)ο蟮某绦?,最根本的目的就是使程序員更好地理解和管理龐大而復(fù)雜的程序,它在結(jié)構(gòu)化程序設(shè)計的基礎(chǔ)上完成進(jìn)一步的抽象。使用面向?qū)ο蟮某绦蛟O(shè)計方法絕非是要摒棄現(xiàn)有的結(jié)構(gòu)化程序設(shè)計方法,相反,它是在充分吸收結(jié)構(gòu)化程序設(shè)計優(yōu)點的基礎(chǔ)上,引進(jìn)了一些新的、強(qiáng)有力的概念,從而開創(chuàng)了程序設(shè)計工作的新天地。面向?qū)ο蟮某绦蛟O(shè)計方法把可重復(fù)使用性視為軟件開發(fā)的中心問題,通過裝配可重用的部件來生產(chǎn)軟件,而不是像目前編程所用的那樣,通過調(diào)用函數(shù)庫中的函數(shù)來實現(xiàn)。這里要注意,我們是基于應(yīng)用程序這一個層次來闡述這些問題的,事實上,在對象內(nèi)部的實現(xiàn)上,我們常常使用過程式的結(jié)構(gòu)化程序設(shè)計方法,也常常調(diào)用C / C + + 函數(shù)庫中的很多有用的函數(shù),然而從程序的總體結(jié)構(gòu)上說,它是由一系列對象構(gòu)成的,對象之間能夠以某種方式進(jìn)行通信和協(xié)作,從而實現(xiàn)程序的具體功能。結(jié)構(gòu)化編程的基本思想就是把大的程序劃分為若干個相對獨立、功能簡單的程序模塊。它以過程為中心,強(qiáng)調(diào)的是過程,強(qiáng)調(diào)功能和模塊化。通過一系列過程的調(diào)用和處理完成相應(yīng)的任務(wù)。面向?qū)ο缶幊桃詫ο鬄橹行模菍σ幌盗邢嚓P(guān)對象的操縱,發(fā)送消息給對象,由對象執(zhí)行相應(yīng)的操作并返回結(jié)果,強(qiáng)調(diào)的是對象。程序設(shè)計人員在進(jìn)行面向?qū)ο缶幊虝r,不再單純地從頭到尾一行一行地編寫代碼(但不意味著不寫代碼),而是考慮如何創(chuàng)建對象,利用對象來簡化設(shè)計,使開發(fā)軟件相對容易。由于面向?qū)ο蟪绦蛟O(shè)計具有諸多特點,能大大提高軟件的開發(fā)效率。對于已經(jīng)習(xí)慣于面向過程的設(shè)計人員來說,有一個轉(zhuǎn)變觀念和思維方法的過程。程序設(shè)計方法關(guān)注軟件生命周期的各個環(huán)節(jié),從需求分析、總體設(shè)計到編碼、測試和維護(hù)。在選擇設(shè)計方法時還要注意到該設(shè)計方法各個階段的工具,根據(jù)開發(fā)團(tuán)隊的知識情況來決定采用何種設(shè)計方法。7 結(jié)束語程序設(shè)計方法的發(fā)展經(jīng)歷了4 代,結(jié)構(gòu)化和面向?qū)ο笫擒浖こ痰某绦蛟O(shè)計方法中最本質(zhì)的思想方法,結(jié)構(gòu)化體現(xiàn)了抽象思維和復(fù)雜問題求解的基本原則,面向?qū)ο髣t深刻反映了客觀世界由對象組成這一本質(zhì)特點。各種程序設(shè)計方法的一個重要區(qū)別在于問題分解的出發(fā)點不同(因子),思維模式不同。計算機(jī)中數(shù)據(jù)結(jié)構(gòu)和過程是密切相關(guān)的,結(jié)構(gòu)化方法將數(shù)據(jù)結(jié)構(gòu)和過程分開考慮,面向?qū)ο蟮姆椒ńM合數(shù)據(jù)和過程于對象之中。理論上,對象式實際方法將產(chǎn)生更好的模塊內(nèi)聚和耦合特性,使得軟件更易于重用與維護(hù),但在實踐中程序設(shè)計方法需要工具和環(huán)境的支撐,需要考慮軟件生命周期的各個環(huán)節(jié),在選擇程序設(shè)計方法時,需要綜合考慮這些因素。[參 考 文 獻(xiàn)]Ronald.J.Norman. Object-Oriented Systems Analysis and Design[M]. New-Hall,inc.,1996. 陳世鴻. 軟件工程原理及應(yīng)用[M]. 武漢:武漢大學(xué)出版社,2002. 鄭人杰. 實用軟件工程[M]. 北京:清華大學(xué)出版社,2001.Contrast and analyze the object orient or iented method and structral methodxxxxxx(xxxxxxxxxxxxxx)With the development of computer hardware and communication technology , the computing environment hasbeen profoundly changed. The changing computing environment and the growing software requirement made greatly challengeto software engineering. It was reviewed the history of software engineering, pointed that structured and object-orientedmethods were two kinds of software design method, given deeply analysis to structured and object-oriented method, andproposed some advices about how to apply those two methods to practical use.

求個軟件工程作業(yè)

為你推薦

網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  用戶協(xié)議  |  隱私政策  |  在線報名  |  網(wǎng)站地圖