當軟體規模比較小時,系統分析師所完成的工作是把真正的業務需求(這個需求不是指客戶簡單所說的哪一個功能,而是需要去挖掘的,可能是潛在的但又是系統必需的,條例清楚、邏輯清晰的業務功能,而且需求不僅僅隻是來自業務上的,系統所依賴的運作環境也會産生一些需求)轉換成計算機可了解、可實作、可計算的模型。但由于現在的系統規模越來越大,複雜程度越來越高,而且應用領域也越來越廣,是以很難由一個工種的人來全面完成這項艱巨的任務。
在具體的軟體設計過程中,現在把它分解為由系統分析師與軟體架構師合作共同來完成這一任務。其中系統分析師側重的是前一部分的工作,軟體架構師側重的是後一部分的工作。系統分析師的主要工作内容包括業務需求分析、系統需求分析、可行性分析以及模組化等,其特點是更多地與行業專家、使用者溝通,再及時與項目經理(項目管理師)、軟體架構師以及老闆商讨,分析項目具備的特點、成本、風險等,考慮實作的模型。系統分析師所面臨的往往是有許多不确定性的事件,需要對這些不确定的事件進行分析、總結,使之得出一個相對可靠的确定性結論或實施方案模型。
軟體架構師的主要工作内容就是在系統需求比較清晰的條件下進行系統總體的架構設計,當然它也可能會涵蓋一些系統分析師的工作内容和軟體設計師的内容,但其特點是确定性的東西會多一些,力求為系統找到或架構一個最優的模型,這裡面雖然可能有很多創新的成分,但更重要的是如何充分運用現有的各種模型、結構、方案,并根據項目的特點,在各種方案中取長補短,找到一個最好的平衡點和結合點,使之最适合目前項目的解決方案。是以,軟體架構師實際上是使系統細緻化、完善化,為擁有更好的可靠性提供保障。
在實際的職責上,軟體架構師比系統分析師所站的角度更高一些。在大規模的軟體系統中,系統分析師可能就系統的某個子系統進行分析與設計,而軟體架構師應該對整個系統的結構負責。
(1)項目管理師:掌握資訊系統項目管理的知識體系,具備管理大型、複雜資訊系統項目和多項目的經驗和能力;能根據需求組織制定可行的項目管理計劃;能夠組織項目實施,對項目的人員、資金、裝置、進度和品質等進行管理,并能根據實際情況及時做出調整,系統地監督項目實施過程的績效,保證項目在一定的限制條件下到達既定的項目目标;能分析和評估項目管理計劃和成果;能在項目管理進展的早期發現問題,并有預防問題的措施;能協調項目所涉及的相關人員。即項目管理師的主要職責是負責整個項目的實施和控制,協調各種資源(包括組織内部資源和客戶資源)。
(2)系統分析師:熟悉應用領域的業務,能分析使用者的需求和限制條件,寫出資訊系統需求規格說明書,制訂項目開發計劃,協調項目開發與運作所涉及的各類人員;能指導制訂企業的戰略資料規劃,組織開發項目;能評估和選用适宜的開發方法和工具;能按照标準規範編寫系統分析、設計文檔;能對開發過程進行品質控制與進度控制;能具體指導項目開發。即系統分析師的主要職責是擷取并分析使用者的需求,形成規範化的文檔,指導整個項目的開發,需要與客戶不斷的交流,熟悉應用領域的業務。
(3)系統架構師:能夠根據使用者需求,結合使用者應用領域的實際情況,設計正确、合理的軟體構架,維護系統構件及其接口,并確定系統構架具有良好的性能;能夠對項目進行系統構架級的描述、分析、設計與評估;能夠按照相關标準編寫相應的設計文檔;具有紮實的理論功底、廣博的知識面,能夠與系統分析師、項目管理師互相協作、配合工作。即系統架構師的職責是負責整體的、宏觀的系統設計,重點在架構級别上。還要對架構進行描述、分析和評估,屬于純技術性的工作。
從考試難度來看,系統架構設計師是最有難度的,同時,架構設計師也是業界最缺的一個高端職位,是以,其含金量也将是最高的。而且,我個人估計,架構設計師證書的含金量會超過系統分析師,這是因為業界已經深刻認識到架構的重要性,且中小企業緊缺架構設計師。從考試大綱來看,系統架構設計師考試的試題題型和内容将與系統分析師的考試基本重疊或一緻,隻是内容稍微偏向于架構設計。
架構師和系統分析師的差別:
1、系統分析師必須考慮自己所設計系統的方方面面,他是系統實作的原始作者,也對系統能否滿足客戶的技術要求以及産品成本是否可接受起着最直接的作用。
2、架構師一般在軟體組織内僅僅是少數人,他們主要負責對産品的架構進行評估以及子系統之間的接口準許上,評估的主要方面集中在系統級的品質屬性和成本上,包括:目前架構是否滿足可靠性要求、系統架構的可擴充性、可重用性、性能以及基礎的公共功能等等。他們必須對系統分析員設計出來的系統進行最初的把關,是以責任重大,也需要經驗非常豐富的人來承擔。在公司其他部門和IvarJacobson的交流中,Jacobson明确的指出,架構委員會不是常設組織,通常都來源于團隊的系統分析員,唯一常設的職位通常隻有一個主席,其他的成員必須臨時來源于系統開發的一線,隻有他們最了解系統開發的基本思想。
3、系統成本是架構師和系統分析員最容易忽略的事情,而這個也是他們最基本的職責之一。