軟件開發(fā)概念和設(shè)計(jì)方法-外文翻譯_第1頁
軟件開發(fā)概念和設(shè)計(jì)方法-外文翻譯_第2頁
軟件開發(fā)概念和設(shè)計(jì)方法-外文翻譯_第3頁
軟件開發(fā)概念和設(shè)計(jì)方法-外文翻譯_第4頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、外文資料原文Software Development Concepts and DesignMethodologiesDuringthe1960s,ma inframesandhigherlevelprogramminglanguageswereappliedtoman yproblemsincludinghumanresourcesystems,reservationsyste ms,andmanufacturingsyste ms.Computersandsoftwarewereseen asthecureallforman ybu sinessissuesweresometimesapp

2、liedblindly.S yste mssometimesfailedtosolvetheproblemforwhichthe yweredesignedforman yreasons including:?Inability to sufficiently understand complexproblems?Notsufficientlytakingintoaccountend -u serneeds,theorganizationalenvironment, and performance tradeoffs?Inability to accurately estimate devel

3、opment time and operational costs?Lack of framework for consistent and regular customer communicationsAtthistime,theconceptofstructuredprogramming,top -downdesign,stepwiserefinement, andmodularityemerged.Structuredprogrammingisstillthe most dominant approach to software engineering and is still evol

4、ving. Thesefailures led to the concept of "software engineering" based upon the idea that anengineering-likedisciplinecouldbeappliedtosoftwaredesignanddevelopment.Softwaredesignisaprocesswherethesoftwaredesignerappliestechniquesandprinciplestoproduceaconceptualmodelthatde scribesanddefines

5、asolutiontoa problem.Inthe beginning,thisdesignprocesshasnotbeenwellstructuredandthemodeldoesnotalwaysaccuratelyrepresenttheproblemof softwaredevelopment.However,designmethodologieshavebeenevolvingtoaccommodatechangesintechnologycoupledwithourincreasedunderstanding of development processes.Whereasea

6、rlydesignmethodsaddressedspecificaspectsofthedevelopmentprocess,currentmethodsatte mpttoaddresstheentirescopeofsoftwaredevelopment.Softwaredesignmethodsareoftenclassifiedin1referencetotheperiodinwhichthe y wereintroducedandtheproblemsatthattime. Driven by coding and testing problems, tools and metho

7、ds were developed.Earlymethodsfocusedonmodularityandtop -downdevelopment,andinformationhidingthroughabstraction.Thisledtothedevelopmentofstructured languages, structured analysis, and data flow analysis.Inthelastdecadeorso,theexpenseinvolvedinautomationhasshiftedfromhardwaretopeople.Therefore,thesof

8、twareengineeringcommunityhasbeen focused on object oriented (O-O) design and the concept of re-usable codeinordertoreducethehumancostcomponent.InefficientdesignsanddevelopmentmethodologieshavebeenaddressedwithComputerAidedSoftwareEngineering(CASE)tools,andfourthgenerationdesignlanguages.Thishasbeend

9、oneinanattemptreplacethetraditionalwaterfalllifecycleprocess model under which most existing software has been developed.一 、 Software Design FundamentalsSoftwaredesignmethodsallaimtoprovidethesoftwaredesignerwithasystemblueprint.Thisblueprintusuallyhas threeaspects:data,architectural,and procedural.

10、?Datadesignrefers to thedata 'sorganization,relationships,accessandprocessing methods.?Architecturaldesigndefinesthe componentsofthe sys temandtheirrelationships.?Proceduraldesignbuildson thedata and architecturaldesignphasestodescribe the processing details of the syste m.Eventhoughtherearenume

11、rousdesignmethodologies,theirbasicconceptsarever y similar-Allsoftwaredesignmethodspartitiontheproblemandsoftwareintosmallerpiecesinordertoreducecomplexity.They allstrivetoidentifydatastructuresandfunctions,andprovidemeasur ementsforsoftwarequality.Someofthecommonprinciplesinsoftwaredesigninclude:st

12、epwiserefinement,softwarearchitecture,programstructure,datastructure,software procedures,mo du la r i ty,ab st r ac t i o n, an di n f or ma t io nh id i n g.2二、M odern D esi gn Methodol ogi esC on ve n t io na l sof t wa r e deve l o pme nt pr act ic es ca n gen er al l y b ema p ped o n to t h e t

13、r ad i tio n a l l i f e - c y cl e p hases o f anal ys i s, f u n c t i o n als p ec i f i c ati on , d esi gn , i mp l eme n ta ti o n, t est i n g, an d m ai n ten an c e. T h i st h o u g ht p r o c ess i s i n ad eq u a te f or t o d ay ' s c o m pl ex i n f o r m a t i on s y st em s. Asth

14、e demand for software is growing much faster than the number of developers,adhering to conventional techniques such as the waterfall method requires toomuch time, too many people,and is difficult to manage. Hence, many newsoftware development technologies have arisen.N ewl yd eve lo p edpr actic es

15、an dmo d els d o no tatte mp t tosep ar atep hases o f sof twa r e development, such asspecification and implementation, but instead focus on the concept ofprogramtransformation through stepwise refinement and iteration.1 、 O b j e ct - O r i en t ed Te c hn o l o g yObject-Oriented (O-O) software d

16、esign technology is fundamentallydifferent from the traditional methods described above. With traditional methods,each module is recognized amajor step in the overall process and the processgoes from one step to the next. On the otherhand, O-O design is structuredaround a model of objects and the fu

17、nctions they perform.O-OprogrammingcanbetracedtothesimulationlanguageSIMULA,a highlevellanguagedevelopedinthe late 60's that introducedobjectclassesasamethodtoencapsulatedata.Later,inthe1970s,Smalltalkwasintroducedasacomplete grapgh design and coding as detail is added to the design. This provid

18、esa commonlanguage throughouteach stagein deve lopment.O -Ois best appliedwithspecificallydesignedO-Odevelopmenttools,butitisimportanttorememberthatas a methodologyisit not specificto anyprogramminglanguage.Many different programming languages can be used to implement0-0 technologyand design methodo

19、logies.Insteadofproceduresandfunctionspassingdatabackandforth,inobjectorienteddesign,thesystem isviewedasa collectionofobjectswithmessagespassed from object to object. Each object has its own set of associated operations.3Object-orienteddesignisbasedontheideaofinformationhidingandmodularizationofbot

20、hdataandprocessing.Itisbestusedwhenneitherdatastructurenor processingoperationsare welldefinedahead oftime.Thisis quiteusefulintoday'sbusinessenvironmentwhererequirementsarealwayschangingandnotverywelldefined.Thus,ithasbecomequitepopular!Theconceptofobjectsperformingservicesis a naturalwayofthin

21、kingforbothdevelopersandcustomers.This facilitates understandingthe problemdomainand amore naturaldesign. In addition, there are many benefits of object-oriented development. Theseinclude:?I n h e r i t an c ec a p i t a l i z eso nt h ec o m m o n a l t yo fa t t r i b u t e sa n ds e r v i c e s a

22、 l l o w i n gc o d ean d objects to be re-used. I n f o r m a t i o nh i d i n gm a k e ss y s t e m sm o r es t ab l e b yl o c al i z i n gc h a n g e st oo b j e c t s a n d t h er e b ym a k i n g t h e m r e u s a b l e.T h eo b j e c t - o r i en t e dd e v e l o p m en tp r o c es si sc o n

23、s i s t en tf r o ma n a l y s i s ,t h r o u g h d es i g n , t oc o d i n g.More information on Object Oriented Programming principles can be foundinChapter4-OrganizationofProgrammingLanguagesandProgrammingConcepts.2 、P r ot o ty p i n gPrototyping was invented because end users participating in t

24、he developmentphasefounditdifficulttounderstandrequirementspecificationsandconceptual models. However, when it first began being used in the 1980s, mostconventional life cycle developers considered itexpensive and time consuming.S i n c eth att i m e,user sandd e v el o p er sh av eu se dp r o t ot

25、y p e ss u cc essf u l l yasacommunicationstooltodemonstratesystemrequirements.After several prototype iterations, developers have a better understanding of userrequirements and users have a better idea of how the system will eventually work,look, andl.T h e n u mb er o ft i me s th e p r oto t yp e

26、 isin c r eme n tal l y r ef in edh o w we l l th e user r equ i r e me n ts an d un de r st ood.I t als o d ep en dsd ep end s o n o n th e u s er s4n eed to ad d r eq u ir eme n tsor c h an g ep r ev i o u sl y st at edr equ i r em ent s. A f t erest abl i s h i n g a n o v er al l a r c h i t ec

27、t u r e a n d f r ame w o r k , t hesys t em i s d ev el o pedan d d el i v er ed inin c r eme n ts. U ser s ma y e x pe r i me n t w i th an d u sed el i v er edi n cr eme n t sw h i l eo t h er sar eb ei ngd ev el o p ed.Fo ri n st anc e ,t hef i r stp r ot o typ e ma y b ed el i v er e d t ha ti

28、m p l e m en t s a ce r t a i n sc r eenw i t ho nl yso m e a ct i v e m en ui t e m s.W h i l eu s er s ar eex p er i me n t i n g w i t h th i s sc r eenan d me n ui tems ,o t h ersc r een sandme nui temsar eco n c ur r e n tl yb ein gd ev el op edwh i c hla t erw il l beco mb in ed w i th th eex

29、is t in g p r o to t yp eas itevo l v es.O n c e t he u se r i s s a t i sf i e d t h at t h e p r o t o t y p e m e e t s r e qu i r e m e nt s , t h ep r o t o t y p e i st r an sf o r me di n to th e " sys t em".T hi s eff or td ep end s o n sev er alf acto r s. I t ma y i n clu de a d

30、di n g f u n ct i o n a l i t yt ha tw a sn ' t i n i t i a l l y r ec og n i z edas r e q u i r ed ,r ep l ac i n g i n e f f i c i e n t p a r t s oft he p r ot o t yp e t o me etp er f o r ma n cec r i t er i a, o radap ti ng th ep r o t ot yp eto f i tt h eu ser 'sh ar d w ar een vi r o

31、n me nt.Pr o t o t y p i n g c an b eg i n v e r y e ar l y,a f t ers o m e p r e l i m i n ar y r equ i r e m e nt san al y si s h asd e ter m i n edth e b asi c f u n ct i o n al i t y,sc op e,an den v i r o n m en to ft h e p r o po s edso f tw ar e. C o nt r ar y to t h etr adi t i on a l w at e

32、r f al lme th od , i nt h ep r ot o typ i n g,f u n ct i o n alsp eci f i c at i o n sar en otf i x ed.R at h er,us er sar een co u r ag edt om o d i f yt h ei rr eq u i r e m en t sast he yt h em se l v e sb eg i nt ou n d er st an dt h emb et te r. T h i si s b ec a useu ser so f t en do n 't

33、r eal l yk n oww hatt h eyw an tu n ti lt heyseei to nt he s cr een.T h ep r o t ot yp i ngp r o c es s o fd emo n s tr a ti o n , r ev i ew,andr ef i n eme n tge t sth e u s er m or e i nv o l v edi n t h ed ev el op m en tpr o ces s,g i v i n gt h ema s en s e ofo w n er shi p d u r i ngth e p r o

34、 c essan da tf i n alsy st em d el i v er y.H o w ev e r,d u eto t h em i n d seto f " pr o to t y p e " ,u ser so f t enf in di td iff ic ul ttove r if yth atth ep r oto typ esatis f ie sth eirr equ ir eme n ts.T her ef o r e, g u id el in es mu st b e e st ab l i shed t o d e te r m in e

35、 wh en t osto pi te r a t in g andth epr o to t yp e tof in alp r o duc t.5外文資料譯文軟件開發(fā)概念和設(shè)計(jì)方法在 20 世紀(jì) 60 年代,大型機(jī)和高級(jí)程序語言被用來解決包括人力資源系統(tǒng)、專有系統(tǒng)和制造系統(tǒng)等許多問題。計(jì)算機(jī)和軟件被視為解決所有商業(yè)問題的萬能藥,有時(shí)候甚至被盲目的應(yīng)用。因?yàn)楹芏嘣O(shè)計(jì)上的原因,這些系統(tǒng)并不是萬能的。主要因素如下:1不能完全理解復(fù)雜的問題2沒有充分滿足終端用戶的需求,組織環(huán)境和性能折中3沒有準(zhǔn)確估計(jì)開發(fā)時(shí)間和運(yùn)行成本4缺乏一致,規(guī)范的客戶通訊框架這個(gè)時(shí)候,結(jié)構(gòu)化的編程,自上而下設(shè)計(jì)的概念出現(xiàn)了。

36、對(duì)軟件工程來說,結(jié)構(gòu)化編程至今仍是最重要的方法且不斷發(fā)展。“軟件工程”概念的出現(xiàn)則是基于這樣的構(gòu)想:一個(gè)類似工程學(xué)的學(xué)科可以應(yīng)用于軟件的設(shè)計(jì)和開發(fā)。軟件設(shè)計(jì)是一種方法,軟件設(shè)計(jì)人員可以籍此應(yīng)用技術(shù)和規(guī)則生成一種描述并定義問題解決方法的模型。最初,設(shè)計(jì)方法一直未能構(gòu)建好,而且模型也不能準(zhǔn)確地描述軟件開發(fā)的問題。然而,隨著我們對(duì)開發(fā)過程的深入理解,設(shè)計(jì)方法已經(jīng)不斷適應(yīng)技術(shù)的變化了。生命周期過程的模型下開發(fā)的,但人們開始嘗試尋找這種模型的替代品。一、軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)方法最終的目標(biāo)就是向軟件設(shè)計(jì)者提供一張系統(tǒng)藍(lán)圖。它通常有三個(gè)方面:數(shù)據(jù),構(gòu)架和過程。數(shù)據(jù)設(shè)計(jì)指的是數(shù)據(jù)的組織、關(guān)系、訪問和處理方法。

37、構(gòu)架設(shè)計(jì)定義系統(tǒng)組件和它們之間的關(guān)系。過程設(shè)計(jì)建立在數(shù)據(jù)和構(gòu)架設(shè)計(jì)階段之上描述系統(tǒng)的處理細(xì)節(jié)。盡管設(shè)計(jì)方法眾多,但它們的基本概念非常相似。為了減少復(fù)雜度,幾乎所有軟件設(shè)計(jì)方法都把問題和軟件分割成較小的部分用于標(biāo)識(shí)數(shù)據(jù)結(jié)構(gòu)、功能以及度量軟件品質(zhì)。軟件設(shè)計(jì)包括以下這些普遍原則:逐步求精、軟件構(gòu)架、6程序結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、軟件過程、模塊化、抽象和信息隱藏。二、現(xiàn)代設(shè)計(jì)方法常規(guī)的軟件開發(fā)實(shí)踐通常能被映射到傳統(tǒng)的生命階段上,包括分析、功能說明、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和維護(hù)。然 而對(duì)軟件需求的增長比軟件開發(fā)者數(shù)量增長要快,遵守常規(guī)的技術(shù)你瀑布模型)耗時(shí)太長,過多人員的參與也帶來了管理上的困難,顯然常規(guī)的思考過程對(duì)

38、于今天的復(fù)雜信息系統(tǒng)是不夠的。因此,產(chǎn)生了許多新的軟件開發(fā)技術(shù)。最新發(fā)展出的實(shí)踐和模型井不試圖把軟件開發(fā)分割成多個(gè)階段(如說明和實(shí)現(xiàn)),而是注重于通過逐步求精和迭代把概念轉(zhuǎn)換成程序。1、面向?qū)ο蟮募夹g(shù)面向?qū)ο蟮能浖O(shè)計(jì)技術(shù)從根本上有別于傳統(tǒng)的設(shè)計(jì)方法。傳統(tǒng)方法中,每個(gè)模塊被當(dāng)作全局過程的一個(gè)主要步驟,一步一步地往下走;而面向?qū)ο蟮脑O(shè)計(jì)圍繞著對(duì)象模型和對(duì)象所執(zhí)行的功能進(jìn)行結(jié)構(gòu)化。面向?qū)ο蟮木幊炭梢宰匪莸椒抡嬲Z言 SIMULA。SIMULA 是一種 20 世紀(jì) 60 年代后期的高級(jí)語言,引入了“對(duì)象類”作為封裝數(shù)據(jù)的方法。到了 20 世紀(jì) 70年 代 , Smalltalk被 作 為 一 種 完

39、全 的 圖 形 用 戶 界 面 ( GUI )面 向 對(duì) 象 的 編 程 環(huán)境 被 引 入 。甚 至 在 30 年 以 后 , Smalltalk 仍 然 是 度 量 其 他 所 有 面 向 對(duì) 象 語 言的標(biāo)準(zhǔn)。由于面向?qū)ο蟮母拍钊遮叧墒欤罱赀@種軟件開發(fā)方法已經(jīng)流行起來。同時(shí),軟件業(yè)注意的焦點(diǎn)己經(jīng)從編碼和結(jié)構(gòu)化過程轉(zhuǎn)移到通過設(shè)計(jì)和柔韌性來節(jié)省勞動(dòng)力成本和時(shí)間。柔韌性變得十分關(guān)鍵,因?yàn)橄到y(tǒng)隨著需求的變化而快速改變:變得更大,更復(fù)雜和更不穩(wěn)定。在面向?qū)ο笾校治龊驮O(shè)計(jì)沒有真正分開。在分析期間,系統(tǒng)對(duì)象及其特性和關(guān)系一起被確定。這些對(duì)象可以護(hù),這樣就給整個(gè)開發(fā)過程中的所有階段提供了一種公用的語言。采用面向?qū)ο蠓椒ㄗ詈檬鞘褂脤iT設(shè)計(jì)的面向?qū)ο蟮拈_發(fā)工具,但是請(qǐng)一定記住它是一種方法而不是特指任何編程語言。許多不同的編程語言都可以用來實(shí)現(xiàn)面向?qū)ο蠹夹g(shù)和設(shè)計(jì)方法。和過程、功能往返傳遞數(shù)據(jù)的方式不同,在面向?qū)ο蟮脑O(shè)計(jì)中,系統(tǒng)被看成一個(gè)由很多互相傳遞消息的對(duì)象組成的集合,每個(gè)對(duì)象都有它自己關(guān)聯(lián)操作的集合。面向?qū)ο蟮?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論