前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機軟件工程技術(shù)中的邏輯應(yīng)用探討范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:計算機與邏輯學(xué)之間存在著緊密的聯(lián)系,學(xué)科之間的滲透是當(dāng)代科學(xué)發(fā)展的一個重要趨勢。本文主要探討邏輯學(xué)在軟件工程開發(fā)中的應(yīng)用問題。由于軟件工程技術(shù)所步及的內(nèi)容比較廣泛,因而,本文只是選取軟件工程技術(shù)中軟件部分生命周期以及軟件開發(fā)階段中邏輯的應(yīng)用展開探討。文章主要為了說明軟件工程與邏輯學(xué)之間聯(lián)系的必要性,并簡單地闡述了論文選題的緣由和意義、以及國內(nèi)外研巧的現(xiàn)狀。從軟件工程的概念出發(fā),以需求分析作為切入點,再利用邏輯分析的合理性,主要結(jié)合了邏輯學(xué)中概念的內(nèi)潘和外延的應(yīng)用,通過對軟件開發(fā)階段軟件的分析,分別從各個階段出發(fā),再次結(jié)合邏輯學(xué)中概念的限制和概括、種屬關(guān)系認(rèn)及真值函數(shù)的對比等方面進(jìn)斤研巧,同時結(jié)合一些實例來進(jìn)一步說明邏輯學(xué)在其中的應(yīng)用。
關(guān)鍵詞:軟件工程;邏輯學(xué);概念;邏輯方法
0引言
軟件工程研究至目前表明,現(xiàn)代邏輯對于人工智能深入研究相對較多,例如軟件工程技術(shù)在軟件開發(fā)團隊模式的研究,其合理性的分析主要利用邏輯方法進(jìn)行,在整個開發(fā)組中的過程中,合理定義各種角色、職務(wù)以及技能需求,定義開發(fā)團隊中的“某人”在“某時間”,做了“某事”,“如何做”等以及怎樣測評這些內(nèi)容。在發(fā)展軟件團隊的過程中,不斷改進(jìn)生產(chǎn)效率以及軟件產(chǎn)品質(zhì)量,深入研究軟件工程中的軟件領(lǐng)域建模,即數(shù)學(xué)建模。交叉學(xué)科的應(yīng)用度可以影響其他學(xué)科以及邏輯學(xué)的進(jìn)步,在信息科學(xué)的運用中,讓其起到完善計算機科學(xué)理論,并提供應(yīng)用方法。關(guān)于計算機軟件設(shè)計的內(nèi)同,緊密相關(guān)聯(lián)邏輯發(fā)展以及應(yīng)用,兩者關(guān)乎融合,也體現(xiàn)了存在于其中的交叉性與容和習(xí)慣,另外,不管是邏輯研究還是市場分析研究,在研究智能軟件的過程中都將認(rèn)知邏輯、數(shù)理邏輯、非形式邏輯以及人工智能作為開發(fā)方向的邏輯工具,將主要背景定義為人類知識表達(dá)。融合現(xiàn)代學(xué)科的只是表達(dá)以及推理的特點,進(jìn)行智能化推力模型的構(gòu)建,開發(fā)的智能軟件需要帶有實用性,這在人文社會科學(xué)發(fā)展中,起到了技術(shù)成果轉(zhuǎn)變?yōu)樯a(chǎn)力的作用。在研究中,除了對數(shù)學(xué)建模方面知識的運用,也要使用于計算機軟件設(shè)計知識,和邏輯發(fā)展緊密相連、應(yīng)用密切,這就是所謂學(xué)科中間的在交叉與融合的過程。不管是對于市場分析,還是開展研究,這些都非常的重要。本文的選取角度是軟件工程技術(shù),這項研究可以說貫徹了軟件工程技術(shù)一系列的內(nèi)同,特別具有理論研究意義。
1軟件工程技術(shù)中的軟件部分生命周期邏輯的應(yīng)用
相對于軟件工程技術(shù),怎樣在各個階段提高軟件的工作效率,十分重要,描述軟件、管理軟件還有軟件文檔等各方面的技巧研究,都是軟件工程技術(shù)研究的部分。軟件工程研發(fā)的方法、工具以及過程中看來,都需要從要素入手進(jìn)行研巧的開展。在邏輯學(xué)中,使用類比法將軟件工程看作是軟件工程的每一個生存周期,也可以比喻成人的生命周期。從嬰兒進(jìn)化到幼兒的過程中,軟件同人類是一樣的,從定義出發(fā),在階段之中設(shè)計的問題,分析其可行性,一款軟件怎么進(jìn)行需求分析與定義,對于后期的軟件開發(fā)以及維護都很重要;另外,從兒童成長到少年,再成長為中年,可以與軟件開發(fā)階段進(jìn)行比較,這一階段的研究依舊要著手于需求分析,還需要進(jìn)行概念設(shè)計,并進(jìn)行詳細(xì)設(shè)計,與此之外還有編寫代碼的通過,在測試后,軟件。
1.1軟件定義階段邏輯的應(yīng)用
進(jìn)行軟件定義的過程中,有以下幾個方面很重要,分別是:定義問題,分析可行性,合同的立項與簽訂。在典型范圍的描述下,需要注意幾點:初始需求的請清單;客戶范圍內(nèi)的約束;開發(fā)者范圍內(nèi)的約束。在某個軟件設(shè)計的過程中,必須要考慮其市場價值的。此時主要選用簡單或者易實現(xiàn)的方案來達(dá)成目的。所以,相對于軟件開發(fā)者來說,在軟件的這一階段里,必須明確軟件的可以操作與不需要操作內(nèi)容,這樣才能明確軟件的設(shè)計出發(fā)點與目的,并不是在盲目追求實現(xiàn)與運行各種功能,而忽略了功能對于軟件的必要性與有效性。在軟件開發(fā)過程中,設(shè)計一個合理精確的范圍文檔是非常關(guān)鍵的。比如:某醫(yī)院需要一款醫(yī)藥管理軟件,軟件功能是病人可以通過其查看醫(yī)藥的價格,但不能查看庫存與盤點藥品的功能等。但是在設(shè)計之初,開發(fā)者對這一需求的定義不明確,那么就會造成這款軟件的功能不明確。導(dǎo)致了設(shè)計出來的醫(yī)藥管理軟件,不符合要求,也給雙方造成很多麻煩。這就是因為設(shè)計初期不明確目的的影響。在邏輯學(xué)運用到概念中,在對比與運用中,完善軟件定義階段。
1.2領(lǐng)域建模邏輯的應(yīng)用
任何概念在邏輯學(xué)中都能看作是“類概念”,也就是說,概念是思維的一種形式,它承載著相關(guān)的思維內(nèi)筒,同時也是對理性認(rèn)識的一種基本形式。概念,相關(guān)于語詞和詞組。在邏輯學(xué)的概念中,主要分為幾種:首先,對概念的肯定或否定,不管對何時來說,這兩者的概念都相同,主要根據(jù)概念反應(yīng)的對象,進(jìn)行屬性的區(qū)分。當(dāng)然這中間肯定概念與否定概念,也分別被稱作正概念與負(fù)概念;其次,相對于普通概念,單獨概念外延分子是1,指的是1個對象,也就是事物、專名與摹狀物的獨一無二面,相對于單獨概念來說的普通概念是外延分子大于2,指的就是對象、形容詞或者動詞。兩者看來,是根據(jù)反應(yīng)對象數(shù)目差異進(jìn)行劃分的。第三,主要是關(guān)于集合與非集合的概念,主要是將反應(yīng)集合體成為集合的概念,另外,非集合概念也就是不反映集合體的概念。個體涵蓋了兩個以及連個以上的組成統(tǒng)一整體,也就是集合體。綜上所述,每個概念的不同內(nèi)涵與外延劃分的共同形式進(jìn)行劃分的上述幾種概念,所以概念的本質(zhì)是概念的內(nèi)涵或者外延。這兩者的特點說明的概念分別從量與質(zhì)出發(fā)的。從字面上進(jìn)行理解,外延也就是概念使用的范圍,內(nèi)涵只得是概念特有的屬性。領(lǐng)域建模在計算機軟件工程中都可以運用上面所說的只是,過渡到類圖建模就必須分析領(lǐng)域建模,這也幫助了對于領(lǐng)域建模的了解。領(lǐng)域建模里,存在一個問題域,也就是對相關(guān)事務(wù)或者概念對象的研究。問題域之中的對象靜態(tài)模型通常運用圖形來表示。領(lǐng)域模型里面,主要描述有以下幾點:概念之間、概念類的屬性以及概念類之間存在的關(guān)聯(lián)。從幾個方面入手進(jìn)行表達(dá);分貝時符合、內(nèi)涵與外延。第一,符合,指的是領(lǐng)域類里面的圖片或者單詞;第二,內(nèi)涵,是定義領(lǐng)域類,與邏輯學(xué)內(nèi)涵有著相同點,領(lǐng)域類定義其中的事例就是此時的外延。舉例說明:在某個銷售中,領(lǐng)域建模包含了sale、date和time,作為一次銷售,這是一種購買交易時間,它具有時間與日期,但是外延則是從sale-1、sale-2、sale-3,所以邏輯學(xué)的概念也可以應(yīng)用在領(lǐng)域建模中,這個內(nèi)涵也是我們之前了解到的種屬關(guān)系,在限制或者概括的過程中,可以通過其更好的理解領(lǐng)域建模內(nèi)涵,這里也就不進(jìn)行舉例說明了。
2軟件開發(fā)階段邏輯的應(yīng)用
通常情況下,軟件開發(fā)氛圍五個階段:需求分析;軟件設(shè)計;代碼生成;軟件測試;軟件維護。接下來說明邏輯學(xué)就從這五個階段中進(jìn)行。
2.1需來分析階段的應(yīng)用
相對于軟件需求分析,我們需要明白,設(shè)計軟件到底需要滿足用戶的什么需求,用戶在進(jìn)行軟件需求的描述中,需要與軟件開發(fā)者進(jìn)行協(xié)商,雙方達(dá)成一致后,就需要一個描述范圍的文檔,這個文檔需要良好的描述,并且還需要進(jìn)行細(xì)化,每一項都必須精確,這個細(xì)化過程中,我們將它成為需求分析。在軟件研發(fā)中,需求分析可以說非常重要。所以在分析需求的過程中,需要劃分較多時間進(jìn)行研究。如果不愿意花費時間進(jìn)行研究,那么就會造成后期的返工與失敗,這個問題也是大多數(shù)軟件工程師初期不注意的,造成了軟件設(shè)計成果與用戶需要的軟件不同,或者沒有達(dá)到用戶的要求。在浪費人力、財力以及物力的過程中,對開發(fā)團隊和項目組都造成了很大的麻煩。所以,在進(jìn)行數(shù)據(jù)描述的過程中,設(shè)計者不能單獨考慮,需要結(jié)合各個數(shù)據(jù),進(jìn)行分析,通常采取圖形化的方式進(jìn)行描述,也可以直觀的反應(yīng)數(shù)據(jù)模型之間的關(guān)系。相當(dāng)于邏輯學(xué)里面的歐拉圖,通??梢杂脷W拉圖來表示概念外延的關(guān)系。然而軟件規(guī)格說明中,需要盡可能的做到清晰明了、完全外、避免矛盾以及二義性。
2.2軟件設(shè)計(規(guī)范巧述)的應(yīng)用
如何具體說明實現(xiàn)在計算機系統(tǒng)與軟件中的內(nèi)同?在上述規(guī)范化描述的過程中,可以看出是從需求到軟件的一種設(shè)計,這個過程可以看做是非形式轉(zhuǎn)化到形式,這種階段我們一般從兩種方面進(jìn)行考慮,第一,軟件需求轉(zhuǎn)化成一種軟件體系的結(jié)構(gòu)。必須在這個階段中確定系統(tǒng)接口、全局?jǐn)?shù)據(jù)結(jié)果以及數(shù)據(jù)庫模式,也可稱之為概念設(shè)計,另外需要對模塊進(jìn)行算法的實現(xiàn)。在局部數(shù)據(jù)結(jié)構(gòu)中,需要使用恰當(dāng)?shù)姆绞竭M(jìn)行結(jié)構(gòu)季節(jié)的算法表述與數(shù)據(jù),也稱其為詳細(xì)設(shè)計階段。軟件需要一個分析需求以及描述階段,主要作用是說明。系統(tǒng)設(shè)計階段就是為了達(dá)到這一目的,而眾所周知,數(shù)理邏輯與計算機科學(xué)具有很大的關(guān)系。數(shù)理邏輯主要是將人類思維進(jìn)行分解,變成簡單而機械的運算,利用機器進(jìn)行模擬。這時出現(xiàn)了計算機與電子計算機。計算機在使用的過程中要進(jìn)行程序設(shè)計。需要研究者有充分的數(shù)理邏輯訓(xùn)練,這樣才能很好地從事這一類設(shè)計。在設(shè)計程序的時候,怎么保證程序正確,在計算過程中怎么防止錯誤計算情況及時的發(fā)現(xiàn)錯誤,并加以改正?這些都是關(guān)于程序設(shè)計理論非常根本與重要的內(nèi)容,大多數(shù)認(rèn)為,數(shù)理邏輯與這些內(nèi)容關(guān)系很大。如果使用的是計算機語言來書寫這種數(shù)理邏輯,那么就是數(shù)理邏輯應(yīng)用在計算機。
2.3代碼生成中的聯(lián)系
下面我們通過代碼的生成來看計算機與邏輯學(xué)的聯(lián)系,我們都知道命題邏輯中的幾種聯(lián)結(jié)詞,等值一般用表示,而計算機中的等值我們通常用來表示,對于邏輯中的運用主要是對真值形式的判斷,當(dāng)我們需要對兩種真值形式進(jìn)行判斷時候,我們就可運用真值表法,通過計算得出這兩種真值形式相等,則該表達(dá)式為真,如果通過計算這兩個表達(dá)式的真值不相等,則該表達(dá)式為假,那么在計算機中又是如何的呢?對于下面的登陸程序而言,當(dāng)你輸入口令或輸入密碼正確的時候,它根據(jù)一開始設(shè)置的情況進(jìn)行判斷,如果登陸用戶所輸入的口令或密碼與這個程序的口令或密碼相同,那么就為真,其結(jié)果就是返回登陸成功,登陸到主界面;如果登陸用戶輸入的口令或密碼與這個程序的口令或密碼不相同,那么就為假,登陸不成功。當(dāng)巧對于一個具體的購物網(wǎng)站而言,當(dāng)用戶在選擇商品的時候,比如加入購物車的時候,如果超過一定的時限,還沒有購買的話,就會失效,一下就有這3種代碼的具體表述。我們可til拿計算機中的代碼舉個例子,比如登陸程序的各種關(guān)聯(lián),我們可以看到前臺代碼例如:當(dāng)輸入正確的用戶名和密碼的時候就會有Login登陸界面相關(guān)代碼。在網(wǎng)購付款時,沒有在規(guī)定時間內(nèi)付完款,那么就會要求你重新登陸,這個時候在編寫代碼的時候會有個LockForm的代碼,此功能是針對長時間未登錄,系統(tǒng)被鎖定。當(dāng)然用戶登錄進(jìn)去后,會看到一個主界面。在計算機中我們稱之為:Mseteorm的代碼。以上三個個程序,我們也可從邏揖學(xué)的角度來看,在實踐中,我們不僅需要軟件規(guī)格說明和驗證,更希望有系統(tǒng)的方法把規(guī)格說明逐步演化成程序,即屬于自動程序成(ASP)的研究領(lǐng)域。E在演繹過程中有兩種關(guān)系即水平關(guān)系和垂直關(guān)系,而上述H個程序么間也存在著這樣的關(guān)系,如果從垂直關(guān)系的角度來看,如果Login登陸界面和LockForm長時間未登錄能夠正確運行,LockForm長時間未登錄和MasterForm登陸進(jìn)去的主界面也能正常運行,那么LockForm長時間未登錄能夠正確運行和Maste將orm登陸進(jìn)去的主界面也一定能夠運行實現(xiàn)。至于水平關(guān)系,由于篇幅關(guān)系就不把其余剩下的代碼一一列舉出來,縱觀這3個程序,不難發(fā)現(xiàn)它們都存在著函數(shù)的調(diào)用,會調(diào)用某個公共的函數(shù)。
3軟件測試階段的應(yīng)用
軟件測試是在軟件的全部模塊設(shè)計實現(xiàn)之后進(jìn)入的階段。對于軟件工程中的軟件測試我們知道,就它的整體而言其主要目的就是尋找軟件存在的各種BUG,而測試人員只要找出來并不需要測試人員去修改,而是經(jīng)過測試經(jīng)理的審核,然后轉(zhuǎn)給相對應(yīng)的開發(fā)進(jìn)行修改,開發(fā)修改完畢,會有一個回歸問題的流程,所謂問題的回歸就是將原先存在的問題,經(jīng)過開發(fā)修改之后測試再次進(jìn)行問題是否解決的一種驗證。在測試么前,每一個測試人員都需要學(xué)習(xí)需要測試的軟件的業(yè)務(wù)功能,只有在自己學(xué)會了正確的功能應(yīng)該是什么樣子的,才能對比出,軟件存在的缺陷和不足,從而提出問題的所在。就比如對網(wǎng)絡(luò)安全的測試這一塊,就需要測試人員對網(wǎng)絡(luò)安全的知識有所把握;在對網(wǎng)管軟件進(jìn)行測試的時候,就要知道設(shè)備測試時用到的簡單的配置的命令,知道如何通過在設(shè)備側(cè)通過命令來搭建業(yè)務(wù),當(dāng)然也是需要知道業(yè)務(wù)的基本的流程的,W及也要知道在網(wǎng)管進(jìn)行業(yè)務(wù)的搭建,W及兩者之間進(jìn)行對比查看彼此的異同點來尋找BUG等等。很顯然,在此時我們用邏輯學(xué)中的觀察、在這個過程中存各種還餐銜接,有利于測試人員更好的掌握業(yè)務(wù)的基本流程,從而利于軟件開發(fā)人員進(jìn)行糾錯和簡化運算,提高效率。
4軟件維護中的應(yīng)用
現(xiàn)在科技產(chǎn)品一般都有維修站,一般如果當(dāng)用戶在使用某個產(chǎn)品的時候如果出現(xiàn)一些問題,如何及時反饋和維修,這時候就需要用戶在使用軟件的時候認(rèn)真的記錄下出現(xiàn)的問題,這樣對于軟件工程師后期對軟件的維護和修改才能找到癥結(jié)所在。既然軟件的錯誤和缺陷是確實存在的,這種情況一般我們也避免不了。此時使用軟件的用戶和軟件設(shè)計者之間就存在著一個矛盾,那么我們該如何避免這樣的矛盾呢?這也能通過邏輯學(xué)里的一些小知識點來看,如何理解用戶和軟件設(shè)計者的矛盾問題,可對比得出比較科學(xué)的結(jié)論。作為使用軟件的用戶肯定希望能夠盡快把軟件的問題和缺陷而改掉,而對于軟件設(shè)計者而言,改掉這些缺陷巧錯誤需要一定的時間。這樣的一個過程,在軟件工程中稱為軟件的維護,這樣的一個維護過程從軟件的生命周期來看,相對而言也是最長的一個周期。軟件的可靠性也是其中比較重要的因素之一,這就需要軟件開發(fā)人員有良好的程序設(shè)計風(fēng)格。這樣才能在軟件開發(fā)的過程中更好的做起維護服務(wù)。在我們生活中,我們知道生活離不開交流,交流離不開語言,同樣的我們?yōu)橛嬎銠C編寫程序,需要設(shè)計出計算機能看懂的語言。當(dāng)然隨著工作環(huán)境或者硬件環(huán)境的變化,有些機器語言的可移植性會變差,因而如何才能更好的把機器語言用到計算機中,我們需要一個良好的用戶文檔。這樣對于后期的維護和發(fā)展比較好。
5總結(jié)
本文在一方面通過對計算機軟件工程中的部分生命周期各個階段進(jìn)行研究,發(fā)現(xiàn)其與邏揖學(xué)之間的聯(lián)系,并且通過列舉一些事例作為解析這些應(yīng)用之間的關(guān)系,以便更好的說明邏輯學(xué)在其中的應(yīng)用,并在軟件開發(fā)階段中有涉及到邏揖應(yīng)用的方面也做了比較和拓展。此外,在另一個方面,本文選取軟件開發(fā)中其他軟件工程技術(shù)為視角,詳細(xì)說明了一些邏輯方法在軟件開發(fā)過程中,特別是對于開發(fā)團隊的一些應(yīng)用。分別說明了一堅邏輯方法在軟件開發(fā)團隊中的應(yīng)用,更加詳細(xì)的論述了邏輯學(xué)在計算機軟件工程中的作用,強化了邏輯學(xué)應(yīng)用。同時,通過此文,不難發(fā)現(xiàn)邏輯學(xué)與眾多學(xué)科之間的交叉關(guān)系,在科學(xué)決策的時候與管理學(xué)有聯(lián)系、在領(lǐng)域建模的時候與數(shù)學(xué)有聯(lián)系、在實際應(yīng)用時候與計尊機有著密切的聯(lián)系,因而本文著重從邏輯學(xué)的應(yīng)用方面論述其重要性。邏輯學(xué)中特別是數(shù)理還輯在人工智能方面的研究也是當(dāng)今的重點之一,由于相關(guān)知識儲備不充分,就沒有在這方面進(jìn)行展開討論,其中的代碼編寫方面也是粗略的進(jìn)行了比較,沒有深入研究,因此,本文在這些方面有待進(jìn)一步考慮。綜上,跨學(xué)科的研究需要不斷的進(jìn)行知識的積累,邏輯學(xué)與計算機中的密切相關(guān),軟件工程技術(shù)中也有著重要的應(yīng)用價值。
參考文獻(xiàn):
[1]古樂,史九林編著.軟件測試-技術(shù)概論[M].北京:清華大學(xué)出版化2004.
[2]葫飛,武勝君,杜承烈,等.軟件工程基礎(chǔ)[M].北京:窩等教育出版社2008
[3]黃錫滋.軟件可靠性、安全性與質(zhì)量保證[M].電子工業(yè)出版化,2002.
[4]李友仁.軟件工程與軟件質(zhì)量分析[M].電子工業(yè)出版社,1987.
[5]汪定偉,王俊偉編著.智能優(yōu)化方法[M].高等教育出版化,2007.
[6]江天攫編著.當(dāng)代西方科學(xué)哲學(xué)[M].中國社會科學(xué)出版狂,1984.
[7]任曉明,桂起權(quán)主編主編,計算機科學(xué)哲學(xué)研究:認(rèn)知、計算與目的性的哲學(xué)思考[M].北京:人民出版社,2010.
作者:耿玉 單位:曲阜師范大學(xué)信息科學(xué)與工程學(xué)院