計算機軟體的安全性(木馬和病毒)、計算機軟體的可靠性(當機和崩潰)、計算機軟體的易用性(簡潔和易用)。
作為軟體開發人員應該時刻謹記:你的使用者不是你自己。是以要始終站在使用者的角度來開發自己的軟體。
程式員、架構師和項目經理不能很好的了解客戶的需求導緻軟體品質不可靠。開發人員往往沒有弄清客戶的問題
是以解決錯問題并添加一些毫無用處的功能。一個毫無用處功能、難以操作某個功能會浪費使用者時間;将10億個使用者的時間每天加起來那是多大的一個數字。是以,程式的易用性和其功能同樣是非常重要的。
警句:如果自己沒有更好的想法就别抱怨。
在計算機早期時代計算資源極其寶貴(相對使用者的時間);早期時代計算機使用者主要是程式員、科研人員等專業素質的人群。而現在計算機硬體的飛速發展使得計算資源相對使用者時間已經非常廉價,另外,計算機使用者已經非常大衆化從幾歲的小孩到八九十歲的老人,是以計算機軟體的易用性顯得非常重要。
警句:認真了解使用者,使用者并不是您自己;Garbage In, Garbage Out; Always cut the cards;
程式員往往從自己的角度出發來看待客戶的需求,認為自己很了解客戶。
1.他們往往把程式的控制能力看得比易用性更加重要,并集中精力制造複雜的程式,而不是讓複雜的事情簡單化,容易的事情更加簡單。
2.強迫使用者了解程式的内部工作機制,而不是調整自己的思維來适應客戶的思維方式。
例子:彈出對話框的濫用,無數需要使用者确認的點選。過度使用确認機制已經使得它毫無意義。
是以程式的使用者界面應該按照使用者的思維方式來設計,真正優秀的設計是不需要使用者總是去确認的,如果需要确認說明在GUI設計的某個部分一定存在問題。
撤銷操作是一個偉大的發明甚至不亞于發明滑鼠,人類使用新事物需要不斷的犯錯誤和不斷的嘗試,而撤銷保證了這種錯誤不會帶來嚴重的後果。
Platt法則:每個軟體項目所花費的時間是您最佳估計時間的三倍,即使您已經應用了這個法則。
軟體觀念革命-互動設計精髓“About Face:The Essential of User Interface Design”
在産品釋出以前可以先将版本在内部的真實使用者進行測試和試用。
Web程式員應該深入了解Web的目标、工作機制和功能。
網際網路和Internet是兩個完全不同的東西,Internet是通用資料網絡,它承載着各種資料,負責将它們從一個智能終端傳送到世界上的另一智能終端。網際網路則是Internet上傳輸的一種特定類型的資料,它包含了人類通過類似Internet Explorer或Firefox的浏覽器可以閱讀的頁面。基于Internet建構網際網路是一個偉大的發明。
使用Web能夠屏蔽實體和時間上的隔離;
資料所有者利用Internet能快速通路資料因而降低已有業務流程的成本。
Web的工作機制:Web最初設計用來傳送包含文字和圖檔的靜态頁面(在使用者請求頁面之前已經通過文字處理器制作好)。使用者在浏覽器輸入某個Web頁面的位址或點選超連結請求某個頁面,該頁面所在伺服器從硬碟上讀取頁面,并将其發送給使用者,伺服器不對使用者請求做其他任何額外的處理,隻是簡單的查找并傳回作者早已寫好的文章。
靜态使用方式代表了一種人與人之間的溝通。不過這種方式大大節約了服務成本。
動态頁面不同,動态頁面更多的代表了人與機器的互動。
網站首頁能夠在極短時間内讓使用者明白提供的主題和服務;優秀網站應将使用者需要完成的工作降到最少。
Don't Make Me Think一本很好的Web設計的書籍。
可以用平均點選次數和時間達到使用者需要的服務,來評價簡單易用性。
最好為使用者量身定制一個預設的服務選項,Google中的請求首頁的預設語言就會按照請求者的地方IP來确定。
網站應該都設定一個收集客戶回報的超連結,以廣泛收集客戶評價資訊作出不斷的改進。
網絡在帶來便利的同時也帶來很多安全隐患:跨時間限制、跨地域限制的破壞,進階破壞技術的快速傳播....
密碼驗證手段:用戶端發送使用者名,伺服器收到後生成一個随機數發送回用戶端,用戶端和伺服器通過密碼和該随機數做運算(伺服器也做同樣的運算),來驗證密碼的有效性(有效的解決了真實密碼被截獲的問題)。
Windows和其他作業系統問題。
google是一個很好的軟體。