專案日常與筆記

  • Breaking News

    Tuesday, June 11, 2019

    SA|System Analysis|職位工作內容

    SA系統分析師

    SA是 System Analysis 的縮寫, 一般稱為系統分析, 主要的工作就是透過一系列的分析工作, 把客戶想要的結果產生方式, 以各種文件表達出來, 讓開發團隊可以根據這些文件實作出這個結果。

    這樣的解釋比較文縐縐一點, 用個通俗一點的方式比喻, 就像是要做出一道宮保雞丁時, 就會有食譜一樣, 裡面會介紹需要的材料及做菜的順序, 然後裡面也會強調要以怎樣手法才能產生出某種效果, 以促進色香味。

    這樣的過程裡, SA是較為偏重於在工作流程和處理邏輯的, 透過SA, 開發團隊才可以理出整個系統的架構, 一種做事的脈絡, 以及系統和工作間的關連性, 最重要的, 是這些結果都會被SA呈現在文件中, 而非放在少數人的腦袋裡。

    SA不僅止是要針對電腦裡的東西去運作及規劃, 還包括了現實世界裡的實體流程及組織。在很多的情況下, 配合新系統的組織及流程, 是要由SA來執行的。

    在一個開發案裡, SA執行以下的工作


    • 藉由系統需求書, 使用者的現有標準作業流程來建立出符合期望的新作業流程及搭配流程的系統功能及模組規劃
    • 依據功能及模組規劃案, 定出初步的資料庫內容及系統與使用者間的權限搭配規範
    • 定出各個軟體零件的規範, 如物件, 函數庫, ...等等
    • 設計新的標準作業流程, 並把系統功能或模組綁入這些流程中
    • S.A依據客戶的環境及需求, 尋找合適的SD來搭配

    SA的特色


    • 對於系統在怎樣的環境及用什麼開發工具, 並不十分在意, 良好的S.A產生出來的文件, 使用不同的開發工具都應該可以完成, 產生相同的結果, 但那一種最合適, 由SD決定
    • SA偏重於流程及執行邏輯的表達
    • SA著重於軟體邏輯, 對開發工具的學習並不是十分重要, 所以會一種語言即可, 主要是以該語言工具來實踐邏輯觀。
    • SA一定要有全局觀, 也就是不能拘泥於一個角度或是一個局部去思考問題, 這一點是尋找優秀SA時最困難的。因為在規劃模組及功能時, 一定要同時考量到所有直接相關及間接相關的程序及邏輯問題, 因此要有全局觀。


    相較於SD, SA更側重在邏輯及工作順序搭配的表達, SA並不需要去關切使用什麼作業系統或是什麼開發工具, 如前特色所述, 好的SA文件, 可以用任何一種開發工具來實現。當然, SA不受限於IT技術, 但卻會有專業領域的限制。

    很少有SA同時專精於數個領域的, 熟悉汽車業運作規範的SA, 在金融業的開發案裡, 就很難討好, 反之亦然。但SD沒有這種限制, 基本上SD可以和任何行業的專案開發團隊配合運作。

    會如此的原因是SA是偏重於流程及管理分析及重新再造工作的。而作業流程, 除了少數領域裡共通性高, 在核心流程上, 是需要長期鑽研的。前面提及的汽車及金融業就是一例。

    一個SA必需具備以下的能力,資歷及專業訓練


    1. 至少熟悉一種程式開發語言
    2. 熟悉軟體工程, 對於開發工具的元素及特色熟悉
    3. 對管理制度或作業流程設計熟悉
    4. 熟悉UML或類似的系統描述工具
    5. 邏輯能力良好
    6. 良好的溝通能力, 主要作為瞭解需求之用
    7. 相關的業界熟悉度

    No comments:

    Post a Comment

    所有時間熱門

    本月熱門文章

    本周熱門文章