走在架構(gòu)師的大道上 Jack.Wang's home

          Java, C++, linux c, C#.net 技術(shù),軟件架構(gòu),領(lǐng)域建模,IT 項目管理 Dict.CN 在線詞典, 英語學習, 在線翻譯

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

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

          1 應該了解什么

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

           

           

          一個軟件系統(tǒng)(記為 S)的涉及面可能很廣,可以按不同的問題域(記為D)分類,每個問題域?qū)谝粋€軟件子系統(tǒng)。

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

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

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

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

          Pj = { F1,F(xiàn)2,F(xiàn)3,… Fk }

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

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

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

          2 通過什么方式去了解

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

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

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

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


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





          本博客為學習交流用,凡未注明引用的均為本人作品,轉(zhuǎn)載請注明出處,如有版權(quán)問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學習進步。
          posted on 2008-02-23 11:12 Jack.Wang 閱讀(513) 評論(0)  編輯  收藏 所屬分類: 項目管理
          主站蜘蛛池模板: 张家港市| 峨眉山市| 绵竹市| 日土县| 保靖县| 桐城市| 米林县| 晋中市| 儋州市| 前郭尔| 高清| 本溪市| 治县。| 香格里拉县| 牟定县| 区。| 军事| 察雅县| 石狮市| 运城市| 小金县| 东平县| 航空| 临武县| 古交市| 公安县| 北京市| 遂川县| 正宁县| 包头市| 资源县| 行唐县| 扎赉特旗| 长沙县| 平南县| 县级市| 宁晋县| 泰顺县| 万年县| 闽侯县| 桑植县|