版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第3章 信息系統(tǒng)建設(shè)概論,,本章主要內(nèi)容,3.1 信息系統(tǒng)建設(shè)是復雜的社會過程3.2 信息系統(tǒng)建設(shè)的一般方法3.3 信息系統(tǒng)的生命周期3.4 基于生命周期的開發(fā)方法(信息系統(tǒng)開發(fā)過程)3.5 基于開發(fā)技術(shù)的開發(fā)方法(信息系統(tǒng)開發(fā)技術(shù))3.6 信息系統(tǒng)開發(fā)的組織管理3.7 信息系統(tǒng)開發(fā)工具(CASE工具),3.1 信息系統(tǒng)建設(shè)是復雜的社會過程,1. 信息系統(tǒng)的復雜性體現(xiàn)在:技術(shù)手段復雜內(nèi)容復雜,目標多樣投資密度大,效
2、益難以計算環(huán)境復雜多變,技術(shù)的復雜性,計算機硬、軟件技術(shù)數(shù)據(jù)通訊與網(wǎng)絡(luò)技術(shù)各種信息采集與存貯各種控制與決策方法建模與仿真技術(shù)人工智能技術(shù)技術(shù)方案難以檢驗證明(樣品?實物模型?),內(nèi)容的復雜性,一個組織的管理與業(yè)務(wù)信息量大、面廣,形式多樣、來源繁雜,信息內(nèi)容和處理要求又涉及到廣泛的學科和事業(yè)領(lǐng)域。一個組織的信息系統(tǒng)必是一個規(guī)模龐大,結(jié)構(gòu)復雜,具備多種功能、實現(xiàn)多個目標的大系統(tǒng)一個組織內(nèi)各類機構(gòu)和人員的信息需求不盡相同,
3、有些需求可能相互沖突,需求的不確定性和可變性非常大。組織和外部環(huán)境之間的數(shù)據(jù)交換難以控制。,投資的密集性,信息系統(tǒng)的建設(shè),需要巨額投資,是一種資金密集型的建設(shè)項目智力密集型或者知識密集型需用大量人工,是勞動密集型項目效益難以計算,信息系統(tǒng)建設(shè)的統(tǒng)計數(shù)據(jù),據(jù)國外1995年對365家公司的調(diào)查:31%的信息系統(tǒng)項目在完成之前被取消53%的項目沒有達到預定功能在3682個項目中只有12%的項目按時和按預算完成據(jù)某顧問公司200
4、4年報告(對4萬個信息系統(tǒng)項目的調(diào)查)ERP失敗率達到70%成功項目只能達到34%有爭議的項目達到51%失敗項目達到15%成功的含義:在規(guī)定的時間內(nèi),以規(guī)定的預算完成規(guī)定的目標。,環(huán)境的復雜性,涉及到組織內(nèi)部各級機構(gòu)、管理人員涉及組織面臨的外部環(huán)境及發(fā)展趨勢要考慮管理體制、管理思想、管理方法和管理手段的相互匹配、相互促進考慮人的習慣、心理狀態(tài)及現(xiàn)行的制度、慣例和社會、政治諸因素,信息系統(tǒng)開發(fā)是一個社會過程,問題描述和方
5、案驗證不同于一般技術(shù)工程技術(shù)工程問題明確,可以模擬,或制作實物模型、樣品進行驗證,信息系統(tǒng)的問題確定性差,難以提前驗證解決方案。人的影響信息系統(tǒng)是人機系統(tǒng),有來自于人的障礙。如了解、溝通、實施困難。社會環(huán)境的影響如政策、競爭、文化觀念等對信息系統(tǒng)影響力很大,不同于純技術(shù)工程。,3.2 信息系統(tǒng)建設(shè)的一般方法,3.2.1 早期方法的不足早期,人們對信息系統(tǒng)的復雜性缺乏足夠的認識,認為信息系統(tǒng)無非是“大程序”,缺乏科學的開發(fā)方
6、法:目標含糊通信誤解步驟混亂缺乏管理控制,3.2.2 系統(tǒng)方法的應用,系統(tǒng)科學方法為人們提供了新的思維模式,是研究復雜系統(tǒng)的有效工具。錢學森曾指出“系統(tǒng)工程是組織管理系統(tǒng)的規(guī)劃、研究、制造、試驗和使用的科學方法,使一種對所有系統(tǒng)都具有普遍意義的方法”。系統(tǒng)方法在信息系統(tǒng)建設(shè)中的應用:還原論與整體論相結(jié)合微觀分析與宏觀綜合相結(jié)合定性判斷與定量計算相結(jié)合嚴格生命周期階段與反復迭代相結(jié)合,3.2.3 系統(tǒng)建模/模型化,分析
7、研究復雜系統(tǒng)問題,建模是一種基本手段。建模(modeling)就是為描述系統(tǒng)的構(gòu)成和行為,對現(xiàn)實系統(tǒng)的各種因素進行適當篩選,用一定方式(數(shù)學公式、符號、圖形、圖像等)表示現(xiàn)實系統(tǒng)的過程。建模也稱模型化。,1. 系統(tǒng)模型的概念,系統(tǒng)模型是指以某種確定的形式(如文字、符號、圖表、實物、數(shù)學公式等),對系統(tǒng)某一方面本質(zhì)屬性的描述。一個適用的系統(tǒng)模型應該具有如下3個特征:它是現(xiàn)實系統(tǒng)的抽象或模仿; 它是由反映系統(tǒng)本質(zhì)或特征的主要因素(
8、要素)構(gòu)成的; 它集中體現(xiàn)了這些主要因素之間的關(guān)系。根據(jù)抽象程度:概念模型、邏輯模型和物理模型。根據(jù)對時間的依賴:靜態(tài)模型和動態(tài)模型。全面徹底地描述一個系統(tǒng),通常需要使用多個模型。,2. 管理系統(tǒng)模型,管理模型描述組織的狀況,包括:組織的靜態(tài)特征,如組織結(jié)構(gòu)圖、實體關(guān)系圖動態(tài)特征,如任務(wù)分解圖、狀態(tài)轉(zhuǎn)換圖、甘特圖、PERT圖業(yè)務(wù)流程,如流程圖業(yè)務(wù)規(guī)則,如決策樹、決策表,,,,,,,管理系統(tǒng),靜態(tài)特征(組織機構(gòu)、對象、角色
9、)動態(tài)特征(行為/事件/行動/狀態(tài))業(yè)務(wù)流程業(yè)務(wù)規(guī)則…….,模型,3. 信息系統(tǒng)模型,信息系統(tǒng)模型描述計算機信息系統(tǒng)的狀況。每種模型都有其標準符號、慣例、語法規(guī)則和用途,當這一組符號和規(guī)則形成了一套完整嚴謹?shù)谋硎菊Z言,就形成建模語言。因為信息系統(tǒng)是為管理服務(wù)的,因此有些模型在管理系統(tǒng)和信息系統(tǒng)中通用,如流程圖、狀態(tài)圖 、決策樹/決策表等。,信息系統(tǒng)模型的作用,建立信息系統(tǒng)模型有以下主要作用:對復雜問題進行簡化描述,幫助有關(guān)
10、人員快速、簡單直觀、準確地了解系統(tǒng);建模的過程使得分析師和設(shè)計師能更全面地研究系統(tǒng),深思熟慮,減少遺漏,以形成更成熟的方案;各階段產(chǎn)生的模型為后續(xù)階段的有關(guān)人員提供了工作依據(jù);為項目各類人員提供了統(tǒng)一的交流工具,利于溝通和團隊合作;為項目驗收和將來的維護工作提供了文檔依據(jù);利用工具將模型映射為特定平臺的可執(zhí)行代碼(MDD,Model-Driven Development),減少開發(fā)人員工作量。,4. 統(tǒng)一建模語言UML,統(tǒng)一建
11、模語言UML(unified modeling language)是由單一元模型支持的一組圖示法。這些圖示法有助于表達與設(shè)計軟件系統(tǒng),特別是采用面向?qū)ο蠓椒?gòu)造的軟件系統(tǒng)。UML通過不同的圖來描述系統(tǒng)的結(jié)構(gòu)(structure)、行為(behavior)、交互過程(interaction)。UML 2.2中一共定義了14種圖(diagram):系統(tǒng)結(jié)構(gòu):類圖、對象圖、包圖、構(gòu)件圖、部署圖等系統(tǒng)行為:活動圖、狀態(tài)圖、用例圖交互過
12、程:通信圖、順序圖、計時圖等,3.3 信息系統(tǒng)的生命周期,信息系統(tǒng)開發(fā)圍繞信息系統(tǒng)生命周期來進行,有時也稱系統(tǒng)開發(fā)生命周期(SDLC,System Development Life Cycle),體現(xiàn)系統(tǒng)工程的思想。包含5個階段:規(guī)劃、分析、設(shè)計、實施、運維,生命周期的階段,可行性研究,,開發(fā)請求,詳細調(diào)查,系統(tǒng)轉(zhuǎn)換,總體設(shè)計,邏輯設(shè)計,審批,初步調(diào)查,驗收,系統(tǒng)維護,系統(tǒng)評價,詳細設(shè)計,審查,編程調(diào)試,審查,,,,,,,,,,,
13、,,,,,,,,,,,,,,運行維護,系統(tǒng)規(guī)劃,系統(tǒng)實施,系統(tǒng)分析,系統(tǒng)設(shè)計,,1. 階段任務(wù)2. 設(shè)計文檔,各階段任務(wù),系統(tǒng)規(guī)劃確定信息系統(tǒng)的發(fā)展規(guī)劃;企業(yè)業(yè)務(wù)流程的識別、改革與創(chuàng)新;對建設(shè)新系統(tǒng)的需求作出初步研究,確定信息系統(tǒng)的總體結(jié)構(gòu);確定系統(tǒng)的備選方案,對這些方案進行可行性分析 系統(tǒng)分析詳細調(diào)查,確定系統(tǒng)的基本目標和邏輯功能要求系統(tǒng)設(shè)計根據(jù)系統(tǒng)說明書中規(guī)定的功能要求,考慮實際條件,具體設(shè)計實現(xiàn)邏輯模型的技術(shù)方案 系
14、統(tǒng)實施計算機等設(shè)備的購置、安裝和調(diào)試;編寫、調(diào)試和測試程序;人員培訓;數(shù)據(jù)準備或轉(zhuǎn)換;系統(tǒng)調(diào)試與轉(zhuǎn)換 系統(tǒng)維護運行情況的記錄;必要的修改;評價和總結(jié)等,信息系統(tǒng)開發(fā)方法,生命周期是指導性方針,很抽象,具體的信息系統(tǒng)開發(fā)方法有很多,主要研究方向有兩類:針對開發(fā)過程不同的信息系統(tǒng)開發(fā)過程模型。關(guān)注整個開發(fā)采取哪些步驟,每個步驟包含哪些任務(wù),由什么人完成,任務(wù)的成果如何體現(xiàn)等也稱為不同的生存周期模型針對開發(fā)技術(shù)不同的建模方法,
15、從不同的觀點來反映系統(tǒng)的全貌,并采用不同技術(shù)手段予以實現(xiàn),3.4信息系統(tǒng)開發(fā)過程模型(基于生命周期的開發(fā)方法),開發(fā)過程的研究和經(jīng)驗的總結(jié):瀑布模型(開發(fā)方法)原型模型(開發(fā)方法)增量模型(迭代開發(fā)方法)螺旋模型(開發(fā)方法)噴泉模型(開發(fā)方法)敏捷開發(fā)過程(開發(fā)方法)……,3.4.1 瀑布模型,強調(diào)階段的劃分和階段嚴格的順序各階段工作任務(wù)明確,要求文檔完備性是一種嚴格線性的按階段順序的、逐步細化的開發(fā)模式,消除了軟件
16、開發(fā)的隨意性,瀑布模型的特點,簡單易用,容易理解開發(fā)的進程一個順著一個,沒有反饋過程,需要嚴密控制允許基線和配置早期接收控制一個新的項目不適合這個模型用戶直到項目結(jié)束才能看到質(zhì)量如何不允許或者嚴格限制變更,瀑布模型(后來實際),實際的瀑布模型,瀑布模型的不足,需求:客戶常常難以表達真正的需求,而這種模型卻要求嚴格的階段性成果,返工困難,變更代價很大風險:客戶要等到開發(fā)周期的晚期才能看到程序運行的測試版本,這時若發(fā)現(xiàn)大的錯誤,
17、可能引起客戶的驚慌,其后果也可能是災難性的效率:因為前后任務(wù)的依賴關(guān)系,成員不能并行工作,有可能花在等待的時間比開發(fā)的時間要長,即所謂的“堵塞狀態(tài)”,適用于一些需求已明確并且變化較少的信息系統(tǒng),3.4.2 原型開發(fā)方法,原型——快速建立起來的可以在計算機上運行的程序,通常選取信息系統(tǒng)中某個關(guān)鍵功能作為原型。,,,,,,,編程測試,分析,定義需求,設(shè)計,,,,,,原型,,實施完成,,再構(gòu)造,,,,原型方法的基本思想和開發(fā)步驟,基本思想
18、 在投入大量的人力、物力之前,在限定的時間內(nèi),用最經(jīng)濟的方法構(gòu)造一個系統(tǒng)原型,使用戶盡早看到系統(tǒng)的概貌,在系統(tǒng)原型的實際運行中與用戶一起發(fā)現(xiàn)問題,提出修改意見,不斷完善原型,使它逐步滿足用戶要求開發(fā)步驟明確用戶基本信息需求建立初始原型(集成原則、最小系統(tǒng)原則)評價原型修改和完善原型,快速原型的開發(fā)工具,第四代技術(shù)可復用軟件構(gòu)件形式化規(guī)約和原型環(huán)境,快速原型的類型,拋棄式原型。將開發(fā)原型看做是溝通工具,永遠也不會將一次式
19、原型引入正式運行環(huán)境中。主要解決需求的不確定性,二義性,不完整性等。進化式原型。會在未來的系統(tǒng)中包含的原型。這種方法能夠?qū)⒆畲罅康墓ぷ魍度氲秸较到y(tǒng)中。水平原型也稱為行為原型,用來探索預期系統(tǒng)的一些特定行為,并達到細化需求的目的。水平原型通常只是功能導航,并未真實實現(xiàn)功能。主要用在用戶界面上。垂直原型也稱為結(jié)構(gòu)化原型,實現(xiàn)了一部分功能。主要用在復雜的算法實現(xiàn)上。,拋棄式原型模型,演化式原型模型,快速原型的典型應用,快速原型的評價,
20、這個原型所實現(xiàn)的功能與你所期望的一致嗎?有遺漏的功能嗎?有多余的功能嗎?你能考慮一下這個原型所沒有涉及到的一些出錯情況嗎?這些功能導航的邏輯性和完整性如何?有更簡單的方法來完成這一任務(wù)嗎?,原型模型的特點和應用場合,用戶積極參與原型的開發(fā)沒有嚴密的階段性短期獲得測試版本,降低風險應用于以下場合:需求含糊,用戶不能標識出詳細的輸入、處理和輸出需求設(shè)計方案不明確,開發(fā)人員不能確定算法的有效性、操作系統(tǒng)的適應性或人機交互
21、的有效性,原型模型的不足,降低風險的同時,引入了其他風險:用戶隨意無止境的需求變化,因為用戶容易產(chǎn)生誤解,認為系統(tǒng)很容易被構(gòu)造和修改如果采用原型基礎(chǔ)上繼續(xù)構(gòu)造,由于修補過度,軟件質(zhì)量不易于保證開發(fā)人員為了快速構(gòu)造原型,可能會采用不合適的操作系統(tǒng)、語言、算法等,造成后期風險,如系統(tǒng)適應性差、維護困難等,3.4.3 迭代開發(fā)過程,一條直線一次性到達目的總是困難的。緊迫的市場期限和快速變化使得難以一次性完成整個軟件產(chǎn)品,解決方法是
22、先提交一個有限的版本,細節(jié)部分逐步增加,即多次迭代后完成系統(tǒng)。融合了瀑布方法和原型方法。整個開發(fā)工作被組織為一系列的短小的、固定長度的小項目,被稱為一系列的迭代。有兩種迭代:迭代增量:迭代周期完成一個增量,然后集成迭代進化:迭代周期內(nèi)包含演化和完善,增量模型(增量迭代),增量模型——融合了瀑布模型的基本成分和原型的迭代特征。采用隨著日程時間的進展而交錯的線性序列。搭積木的方式,如按子系統(tǒng)劃分增量,分析,分析,分析,分析,設(shè)計,
23、設(shè)計,設(shè)計,設(shè)計,編碼,編碼,編碼,編碼,測試,測試,測試,測試,,增量1,,增量2,增量3,增量4,,,,,,,,,,,,,功能,時間,增量模型(增量迭代)的特點,以功能遞增的方式進行軟件開發(fā)(可并行化)能較快地產(chǎn)生可操作的系統(tǒng)在每一步遞增中,都可以把用戶/開發(fā)者的經(jīng)驗結(jié)合到不斷求精的下一個增量中可改善測試效果和降低軟件開發(fā)總成本。這個過程好比搭積木。,進化迭代的特點,進化迭代與增量迭代的區(qū)別是在每個迭代周期是對上一次
24、迭代的演化和完善。比如可以將一個軟件功能的編程劃分了多個迭代周期,每個迭代是對該功能的補充和進化。這個過程好比滾雪球。,增量模型的應用場合,項目開始,明確了需求的大部分,但是需求可能會發(fā)生變化對于市場和用戶把握不是很準,需要逐步了解對于有龐大和復雜功能的系統(tǒng)進行功能改進,本身就需要一步一步實施的。,迭代開發(fā)過程示例,例子:設(shè)計一個字處理軟件增量1:實現(xiàn)軟件的基本需求,提供最核心的功能。增量2:提供更完善的編輯和文檔生成功能。
25、增量3:實現(xiàn)拼寫和語法檢查功能。增量4:完成高級的頁面排版功能。,迭代開發(fā)過程的應用場合,項目開始,明確了需求的大部分,但是需求可能會發(fā)生變化對于市場和用戶把握不是很準,需要逐步了解對于有龐大和復雜功能的系統(tǒng)進行功能改進,本身就需要一步一步實施的。,3.4.4 螺旋模型,螺旋方法——把軟件開發(fā)過程定義成不斷上升的螺旋周期,每個周期劃分為計劃、風險分析、實施和評價四個方面。沿螺線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個新的軟件版本
26、。,這里的原型不是用于驗證的原型系統(tǒng),而是最終要交付的成品系統(tǒng)。,,螺旋模型的特點和應用場合,風險驅(qū)動,可以在生命周期早期強制性的確定項目中存在的風險需要開發(fā)人員具有相當豐富的風險評估經(jīng)驗和專門知識要求用戶參與階段評價,對用戶要求較高 適用于:單位內(nèi)部開發(fā)的大規(guī)模軟件項目風險是項目的主要制約因素可能會發(fā)生重大變更采用新技術(shù),3.4.5 噴泉模型,噴泉模型——主要用于面向?qū)ο蠹夹g(shù)的軟件開發(fā)項目,它克服了瀑布模型不支持軟件重
27、用和多項開發(fā)活動集成的局限性,噴泉模型使開發(fā)過程具有迭代性和無間隙性。 噴泉模型以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),以用戶需求作為噴泉模型的源泉,屬于面向?qū)ο蟮能浖^程模型。,噴泉模型,特點:?各階段相互重疊,它反映了軟件過程并行性的特點體現(xiàn)認識事物的往返過程強調(diào)增量開發(fā),整個過程是一個迭代的逐步提煉的過程。?開發(fā)活動之間的無間隙性和循環(huán)迭代性?適用于面向?qū)ο蟮拈_發(fā)過程?強調(diào)無明顯的活動階段劃分,集成和測試階段編
28、碼階段面向?qū)ο笤O(shè)計階段面向?qū)ο蠓治鲭A段需求階段,進一步開發(fā)進行狀態(tài),,維護期,3.4.6 敏捷開發(fā)過程,敏捷過程(agile process)是一系列輕量的過程模型的總稱,致力于在無過程和過于繁瑣的過程中達到一種平衡,強調(diào)對需求變化的敏捷響應,以不多的步驟過程獲取滿意的結(jié)果。敏捷軟件開發(fā)宣言:1.個體和交互勝過過程和工具2.可以工作的軟件勝過面面懼到的文檔3.客戶合作勝過合同談判4.響應變化勝過遵循變化雖然右項也有
29、價值,但我們認為左項具有更大的價值?;诘_發(fā)方法探索出的成功實踐。,開發(fā)過程的代表產(chǎn)品,一些公司或團體紛紛推出規(guī)范化的過程產(chǎn)品:IBM統(tǒng)一過程RUP(Rational Unified Process,迭代過程的代表,重量級過程)微軟MSF(Microsoft Solutions Framework )敏捷:極限編程、Scrum(輕量級過程)……,練習題,假設(shè)要開發(fā)一個軟件,該軟件的功能是對特定項目進行一項驗證計算(假定計算
30、方法十分確定、成熟),一旦實現(xiàn)后將用于該項目的測試驗證中,由于項目的特殊性,所以,該軟件產(chǎn)品在完成使命后將被拋棄。,軟件需求明確,算法確定、成熟,故無須原型來驗證。一旦驗證完成之后將被拋棄,故無須使用提高軟件可維護性的迭代模型和螺旋模型。綜上所述,為了開發(fā)此軟件,使用瀑布模型即可。,3.5 信息系統(tǒng)開發(fā)技術(shù)(基于開發(fā)技術(shù)的開發(fā)方法),信息系統(tǒng)通常十分復雜,通常會借助于模型對它進行研究、認識、描述和設(shè)計。本節(jié)從模型化的角度探討信息
31、系統(tǒng)不同開發(fā)方法的形成和各自特點。,3.5.1 管理模型到信息模型,信息系統(tǒng)模型最核心的是信息處理模型,應考慮兩個方面:信息處理模型最核心的是軟件結(jié)構(gòu)模型,而軟件模型由計算機程序語言的特性來決定。機器語言、匯編語言、C、C++……信息處理模型來源于管理模型,而管理系統(tǒng)模型包含以下方面:,,,,,,,管理系統(tǒng),靜態(tài)特征(對象、屬性、關(guān)系)動態(tài)特征(行為/事件/行動/狀態(tài))業(yè)務(wù)流程業(yè)務(wù)規(guī)則…….,模型,信息處理模型,管理模型抽
32、象描述了需要解決的管理問題(問題空間),而信息處理模型則回答信息系統(tǒng)將如何解決問題(解空間)這個求解過程中最核心的內(nèi)容在于信息處理模型中的軟件系統(tǒng)。,,管理領(lǐng)域及問題,管理模型,信息處理模型,系統(tǒng)實現(xiàn)條件,信息系統(tǒng),技術(shù),環(huán)境,信息系統(tǒng)學科,,,,,,,信息處理模型,信息系統(tǒng)包含硬件、軟件、信息等組成要素。但其中軟件系統(tǒng)的狀態(tài)比硬件系統(tǒng)的狀態(tài)往往要多若干數(shù)量級,只有找到控制和降低軟件復雜性的方法,才能根本地控制和降低信息系統(tǒng)復雜性。
33、人們不斷研究新的軟件開發(fā)技術(shù),試圖縮小計算機世界和現(xiàn)實世界之間的鴻溝,從而讓管理模型與信息處理模型有更高的一致性,易于轉(zhuǎn)換和實現(xiàn)。,設(shè)計優(yōu)秀的軟件結(jié)構(gòu),優(yōu)秀的軟件結(jié)構(gòu)應具有以下特性:能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求;易于理解,方便開發(fā)人員之間、開發(fā)人員與用戶之間交換意見;易于更改,當應用環(huán)境和應用要求改變時,能容易地對系統(tǒng)進行修改和擴充;易于向計算機支持的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換。軟件結(jié)構(gòu)
34、從簡單到復雜,走過了從機器指令、語句、模塊封裝到類封裝、再到構(gòu)件和服務(wù)封裝的歷史發(fā)展過程,不同的開發(fā)技術(shù)和軟件結(jié)構(gòu)催生了不同的開發(fā)方法。,軟件結(jié)構(gòu)設(shè)計的基本原則,抽象第一抽象是人類認識世界的基本法則之一。對實際的事物進行處理,抽取所關(guān)心的、共同的、本質(zhì)特征的屬性,并對這些事物及其特征屬性進行描述。由于抽取的是共同的、本質(zhì)特征的屬性,從而大大降低了系統(tǒng)元素的絕對數(shù)量。層次劃分復雜系統(tǒng)可以先分解為子系統(tǒng),逐層分解。分解的每個子集互不相
35、交,能使注意力集中與某個子集內(nèi)部及與其他子集的聯(lián)系。層次和每層子集的數(shù)目為短時記憶最大容量7±2的范圍之內(nèi)。模型化提出以模型代替真實系統(tǒng)進行模擬實驗,達到認識真實系統(tǒng)特性和規(guī)律性的方法。,信息系統(tǒng)的開發(fā)技術(shù),信息系統(tǒng)的開發(fā)技術(shù)(基于軟件技術(shù)的開發(fā)方法):結(jié)構(gòu)化開發(fā)技術(shù)面向數(shù)據(jù)開發(fā)技術(shù)面向?qū)ο箝_發(fā)技術(shù)面向服務(wù)開發(fā)技術(shù),3.5.2 結(jié)構(gòu)化開發(fā)技術(shù),結(jié)構(gòu)化方法論(Structured Methodology)是計算學科的
36、一種典型的系統(tǒng)開發(fā)方法論。它采用了系統(tǒng)科學的思想方法,從層次的角度,自頂向下地分析和設(shè)計系統(tǒng),即抽象與分解。系統(tǒng)可用高級的抽象概念來理解和構(gòu)造, 這些高級的抽象概念又可用較低級的抽象概念來理解和構(gòu)造,如此進行下去,直到最低層次的模塊可以表示成某種程序設(shè)計語言的語句為止。,結(jié)構(gòu)化開發(fā)技術(shù),也稱為 面向功能/面向過程/面向數(shù)據(jù)流 的軟件開發(fā)方法結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析(Structured Analysis,簡稱SA)、結(jié)構(gòu)化設(shè)計(S
37、tructured Design,簡稱SD)和結(jié)構(gòu)化程序設(shè)計(Structured Program,簡稱SP)三部分內(nèi)容:結(jié)構(gòu)化分析(SA)對軟件進行需求分析,以數(shù)據(jù)流圖表示結(jié)構(gòu)化設(shè)計(SD)進行總體設(shè)計,以結(jié)構(gòu)圖表示結(jié)構(gòu)化編程(SP),以程序流程圖表示,結(jié)構(gòu)化開發(fā)方法的形成/1,結(jié)構(gòu)化程序設(shè)計SP方法的產(chǎn)生結(jié)構(gòu)化方法起源于結(jié)構(gòu)化程序設(shè)計語言。在使用SP之前,程序員都是按照各自的習慣和思路來編寫程序,沒有統(tǒng)一的標準,這樣編寫的程
38、序可讀性差,更為嚴重的是程序的可維護性極差,經(jīng)過研究發(fā)現(xiàn),造成這一現(xiàn)象的根本原因是程序的結(jié)構(gòu)問題。1966年,C.BÖhm和G.Jacopini提出了關(guān)于“程序結(jié)構(gòu)”的理論,并給出了任何程序的邏輯結(jié)構(gòu)都可以用順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來表示的證明。在程序結(jié)構(gòu)理論的基礎(chǔ)上,1968年,戴克斯特拉提出了“GOTO語句是有害的”的問題,并引起普遍重視,SP逐漸形成,并成為計算機軟件領(lǐng)域的重要方法,對計算機軟件的發(fā)展具有重要的意義
39、。伴隨著SP的形成,相繼出現(xiàn)了Modula-2、C以及Ada等結(jié)構(gòu)化程序設(shè)計語言。,結(jié)構(gòu)化開發(fā)方法的形成/2,結(jié)構(gòu)化設(shè)計方法SD的形成結(jié)構(gòu)化程序設(shè)計需要事先設(shè)計好每一個具體的功能模塊,然后將這些設(shè)計好的模塊組裝成一個軟件系統(tǒng)。源于結(jié)構(gòu)化程序設(shè)計思想的結(jié)構(gòu)化設(shè)計方法就是要解決模塊的構(gòu)建問題。1974年,W.Stevens、G.Myers和L.Constantine等人在《IBM系統(tǒng)》(IBM System)雜志上發(fā)表了《結(jié)構(gòu)化設(shè)計》(
40、Structured Design)論文,為結(jié)構(gòu)化設(shè)計方法奠定了思想基礎(chǔ)。結(jié)構(gòu)化分析方法SA的形成結(jié)構(gòu)化設(shè)計方法建立在系統(tǒng)需求明確的基礎(chǔ)上。如何明確系統(tǒng)的需求,就是結(jié)構(gòu)化分析所要解決的問題。結(jié)構(gòu)化分析方法產(chǎn)生于20世紀70年代中期,最初的倡導者有Tom Demarco、Ed Yourdon等人。結(jié)構(gòu)化分析在20世紀80年代又得到了進一步的發(fā)展,并隨著Ed Yourdon于1989年所著的《現(xiàn)代結(jié)構(gòu)化分析》(Modern Stru
41、ctured Analysis)的出版而流行開來?,F(xiàn)代結(jié)構(gòu)化分析更強調(diào)建模的重要性。,結(jié)構(gòu)化方法五個基本原則,面向用戶的觀點嚴格區(qū)分工作階段,每個階段有明確的任務(wù)和應得的成果按照系統(tǒng)的觀點,自頂向下地完成系統(tǒng)的研制工作充分考慮變化的情況工作成果文獻化、標準化,,,,,,結(jié)構(gòu)化分析——數(shù)據(jù)流圖,,顧客,,,,編 輯訂貨單,訂貨單,配件庫存,,,,,1.1,,,確 定顧 客訂 貨,1.2,,,1.3,,,,業(yè)務(wù)員,,
42、,產(chǎn) 生暫 存訂貨單,1.4,不合格,顧客,,,,,D2,D3,可發(fā)訂貨,不滿足的訂貨,暫存訂貨單,,,,,D4,銷售歷史,,,,,D5,應收款明細賬,,,,D10,,,,,,,,,,,,合格的訂貨單,,,檢 索庫 存,1.5,經(jīng)理,,,,,查詢請求,庫 存狀 態(tài),,,,開發(fā)貨單并修改庫存,顧客,,,發(fā)貨單,,,,模型中的某個功能的分解圖:,結(jié)構(gòu)化設(shè)計——模塊結(jié)構(gòu)圖,銷售子系統(tǒng),暫存訂貨單處理,登記訂貨單,查
43、詢,打印發(fā)貨單,作廢訂貨單,查詢訂貨單,查詢庫存,,,,,,,暫存處理,修改庫存,,,沖賬,,,結(jié)構(gòu)化模型——數(shù)據(jù)流圖,模型的層次和分解:,,,,,結(jié)構(gòu)化模型——模塊結(jié)構(gòu)圖,圖書館管理系統(tǒng),圖書管理,讀者管理,借還書管理,,,新書登記,舊書淘汰,讀者登記,讀者刪除,,,,,借書,查詢,還書,,,,書目查詢,借閱排行,,,根據(jù)卡號查讀者,,,根據(jù)書號查圖書,,判讀者結(jié)束資格,保存借書記錄,,,刪除讀者記錄,……,……,3.5.3 面向?qū)ο?/p>
44、開發(fā)方法,面向?qū)ο?object-oriented)方法具有很強的類和對象的概念,因此它就能很自然地直觀地模擬人類認識客觀世界的方式,包括:客觀世界的任何事物都是對象(object)。它們都有一些靜態(tài)特征和有關(guān)行為。對象之間有抽象與具體、群體與個體、整體與部分等幾種關(guān)系,這些關(guān)系構(gòu)成對象的網(wǎng)絡(luò)結(jié)構(gòu)。抽象的對象所具有的性質(zhì),自然地成為具體對象的性質(zhì),而不必說明(繼承性,inheritance)。對象之間可以互送消息(message
45、),通過消息進行交互和協(xié)作。,面向?qū)ο蠓椒ㄅe例,比如:汽車作為一個對象,有排量、顏色、行駛里程等數(shù)據(jù),有啟動、行駛、停止、熄火等行為,駕駛員的點火事件可以觸發(fā)汽車的啟動操作,踩下油門事件會觸發(fā)汽車行駛,行駛行為將造成行駛里程發(fā)生改變。在計算機賽車游戲里,面向?qū)ο蟪绦蛟O(shè)計可以將汽車設(shè)計為一個軟件對象(class)。,面向?qū)ο箝_發(fā)方法的形成/1,面向?qū)ο蟪绦蛟O(shè)計OOP的產(chǎn)生面向?qū)ο蟮母拍睿∣bject-Oriented,簡稱OO)始于
46、1966年的一種高級抽象語言Simula。為仿真一個實際問題,引入了數(shù)據(jù)抽象和類的概念。幾年后出現(xiàn)的Smalltalk語言被認為是第一個真正面向?qū)ο蟮木幊陶Z言。它吸取了Simula中類的概念,規(guī)定一切都是對象,程序設(shè)計以盡可能自動化的單元來進行,并開始用于實現(xiàn)基于對象的圖形用戶界面。隨著上世紀80年代中期一些面向?qū)ο笳Z言如C++的出現(xiàn),對象不僅與名詞相關(guān)聯(lián),還包括事件和過程。可視化編程語言VB可以說是面向?qū)ο蟪绦蛟O(shè)計(OOP)最為成
47、功的應用之一。并從此走向普及。,面向?qū)ο箝_發(fā)方法的形成/2,面向?qū)ο蟮姆治雠c設(shè)計方法的形成1982-1992年間,出現(xiàn)了一些具代表性的OO方法論Sally Shlare and Steve Mellor, "Recursive Design Approach" Peter Coad and Ed Yourdon, "Prototype-Oriented Approach"Grady Boo
48、ch (at Rational Software), "Booch Method"Jim Rumbaugh (at General Electric), "Object Modeling Technique" (OMT)James Martin and Jim OdellIvar Jacobson (at Ericsson), "OOSE"面向?qū)ο蟮姆治鯫OA,其任務(wù)是
49、了解問題域所涉及的對象、對象間的關(guān)系和作用,然后構(gòu)造問題的對象模型,力爭該模型能真實地反映出所要解決的“實質(zhì)問題”。接著根據(jù)所應用的軟件開發(fā)環(huán)境,基于OOA的對象模型在軟件系統(tǒng)內(nèi)設(shè)設(shè)計各個對象、對象間的關(guān)系(如層次關(guān)系、繼承關(guān)系等)、對象間的通信方式等,即OOD。,面向?qū)ο蟮幕舅枷牒吞攸c,基本思想客觀事物都是對象。對象由屬性和方法組成(對象的封裝性)對象間的關(guān)系構(gòu)成網(wǎng)絡(luò)結(jié)構(gòu)對象具有繼承性對象之間的聯(lián)系通過消息傳遞機制來實現(xiàn)
50、特點封裝性抽象性:將屬性和方法抽象為類,對象是類的實例繼承性動態(tài)鏈接性:對象間的聯(lián)系是通過對象間的消息傳遞動態(tài)建立的,面向?qū)ο竽P蛨D——類圖,面向?qū)ο蠓治觯∣OA)、設(shè)計(OOD)和程序設(shè)計(OOP)最重要的模型圖是對象圖/類圖,訂貨單,顧客,配件配件名稱配件代碼查詢庫存修改庫存,,,1 擁有1..*,記錄1 1..*,配件庫存?zhèn)}庫地點庫存數(shù)量增加庫存量減少庫存量,,包含,1,0
51、..*,,暫存訂貨單作廢訂貨單,可發(fā)訂貨單打印發(fā)貨單作廢訂貨單,,,,,,,,,對象名/類名,對象屬性,對象操作,,面向?qū)ο竽P汀悎D,面向?qū)ο蠓治觯∣OA)、設(shè)計(OOD)和程序設(shè)計(OOP)最重要的模型圖是對象圖/類圖,面向?qū)ο竽P汀樞驁D,對象之間有交互,一個對象像另一個對象發(fā)送服務(wù)請求消息,接收對象進行響應,3.5.4 面向服務(wù)開發(fā)方法,將應用程序的不同功能單元 定義為服務(wù)(service),通過服務(wù)間定義良好的接口
52、和契約(contract)聯(lián)系起來。面向服務(wù)是從業(yè)務(wù)角度出發(fā)考慮問題的,服務(wù)是可以獨立封裝的業(yè)務(wù)功能組件,提升了模型的抽象層次,它繼承并加強了結(jié)構(gòu)化和面向?qū)ο蠓椒ǖ耐ㄓ密浖Y(jié)構(gòu)設(shè)計思想,還增添了一些其他的主題,例如服務(wù)編排、服務(wù)庫和服務(wù)總線中間件模式。,面向服務(wù)方法的形成,為了實現(xiàn)遠程分布式的過程調(diào)用,在20世紀90年代出現(xiàn)了面向組件的編程技術(shù),如J2EE、CORBA、DCOM等。組件就是將程序進行封裝,定義一些接口讓外部調(diào)用。客戶
53、端調(diào)用接口時,客戶端和服務(wù)器端之間以特定的傳輸協(xié)議進行通信,客戶端不需要了解接口是如何具體實現(xiàn)的,也不要引用服務(wù)器端的實現(xiàn)類。由于組件技術(shù)標準不統(tǒng)一,導致不同技術(shù)實現(xiàn)的組件之間無法相互調(diào)用。2000年開始萬維網(wǎng)聯(lián)盟(World WideWeb Consortium,W3C)基于互聯(lián)網(wǎng)標準,發(fā)布了統(tǒng)一的Web服務(wù)標準,異構(gòu)系統(tǒng)之間可以實現(xiàn)遠程交互。不久,專家學者和各大廠商開始推廣和普及面向服務(wù)的體系架構(gòu)(Service-Oriente
54、dArchitecture,SOA),并共同努力制定了中立的SOA標準,面向服務(wù)的開發(fā)進入實施階段。,SOA,面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)以服務(wù)為軟件組成要素,服務(wù)對外定義良好的接口和契約,獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。從概念上講,SOA中有三個主要的抽象級別元素:操作:代表單個邏輯工作單元的事務(wù)。執(zhí)行操作通常完成數(shù)據(jù)的存取和加工。與類的一個方法類似。服務(wù)
55、:代表操作的邏輯分組。例如,如果我們將客戶信用視為服務(wù),則按照客戶名稱獲得客戶信用數(shù)據(jù)、建立信用記錄、更新客戶信用等就代表相關(guān)的操作。業(yè)務(wù)流程:為實現(xiàn)特定業(yè)務(wù)目標而執(zhí)行的一組長期運行的動作或活動。例如:批準一項貸款、本科生轉(zhuǎn)專業(yè)、完成訂單等。業(yè)務(wù)流程包括依據(jù)一組業(yè)務(wù)規(guī)則按照有序序列執(zhí)行的一系列操作。操作的排序、選擇和執(zhí)行稱為服務(wù)或流程編排。,面向服務(wù)模型——業(yè)務(wù)流程,訂單處理的業(yè)務(wù)流程模型:,面向服務(wù)模型——服務(wù)接口,識別與訂單處理有
56、關(guān)的服務(wù),定義服務(wù)接口SoaML面向服務(wù)架構(gòu)建模語言,是UML的擴展,面向服務(wù)模型——服務(wù)架構(gòu),服務(wù)接口及內(nèi)部實現(xiàn)結(jié)構(gòu),不同方法的比較,結(jié)構(gòu)化方法容易理解和交流,對于大系統(tǒng)可以從全局逐步展開到局部,整體性較好。結(jié)構(gòu)化方法是其他系統(tǒng)開發(fā)方法(如面向?qū)ο蠓椒ǎ┑幕A(chǔ)。面向?qū)ο蠓€(wěn)定可靠,有利于維護和重用,并容易實現(xiàn)多層分布式結(jié)構(gòu),但對前期分析設(shè)計人員要求較高,用戶理解模型有困難。面向服務(wù)松耦合、自描述、可重用、開放標準。以XML
57、為基礎(chǔ),將已有的服務(wù)進行重新組合后可以快速建立新的業(yè)務(wù)流程,要求分析有較強的業(yè)務(wù)流程的抽象能力。以結(jié)構(gòu)化方法和面向?qū)ο蠓椒榛A(chǔ)。,兩類方法的關(guān)系,建模方法不限定使用于特定的過程方法中比如面向?qū)ο蠓椒瓤梢允褂迷谄俨挤椒ㄖ?,也可以用在螺旋方法中開發(fā)過程的各時期可以使用不同的建模方法(但不提倡)要注意不同方法不同模型的銜接,3.6 信息系統(tǒng)開發(fā)的組織管理,信息系統(tǒng)建設(shè)要執(zhí)行有計劃的管理:信息系統(tǒng)發(fā)展的諾蘭模型建立信息系統(tǒng)的基礎(chǔ)
58、條件信息系統(tǒng)建設(shè)的相關(guān)人員做好準備工作選擇開發(fā)方式開展項目管理,3.6.1 諾蘭模型,信息系統(tǒng)遵循從初級到成熟的發(fā)展規(guī)律(諾蘭模型),要根據(jù)企業(yè)的信息系統(tǒng)發(fā)展現(xiàn)狀制定開發(fā)策略,,,預算費用,初裝,數(shù)據(jù)管理,蔓延,控制,成熟,集成,,,,,,,,,諾蘭模型的經(jīng)驗總結(jié):模型中的各個階段是不能跳躍的?!坝賱t不達”,3.6.2 建立信息系統(tǒng)的基礎(chǔ)條件,領(lǐng)導重視,業(yè)務(wù)人員積極性高有一定的科學管理基礎(chǔ)由不同層次人員組成的技術(shù)隊伍
59、具備必要的資源,3.6.3 系統(tǒng)開發(fā)的準備工作,有效的組織機構(gòu)各類人員的配備和分工,,技術(shù)人員,信息系統(tǒng)建設(shè)中可能有以下技術(shù)人員:各角色的職責可參見計算機技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試,人員需求的變化,系統(tǒng)建設(shè)的不同階段對人員的需求不斷變化:,3.6.4 選擇開發(fā)方式,根據(jù)資源情況選擇適合的開發(fā)方式:自行開發(fā)委托開發(fā)聯(lián)合開發(fā)購買現(xiàn)成軟件產(chǎn)品購買服務(wù)(SaaS/PaaS/云計算),3.6.6 信息
60、系統(tǒng)的項目管理,信息系統(tǒng)項目遵循項目管理的一般理論和方法,但也存在自身的特點,管理內(nèi)容包括:進度管理成本估算和經(jīng)費管理質(zhì)量管理文檔管理人員管理其它:需求管理、風險管理、軟件配置管理詳細內(nèi)容在《信息系統(tǒng)項目管理》課程或書籍中討論。,3.7 信息系統(tǒng)開發(fā)工具,信息系統(tǒng)開發(fā)工具指在系統(tǒng)開發(fā)生命周期各個階段幫助開發(fā)者提高工作質(zhì)量和效率的一類軟件,也稱為CASE(Computer Aided Software Engineer
61、ing,計算機輔助軟件工程)工具。CASE工具:它是一種軟件;它是繼高級程序語言之后,軟件技術(shù)進一步發(fā)展的產(chǎn)物;它的目的是在軟件開發(fā)過程的不同方面給予人們不同程度的支持和幫助。,CASE工具的類型,分析與設(shè)計工具統(tǒng)稱為建模工具,如IBM Rational Rose、PowerDesigner、Visio等編程工具集成開發(fā)環(huán)境(IDE,Integrated Development Environment)是目前程序員最常用的
62、編程工具。如Visual Studio 2010、MyEclipse等測試工具包括測試用例的選擇、測試程序與測試數(shù)據(jù)的生成、測試的執(zhí)行及測試結(jié)果的評價。 運維工具項目管理工具,要點歸納,熟練掌握信息系統(tǒng)生命周期(階段任務(wù)、階段文檔)信息系統(tǒng)的開發(fā)技術(shù):結(jié)構(gòu)化方法、面向?qū)ο蠓椒ㄐ畔⑾到y(tǒng)的開發(fā)過程:瀑布模型、原型模型、迭代開發(fā)過程(增量模型)一般掌握信息系統(tǒng)建設(shè)的特點(復雜性、社會性)信息系統(tǒng)的開發(fā)過程:螺旋模型、噴
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息系統(tǒng)建設(shè)規(guī)范
- 第2章 管理信息系統(tǒng)概論07741
- 信息系統(tǒng)建設(shè)采購信息摘要表
- 急診臨床信息系統(tǒng)建設(shè)方案
- 政務(wù)信息系統(tǒng)建設(shè)方案
- 移動醫(yī)護信息系統(tǒng)建設(shè)方案
- 政務(wù)信息系統(tǒng)建設(shè)方案
- 急診臨床信息系統(tǒng)建設(shè)方案
- 移動醫(yī)護信息系統(tǒng)建設(shè)方案
- 融資租賃行業(yè)信息系統(tǒng)建設(shè).pdf
- 淺論地理信息系統(tǒng)建設(shè)
- 海豐公司信息系統(tǒng)建設(shè)研究.pdf
- 信用信息系統(tǒng)建設(shè)情況匯報
- 區(qū)域婦幼信息系統(tǒng)建設(shè)方案 20180103
- 滁州綜治信息系統(tǒng)建設(shè)項目
- 地理信息系統(tǒng)建設(shè)方案
- 2006年國家統(tǒng)計信息系統(tǒng)建設(shè)
- 信息系統(tǒng)建調(diào)研
- 信息系統(tǒng)概論
- 信息安全—信息系統(tǒng)建設(shè)安全管理辦法
評論
0/150
提交評論