走在架構師的大道上 Jack.Wang's home

          Java, C++, linux c, C#.net 技術,軟件架構,領域建模,IT 項目管理 Dict.CN 在線詞典, 英語學習, 在線翻譯

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            195 Posts :: 3 Stories :: 728 Comments :: 0 Trackbacks

          軟件項目如何進行需求分析?我們要圍繞兩個核心問題開展需求分析:(1)應該了解什么?(2)通過什么方式去了解?

          1 應該了解什么

          那怕是天下最無能的市長或書記,都知道在作報告時要先從宏觀上講一、二、三、四、五,再從細節上講A、B、C、D、E。需求分析不象偵探推理那樣從蛛絲馬跡著手。應該先了解宏觀的問題,再了解細節的問題,如圖4.1所示。

           

           

          一個軟件系統(記為 S)的涉及面可能很廣,可以按不同的問題域(記為D)分類,每個問題域對應于一個軟件子系統。

          S = { D1,D2,D3,… Dn }

          問題域Di 由若干個問題(記為P)組成,每個問題對應于子系統中的一個軟構件。

          Di = { P1,P2,P3,… Pm }

          問題Pj有若干個行為(或功能,記為F),每個行為對應于軟構件中的接口。

          Pj = { F1,F2,F3,… Fk }

          按圖4.1結構寫成的需求說明書,對于那些只想了解宏觀需求的領導,和需要了解細節的技術員都合適。在寫需求說明書時還應該注意兩個問題:

          (1)最好為每個需求注釋“為什么”,這樣可讓程序員了解需求的本質,以便選用最合適的技術來實現此需求。

          (2)需求說明不可有二義性,更不能前后相矛盾。如果有二義性或前后相矛盾,則要重新分析此需求。

          2 通過什么方式去了解

          了解需求的方式有好幾種:

          (1)直接與客戶交談。如果分析人員生有足球評論員的那張“大嘴”,就非常容易侃出需求。

          (2)有些需求客戶講不清楚,分析人員又猜不透,這時就要請教行家。有些高手真的很厲害,你還沒有開始問,他就能講出前因后果。讓你感到“聽君一席言,勝讀十年書。”

          (3)有很多需求可能客戶與分析人員想都沒有想過,或者想得太幼稚。要經常分析優秀的和蹩腳的同類軟件,看到了優點就盡量吸取,看到了缺點就引以為戒。前人既然付了學費,后人就不要拒絕坐享其成。


          該文章轉載自德仔工作室:http://www.dezai.net/article_show.asp?ArticleID=19625





          本博客為學習交流用,凡未注明引用的均為本人作品,轉載請注明出處,如有版權問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學習進步。
          posted on 2008-02-23 11:12 Jack.Wang 閱讀(513) 評論(0)  編輯  收藏 所屬分類: 項目管理
          主站蜘蛛池模板: 福贡县| 紫阳县| 建水县| 昭觉县| 南溪县| 迁安市| 凌源市| 大足县| 三明市| 淮安市| 阳高县| 历史| 大理市| 平塘县| 阳曲县| 庆城县| 绥阳县| 长汀县| 桐柏县| 横峰县| 吕梁市| 麻栗坡县| 凌海市| 垫江县| 顺义区| 邵东县| 福海县| 开阳县| 体育| 集贤县| 安化县| 独山县| 新竹市| 江达县| 塘沽区| 西贡区| 宜兰县| 渭源县| 木里| 于田县| 扎囊县|