發布時間:2022-07-20 09:23:35
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的1篇軟件工程在軟件開發中的應用,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
摘要:現代社會是科技的時代,高新技術也在不斷的發展。其中軟件工程的進步也是社會發展的主要推動力。將軟件工程和項目管理相結合就會形成一個綜合的學科就是軟件工程管理。這一學科具體指的是軟件工程方面的實際使用。軟件工程管理與普通領域的軟件工程并不一樣,它具有自己的特殊性與復雜性。對軟件工程的管理主要是為了確保軟件產品的成本、質量安全與進度等各方面。本文主要針對軟件工程的現狀進行分析,并對軟件工程的創新管理進行了分析與研究。
關鍵詞:軟件工程;軟件開發;創新策略
軟件工程的管理指根據軟件開發相關的技術知識和相關的軟件工具兩者相結合的項目工程,這樣才能確保工作的順利進行。對于軟件管理管理主要有兩個方面組成:一方面是重要部分的軟件開發,另一部分是補充性的軟件工程管理。一個軟件工程的管理主要是軟件工程的啟動、工程的計劃、工程的執行、軟件工程的控制管理、工程結束這五個方面。這五個方面每一個環節都有自己特殊的作用,每個環節之間相互聯系,相輔相成。軟件工程的啟動環節是一個工程的必要條件,它是對改工程的初步了解,詳細分析之后再考慮該工程是否合理,能否實施;工程的計劃階段它是整個工程實施的基礎,這一環節的實施中需要相關部門的負責人制定該項目的實施計劃,具體到工程的每個方面;工程的執行與工程的控制管理兩個階段是同時完成的,執行的過程中進行相應的控制管理,這樣可以監督工程的實施是夠符合計劃,保證工程的進步順利完成。最后一個階段就是項目的收尾工作的執行,一定要根據計劃的要求對進度控制在合理的范圍內,并根據工程的實施過程進行相應的總結工作。
1計算機軟件開發技術研究
1.1自動化方法
自動化是新時代的開發形式:使用最新一代技術,用開發軟件做工具,協助計算機軟件開發人員,使其操作更加方便,減少了“低層次”工作,因為利用這種方法開發人員只需要把自己的目標和內容告訴軟件開發工具軟件,該軟件就會自動滿足用戶需求,不用再為編碼費腦筋,使得軟件者降低了軟件開發的“體力勞動”,開發起來更容易。其次,利用這一方法,軟件開發周期會縮短,開發成本大幅度下降,所以,頗受軟件開發人員的青睞。
1.2原型化方法
在軟件開發的前期總歸會遇到各項需求難以確定的情況,這是可以采用原型化方法,在軟件開發的過程中,逐步明確軟件需求,確定設計方案,開發出使客戶滿意的產品,利用這種方法根據已知的需求建立一個可以隨時修改的模型,根據客戶中使用者的意見及時改進,使之逐漸完善,更好的契合他們的需求,滿足客戶,這種方法的優勢在于客戶使用者的參與度、決策權得到提高和加強,研發工程師還要有良好的溝通能力,多與客戶進行充分溝通,并引導他們配合,確保開發的完備與功能齊全。
1.3生命周期法
生命周期法在軟件開發工程中有著不容小覷的地位和重要的作用,是從時間的角度把軟件的開發分解為軟件計劃、需求分析、軟件設計、程序編碼、軟件測試、運行維護6個時期,也稱6個階段,可以看出這6個階段其實質是軟件開發的全過程,是一個系統的、連續性強、銜接穩定的過程,前一個階段的結束意味著是下一個階段的開始。這種開發方法特別適合開發大型軟件,利于組織和管理人員,同時便于軟件開發方法的研究,所以,生命周期法對提高大型軟件開發的質量和效率非常有利。
2計算機軟件開發中的分層技術
2.1雙層技術
就計算機軟件開發中的雙層技術來看,必須切實把控住兩大重心,一個需要與服務器進行連接,另一個需要與客戶端進行連接,進而通過兩者的連接,實現遠程信息的傳遞。該信息環境下,使用者的數據資料能夠按照預定模式傳送給服務其,并且能夠在數據庫中查找出與之相應的數據信息資料,再以此為基礎傳遞給客戶端,能夠有效滿足使用者對數據資源的切實需求。該分層方式雖然較為簡單,可以滿足部分使用者的實際需求,但當使用者數量過多時,容易造成運算時間的急劇增加,這不光難以確保信息的時效性,還容易出現相應的數據安全風險問題。所以在將雙層分層技術應用于軟件開發過程中時,必須在保障服務器性能優越的同時,對客戶人數進行適當限制,以此保障該系統的穩定性。
2.2三層技術
結合雙層技術所存在的弊病,相關工作者在對雙層技術進行優化的基礎之上,通過增加應用服務其的方式,研發出了三層分層技術,其結構大體包括業務處理層、數據層與界面層三大部分。該技術主要以雙層技術為依托,能夠大幅度改善原本雙層技術應用效率低下的現實問題,不光有效增加了應用程序的運算速度,同時還能夠多客戶對信息傳輸的需求。此外,三層技術還在應用服務器中增加了一個端口,為較大信息量資源的處理與傳輸給以了充分的端口支持。但該技術在實際應用的過程中,很容易出現資源不必要消耗的問題,這對于計算機應用程序的開發與發展而言是極為不利的,所有需要將該技術與雙層技術進行結合應用。
2.3四層技術
一般來說,雙層技術與三層技術的應用雖然能夠基本滿足軟件開發的需求,但是當計算機軟件應用環境較為復雜時,該兩類技術將難以滿足程序使用的切實需求,故以三層技術為基礎,相關工作人員逐漸開發出了四層技術。就四層技術的結構來看,主要涵蓋web層、數據庫層、存儲層與業務管理層四大板塊,其中業務層多是為了實現數據庫層運算結果向web層傳輸的功能,能夠有效實現數據的整合處理與相互傳遞。數據庫層能夠以隱藏數據訪問代碼的方式對數據庫與對象之間的聯系進行認定,可以有效避免由于匹配不恰當而產生的差異性問題。四層技術的應用能夠實現對各類數據信息的有效整合,在處理大量數據信息時有著上述兩種技術難以企及的優勢,且不會造成不必要資源的浪費,計算結果精確性較高,能夠有效實現多客戶的協同需求。但不得不說的是,該技術雖然具有較強的適宜性,但究其應用領域范圍來看,仍然不夠廣泛,需要進行深入拓展。
2.4五層技術
現今在部分較為特殊的領域與計算機數據交互環境中,為進一步優化數據處理的速率與效果,相關工作者以四層技術為基點,通過將數據層分割為集成層與資源層的方式,形成了五層結構。可以說五層技術的應用不光能夠在四層技術的基礎之上進一步優化系統運作速率與穩定性,還能夠結合功能實際應用點滿足部分特殊硬件設備的運行需要。而就該技術實況來看,雖然其結構層次更為精細,但其并不具備較強的推廣性,應用范圍仍然比較狹窄,代表性不強。
3軟件工程管理的創新策略
3.1提高軟件工程管理整體化意識,加強風險防范項目工程的計劃
在整個工程的項目中具有重要的作用,這關系到整個工程的發展。項目工程在實施之前,相關的管理人員一定要組織相關技術人員進行研究、探討,綜合所有人的有效的建議,制定出符合實際工作的規章管理,可以實現工程的順利進行。另外,在工程的實施階段還要對工程的進度情況進行有效的掌控,做到對工程的總體把控。對風險的意識也必須要加強,分險管理可以及時的發現企業生產過程中的問題與弊端,從而及時的做出相應的補救。工程的管理人員還應加強對于風險的意識和防患于未然的想法。
3.2實施精細化管理
如何加強軟件工程的實際工作效率和產品的質量安全,加強相關技術人員的素質水平,需要從軟件工程的各個環節進行管理,并需要對各個子項目進行精細化的管理,(1)有關的部門的管理人員要對相關的環節做到詳細的了解,只有進行詳細的了解之后才可以做出科學合理的計劃,在對軟件工程的設計階段主要有技術的開發、工程的測試等多個發展階段。(2)要對軟件工程的各個管理部門和職能部門進行相應的熟悉,還要對這一部門的主要作用和發展的方向進行了解。(3)設立一個較為詳細的組織部門,在對軟件的實際中,對于影響軟件的一些不利的因素進行及時的調整。針對軟件工程的的相關質量、管理人員、進度等多方面進行管理,為之后的管理奠定堅實的基礎。
3.3建全管理體系,并進行針對性變革
在對軟件工程進行管理的活動中,要先保證管理工程的順利進行和后續工作的有序開展需要建立一套完善的管理體系。所以,相關的管理人員在制定管理體系的時候,要對整個軟件工程進行合理的預測,并結合各個子項目和各部門的作用與發展的動向進行度組織框架的建立;并根據這一框架對管理體系進行細分和管理細則的制定。在完善管理體制的同時還要對加強對企業管理體制的變革與完善。
3.4化軟件工程管理的監督工作
軟件工程的監督管理在整個工程的實施過程中具有重要的意義,所以在工程的進行中進行相應的監督。實施監督工作有利于工程的規范和發展,提高工作的質量和工作的實際效率,對軟件開發的成本進行有效的把控。監督工作主要是看工程的實施是否符合計劃的規定和工程的進度。監督工作中的工作人員需要對這些數據資料進行詳細的記載,并及時的進行總結與分析,發現問題可以及時的進行處理,從而減少工程中的失誤。
4結語
根據上面的講述,在軟件工程的管理中專業的管理人才具有關鍵性的作用,但目前我國的實際發展情況,大部分的管理人員還是存在各種的缺陷。所以對于軟件開發管理的企業要注重對專業管理人員的培養,實施較為全面的管理制度。所以面對目前我國軟件開發管理中的各種問題,就需要針對這些問題加強對軟件工程管理中的風險管理和監督管理,從而提高軟件工程管理的工作效率和工作質量。
作者:葉偉 單位:天津市紅橋區宏偉盛達職業培訓學校
摘要:
在現代化的社會中,人們對于軟件工程的管理缺少一定的認識,很多人對于軟件工程并沒有足夠的重視,實際上在現階段的二十一世紀當中,信息化的社會所帶給人們的是前所未有的動力,很多事物都在二十一世紀中被賦予了新的定義。而軟件工程就是二十一世紀社會中的新模型。文章將會針對軟件工程管理的內容以及軟件開發中的應用進行具體的論述和分析。
關鍵詞:
工程管理;軟件開發;實際應用;計算機
從目前的情況來看,軟件工程的工程項目管理并沒有受到大多數人的重視,究其原因主要就是人們的思維方式和想法仍然停留在較為傳統的思維方式中。很多人在對現代化的軟件進行管理的時候缺乏對于軟件工程的管理和控制,更多的會在意軟件工程的科學性,實際上筆者認為軟件工程在實際的發展中,管理方法是至關重要的,只有不斷地提升對軟件工程的管理才會更好地提升軟件工程的綜合目標。據有關調查結果顯示軟件工程管理如果出現錯誤要比程序錯誤嚴重的多,所以由此可見軟件工程管理的重要性[1]。
1軟件工程方法概述
軟件工程實際上就是一種通過運用程序語言、數據庫、開發技術以及系統平臺等多個體系共同組成的一個工程。在現階段的社會中,軟件工程體系已經在很多行業得到了廣泛的應用。例如金融、農業以及航空等部門都應用了軟件工程體系進行發展。這樣不僅僅提升了自身的工作效率,還在很大程度上提升了軟件工程的管理精確度。
2軟件工程管理的內容
2.1開發人員軟件開發人員一般都需要由很多個部分組成,一般情況下會分為系統分析員、項目負責員、高級程序員、初級程序員和資料員等,這些人員共同對軟件工程進行管理和分析。由于軟件工程對于人員的要求比較高,所以負責不同工作的人員應該具有不同的能力。例如系統分析員需要具備較強的應變能力和對于問題的分析能力,一般發現任何的問題要第一時間對其提出解決方案。針對于軟件工程而言,并不需要開發人員過多,更多地應該要求精益求精。
2.2組織結構
2.2.1主程序員組織機在IBM公司提出的主程序員組中,軟件系統的結構化思想是在組織上體現出來的,主程序員組織機主要體現在了思維方式方面。一般情況下一位高級工程師主要負責主持和計劃工作,其他的協調和復審組的全部技術一般都是由其他技術人員來操控,技術人員不宜過多,保持在二十五人左右為宜。這些技術人員主要是為了負責分析和開發活動,一位后援工程師支持高級工程師的工作,并且在項目繼續的時候,還可以承擔起代替高級工程師工作的任務,這樣可以盡可能地減少對于軟件管理所造成的失誤[2]。
2.2.2專家組專家組的組成一般適用于能夠協調合作的人,與其他的組合相比,專家組更強調將每一個人的才能充分地發揮出來,這樣可以在實際的軟件開發中發揮出其自身最大的價值。因為軟件工程管理在實際的操作中需要有多方面人員的融入,所以涉及到的內容和方面也比較多。這些專家共同組成了一個開發機構。這種軟件工程管理方法雖然在現如今最被被廣泛應用,但是仍然存在自身的弊端,如果工作人員之間在合作中出現協調性的問題,將會很大程度地影響軟件工程的開發和應用。
2.2.3民主組織民主組織由從事各個方面工作的人員輪流擔任組長,這一民主組織結構雖然能夠在很大程度上起到激發人員積極性的目的,但是這種頻繁的調動往往不利于組長信息的轉移,也就是說這種民主組織并不符合軟件工程的長遠發展。在現階段的發展中并不是值得推薦的,筆者認為軟件工程管理應該從多方面多角度去進行分析,只有選擇最為準確的方法和管理方式才是最重要的[3]。
2.3用戶
2.3.1用戶不積極,不配合據有關調查結果顯示可以發現,存在著一些對于軟件工程管理不積極和不配合的用戶,這些用戶一般都是對如今的先進技術持有懷疑的態度。實際上這些用戶的心理是消極的,他們通常對事物表現出漠不關心的狀態,但是實際上這部分用戶對于軟件的研發和管理是非常重要的。因為可以通過對這些用戶的了解和分析,進而更加準確地找出用戶的需求和計算機行業在發展中存在的問題,以便更好地改進。二十一世紀,計算機行業的發展已經涉及到了很多的領域,我國各行各業都已經深入到了信息化的時代,互聯網行業的發展帶動著我國的經濟實現快速的發展和進步。只有不斷地發現自身的問題并且對其進行分析才會更有利于提升我國的綜合國力。
2.3.2用戶求快求全從目前的情況來看,很多用戶對于計算機軟件的要求過于苛刻,很多用戶求快求全,這樣實際上是不利于計算機軟件管理系統的研發和發展的。因為無論是研發任何一個計算機軟件都不是一朝一夕就能夠完成的,也不是可以通過人海戰術就可以加快工期的。計算機軟件技術的開發需要考慮的方面和內容很多,一些大的系統需要包羅萬象,所以在研發和管理中必然要考慮周全,這樣才會實現可持續發展的戰略目標。
2.3.3用戶需求變化在軟件的開發過程中,很多用戶可能會對于軟件有著不同的要求,實際上這些要求的提出都是在情理之中,因為社會在進步,科學技術在發展,隨著人們生活水平的提升,人們對于軟件工程也有了更多的要求。但是如果站在軟件工程的角度上來看就會發現,人們并不希望有這種變化。一般情況下軟件工程中的工作人員都希望利用自身的軟件設計來更好地滿足客戶的需求[4]。
2.3.4控制人員控制是對開發組織內部人員的一種控制,一般情況下為了確保工作人員的穩定性,應該盡可能的減少工作人員崗位的變動。因為如果在軟件的研發和開發中存在人員變動頻繁的情況就很容易導致軟件開發存在錯誤。所以筆者認為確保工作人員的穩定性是至關重要的。每一次的軟件研發都要盡可能地確保每一個人能夠在自己的崗位中實現長遠的發展。并且對于經費要有著明確的計算,不要出現經費過量或者是經費超出預算的情況,軟件項目如果失去了經濟的保障,將會失去自身的意義,所以對軟件研發中的人員和經費控制是非常重要的一項內容。
2.3.5文檔資料文檔資料的整合和分析是反映軟件工程管理較為直觀的一種方法,任何一項軟件工程從研發到最終的投入使用,都應該具有明確的文檔資料,這些完整的資料是反應軟件工程管理的主要內容。每一個階段的文檔資料是以后各個階段工作的基礎性內容,通過對文檔資料的分析和觀察可以清楚的認識到軟件工程管理方法中弊端,這樣會更有利于改進現有的軟件管理方法。
3結語
綜上所述,筆者簡單地論述了軟件工程管理方法在軟件開發中的一些應用,通過分析可以發現,實際上軟件管理是一項十分重要的工程。在現代化的社會中,隨著人們生活水平的不斷提升和發展,計算機行業的發展已經深入到了各個行業中,為了實現軟件工程的可持續發展戰略,就必須要有良好的管理和力求在確定的時間和預算范圍內實現高效率的工作,這樣才會為實現可持續發展戰略奠定堅實的基礎。
作者:王博 單位:曲阜師范大學 信息科學與工程學院
新形勢下軟件開發過程中,傳統的軟件工程方法已經不能夠滿足實際發展需要,而現代軟件開發不僅兼具了傳統軟件開發方法的優勢,還產生了現代的軟件工程方法,基于此,在實際軟件開發過程中要依據實際情況選用合理的方式。但是在實際中知曉,很多現代軟件工程方法在使用過程中并不能夠與軟件開發環境有效融合起來,受多種因素影響,人們并不能夠勇于質疑已有的現代軟件工程方法,只能一味的接受,從某種意義上來說其出現問題的機率也就大大增加。因此,深入分析新形勢下軟件工程在現代軟件開發中的合理應用具有迫切性,而這也是本文研究的關鍵所在。
1分析現代軟件工程方法的內容和特點
正是因為傳統軟件工程方法的弊端逐漸顯現出來,為現代軟件工程方法的出現創造了條件,其方法可以簡單的分為:分析、設計、編碼、測試和維護五個階段,其同傳統軟件工程方法有著極大的相同點。以分析階段為例,其面對的對象是實際中存在的事件,并不是虛擬存在的,從某種意義上也就證明對象的特征和性質能夠反映和作用于事件;而設計階段同分析階段又不同,設計階段側重于反映系統中某一個具體的時間和事物。現代軟件工程方法擺脫了傳統軟件工程自發式的束縛,在其基礎之上采用的是模塊式開發方法,通過先進的計算機技術和信息技術來優化系統,使其系統化和規范化,相比于傳統軟件開發方法來說其具有適應性強的特點,可以滿足不同用戶高層次需要,再者可以修改也是其具有的另一個特點,彰顯了其安全可靠性。倘若在實際運行中出現問題可以在最短時間內更改設計和模塊結構,一定程度上降低了開發失敗的機率。現代軟件工程方法具有很高的技術含量,能夠優化配置計算機資源,確保資源效用最大限度發揮出來,在將模塊定義之后,可以將其放在系統之中,不僅可以重復使用,還可以結合其高適應性的特點對其進行遷移。
2新形勢下現代軟件工程在現代軟件開發中的合理應用
2.1現代軟件開發中依據實際情況選取合適的軟件工程方法。在現代軟件開發過程中不可避免的會用到軟件體系結構,軟件體系結構并沒有一個明確的概念,其主要側重于表現軟件的分層結構,其數據大多來源于數據庫。就我國目前軟件開發現狀來說,使用的數據庫管理系統還停留在傳統數據庫中,并沒有及時更新信息,以面向對象為代表的管理系統并沒有真正意義上廣泛應用,趨于形式化,并且傳統數據庫系統的效用也沒有最大限度的體現出來,其局限于數據存儲、信息共享方面,盡管在保障數據安全和處理方面起著很好的效果,但是對于水平層次高的查詢并不能夠靈活運用。因而新形勢下現代軟件開發過程中要充分利用傳統軟件工程方法的優勢,在這個基礎上擴展面對的對象,倘若條件允許可以面對整個系統,這樣優化數據存儲,將操作步驟規范化處理,這樣為更好的應用到軟件開發過程中奠定堅實基礎。
2.2軟件開發過程中應該樹立全新的軟件工程理念。新形勢下軟件開發應用到各行各業,并不是簡單的應用于計算機領域,其在醫療衛生行業、餐飲服務行業等都有體現,軟件的使用不僅提高了工作效率,一定程度上還提升了工作人員的工作積極性,使其全身心的投入到工作中。與此同時,各行各業在軟件開發與利用過程中也會依照相關標準和規則進行操作,加快了行業向規范化方向發展的步伐。基于此,在軟件開發過程中必須要更新軟件開發觀念,擺脫傳統軟件工程的束縛,確保軟件開發應用工作順利進行。例如:以新形勢下醫療衛生事業引進軟件為例,其引進軟件有助于科學化、系統化整理資料,根本性降低了其出錯的機率。倘若醫院要開發整理醫院患者信息和資料的軟件,這種軟件開發任務就是在無特殊情況下,將患者情況輸入到指定欄欄內,就能夠在最短時間內獲取患者信息。從另一方面來說,軟件的合理運用為規范醫生和護士行為創造條件。再者,能及時監控患者病情,盡管軟件開發程序很繁瑣,但是其使用簡單便捷。但是在實際過程中發現,有的軟件開發公司并沒有對軟件開發程序規范化處理,致使人員分工不明確,出現“真空地帶”,不僅給使用埋下隱患,軟件開發效率也得不到保障。倘若軟件開發公司要開發醫院應用軟件,但是其并沒有詳細掌握其情況,沒有進行統籌規劃,就進行開發,使得開發出來的軟件不能夠滿足醫院實際需要,不僅給軟件開發公司造成麻煩,給醫院造成的損失也是不可估量的。
3結語
從上述中也就不難看出更新軟件開發理念,應該貫穿到軟件開發的始終,要在傳統軟件工程的方法上發展,依據實際情況制定出行之有效的發展計劃,不僅有助于提升工作效率,某種意義上還能夠提升工作人員積極性,為促進軟件行業的科技化和現代化奠定堅實基礎。再者,現代軟件工程方法只有科學合理應用到現代軟件開發中,才能夠使其效用最大限度發揮出來,為開發結果和效率最優化創造條件。
作者:張磊 單位:周口師范學院軟件學院
一、軟件工程中軟件開發方法的現狀
(一)結構化方法
結構化程序設計方法中的思維創新被認為是程序開發方法發展中的重要飛躍,并且其成功也在很大程度上推動了結構化設計方法以及結構化分析方法的發展,在20世紀七八十年代,結構化方法在軟件開發方法中占據了主導的地位并有效的對軟件危機蔓延起到了遏制的效果,既是在今天,結構化方法的這種作用仍舊在發揮著。從當前來看,結構化方法具有成熟的技術并且使用簡單,所以其應用也十分的廣泛,但是在一些復雜的或者大規模的軟件工程項目中,結構化方法卻不能很好的對軟件重復使用問題進行解決而難以對軟件工程需求的變化進行適應,并且結構化軟件開發方法在軟件維護方面具有著較強的復雜性。
(二)面向對象方法
面向對象方法的基本原則以及出發點是對人類思維方式的模擬,從而讓軟件開發的整個過程最大化的接近于人類對世界認識的過程,從方法論方面看,面向對象的軟件開發方法將系統看做是一個由很多對象互相作用、互相聯系而形成的整體。面向對象的軟件開發方法包括分析方法、設計方法以及程序設計,其中面向對象程序設計方法是面向對象方法的重要優秀內容。在軟件工程中,軟件由文檔和程序兩部分組成,程序是由算法和數據機構共同構成,在傳統程序開發的過程中,操作以及數據被分離為獨立的內容,但是事實上,客觀世界中的實體都具有靜態和動態兩種屬相,對于軟件工程而言,數據則是靜態的屬性,而操作則是動態的屬性,二者具有密切的關系,而傳統程序開發中將二者的分離在一定程度上是軟件開發所面臨的難度進一步的增加。而面向對象方法則強調了不同元素的共同組成,數據以及操作被看為是一個整體,而這種理念優勢在于對軟件的重復使用,同時也是代碼更容易理解,但是在面向對象的方法中,軟件開發過程中的劃分相對模糊,所以在軟件分析、軟件設計以及軟件設計的過程中會產生多次迭代。
(三)形式化方法
隨著科技的發展以及人類對軟件工程需求的不斷提高,計算機軟件開始執行會引發嚴重后果甚至威脅人類生命的重要任務,如對核反應堆進行監控、飛船的發射以及對一些交通設施進行安全監控等,而這些需求下的軟件一般都具有較強的復雜性,在此背景下,在軟件本身復雜性不斷增加的基礎上保證軟件在執行任務時的精確、安全和可靠是十分重要的內容,而形式化方法就是為了滿足這樣的需求而產生。形式化軟件開發方法所依據的是計算與數學模型來對軟件系統的特性以及行為作出驗證和描述,其中這些特性與行為包括設計、需求規格以及實現等,由此可見,嚴格的數學是形式化軟件開發方法的重要基礎特征。但是形式化軟件開發方法也有其自身的缺陷,如在過程中所使用的數學模型或者數學工具并不能保證完全的安全與正確,并且是對同樣的數學規范,在不同的軟件工程背景下也會產生不同的后果,這種情況是由于不同領域在解釋和相容規范過程中的不同而產生的。
二、軟件工程中軟件開發方法的趨勢
在軟件工程發展的過程中,繁瑣復雜的開發過程、文檔維護難度的加大以及軟件開發過程中的反饋問題等逐漸的暴露出來,并且人們對軟件提出了智能化的需求,而面對這些問題和需求的出現與改變,軟件方法的研究與更新也引起了很大的重視與關注,許多新的方法出現并體現出了很大的發展潛力。
(一)敏捷軟件開發方法
敏捷軟件開發方法包括ASD、FDD、DSDM、XP等,敏捷軟件開發作為一種以人為優秀、循序漸進、迭代的開發方法,它把軟件項目的整體構建劃分為許多個子項目,而這些子項目本身在測試后也驗證具有可運行以及集成的特征。敏捷軟件開發方法強調了人的作用以及對變化情況的使用,同時強調反饋有效性和簡單化,同時重視生產效率的提高,在軟件開發過程中,小項目可以分別完成并可以獨立運行,軟件可以始終處于能夠進行使用的狀態。它的12條實踐原則能夠在一定程度上體現出它自身的特性:一是獲得客戶的滿意最為優先,需要持續的、盡早的交付有使用價值的軟件;二是在軟件開發過程中的后期也可以改變對軟件的需求;三是交付可使用的軟件要具有經常性,交付的時間需要控制在最短的時間范圍之內;四是開發人員以及業務人員在項目開發中需要始終共同工作;五是需要為被激勵的個人提供必要的支持與環境,并信任他們能夠完成軟件開發工作;六是在團隊工作中,面對面交談是左右效率的信息傳遞方法;七是首要的進度標準是可以工作的軟件;八是可持續的提高開發速度;九是強調優秀設計與技能在提高敏捷能力方面的作用;十是簡單;十一是最好的需求、構架與設計來源于自組織的工作團隊;十二是在一定時間內,工作人員要針對如何提高工作有效性進行反省并對工作行為作出調整。當前敏捷軟件開發方法尚處于發展階段,所以并不如面向對象方法成熟。
(二)面向Agent的軟件開發方法
在互聯網不斷發展的背景下,規模大以及復雜性高成為了軟件開發中最明顯的趨勢,人們對計算機軟件的需求要開始重視其智能化,但是原來的軟件開發方法并不能勝任開發具有智能特性軟件的工作。Agent的概念來源于資源分布式人工智能領域,自主性、駐留性以及靈活性是其最重要的三個特征。自主性是指Agent能夠以外部環境以及內部狀態為根據來對自身的狀態進行決定,在此過程中并不需要外部進行控制和干涉。駐留性是指Agent能夠感知到外部環境產生的變化。靈活性是指Agent能夠與其他的Agent進行比較復雜的協同交互行為。憑借Agent自身的優勢,它在以后的發展中可以應用于交通管理、醫療護理、游戲娛樂、電力電訊甚至國防軍事等眾多領域,雖然Agent仍舊處于探索階段并且并不成熟,但是已經得到了廣泛的重視與關注,并且也會成為軟件工程在軟件開發方法方面的重要趨勢之一。(本文作者:樊莉麗單位:九江學院)
摘 要信息技術的快速發展,為人們生產生活帶來了極大的便利,人們生活更加便捷高效,生產技術更加智能化。軟件工程技術一定程度上可以發揮企業的優秀競爭力。軟件工程技術可以更高效、更科學地進行系統軟件設計,根據應用需求的分析,進行系統軟件架構和功能設計。本文通過對軟件工程技術在系統軟件開發中應用的探究,以期提高軟件開發的質量,提高企業軟件開發的效益。
【關鍵詞】軟件工程技術 系統軟件開發 應用
隨著計算機技術的快速發展,計算機在生產生活中廣泛應用,很大程度上提高了生產生活效率。計算機系統軟件是計算機軟件系統的優秀,其有著自身的邏輯語言和算法,為計算機使用者提供了方便,提高了信息技術的智能化。通過將軟件工程技術應用于計算機系統軟件開發,可以提高系統軟件的質量和水平,滿足人們日益多樣化和專業化的需求。對軟件工程技術在系統軟件開發中應用進行探究,可以促進系統軟件科學高效發展。
1 傳統軟件應用程序與軟件開發分析
傳統軟件應用程序與軟件開發不能適應新形勢下軟件工程技術的發展,通過對傳統軟件應用程序和軟件開發的分析,可以為軟件工程技術在系統軟件開發中的應用做準備,更好地應用軟件工程技術進行系統軟件開發。
1.1 傳統軟件應用程序開發工程分析
傳統軟件在進行開發時,常常需要提前進行建模,根據軟件的實際需要和運行環境,根據軟件開發理論,對軟件開發模型進行重復設計,逐步提高軟件模型的質量,最終形成生存期模型。生存期模型又可以產生演化型、螺旋型和增量型等形式。在軟件開發中,這些軟件開發模型在實際開發中都存在各種不足。譬如,演化型模型可以實現軟件開發流程的優化和調整,對軟件應用程序進行高效管理,從而提高了軟件開發的質量,軟件開發中某一環節出現錯誤,就可能造成整個軟件開發流程出現紊亂,對整個程序的穩定性造成影響。隨著互聯網技術的發展,互聯網技術日益成熟,為了滿足經濟社會的需要,軟件開發企業不斷進行軟件開發優化,軟件開發管理流程越來越科學,很大程度上適應了經濟社會發展的需要。但是傳統的軟件開發模式弊端越來越多,這就需要軟件開發企業在軟件開發過程中不斷進行新的軟件開發模式探索,提高軟件開發效益。
1.2 軟件應用系統分析
軟件開發是個系統工程,傳統的軟件開發周期長,程序復雜,軟件更新換代速度較慢,難于適應經濟社會發展的需求。系統軟件開發可以以軟件作為架構的基礎,高效地實現數據處理,通過頁面進行展示,是一種新的軟件開發模式,可以根據不同使用者的需求,使用相關技術對軟件功能進行科學整合,從而提高軟件開發速度,更加簡潔地設計程序,軟件的實用性更高。
2 系統軟件工程技術在系統軟件開發運用中應遵循的原則
2.1 科學性原則
系統軟件工程技術要在科學性的原則下進行開發,使用專業技能和開發流程,才能保證系統軟件開發滿足實際需求。以科學手段和科學理念為指導,才能保證系統軟件開發科學高效,這也是對企業軟件開發管理和工作人員專業素質的考驗。
2.2 實用性原則
系統軟件開發的目的是對經濟社會發展服務,提高生產生活的效率。系統軟件開發需要需要大量資金,因此系統軟件開發必須遵循實用性原則,降低系統軟件開發的成本,減少資金的投入,提高系統軟件開發效益。實用性原則可以促使軟件開發企業健康發展,提高企業運行效益。
3 軟件工程技術在系統軟件開發過程中運用的途徑與方法
通過對傳統軟件開發模式的分析,借鑒參考軟件開發模式的弊端,通過科學原則的指導,采取多種形式,科學高效地在系統開發中應用軟件工程技術。
3.1 件開發模型的科學構建
傳統軟件開發和軟件應用系統的設計與開發有著很大的區別,為了提高軟件工程技術在系統軟件開發中的效率,就需要通過科學的手段進行開發模式構建。在對系統軟件應用程序科學分析之后,對開發周期、開發流程、開發重點進行大致估算,在此基礎上進行軟件開發模式構建,才能保證模型的有效性。同時還需要對項目管理模式和組織模式進行設計,通過制度保證軟件開發的質量,及時對軟件開發模式中的差錯進行糾正,保證了軟件開發按照計劃進行。
3.2 軟件應用程序的開發
軟件應用程序開發常常與系統軟件的升級緊密聯系,在對軟件的性能和潛在發展方向進行預測的基礎上對軟件進行迭代升級,軟件應用程序包括了軟件開發的各個方面。為了提高軟件應用程序開發的作用,需要根據軟件使用者的需求,相關技術人員對數據參數進行多方位分析,不斷發現軟件中存在的問題,明確軟件程序設計的重點、需求及要實現的性能。軟件程序開發最終要實現的目的是實現客戶的需求,因此在進行軟件開發設計時,要根據客戶的需求,對用戶的使用習慣進行全面的了解,對重要資訊和優秀內容進行合理安排,對用戶界面不斷進行優化。提高用戶的審美體驗,在科學原則下提高用戶對軟件的黏度,提高軟件開發的效益。
3.3 軟件工程管理的有效運用
隨著計算機硬件的不斷升級,依托硬件性能的提升,可以不斷提高軟件工程管理的效率,提高軟件的質量。軟件工程管理是提高軟件質量的關鍵,通過合理的管理手段,在軟件設計過程中進行管理,可以很大程度上提高軟件的性能,提高軟件開發技術的效益。通過對軟件開發技術的不斷完善和調整,可以促進軟件工程管理水平的提升,使軟件更加實用。
作者單位
北京理工大學珠海學院 廣東省珠海市 519088