3.1 系統(tǒng)開發(fā)的任務(wù)和特點
3.1.1 系統(tǒng)開發(fā)的任務(wù)
系統(tǒng)開發(fā)的任務(wù)就是根據(jù)企業(yè)管理的目標、內(nèi)容、規(guī)模、性質(zhì)等具體情況,從系統(tǒng)論的觀點出發(fā),運用系統(tǒng)工程的方法,按照系統(tǒng)發(fā)展的規(guī)律,為企業(yè)建立起計算機化的信息系統(tǒng)。其中核心的工作,就是開發(fā)出一套適合于現(xiàn)代企業(yè)管理要求的應用軟件系統(tǒng)。
在計算機領(lǐng)域中,人們經(jīng)常用“系統(tǒng)開發(fā)” 一詞來概括管理應用軟件系統(tǒng)從項目提出直到運行、評價為止的整個過程。這個過程有時又稱為“系統(tǒng)分析與設(shè)計”或簡稱為“系統(tǒng)設(shè)計”。
3.1.2 系統(tǒng)開發(fā)的特點
管理信息系統(tǒng)開發(fā)的成果或產(chǎn)品是一套應用軟件系統(tǒng)。與一般硬件設(shè)備的生產(chǎn)過程和單項事務(wù)處理的程序編寫相比,具有以下特點:
1.復雜性高
2.集體的創(chuàng)造性活動
3.質(zhì)量要求高
4.產(chǎn)品是無形的
5.歷史短,經(jīng)驗不足
3.2 系統(tǒng)開發(fā)的指導原則
系統(tǒng)工程是為了合理地進行開發(fā)、設(shè)計和運用系統(tǒng)而采用的思想、步驟、組織和方法的總稱,管理信息系統(tǒng)的開發(fā)屬于系統(tǒng)工程的范疇。深入分析系統(tǒng)的特征,根據(jù)系統(tǒng)發(fā)展的規(guī)律來建立系統(tǒng),是系統(tǒng)開發(fā)的指導原則,其要點如下:
3.2.1 系統(tǒng)的目的性
應明確系統(tǒng)開發(fā)的目的,確立面向用戶的觀點。
3.2.2 系統(tǒng)的整體性
強調(diào)系統(tǒng)的整體性,采用先確定邏輯模型,再設(shè)計物理模型的開發(fā)思路。
系統(tǒng)開發(fā)采取整體化開發(fā)形式。其具體做法如下:
一是詳細了解原系統(tǒng)信息處理過程,包括各種處理的物理細節(jié),得出原系統(tǒng)的物理模型。
二是對原系統(tǒng)的物理模型進行綜合和抽象,去掉物理細節(jié),分析原系統(tǒng)的邏輯功能,得出原系統(tǒng)的整體邏輯模型。
三是對原系統(tǒng)的邏輯模型進行改進和完善,補充管理需要的、人工系統(tǒng)難以實現(xiàn)的新的功能,形成新系統(tǒng)的邏輯模型,解決新的計算機系統(tǒng)應當“做什么”的問題。
四是建立新系統(tǒng)的物理模型,即確定新系統(tǒng)實現(xiàn)邏輯模型的技術(shù)方法和手段,解決新系統(tǒng)“如何做”的問題。
這個過程就是由原系統(tǒng)物理模型,到原系統(tǒng)邏輯模型和計算機化邏輯模型,再到計算機化物理模型的過程。
3.2.3 系統(tǒng)的相關(guān)性
分析系統(tǒng)的相關(guān)性,根據(jù)分解-協(xié)調(diào)的原則由頂向下發(fā)展系統(tǒng)。
管理信息系統(tǒng)是由多個子系統(tǒng)(功能) 組成的,整個系統(tǒng)是一個不可分割的整體,整個系統(tǒng)的功能并不是各子系統(tǒng)的簡單加和,其功能應比所有子系統(tǒng)的功能總和還要大得多。
整個系統(tǒng)為層次結(jié)構(gòu),系統(tǒng)可分解為多個子系統(tǒng),子系統(tǒng)同樣又可分解為更細一級以子系統(tǒng)。系統(tǒng)、子系統(tǒng)均有自身的目標、界限、輸入、輸出和處理內(nèi)容。
根據(jù)上述特性,發(fā)展了系統(tǒng)結(jié)構(gòu)化分析和設(shè)計的方法,其要點是“自頂向下” 地開發(fā)系統(tǒng),分期分批進行子系統(tǒng)的開發(fā),“由底向上”實施,先實現(xiàn)某些子系統(tǒng)再逐步實現(xiàn)總的目標和功能。因此,在系統(tǒng)開發(fā)中“由頂向下”是主導原則,“由底向上”是輔助原則。
3.2.4 系統(tǒng)的環(huán)境適應性
應該適應環(huán)境變化的要求,開發(fā)易擴展、易維護的系統(tǒng)。
3.2.5工作成果文檔化,圖表規(guī)范化
軟件是程序以及開發(fā)、使用和維護這些程序所需的所有文檔。要及時按照一定規(guī)范產(chǎn)生各種文檔,做到工作成果文檔化、圖表規(guī)范化。這些文檔有以下重要作用:
其一,人的記憶力是有限的,各種調(diào)查分析的結(jié)果和設(shè)計的技術(shù)細節(jié)必須以書面形式記錄下來,以供查閱和核對。
其二,開發(fā)人員之間、開發(fā)人員與用戶之間,可利用書面的、超越各自專業(yè)的共同語言——文檔的形式有效地進行交流。
其三,系統(tǒng)開發(fā)要經(jīng)過一定的過程,后一階段的工作要在前一階段的基礎(chǔ)上,也就是在前期工作文檔的基礎(chǔ)上繼續(xù)進行。
文檔的形式以圖表為主,其表達效果在很多情況下比文字敘述簡潔、形象、效果真實。但所用的圖表應當規(guī)范化、標準化。
3.3 系統(tǒng)開發(fā)的方法
3.3.1 生命周用法
生命周期法將管理信息系統(tǒng)的開發(fā)過程劃分為系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施三個階段,每個階段又分成若干步驟。
1.系統(tǒng)開發(fā)生命周期各階段的主要任務(wù)
生命周期各階段的主要任務(wù)如下:
(1) 系統(tǒng)分析。在系統(tǒng)分析階段,首先根據(jù)用戶提出的建立新系統(tǒng)的要求,進行總體規(guī)劃和可行性研究。系統(tǒng)分析是使系統(tǒng)開發(fā)達到合理、優(yōu)化的重要階段,這階段工作深入與否直接影響到新系統(tǒng)的質(zhì)量和經(jīng)濟性,它是開發(fā)成敗的關(guān)鍵。
(2) 系統(tǒng)設(shè)計。根據(jù)系統(tǒng)分析確定的邏輯模型,確定新系統(tǒng)的物理模型,即計算機化信息系統(tǒng)應用軟件的總體結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計,并提出系統(tǒng)配置方案。繼而對物理模型進行詳細的設(shè)計。詳細設(shè)計的主要內(nèi)容有代碼設(shè)計、用戶界面設(shè)計、處理過程設(shè)計。后,編寫系統(tǒng)設(shè)計報告。
(3) 系統(tǒng)實施。系統(tǒng)實施包括:按照物理模型實現(xiàn)應用軟件的編制和測試、系統(tǒng)試運行、系統(tǒng)切換、系統(tǒng)交付使用以及運行后的系統(tǒng)維護和評價等工作。
2.生命周期法的主要優(yōu)缺點
生命周期法的主要優(yōu)點是:
(1) 強調(diào)系統(tǒng)的整體性、全局性。它采用“自頂向下” 的原則分析和設(shè)計系統(tǒng),首先解決全局問題,強調(diào)在系統(tǒng)整體優(yōu)化的前提下,來考慮具體的解決方案。
(2) 嚴格區(qū)分工作階段。整個開發(fā)過程階段和步驟清楚,每一階段和步驟均有明確的成果,作為下一步工作的依據(jù)。這樣有利于整個項目的管理與控制,避免了開發(fā)過程的混亂狀態(tài)。
但是,在實踐過程中也暴露出這種方法的一些缺陷:
(1) 難以準確定義用戶需求。
(2) 開發(fā)周期長,難以適應環(huán)境變化。
3.3.2 原型法
原型法(Prototyping Approach)的基本思想是:首先由用戶與系統(tǒng)分析設(shè)計人員合作,在短期內(nèi)定義用戶的基本需求,開發(fā)出一個功能不十分完善、實驗性的、簡易的應用軟件系統(tǒng)的基本框架,稱之為原型。接著運行這個原型,再不斷評價和改進原型,使之逐步完善。其開發(fā)過程是多次重復、不斷演進的過程。
原型法的主要優(yōu)點是:
l.符合人們認識事物的規(guī)律
2.用戶參與積極性高
3.開發(fā)周期短,使用靈活
由于原型法需要快速形成原型和不斷修改演進,要求系統(tǒng)的可變更性好,易于修改,因此,采用這種方法必須具有形成原型和修改原型的支撐工具,如系統(tǒng)分析和設(shè)計中各種圖表的生成器、計算機數(shù)據(jù)字典、程序生成器等。這些支撐工具正在研制與完善中,其發(fā)展對原型法的推廣使用起著相輔相成的作用。
3.3.3 面向?qū)ο蟮姆椒ǎ∣bject Oriented)
面向?qū)ο蟮姆椒ㄅc傳統(tǒng)方法比較有兩點重大突破。
1.操作與數(shù)據(jù)共同封裝
所謂“對象”就是數(shù)據(jù)和操作的封裝通信單位。在面向?qū)ο蠹夹g(shù)里,將數(shù)據(jù)和操作稱為對象的屬性和服務(wù)。數(shù)據(jù)表征了對象的狀態(tài),操作則是在外界激發(fā)下使數(shù)據(jù)的狀態(tài)改變。這里激發(fā)的因素就是對象間的通信,稱為消息。對象接收某則消息后,對屬性(數(shù)據(jù)) 進行操作。
2.類與繼承機制
“類”就是指一組具有相同結(jié)構(gòu)、操作和約束條件的對象,對象類由“類說明”和“類實現(xiàn)”兩大部分組成?!邦愓f明”統(tǒng)一描述對象類的結(jié)構(gòu)。應遵守的約束規(guī)則以及執(zhí)行的操作。而“類實現(xiàn)”則由開發(fā)人員掌握。
一個類的上層可以有超類,下層可以有子類,形成一種層次結(jié)構(gòu)。一個類可以有多個超類,也可以有多個子類。超類是下層子類的概括,因此子類可以繼承超類的屬性、操作和約束規(guī)則,這就是類繼承機制。繼承性使面向?qū)ο蟮南到y(tǒng)具有較好的可擴充性和靈活性,因而有利于軟件系統(tǒng)的維護。
3.3.4 計算機輔助軟件工程
計算機輔助軟件工程(Computer Aided Software Engineering,CASE)是提高系統(tǒng)開發(fā)效率和質(zhì)量的重要途徑。CASE技術(shù)的目標就是要實現(xiàn)系統(tǒng)開發(fā)生命周期內(nèi)各階段工作基于計算機的自動化。CASE的作用,可概括為三個方面:
一是能實現(xiàn)一個具有快速響應、專用資源和早期查錯功能的交互式開發(fā)環(huán)境。
二是對系統(tǒng)開發(fā)和維護過程中各個環(huán)節(jié)實現(xiàn)自動化。
三是通過強有力的圖形接口,實現(xiàn)直觀的程序設(shè)計。
3.3.5 開發(fā)方法的選擇
原型法需要軟件支撐工具快速形成原型,并不斷地與用戶討論、修改,終建立系統(tǒng)。要將這種方法用于大型信息系統(tǒng)開發(fā)中的所有環(huán)節(jié)是不適宜的。因此,它主要用于小型的。靈活性高的系統(tǒng)或局部系統(tǒng)的設(shè)計和實施。
面向?qū)ο蟮姆椒ㄊ且詫ο鬄榛A(chǔ),利用特定的軟件工具直接完成從對象的描述到應用軟件結(jié)構(gòu)的轉(zhuǎn)換,特別適合于小型應用軟件系統(tǒng)的開發(fā)。
在大型系統(tǒng)的開發(fā)中,常常不是采用一種開發(fā)方法,而是采用多種方法的組合。
結(jié)構(gòu)化生命周期法是目前較全面支持大、中型系統(tǒng)整個過程開發(fā)的方法,其他方法雖然有許多優(yōu)點,但都只能作為結(jié)構(gòu)化生命周期法在局部開發(fā)環(huán)節(jié)上的補充,暫時還不能代替其在系統(tǒng)開發(fā)過程中的主導地位。
系統(tǒng)開發(fā)的方法隨著系統(tǒng)開發(fā)工具的不斷改進,正在逐漸完善,本節(jié)列舉的各種方法不是相互獨立的,它們經(jīng)??梢曰旌鲜褂?。
3.4 系統(tǒng)開發(fā)的方式
目前,我國企業(yè)系統(tǒng)開發(fā)方式主要有以下四種。
1.由本企業(yè)自行開發(fā)
這種開發(fā)方式需要有出色的領(lǐng)導和自己的開發(fā)隊伍,包括系統(tǒng)分析師、程序設(shè)計員、計算機技術(shù)人員和有經(jīng)驗的管理人員等各類人員。
自行開發(fā)的主要優(yōu)點是:
(1) 用戶的需求可以得到充分滿足。(2) 系統(tǒng)維護容易。(3) 可鍛煉本企業(yè)計算機開發(fā)應用的隊伍。
自行開發(fā)的主要缺點是:
(1) 系統(tǒng)開發(fā)周期一般較長。(2) 難于擺脫本企業(yè)習慣的管理方式的影響,不易開發(fā)出一個高水平的管理信息系統(tǒng)。(3) 用于企業(yè)內(nèi)部的開發(fā)費用高。
2.委托開發(fā)
利用外部專門提供信息系統(tǒng)建立和維護的公司,來實現(xiàn)信息系統(tǒng)的開發(fā)。企業(yè)應當事前在調(diào)查研究的基礎(chǔ)上,向委托開發(fā)的單位提出系統(tǒng)開發(fā)任務(wù)書,明確新系統(tǒng)的目標、范圍和總的功能需求。在開發(fā)過程中,企業(yè)應派出精通管理業(yè)務(wù)的人員參與開發(fā)方案的研究、監(jiān)督控制工作的進展,以保證工作的質(zhì)量。
這種開發(fā)方式的優(yōu)點是:開發(fā)周期短;企業(yè)不必組織本企業(yè)的開發(fā)隊伍;如果選擇了好的開發(fā)單位,企業(yè)能密切配合系統(tǒng)開發(fā)管理工作,使之符合現(xiàn)代信息處理要求,則可開發(fā)出水平較高的系統(tǒng)。其缺點是:委托開發(fā)由于要由軟件公司對企業(yè)的系統(tǒng)進行專門的開發(fā),用于外部的費用很高;當企業(yè)管理發(fā)生變化或擴展時,系統(tǒng)維護工作困難。
3.企業(yè)與軟件公司合作開發(fā)
其主要優(yōu)點是:在合作開發(fā)中,可發(fā)揮軟件公司技術(shù)力量強,本企業(yè)人員對管理業(yè)務(wù)熟悉的優(yōu)勢,共同開發(fā)出具有較高水平而適用性又強的系統(tǒng);有利于企業(yè)計算機應用隊伍的培養(yǎng)與提高。
4.購買應用軟件產(chǎn)品
購買商品化應用軟件產(chǎn)品的主要優(yōu)點是:
(1) 軟件產(chǎn)品可*性、穩(wěn)定性高。
(2) 反映了先進的企業(yè)管理思想。
(3) 開發(fā)周期短。
(4) 費用比較低。
購買商品化軟件的主要缺點是:
(1) 系統(tǒng)實施費用較高。
(2) 系統(tǒng)維護困難。
商品化軟件應用范圍正在日益擴大,將成為系統(tǒng)建立的主要方式。
3.5 系統(tǒng)開發(fā)的組織與項目管理
3.5.1 系統(tǒng)開發(fā)的組織
1.系統(tǒng)開發(fā)領(lǐng)導小組
系統(tǒng)開發(fā)領(lǐng)導小組應由企業(yè)負責人來主持,小組成員應包括1名公司副經(jīng)理、系統(tǒng)開發(fā)項目組長、有經(jīng)驗的系統(tǒng)分析師,以及用戶各主要部門的業(yè)務(wù)負責人,共約5-7人組成。其主要任務(wù)是制定管理信息系統(tǒng)開發(fā)的方針策略;指導項目小組的工作;批準項目計劃;在開發(fā)過程中,根據(jù)客觀發(fā)展情況進行決策,協(xié)調(diào)各方面的關(guān)系;控制開發(fā)進度。領(lǐng)導小組的職責范圍如下:
(1) 提出建立新系統(tǒng)的目標和總策略。
(2) 指導項目小組工作,保證滿足企業(yè)不同部門對新系統(tǒng)的需求。
(3) 對開發(fā)工作進行監(jiān)督與控制。
(4) 協(xié)調(diào)系統(tǒng)開發(fā)中有關(guān)的各項工作。
(5) 向上級組織報告系統(tǒng)開發(fā)工作的進展情況。
(6) 委任計算中心的主要工作人員,規(guī)定他們的職責范圍。
2.系統(tǒng)開發(fā)項目組
項目小組直接負責系統(tǒng)開發(fā)的具體企業(yè)工作。項目小組成員由三類人員組成,即系統(tǒng)分析師、程序設(shè)計員和企業(yè)管理人員。在系統(tǒng)開發(fā)的各階段中。
各類人員的工作任務(wù)及應具備的素質(zhì)如下:
(1) 系統(tǒng)分析師。他們的主要任務(wù)是研究用戶對信息系統(tǒng)的需求;評價該企業(yè)開發(fā)計算機化信息系統(tǒng)的可行性;進行系統(tǒng)分析與設(shè)計,負責對新系統(tǒng)的安裝、測試和技術(shù)文件的編寫。他們不僅應當具備計算機硬件、軟件的知識,懂得企業(yè)管理的業(yè)務(wù),還應當了解現(xiàn)代化管理方法以及各種經(jīng)濟數(shù)學模型在企業(yè)管理中的應用,并且應當具有理論聯(lián)系實際靈活運用上述知識的能力。
此外,他們應當善于處理人際關(guān)系。他們應具有概括能力、邏輯抽象能力、想象力和創(chuàng)造力,才能設(shè)計出高質(zhì)量的系統(tǒng)
(2) 程序設(shè)計員。程序設(shè)計員的主要任務(wù)是按照系統(tǒng)分析師所提出的設(shè)計方案編制程序、調(diào)試程序、修改程序直到新系統(tǒng)投入運行。
(3) 企業(yè)管理人員。參加系統(tǒng)開發(fā)的企業(yè)管理人員代表用戶,在實際工作中提出用戶的需求,一方面對開發(fā)工作的質(zhì)量進行監(jiān)督;另一方面他們應按照新系統(tǒng)的要求,組織管理基礎(chǔ)工作的整頓,提供新系統(tǒng)運行所需的各種基礎(chǔ)數(shù)據(jù)。
3.5.2 系統(tǒng)開發(fā)的項目管理
計算機管理信息系統(tǒng)的建立是一項復雜的系統(tǒng)工程,除了應用軟件系統(tǒng)開發(fā)工作以外,還需要一定的支持環(huán)境,如進行管理體制的改革,信息的標準化、規(guī)范化、完整化,應用人員的培訓,硬件設(shè)備和系統(tǒng)軟件的配置,計算機房的建設(shè)等各方面的工作,只有這些工作完成以后,信息系統(tǒng)才能正常運轉(zhuǎn)。
3.1.1 系統(tǒng)開發(fā)的任務(wù)
系統(tǒng)開發(fā)的任務(wù)就是根據(jù)企業(yè)管理的目標、內(nèi)容、規(guī)模、性質(zhì)等具體情況,從系統(tǒng)論的觀點出發(fā),運用系統(tǒng)工程的方法,按照系統(tǒng)發(fā)展的規(guī)律,為企業(yè)建立起計算機化的信息系統(tǒng)。其中核心的工作,就是開發(fā)出一套適合于現(xiàn)代企業(yè)管理要求的應用軟件系統(tǒng)。
在計算機領(lǐng)域中,人們經(jīng)常用“系統(tǒng)開發(fā)” 一詞來概括管理應用軟件系統(tǒng)從項目提出直到運行、評價為止的整個過程。這個過程有時又稱為“系統(tǒng)分析與設(shè)計”或簡稱為“系統(tǒng)設(shè)計”。
3.1.2 系統(tǒng)開發(fā)的特點
管理信息系統(tǒng)開發(fā)的成果或產(chǎn)品是一套應用軟件系統(tǒng)。與一般硬件設(shè)備的生產(chǎn)過程和單項事務(wù)處理的程序編寫相比,具有以下特點:
1.復雜性高
2.集體的創(chuàng)造性活動
3.質(zhì)量要求高
4.產(chǎn)品是無形的
5.歷史短,經(jīng)驗不足
3.2 系統(tǒng)開發(fā)的指導原則
系統(tǒng)工程是為了合理地進行開發(fā)、設(shè)計和運用系統(tǒng)而采用的思想、步驟、組織和方法的總稱,管理信息系統(tǒng)的開發(fā)屬于系統(tǒng)工程的范疇。深入分析系統(tǒng)的特征,根據(jù)系統(tǒng)發(fā)展的規(guī)律來建立系統(tǒng),是系統(tǒng)開發(fā)的指導原則,其要點如下:
3.2.1 系統(tǒng)的目的性
應明確系統(tǒng)開發(fā)的目的,確立面向用戶的觀點。
3.2.2 系統(tǒng)的整體性
強調(diào)系統(tǒng)的整體性,采用先確定邏輯模型,再設(shè)計物理模型的開發(fā)思路。
系統(tǒng)開發(fā)采取整體化開發(fā)形式。其具體做法如下:
一是詳細了解原系統(tǒng)信息處理過程,包括各種處理的物理細節(jié),得出原系統(tǒng)的物理模型。
二是對原系統(tǒng)的物理模型進行綜合和抽象,去掉物理細節(jié),分析原系統(tǒng)的邏輯功能,得出原系統(tǒng)的整體邏輯模型。
三是對原系統(tǒng)的邏輯模型進行改進和完善,補充管理需要的、人工系統(tǒng)難以實現(xiàn)的新的功能,形成新系統(tǒng)的邏輯模型,解決新的計算機系統(tǒng)應當“做什么”的問題。
四是建立新系統(tǒng)的物理模型,即確定新系統(tǒng)實現(xiàn)邏輯模型的技術(shù)方法和手段,解決新系統(tǒng)“如何做”的問題。
這個過程就是由原系統(tǒng)物理模型,到原系統(tǒng)邏輯模型和計算機化邏輯模型,再到計算機化物理模型的過程。
3.2.3 系統(tǒng)的相關(guān)性
分析系統(tǒng)的相關(guān)性,根據(jù)分解-協(xié)調(diào)的原則由頂向下發(fā)展系統(tǒng)。
管理信息系統(tǒng)是由多個子系統(tǒng)(功能) 組成的,整個系統(tǒng)是一個不可分割的整體,整個系統(tǒng)的功能并不是各子系統(tǒng)的簡單加和,其功能應比所有子系統(tǒng)的功能總和還要大得多。
整個系統(tǒng)為層次結(jié)構(gòu),系統(tǒng)可分解為多個子系統(tǒng),子系統(tǒng)同樣又可分解為更細一級以子系統(tǒng)。系統(tǒng)、子系統(tǒng)均有自身的目標、界限、輸入、輸出和處理內(nèi)容。
根據(jù)上述特性,發(fā)展了系統(tǒng)結(jié)構(gòu)化分析和設(shè)計的方法,其要點是“自頂向下” 地開發(fā)系統(tǒng),分期分批進行子系統(tǒng)的開發(fā),“由底向上”實施,先實現(xiàn)某些子系統(tǒng)再逐步實現(xiàn)總的目標和功能。因此,在系統(tǒng)開發(fā)中“由頂向下”是主導原則,“由底向上”是輔助原則。
3.2.4 系統(tǒng)的環(huán)境適應性
應該適應環(huán)境變化的要求,開發(fā)易擴展、易維護的系統(tǒng)。
3.2.5工作成果文檔化,圖表規(guī)范化
軟件是程序以及開發(fā)、使用和維護這些程序所需的所有文檔。要及時按照一定規(guī)范產(chǎn)生各種文檔,做到工作成果文檔化、圖表規(guī)范化。這些文檔有以下重要作用:
其一,人的記憶力是有限的,各種調(diào)查分析的結(jié)果和設(shè)計的技術(shù)細節(jié)必須以書面形式記錄下來,以供查閱和核對。
其二,開發(fā)人員之間、開發(fā)人員與用戶之間,可利用書面的、超越各自專業(yè)的共同語言——文檔的形式有效地進行交流。
其三,系統(tǒng)開發(fā)要經(jīng)過一定的過程,后一階段的工作要在前一階段的基礎(chǔ)上,也就是在前期工作文檔的基礎(chǔ)上繼續(xù)進行。
文檔的形式以圖表為主,其表達效果在很多情況下比文字敘述簡潔、形象、效果真實。但所用的圖表應當規(guī)范化、標準化。
3.3 系統(tǒng)開發(fā)的方法
3.3.1 生命周用法
生命周期法將管理信息系統(tǒng)的開發(fā)過程劃分為系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施三個階段,每個階段又分成若干步驟。
1.系統(tǒng)開發(fā)生命周期各階段的主要任務(wù)
生命周期各階段的主要任務(wù)如下:
(1) 系統(tǒng)分析。在系統(tǒng)分析階段,首先根據(jù)用戶提出的建立新系統(tǒng)的要求,進行總體規(guī)劃和可行性研究。系統(tǒng)分析是使系統(tǒng)開發(fā)達到合理、優(yōu)化的重要階段,這階段工作深入與否直接影響到新系統(tǒng)的質(zhì)量和經(jīng)濟性,它是開發(fā)成敗的關(guān)鍵。
(2) 系統(tǒng)設(shè)計。根據(jù)系統(tǒng)分析確定的邏輯模型,確定新系統(tǒng)的物理模型,即計算機化信息系統(tǒng)應用軟件的總體結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計,并提出系統(tǒng)配置方案。繼而對物理模型進行詳細的設(shè)計。詳細設(shè)計的主要內(nèi)容有代碼設(shè)計、用戶界面設(shè)計、處理過程設(shè)計。后,編寫系統(tǒng)設(shè)計報告。
(3) 系統(tǒng)實施。系統(tǒng)實施包括:按照物理模型實現(xiàn)應用軟件的編制和測試、系統(tǒng)試運行、系統(tǒng)切換、系統(tǒng)交付使用以及運行后的系統(tǒng)維護和評價等工作。
2.生命周期法的主要優(yōu)缺點
生命周期法的主要優(yōu)點是:
(1) 強調(diào)系統(tǒng)的整體性、全局性。它采用“自頂向下” 的原則分析和設(shè)計系統(tǒng),首先解決全局問題,強調(diào)在系統(tǒng)整體優(yōu)化的前提下,來考慮具體的解決方案。
(2) 嚴格區(qū)分工作階段。整個開發(fā)過程階段和步驟清楚,每一階段和步驟均有明確的成果,作為下一步工作的依據(jù)。這樣有利于整個項目的管理與控制,避免了開發(fā)過程的混亂狀態(tài)。
但是,在實踐過程中也暴露出這種方法的一些缺陷:
(1) 難以準確定義用戶需求。
(2) 開發(fā)周期長,難以適應環(huán)境變化。
3.3.2 原型法
原型法(Prototyping Approach)的基本思想是:首先由用戶與系統(tǒng)分析設(shè)計人員合作,在短期內(nèi)定義用戶的基本需求,開發(fā)出一個功能不十分完善、實驗性的、簡易的應用軟件系統(tǒng)的基本框架,稱之為原型。接著運行這個原型,再不斷評價和改進原型,使之逐步完善。其開發(fā)過程是多次重復、不斷演進的過程。
原型法的主要優(yōu)點是:
l.符合人們認識事物的規(guī)律
2.用戶參與積極性高
3.開發(fā)周期短,使用靈活
由于原型法需要快速形成原型和不斷修改演進,要求系統(tǒng)的可變更性好,易于修改,因此,采用這種方法必須具有形成原型和修改原型的支撐工具,如系統(tǒng)分析和設(shè)計中各種圖表的生成器、計算機數(shù)據(jù)字典、程序生成器等。這些支撐工具正在研制與完善中,其發(fā)展對原型法的推廣使用起著相輔相成的作用。
3.3.3 面向?qū)ο蟮姆椒ǎ∣bject Oriented)
面向?qū)ο蟮姆椒ㄅc傳統(tǒng)方法比較有兩點重大突破。
1.操作與數(shù)據(jù)共同封裝
所謂“對象”就是數(shù)據(jù)和操作的封裝通信單位。在面向?qū)ο蠹夹g(shù)里,將數(shù)據(jù)和操作稱為對象的屬性和服務(wù)。數(shù)據(jù)表征了對象的狀態(tài),操作則是在外界激發(fā)下使數(shù)據(jù)的狀態(tài)改變。這里激發(fā)的因素就是對象間的通信,稱為消息。對象接收某則消息后,對屬性(數(shù)據(jù)) 進行操作。
2.類與繼承機制
“類”就是指一組具有相同結(jié)構(gòu)、操作和約束條件的對象,對象類由“類說明”和“類實現(xiàn)”兩大部分組成?!邦愓f明”統(tǒng)一描述對象類的結(jié)構(gòu)。應遵守的約束規(guī)則以及執(zhí)行的操作。而“類實現(xiàn)”則由開發(fā)人員掌握。
一個類的上層可以有超類,下層可以有子類,形成一種層次結(jié)構(gòu)。一個類可以有多個超類,也可以有多個子類。超類是下層子類的概括,因此子類可以繼承超類的屬性、操作和約束規(guī)則,這就是類繼承機制。繼承性使面向?qū)ο蟮南到y(tǒng)具有較好的可擴充性和靈活性,因而有利于軟件系統(tǒng)的維護。
3.3.4 計算機輔助軟件工程
計算機輔助軟件工程(Computer Aided Software Engineering,CASE)是提高系統(tǒng)開發(fā)效率和質(zhì)量的重要途徑。CASE技術(shù)的目標就是要實現(xiàn)系統(tǒng)開發(fā)生命周期內(nèi)各階段工作基于計算機的自動化。CASE的作用,可概括為三個方面:
一是能實現(xiàn)一個具有快速響應、專用資源和早期查錯功能的交互式開發(fā)環(huán)境。
二是對系統(tǒng)開發(fā)和維護過程中各個環(huán)節(jié)實現(xiàn)自動化。
三是通過強有力的圖形接口,實現(xiàn)直觀的程序設(shè)計。
3.3.5 開發(fā)方法的選擇
原型法需要軟件支撐工具快速形成原型,并不斷地與用戶討論、修改,終建立系統(tǒng)。要將這種方法用于大型信息系統(tǒng)開發(fā)中的所有環(huán)節(jié)是不適宜的。因此,它主要用于小型的。靈活性高的系統(tǒng)或局部系統(tǒng)的設(shè)計和實施。
面向?qū)ο蟮姆椒ㄊ且詫ο鬄榛A(chǔ),利用特定的軟件工具直接完成從對象的描述到應用軟件結(jié)構(gòu)的轉(zhuǎn)換,特別適合于小型應用軟件系統(tǒng)的開發(fā)。
在大型系統(tǒng)的開發(fā)中,常常不是采用一種開發(fā)方法,而是采用多種方法的組合。
結(jié)構(gòu)化生命周期法是目前較全面支持大、中型系統(tǒng)整個過程開發(fā)的方法,其他方法雖然有許多優(yōu)點,但都只能作為結(jié)構(gòu)化生命周期法在局部開發(fā)環(huán)節(jié)上的補充,暫時還不能代替其在系統(tǒng)開發(fā)過程中的主導地位。
系統(tǒng)開發(fā)的方法隨著系統(tǒng)開發(fā)工具的不斷改進,正在逐漸完善,本節(jié)列舉的各種方法不是相互獨立的,它們經(jīng)??梢曰旌鲜褂?。
3.4 系統(tǒng)開發(fā)的方式
目前,我國企業(yè)系統(tǒng)開發(fā)方式主要有以下四種。
1.由本企業(yè)自行開發(fā)
這種開發(fā)方式需要有出色的領(lǐng)導和自己的開發(fā)隊伍,包括系統(tǒng)分析師、程序設(shè)計員、計算機技術(shù)人員和有經(jīng)驗的管理人員等各類人員。
自行開發(fā)的主要優(yōu)點是:
(1) 用戶的需求可以得到充分滿足。(2) 系統(tǒng)維護容易。(3) 可鍛煉本企業(yè)計算機開發(fā)應用的隊伍。
自行開發(fā)的主要缺點是:
(1) 系統(tǒng)開發(fā)周期一般較長。(2) 難于擺脫本企業(yè)習慣的管理方式的影響,不易開發(fā)出一個高水平的管理信息系統(tǒng)。(3) 用于企業(yè)內(nèi)部的開發(fā)費用高。
2.委托開發(fā)
利用外部專門提供信息系統(tǒng)建立和維護的公司,來實現(xiàn)信息系統(tǒng)的開發(fā)。企業(yè)應當事前在調(diào)查研究的基礎(chǔ)上,向委托開發(fā)的單位提出系統(tǒng)開發(fā)任務(wù)書,明確新系統(tǒng)的目標、范圍和總的功能需求。在開發(fā)過程中,企業(yè)應派出精通管理業(yè)務(wù)的人員參與開發(fā)方案的研究、監(jiān)督控制工作的進展,以保證工作的質(zhì)量。
這種開發(fā)方式的優(yōu)點是:開發(fā)周期短;企業(yè)不必組織本企業(yè)的開發(fā)隊伍;如果選擇了好的開發(fā)單位,企業(yè)能密切配合系統(tǒng)開發(fā)管理工作,使之符合現(xiàn)代信息處理要求,則可開發(fā)出水平較高的系統(tǒng)。其缺點是:委托開發(fā)由于要由軟件公司對企業(yè)的系統(tǒng)進行專門的開發(fā),用于外部的費用很高;當企業(yè)管理發(fā)生變化或擴展時,系統(tǒng)維護工作困難。
3.企業(yè)與軟件公司合作開發(fā)
其主要優(yōu)點是:在合作開發(fā)中,可發(fā)揮軟件公司技術(shù)力量強,本企業(yè)人員對管理業(yè)務(wù)熟悉的優(yōu)勢,共同開發(fā)出具有較高水平而適用性又強的系統(tǒng);有利于企業(yè)計算機應用隊伍的培養(yǎng)與提高。
4.購買應用軟件產(chǎn)品
購買商品化應用軟件產(chǎn)品的主要優(yōu)點是:
(1) 軟件產(chǎn)品可*性、穩(wěn)定性高。
(2) 反映了先進的企業(yè)管理思想。
(3) 開發(fā)周期短。
(4) 費用比較低。
購買商品化軟件的主要缺點是:
(1) 系統(tǒng)實施費用較高。
(2) 系統(tǒng)維護困難。
商品化軟件應用范圍正在日益擴大,將成為系統(tǒng)建立的主要方式。
3.5 系統(tǒng)開發(fā)的組織與項目管理
3.5.1 系統(tǒng)開發(fā)的組織
1.系統(tǒng)開發(fā)領(lǐng)導小組
系統(tǒng)開發(fā)領(lǐng)導小組應由企業(yè)負責人來主持,小組成員應包括1名公司副經(jīng)理、系統(tǒng)開發(fā)項目組長、有經(jīng)驗的系統(tǒng)分析師,以及用戶各主要部門的業(yè)務(wù)負責人,共約5-7人組成。其主要任務(wù)是制定管理信息系統(tǒng)開發(fā)的方針策略;指導項目小組的工作;批準項目計劃;在開發(fā)過程中,根據(jù)客觀發(fā)展情況進行決策,協(xié)調(diào)各方面的關(guān)系;控制開發(fā)進度。領(lǐng)導小組的職責范圍如下:
(1) 提出建立新系統(tǒng)的目標和總策略。
(2) 指導項目小組工作,保證滿足企業(yè)不同部門對新系統(tǒng)的需求。
(3) 對開發(fā)工作進行監(jiān)督與控制。
(4) 協(xié)調(diào)系統(tǒng)開發(fā)中有關(guān)的各項工作。
(5) 向上級組織報告系統(tǒng)開發(fā)工作的進展情況。
(6) 委任計算中心的主要工作人員,規(guī)定他們的職責范圍。
2.系統(tǒng)開發(fā)項目組
項目小組直接負責系統(tǒng)開發(fā)的具體企業(yè)工作。項目小組成員由三類人員組成,即系統(tǒng)分析師、程序設(shè)計員和企業(yè)管理人員。在系統(tǒng)開發(fā)的各階段中。
各類人員的工作任務(wù)及應具備的素質(zhì)如下:
(1) 系統(tǒng)分析師。他們的主要任務(wù)是研究用戶對信息系統(tǒng)的需求;評價該企業(yè)開發(fā)計算機化信息系統(tǒng)的可行性;進行系統(tǒng)分析與設(shè)計,負責對新系統(tǒng)的安裝、測試和技術(shù)文件的編寫。他們不僅應當具備計算機硬件、軟件的知識,懂得企業(yè)管理的業(yè)務(wù),還應當了解現(xiàn)代化管理方法以及各種經(jīng)濟數(shù)學模型在企業(yè)管理中的應用,并且應當具有理論聯(lián)系實際靈活運用上述知識的能力。
此外,他們應當善于處理人際關(guān)系。他們應具有概括能力、邏輯抽象能力、想象力和創(chuàng)造力,才能設(shè)計出高質(zhì)量的系統(tǒng)
(2) 程序設(shè)計員。程序設(shè)計員的主要任務(wù)是按照系統(tǒng)分析師所提出的設(shè)計方案編制程序、調(diào)試程序、修改程序直到新系統(tǒng)投入運行。
(3) 企業(yè)管理人員。參加系統(tǒng)開發(fā)的企業(yè)管理人員代表用戶,在實際工作中提出用戶的需求,一方面對開發(fā)工作的質(zhì)量進行監(jiān)督;另一方面他們應按照新系統(tǒng)的要求,組織管理基礎(chǔ)工作的整頓,提供新系統(tǒng)運行所需的各種基礎(chǔ)數(shù)據(jù)。
3.5.2 系統(tǒng)開發(fā)的項目管理
計算機管理信息系統(tǒng)的建立是一項復雜的系統(tǒng)工程,除了應用軟件系統(tǒng)開發(fā)工作以外,還需要一定的支持環(huán)境,如進行管理體制的改革,信息的標準化、規(guī)范化、完整化,應用人員的培訓,硬件設(shè)備和系統(tǒng)軟件的配置,計算機房的建設(shè)等各方面的工作,只有這些工作完成以后,信息系統(tǒng)才能正常運轉(zhuǎn)。