1、系統(tǒng)分析是什么?
系統(tǒng)分析工作是解決一個問題的工作,目標(biāo)是將一個對計算機應(yīng)用系統(tǒng)的需求轉(zhuǎn)化成實際的物理實現(xiàn),其中復(fù)雜就復(fù)雜在實際的面太多.在系統(tǒng)分析過程之中注意問以下的問題,可能會所進行的系統(tǒng)分析設(shè)計工作有幫助。
1)您所完成的系統(tǒng)目的是什么?注意不是功能要求,而是目的.也就是為什么要建設(shè)、為什么要現(xiàn)代建設(shè)。
2)您所完成的系統(tǒng)有哪些方面參與,各方面的初衷是什么?那些人可能在系統(tǒng)建設(shè)中起重要作用,他們會采取什么樣的態(tài)度?你對他們有多少影響力?
3)您的系統(tǒng)是否有一個明確的評價標(biāo)準(zhǔn)?最好從參與的各方面都進行考慮。
4)你的系統(tǒng)設(shè)計思想是什么?是否能夠得到各方面的認可。
5)你對參與系統(tǒng)設(shè)計開發(fā)的人員了解嗎?他們的特長在哪里,是否愿意與你合作,為什么?你對他們有足夠的影響力嗎?
6)你的系統(tǒng)開發(fā)計劃是否完善?你的計劃表有明確的階段嗎?任何一階段都應(yīng)該怎樣完成?如何對這一階段完成的情況進行評價?
7)你對所采用的系統(tǒng)開發(fā)方法以及工具是否熟悉?你的伙伴是否熟悉?
8)你所完成的系統(tǒng)是否有原型?計算機的或者物理的。
以上的幾個問題都是在系統(tǒng)分析以及系統(tǒng)規(guī)劃時涉及到的,供各位參考。
“需求分析實際應(yīng)該是問題分析”。我們的軟件系統(tǒng)要解決的是問題。而不是用戶提出的需求。經(jīng)常發(fā)現(xiàn)系統(tǒng)完成后,客戶說“我的問題還沒有解決“。可是,需求分析稿上的目標(biāo)都搞定了。
既然是問題分析,所以,熟悉目標(biāo)系統(tǒng)的知識就是必要的。甚至,可以說,一個好的系統(tǒng)分析員也應(yīng)該是好的業(yè)務(wù)專家。
在中國作分析重要的是人氣,因為中國的企業(yè)級信息系統(tǒng)的建設(shè)在很大程度上可以說并非確有需求,而是迫于某種壓力。用戶在很多時候考
慮的不是系統(tǒng)的長遠發(fā)展,而只是短期的成果,要求開發(fā)單位在很短的時間內(nèi)完成一個很大的系統(tǒng)的開發(fā),沒有時間對系統(tǒng)進行周密的分析,在這種情況下,很多開
發(fā)商就會粗分析,粗設(shè)計,盡快進入編碼階段,這樣的系統(tǒng)的生命周期肯定不會很長。說了這么多,只是想說,系統(tǒng)分析員確實應(yīng)是業(yè)務(wù)和管理專家,并且需要有很
好的語言組織能力,他需要根據(jù)問題域中存在的問題去盡力說服用戶,引導(dǎo)用戶需求,畢竟,我們是專家,如果讓用戶牽著鼻子走,系統(tǒng)不會是成功的系統(tǒng)。(當(dāng)然
了,這要建立在用戶是可引導(dǎo)的前提下)
2、基本素質(zhì)
a、系統(tǒng)分析員基本功
好的系統(tǒng)分析員都是從優(yōu)秀的程序員中產(chǎn)生的,堅實的編程功底、豐富的經(jīng)驗是今后做系統(tǒng)分析的基礎(chǔ)。
沒有對系統(tǒng)本身進行過透徹剖析過,很難領(lǐng)會到其中一些難以言述的精華。但并不等于好的程序員就能夠成為好的系統(tǒng)分析員。
合理的知識結(jié)構(gòu)。語言能力、文字表達能力、技術(shù)的全面性等是對系統(tǒng)分析員的基本要求。比如說c/s和3層開發(fā),如果僅僅對
netscape公司的產(chǎn)品熟悉還不夠,還需要了解比如微軟等產(chǎn)品,并且要了解他們中產(chǎn)生歷史,發(fā)展思路,技術(shù)優(yōu)劣,以應(yīng)付各種窮追猛打的提問。但更重要
的是,這是你為應(yīng)用定制技術(shù)要求的前提。
?
b、任務(wù)難度的預(yù)測能力
系統(tǒng)分析員要具備快速的任務(wù)難度預(yù)測能力以及具備快速確定開發(fā)小組人員構(gòu)成和任務(wù)劃分的能力。(我將這條歸為思想,而不是能力)昆
蟲自然會長出翅膀,而思想?yún)s需要長期的浸潤。要做到這點,需要大量的思考、學(xué)習(xí)。設(shè)計遠比編程重要。當(dāng)今軟件業(yè)的發(fā)展,各種開發(fā)工具的出現(xiàn),編程已經(jīng)不是
什么問題,
程序員的工作某種程度上講是將別人現(xiàn)成的東西拼湊堆砌起來。系統(tǒng)分析員要清楚的認識到,現(xiàn)在大多數(shù)程序員沒有學(xué)會怎么去整體的了解
一個系統(tǒng),有些甚至不了解編程(這不是說他們不會寫代碼)。可視化的開發(fā)工具加五花八門的控件,程序員可以偷點懶了。(這可不是夸大,我好幾年的管理工
作,接觸過大量的程序員)基于技術(shù),跳出框架。基于現(xiàn)有技術(shù)結(jié)合用戶需求思考問題,設(shè)計時跳出框架。?
c、系統(tǒng)分析員思想
系統(tǒng)分析員要有面向用戶的思想。系統(tǒng)分析員應(yīng)當(dāng)有能力將自己扮演成用戶,來了解要交付的項目看起來想什么樣式,感覺想什么,從而了
解用戶的想法并挑選出合理部份去開發(fā)。從這個意義上說,系統(tǒng)分析員才能獲得有意義的見解去引導(dǎo)他的開發(fā)組成員。系統(tǒng)分析員頭腦中要對項目結(jié)局有一個清楚的
認識,并保證項目不偏離方向。系統(tǒng)分析員要有根植于技術(shù),高于技術(shù)思考問題的思想。純粹的程序員通常對最終結(jié)果考慮的不是很多,當(dāng)一種新的技術(shù)在市場上出
現(xiàn)時,他們對能否按時交付的考慮就比較少,而強烈希望他們的計劃能夠建立在新的技術(shù)之上。因此,系統(tǒng)分析員的想法和行動要象一個用戶,又要能夠站在技術(shù)的
高度,成為真正的用戶、程序員之間的代言人。
??
d、系統(tǒng)分析員的關(guān)鍵
獲得信任。系統(tǒng)分析員最重要的素質(zhì)是獲得信任,這是成為優(yōu)秀系統(tǒng)分析員的關(guān)鍵。成熟最為關(guān)鍵。成熟可以為整個項目組提供正確的支持,能夠理解技術(shù)怎樣才能解決用戶的需求。
3、葵花寶典
設(shè)計的過程就是將事務(wù)處理抽象成計算機模型的過程
1. 首先要明白設(shè)計遠比編程重要。
2. 平時注重訓(xùn)練自己的思維嚴(yán)謹(jǐn)性和從全局考慮問題的能力。建立冷靜思考問題的處事態(tài)度。
3. 設(shè)計時(尤其是數(shù)據(jù)庫設(shè)計時)不要完全被規(guī)矩約束,設(shè)計好比作詩,懂得韻律是對的,但完全被韻律所束縛,就作不出好詩了。
4. 多做設(shè)計,經(jīng)常總結(jié)自己的不足之處和成功之處,向他人請教。
5. 專門去找別人設(shè)計的漏洞和不足,也是提高自己設(shè)計水平的重要手段。
6. 經(jīng)驗是重要的,但如果觀念老化而不善于總結(jié)提高,所謂的經(jīng)驗就成為束縛自己進步的枷鎖。
7. 學(xué)好數(shù)學(xué)特別是理論數(shù)學(xué)如數(shù)學(xué)分析、運籌學(xué)、數(shù)學(xué)模型等。多玩策略性經(jīng)營游戲也是有益的。推薦《帝國時代》和《模擬首都3000》以及《大富翁》。(但不要沉陷在里面)
8. 根據(jù)項目情況和開發(fā)平臺工具的特點確定最佳的設(shè)計方法。模塊化設(shè)計方法和面向?qū)ο笤O(shè)計。兩種設(shè)計方法的結(jié)合使用。
9. 將復(fù)雜無序的過程用模塊化的方法進行分解,但要注重事務(wù)間的聯(lián)系,并且用開放的眼光去設(shè)計。
10. 設(shè)計時對嚴(yán)謹(jǐn)性、靈活性、開發(fā)效率、客戶要求四個方面做衡量取舍。
11. 設(shè)計時還要根據(jù)整個工程的進度安排和客戶對軟件的要求而決定是否設(shè)計得足夠靈活和嚴(yán)謹(jǐn)。
12. 復(fù)雜而無條理是最糟的設(shè)計,簡單實用并不一定是最好的,但一定不是最壞的。
13. 訓(xùn)練自己良好的表達能力,能用清晰明確而且簡單的描述表達出自己的基本思路。
14. 在一個項目中建立統(tǒng)一的系統(tǒng)分析模式和文檔模板,這其中包括今后軟件變量、字段命名規(guī)則等。同時,一個項目中必須至少有一個人對整個系統(tǒng)設(shè)計進行檢查和進行全局的考慮。
http://www.sawin.cn/doc/SA/SATech/blueski1178.htm