日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面向对象的软件工程应用浅研

發(fā)布時(shí)間:2024/9/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象的软件工程应用浅研 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
來源:http://www.biyelww.com/

  【摘要】隨著面向?qū)ο笱芯康牟粩嗌钊?#xff0c;面向?qū)ο蠹夹g(shù)的應(yīng)用越來越廣泛,面向?qū)ο蟮乃枷氡粦?yīng)用到許多不同的領(lǐng)域。在介紹軟件工程方法的基礎(chǔ)上分析了面向?qū)ο蟮能浖こ谭椒ǖ姆治黾夹g(shù)、設(shè)計(jì)及軟件開發(fā)方法,從而說明了面向?qū)ο蠹夹g(shù)貫穿于軟件開發(fā)的全過程。
  【關(guān)鍵詞】軟件工程;面向?qū)ο?#xff1b;軟件開發(fā)  1.軟件工程的定義  軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科 采用工程的概念、原理、技術(shù)、方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方面結(jié)合起來.經(jīng)濟(jì)地開發(fā)出高質(zhì)量的 軟件并有效地維護(hù)它.這就是軟件工程軟件工程運(yùn)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理.借鑒傳統(tǒng)工程的原則、方法,創(chuàng)建軟件以達(dá)到提高質(zhì)量、降低成本的目的 其中,計(jì)算機(jī)科學(xué)、數(shù)學(xué)用于構(gòu)造模型與算法,工程科學(xué)用于制造規(guī)范、評估成本及確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源質(zhì)量、成本等管理。  2.軟件工程方法的流程  2.1軟件計(jì)劃
  在設(shè)計(jì)任務(wù)確立前.首先要進(jìn)行調(diào)研和可行性研究.理解工作范圍和所花費(fèi)的代價(jià).然后做出軟件計(jì)劃。
  2.2軟件需求分析
  對用戶要求進(jìn)行具體分析.確定用戶要求軟件系統(tǒng)做什么.并用軟件需求規(guī)格說明書表達(dá)出來.作為用戶和軟件人員之間共同的約定。
  2.3軟件設(shè)計(jì)
  根據(jù)需求說明建立軟件系統(tǒng)的結(jié)構(gòu).包括數(shù)據(jù)結(jié)構(gòu)和模塊結(jié)構(gòu)。這部分又分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。
  2.4軟件編碼
  按軟件設(shè)計(jì)的要求為每個(gè)模塊編寫程序。
  2.5軟件測試
  發(fā)現(xiàn)和排除程序中留存的錯(cuò)誤.經(jīng)過測試排錯(cuò).得到可交付運(yùn)行的軟件。軟件測試又分為單元測試和綜合測試兩個(gè)階段。
  2.6軟件維護(hù)
  經(jīng)過測試的軟件仍然可能有錯(cuò).另外 用戶的需求和系統(tǒng)的操作環(huán)境也可能發(fā)生變化,因此,交付運(yùn)行的軟件仍然需要繼續(xù)排錯(cuò)、修改和擴(kuò)充.這就是軟件的維護(hù)。 3.面向?qū)ο蟮能浖こ谭椒?/strong>  3.1面向?qū)ο蟮能浖こ谭椒ǖ亩x
  面向?qū)ο蠹夹g(shù)(OO)是一個(gè)非常實(shí)用而強(qiáng)有力的開發(fā)方法。它是為了提高軟件系統(tǒng)的穩(wěn)定性、可修改性和可重用性創(chuàng)造出來的一種軟件工具,具有方法的唯一 性、高度連續(xù)性等特性,并把面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)和面向?qū)ο缶幊碳傻杰浖嬷芷诘南鄳?yīng)階段面向?qū)ο蟮能浖こ?OOSE)自上至下、自始至終地 貫徹面向?qū)ο笏悸?#xff0c;可以用于系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、程序設(shè)計(jì).也可以用于其他環(huán)境的開發(fā).如數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等。
  3.2面向?qū)ο蟮能浖こ谭椒ǖ奶卣骱鸵c(diǎn)
  面向?qū)ο筌浖こ谭椒ǖ某霭l(fā)點(diǎn)和基本原則.是盡可能模擬人類習(xí)慣的思維方式.使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識世界解決問題的方法與過程.也 就是使描述問題的問題空間(也稱為問題域)與實(shí)現(xiàn)解法的空間(也稱為求解域)在結(jié)構(gòu)上盡可能一致,因此,面向?qū)ο蠓椒ㄓ幸韵碌幕咎卣?#xff1a;
  (1)封裝性:對象是數(shù)據(jù)和有關(guān)操作的封裝體。
  (2)繼承性和類比性:在對象繼承結(jié)構(gòu)上.下層對象繼承上層對象的特征屬性和操作。不同的對象具有某些相同的屬性時(shí).常常把它們歸并成一類。
  (3)動(dòng)態(tài)連接性:對象和對象之間所具有的一種統(tǒng)一、方便、動(dòng)態(tài)地連接和傳遞消息的能力與機(jī)制 動(dòng)態(tài)連接性便于在概念上體現(xiàn)并行和分布式結(jié)構(gòu)。
  (4)易維護(hù)性:任何一個(gè)對象都是把如何實(shí)現(xiàn)對本對象功能的細(xì)節(jié)隱藏在該對象的內(nèi)部。這就增強(qiáng)了對象和整個(gè)系統(tǒng)的易維護(hù)性。
  概括地說.面向?qū)ο蠓椒ň哂邢率鏊膫€(gè)要點(diǎn):
  (1)把對象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。面向?qū)ο蟪绦蚴怯蓪ο蠼M成的.程序中任何元素都是對象.復(fù)雜對象由比較簡單的對象組合而成。
  (2)把所有對象都劃分成類。每個(gè)類都定義了一組數(shù)據(jù)和一組操作,類是對具有相同數(shù)據(jù)和相同操作的一組相似對象的定義。數(shù)據(jù)用于表示對象的靜態(tài)屬性.是對象的狀態(tài)信息 而施加于數(shù)據(jù)上的操作用于實(shí)現(xiàn)對象的動(dòng)態(tài)行為。
  (3)按照父類(或稱基類)與子類(或稱派生類)的關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)(也稱類等級)。在類等級中.下層派生類自動(dòng)擁有上層基類中定義的數(shù)據(jù)和操作.這種現(xiàn)象稱為繼承。
  (4)對象彼此之間僅能通過發(fā)送消息互相聯(lián)系。對象與傳統(tǒng)數(shù)據(jù)有本質(zhì)的區(qū)別,它不是被動(dòng)地等待外界對它施加操作,相反,它是進(jìn)行處理的主體.必須向它發(fā)消息.請求它執(zhí)行它的某個(gè)操作以處理它的數(shù)據(jù).而不是從外界直接對它的數(shù)據(jù)進(jìn)行處理。
  3.3面向?qū)ο蠼?br />   為了更好地理解問題.人們常常采用建立問題模型的方法 通常.模型由一組圖示符號和組織這些符號的規(guī)則組成.利用它們來定義和描述問題域中的術(shù)語和概念。更進(jìn)一步講.模型是一種思考工具.利用這種工具可以把知識規(guī)范地表示出來。
  用面向?qū)ο蠓椒ㄩ_發(fā)軟件.通常需要建立三種形式的模型.它們分別是描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對象模型.描述系統(tǒng)控制結(jié)構(gòu)的動(dòng)態(tài)模型和描述系統(tǒng)功能的功能模 型、這三種模型都涉及數(shù)據(jù).控制和操作等共同的概念.只不過每種模型描述的側(cè)重點(diǎn)不同。這三種模型從三個(gè)不同但又密切相關(guān)的角度模擬目標(biāo)系統(tǒng).它們各自從 不同側(cè)面反映了系統(tǒng)的實(shí)質(zhì)性內(nèi)容.綜合起來則全面地反映了對目標(biāo)系統(tǒng)的需求3.4面向?qū)ο筌浖_發(fā)方法的幾個(gè)階段實(shí)際上.用面向?qū)ο蠓椒ㄩ_發(fā)軟件時(shí),階段 的劃分是十分模糊的.通常在分析、設(shè)計(jì)、實(shí)現(xiàn)等階段問多次迭代。
  (1)面向?qū)ο蠓治觥C嫦驅(qū)ο蠓治?通常縮寫為OOA).就是抽取和整理用戶需求并建立問題域精確模型的過程。面向?qū)ο蠓治龅年P(guān)鍵,是識別出問題域內(nèi) 的對象,并分析它們相互間的關(guān)系,最終建立起問題域的簡潔、精確、可理解的正確模型。在面向?qū)ο蠓治鲋?#xff0c;主要由對象模型、動(dòng)態(tài)模型和功能模型組成。在用面 向?qū)ο笥^點(diǎn)建立起的三種模型中.對象模型是最基本、最重要、最內(nèi)核的。
  (2)面向?qū)ο笤O(shè)計(jì) 從面向?qū)ο蠓治龅矫嫦驅(qū)ο笤O(shè)計(jì)(通常縮寫為OOD)是一個(gè)逐漸擴(kuò)充的過程 或者說.面向?qū)ο笤O(shè)計(jì)就是用面向?qū)ο笥^點(diǎn)建立求解域模型的過程 面向?qū)ο笤O(shè)計(jì)可再細(xì)分為系統(tǒng)設(shè)計(jì)和對象設(shè)計(jì)。系統(tǒng)設(shè)計(jì)確定實(shí)現(xiàn)系統(tǒng)的策略和目標(biāo)系統(tǒng)的高層結(jié)構(gòu)。對象設(shè)計(jì)確定解空間中的類、關(guān)聯(lián)、接口形式及實(shí)現(xiàn)服務(wù)的算 法。
  (3)面向?qū)ο髮?shí)現(xiàn)。面向?qū)ο髮?shí)現(xiàn)主要包括兩項(xiàng)工作:
  第一項(xiàng)工作是把面向?qū)ο笤O(shè)計(jì)結(jié)果.翻譯成用某種程序設(shè)計(jì)語言書寫的面向?qū)ο蟪绦?通常此階段縮寫為OOP);
  第二項(xiàng)工作是測試并調(diào)試面向?qū)ο蟮某绦颉C嫦驅(qū)ο蟪绦虻馁|(zhì)量基本上由面向?qū)ο笤O(shè)計(jì)的質(zhì)量決定.
  但是.所采用的程序設(shè)計(jì)語言的特點(diǎn)和程序設(shè)計(jì)風(fēng)格也將對程序的可靠性、可重用性和可維護(hù)性產(chǎn)生深遠(yuǎn)的影響。
  綜上所述.面向?qū)ο筌浖こ谭椒筛爬槿缦碌倪^程:分析用戶需求.從問題中抽取對象模型:將模型細(xì)化,設(shè)計(jì)類。包括類的屬性和類間相互關(guān)系.同時(shí)考 察是否有可以直接引用的已有類或部件.選定一種面向?qū)ο蟮木幊陶Z言.具體編碼實(shí)現(xiàn)上一階段的設(shè)計(jì).并在開發(fā)過程中引入測試,完善整個(gè)解決方案

總結(jié)

以上是生活随笔為你收集整理的面向对象的软件工程应用浅研的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。