如何寫(xiě)系統(tǒng)分析書(shū)
綜合能力考核表詳細(xì)內(nèi)容
如何寫(xiě)系統(tǒng)分析書(shū)
如何寫(xiě)系統(tǒng)分析書(shū) By Cooljob, Chinacode,yu_jin, i.q. 想請(qǐng)大家一起來(lái)談?wù)勗谲浖こ讨形覀兯龅牡谝徊剑?系統(tǒng)分析 系統(tǒng)分析,我個(gè)人認(rèn)為這里應(yīng)該出來(lái)系統(tǒng)的靈魂性的文檔。這樣的文檔應(yīng)該說(shuō)出以下內(nèi) 容(視項(xiàng)目而定): 1、系統(tǒng)需求說(shuō)明 說(shuō)明系統(tǒng)是一個(gè)什么樣的系統(tǒng),用市場(chǎng)上現(xiàn)有的系統(tǒng)來(lái)類比,用客戶(或是我們自己) 需要一個(gè)什么樣的系統(tǒng)進(jìn)行說(shuō)明,力求完整。并對(duì)系統(tǒng)的發(fā)展可擴(kuò)充性進(jìn)行描述(現(xiàn)在 沒(méi)有哪個(gè)系統(tǒng)是一次OK的)。說(shuō)明與現(xiàn)有的系統(tǒng)有什么相同什么不同,說(shuō)明未來(lái)系統(tǒng)的 發(fā)展方面以及可移值性等能預(yù)見(jiàn)的事情。 2、系統(tǒng)資源說(shuō)明 對(duì)系統(tǒng)所需要的軟件、硬件資源進(jìn)行說(shuō)明。描述系統(tǒng)所需要的所有的TCO成本。包括人 員、時(shí)間、設(shè)備、系統(tǒng)、一次性投入資金、持續(xù)性投入資金這樣的所有資源。 3、系統(tǒng)可行性分析 對(duì)系統(tǒng)的實(shí)施中的資源進(jìn)行分析,說(shuō)明投入的合理性和必然性,對(duì)其中的所有不可預(yù)見(jiàn) 性的投入進(jìn)行合理的量化說(shuō)明,來(lái)說(shuō)明系統(tǒng)的實(shí)施的可行性。 作為開(kāi)發(fā)前期的工作,我覺(jué)得還應(yīng)該包括:總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。 總體設(shè)計(jì) 這個(gè)階段必須回答的關(guān)鍵問(wèn)題是:“概括地說(shuō),應(yīng)該如何解決這個(gè)問(wèn)題?” 首先,應(yīng)該考慮幾種可能的解決方案。例如,目標(biāo)系統(tǒng)的一些主要功能是用計(jì)算機(jī)自動(dòng) 完成還是用人工完成;如果使用計(jì)算機(jī),那么是使用批處理方式還是人機(jī)交互方式;信 息存儲(chǔ)使用傳統(tǒng)的文件系統(tǒng)還是數(shù)據(jù)庫(kù)……。通常至少應(yīng)該考慮下述幾類可能的方案: 低成本的解決方案 系統(tǒng)只能完成最必要的工作,不能多做一點(diǎn)額處的工作。 中等成本的解決方案 這樣的系統(tǒng)不僅能夠很好地完成預(yù)定的任務(wù),使用起來(lái)很方便,而且可能還具有用戶沒(méi) 有具體指定的某些功能和特點(diǎn)。雖然用戶沒(méi)有提出這些具體要求,但是系統(tǒng)分析員根據(jù) 自己的知識(shí)和經(jīng)驗(yàn)斷定,這些附加的能力在實(shí)踐中將證明是很有價(jià)值的。 高成本的“十全十美”的系統(tǒng) 這樣的系統(tǒng)具有用戶可能希望有的所有功能和特點(diǎn)。 系統(tǒng)分析員應(yīng)該使用系統(tǒng)流程圖或其他工具描述每種可能的系統(tǒng),估計(jì)每種方案的成本 和效益,還應(yīng)該在充分權(quán)衡各種方案的利弊的基礎(chǔ)上,推薦一個(gè)較好的系統(tǒng)(最佳方案 ),并且制定實(shí)現(xiàn)所推薦的系統(tǒng)的詳細(xì)計(jì)劃。如果用戶接受分析員推薦的系統(tǒng),則可以 著手完成本階段的另一項(xiàng)主要工作。 上面的工作確定了解決問(wèn)題的策略以及目標(biāo)系統(tǒng)需要哪些程序,但是,怎樣設(shè)計(jì)這些程 序呢?結(jié)構(gòu)設(shè)計(jì)的一條基本原理就是程序應(yīng)該模塊化,也就是一個(gè)大程序應(yīng)該由許多規(guī) 模適中的模塊按合理的層次結(jié)構(gòu)組織而成。總體設(shè)計(jì)階段的第二項(xiàng)主要任務(wù)就是設(shè)計(jì)軟 件的結(jié)構(gòu),也就是確定程序由哪些模塊組成以及模塊間的關(guān)系。通常用層次圖或結(jié)構(gòu)圖 描繪軟件的結(jié)構(gòu)。 詳細(xì)設(shè)計(jì) 總體設(shè)計(jì)階段以比較抽象概括的方式提出了解決問(wèn)題的辦法。詳細(xì)設(shè)計(jì)階段的任務(wù)就是 把解法具體化,也就是回答下面這個(gè)關(guān)鍵問(wèn)題:“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?” 這個(gè)階段的任務(wù)還不是編寫(xiě)程序,而是設(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明。這種規(guī)格說(shuō)明的作 用很類似于其他工程領(lǐng)域中工程師經(jīng)常使用的工程藍(lán)圖,它們應(yīng)該包含必要的細(xì)節(jié),程 序員可以根據(jù)它們寫(xiě)出實(shí)際的程序代碼。通常用HIPO圖(層次圖加輸入/處理/輸 出圖)或PDL語(yǔ)言(過(guò)程設(shè)計(jì)語(yǔ)言)描述詳細(xì)設(shè)計(jì)的結(jié)果。 我想這樣的文檔系統(tǒng)的思路是一個(gè)慢慢積累的過(guò)程,如一些開(kāi)發(fā)人員所說(shuō),我們現(xiàn)在有 太多的形式上的東西,它并不是一個(gè)程序員真正需要的系統(tǒng)分析/設(shè)計(jì)書(shū),對(duì)于系統(tǒng)的 設(shè)計(jì)到實(shí)施到最后的代碼以及驗(yàn)收有太多的改動(dòng)和變化,我們正在一個(gè)極不規(guī)范的系統(tǒng) 中生存,所以我們不可能有太多的選擇,只能草草應(yīng)付了事。所以需要探索得出一個(gè)真 正適合我們的文檔模式,這個(gè)模式或是說(shuō)模板能為我們的代碼工作減少負(fù)擔(dān),帶來(lái)更多 的動(dòng)能。 1?,F(xiàn)在的應(yīng)用和以前大不一樣 現(xiàn)在的應(yīng)用是一種龐大的集成,包括跨平臺(tái), 網(wǎng)絡(luò),數(shù)據(jù)庫(kù)等等,而且新技術(shù)的出現(xiàn)越來(lái)越快,任何人都無(wú)法精通甚至是掌握 全部技術(shù)。 簡(jiǎn)單例子:現(xiàn)在有windows,unix,linux等平臺(tái),有sql server,oracle,sybase等 數(shù)據(jù)庫(kù),有C++,vb,delphi等工具,誰(shuí)能全部精通呢?如果不能,那么如何確定是 windows+sql server+delphi好還是unix+oracle+C++合適? 2??蛻魶](méi)有需求 我做過(guò)銀行,電信等大客戶,也做過(guò)各種小客戶。他們無(wú)一例外的說(shuō)“我要做一個(gè)OA系統(tǒng) ”,“我要做一個(gè)企業(yè)網(wǎng)”,“我要做一個(gè)。。?!???伤麄儫o(wú)法確定要實(shí)現(xiàn)什么,因?yàn)椋汉?少有用戶是真正由于業(yè)務(wù)的需求而做項(xiàng)目的;而且他們也不清楚能夠?qū)崿F(xiàn)什么(因?yàn)樗麄?不懂notes,不懂企業(yè)網(wǎng))。 3。需求與環(huán)境的變化 由于在項(xiàng)目開(kāi)發(fā)前客戶沒(méi)有實(shí)質(zhì)性的需求,加上軟件開(kāi)發(fā)人員不熟悉客戶的業(yè)務(wù),就導(dǎo) 致在開(kāi)發(fā)過(guò)程中需求的不斷變化,嚴(yán)重時(shí)將導(dǎo)致分析與設(shè)計(jì)作廢。 4。對(duì)象化的工具和過(guò)程化的程序 現(xiàn)在的開(kāi)發(fā)工具已經(jīng)很對(duì)象化了,而我們開(kāi)發(fā)的程序卻很過(guò)程化。也就是說(shuō)你雖然努力 的模塊化,層次化,可只要運(yùn)行環(huán)境有所變化,你還要不斷地修改,再修改源碼。這說(shuō) 明我們確實(shí)需要把實(shí)際中的做法修改一下。 一個(gè)項(xiàng)目如果做到了80%的時(shí)候才真正明確則個(gè)系統(tǒng)是什么樣子的話,我認(rèn)為是設(shè)計(jì)者 的失敗。我認(rèn)為在設(shè)計(jì)階段不但應(yīng)該做好傳統(tǒng)做法的各種文檔和論證,而且,應(yīng)該做一 些具體的設(shè)計(jì)工作了。比如,系統(tǒng)的整體運(yùn)行設(shè)計(jì)及系統(tǒng)各功能模塊的具體設(shè)計(jì)。而且 這些設(shè)計(jì)應(yīng)當(dāng)都有詳細(xì)的設(shè)計(jì)說(shuō)明書(shū)。當(dāng)這些說(shuō)明書(shū)完成后,應(yīng)當(dāng)能做到,隨便找個(gè)程 序員他都能只通過(guò)看某功能模塊的設(shè)計(jì)說(shuō)明書(shū)就能夠開(kāi)始代碼的開(kāi)發(fā)而不用再重新思考 該怎樣去做了,程序員在這里就真的只是一個(gè)設(shè)計(jì)者的實(shí)現(xiàn)工具。 當(dāng)然,現(xiàn)在的系統(tǒng)都越來(lái)越繁雜越來(lái)越龐大越來(lái)越向集成性質(zhì)靠攏,似乎是沒(méi)有多少人 能掌握具體用什么做效果是否如何如何,但關(guān)鍵就是這里。莫非真的沒(méi)有人能做到這點(diǎn) 嗎?非也!只不過(guò)是目前的顯示情況是,設(shè)計(jì)人員的水平偏低,有些公司的設(shè)計(jì)人員根 本就沒(méi)有多少的開(kāi)發(fā)經(jīng)驗(yàn),他又怎能了解太多的系統(tǒng)呢。系統(tǒng)設(shè)計(jì)在目前看來(lái)似乎是個(gè) 拿錢多干活少的工作,但這是不正常的現(xiàn)象。培養(yǎng)一個(gè)程序員根本不用花多大的力氣, 一個(gè)人只要不太笨不太蠢,給他一個(gè)機(jī)會(huì),相信就能掌握某門技術(shù)或方法。但要掌握若 干種方法,就不是能夠通過(guò)速成解決的了。 問(wèn)題也在于此。目前似乎所有的系統(tǒng)設(shè)計(jì)人員都能夠設(shè)計(jì)所有的東西。其實(shí)不然。很多 人都有知識(shí)的局限性,這就決定他只能對(duì)某些方向的東西做出決策和設(shè)計(jì)??蛻艄倘徊?知道他要做什么,但我們應(yīng)該知道。如果在前期能夠多接觸用戶多深入實(shí)際,把設(shè)計(jì)人 員當(dāng)成客戶工作中的一員, 他就能夠真正了解到客戶的需求,當(dāng)然也就能夠?yàn)樗龀龊线m的設(shè)計(jì)。 至于說(shuō)到各種系統(tǒng)之間的好壞對(duì)比,我想,任何東西都沒(méi)有絕對(duì),有的只是某些方面的 權(quán)衡。比如性能或空間的權(quán)衡或者價(jià)格和性能的權(quán)衡,或者就是功能側(cè)重上的權(quán)衡等等 等如此而已。計(jì)算機(jī)里的東西沒(méi)有哪一樣的存在不是包含了這種權(quán)衡在內(nèi)的。雖然從商 務(wù)上似乎總想說(shuō)服用戶什么東西好什么東西不好,其實(shí)從技術(shù)上講無(wú)所謂好和不好,有 的只是區(qū)別及該區(qū)別所針對(duì)的問(wèn)題而已。 所以,不見(jiàn)得非要在用戶決定之前由系統(tǒng)設(shè)計(jì)的人員事先來(lái)為各種方案做個(gè)排隊(duì),只需 要了解用戶的需求,然后從大方向上決定一個(gè)方向再做具體設(shè)計(jì)就可以了。 從過(guò)去的實(shí)踐角度舉例來(lái)說(shuō)。首先,認(rèn)同兩個(gè)說(shuō)法: 1。項(xiàng)目(或說(shuō)工程)有三個(gè)主要方面:功能,時(shí)間,成本。 2。系統(tǒng)分析的任務(wù):將用戶的業(yè)務(wù)邏輯轉(zhuǎn)化為程序邏輯,計(jì)算時(shí)間和成本。 讓我們來(lái)做一個(gè)概要設(shè)計(jì): 1。功能:簡(jiǎn)單的信息發(fā)布系統(tǒng)。 2。系統(tǒng)分析員根據(jù)項(xiàng)目的時(shí)間和成本,在充分權(quán)衡各種方案的利弊的基礎(chǔ)上提出SQL SERVER+CORBA+DELPHI的方案。 。。。 用戶很滿意,OK, 開(kāi)始詳細(xì)設(shè)計(jì): 1。為方便用戶的安裝使用三層結(jié)構(gòu)。 2。客戶端包含信息分布和查詢兩個(gè)模塊。 3。使用各種圖或語(yǔ)言描述各種函數(shù),過(guò)程,模塊,層次。 。。。 一切順利,開(kāi)始編碼。 。。。 編碼完成,用戶試用,這時(shí)用戶提出:在客戶端要能實(shí)時(shí)跟蹤信息的變化,而你卻發(fā)現(xiàn) DELPHI的CORBA不支持回調(diào)!轉(zhuǎn)用其它方案時(shí)間上不可能,補(bǔ)救措施也不靈(比如使用ti mer,但客戶的網(wǎng)絡(luò)環(huán)境不允許多個(gè)用戶的頻繁刷新),怎么辦? 現(xiàn)在來(lái)分析一下問(wèn)題出在哪里: 1。有人會(huì)說(shuō)系統(tǒng)分析員不真正了解客戶的需求,可這不可能(項(xiàng)目時(shí)間的限制)也不現(xiàn)實(shí) (不可能讓分析員到每個(gè)崗位都去操作一下)。 2。有人會(huì)說(shuō)系統(tǒng)分析員的知識(shí)和經(jīng)驗(yàn)不足,可現(xiàn)實(shí)卻是分析員認(rèn)為應(yīng)該的,客戶覺(jué)得沒(méi) 必要,而客戶覺(jué)得必須的分析員又不可理解。這是不同的工作造成的,俗話說(shuō)隔行如隔 山。 3。有人會(huì)說(shuō)系統(tǒng)分析員的水平不夠,可問(wèn)題絕大部分是出在細(xì)節(jié)而不是大方向上,掌握 全部細(xì)節(jié)可能嗎? 這里就是一個(gè)長(zhǎng)期困擾我的問(wèn)題:細(xì)節(jié)(而不是方向)往往成為成功與失敗的關(guān)鍵(注意, 這里的成功是包含了時(shí)間和成本的),而細(xì)節(jié)是不可能全部發(fā)現(xiàn)與分析清楚的。 如何在這種不完整的需求上構(gòu)造完整的系統(tǒng)呢?或是根本不可能呢?我認(rèn)為這個(gè)過(guò)程中 不足的地方就是:把東西做死了,沒(méi)有切實(shí)地為用戶著想。很多人在做設(shè)計(jì)時(shí),可能考 慮的最多的是實(shí)現(xiàn)上的方便,而不是系統(tǒng)的擴(kuò)展及更新。需知道,用戶的需求是在不斷 變化的,如果總是在設(shè)計(jì)前就“善意”地替用戶假設(shè),是難以預(yù)料后事的結(jié)局的。 所以我想,在設(shè)計(jì)階段就因該把可能出現(xiàn)的問(wèn)題都擺到桌面上討論,包括其特點(diǎn)及效果 和后果,而不是自以為是地好心地替用戶“假設(shè)”。 其實(shí)一個(gè)系統(tǒng)設(shè)計(jì)的優(yōu)劣,其系統(tǒng)的擴(kuò)展性能是一個(gè)很重要的指標(biāo),一個(gè)單純就事論事 地針對(duì)某件事情而做出的“專用”系統(tǒng)是沒(méi)有任何遠(yuǎn)見(jiàn)的。
如何寫(xiě)系統(tǒng)分析書(shū)
如何寫(xiě)系統(tǒng)分析書(shū) By Cooljob, Chinacode,yu_jin, i.q. 想請(qǐng)大家一起來(lái)談?wù)勗谲浖こ讨形覀兯龅牡谝徊剑?系統(tǒng)分析 系統(tǒng)分析,我個(gè)人認(rèn)為這里應(yīng)該出來(lái)系統(tǒng)的靈魂性的文檔。這樣的文檔應(yīng)該說(shuō)出以下內(nèi) 容(視項(xiàng)目而定): 1、系統(tǒng)需求說(shuō)明 說(shuō)明系統(tǒng)是一個(gè)什么樣的系統(tǒng),用市場(chǎng)上現(xiàn)有的系統(tǒng)來(lái)類比,用客戶(或是我們自己) 需要一個(gè)什么樣的系統(tǒng)進(jìn)行說(shuō)明,力求完整。并對(duì)系統(tǒng)的發(fā)展可擴(kuò)充性進(jìn)行描述(現(xiàn)在 沒(méi)有哪個(gè)系統(tǒng)是一次OK的)。說(shuō)明與現(xiàn)有的系統(tǒng)有什么相同什么不同,說(shuō)明未來(lái)系統(tǒng)的 發(fā)展方面以及可移值性等能預(yù)見(jiàn)的事情。 2、系統(tǒng)資源說(shuō)明 對(duì)系統(tǒng)所需要的軟件、硬件資源進(jìn)行說(shuō)明。描述系統(tǒng)所需要的所有的TCO成本。包括人 員、時(shí)間、設(shè)備、系統(tǒng)、一次性投入資金、持續(xù)性投入資金這樣的所有資源。 3、系統(tǒng)可行性分析 對(duì)系統(tǒng)的實(shí)施中的資源進(jìn)行分析,說(shuō)明投入的合理性和必然性,對(duì)其中的所有不可預(yù)見(jiàn) 性的投入進(jìn)行合理的量化說(shuō)明,來(lái)說(shuō)明系統(tǒng)的實(shí)施的可行性。 作為開(kāi)發(fā)前期的工作,我覺(jué)得還應(yīng)該包括:總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。 總體設(shè)計(jì) 這個(gè)階段必須回答的關(guān)鍵問(wèn)題是:“概括地說(shuō),應(yīng)該如何解決這個(gè)問(wèn)題?” 首先,應(yīng)該考慮幾種可能的解決方案。例如,目標(biāo)系統(tǒng)的一些主要功能是用計(jì)算機(jī)自動(dòng) 完成還是用人工完成;如果使用計(jì)算機(jī),那么是使用批處理方式還是人機(jī)交互方式;信 息存儲(chǔ)使用傳統(tǒng)的文件系統(tǒng)還是數(shù)據(jù)庫(kù)……。通常至少應(yīng)該考慮下述幾類可能的方案: 低成本的解決方案 系統(tǒng)只能完成最必要的工作,不能多做一點(diǎn)額處的工作。 中等成本的解決方案 這樣的系統(tǒng)不僅能夠很好地完成預(yù)定的任務(wù),使用起來(lái)很方便,而且可能還具有用戶沒(méi) 有具體指定的某些功能和特點(diǎn)。雖然用戶沒(méi)有提出這些具體要求,但是系統(tǒng)分析員根據(jù) 自己的知識(shí)和經(jīng)驗(yàn)斷定,這些附加的能力在實(shí)踐中將證明是很有價(jià)值的。 高成本的“十全十美”的系統(tǒng) 這樣的系統(tǒng)具有用戶可能希望有的所有功能和特點(diǎn)。 系統(tǒng)分析員應(yīng)該使用系統(tǒng)流程圖或其他工具描述每種可能的系統(tǒng),估計(jì)每種方案的成本 和效益,還應(yīng)該在充分權(quán)衡各種方案的利弊的基礎(chǔ)上,推薦一個(gè)較好的系統(tǒng)(最佳方案 ),并且制定實(shí)現(xiàn)所推薦的系統(tǒng)的詳細(xì)計(jì)劃。如果用戶接受分析員推薦的系統(tǒng),則可以 著手完成本階段的另一項(xiàng)主要工作。 上面的工作確定了解決問(wèn)題的策略以及目標(biāo)系統(tǒng)需要哪些程序,但是,怎樣設(shè)計(jì)這些程 序呢?結(jié)構(gòu)設(shè)計(jì)的一條基本原理就是程序應(yīng)該模塊化,也就是一個(gè)大程序應(yīng)該由許多規(guī) 模適中的模塊按合理的層次結(jié)構(gòu)組織而成。總體設(shè)計(jì)階段的第二項(xiàng)主要任務(wù)就是設(shè)計(jì)軟 件的結(jié)構(gòu),也就是確定程序由哪些模塊組成以及模塊間的關(guān)系。通常用層次圖或結(jié)構(gòu)圖 描繪軟件的結(jié)構(gòu)。 詳細(xì)設(shè)計(jì) 總體設(shè)計(jì)階段以比較抽象概括的方式提出了解決問(wèn)題的辦法。詳細(xì)設(shè)計(jì)階段的任務(wù)就是 把解法具體化,也就是回答下面這個(gè)關(guān)鍵問(wèn)題:“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?” 這個(gè)階段的任務(wù)還不是編寫(xiě)程序,而是設(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明。這種規(guī)格說(shuō)明的作 用很類似于其他工程領(lǐng)域中工程師經(jīng)常使用的工程藍(lán)圖,它們應(yīng)該包含必要的細(xì)節(jié),程 序員可以根據(jù)它們寫(xiě)出實(shí)際的程序代碼。通常用HIPO圖(層次圖加輸入/處理/輸 出圖)或PDL語(yǔ)言(過(guò)程設(shè)計(jì)語(yǔ)言)描述詳細(xì)設(shè)計(jì)的結(jié)果。 我想這樣的文檔系統(tǒng)的思路是一個(gè)慢慢積累的過(guò)程,如一些開(kāi)發(fā)人員所說(shuō),我們現(xiàn)在有 太多的形式上的東西,它并不是一個(gè)程序員真正需要的系統(tǒng)分析/設(shè)計(jì)書(shū),對(duì)于系統(tǒng)的 設(shè)計(jì)到實(shí)施到最后的代碼以及驗(yàn)收有太多的改動(dòng)和變化,我們正在一個(gè)極不規(guī)范的系統(tǒng) 中生存,所以我們不可能有太多的選擇,只能草草應(yīng)付了事。所以需要探索得出一個(gè)真 正適合我們的文檔模式,這個(gè)模式或是說(shuō)模板能為我們的代碼工作減少負(fù)擔(dān),帶來(lái)更多 的動(dòng)能。 1?,F(xiàn)在的應(yīng)用和以前大不一樣 現(xiàn)在的應(yīng)用是一種龐大的集成,包括跨平臺(tái), 網(wǎng)絡(luò),數(shù)據(jù)庫(kù)等等,而且新技術(shù)的出現(xiàn)越來(lái)越快,任何人都無(wú)法精通甚至是掌握 全部技術(shù)。 簡(jiǎn)單例子:現(xiàn)在有windows,unix,linux等平臺(tái),有sql server,oracle,sybase等 數(shù)據(jù)庫(kù),有C++,vb,delphi等工具,誰(shuí)能全部精通呢?如果不能,那么如何確定是 windows+sql server+delphi好還是unix+oracle+C++合適? 2??蛻魶](méi)有需求 我做過(guò)銀行,電信等大客戶,也做過(guò)各種小客戶。他們無(wú)一例外的說(shuō)“我要做一個(gè)OA系統(tǒng) ”,“我要做一個(gè)企業(yè)網(wǎng)”,“我要做一個(gè)。。?!???伤麄儫o(wú)法確定要實(shí)現(xiàn)什么,因?yàn)椋汉?少有用戶是真正由于業(yè)務(wù)的需求而做項(xiàng)目的;而且他們也不清楚能夠?qū)崿F(xiàn)什么(因?yàn)樗麄?不懂notes,不懂企業(yè)網(wǎng))。 3。需求與環(huán)境的變化 由于在項(xiàng)目開(kāi)發(fā)前客戶沒(méi)有實(shí)質(zhì)性的需求,加上軟件開(kāi)發(fā)人員不熟悉客戶的業(yè)務(wù),就導(dǎo) 致在開(kāi)發(fā)過(guò)程中需求的不斷變化,嚴(yán)重時(shí)將導(dǎo)致分析與設(shè)計(jì)作廢。 4。對(duì)象化的工具和過(guò)程化的程序 現(xiàn)在的開(kāi)發(fā)工具已經(jīng)很對(duì)象化了,而我們開(kāi)發(fā)的程序卻很過(guò)程化。也就是說(shuō)你雖然努力 的模塊化,層次化,可只要運(yùn)行環(huán)境有所變化,你還要不斷地修改,再修改源碼。這說(shuō) 明我們確實(shí)需要把實(shí)際中的做法修改一下。 一個(gè)項(xiàng)目如果做到了80%的時(shí)候才真正明確則個(gè)系統(tǒng)是什么樣子的話,我認(rèn)為是設(shè)計(jì)者 的失敗。我認(rèn)為在設(shè)計(jì)階段不但應(yīng)該做好傳統(tǒng)做法的各種文檔和論證,而且,應(yīng)該做一 些具體的設(shè)計(jì)工作了。比如,系統(tǒng)的整體運(yùn)行設(shè)計(jì)及系統(tǒng)各功能模塊的具體設(shè)計(jì)。而且 這些設(shè)計(jì)應(yīng)當(dāng)都有詳細(xì)的設(shè)計(jì)說(shuō)明書(shū)。當(dāng)這些說(shuō)明書(shū)完成后,應(yīng)當(dāng)能做到,隨便找個(gè)程 序員他都能只通過(guò)看某功能模塊的設(shè)計(jì)說(shuō)明書(shū)就能夠開(kāi)始代碼的開(kāi)發(fā)而不用再重新思考 該怎樣去做了,程序員在這里就真的只是一個(gè)設(shè)計(jì)者的實(shí)現(xiàn)工具。 當(dāng)然,現(xiàn)在的系統(tǒng)都越來(lái)越繁雜越來(lái)越龐大越來(lái)越向集成性質(zhì)靠攏,似乎是沒(méi)有多少人 能掌握具體用什么做效果是否如何如何,但關(guān)鍵就是這里。莫非真的沒(méi)有人能做到這點(diǎn) 嗎?非也!只不過(guò)是目前的顯示情況是,設(shè)計(jì)人員的水平偏低,有些公司的設(shè)計(jì)人員根 本就沒(méi)有多少的開(kāi)發(fā)經(jīng)驗(yàn),他又怎能了解太多的系統(tǒng)呢。系統(tǒng)設(shè)計(jì)在目前看來(lái)似乎是個(gè) 拿錢多干活少的工作,但這是不正常的現(xiàn)象。培養(yǎng)一個(gè)程序員根本不用花多大的力氣, 一個(gè)人只要不太笨不太蠢,給他一個(gè)機(jī)會(huì),相信就能掌握某門技術(shù)或方法。但要掌握若 干種方法,就不是能夠通過(guò)速成解決的了。 問(wèn)題也在于此。目前似乎所有的系統(tǒng)設(shè)計(jì)人員都能夠設(shè)計(jì)所有的東西。其實(shí)不然。很多 人都有知識(shí)的局限性,這就決定他只能對(duì)某些方向的東西做出決策和設(shè)計(jì)??蛻艄倘徊?知道他要做什么,但我們應(yīng)該知道。如果在前期能夠多接觸用戶多深入實(shí)際,把設(shè)計(jì)人 員當(dāng)成客戶工作中的一員, 他就能夠真正了解到客戶的需求,當(dāng)然也就能夠?yàn)樗龀龊线m的設(shè)計(jì)。 至于說(shuō)到各種系統(tǒng)之間的好壞對(duì)比,我想,任何東西都沒(méi)有絕對(duì),有的只是某些方面的 權(quán)衡。比如性能或空間的權(quán)衡或者價(jià)格和性能的權(quán)衡,或者就是功能側(cè)重上的權(quán)衡等等 等如此而已。計(jì)算機(jī)里的東西沒(méi)有哪一樣的存在不是包含了這種權(quán)衡在內(nèi)的。雖然從商 務(wù)上似乎總想說(shuō)服用戶什么東西好什么東西不好,其實(shí)從技術(shù)上講無(wú)所謂好和不好,有 的只是區(qū)別及該區(qū)別所針對(duì)的問(wèn)題而已。 所以,不見(jiàn)得非要在用戶決定之前由系統(tǒng)設(shè)計(jì)的人員事先來(lái)為各種方案做個(gè)排隊(duì),只需 要了解用戶的需求,然后從大方向上決定一個(gè)方向再做具體設(shè)計(jì)就可以了。 從過(guò)去的實(shí)踐角度舉例來(lái)說(shuō)。首先,認(rèn)同兩個(gè)說(shuō)法: 1。項(xiàng)目(或說(shuō)工程)有三個(gè)主要方面:功能,時(shí)間,成本。 2。系統(tǒng)分析的任務(wù):將用戶的業(yè)務(wù)邏輯轉(zhuǎn)化為程序邏輯,計(jì)算時(shí)間和成本。 讓我們來(lái)做一個(gè)概要設(shè)計(jì): 1。功能:簡(jiǎn)單的信息發(fā)布系統(tǒng)。 2。系統(tǒng)分析員根據(jù)項(xiàng)目的時(shí)間和成本,在充分權(quán)衡各種方案的利弊的基礎(chǔ)上提出SQL SERVER+CORBA+DELPHI的方案。 。。。 用戶很滿意,OK, 開(kāi)始詳細(xì)設(shè)計(jì): 1。為方便用戶的安裝使用三層結(jié)構(gòu)。 2。客戶端包含信息分布和查詢兩個(gè)模塊。 3。使用各種圖或語(yǔ)言描述各種函數(shù),過(guò)程,模塊,層次。 。。。 一切順利,開(kāi)始編碼。 。。。 編碼完成,用戶試用,這時(shí)用戶提出:在客戶端要能實(shí)時(shí)跟蹤信息的變化,而你卻發(fā)現(xiàn) DELPHI的CORBA不支持回調(diào)!轉(zhuǎn)用其它方案時(shí)間上不可能,補(bǔ)救措施也不靈(比如使用ti mer,但客戶的網(wǎng)絡(luò)環(huán)境不允許多個(gè)用戶的頻繁刷新),怎么辦? 現(xiàn)在來(lái)分析一下問(wèn)題出在哪里: 1。有人會(huì)說(shuō)系統(tǒng)分析員不真正了解客戶的需求,可這不可能(項(xiàng)目時(shí)間的限制)也不現(xiàn)實(shí) (不可能讓分析員到每個(gè)崗位都去操作一下)。 2。有人會(huì)說(shuō)系統(tǒng)分析員的知識(shí)和經(jīng)驗(yàn)不足,可現(xiàn)實(shí)卻是分析員認(rèn)為應(yīng)該的,客戶覺(jué)得沒(méi) 必要,而客戶覺(jué)得必須的分析員又不可理解。這是不同的工作造成的,俗話說(shuō)隔行如隔 山。 3。有人會(huì)說(shuō)系統(tǒng)分析員的水平不夠,可問(wèn)題絕大部分是出在細(xì)節(jié)而不是大方向上,掌握 全部細(xì)節(jié)可能嗎? 這里就是一個(gè)長(zhǎng)期困擾我的問(wèn)題:細(xì)節(jié)(而不是方向)往往成為成功與失敗的關(guān)鍵(注意, 這里的成功是包含了時(shí)間和成本的),而細(xì)節(jié)是不可能全部發(fā)現(xiàn)與分析清楚的。 如何在這種不完整的需求上構(gòu)造完整的系統(tǒng)呢?或是根本不可能呢?我認(rèn)為這個(gè)過(guò)程中 不足的地方就是:把東西做死了,沒(méi)有切實(shí)地為用戶著想。很多人在做設(shè)計(jì)時(shí),可能考 慮的最多的是實(shí)現(xiàn)上的方便,而不是系統(tǒng)的擴(kuò)展及更新。需知道,用戶的需求是在不斷 變化的,如果總是在設(shè)計(jì)前就“善意”地替用戶假設(shè),是難以預(yù)料后事的結(jié)局的。 所以我想,在設(shè)計(jì)階段就因該把可能出現(xiàn)的問(wèn)題都擺到桌面上討論,包括其特點(diǎn)及效果 和后果,而不是自以為是地好心地替用戶“假設(shè)”。 其實(shí)一個(gè)系統(tǒng)設(shè)計(jì)的優(yōu)劣,其系統(tǒng)的擴(kuò)展性能是一個(gè)很重要的指標(biāo),一個(gè)單純就事論事 地針對(duì)某件事情而做出的“專用”系統(tǒng)是沒(méi)有任何遠(yuǎn)見(jiàn)的。
如何寫(xiě)系統(tǒng)分析書(shū)
[下載聲明]
1.本站的所有資料均為資料作者提供和網(wǎng)友推薦收集整理而來(lái),僅供學(xué)習(xí)和研究交流使用。如有侵犯到您版權(quán)的,請(qǐng)來(lái)電指出,本站將立即改正。電話:010-82593357。
2、訪問(wèn)管理資源網(wǎng)的用戶必須明白,本站對(duì)提供下載的學(xué)習(xí)資料等不擁有任何權(quán)利,版權(quán)歸該下載資源的合法擁有者所有。
3、本站保證站內(nèi)提供的所有可下載資源都是按“原樣”提供,本站未做過(guò)任何改動(dòng);但本網(wǎng)站不保證本站提供的下載資源的準(zhǔn)確性、安全性和完整性;同時(shí)本網(wǎng)站也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的損失或傷害。
4、未經(jīng)本網(wǎng)站的明確許可,任何人不得大量鏈接本站下載資源;不得復(fù)制或仿造本網(wǎng)站。本網(wǎng)站對(duì)其自行開(kāi)發(fā)的或和他人共同開(kāi)發(fā)的所有內(nèi)容、技術(shù)手段和服務(wù)擁有全部知識(shí)產(chǎn)權(quán),任何人不得侵害或破壞,也不得擅自使用。
我要上傳資料,請(qǐng)點(diǎn)我!
管理工具分類
ISO認(rèn)證課程講義管理表格合同大全法規(guī)條例營(yíng)銷資料方案報(bào)告說(shuō)明標(biāo)準(zhǔn)管理戰(zhàn)略商業(yè)計(jì)劃書(shū)市場(chǎng)分析戰(zhàn)略經(jīng)營(yíng)策劃方案培訓(xùn)講義企業(yè)上市采購(gòu)物流電子商務(wù)質(zhì)量管理企業(yè)名錄生產(chǎn)管理金融知識(shí)電子書(shū)客戶管理企業(yè)文化報(bào)告論文項(xiàng)目管理財(cái)務(wù)資料固定資產(chǎn)人力資源管理制度工作分析績(jī)效考核資料面試招聘人才測(cè)評(píng)崗位管理職業(yè)規(guī)劃KPI績(jī)效指標(biāo)勞資關(guān)系薪酬激勵(lì)人力資源案例人事表格考勤管理人事制度薪資表格薪資制度招聘面試表格崗位分析員工管理薪酬管理績(jī)效管理入職指引薪酬設(shè)計(jì)績(jī)效管理績(jī)效管理培訓(xùn)績(jī)效管理方案平衡計(jì)分卡績(jī)效評(píng)估績(jī)效考核表格人力資源規(guī)劃安全管理制度經(jīng)營(yíng)管理制度組織機(jī)構(gòu)管理辦公總務(wù)管理財(cái)務(wù)管理制度質(zhì)量管理制度會(huì)計(jì)管理制度代理連鎖制度銷售管理制度倉(cāng)庫(kù)管理制度CI管理制度廣告策劃制度工程管理制度采購(gòu)管理制度生產(chǎn)管理制度進(jìn)出口制度考勤管理制度人事管理制度員工福利制度咨詢?cè)\斷制度信息管理制度員工培訓(xùn)制度辦公室制度人力資源管理企業(yè)培訓(xùn)績(jī)效考核其它
精品推薦
- 1暗促-酒店玫瑰靜悄悄地開(kāi) 410
- 2終端陳列十五大原則 413
- 3專業(yè)廣告運(yùn)作模式 367
- 4****主營(yíng)業(yè)務(wù)發(fā)展戰(zhàn)略設(shè)計(jì) 400
- 5中小企業(yè)物流發(fā)展的對(duì)策 416
- 6主顧開(kāi)拓 521
- 7主動(dòng)推進(jìn)的客戶服務(wù) 366
- 8專業(yè)媒體策劃與購(gòu)買 396
- 9中遠(yuǎn)電視廣告CF 454
下載排行
- 1社會(huì)保障基礎(chǔ)知識(shí)(ppt) 16695
- 2安全生產(chǎn)事故案例分析(ppt 16695
- 3行政專員崗位職責(zé) 16695
- 4品管部崗位職責(zé)與任職要求 16695
- 5員工守則 16695
- 6軟件驗(yàn)收?qǐng)?bào)告 16695
- 7問(wèn)卷調(diào)查表(范例) 16695
- 8工資發(fā)放明細(xì)表 16695
- 9文件簽收單 16695