文章出處

i:三問:
是什么?
為什么?
怎么樣?

ii:詳細化問題指引:
是什么的目的在于確定系統的大致范圍,明確目標:
->平臺的主要功能是什么?業務流程是怎樣的?業務范圍有多大?
->主體框架可知嗎?用了什么技術和功能組件?用了什么算法?
->系統或者平臺是否留下有歷史文檔,版本跟蹤的信息?獲得它們。。
->主要的幾個子功能是什么呢?怎么切割?
->是否存在有GUI的界面,在Gui是怎么劃分功能的呢?
->有數據庫么?什么數據庫?
->這個平臺或者系統,是否和其它系統存在關系?
  -->所有的關系列表應列明如下:
    1、包含和被包含
    2、依賴和被依賴
    3、完全獨立

為什么的目的在于明確系統的設計思路,基本實現:
->系統的框架是不是比較陳舊,是否有用新式框架代替的計劃?
->主體架構,各個模塊的架構,具體怎么組成?模塊和模塊之間的交互怎么完成?上層和底層的依賴怎么完成?符合3大設計原則么?
->數據庫的ER圖能畫出來?嘗試畫一個;
->系統和平臺和其它系統若是存在關系:
  --> 包含和被包含:
    ---> 什么數據產生了互相的引用和依賴;
    ---> 在被包含的系統中承擔什么角色:工人模塊(只是提供一個或者某些服務),管理者模塊(為其它幾個模塊提供邏輯和調度工作)
    ---> 在包含其它系統中承擔什么角色:服務調用者,所有服務的總體統一者
  --> 依賴和被依賴:
    ---> 依賴和被依賴的是哪個部分的數據或者功能模塊,具體是那些功能和數據?
    ---> 用什么方式或者技術進行依賴(WebService,WebAPI等等) ? 這些方式有歷史的接口文檔嗎?獲得它們。。
    ---> 在依賴和被依賴的過程中,承擔的角色是什么? 一般是 服務調用者,服務提供者,甚至是服務轉接者(比如ESB平臺)

怎么樣的目的在于明確能明確的大部分細節,也應當是耗時最長的部分:
-> 按模塊了解具體的實現,模塊之間有交互的,要回到是什么和為什么繼續細化了解。。
  --> 若是留有舊的需求文檔,試圖完善需求文檔,查看文檔是否有功能的缺失
  --> 若是不存在舊的需求文檔,
    i: 應先畫出具體的結構圖,從業務的邏輯入手,了解具體實現,再慢慢整理出需求文檔
    ii: 或者從系統界面入手,分界面模塊切割,其實也是從業務層面處進行的入手

       (
      提示: 可以通過試寫某些常用代碼的方式,做一個大概的了解,比如數據庫的增刪查改操作;

        )
-> 系統或者平臺怎么和數據庫進行的交互?
  --> 目前掌握到的特征方法有三:
    比較基本的ORM(看不見具體Sql),數據庫直接映射到實體:Linq dbml,NHibernate,Entiy Framework等
    比較特殊的ORM(在某些不是代碼的地方看見Sql),數據庫不一定直接映射到實體:SqlMap等
    比較直接的方法:直接使用Connection的方法,把Sql傳入數據庫
-> 和其它系統平臺或者模塊存在的關系:
  --> 了解當前平臺和系統所承擔的是什么角色的前提下,了解具體的實現方式,整理接口文檔等等;


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()