深夜福利网-深夜福利网站大全,国产一区二区三区久久精品,99re6热在线精品视频播放,日韩中文字幕视频免费,影院一区二区小说性鲍视频

知名百科 >> 自動(dòng)程序設(shè)計(jì) >> 歷史版本
編輯時(shí)間歷史版本內(nèi)容長(zhǎng)度圖片數(shù)目錄數(shù)修改原因
2023-06-03 11:28 最新歷史版本 4452 1 2 修正錯(cuò)誤,新增圖片
  返回詞條

自動(dòng)程序設(shè)計(jì)

自動(dòng)程序設(shè)計(jì)指的是用自動(dòng)化手段進(jìn)行編程的技術(shù)和過(guò)程。后來(lái)擴(kuò)展到用自動(dòng)化手段進(jìn)行軟件開(kāi)發(fā)的技術(shù)和過(guò)程。在后一種意義上,應(yīng)該叫軟件自動(dòng)化。其目的是提高軟件生產(chǎn)率和軟件產(chǎn)品質(zhì)量。

目錄

定義概念

自動(dòng)編程這個(gè)詞有很多意思。從廣義上講,自動(dòng)編程就是盡可能地使用計(jì)算機(jī)系統(tǒng)(尤其是自動(dòng)編程系統(tǒng))開(kāi)發(fā)軟件的過(guò)程。軟件開(kāi)發(fā)是指從問(wèn)題的非正式描述到軟件功能的正式規(guī)格說(shuō)明的過(guò)程、設(shè)計(jì)規(guī)范,到可執(zhí)行程序代碼、調(diào)試,及至確認(rèn)、交付和使用的全過(guò)程。

自動(dòng)程序設(shè)計(jì)是從正式的軟件功能規(guī)范到可執(zhí)行程序代碼的過(guò)程的自動(dòng)化。按照縱向的理解,底層自動(dòng)化是從軟件設(shè)計(jì)規(guī)范到可執(zhí)行程序代碼這一過(guò)程的自動(dòng)化,系統(tǒng)只扮演程序員的角色;中間自動(dòng)化是軟件功能的正式規(guī)范、設(shè)計(jì)規(guī)范表明,在可執(zhí)行程序代碼的過(guò)程實(shí)現(xiàn)自動(dòng)化之前,系統(tǒng)不僅扮演程序員的角色,還扮演設(shè)計(jì)者的角色、系統(tǒng)分析師的角色;高級(jí)自動(dòng)化是從非正式的問(wèn)題描述到正式的軟件功能規(guī)格說(shuō)明、軟件設(shè)計(jì)規(guī)范表明,在可執(zhí)行程序代碼的全過(guò)程自動(dòng)化之前,系統(tǒng)不會(huì)只有程序員、軟件設(shè)計(jì)人員、除了系統(tǒng)分析師的角色之外,還扮演一部分領(lǐng)域?qū)<业慕巧0凑諜M向理解,在上述縱向理解層次上,根據(jù)人工干預(yù)的程度,可以區(qū)分出不同的自動(dòng)化水平。

技術(shù)實(shí)現(xiàn)

從關(guān)鍵技術(shù)的角度來(lái)看,自動(dòng)程序設(shè)計(jì)的實(shí)現(xiàn)可以概括為演繹綜合、程序轉(zhuǎn)換、實(shí)例推廣和流程實(shí)現(xiàn)。

①演繹綜合。其理論基礎(chǔ)是數(shù)學(xué)定理的構(gòu)造性證明可以等價(jià)于程序推導(dǎo)。用戶(hù)將其輸入提供給要生成的程序、輸出數(shù)據(jù)必須滿(mǎn)足的條件,該條件是用某種形式語(yǔ)言表示的(如謂詞演算)陳述。對(duì)于所有這些滿(mǎn)足條件的輸入,要求定理證明程序證明存在一個(gè)滿(mǎn)足輸出條件的輸出,從這個(gè)證明中提取出要生成的程序。這種方法的優(yōu)點(diǎn)是有堅(jiān)實(shí)的理論基礎(chǔ),但迄今為止只分析了少數(shù)小樣本,難以用于大規(guī)模程序。

②程序轉(zhuǎn)換。將一個(gè)規(guī)范或程序轉(zhuǎn)換成另一個(gè)功能等同的規(guī)范或程序。從抽象層次的異同,可以區(qū)分出縱向轉(zhuǎn)化和橫向轉(zhuǎn)化。前者是將抽象程度較高的規(guī)范或程序轉(zhuǎn)化為與其功能相當(dāng)?shù)某橄蟪潭容^低的規(guī)范或程序;后者是同一抽象層次的規(guī)范或程序之間的功能等價(jià)轉(zhuǎn)換。

③實(shí)例推廣。用反映程序行為的例子構(gòu)建一個(gè)程序。一般有兩種方法。一種是輸入/輸出對(duì)法:通過(guò)給出一組輸入/輸出對(duì),逐步衍生出適合一類(lèi)問(wèn)題的程序。另一種是部分程序軌跡法:通過(guò)給出實(shí)例的運(yùn)行軌跡,逐步導(dǎo)出程序。這種方式的想法很吸引人,受到用戶(hù)的好評(píng),但是要總結(jié)出一定規(guī)模的節(jié)目還是相當(dāng)困難的。

④過(guò)程實(shí)現(xiàn)。在對(duì)應(yīng)的規(guī)范中對(duì)應(yīng)的組件明確,對(duì)應(yīng)的轉(zhuǎn)換映射也明確的前提下,可以借助流程實(shí)現(xiàn)映射。目前一般都是設(shè)計(jì)非常高級(jí)的語(yǔ)言(如SETL),其中包含全稱(chēng)量詞存在量詞等,以便編寫(xiě)軟件設(shè)計(jì)規(guī)范的組件。然而,SETL本身不是函數(shù)式規(guī)范語(yǔ)言,也不是函數(shù)式語(yǔ)言。這種方式實(shí)現(xiàn)效率高,難點(diǎn)在于從非算法構(gòu)件到算法構(gòu)件的轉(zhuǎn)換。因此,迄今為止采用這種方法的系統(tǒng)一般自動(dòng)化程度不高,難以實(shí)現(xiàn)從功能規(guī)范到可執(zhí)行程序代碼的自動(dòng)轉(zhuǎn)換。