電子商務(wù)網(wǎng)站的結(jié)構(gòu)化系統(tǒng)開(kāi)發(fā)過(guò)程與弊病
結(jié)構(gòu)化系統(tǒng)開(kāi)發(fā)方法是迄今為止最傳統(tǒng)、應(yīng)用最廣泛的一種系統(tǒng)開(kāi)發(fā)方法。結(jié)構(gòu)化系統(tǒng)開(kāi)發(fā)方法的基本思想是利用系統(tǒng)工程的思想和工程化的方法,以用戶(hù)至上為原則,按結(jié)構(gòu)化、模塊化、自頂向下的方法對(duì)系統(tǒng)進(jìn)行分析與設(shè)計(jì)。
這種方法將整個(gè)信息系統(tǒng)開(kāi)發(fā)過(guò)程劃分出若干個(gè)相對(duì)比較獨(dú)立的階段,包括系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施等。采用結(jié)構(gòu)化系統(tǒng)方法開(kāi)發(fā)系統(tǒng),可以將整個(gè)開(kāi)發(fā)過(guò)程劃分為5個(gè)首尾相連的階段,這5個(gè)階段構(gòu)成了系統(tǒng)開(kāi)發(fā)的生命周期。
(1)系統(tǒng)規(guī)劃階段。系統(tǒng)規(guī)劃階段的工作就是要確定信息系統(tǒng)的發(fā)展戰(zhàn)略,明確企業(yè)總的信息需求,制定信息系統(tǒng)建設(shè)總計(jì)劃。
(2)系統(tǒng)分析階段。系統(tǒng)分析階段的任務(wù)是分析企業(yè)業(yè)務(wù)流程、數(shù)據(jù)與數(shù)據(jù)流程、功能與數(shù)據(jù)之間的關(guān)系,并提出新系統(tǒng)邏輯方案。
(3)系統(tǒng)設(shè)計(jì)階段。系統(tǒng)設(shè)計(jì)階段的任務(wù)包括總體結(jié)構(gòu)設(shè)計(jì)、代碼設(shè)計(jì)、數(shù)據(jù)庫(kù)/文件設(shè)計(jì)、輸入輸出設(shè)計(jì)和模塊結(jié)構(gòu)與功能設(shè)計(jì)。與此同時(shí),還要根據(jù)總體設(shè)計(jì)的要求購(gòu)置與安裝設(shè)備。
(4)系統(tǒng)實(shí)施階段。系統(tǒng)實(shí)施階段的任務(wù)是要按照系統(tǒng)設(shè)計(jì)成果,組織人員編程,并進(jìn)行人員培訓(xùn)、數(shù)據(jù)準(zhǔn)備和試運(yùn)行等工作。
(5)系統(tǒng)運(yùn)行階段。系統(tǒng)運(yùn)行階段的任務(wù)包括系統(tǒng)的日常運(yùn)行管理、評(píng)價(jià)、監(jiān)理審計(jì)三部分工作。在運(yùn)行過(guò)程中,系統(tǒng)難免會(huì)出現(xiàn)修改、調(diào)整和維護(hù),如果出現(xiàn)了不可調(diào)和的大問(wèn)題(這種情況一般是系統(tǒng)運(yùn)行若干年之后,系統(tǒng)運(yùn)行的環(huán)境已經(jīng)發(fā)生了根本的變化時(shí)才可能出現(xiàn)),則用戶(hù)將會(huì)進(jìn)一步提出開(kāi)發(fā)新系統(tǒng)的要求,這標(biāo)志著老系統(tǒng)生命的結(jié)束、新系統(tǒng)的誕生。
結(jié)構(gòu)化系統(tǒng)開(kāi)發(fā)方法的關(guān)鍵思想就是通過(guò)功能分解來(lái)減少程序設(shè)計(jì)的復(fù)雜性,增加軟件的可重用性以減少開(kāi)發(fā)和維護(hù)計(jì)算機(jī)程序的費(fèi)用。但在越來(lái)越復(fù)雜的非數(shù)值計(jì)算類(lèi)型的軟件開(kāi)發(fā)中,在廣泛應(yīng)用圖形界面的交互式應(yīng)用中,在控制要求非常突出的系統(tǒng)中,使用結(jié)構(gòu)化系統(tǒng)開(kāi)發(fā)方法暴露出了許多弊病。
1)功能與數(shù)據(jù)分離的軟件設(shè)計(jì)結(jié)構(gòu)與人類(lèi)的現(xiàn)實(shí)世界環(huán)境很不一樣,和人的自然思維也就不一致了。
2)系統(tǒng)設(shè)計(jì)是圍繞如何實(shí)現(xiàn)一定的系統(tǒng)行為來(lái)進(jìn)行的,當(dāng)系統(tǒng)行為易變時(shí),系統(tǒng)設(shè)計(jì)修改變?yōu)槔щy。因?yàn)檫@類(lèi)系統(tǒng)的結(jié)構(gòu)是基于上層模塊必須掌握和控制下層模塊工作為前提的,因此在底層模塊發(fā)生變動(dòng)時(shí),常常會(huì)迫不得已地去改變一系列的上層模塊,而這種一系列的上層模塊的修改本不是當(dāng)時(shí)變動(dòng)底層模塊的目的;同樣,在發(fā)生需要變動(dòng)上層模塊時(shí),新的上層模塊也必須了解它的所有下層模塊,編寫(xiě)這樣的上層模塊當(dāng)然是極為困難的。
3)在系統(tǒng)的模塊中,模塊間的控制作用只能通過(guò)上下之間的調(diào)用關(guān)系來(lái)進(jìn)行。這樣,當(dāng)系統(tǒng)中模塊之間的控制作用有重要影響時(shí),即實(shí)際控制發(fā)送到根源來(lái)自分散的各模塊時(shí),將造成信息傳遞路徑過(guò)長(zhǎng)、效率低、易受干擾甚至出錯(cuò)。如果允許模塊間為進(jìn)行控制而直接通信,結(jié)果則是系統(tǒng)總體結(jié)構(gòu)混亂、難于維護(hù)和控制、出錯(cuò)概率高。
4)用這種方法開(kāi)發(fā)出來(lái)的系統(tǒng)往往難以維護(hù),主要因?yàn)楸仨氈浪泻瘮?shù)的數(shù)據(jù)結(jié)構(gòu)。
5)自頂向下功能分解的分析設(shè)計(jì)方法極大地限制了軟件的可重用性,導(dǎo)致對(duì)同樣對(duì)象的大量重復(fù)性工作,大大降低了開(kāi)發(fā)人員的生產(chǎn)率,減少了他們用于創(chuàng)造性勞動(dòng)的時(shí)間。
隨著信息科技的不斷進(jìn)展,軟件的復(fù)雜性及變動(dòng)性不斷地增加,結(jié)構(gòu)化開(kāi)發(fā)方法由于思維方式的限制,導(dǎo)致其遭遇困境,無(wú)法滿(mǎn)足用戶(hù)真正需求,致使軟件產(chǎn)品質(zhì)量不佳。因此,要真正徹底解決軟件危機(jī),就要在系統(tǒng)開(kāi)發(fā)方法上做重大思維轉(zhuǎn)移。