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