馮景利
(寶雞職業(yè)技術(shù)學院 陜西 寶雞 721000)
隨著信息技術(shù)的不斷發(fā)展,計算機應用軟件的開發(fā)成為信息技術(shù)得以應用的關(guān)鍵環(huán)節(jié)。人工智能技術(shù)在計算機應用軟件開發(fā)的過程中起到了極其重要的作用,人工智能技術(shù)的應用提高了計算機應用軟件開發(fā)的水平。通過人工智能技術(shù)可以有效地優(yōu)化計算機應用軟件的智能功能,使計算機軟件用戶可以得到更加便捷和完善的軟件服務。因此在開發(fā)計算機應用軟件時,必須重視人工智能技術(shù)的應用[1]?,F(xiàn)階段由于人工智能技術(shù)的存在,其拓展了計算機應用軟件的發(fā)展空間。根據(jù)基于人工智能技術(shù)的計算機應用軟件開發(fā)基本原理,計算機應用軟件可以擁有更加豐富的功能,為用戶提供更好的使用體驗。因此為了進一步提高計算機應用軟件開發(fā)的技術(shù)水平,持續(xù)為計算機應用軟件用戶提供更好的使用體驗,就需要對基于人工智能的計算機應用軟件開發(fā)技術(shù)進行應用分析。
當前隨著科技發(fā)展和人工智能的廣泛應用,其應用于博弈論和戰(zhàn)略規(guī)劃、媒體、圖像處理、金融的傳統(tǒng)領(lǐng)域中。隨著相關(guān)技術(shù)的不斷發(fā)展,人工智能技術(shù)在機器人、自然語言處理、醫(yī)學診斷和量子科學等領(lǐng)域也有了大量的應用。人工智能技術(shù)的主要行為方式包括以下幾種。
1.1.1 智能代理
智能代理是一種幫助人們執(zhí)行某項任務的軟件。智能代理允許人們將他們的工作移交給代理軟件。代理可以執(zhí)行重復的任務,儲存用戶遺忘的信息,智能地總結(jié)復雜的數(shù)據(jù),向使用者學習,并向使用者提供建議。
1.1.2 機器學習
機器學習使計算機有能力在沒有明確編程的情況下進行學習,機器學習已經(jīng)應用于自動駕駛汽車,有效的網(wǎng)絡(luò)搜索,實際的語音識別,并提高了對人類基因組的了解。機器學習在日常生活中非常普遍,但是用戶在使用的過程中幾乎沒有感知到機器僧體系的存在。部分研究顯示通過良好的機器學習,相關(guān)軟件甚至可以展示與人類行為同等水平的人工智能。
1.1.3 知識表達
知識表達的主要內(nèi)容是分析人們?nèi)绾谓鉀Q問題,并對此進行總結(jié)形成知識體系,并利用形成的知識體系以一種較為簡單的方式去解決相對復雜的問題。知識推理與表達還涉及從邏輯思維到計算機語言之間的幾種邏輯關(guān)系,如規(guī)則地應用或集與子集的關(guān)系。
1.1.4 數(shù)據(jù)建模
數(shù)據(jù)建模代表一套從大量數(shù)據(jù)中計算和生成某些特征數(shù)據(jù)的方法。一個科學的數(shù)據(jù)模型可以以非常理想化的形式表示某些特征數(shù)據(jù)的生成過程。數(shù)據(jù)模型可以從一組概率分布中,提取一些被認為能夠充分逼近特征數(shù)據(jù)的取樣分布。
1.1.5 搜索和優(yōu)化
搜索的目的是找到一種可以實現(xiàn)很高的成本效益的選擇,并在給定的限制條件下實現(xiàn)較高的效率,最大限度地發(fā)揮必要因素,最小限度地減少不必要的因素。這里的最大化是指不計代價地獲得最大化的結(jié)果。而優(yōu)化過程則是在受到信息缺失和估計可用信息不足的限制下,進行最佳的選擇。在一些商業(yè)問題的計算機建模中,進行優(yōu)化的方式一般是運籌學中的線性規(guī)劃技術(shù)。
1.1.6 概率方法
概率方法是證明具有特定特征的組合對象有效性的重要技術(shù)。其是基于概率論的,并可以用來證明某些不被經(jīng)常使用的定理。
1.1.7 圖靈測試
圖靈測試是由阿蘭圖靈在1950年開發(fā)的,其是為了測試一臺機器的能力,以顯示相當于人類的智能行為。圖靈測試的基本方法就是人類評估員利用自然語言對話來評估人類與機器之間的反應差別。
1.1.8 模糊邏輯
模糊邏輯是一種分析控制系統(tǒng),可在嵌入式微控制器、網(wǎng)絡(luò)多通道計算機或基于工作點的數(shù)據(jù)采集和控制系統(tǒng)等系統(tǒng)中實現(xiàn)。它可以分別或同時使用在硬件和軟件上[2]。模糊邏輯提供了一種根據(jù)不清晰或缺失的輸入信息進行準確決策的簡單方法。
基于人工智能的計算機應用軟件開發(fā)技術(shù)的基本特點有以下幾個:首先就是計算機應用軟件開發(fā)技術(shù)的可操作性。開發(fā)計算機應用軟件旨在滿足軟件用戶對軟件的需求。因此,計算機軟件開發(fā)的效果要與用戶的使用需求相一致,也就是說,滿足用戶需求的計算機軟件開發(fā)設(shè)計是一種具有一定可操作性的設(shè)計。在計算機軟件開發(fā)過程中,要有多樣化的技術(shù)手段和豐富的技術(shù)結(jié)構(gòu)。在選擇實際技術(shù)時,還需要提前了解用戶群體的特點。此外,在保證技術(shù)應用規(guī)范的前提下,最好進行相應的用戶群體調(diào)查。而人工智能技術(shù)的應用可以確保開發(fā)的計算機應用軟件能夠為用戶所用,給用戶帶來良好的使用體驗[3]。
其次就是計算機應用軟件開發(fā)技術(shù)的易于維護性。開發(fā)計算機應用軟件需要很長時間,開發(fā)完成后也需要經(jīng)過很長時間的使用,所以計算機應用軟件需要定期維護,以保證其運行速度和效率。為此,在開發(fā)計算機應用軟件時,必須保證軟件維護的簡便性,降低軟件維護的成本。在軟件維護設(shè)計中,應用人工智能技術(shù)可以有效地降低軟件維護的難度,對軟件中存在的問題進行信息跟蹤、分析和自動修復,使軟件長期處于良好運行狀態(tài)。如果不注意軟件維護的簡便性,很容易導致軟件后期用戶使用體驗的下降,甚至造成軟件用戶的損失[4]。
人工智能技術(shù)在計算機應用軟件開發(fā)中的應用,首先就是人工智能神經(jīng)網(wǎng)絡(luò)技術(shù)在計算機軟件開發(fā)中的應用。人工智能神經(jīng)網(wǎng)絡(luò)技術(shù)的結(jié)構(gòu)實質(zhì)是對人腦神經(jīng)結(jié)構(gòu)的模擬。神經(jīng)網(wǎng)絡(luò)技術(shù)作為一種大型并行分布處理技術(shù),其包括多個相互獨立又相互協(xié)作的信息處理單元模塊。在接到計算機命令后,神經(jīng)網(wǎng)絡(luò)技術(shù)可以快速工作,配合完整的指令,不僅運行速度很快,而且完成效果很理想。同時,人工智能神經(jīng)網(wǎng)絡(luò)還可以存儲信息,甚至處理和組織信息,以滿足各種不同信息處理的需求。另外,神經(jīng)網(wǎng)絡(luò)技術(shù)結(jié)構(gòu)具有一定的保護功能,既能保證信息安全,又能準確識別網(wǎng)絡(luò)安全威脅,在計算機軟件運行過程中,如果出現(xiàn)入侵信息,也能快速檢測和截獲。因此,在開發(fā)計算機軟件時,應將循環(huán)網(wǎng)絡(luò)技術(shù)與多層感知器技術(shù)相結(jié)合,以提高神經(jīng)網(wǎng)絡(luò)的檢測速度和準確性。
其次,人工智能技術(shù)在計算機應用軟件開發(fā)中的應用就是人工智能代理技術(shù)在計算機軟件開發(fā)中的應用。在人工智能技術(shù)領(lǐng)域,人工智能代理技術(shù)是一種能夠隨時隨地感知軟件環(huán)境,并能根據(jù)周圍環(huán)境自動執(zhí)行任務、進行調(diào)整和發(fā)揮功能的技術(shù),因此人工智能代理技術(shù)是一項應用廣泛的技術(shù),特別是在計算機軟件安全防御系統(tǒng)中。經(jīng)過多年的研究和探索,人工智能代理技術(shù)已經(jīng)逐漸成熟,能夠比過去更準確地感知互聯(lián)網(wǎng)環(huán)境,有效地配置網(wǎng)絡(luò)空間。在信息爆炸的時代,網(wǎng)絡(luò)安全已經(jīng)成為互聯(lián)網(wǎng)應用的重中之重,人工智能代理技術(shù)的優(yōu)化和應用顯得尤為重要。人工智能代理技術(shù)還可以實現(xiàn)及時感知網(wǎng)絡(luò)安全威脅、自動開啟網(wǎng)絡(luò)保護等功能[5]。
瀑布模型是在19世紀70年代被提出,并將其應用于計算機應用軟件的開發(fā)過程。經(jīng)過多年的發(fā)展,對于瀑布模型在軟件開發(fā)中的應用水平已經(jīng)獲得了顯著的提高,因此瀑布模型是計算機應用軟件開發(fā)領(lǐng)域的一次技術(shù)革命。在信息技術(shù)發(fā)展和應用的過程中,應用軟件的開發(fā)被認為是極其復雜的,并且是針對用戶需求進行量身定制的,因此其有一定的特殊性。當軟件開發(fā)過程中出現(xiàn)缺陷時,就會出現(xiàn)應用軟件難以實現(xiàn)其作用的情況。在瀑布模型中,溝通、規(guī)劃、建模和部署是其重要的開發(fā)環(huán)節(jié)。此外,瀑布模型以系統(tǒng)開發(fā)生命周期階段的形式進行不斷的優(yōu)化迭代。瀑布模型在軟件開發(fā)過程中存在許多優(yōu)勢,其中一個就是在階段開發(fā)周期加強了控制。在軟件開發(fā)的某一個階段一定會有一個開始和結(jié)束,這允許軟件工程師和用戶設(shè)定目標,以此作為一個重要的目標進行發(fā)展。由于需求和設(shè)計是在代碼執(zhí)行之前定義的,應用的工作量和時間將被最小化,以此來避免開發(fā)進程與時間表之間的背離。
另外使用瀑布模型可以在軟件開發(fā)的早期階段就可以為需求和設(shè)計提供了包括質(zhì)量增強在內(nèi)的許多優(yōu)勢。同時使用瀑布模型可以在軟件的設(shè)計階段就可以發(fā)現(xiàn)并糾正預期的缺陷。而在軟件的測試階段,所有的模塊將被集成,從而在這個階段檢測故障并糾正它將是復雜的,因此在測試階段進行糾錯的模式一般不被提倡。一般在軟件開發(fā)的前兩個階段就需要進行相關(guān)軟件的糾錯,而使用瀑布模型可以高效地向分散在多個位置的軟件開發(fā)團隊成員傳達相關(guān)信息,從而提高相關(guān)工作的效率。
人工智能是一個多學科交叉的領(lǐng)域,側(cè)重于將智能方法應用于多個領(lǐng)域。人工智能出現(xiàn)于20世紀80年代,其重點是在計算機應用的可用性和用戶的生產(chǎn)力方面實現(xiàn)自動化。隨著計算機的普及,人工智能研究人員的興趣擴大到包括社會計算、普適計算、創(chuàng)造力、無障礙和娛樂等領(lǐng)域。智能代理是一種人工智能活動,其目標是提供有用、可用和理想的產(chǎn)品。智能代理定義了“交互產(chǎn)品和服務的結(jié)構(gòu)和行為,以及用戶與這些產(chǎn)品和服務的交互”。人工智能的設(shè)計實踐遵循以用戶為中心的設(shè)計的基本原則,基于對真實用戶的目標、任務、體驗、需求和欲望的理解。瀑布或敏捷模型的一個觀點是,致力于開發(fā)高質(zhì)量的軟件。目標用戶能夠使用產(chǎn)品嗎;在開始使用之前,他們需要接受大量的培訓嗎;用戶完成任務的時間是否太長;用戶在執(zhí)行任務時是否會出錯,這些問題的答案可以決定一個產(chǎn)品的成功或失敗。在這里,人工智能技術(shù)與瀑布或敏捷模型的重疊變得至關(guān)重要。在早期,人工智能技術(shù)的應用是有限的,僅在少數(shù)領(lǐng)域的軟件中進行部署,在有限的平臺上,客戶的要求是明確的,軟件產(chǎn)品往往是由少數(shù)運營商內(nèi)部使用。產(chǎn)品的可用性變得越來越重要,因為業(yè)務的成功往往依賴于新手用戶能夠完成任務。在過去的十年里,軟件的使用范圍進一步擴大,超越了生產(chǎn)力。除了可用性,自動編隊決定了產(chǎn)品在過去十年的成功,并在可見的一段時間內(nèi)仍會如此。人工智能技術(shù)的發(fā)展提出了許多過程、活動、方法、技能和可交付成果。典型的人工智能設(shè)計過程由一個或多個階段組成,每個階段可能包含一個或多個人工智能活動。人工智能方法可能產(chǎn)生一個特定的可交付成果,其本身可能是目的,也可能是人工智能過程或軟件開發(fā)過程中另一個活動的輸入。
2.3.1 信息通信
在瀑布模型的通信階段,可以向軟件開發(fā)過程中增加一定的靈活性。其中模糊邏輯是一種靈活的邏輯推理過程,為學習過程增加了靈活性。學習過程及其評估不能以過于準確的方式進行,因為不同的性質(zhì)涉及的個性。因此,學習過程和評價需要靈活的邏輯推理過程。模糊集提供的柔性機制可以幫助開發(fā)人員進行學習過程,并且由于模糊推理過程而使評價更加容易。此外,評估和細化是軟件開發(fā)進程第一步中的一個重要步驟。在這個階段,軟件的評估可以通過合成數(shù)據(jù)值很容易地使用人工智能方法生成。這一步非常有助于預測軟件產(chǎn)品的未來行為,即使原始數(shù)據(jù)不可用。通過使用不同的學習方案,可以很容易地得到缺失數(shù)據(jù)和合成數(shù)據(jù)的歸屬,這些學習方案可以生成與原始數(shù)據(jù)相似的數(shù)據(jù),而無須任何人工干預。在通信階段也加入了這種綜合評價和改進。
2.3.2 規(guī)劃
瀑布模型的第二個重要步驟是規(guī)劃,它使用估計、調(diào)度和跟蹤來執(zhí)行。這些過程是大多數(shù)軟件行業(yè)通常使用傳統(tǒng)方法進行執(zhí)行的常見過程。在這里,不同的人工智能方法,如智能優(yōu)化和在線過程適用于每一個環(huán)節(jié)。智能過程是完全自動化的過程,它可以像專家的大腦一樣工作,因此規(guī)劃可能更準確。同時,優(yōu)化過程通過搜索空間中的候選解決方案產(chǎn)生有效的計劃。另外,計劃更新的在線處理對于及時有效地計劃軟件過程也很重要。在此基礎(chǔ)上,將智能分析、最優(yōu)調(diào)度和在線跟蹤有效地結(jié)合起來,提高了系統(tǒng)的性能。對于不同的約束的優(yōu)化也可以進行一些質(zhì)量分析。
2.3.3 建模
建模是軟件開發(fā)過程中擴展瀑布模型的第三步。在建模階段,完成了用戶界面原型、可用性評估、需求分析和軟件設(shè)計等重要步驟。在這里,統(tǒng)計建模是額外集成的整個過程建模。統(tǒng)計模型包括概率模型、回歸模型和混合模型,它們是人工智能中常用的方法。統(tǒng)計模型是一種隱含的數(shù)學模型,它用來模擬現(xiàn)實,也可以用來預測。統(tǒng)計模型是一類數(shù)學模型,它包含了關(guān)于產(chǎn)生一些樣本數(shù)據(jù)的一組假設(shè),以及來自更多群體的類似數(shù)據(jù)。一個統(tǒng)計模型代表了數(shù)據(jù)生成過程,通常是不太理想的形式。因此模型是理論的正式表示,將統(tǒng)計模型集成到瀑布模型中的原因是,通過統(tǒng)計特征所模擬的事件可以幫助從初始步驟本身預測軟件產(chǎn)品的結(jié)果。
2.3.4 構(gòu)建
構(gòu)建階段涉及瀑布模型中的多個活動,分別是編碼、測試、開發(fā)和支持以及可用性評估,這些是瀑布模型中的核心活動。一般情況下不建議對最后兩個階段的活動進行任何改變,然而可以使用DSS進行編碼。任何軟件產(chǎn)品的編碼都可以通過與決策支持系統(tǒng)集成來改進。DSS可以給程序員建議或提供所需的信息,以加快開發(fā)階段。DSS分析軟件程序?qū)⑺栊畔⒊尸F(xiàn)出來,以便程序員更容易做出決策。決策支持系統(tǒng)可以以圖形方式顯示信息,也可以包含專家系統(tǒng)或人工智能。集成決策支持系統(tǒng)的原因是它可以減少建議所需信息的人為錯誤,從而減少調(diào)試時間。另外由于圖靈測試可以進一步提高產(chǎn)品的測試性能,以此進行集成智能行為也是非常有效的。
人工智能技術(shù)的發(fā)展帶動了計算機應用軟件的發(fā)展,因此人工智能技術(shù)的創(chuàng)新也就意味著計算機應用軟件的創(chuàng)新,開發(fā)計算機應用軟件要注重人工智能技術(shù)的應用,特別是在安全防護、信息入侵等方面。通過人工智能技術(shù),可以有效地優(yōu)化計算機應用軟件,進一步提高計算機應用軟件開發(fā)的技術(shù)水平。因此相關(guān)計算機應用軟件的開發(fā)人員仍需要進一步的強化人工智能技術(shù)與計算機應用軟件開發(fā)技術(shù)的深度結(jié)合,解決目前人工技能技術(shù)在應用過程中存在的種種問題,并通過對人工智能技術(shù)的發(fā)展和創(chuàng)新促進計算機應用軟件開發(fā)技術(shù)水平的提高,為計算機應用軟件的使用者提供更好的使用體驗。