張 倩 王玲玲
(華北理工大學附屬醫(yī)院,河北 唐山063000)
系統(tǒng)軟件開發(fā)是具有極強專業(yè)性與復雜性的項目工程。在開發(fā)過程中,軟件工程技術為系統(tǒng)軟件開發(fā)工程提供了技術支持與保障,在促進系統(tǒng)軟件設計開發(fā)、保證系統(tǒng)軟件正常運行、加強軟件系統(tǒng)安全性、提高系統(tǒng)軟件創(chuàng)新性方面發(fā)揮重要作用。
系統(tǒng)軟件開發(fā)是根據(jù)用戶要求建造出系統(tǒng)軟件或者系統(tǒng)中軟件部分的過程?,F(xiàn)階段,國際互聯(lián)網(wǎng)技術不斷發(fā)展,計算機軟件行業(yè)在優(yōu)化我國產業(yè)經濟結構、實現(xiàn)對傳統(tǒng)信息產業(yè)的信息化改造,提高經濟效益和國際市場競爭力方面具有重要作用,是我國重點支持和鼓勵的行業(yè)[1]。
軟件工程技術是基于計算機技術創(chuàng)新發(fā)展下形成的一種以軟件開發(fā)為核心的計算機工程性技術。主要由軟件需求分析、軟件設計、軟件構造、軟件測試、軟件維護管理等內容共同構成。其中軟件需求分析,是系統(tǒng)軟件開發(fā)的開端,是對系統(tǒng)軟件開發(fā)目標、開發(fā)要求的具體描述,以保證所開發(fā)的系統(tǒng)軟件產品能夠有效解決某一現(xiàn)實問題,具備系統(tǒng)設計、開發(fā)與應用的可行性。軟件設計是系統(tǒng)軟件開發(fā)的關鍵內容,是系統(tǒng)軟件開發(fā)過程與開發(fā)結果的一體化展示。通常情況下,軟件設計由軟件結構設計、軟件詳細設計構成,涉及系統(tǒng)軟件體系總架構、系統(tǒng)軟件體系通信接口、系統(tǒng)軟件開發(fā)方法、系統(tǒng)軟件開發(fā)設計策略等眾多內容。軟件構造則是通過一系列編碼與測試活動,進行有價值軟件的科學生成。通常情況下,軟件構造在要求軟件工程滿足軟件設計基本要求的同時,控制軟件程序復雜性,提升軟件程序規(guī)范性、標準性、靈活性。軟件測試則是以提升軟件可靠性、安全性、穩(wěn)定性等為目標,對軟件性能與質量進行的測試。通過軟件測試可及時發(fā)展軟件開發(fā)過程中存在的問題與缺陷,從而進行軟件開發(fā)產品改進,以實現(xiàn)軟件設計目標的達成,以及對軟件需求的滿足。軟件維護管理是以提升軟件開發(fā)產品耐久性、持續(xù)性為目的,組織開展軟件管理、變更、維護、控制、調整、改進等活動?;谛畔⒒ㄔO進程的不斷推進以及系統(tǒng)規(guī)模、數(shù)量、類型的不斷增多,軟件維護管理重要性愈發(fā)顯著,應成為軟件開發(fā)過程中人們關注與考慮的重點內容。
結合系統(tǒng)軟件開發(fā)與軟件工程技術相關概述分析,在系統(tǒng)軟件開發(fā)過程中,軟件工程技術應用主要體現(xiàn)在以下幾方面:
互聯(lián)網(wǎng)技術的發(fā)展擴大了系統(tǒng)軟件的應用范圍和深度。為了更好滿足系統(tǒng)軟件使用需求,提高系統(tǒng)軟件的可靠性與實用性,軟件工程師在具有相關軟件工程技術儲備的同時也要具有相應的軟件工程理念。針對系統(tǒng)軟件問題定義、可行性研究和需求分析,結合實際應用情況,設計最貼近用戶需求、個性化的系統(tǒng)軟件。
問題定義是最容易被忽略的步驟之一。問題定義階段所關注的關鍵問題是:“軟件要解決的問題是什么?”在實際中,開發(fā)人員首先對客戶需求進行訪問調查,結合應用環(huán)境和需求調查結果,精準扼要地做出關于問題性質、工程目標及工程規(guī)模的紙質報告,并經過軟件工程技術組討論后,進行必要修改。修改后將報告與客戶傳輸給客戶進一步進行修正和確認。
為了保證系統(tǒng)軟件的可靠性,在開發(fā)過程中應針對問題定義階段所確定的所有問題提出行之有效的解決辦法。將分析和設計過程放置于較高的抽象層次進行壓縮和簡化的操作過程。這個階段是對軟件工程研究問題范圍的確定,過程相對簡短。在軟件工程決策過程中,可行性研究是決定的重要依據(jù)。
與可行性研究相同,需求分析階段并不是具體地去解決問題,而是研究解決對策,即確定系統(tǒng)軟件的預期目標及主要功能。通過充分與用戶交流需求信息,從而分析設計系統(tǒng)軟件的具體功能,在系統(tǒng)軟件中完整地體現(xiàn)用戶需求,最終做出系統(tǒng)邏輯模型,開發(fā)出具有高適用性的系統(tǒng)軟件。
實現(xiàn)系統(tǒng)軟件設計的主要技術手段就是建立科學的開發(fā)模型。系統(tǒng)軟件模型主要包括兩類設計:一是總體設計,二是詳細設計。
總體設計主要包括兩項主要任務。第一個主要任務是多角度、多層次設計出實現(xiàn)系統(tǒng)軟件目標的總體方案,并根據(jù)總體設計方案選擇不同的表達工具對方案的設計重點、難點、優(yōu)缺點、成本等多方面內容進行闡述,經過軟件設計組權衡后,針對最佳方案制作出具體、詳盡的計劃并進行初步建模。設計系統(tǒng)軟件的程序體系機構是總體設計的第二個主要任務,即程序模塊化。軟件系統(tǒng)是按照一定的、合理的層次結構由若干個模塊組成。建模的意義在于將復雜的系統(tǒng)軟件分解成若干個規(guī)模適中的模塊,縮小系統(tǒng)軟件設計范圍。因此,設計系統(tǒng)軟件程序體系機構的主要工作是確定組成模塊及模塊間的關系。
初步建立模型后,需要對開發(fā)模型進行詳細設計。詳細設計階段的主要任務就是在總體設計的基礎上,將組成模塊與模塊間的關系具體化。針對系統(tǒng)軟件使用過程中模塊需要實現(xiàn)的實際功能進行相應的算法和數(shù)據(jù)結構,并初步建立模塊間的關系連接。
實踐是檢驗真理的唯一標準。進行系統(tǒng)軟件測試(轉下頁)是發(fā)現(xiàn)系統(tǒng)軟件漏洞和優(yōu)化系統(tǒng)軟件運行的最有效途徑,是保障整個系統(tǒng)軟件開發(fā)過程能順利進行的基礎[2]。進行系統(tǒng)軟件測試的目的是以小換多,即以較小的代價發(fā)現(xiàn)較多的錯誤。系統(tǒng)軟件測試具有一定規(guī)律,通過對能夠預期和無法預期的結果進行測試,實現(xiàn)對系統(tǒng)軟件完善與升級。主要分為:編碼和單元測試、綜合測試。
編碼和單元測試主要是針對模塊進行測試。首先結合系統(tǒng)軟件的模塊功能和實際運行環(huán)境,將設計模塊利用一定的高級程序設計語言進行翻譯,最終寫出相應的、正確的、易理解、可維護的程序模塊。并多方面對程序模塊進行仔細測試。
在編碼和單元測試之后進行綜合測試,是采用一定測試方法使得軟件系統(tǒng)達到最終設計要求,通常包括集成測試、驗收測試和平行運行等。集成測試主要是針對模塊而進行的,在將已通過單元測試的模塊依據(jù)系統(tǒng)軟件設計結構、按照特定的策略進行裝配過程中,對模塊運行程序進行相應的檢測。驗收測試則是按照計劃與分析階段確定的系統(tǒng)軟件需求,由用戶現(xiàn)場對系統(tǒng)軟件的可靠性進行檢驗。
系統(tǒng)軟件維護是指針對已研制完成并開始運行的系統(tǒng)軟件進行一定的軟件工程活動,以更好地滿足用戶的需求。即診斷和改正錯誤、根據(jù)環(huán)境進行調整、改進或擴充功能。并在實際維護過程中將錯誤診斷、維護要求、維護計劃、程序測試、程序驗收等內容以書面形式進行呈現(xiàn)、保存。合理的軟件維護過程中,不僅能夠修改軟件運行錯誤,保證系統(tǒng)軟件正常工作,還能夠提高系統(tǒng)軟件性能、擴展實際使用功能、提高系統(tǒng)軟件使用壽命,為用戶帶來多種效益。但在實際維護工作中,因系統(tǒng)軟件維護工作耗費時間長、花費資金多等問題,出現(xiàn)被忽視的狀況。
系統(tǒng)軟件管理工作貫穿系統(tǒng)軟件整個開發(fā)過程,管理方法和管理技術是系統(tǒng)軟件管理的核心。對系統(tǒng)軟件開發(fā)過程進行科學管理和嚴格監(jiān)督,有利于加強系統(tǒng)軟件的適用性和有效性,提高系統(tǒng)軟件的可靠性和可維護性,打造優(yōu)質系統(tǒng)軟件,增強用戶實際使用體驗感。
綜上所述,計算機和網(wǎng)絡技術的發(fā)展,不斷提升系統(tǒng)軟件開發(fā)的復雜性。通過從系統(tǒng)軟件計劃與分析、設計、功能實現(xiàn)、維護與管理方面分析運用軟件工程技術開發(fā)科學、高效、實用、可靠的系統(tǒng)軟件的方法,對提高我國系統(tǒng)軟件開發(fā)技術、系統(tǒng)軟件自主開發(fā)能力具有重要意義。