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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

软件开发与设计

發(fā)布時間:2023/12/29 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件开发与设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本人經(jīng)常對模塊化編程、面向?qū)ο缶幊?#xff0c;以及他們與軟件設(shè)計的關(guān)系有點模糊,且不清楚他們之間的層次聯(lián)系,今天翻閱了書本資料和百度百科資料進(jìn)行了整理如下:

軟件設(shè)計(或者說怎樣構(gòu)建一個(稍具規(guī)模的)軟件):確定軟件的總體架構(gòu)(架構(gòu)包括了整個關(guān)聯(lián)系統(tǒng),框架指的是單個系統(tǒng)的骨架),把整個軟件系統(tǒng)劃分成大大小小的多個子系統(tǒng),設(shè)計每個子系統(tǒng)的具體結(jié)構(gòu)。

軟件開發(fā)(目前在有兩種主流的開發(fā)方法):結(jié)構(gòu)化開發(fā)和面向?qū)ο箝_發(fā)。

結(jié)構(gòu)化開發(fā)是一種比較傳統(tǒng)的開發(fā)方法,早期的高級編程語言,如Basic、C、Pascal等,都是支持結(jié)構(gòu)化開發(fā)的編程語言。隨著軟件技術(shù)的逐步發(fā)展,為了進(jìn)一步提高軟件的可重用性、可擴(kuò)展性和可維護(hù)性,面向?qū)ο蟮木幊陶Z言及面向?qū)ο蟮脑O(shè)計理論應(yīng)運而生,Java、C#、Smalltalk等都是支持面向?qū)ο箝_發(fā)的語言。另外,C++、ES6是既支持結(jié)構(gòu)化開發(fā),又支持面向?qū)ο箝_發(fā)。其實,面向?qū)ο笫且环N設(shè)計思想,是以對象為核心。比如,面向?qū)ο笳Z言是一類以對象作為基本程序結(jié)構(gòu)單位的程序設(shè)計語言。雖然C語言原本是面向過程的語言,但我們還是可以利用 C 語言本身已有的特性來實現(xiàn)面向?qū)ο蟮囊恍┗咎卣?#xff0c;比如封裝、繼承、多態(tài)。

結(jié)構(gòu)化開發(fā)(SASD,1978年提出):也稱面向功能的軟件開發(fā)方法。它首先用結(jié)構(gòu)化分析(Structure Analysis,SA)對軟件需求進(jìn)行分析,然后用結(jié)構(gòu)化設(shè)計(Structure Design,SD)方法進(jìn)行總體設(shè)計,最后進(jìn)行結(jié)構(gòu)化編程(Structure Programming,SP)。
結(jié)構(gòu)化設(shè)計:自頂向下設(shè)計,首先考慮整個軟件系統(tǒng)的功能,然后按照模塊劃分的一些基本原則(如內(nèi)聚性和松耦合)等,對功能進(jìn)行分解,把整個軟件系統(tǒng)劃分為多個模塊,每個模塊實現(xiàn)特定的功能。
結(jié)構(gòu)化編程:程序的主體是方法,方法是最小的功能模塊,每個方法都是具有輸入輸出的子系統(tǒng),方法的輸入數(shù)據(jù)來于方法參數(shù)、全局變量和常量。

缺點:結(jié)構(gòu)化設(shè)計的局限性在于不能靈活的適應(yīng)用戶不斷變化的需求。當(dāng)用戶需求發(fā)生變化,比如修改現(xiàn)有功能實現(xiàn)方式或追加新的功能時,就需要自頂向下的修改模塊的結(jié)構(gòu),有時候甚至整個軟件系統(tǒng)的設(shè)計被完全推翻。

面向?qū)ο箝_發(fā): 把軟件系統(tǒng)看成各種對象的集合,對象就是最小的子系統(tǒng),一組相關(guān)的對象能夠組合成更復(fù)雜的子系統(tǒng)。
面向?qū)ο蟮姆治雠c設(shè)計:致力于建立模擬問題領(lǐng)域的對象模型。建立對象模型既包括自底向上的抽象過程,也包括自頂向下的分解過程。
a) 自底向上的抽象:把問題領(lǐng)域的事物抽象具有特定屬性和行為的對象–》抽象出類–》抽象出父類。
b) 自定向下的分解:系統(tǒng)的進(jìn)一步分解因有具體的對象為依據(jù),所以分解過程比較明確,而且也相對容易。

總結(jié)

以上是生活随笔為你收集整理的软件开发与设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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