-----------------------------------------------------
以下內(nèi)容節(jié)選自清華大學(xué)版《系統(tǒng)分析師教程》
僅供學(xué)習(xí)、參考使用,詳細(xì)內(nèi)容請(qǐng)查閱原著
-----------------------------------------------------
1.3信息系統(tǒng)工程所涉及的技術(shù)內(nèi)容
信息系統(tǒng)工程作為一門綜合的技術(shù),與多種學(xué)科和技術(shù)有著深刻的內(nèi)在聯(lián)系。從總體上講,它會(huì)涉及到社會(huì)和技術(shù)兩大領(lǐng)域,并綜合應(yīng)用了管理科學(xué)、系統(tǒng)科學(xué)、數(shù)學(xué)、計(jì)算機(jī)科學(xué)、行為科學(xué)的研究成果,逐漸形成了自己的新的學(xué)科體系。
1.3.1 管理科學(xué)的應(yīng)用
1.3.2 方法論的發(fā)展與應(yīng)用
現(xiàn)在已經(jīng)認(rèn)識(shí)到,信息系統(tǒng)的開發(fā)一般都經(jīng)歷系統(tǒng)規(guī)劃、需求定義、系統(tǒng)設(shè)計(jì)、實(shí)施和維護(hù)幾個(gè)階段,而它們都應(yīng)該在科學(xué)的方法論的指導(dǎo)下來完成。從歷史的發(fā)展來看,信息系統(tǒng)開發(fā)的方法論的發(fā)展經(jīng)歷了以下的階段
1.基于經(jīng)驗(yàn)的開發(fā)
2.軟件危機(jī)與軟件工程
軟件危機(jī)主要表現(xiàn)是:一方面是無法滿足日益增長的對(duì)軟件的需求;另一方面是難以滿足對(duì)已有軟件的維護(hù)需要。其原因:一是軟件生產(chǎn)本身所存在的復(fù)雜性;二是缺乏完善的軟件開發(fā)方法和技術(shù)。
軟件工程方法將軟件,特別是軟件的開發(fā)過程劃分為階段,每一階段有明確的任務(wù),在完成任務(wù)時(shí)又必須產(chǎn)生相應(yīng)的成果或文檔。它強(qiáng)調(diào)首先明確軟件需求的重要性,并在需求明確的前提下,先進(jìn)行對(duì)軟件的總體設(shè)計(jì),再進(jìn)行軟件各部分的詳細(xì)設(shè)計(jì),編碼則應(yīng)在詳細(xì)設(shè)計(jì)完成后才進(jìn)行。軟件工程強(qiáng)調(diào)對(duì)軟件正確性和性能的測試,即應(yīng)對(duì)軟件開發(fā)進(jìn)行全程的質(zhì)量監(jiān)控。上述思想和措施都是將軟件的生成按工程化的方法來實(shí)施,并在實(shí)施中強(qiáng)調(diào)加強(qiáng)管理的重要性。
3.自底向上和自頂向下
信息系統(tǒng)開發(fā)的發(fā)展過程經(jīng)歷過所謂“自底向上”方式和“自頂向下”。
自底向上方法的優(yōu)點(diǎn)有
使信息系統(tǒng)的開發(fā)易于適應(yīng)組織機(jī)構(gòu)的真正需要
有助于發(fā)現(xiàn)和理解每個(gè)系統(tǒng)的附加需要,并易于判斷其費(fèi)用
每一階段所獲得的經(jīng)驗(yàn)和教訓(xùn)有助于下一階段的開發(fā)
相對(duì)的說,每一階段的規(guī)模較小,易于控制和管理
自底向上方法的缺點(diǎn)有
由于方法的演變性質(zhì),信息系統(tǒng)難以實(shí)現(xiàn)其整體性
由于系統(tǒng)為進(jìn)行全局規(guī)劃,系統(tǒng)的數(shù)據(jù)一致性和完整性難以保證
為了達(dá)到系統(tǒng)的性能要求,往往不得不重新調(diào)整系統(tǒng),甚至要重新設(shè)計(jì)系統(tǒng)
由于系統(tǒng)實(shí)施的分散性和演變性,因而與企業(yè)目標(biāo)的聯(lián)系往往是間接的,系統(tǒng)往往難以支持企業(yè)的整體戰(zhàn)略目標(biāo)。
自頂向下方法的優(yōu)點(diǎn)有
可為企業(yè)或機(jī)構(gòu)的重要決策和任務(wù)實(shí)現(xiàn)提供信息
支持企業(yè)信息系統(tǒng)的整體性規(guī)劃,并對(duì)系統(tǒng)的個(gè)子系統(tǒng)的協(xié)調(diào)和通信提供保證
方法的時(shí)間有利于提高企業(yè)人員的整體觀察問題的能力,從而有利于尋找到改進(jìn)企業(yè)組織的途徑
自頂向下方法的缺點(diǎn)有
對(duì)系統(tǒng)分析和設(shè)計(jì)人員的要求較高
開發(fā)周期長,系統(tǒng)復(fù)雜,一般屬于一種高成本、大投資的工程
對(duì)于大系統(tǒng)而言,自上而下的規(guī)劃對(duì)于下層系統(tǒng)的實(shí)施往往缺乏約束力
從經(jīng)濟(jì)角度來看,很難說自頂向下的做法是合算的
4.模型化
對(duì)于信息系統(tǒng),特別是其核心部分的軟件系統(tǒng)的開發(fā),專家和工程人員從不同的角度、用不同的方法對(duì)它們進(jìn)行了模型化,從而將相關(guān)的方法從實(shí)踐上升到理論。
(1)瀑布模型
瀑布模型是一類在軟件和系統(tǒng)開發(fā)中應(yīng)用廣泛、影響深遠(yuǎn)的模型,它規(guī)定了軟件工程的各項(xiàng)活動(dòng),包括系統(tǒng)規(guī)劃,需求分析,軟件設(shè)計(jì),編碼,測試和維護(hù)。
瀑布模型為軟件的開發(fā)和維護(hù)提供了一種有效的模式?筛鶕(jù)這一模式制定出開發(fā)計(jì)劃,進(jìn)行成本預(yù)算,組織開發(fā)力量,以項(xiàng)目的階段評(píng)審和文檔控制為手段有效地對(duì)整體開發(fā)過程進(jìn)行指導(dǎo),從而力求軟件產(chǎn)品能及時(shí)交付,并達(dá)到預(yù)期的質(zhì)量要求。
(2)螺旋模型
為了解決瀑布模型實(shí)施時(shí)存在的問題,專家們提出了一種基于原型化開發(fā)的進(jìn)化模型。其實(shí)施過程是首先做試驗(yàn)開發(fā),并探究其可行性,并明確軟件需求,其結(jié)果為一個(gè)“原型”,再基于原型去開發(fā)一成功產(chǎn)品,將進(jìn)化模型加以實(shí)施,并對(duì)實(shí)施中可能出現(xiàn)的風(fēng)險(xiǎn)進(jìn)行分析,即構(gòu)成螺旋模型。它認(rèn)為風(fēng)險(xiǎn)是軟件開發(fā)不可忽視的潛在的不利因素,因此應(yīng)及時(shí)對(duì)風(fēng)險(xiǎn)進(jìn)行分析、分析并采取對(duì)策,從而降低風(fēng)險(xiǎn)。
制定計(jì)劃:確定目標(biāo),選定實(shí)施方案,分析項(xiàng)目開發(fā)約束條件
風(fēng)險(xiǎn)分析:分析所選擇的方案,考慮該方案可能存在的風(fēng)險(xiǎn)以及如何規(guī)避風(fēng)險(xiǎn)
工程實(shí)施:軟件開發(fā)過程的實(shí)施
工程評(píng)估:對(duì)成果進(jìn)行評(píng)估,并提出修正意見
螺旋模型適合大型軟件的開發(fā),它采用進(jìn)化的方法,并對(duì)可能出現(xiàn)的風(fēng)險(xiǎn)做出反應(yīng)。使用該模型需要具有豐富經(jīng)驗(yàn)的專家,他們應(yīng)有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和系統(tǒng)開發(fā)的專門知識(shí)。
(3)噴泉模型
噴泉模型是一類支持面向?qū)ο蟮、自底向上的開發(fā)模型,在實(shí)施中體現(xiàn)了迭代和無間隙的特征。它在實(shí)施中,對(duì)系統(tǒng)的某個(gè)部分常常重復(fù)迭代,相關(guān)的功能在迭代中逐步演化到系統(tǒng)中,并且能體現(xiàn)無間隙特征,即與瀑布模型相比,其分析、設(shè)計(jì)與編碼之間沒有明顯的界限。