優秀的產品設計可能是軟體企業發展的重要契機。好的產品設計可能使企業走向產品系列化、服務正常化、內部管理正常化的良性發展之路.問題: 什麼樣的設計才是優秀的產品設計呢?
非功能性需求的可定義性
1.系統的完整性: 協助系統,線上升級.不要過分的關注技術的難度,讓每個或易或難的技術 去協助自己的客戶才是最重要的.
2.系統的可擴充和可維護性: 常用的技術方法有物件導向的分析與設計以及設計模式。
3.技術適用性和應用適用性: 好的產品設計可能要考慮到運行條件的變化,包括:技術條件的變化, 如網路條件、硬體條件、軟體系統平台條件等;應用方式的變化,如在具體應用中介面的變化、功能的剪裁、不同使用者的職責分配和組合肥等。
軟體產品的功能設計要點
1、產品核心功能的選取:
(1)規模適當,不貪大求全,堅持"有所不為"。
(2)了應用要求以外,還可以根據關鍵技術進行版本規劃。
(3)盡量遵從標準協議和行業標準。
2、多重可重用性的分析與設計
(1)不僅應該在系統設計中考慮,還應該在系統分析時就加以考慮,使系統達到多重可重用性;
(2)要採用物件導向的思想來進行系統分析,用對象概念構造系統行為,還要求我們在更高層次上對系統的操作模式或應用模式進行抽象,發現更進階的可重用性。
3. 協助工具功能的設計
(1)線上協助功能:這仍然是面向業務使用者(當然也要面向其他使用者)的一項功能,用於使系統更為友好。線上協助功能通常設計成能獨立啟動並執行文檔形式,如html格式。
(2)資料管理:面向資料維護人員。雖然資料庫管理系統都有現成的資料管理功能,但專門設計的資料管理可以更簡便、便於使用,而且可以完成資料庫管理系統本身所不能完成的工作。
(3)日誌管理:面向系統管理人員。良好設計的日誌功能可以作為系統管理人員或產品設計人員監視系統狀態、追蹤系統問題,以及作為使用者使用系統的審計依據。
(4)使用者管理:面向系統管理人員。使用者管理與下面的兩項功能一起使用,可以使系統適應不同的使用者功能分配需求。系統管理人員可以最大限度地靈活指定不同使用者所能執行的不同功能項,消除通常造成軟體產品在使用者手中"水土不服"的最主要的因素。
(5)功能定義及功能表的自動產生:面向系統管理人員,定義系統的所有可操作功能項,並在使用者進入系統時自動產生由管理員為之分配的功能表作為其"主菜單"。這一功能對於含有資料庫和Web介面的系統特別適用,它使得系統具有"自動演化"的能力――即系統在運行時即可替換其部分功能,並且所有的功能許可權在統一的控制之下。這正是系統可維護性的"最高境界"。
(6)系統配置:面向進階使用者或專職的IT人員,根據實際需求定義系統的技術參數和應用模式。經過系統配置後,系統不再是有著各種技術和應用可行性的"中間系統",而成為真正面向終端使用者的產品。