天天看點

如何成為好的系統分析員

基本功

好的系統分析員都是從優秀的程式員中産生的,堅實的程式設計功底、豐富的經驗是今後做系統分析的基礎。

其實在大學的時候我們就應該夯打基礎,現在工作之才深深的感到,是以讀研期間就惡補基礎的東西。

沒有對系統本身進行過透徹剖析過,很難領會到其中一些難以言述的精華。但并不等于好的程式員就能夠成為好的系統分析員。

合理的知識結構。語言能力、文字表達能力、技術的全面性等是對系統分析員的基本要求。比如說c/s和3 層開發,如果僅僅對Netscape公司的産品熟悉還不夠,還需要了解比如微軟等産品,并且要了解他們中産生曆史,發展思路,技術優劣,以應付各種窮追猛打的提問。但更重要的是,這是你為應用定制技術要求的前提。

思想

  全局觀念是系統分析員必須具備的觀念。如果系統分析員設計時太注重細節,往往會陷入在某個問題上糾纏不清的泥潭,系統分析員要有面向使用者的思想。系統分析員應當有能力将自己扮演成使用者,來了解要傳遞的項目看起來想什麼樣式,感覺想什麼,進而了解使用者的想法并挑選出合理部份去開發。從這個意義上說,系統分析員才能獲得有意義的見解去引導他的開發組成員。系統分析員頭腦中要對項目結局有一個清楚的認識,并保證項目不偏離方向。系統分析員要有根植于技術,高于技術思考問題的思想。純粹的程式員通常對最終結果考慮的不是很多,當一種新的技術在市場上出現時,他們對能否按時傳遞的考慮就比較少,而強烈希望他們的計劃能夠建立在新的技術之上。是以,系統分析員的想法和行動要像一個使用者,又要能夠站在技術的高度,成為真正的使用者、程式員之間的代言人。

任務難度的預測能力

系統分析員要具備快速的任務難度預測能力以及具備快速确定開發小組人員構成和任務劃分的能力。昆蟲自然會長出翅膀,而思想卻需要長期的浸潤。要做到這點,需要大量的思考、學習。設計遠比程式設計重要。當今軟體業的發展,各種開發工具的出現,程式設計已經不是什麼問題,程式員的工作某種程度上講是将别人現成的東西拼湊堆砌起來。系統分析員要清楚的認識到,現在大多數程式員沒有學會怎麼去整體的了解一個系統,有些甚至不了解程式設計(這不是說他們不會寫代碼)。可視化的開發工具加五花八門的控件,程式員可以偷點懶了,基于技術,跳出架構。基于現有技術結合使用者需求思考問題,設計時跳出架構。

關鍵

  獲得信任。系統分析員最重要的素質是獲得信任,這是成為優秀系統分析員的關鍵。成熟最為關鍵。成熟可以為整個項目組提供正确的支援,能夠了解技術怎樣才能解決使用者的需求。

準備工作

統一的各種文檔模式,這其中包括今後軟體變量、字段命名規則。我推薦用 Java 制定的規則做基礎,通過改造成為适合自身實用的标準。統一的文檔管理。統一的分析軟體。比如說rose(UML太規範,國内的軟體管理水準根本用不上,隻不過盡量應用,你自己對系統分析的了解有好處)方法是思想的放映.

我在拙作"在中國沒有人懂計算機"裡發了點牢騷,聽說挨了部分人(習慣性的)罵。其實,bbs本來就是發洩的地方,在這裡從來就罕有有内容的文章。

自從"維納斯"登陸深圳後,大家更着眼于從宏觀看中國的IT業了。中國IT這棵小樹,說實在的,長到今天實在是不容易。一些人提出了"反對微軟霸權"的口号,不少人呼喚中國"矽谷"的出現。微軟的成功不是技術的成功,更多的是商業運作的成功。中國IT這棵樹能長多高,取決于他所植根于的土壤。而現在的事實是,這片土壤實在是太貧瘠了!如果按我們現在的思路和搞法,是長不成大樹,更别指望能結出像“微軟”、“矽谷”這樣豐碩的果實。如果說,我們的軟體技術落後美國十年,我們的硬體制造技術則落後美國二十年,我們的管理水準落後美國至少三十年。而最終決定發展速率的恰恰是我們的死穴---低劣的管理水準。低劣的管理水準的形成的原因有着深厚的背景和多方面的原因。

系統分析工作是解決一個問題的工作,目标是将一個對計算機應用系統的需求轉化成實際的實體實作,其中複雜就複雜在實際的面太多。在系統分析過程之中注意問以下的問題,可能會所進行的系統分析設計工作有幫助。

(1)您所完成的系統目的是什麼?注意不是功能要求,而是目的.也就是為什麼要建設、為什麼要現在建設。在考慮系統目的時,我更多的側重于系統的最終目标考慮,因為一個系統不可能一下子完美,為系統留些餘地。

(2)您所完成的系統有哪些方面參與,各方面的初衷是什麼?那些人可能在系統建設中起重要作用,他們會采取什麼樣的态度?你對他們有多少影響力?中國IT行業的失敗之一就是人"太年輕",一定要有上司的支援,否則完蛋。不要認為自己對他們會有多少影響力,即便有,也要盡可能的認為是決策者再影響他們。在中國,一個技術員,你算老幾?說到這裡我很悲哀。哪些人在系統中起重要作用并弄清楚他們的态度,這點十分關鍵。

(3)您的系統是否有一個明确的評價标準?最好從參與的各方面都進行考慮。不知道這樣說對不對,在系統建設之前,對你的程式員、對你的上司要有至少不同的兩種評價。

(4)你的系統設計思想是什麼?是否能夠得到各方面的認可。如果高明,對上司、對程式員都采用引導,得到認可的最好辦法,就是讓他們認可他們自己的想法。

(5)你對參與系統設計開發的人員了解嗎?他們的特長在哪裡,是否願意與你合作,為什麼?你對他們有足夠的影響力嗎?軟體發展到一定的程度,不是程式設計,不是數學,而是管理。

(6)你的系統開發計劃是否完善?你的計劃表有明确的階段嗎?任何一階段都應該怎樣完成?如何對這一階段完成的情況進行評價?

(7)你對所采用的系統開發方法以及工具是否熟悉?你的夥伴是否熟悉?事實上,不是每種好的工具都要使用,也并不一定都要他們熟練掌握。提醒諸位一句,當你将方案做得可以不依賴某個程式員,你在程式員面前就無信任可言,因為從此程式員将受到更大的生存壓力。我堅決不在公司使用rose。

(8)你所完成的系統是否有原型?計算機的或者實體的。

  以上的幾個問題都是在系統分析以及系統規劃時涉及到的,供各位參考。

繼續閱讀