軟體功能設計

2021-08-10 03:03:29 字數 1446 閱讀 5009

軟體功能設計:

針對軟體中某一具體的功能,所進行的設計。包括:這個功能的實現方式,實現的基本結構,類的組成,職責劃分等,是軟體設計中最最重要的基本功。

功能設計在整個軟體設計中的層次:

軟體設計的層次很多,不同的軟體設計過程有不同的劃分層次,大致可分為:架構設計,api/spi設計,資料庫設計,功能設計,類設計,方法設計。

從難度上說:公共類庫》公共框架》基礎平台/框架》應用(產品》專案)

功能設計在整個軟體設計中的地位:

功能設計從屬於詳細設計,是整個系統功能實現的基石。

功能設計與設計模式的關係:

功能設計通常會綜合應用多種設計模式,是各種設計思想的具體體現的載體。由於功能千變萬化,因而要有較高的設計技巧和功力,才能設計出正確的,易用的,靈活的,         擴 展性高的,高效能實現。

設計模式是業界公認的,優秀的設計經驗和設計理念,理解、掌握、融會貫通、並能熟練變形應用設計模式,對於功能設計是由極大的幫助的。

功能設計與詳細設計的關係:

功能設計只是詳細設計中的一部分,詳細設計還包括很多其他的設計,比如:流程設計、對api/spi的完善和細化,對資料庫設計的完善和細化,對多個功能互動的控制,事         務 的規劃,許可權/安全的規劃,例外的控制。。。很多很多

功能設計要考慮的東西/評價標準:

這個業界沒有統一的標準,而且不同型別、不同業務的系統考慮的東西並不完全一樣,但還是有一些通常要考慮的東西:

「正確性」,易用性,可擴充套件性,複雜性(易理解,開發難度等),易維護,安全,效能,可重用,可測試。。。

軟體設計的實戰方法---經驗總結

1,基本的功能實現方式,並進行細化;

2,分析每個步驟,每個細節中,哪些是可變的,哪些是不可變得。通常分析3個部分:資料的輸入,具體實現,資料產出;

3,分析這個細節功能和其他步驟的關係,比如:順序,平行,依賴等,已確定這些職責的粒度和分離方式,從而考慮他們之間的組合方式,也需要分離這些組合方式的變           與不變

4,根據前面分析的結果,進行相應的類,方法的設計、進行職責的劃分,並通過合適的方式把他們組織起來。

通常這個時候,就會融合進乙個或多個設計模式的應用。當然也可能是沒有現成的設計模式,需要自己來靈動的組織和實現。

5,按照前面講述的評價標準,進行系統的思考和調整,以形成最終的設計方案。

關於軟體設計的一些思考:

設計的基本技巧:發現和封裝變化,進行抽象和封裝,實現高內聚和低耦合。

設計是危險的平衡藝術,盡可能的找到最佳平衡點。

沒有完美的設計,設計總是在不斷的演變中

設計是沒有標準答案的,只要能更好的實現功能,更好的滿足那些評價標準,就是好東西。

不要過度設計不等於不設計,而是更要精巧設計。

關於重構的思考:在設計角度講,重構是打補丁的思想。

關於敏捷的思考:

設計是否增加了複雜度:

設計是否增加了軟體成本:好的設計是會降低軟體成本的。

產品之功能設計

讓每乙個設計師,產品經理頭痛的是,你精心設計的乙個功能,上線後發現很少人使用然後反饋很差。好吧,雖然可能在思考需要設計這乙個功能的時候,你們可能是經過討論的或者分析吧,但是真的分析到了重點和了解到了使用者的需要了嗎?下面將梳理一下,我關於功能點設計的一些經驗吧。1.需求程度 這個功能被需求的程度大還...

財產異動 功能設計書

1.系統介面功能 1.畫面格式 2.功能說明 功能概述 本畫面進行維護作業,功能包括 查詢 新增 修改 刪除 重新設定 畫面顯示說明 資料來源 人工輸入資產編號後由代入品名 規格 使用年限 購入金額 購入日期 異動前保管人 異動前保管部門。查詢 1 依公司別 業務範圍 異動前保管人 異動前成本中心來...

關於退出按鈕的功能設計

一般在乙個b s系統中都會存在乙個退出按鈕,但是這個按鈕進行了哪些事情呢?首先,退出系統的話你必須銷毀回話跟蹤,也就是你登陸之後的所有資訊都要刪除掉,在這裡,我們使用的是session的銷毀方法 session.invalidate 銷毀session的回話跟蹤 然後,我們不單單只是銷毀sessio...