《軟體需求工程(第2版)》一3.2確定專案的目標和範圍

華章計算機發表於2017-08-01

3.2 確定專案的目標和範圍

此階段的基本任務是根據專案目標把專案相關人員定位到一個共同的和明確的方向上,並決定軟體系統的範圍。專案的目標主要包括專案開發的目的和意義,以及軟體系統應實現的目標(即目標需求)。專案的範圍是指軟體系統具體應包括和不應包括的部分,以及軟體系統所涉及的各個方面,如計算機硬體和其他軟體系統等,亦即軟體系統在一個完善的環境中最終具有的功能。專案的範圍與專案的目標,特別是軟體系統的目標需求是密切相關的。如前所述,目標需求代表了需求層次中最高層的需求,為軟體系統定義了作用的範圍。軟體的功能需求必須根據目標需求來考慮,要與目標需求相一致。
在收集目標需求時,目標需求會來源於各個不同的人。這些人對要開發的軟體系統及該系統最終能為使用者或客戶提供哪些價值有比較清楚的瞭解。這些人中包括使用者方的領導者、高層管理人員、開發方的負責人以及市場部門的人員等。由於這些人所擁有的背景、所處的立場不同,可能會從不同角度提出目標需求。如使用者方的領導者關心專案能帶來什麼樣的社會效益和經濟效益。而市場部門的人員則關心軟體系統的功能與介面是否易使用和操作簡單。開發方的負責人則關心繫統需要做什麼,能否在合理的成本下按時開發出軟體系統。因為各人的看法和需求不同,很容易導致來自各個不同角度的目標需求產生衝突。例如,自動售貨機開發商希望某軟體公司能為其開發一個自動售貨管理系統。該軟體系統將作為嵌入式實時系統有效地控制自動售貨機工作。此後,開發商將自動售貨機賣給零售商店和零售客戶使用。對於這個系統,不同的人會從不同的角度提出不同的目標需求。例如:
從開發商角度:
為客戶提供便利的自動售貨功能;
通過管理系統能向顧客提供品種較齊全的消費品;
吸引顧客對商品的興趣;
高可靠性。
從零售商角度:
能吸引和方便更多的顧客;
代替人工操作,節省開支。
從開發人員角度:
使用較為先進的開發技術和工具;
建立高科技系統。
開發商、零售商和軟體開發人員這三者在目標需求上既有一致的也有矛盾的方面。例如,開發人員希望使用較先進的開發技術和工具為使用者建立高科技系統,這可能導致成本增加。零售商需要一個操作簡單和價格便宜的系統,而開發商則需要具有便利和良好效能以及利潤較高、成本較低的系統。這三者在目標特別是費用方面的要求不同將導致目標需求的衝突,因而需要在制定需求規格說明之前予以解決。
確定專案範圍的好處是:
1)可以判斷使用者所提出的需求資訊是否對專案合適。如果不合適,則予以拒絕。因此,當使用者提出新的需求和改變需求時,作為開發人員首先必須認真地考慮這是否包含在專案範圍之內。
2)有些使用者需求資訊可能是建議,這些建議是專案之外的,但可能有價值。因此可適當改變專案範圍來適應這樣的需求。但在改變範圍之前,需要考慮進度、時間和資源等,否則容易影響需求工程中的其他工作。
在統一了認識並知道專案的範圍和系統與外部環境的界限之後,下一步就是開展實地調查,以獲取有用的需求資訊。向使用者中的哪些人調查,這是相當重要的工作。


相關文章