大型MIS軟體的開發工作是一項複雜而艱鉅的系統工程

2021-08-23 14:50:00 字數 3647 閱讀 2298

大型 mis 軟體的開發工作是一項複雜而艱鉅的系統工程 ,它涉及到軟體工程、資料庫設計、應用業務、專案控制、人員管理和計算機技術等多種知識和經驗 ,因此任何一項大型 mis 軟體的開發成功都是一件極不容易的事。雖然當今的軟體工程理論和資料庫設計理論為我們提供了多種系統開發的方法和手段 ,但在實際開發工作中經常遇到的情況卻是 : 做出來的系統不符合要求 ,需要大量修改 ; 開發工作進度難以控制 ,工期一拖再拖 ; 甚至有些通過了驗收的專案也難逃在實際使用過程中擱淺而被束之高閣的厄運。

在這裡筆者姑且不對造成這種情況的原因和當前一些專案驗收中存在的問題進行分析 ,而是就避免這些問題發生的一些做法與從事軟體開發工作的同行進行一下**。 在多年的開發工作中 ,筆者主持過許多態別管理系統的設計、開發和專案管理工作 ,包括 : 學籍和考試管理、汽車租賃管理、圖書館管理、公路管理、 mrp ⅱ和 erp 管理等。

在這些專案的系統調研、總體設計、模組設計、程式設計、測試和專案管理工作中 ,我深切體會到 ,要想高效率、高質量地完成專案開發工作 ,應努力做好下面的幾項工作。

一、制定開發規範 mis 軟體 ,特別是大型的 mis 軟體是一項浩大的工程 ,需要十幾個人、幾十個人甚至幾百個人合作開發幾個月、十幾個月甚至幾年。要保證系統的協調性、統一性和連續性 ,就需要在開發之前制定嚴格、詳細的開發規範。 開發規範的內容主要包括 :

系統設計規範、程式開發規範和專案管理規範等。系統設計規範規定字段、資料庫、程式和文件的命名規則 ,應用介面的標準和風格 ,各類報表的輸出格式等。程式開發規範對應用程式進行分類 ,如可將程式分成**維護類、業務處理類、業務查詢類和統計報表類等。

並給出各類應用程式的標準程式流程 ,有必要時可編制出標準程式。專案管理規範規定專案組中各類開發人員的職責和權力 ,開發過程中各類問題 ( 如設計問題、程式問題等 ) 的處理規範和修改規則 ,開發工作的總體進度安排和獎懲措施等。 開發規範的制定需要花費一定的時間和精力 ,但是 " 磨刀不誤砍柴功 ",它相當於把今後開發過程中開發人員都要遇到的問題提前做了乙個考慮。

有了開發規範 ,在後續的開發過程中 ,設計人員就不必每次考慮如何為乙個字段命名 ,程式設計人員也不必去想某個程式的結構和布局應當怎樣 ,測試人員也有了判斷程式對錯的標準。 開發規範在專案開發工作中起著事前約定的作用 ,需要所有開發人員共同遵守。它約束開發人員的行為和設計、程式設計風格 ,使不同子系統和模組的設計、程式設計人員達成默契 ,以便形成整個系統的和諧步調和統一風格 ,也便於今後的系統維護和擴充套件工作。

二、合理的人員構成與管理開發專案的成功需要有乙個好的開發組。高效的開發小組要有乙個合理的人員構成。一般開發組應包括專案負責人、系統分析員、系統設計員、程式設計師和測試人員等。

開發組的人員要分層次 ,下層人員要服從上層人員的領導。 專案組要有乙個專案負責人 ,他對整個專案有控制和決定權 ,對專案開發的成敗負責。軟體開發中遇到問題的答案往往不止乙個 ,因此需要有人對這些問題有決定權 ,避免扯皮。

大型專案的負責人應有豐富的專案管理經驗和資料庫設計經驗 ,另外還需對使用者的實際業務有較全面和深入的理解。 系統分析員協助專案負責人進行系統分析工作 ,並負責某一方面的具體設計工作 ; 系統設計員幫助系統分析員進行模組設計 ; 程式設計師按照模組設計進行程式設計 ; 測試人員直接受專案負責人領導 ,為整個專案的質量把關。所有專案組人員都應對使用者的實際業務有不同程度的了解 ,這樣有助於系統的開發工作和系統最後的成功。

三、嚴格控制開發進度專案進度管理是軟體開發中最難以做好的一項工作。程式設計工作本身是乙個難以量化的工作 ,再加上開發過程中對設計的修改等因素 ,使得專案開發工作經常不能按預計的時間完成。 為了管理好專案進度 ,首先要制定乙個可行的專案進度計畫。

一開始 ,專案進度計畫只能根據專案的內容、工作量和參加人員進行大致地估算 ,包括系統分析和設計時間 ,程式設計、測試時間和文件製作時間 ,估算時應根據業務複雜程度加入一些緩衝時間。系統分析、設計完成後 ,根據程式清單可估算出每個程式的程式設計時間 ( 根據程式型別和複雜程度 ),並在此基礎上估算這種程式量下的測試、文件製作和緩衝時間 ,經過這樣估算再做出的進度計畫已經可以做到相當準確和細緻了。實際上專案進度計畫是乙個由粗到細且不斷調整的計畫。

每週要將專案進度情況與專案進度計畫進行對比。對於拖延的工作如無充份理由 ,則應督促有關人員加班或提高工作效率趕上進度 ; 如有正常理由 ,在無法追回的情況下可以修改進度計畫 ,申請延期。 專案進度管理一定要細緻和嚴格 ,像設計、程式設計這種難以量化的工作是很難籠統地去控制進度的。

四、系統設計要超越業務軟體設計的好壞直接關係到專案開發的成敗。在設計之前一定要對使用者的業務做系統的調研 ,深入、全面地了解使用者業務。在調查時要注意以下幾點 :

1.有時某個部門的業務由幾個業務人員分管 ,調查時不能只聽乙個人的敘述。 2.

要詳細了解乙個部門與其他業務部門的業務關係。 3.要了解當前業務的難點 ,在設計時著重解決。

4.使用者不可能一次將所有業務描述清楚 ,所以調查要由淺入深 ,分多次進行。 5.

調研要以我為主 ,圍繞主題提出問題 ,不要陷入使用者的瑣碎業務中。 6.要注意收集原始憑證、報表和文字資料。

在根據調研結果做設計的時候 ,不要過於迷信一些教科書上介紹的資料庫設計方法。在多年的實踐中 ,我發現許多方法不但沒用而且還增加工作量 ,在業務關係比較複雜的情況下 ,一些資料庫設計方法是根本不能推導出設計結果的。而且直接根據收集資料和現行業務去推導資料庫結構的做法也是不可取的。

這是因為 : 1.使用者描述的業務可能不是乙個好的管理方法。

2.使用者描述的各部門間的業務資料傳遞仍是手工做法。 3.

使用者描述的業務不是規律性的業務流程 ,因此會經常發生改變。 4.使用者描述的業務不適合於用計算機去實現。

5.使用者的輸出**為固定的內容 ,不能適應業務的變化和擴充套件。 所以在系統設計時要超越當前的業務 ,抽象出業務中的管理思想和規律性的東西。

為了適應計算機管理 ,有時也要改變使用者的業務流程 ,這時要與使用者協商 ,讓其理解這種改變的意義。另外設計還應留有可擴充套件的餘地。

五、程式設計要實用 mis 軟體最終的目的是要使用者使用。因此在程式設計時必須立足於操作簡單、實用 ,並真正能為使用者解決實際的業務問題。不能因為怕程式設計麻煩而將程式功能設計得過於簡陋。

為方便使用者使用 ,應用程式中起碼應具有下面這些功能 : 1.提示功能。

螢幕上的**資訊 ( 如客戶**、科目**等 ) 要有提示操作 ,使使用者不必記憶很多的**。 2.操作確認。

對於一些不可恢復的操作 ( 如記錄刪除等 ) 應有操作確認 ,避免誤操作。 3.資料校驗。

對於一些有限制條件的輸入資訊 ,可以自動校驗其正確性 ,避免錯誤資料進入系統。 4.錯誤恢復。

使用者無意中進行了錯誤操作 ,應能有相應的處理程式挽回錯誤。 5.預設賦值。

對於一些常用資訊可以設定預設值 ,使使用者不必每次都輸入這些資訊。 6.記錄複製。

使用者可以複製一條或多條已存在的記錄 ,並可修改複製結果 ,形成新的記錄。

六、測試測試是保證程式質量的一項重要工作。但測試只能證明程式有錯 ,而不能證明程式無錯。所以任何軟體系統都不能保證內部沒有錯誤。

為了確保軟體系統的安全與可靠性 ,一方面要加大測試力度 ,另一方面要抓住測試重點。 從測試的角度來說 ,可將 mis 軟體的程式分為兩類 : 修改資料庫類和資訊輸出類。

前一類主要是業務處理程式 ,是測試重點。對於前一類程式還可以進一步細分為 : 基礎資料採集程式和資料處理統計程式。

資料採集程式主要記錄原始憑證資訊 ( 如發票、憑證、入 / 出庫單等 ),資料處理統計程式是對資料採集程式記錄下來的資料繼續做加工。這兩類程式中基礎資料採集程式又是測試的重點。 以上是筆者在以往的 mis 軟體開發過程中總結出的幾點經驗 ,希望能給從事相關工作的同行們提供一點幫助。

教學是一項「導演」的藝術

2015 04 08 英語教師網英語教師網 如果說課室是個舞台,那麼學生就是這個舞台的演員,老師就是幕後的編劇與台前的總導演。在傳統的課堂教學模式中,老師演的往往是獨角戲,一身兼數職,自編 自導又自演,而學生只是台下的觀眾與聽眾。一場戲下來,老師又苦又累,學生卻愛莫能助,因為在導演的劇本中壓根兒就沒...

質檢工作是一項非常重要的工作

質檢工作是一項非常重要的工作,許多酒店都設有質檢部,擁有專項或兼職質檢人員,酒店領導可以從以下幾個方面推動質檢工作 首先要高度重視,只有領導重視,質檢工作才能落到實處,起到它應起的作用,否則就會形同虛設,名存實亡。酒店領導要確立質檢工作目標管理責任制,完善質檢體制,做到目標明確有章可循,有法可依。質...

班主任工作是一項艱鉅而複雜的工作

春風化雨潤物無聲 談聾校班主任工作點滴 班主任工作是一項艱鉅而複雜的工作,作為特教的班主任更是如此。聾生雖然有聽力障礙,但其他方面卻和正常人沒兩樣。他們有的文靜內向 有的活潑好動 有的性情急躁 因此,如何 因材施教 是特教班主任工作的重點和難點。一 對脾氣暴躁型學生要 冷 處理。這類學生一般易怒,情...