如何成為一個(gè)好的系統(tǒng)分析員
truely眼中的設(shè)計(jì)定義:設(shè)計(jì)的過程就是將事務(wù)處理抽象成計(jì)算機(jī)模型的過程。
1. 首先要明白設(shè)計(jì)遠(yuǎn)比編程重要。
2. 平時(shí)注重訓(xùn)練自己的思維嚴(yán)謹(jǐn)性和從全局考慮問題的能力。建立冷靜思考問題的處事態(tài)度。
3. 設(shè)計(jì)時(shí)(尤其是數(shù)據(jù)庫設(shè)計(jì)時(shí))不要完全被規(guī)矩約束,設(shè)計(jì)好比作詩,懂得韻律是對(duì)的,但完全被韻 律所束縛,就作不出好詩了。
4. 多做設(shè)計(jì),經(jīng)常總結(jié)自己的不足之處和成功之處,向他人請(qǐng)教。
5. 專門去找別人設(shè)計(jì)的漏洞和不足,也是提高自己設(shè)計(jì)水平的重要手段。
(記住:這個(gè)好方法不要順便外傳,自己知道就行了,嘻嘻-:)
6. 經(jīng)驗(yàn)是重要的,但如果觀念老化而不善于總結(jié)提高,所謂的經(jīng)驗(yàn)就成為束縛自己進(jìn)步的枷鎖。
7. 學(xué)好數(shù)學(xué)特別是理論數(shù)學(xué)如數(shù)學(xué)分析、運(yùn)籌學(xué)、數(shù)學(xué)模型等。多玩策略性經(jīng)營游戲也是有益的。推薦 《帝國時(shí)代》和《模擬首都3000》以及《大富翁4》。(但不要沉陷在里面)
8. 根據(jù)項(xiàng)目情況和開發(fā)平臺(tái)工具的特點(diǎn)確定最佳的設(shè)計(jì)方法。模塊化設(shè)計(jì)方法和面向?qū)ο笤O(shè)計(jì)。兩種設(shè) 計(jì)方法的結(jié)合使用。
9. 將復(fù)雜無序的過程用模塊化的方法進(jìn)行分解,但要注重事務(wù)間的聯(lián)系,并且用開放的眼光去設(shè)計(jì)。
10. 設(shè)計(jì)時(shí)對(duì)嚴(yán)謹(jǐn)性、靈活性、開發(fā)效率、客戶要求四個(gè)方面做衡量取舍。
11. 設(shè)計(jì)時(shí)還要根據(jù)整個(gè)工程的進(jìn)度安排和客戶對(duì)軟件的要求而決定是否設(shè)計(jì)得足夠靈活和嚴(yán)謹(jǐn)。
12. 復(fù)雜而無條理是最糟的設(shè)計(jì),簡單實(shí)用并不一定是最好的,但一定不是最壞的。(不要說我偷懶喲)
13. 訓(xùn)練自己良好的表達(dá)能力,能用清晰明確而且簡單的描述表達(dá)出自己的基本思路。
14. 在一個(gè)項(xiàng)目中建立統(tǒng)一的系統(tǒng)分析模式和文檔模板,同時(shí),一個(gè)項(xiàng)目中必須至少有一個(gè)人對(duì)整個(gè)系統(tǒng) 設(shè)計(jì)進(jìn)行檢查和進(jìn)行全局的考慮。
再談如何成為一個(gè)好的系統(tǒng)分析員?
bylsfboy
系統(tǒng)分析員基本功:
好的系統(tǒng)分析員都是從優(yōu)秀的程序員中產(chǎn)生的,堅(jiān)實(shí)的編程功底、豐富的經(jīng)驗(yàn)是今后做系統(tǒng)分析的基礎(chǔ)。
沒有對(duì)系統(tǒng)本身進(jìn)行過透徹剖析過,很難領(lǐng)會(huì)到其中一些難以言述的精華。但并不等于好的程序員就能夠 成為好的系統(tǒng)分析員。
合理的知識(shí)結(jié)構(gòu)。語言能力、文字表達(dá)能力、技術(shù)的全面性等是對(duì)系統(tǒng)分析員的基本要求。比如說c/s和3 層開發(fā),如果僅僅對(duì)netscape公司的產(chǎn)品熟悉還不夠,還需要了解比如微軟等產(chǎn)品,并且要了解他們中產(chǎn) 生歷史,發(fā)展思路,技術(shù)優(yōu)劣,以應(yīng)付各種窮追猛打的提問。但更重要的是,這是你為應(yīng)用定制技術(shù)要求 的前提。
系統(tǒng)分析員思想:
全局觀念是系統(tǒng)分析員必須具備的觀念。如果系統(tǒng)分析員設(shè)計(jì)時(shí)太注重細(xì)節(jié),往往會(huì)陷入在某個(gè)問題上糾 纏不清的泥潭。(93年,我論文指導(dǎo)老師的一席話影響了我隨后幾年對(duì)軟件開發(fā)的理解----今后計(jì)算機(jī)會(huì) 越來越快,多寫幾行代碼少寫代碼無關(guān)緊要,最重要的是整體;一開始就錯(cuò)了,某個(gè)部份編得再好,也是 沒有用的)
任務(wù)難度的預(yù)測能力
系統(tǒng)分析員要具備快速的任務(wù)難度預(yù)測能力以及具備快速確定開發(fā)小組人員構(gòu)成和任務(wù)劃分的能力。(我 將這條歸為思想,而不是能力)昆蟲自然會(huì)長出翅膀,而思想?yún)s需要長期的浸潤。要做到這點(diǎn),需要大量 的思考、學(xué)習(xí)。設(shè)計(jì)遠(yuǎn)比編程重要。當(dāng)今軟件業(yè)的發(fā)展,各種開發(fā)工具的出現(xiàn),編程已經(jīng)不是什么問題, 程序員的工作某種程度上講是將別人現(xiàn)成的東西拼湊堆砌起來。系統(tǒng)分析員要清楚的認(rèn)識(shí)到,現(xiàn)在大多數(shù) 程序員沒有學(xué)會(huì)怎么去整體的了解一個(gè)系統(tǒng),有些甚至不了解編程(這不是說他們不會(huì)寫代碼)。可視化 的開發(fā)工具加五花八門的控件,程序員可以偷點(diǎn)懶了。(這可不是夸大,我好幾年的管理工作,接觸過大 量的程序員)基于技術(shù),跳出框架。基于現(xiàn)有技術(shù)結(jié)合用戶需求思考問題,設(shè)計(jì)時(shí)跳出框架。
系統(tǒng)分析員思想:
系統(tǒng)分析員要有面向用戶的思想。系統(tǒng)分析員應(yīng)當(dāng)有能力將自己扮演成用戶,來了解要交付的項(xiàng)目看起來 想什么樣式,感覺想什么,從而了解用戶的想法并挑選出合理部份去開發(fā)。從這個(gè)意義上說,系統(tǒng)分析員 才能獲得有意義的見解去引導(dǎo)他的開發(fā)組成員。系統(tǒng)分析員頭腦中要對(duì)項(xiàng)目結(jié)局有一個(gè)清楚的認(rèn)識(shí),并保 證項(xiàng)目不偏離方向。系統(tǒng)分析員要有根植于技術(shù),高于技術(shù)思考問題的思想。純粹的程序員通常對(duì)最終結(jié) 果考慮的不是很多,當(dāng)一種新的技術(shù)在市場上出現(xiàn)時(shí),他們對(duì)能否按時(shí)交付的考慮就比較少,而強(qiáng)烈希望 他們的計(jì)劃能夠建立在新的技術(shù)之上。因此,系統(tǒng)分析員的想法和行動(dòng)要象一個(gè)用戶,又要能夠站在技術(shù) 的高度,成為真正的用戶、程序員之間的代言人。
系統(tǒng)分析員的關(guān)鍵
獲得信任。系統(tǒng)分析員最重要的素質(zhì)是獲得信任,這是成為優(yōu)秀系統(tǒng)分析員的關(guān)鍵。成熟最為關(guān)鍵。成熟 可以為整個(gè)項(xiàng)目組提供正確的支持,能夠理解技術(shù)怎樣才能解決用戶的需求。
系統(tǒng)分析員的準(zhǔn)備工作
統(tǒng)一的各種文檔模式,這其中包括今后軟件變量、字段命名規(guī)則。我推薦用pb制定的規(guī)則做基礎(chǔ),通過改 造成為適合自身實(shí)用的標(biāo)準(zhǔn)。統(tǒng)一的文檔管理。統(tǒng)一的分析軟件。比如說rose(uml太規(guī)范,國內(nèi)的軟件 管理水平根本用不上,只不過盡量應(yīng)用,你自己對(duì)系統(tǒng)分析的理解有好處) 方法是思想的放映,在具體方法上就不多說了。我托人從u$a弄到幾本書,用于面向?qū)ο笙到y(tǒng)開發(fā)的使 用》、《面向?qū)ο蟮姆治觥贰ⅰ俄?xiàng)目管理》等都是很不錯(cuò)的,推薦大家看看。
我在拙作"在中國沒有人懂計(jì)算機(jī)"里發(fā)了點(diǎn)牢騷,聽說挨了部份人(習(xí)慣性的)罵。其實(shí),bbs本來就是 發(fā)泄的地方,在這里從來就罕有有內(nèi)容的文章。
自從"維納斯"登陸深圳后,大家更著眼于從宏觀看中國的it業(yè)了。中國it這棵小樹,說實(shí)在的,長到今天 實(shí)在是不容易。一些人提出了"反對(duì)微軟霸權(quán)"的口號(hào),不少人呼喚中國"硅谷"的出現(xiàn)。微軟的成功不是技 術(shù)的成功,更多的是商業(yè)運(yùn)作的成功。中國it這棵樹能長多高,取決于他所植根于的土壤。而現(xiàn)在的事實(shí)是,這片土壤實(shí)在是太貧瘠了!如果按我們現(xiàn)在的思路和搞法,是長不成大樹,更別指望能結(jié)出"微 軟","硅谷"這樣豐碩的果實(shí)。如果說,我們的軟件技術(shù)落后美國十年,我們的硬件制造技術(shù)則落后美國 二十年,我們的管理水平落后美國至少三十年。而最終決定發(fā)展速率的恰恰是我們的死穴──低劣的管理 水平。低劣的管理水平的形成的原因有著深厚的背景和多方面的原因。
系統(tǒng)分析工作是解決一個(gè)問題的工作,目標(biāo)是將一個(gè)對(duì)計(jì)算機(jī)應(yīng)用系統(tǒng)的需求轉(zhuǎn)化成實(shí)際的物理實(shí)現(xiàn),其中 復(fù)雜就復(fù)雜在實(shí)際的面太多.在系統(tǒng)分析過程之中注意問以下的問題,可能會(huì)所進(jìn)行的系統(tǒng)分析設(shè)計(jì)工作有 幫助.
1)您所完成的系統(tǒng)目的是什么?注意不是功能要求,而是目的.也就是為什么要建設(shè)、為什么要現(xiàn)代建設(shè)。
2)您所完成的系統(tǒng)有哪些方面參與,各方面的初衷是什么?那些人可能在系統(tǒng)建設(shè)中起重要作用,他們 會(huì)采取什么樣的態(tài)度?你對(duì)他們有多少影響力?
3)您的系統(tǒng)是否有一個(gè)明確的評(píng)價(jià)標(biāo)準(zhǔn)?最好從參與的各方面都進(jìn)行考慮。
4)你的系統(tǒng)設(shè)計(jì)思想是什么?是否能夠得到各方面的認(rèn)可。
5)你對(duì)參與系統(tǒng)設(shè)計(jì)開發(fā)的人員了解嗎?他們的特長在哪里,是否愿意與你合作,為什么?你對(duì)他們有 足夠的影響力嗎?
6)你的系統(tǒng)開發(fā)計(jì)劃是否完善?你的計(jì)劃表有明確的階段嗎?任何一階段都應(yīng)該怎樣完成?如何對(duì)這一 階段完成的情況進(jìn)行評(píng)價(jià)?
7)你對(duì)所采用的系統(tǒng)開發(fā)方法以及工具是否熟悉?你的夥伴是否熟悉?
8)你所完成的系統(tǒng)是否有原型?計(jì)算機(jī)的或者物理的。
以上的幾個(gè)問題都是在系統(tǒng)分析以及系統(tǒng)規(guī)劃時(shí)涉及到的,供各位參考。
系統(tǒng)分析工作是解決一個(gè)問題的工作,目標(biāo)是將一個(gè)對(duì)計(jì)算機(jī)應(yīng)用系統(tǒng)的需求轉(zhuǎn)化成實(shí)際的物理實(shí)現(xiàn),其中 復(fù)雜就復(fù)雜在實(shí)際的面太多.在系統(tǒng)分析過程之中注意問以下的問題,可能會(huì)所進(jìn)行的系統(tǒng)分析設(shè)計(jì)工作有幫助
1)您所完成的系統(tǒng)目的是什么?注意不是功能要求,而是目的.也就是為什么要建設(shè)、為什么要現(xiàn)代建設(shè)。在考慮系統(tǒng)目的時(shí),我更多的側(cè)重于系統(tǒng)的最終目標(biāo)考慮,因?yàn)橐粋€(gè)系統(tǒng)不可能一下子完美,為系統(tǒng)留些 余地。
2)您所完成的系統(tǒng)有哪些方面參與,各方面的初衷是什么?那些人可能在系統(tǒng)建設(shè)中起重要作用,他們 會(huì)采取什么樣的態(tài)度?你對(duì)他們有多少影響力?中國it行業(yè)的失敗之一就是人"太年輕",一定要有領(lǐng)導(dǎo)的 支持,否則完蛋。不要認(rèn)為自己對(duì)他們會(huì)有多少影響力,即便有,也要盡可能的認(rèn)為是決策者再影響他 們。在中國,一個(gè)技術(shù)員,你算老幾?說到這里我很悲哀。哪些人在系統(tǒng)中起重要作用并弄清楚他們的態(tài) 度,這點(diǎn)十分關(guān)鍵。
3)您的系統(tǒng)是否有一個(gè)明確的評(píng)價(jià)標(biāo)準(zhǔn)?最好從參與的各方面都進(jìn)行考慮。不知道這樣說對(duì)不對(duì),在系 統(tǒng)建設(shè)之前,對(duì)你的程序員、對(duì)你的領(lǐng)導(dǎo)要有至少不同的兩種評(píng)價(jià)。
4)你的系統(tǒng)設(shè)計(jì)思想是什么?是否能夠得到各方面的認(rèn)可。如果高明,對(duì)領(lǐng)導(dǎo)、對(duì)程序員都采用引導(dǎo), 得到認(rèn)可的最好辦法,就是讓他們認(rèn)可他們自己的想法。(我力圖這樣做,但做得不好,系統(tǒng)分析員有一 點(diǎn)要學(xué)會(huì)韜光養(yǎng)晦,忍)
5)你對(duì)參與系統(tǒng)設(shè)計(jì)開發(fā)的人員了解嗎?他們的特長在哪里,是否愿意與你合作,為什么?你對(duì)他們有 足夠的影響力嗎?軟件發(fā)展到一定的程度,不是編程,不是數(shù)學(xué),而是管理。
6)你的系統(tǒng)開發(fā)計(jì)劃是否完善?你的計(jì)劃表有明確的階段嗎?任何一階段都應(yīng)該怎樣完成?如何對(duì)這一 階段完成的情況進(jìn)行評(píng)價(jià)?
7)你對(duì)所采用的系統(tǒng)開發(fā)方法以及工具是否熟悉?你的夥伴是否熟悉?事實(shí)上,不是每種好的工具都要 使用,也并不一定都要他們熟練掌握。提醒諸位一句,當(dāng)你將方案做得可以不依賴某個(gè)程序員,你在程序 員面前就無信任可言,因?yàn)閺拇顺绦騿T將受到更大的生存壓力。我堅(jiān)決不在公司使用rose。
8)你所完成的系統(tǒng)是否有原型?計(jì)算機(jī)的或者物理的。
以上的幾個(gè)問題都是在系統(tǒng)分析以及系統(tǒng)規(guī)劃時(shí)涉及到的,供各位參考。
這文章很好,我的話是:"需求分析實(shí)際應(yīng)該是問題分析"。含義是系統(tǒng)要解決的是問題。而不是用戶提出 的需求。經(jīng)常發(fā)現(xiàn)系統(tǒng)完成后,客戶說"我的問題還沒有解決"。可是,需求分析稿上的目標(biāo)都搞定了。
既然是問題分析,所以,熟悉目標(biāo)系統(tǒng)的知識(shí)就是必要的。甚至,可以說,一個(gè)好的系統(tǒng)分析員也應(yīng)該是 好的業(yè)務(wù)專家。
我很高興在這里遇到許多分析高手,可以交流分析中的問題。我贊同從來的觀點(diǎn)。在中國作分析重要的是 人氣,因?yàn)橹袊钠髽I(yè)級(jí)信息系統(tǒng)的建設(shè)在很大程度上可以說并非確有需求,而是迫于某種壓力。用戶在 很多時(shí)候考慮的不是系統(tǒng)的長遠(yuǎn)發(fā)展,而只是短期的成果,要求開發(fā)單位在很短的時(shí)間內(nèi)完成一個(gè)很大的 系統(tǒng)的開發(fā),沒有時(shí)間對(duì)系統(tǒng)進(jìn)行周密的分析,在這種情況下,很多開發(fā)商就會(huì)粗分析,粗設(shè)計(jì),盡快進(jìn) 入編碼階段,這樣的系統(tǒng)的生命周期肯定不會(huì)很長。說了這么多,只是想說,系統(tǒng)分析員確實(shí)應(yīng)是業(yè)務(wù)和 管理專家,并且需要有很好的語言組織能力,他需要根據(jù)問題域中存在的問題去盡力說服用戶,引導(dǎo)用戶 需求,畢竟,我們是專家,如果讓用戶牽著鼻子走,系統(tǒng)不會(huì)是成功的系統(tǒng)。(當(dāng)然了,這要建立在用戶 是可引導(dǎo)的前提下)本人拙見。
在理解和分析用戶的需求時(shí),應(yīng)說服用戶明白:建立計(jì)算機(jī)應(yīng)用系統(tǒng)并不是簡單地用計(jì)算機(jī)代替手工勞
作,它更應(yīng)該是管理思想的一次革命,是現(xiàn)用戶模式的一次升華和提高。如果系統(tǒng)不能高于現(xiàn)實(shí),開發(fā)的系統(tǒng)將長期陷入需求的反復(fù)修改,其軟件的生命周期也短了。
針對(duì)我對(duì)您的問題的理解,試著作如下一般性/理論性的回復(fù):
需求分析(您可以采用usecasedriven的方法進(jìn)行需求分析)在明確需求分析的基礎(chǔ)上,確定需要采用的系統(tǒng)分析方法(結(jié)構(gòu)化/面向?qū)ο?構(gòu)件式)應(yīng)用您的開發(fā)團(tuán)隊(duì)所確定采用的分析/設(shè)計(jì)方法,進(jìn)行系統(tǒng)分析.根據(jù)您所采用的分析方法,依次或反復(fù)進(jìn)行系統(tǒng)設(shè)計(jì)/建模.
truely眼中的設(shè)計(jì)定義:設(shè)計(jì)的過程就是將事務(wù)處理抽象成計(jì)算機(jī)模型的過程。
1. 首先要明白設(shè)計(jì)遠(yuǎn)比編程重要。
2. 平時(shí)注重訓(xùn)練自己的思維嚴(yán)謹(jǐn)性和從全局考慮問題的能力。建立冷靜思考問題的處事態(tài)度。
3. 設(shè)計(jì)時(shí)(尤其是數(shù)據(jù)庫設(shè)計(jì)時(shí))不要完全被規(guī)矩約束,設(shè)計(jì)好比作詩,懂得韻律是對(duì)的,但完全被韻 律所束縛,就作不出好詩了。
4. 多做設(shè)計(jì),經(jīng)常總結(jié)自己的不足之處和成功之處,向他人請(qǐng)教。
5. 專門去找別人設(shè)計(jì)的漏洞和不足,也是提高自己設(shè)計(jì)水平的重要手段。
(記住:這個(gè)好方法不要順便外傳,自己知道就行了,嘻嘻-:)
6. 經(jīng)驗(yàn)是重要的,但如果觀念老化而不善于總結(jié)提高,所謂的經(jīng)驗(yàn)就成為束縛自己進(jìn)步的枷鎖。
7. 學(xué)好數(shù)學(xué)特別是理論數(shù)學(xué)如數(shù)學(xué)分析、運(yùn)籌學(xué)、數(shù)學(xué)模型等。多玩策略性經(jīng)營游戲也是有益的。推薦 《帝國時(shí)代》和《模擬首都3000》以及《大富翁4》。(但不要沉陷在里面)
8. 根據(jù)項(xiàng)目情況和開發(fā)平臺(tái)工具的特點(diǎn)確定最佳的設(shè)計(jì)方法。模塊化設(shè)計(jì)方法和面向?qū)ο笤O(shè)計(jì)。兩種設(shè) 計(jì)方法的結(jié)合使用。
9. 將復(fù)雜無序的過程用模塊化的方法進(jìn)行分解,但要注重事務(wù)間的聯(lián)系,并且用開放的眼光去設(shè)計(jì)。
10. 設(shè)計(jì)時(shí)對(duì)嚴(yán)謹(jǐn)性、靈活性、開發(fā)效率、客戶要求四個(gè)方面做衡量取舍。
11. 設(shè)計(jì)時(shí)還要根據(jù)整個(gè)工程的進(jìn)度安排和客戶對(duì)軟件的要求而決定是否設(shè)計(jì)得足夠靈活和嚴(yán)謹(jǐn)。
12. 復(fù)雜而無條理是最糟的設(shè)計(jì),簡單實(shí)用并不一定是最好的,但一定不是最壞的。(不要說我偷懶喲)
13. 訓(xùn)練自己良好的表達(dá)能力,能用清晰明確而且簡單的描述表達(dá)出自己的基本思路。
14. 在一個(gè)項(xiàng)目中建立統(tǒng)一的系統(tǒng)分析模式和文檔模板,同時(shí),一個(gè)項(xiàng)目中必須至少有一個(gè)人對(duì)整個(gè)系統(tǒng) 設(shè)計(jì)進(jìn)行檢查和進(jìn)行全局的考慮。
再談如何成為一個(gè)好的系統(tǒng)分析員?
bylsfboy
系統(tǒng)分析員基本功:
好的系統(tǒng)分析員都是從優(yōu)秀的程序員中產(chǎn)生的,堅(jiān)實(shí)的編程功底、豐富的經(jīng)驗(yàn)是今后做系統(tǒng)分析的基礎(chǔ)。
沒有對(duì)系統(tǒng)本身進(jìn)行過透徹剖析過,很難領(lǐng)會(huì)到其中一些難以言述的精華。但并不等于好的程序員就能夠 成為好的系統(tǒng)分析員。
合理的知識(shí)結(jié)構(gòu)。語言能力、文字表達(dá)能力、技術(shù)的全面性等是對(duì)系統(tǒng)分析員的基本要求。比如說c/s和3 層開發(fā),如果僅僅對(duì)netscape公司的產(chǎn)品熟悉還不夠,還需要了解比如微軟等產(chǎn)品,并且要了解他們中產(chǎn) 生歷史,發(fā)展思路,技術(shù)優(yōu)劣,以應(yīng)付各種窮追猛打的提問。但更重要的是,這是你為應(yīng)用定制技術(shù)要求 的前提。
系統(tǒng)分析員思想:
全局觀念是系統(tǒng)分析員必須具備的觀念。如果系統(tǒng)分析員設(shè)計(jì)時(shí)太注重細(xì)節(jié),往往會(huì)陷入在某個(gè)問題上糾 纏不清的泥潭。(93年,我論文指導(dǎo)老師的一席話影響了我隨后幾年對(duì)軟件開發(fā)的理解----今后計(jì)算機(jī)會(huì) 越來越快,多寫幾行代碼少寫代碼無關(guān)緊要,最重要的是整體;一開始就錯(cuò)了,某個(gè)部份編得再好,也是 沒有用的)
任務(wù)難度的預(yù)測能力
系統(tǒng)分析員要具備快速的任務(wù)難度預(yù)測能力以及具備快速確定開發(fā)小組人員構(gòu)成和任務(wù)劃分的能力。(我 將這條歸為思想,而不是能力)昆蟲自然會(huì)長出翅膀,而思想?yún)s需要長期的浸潤。要做到這點(diǎn),需要大量 的思考、學(xué)習(xí)。設(shè)計(jì)遠(yuǎn)比編程重要。當(dāng)今軟件業(yè)的發(fā)展,各種開發(fā)工具的出現(xiàn),編程已經(jīng)不是什么問題, 程序員的工作某種程度上講是將別人現(xiàn)成的東西拼湊堆砌起來。系統(tǒng)分析員要清楚的認(rèn)識(shí)到,現(xiàn)在大多數(shù) 程序員沒有學(xué)會(huì)怎么去整體的了解一個(gè)系統(tǒng),有些甚至不了解編程(這不是說他們不會(huì)寫代碼)。可視化 的開發(fā)工具加五花八門的控件,程序員可以偷點(diǎn)懶了。(這可不是夸大,我好幾年的管理工作,接觸過大 量的程序員)基于技術(shù),跳出框架。基于現(xiàn)有技術(shù)結(jié)合用戶需求思考問題,設(shè)計(jì)時(shí)跳出框架。
系統(tǒng)分析員思想:
系統(tǒng)分析員要有面向用戶的思想。系統(tǒng)分析員應(yīng)當(dāng)有能力將自己扮演成用戶,來了解要交付的項(xiàng)目看起來 想什么樣式,感覺想什么,從而了解用戶的想法并挑選出合理部份去開發(fā)。從這個(gè)意義上說,系統(tǒng)分析員 才能獲得有意義的見解去引導(dǎo)他的開發(fā)組成員。系統(tǒng)分析員頭腦中要對(duì)項(xiàng)目結(jié)局有一個(gè)清楚的認(rèn)識(shí),并保 證項(xiàng)目不偏離方向。系統(tǒng)分析員要有根植于技術(shù),高于技術(shù)思考問題的思想。純粹的程序員通常對(duì)最終結(jié) 果考慮的不是很多,當(dāng)一種新的技術(shù)在市場上出現(xiàn)時(shí),他們對(duì)能否按時(shí)交付的考慮就比較少,而強(qiáng)烈希望 他們的計(jì)劃能夠建立在新的技術(shù)之上。因此,系統(tǒng)分析員的想法和行動(dòng)要象一個(gè)用戶,又要能夠站在技術(shù) 的高度,成為真正的用戶、程序員之間的代言人。
系統(tǒng)分析員的關(guān)鍵
獲得信任。系統(tǒng)分析員最重要的素質(zhì)是獲得信任,這是成為優(yōu)秀系統(tǒng)分析員的關(guān)鍵。成熟最為關(guān)鍵。成熟 可以為整個(gè)項(xiàng)目組提供正確的支持,能夠理解技術(shù)怎樣才能解決用戶的需求。
系統(tǒng)分析員的準(zhǔn)備工作
統(tǒng)一的各種文檔模式,這其中包括今后軟件變量、字段命名規(guī)則。我推薦用pb制定的規(guī)則做基礎(chǔ),通過改 造成為適合自身實(shí)用的標(biāo)準(zhǔn)。統(tǒng)一的文檔管理。統(tǒng)一的分析軟件。比如說rose(uml太規(guī)范,國內(nèi)的軟件 管理水平根本用不上,只不過盡量應(yīng)用,你自己對(duì)系統(tǒng)分析的理解有好處) 方法是思想的放映,在具體方法上就不多說了。我托人從u$a弄到幾本書,用于面向?qū)ο笙到y(tǒng)開發(fā)的使 用》、《面向?qū)ο蟮姆治觥贰ⅰ俄?xiàng)目管理》等都是很不錯(cuò)的,推薦大家看看。
我在拙作"在中國沒有人懂計(jì)算機(jī)"里發(fā)了點(diǎn)牢騷,聽說挨了部份人(習(xí)慣性的)罵。其實(shí),bbs本來就是 發(fā)泄的地方,在這里從來就罕有有內(nèi)容的文章。
自從"維納斯"登陸深圳后,大家更著眼于從宏觀看中國的it業(yè)了。中國it這棵小樹,說實(shí)在的,長到今天 實(shí)在是不容易。一些人提出了"反對(duì)微軟霸權(quán)"的口號(hào),不少人呼喚中國"硅谷"的出現(xiàn)。微軟的成功不是技 術(shù)的成功,更多的是商業(yè)運(yùn)作的成功。中國it這棵樹能長多高,取決于他所植根于的土壤。而現(xiàn)在的事實(shí)是,這片土壤實(shí)在是太貧瘠了!如果按我們現(xiàn)在的思路和搞法,是長不成大樹,更別指望能結(jié)出"微 軟","硅谷"這樣豐碩的果實(shí)。如果說,我們的軟件技術(shù)落后美國十年,我們的硬件制造技術(shù)則落后美國 二十年,我們的管理水平落后美國至少三十年。而最終決定發(fā)展速率的恰恰是我們的死穴──低劣的管理 水平。低劣的管理水平的形成的原因有著深厚的背景和多方面的原因。
系統(tǒng)分析工作是解決一個(gè)問題的工作,目標(biāo)是將一個(gè)對(duì)計(jì)算機(jī)應(yīng)用系統(tǒng)的需求轉(zhuǎn)化成實(shí)際的物理實(shí)現(xiàn),其中 復(fù)雜就復(fù)雜在實(shí)際的面太多.在系統(tǒng)分析過程之中注意問以下的問題,可能會(huì)所進(jìn)行的系統(tǒng)分析設(shè)計(jì)工作有 幫助.
1)您所完成的系統(tǒng)目的是什么?注意不是功能要求,而是目的.也就是為什么要建設(shè)、為什么要現(xiàn)代建設(shè)。
2)您所完成的系統(tǒng)有哪些方面參與,各方面的初衷是什么?那些人可能在系統(tǒng)建設(shè)中起重要作用,他們 會(huì)采取什么樣的態(tài)度?你對(duì)他們有多少影響力?
3)您的系統(tǒng)是否有一個(gè)明確的評(píng)價(jià)標(biāo)準(zhǔn)?最好從參與的各方面都進(jìn)行考慮。
4)你的系統(tǒng)設(shè)計(jì)思想是什么?是否能夠得到各方面的認(rèn)可。
5)你對(duì)參與系統(tǒng)設(shè)計(jì)開發(fā)的人員了解嗎?他們的特長在哪里,是否愿意與你合作,為什么?你對(duì)他們有 足夠的影響力嗎?
6)你的系統(tǒng)開發(fā)計(jì)劃是否完善?你的計(jì)劃表有明確的階段嗎?任何一階段都應(yīng)該怎樣完成?如何對(duì)這一 階段完成的情況進(jìn)行評(píng)價(jià)?
7)你對(duì)所采用的系統(tǒng)開發(fā)方法以及工具是否熟悉?你的夥伴是否熟悉?
8)你所完成的系統(tǒng)是否有原型?計(jì)算機(jī)的或者物理的。
以上的幾個(gè)問題都是在系統(tǒng)分析以及系統(tǒng)規(guī)劃時(shí)涉及到的,供各位參考。
系統(tǒng)分析工作是解決一個(gè)問題的工作,目標(biāo)是將一個(gè)對(duì)計(jì)算機(jī)應(yīng)用系統(tǒng)的需求轉(zhuǎn)化成實(shí)際的物理實(shí)現(xiàn),其中 復(fù)雜就復(fù)雜在實(shí)際的面太多.在系統(tǒng)分析過程之中注意問以下的問題,可能會(huì)所進(jìn)行的系統(tǒng)分析設(shè)計(jì)工作有幫助
1)您所完成的系統(tǒng)目的是什么?注意不是功能要求,而是目的.也就是為什么要建設(shè)、為什么要現(xiàn)代建設(shè)。在考慮系統(tǒng)目的時(shí),我更多的側(cè)重于系統(tǒng)的最終目標(biāo)考慮,因?yàn)橐粋€(gè)系統(tǒng)不可能一下子完美,為系統(tǒng)留些 余地。
2)您所完成的系統(tǒng)有哪些方面參與,各方面的初衷是什么?那些人可能在系統(tǒng)建設(shè)中起重要作用,他們 會(huì)采取什么樣的態(tài)度?你對(duì)他們有多少影響力?中國it行業(yè)的失敗之一就是人"太年輕",一定要有領(lǐng)導(dǎo)的 支持,否則完蛋。不要認(rèn)為自己對(duì)他們會(huì)有多少影響力,即便有,也要盡可能的認(rèn)為是決策者再影響他 們。在中國,一個(gè)技術(shù)員,你算老幾?說到這里我很悲哀。哪些人在系統(tǒng)中起重要作用并弄清楚他們的態(tài) 度,這點(diǎn)十分關(guān)鍵。
3)您的系統(tǒng)是否有一個(gè)明確的評(píng)價(jià)標(biāo)準(zhǔn)?最好從參與的各方面都進(jìn)行考慮。不知道這樣說對(duì)不對(duì),在系 統(tǒng)建設(shè)之前,對(duì)你的程序員、對(duì)你的領(lǐng)導(dǎo)要有至少不同的兩種評(píng)價(jià)。
4)你的系統(tǒng)設(shè)計(jì)思想是什么?是否能夠得到各方面的認(rèn)可。如果高明,對(duì)領(lǐng)導(dǎo)、對(duì)程序員都采用引導(dǎo), 得到認(rèn)可的最好辦法,就是讓他們認(rèn)可他們自己的想法。(我力圖這樣做,但做得不好,系統(tǒng)分析員有一 點(diǎn)要學(xué)會(huì)韜光養(yǎng)晦,忍)
5)你對(duì)參與系統(tǒng)設(shè)計(jì)開發(fā)的人員了解嗎?他們的特長在哪里,是否愿意與你合作,為什么?你對(duì)他們有 足夠的影響力嗎?軟件發(fā)展到一定的程度,不是編程,不是數(shù)學(xué),而是管理。
6)你的系統(tǒng)開發(fā)計(jì)劃是否完善?你的計(jì)劃表有明確的階段嗎?任何一階段都應(yīng)該怎樣完成?如何對(duì)這一 階段完成的情況進(jìn)行評(píng)價(jià)?
7)你對(duì)所采用的系統(tǒng)開發(fā)方法以及工具是否熟悉?你的夥伴是否熟悉?事實(shí)上,不是每種好的工具都要 使用,也并不一定都要他們熟練掌握。提醒諸位一句,當(dāng)你將方案做得可以不依賴某個(gè)程序員,你在程序 員面前就無信任可言,因?yàn)閺拇顺绦騿T將受到更大的生存壓力。我堅(jiān)決不在公司使用rose。
8)你所完成的系統(tǒng)是否有原型?計(jì)算機(jī)的或者物理的。
以上的幾個(gè)問題都是在系統(tǒng)分析以及系統(tǒng)規(guī)劃時(shí)涉及到的,供各位參考。
這文章很好,我的話是:"需求分析實(shí)際應(yīng)該是問題分析"。含義是系統(tǒng)要解決的是問題。而不是用戶提出 的需求。經(jīng)常發(fā)現(xiàn)系統(tǒng)完成后,客戶說"我的問題還沒有解決"。可是,需求分析稿上的目標(biāo)都搞定了。
既然是問題分析,所以,熟悉目標(biāo)系統(tǒng)的知識(shí)就是必要的。甚至,可以說,一個(gè)好的系統(tǒng)分析員也應(yīng)該是 好的業(yè)務(wù)專家。
我很高興在這里遇到許多分析高手,可以交流分析中的問題。我贊同從來的觀點(diǎn)。在中國作分析重要的是 人氣,因?yàn)橹袊钠髽I(yè)級(jí)信息系統(tǒng)的建設(shè)在很大程度上可以說并非確有需求,而是迫于某種壓力。用戶在 很多時(shí)候考慮的不是系統(tǒng)的長遠(yuǎn)發(fā)展,而只是短期的成果,要求開發(fā)單位在很短的時(shí)間內(nèi)完成一個(gè)很大的 系統(tǒng)的開發(fā),沒有時(shí)間對(duì)系統(tǒng)進(jìn)行周密的分析,在這種情況下,很多開發(fā)商就會(huì)粗分析,粗設(shè)計(jì),盡快進(jìn) 入編碼階段,這樣的系統(tǒng)的生命周期肯定不會(huì)很長。說了這么多,只是想說,系統(tǒng)分析員確實(shí)應(yīng)是業(yè)務(wù)和 管理專家,并且需要有很好的語言組織能力,他需要根據(jù)問題域中存在的問題去盡力說服用戶,引導(dǎo)用戶 需求,畢竟,我們是專家,如果讓用戶牽著鼻子走,系統(tǒng)不會(huì)是成功的系統(tǒng)。(當(dāng)然了,這要建立在用戶 是可引導(dǎo)的前提下)本人拙見。
在理解和分析用戶的需求時(shí),應(yīng)說服用戶明白:建立計(jì)算機(jī)應(yīng)用系統(tǒng)并不是簡單地用計(jì)算機(jī)代替手工勞
作,它更應(yīng)該是管理思想的一次革命,是現(xiàn)用戶模式的一次升華和提高。如果系統(tǒng)不能高于現(xiàn)實(shí),開發(fā)的系統(tǒng)將長期陷入需求的反復(fù)修改,其軟件的生命周期也短了。
針對(duì)我對(duì)您的問題的理解,試著作如下一般性/理論性的回復(fù):
需求分析(您可以采用usecasedriven的方法進(jìn)行需求分析)在明確需求分析的基礎(chǔ)上,確定需要采用的系統(tǒng)分析方法(結(jié)構(gòu)化/面向?qū)ο?構(gòu)件式)應(yīng)用您的開發(fā)團(tuán)隊(duì)所確定采用的分析/設(shè)計(jì)方法,進(jìn)行系統(tǒng)分析.根據(jù)您所采用的分析方法,依次或反復(fù)進(jìn)行系統(tǒng)設(shè)計(jì)/建模.