搞了多年管理软件,总算说清楚了什么是好软件
好軟件是有用的
有用的軟件解決問題而不是制造問題。可以用軟件解決的問題很多,小到簡單地保存某種信息,大到為企業建設管理平臺。但要知道,在用軟件解決問題的同時一定會帶來全新的問題——軟件本身的問題,對于一個不是搞軟件的企業來說這種問題處理起來可真不容易。見過太多的單位,好像是為信息化而信息化,目的不是解決現實問題,而是為了面子好看,結果導致使用軟件不但沒有解決問題,反而帶來了許多額外問題。還有的時候,軟件真的解決了某些小問題,但相對這些被解決的問題來說,軟件本身帶來的問題要嚴重得多,得不償失。有用的軟件可以提高工作效率。計算機的長處在于運算更快、更準,存儲更多、更久,分享更全、更易,無論你的要求多么無理它也不會鬧情緒,利用好計算機的這些特點,沒有理由不提高工作效率。如果軟件不能提高工作效率,絕對不能說是有用的軟件。提高工作效率一般體現在這些方面:同樣一件事情,完成的速度大大提高了;或者經過軟件優化后,有些工作根本就不需要了;或者有些工作需要的人力資源大大減少了;或者相同的人員,可以完成更多的工作;或者可以降低工作難度,等等。
有用的軟件可以降低資源消耗。利用軟件來降低資源消耗體現在許多方面:例如,可以通過庫存管理減少倉庫物料的無故丟失;可以通過計劃管理軟件提高庫存的周轉率降低資金的積壓;可以通過辦公管理軟件降低辦公物品的消耗;可以通過生產管理軟件降低生產材料的消耗;可以通過調度軟件讓任務安排得更科學,降低生產能耗,等等。
軟件的有用性還表現在很多方面,如規范流程、提升客戶感知、增加企業核心競爭力、幫助決策等,這里不再贅述。
有用,是好軟件的最基本條件,其它方面做得再好,如果缺少有用性,這個軟件怎么著都不能說是個好軟件。軟件開發之前為什么要進行需求調研呢,最重要的目的就是為了保證軟件的有用性。
好軟件是易學的
好軟件充分考慮到易學性。所謂易學,就是指軟件功能方便學習,容易上手。對于易學性,需求分析者的終極目標是,你所設計的軟件功能不需要任何培訓,用戶看著你的界面就可以學會操作,用戶通過自學習有什么問題他們都能自己解決。當然,管理軟件與面向公眾的社交軟件還是有很大區別的,要想達到這個境界不大可能,但在做設計的時候,腦中應該時刻提醒自己,這里如果我再努力一把,是不是用戶就可以不用學習了?或者,是不是可以減少用戶的學習難度。容易學習的功能,對于用戶來說,使用中會覺得是一種享受,也就更加容易接受你的軟件,對于后面的實施來說,可以大大減少培訓成本。
好軟件是易用的
好軟件充分考慮到易用性。所謂易用,就是指軟件用起來舒服、趁手,處理問題全面、容易、方便、快捷,犯了錯誤容易糾正。請注意易用性與易學性之間的區別,易學性指軟件容易學會,而易用性指學會之后,使用軟件處理問題的感受,這是兩個完全不同的概念。有些軟件容易學會,但確實不易用,也許它容易學習的原因只是因為功能簡單罷了,而功能簡單往往預示著處理問題不全面,也就是說有一些問題甚至很多問題處理不了。軟件的易用性一般體現在以下這些方面:在操作層面,界面美觀大方,錄入或操作快速、方便,功能出現在需要的地方,處理同一件事鼠標點擊、鍵盤擊鍵次數最少;在業務層面,處理問題容易、快捷,不需要切換一大堆界面,處理問題全面,一些異常業務也可以方便處理;在性能層面,軟件反應速度快,占用資源少。
易學性是針對沒有學會軟件的新手用戶,易用性是針對已經學會軟件并可以熟練操作的老手用戶。
好軟件是靈活的
好軟件充分考慮到靈活性。所謂靈活,就是指軟件不僅僅滿足于能夠實現用戶當前的需求,還會充分考慮到其它的特殊需求,充分考慮到軟件的發展,讓軟件易于擴展,易于應對可能的需求追加與變更。無論開始的需求工作做得多完善,用戶的需求終究會有變化的,或者需要修改某些需求,或者需要增加某些需求,或者需要取消某些需求,而靈活的軟件具有柔性,即使用戶的需求發生了變化,軟件不修改也可以解決很多問題。當然,任何軟件都不可能解決所有問題,作為設計者,能做的是盡量設計出可以應對更多需求變化的軟件,也就是盡量增加軟件的靈活性。
好軟件是健壯的
好軟件充分考慮到健壯性。所謂健壯性,是指軟件在用戶使用過程中有很強的容錯性,可以幫助用戶少犯錯誤,犯了錯誤可以糾正,可以反悔,用戶在使用軟件的過程中沒有心理負擔。
在這里,“健壯”的反義詞是“脆弱”,脆弱的軟件,用戶使用時需要小心翼翼,神經繃得緊緊的,數據不能錄錯,不能刪錯,操作順序不能顛倒,不該點的按鈕不能亂點,不該打開的界面不能隨便打開,等等,一不小心犯了錯誤,就會付出很大的精力處理,有時候甚至只能由軟件維護者在后臺搞這搞那才能搞好,總之,軟件中彷佛布滿了地雷,一不小心就會引爆,輕者皮破肉爛,重者殘廢喪命。
好軟件是高效的
好軟件考慮到性能要求,追求功能的高效性。所謂高效性,指程序執行速度快,占用的IT資源少。IT資源一般包括數據存儲能力、服務器運算能力、網絡傳輸能力、客戶端運算能力等方面,不同的業務系統,不同的架構方式,甚至針對不同的用戶,關于這幾個方面的考慮重點并不相同。軟件功能再強大,能解決的問題再多,執行起來如蝸牛般緩慢,讓人等得幾乎要崩潰,這怎么能算好軟件呢?高效的軟件會努力提高功能的運行效率,降低IT資源的消耗,讓軟件系統運行得更快速、更經濟。
好軟件是方便交互的
好軟件方便用戶與系統之間交互,具有交互性。交互性,指程序在執行過程中可以與用戶進行友好溝通,讓用戶順利獲得應該知道的系統信息,讓系統順利獲得用戶應該提供的信息。當用戶在界面上操作時,一個友好的系統會將執行信息根據需要反饋給用戶,有些信息只是告訴用戶一段程序執行的狀態,如常見的告訴用戶保存成功的提示消息,而有些是用于接受用戶額外指令的,如讓用戶確認是否刪除某記錄的提示消息。系統反饋給用戶的信息,可以通過各種方式表達出來,如彈出消息框、顯示在某固定區域、寫入日志文件等,有的時候也會通過組件形狀變化、位置變化、顏色變化、文字字體變化之類的方式向用戶傳達。
好軟件是可重用的
好軟件具有可重用性??芍赜眯?#xff0c;指本軟件對不同環境的適應性。重用,可能是整個軟件的重用,也可能是軟件中某些功能的重用。有些產品型的軟件,可以原封不動地用到多個企業中,不需任何修改,或者只需要進行少量修改,這就是整個軟件的重用;有些軟件的某些功能,可以復制到別的軟件中繼續使用,如很多團隊的“用戶管理”、“權限管理”之類的功能。
對于功能的重用,有些功能自成體系,跟本功能之外的功能、數據沒有任何關系,具有最強的可重用性;有些功能隸屬于某個環境,離開這個環境就沒有任何意義,那么這種功能就沒有任何可重用性。注意,這里所說的重用,是指功能級別的重用,跟代碼級別的重用(封裝函數、過程、類之類)是兩碼事,不可混為一談。
*************************************
作者:楊長春
微博:@無錫楊長春
微信公眾號:yang_changchun
總結
以上是生活随笔為你收集整理的搞了多年管理软件,总算说清楚了什么是好软件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C语言】C语言里++能随便用吗?
- 下一篇: 【LeetCode】查找只出现一次的数字