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