項目實訓及課程設計——如何合理地設計軟體應用系統的Web表示層

2020-12-14 楊教授工作室

軟體項目實訓及課程設計指導——如何合理地設計軟體應用系統的Web表示層

1、用戶界面是軟體應用系統的門面,在設計和開發實現時必須高度重視

軟體應用系統表示層內的各個組件是軟體應用系統的前端界面組件,它們直接與應用該軟體應用系統的最終操作者發生各種人機互動行為。如果某個軟體應用系統在用戶界面上缺乏引人注目的特色——如操作界面不友好、操作不夠體貼和應用不夠方便等用戶體驗不佳,即使該軟體應用系統的性能非常優異或者軟體應用系統的整體體系架構設計也比較合理,系統所涉及的業務功能邏輯的實現也都滿足了客戶的應用需求,但仍然難以獲得使用者的青睞。如下示圖為某個Web應用系統的數據查詢顯示結果頁面局部截圖。

2熟悉和應用Web表示層功能實現有關的核心技術

(1)XHTML+ CSS + JS技術

XHTML本身並不是什麼新的標記語言,它其實是更「規範」的 HTML 版本。可以這樣理解XHTML標記語言:「XHTML = HTML + XML」,也就是滿足「XML語法」要求的HTML頁面。

W3C組織發布XHTML技術規範的主要目的是希望Web應用系統的開發人員能夠設計並實現出比較「嚴謹」和「規範」的HTML頁面,也就是要求Web頁面設計者能夠按照XML(eXtensible Markup Language,可擴展的標記語言)的「語法規範」進行Web頁面設計,以避免Web瀏覽器在頁面信息顯示時產生出「二義性」的錯誤,並保證在各個不同的Web瀏覽器中能夠實現一致的顯示效果。

(2)CSS 是 Cascading Style Sheet 的縮寫

CSS譯作「層疊樣式表單」,它是用於增強和控制Web網頁的樣式並允許將樣式信息與Web網頁內容相互分離的一種標記性語言。Web應用系統的開發人員利用CSS的規則定義,可以統一規範Web網頁的「整體格式」,而不必要分別給Web網頁上的每一個HTML標籤單元做屬性設置和表現定義。

CSS能夠改進常規的HTML標籤的顯示風格設置的不足,因為常規的HTML標籤的「顯示風格」的設置是直接在HTML標籤中通過標籤內帶的屬性設置來達到。而應用CSS進行Web頁面的「表現」定義,不僅可以擴展HTML標籤的屬性定義的不足,而且還能夠達到將Web頁面的「內容」(數據)與「表現」(顯示風格)相互分離,提高Web頁面的可維護性。

(3)JS是JavaScript腳本語言的縮寫

Web應用系統的開發人員利用JavaScript腳本語言編程實現Web應用系統中的各種行為——行為就是對Web頁面中各種內容的交互及操作。應用「XHTML+ CSS + JS」技術可以實現將Web頁面中的「內容」和「表現」以及「行為」三者相互分離,這將更易於對Web頁面中的「內容」的維護和「表現」形式的擴展、「行為」功能實現的可擴展和可維護性。

(4)J2EE Web核心技術——JSP和Servlet組件技術

J2EE Web組件中的JSP(Java Server Pages,Java伺服器端頁面開發技術)組件技術是由Sun公司(現為Oracle公司)倡導、許多公司參與,最終由Sun公司發布的一種針對Java技術平臺下的動態網站開發技術的標準(目前為JSP2.4版本)。

JSP構建在Java Servlets技術基礎之上。因此,JSP其實是一種Web伺服器端的動態網站實現技術。一個JSP頁面是由標準的HTML標籤、CSS樣式單文件、JavaScript腳本程序及JSP服務端標籤和嵌入其中的Java程序腳本代碼所組成,並以*.jsp作為JSP頁面文件的擴展名。如下示圖為一個*.jsp Web頁面的代碼示例的局部截圖。

J2EE Web組件中的Servlet組件技術是使用Java Servlet 應用程式編程接口及相關類和方法所構成的 Java 程序,它在伺服器端的Servlet容器(如Tomcat伺服器環境)中運行並遵守Sun公司發布的Servlet組件技術規範。而Servlet組件技術詳細地規範和定義了容器的基本功能和Servlet的程序結構和編程實現的接口。如下示圖為Servlet程序代碼示例局部截圖。

(5)Web2.0中的RIA和AJAX技術

富網際網路應用程式RIA技術是取B/S(Browser/Server,瀏覽器/Web伺服器)結構之長與C/S(Client/Server,客戶機/伺服器)模式之長,是個非常好的系統結構模式,因為它可以將胖客戶端應用程式的優點與瘦客戶端應用程式的部署和可管理性優點結合起來。當然,富網際網路應用程式中的「富」的概念主要包含兩方面:數據模型的豐富和用戶界面的豐富。

富網際網路應用程式所具有的主要特點如下:豐富的表現能力和強大的客戶端處理能力,不僅可以最大限度地使用本地系統的資源,也還能夠實現無刷新地更新Web客戶端屏幕內容。藍夢客戶關係信息管理系統(CRM系統)應用JavaScript + AJAX(Asynchronous JavaScript and XML,異步JavaScript和XML)技術實現RIA的效果——其中JavaScript用於客戶端界面的顯示和數據處理,而AJAX技術則用於客戶端與伺服器的信息傳輸。

因為JavaScript在客戶端的表現力不容置疑,利用JavaScript腳本語言程序幾乎可以實現類似Windows應用程式界面效果。而AJAX技術一直被用於實現「無刷新」的Web頁面,它和JavaScript腳本程序相互配合可以完成數據從Web伺服器和Web客戶端的傳輸。

3、Web應用系統用戶界面設計的基本原則——儘可能操作簡單和方便用戶應用

軟體應用系統的設計和開發人員必須重視系統表示層內的相關組件的設計和編程實現,這不僅包括程序組件的結構和組件類之間的關係,努力提升軟體應用系統的用戶體驗。而且也還包括Web應用系統的用戶體驗設計,在設計和功能實現時除了應該要遵守如下的基本原則:以用戶為中心、視覺美觀、主題明確、內容與形式統一等原則之外,也還需要遵守如下的原則。

(1)遵守簡單明了、簡潔清新的原則

俗話說「簡約就是美(簡單就是美)」,這個短短的一句話就道出了美麗的實質。軟體應用系統的設計人員(特別是界面設計者如前端美工人員)尋找和發現美麗,卻常常忘了美麗其實是很簡單的——這反映在軟體應用系統的用戶界面的設計方面,用戶操作的要求和交互的信息要儘可能以最直接、最形象和最易於理解的方式呈現在用戶面前。

下圖所示為示例項目銀行帳戶信息管理系統中的開戶操作的功能頁面內容設計效果圖示局部截圖。

(2)遵守操作靈活、使用方便的設計原則

符合用戶應用習慣和方便用戶使用的第一原則;另外,為了能夠方便用戶儘快地熟悉本軟體應用系統,應該簡化軟體應用系統中的核心功能的操作過程,儘可能地提供操作嚮導形式的操作界面;同時再輔助提供實時幫助提示信息(文字、圖片或者聲音等形式)以進一步提示在完成某個功能操作過程中的各種要求。

在示例項目銀行帳戶信息管理系統中大量地應用Ajax(Asynchronous JavaScript and XML,異步JavaScript 和XML)技術提供實時、有針對性的幫助提示信息(文字、圖片或者聲音等形式),請見下圖所示的用戶登錄功能頁面中的用戶名稱動態提示的圖示效果。

因為軟體應用系統的使用者(也就是通常所指的用戶)不一定全都是計算機專業的技術人員或者相關的專業人員,而無需提供有關的幫助提示信息。軟體應用系統本身在運行過程中應該要根據功能操作的實現過程分時、分步提供在線求助的功能,甚至為用戶提供使用嚮導,這無疑會給使用者用戶帶來極大的方便性和簡潔性。

4、每個Web頁面文件的容量應該儘可能小以達到快速瀏覽和顯示

在軟體應用系統的Web頁面設計時,系統前端設計和開發人員首先應該儘可能地減小每個Web頁面的文件長度以減少Web頁面的加載量——這就需要設計和開發人員儘可能地優化Web頁面內的HTML(HyperText Markup Language,超文本標記語言)標籤代碼,這包括在發布Web頁面時,去掉HTML文檔中的注釋信息以及冗餘的換行標記等標識說明信息類的標籤。

其次,還應該要在保證圖片精度的應用要求下儘可能地降低Web頁面中的各個圖片文件大小和數量,加快Web頁面加載的速度。

另外,許多Web頁面設計人員為了能夠使Web頁面更絢麗,通常會在Web頁面中內嵌Flash動畫或者Gif動態圖片文件以輔助提供動態信息的應用要求,但如果在Web頁面中濫用Flash動畫會嚴重影響Web頁面的響應速度。

5、保證Web頁面的瀏覽效果能夠兼容各種主流的瀏覽器軟體

基於B/S(Browser/Server,瀏覽器/伺服器模式)體系架構的軟體應用系統的Web頁面需要適應和滿足面向全世界或者某個地區的訪問者的瀏覽要求,而這些訪問者可能會使用不同廠商所提供的不同的瀏覽器軟體。而目前不同廠商的瀏覽器系統對W3C組織所發布的HTML標準的支持是有差別的,導致軟體應用系統中的同一Web頁面在不同的瀏覽器系統環境中的瀏覽顯示效果最終表現出不相同的效果。

因此,系統前端設計和開發人員還需要針對不同的Web瀏覽器進行兼容方面的測試,並提供對應的解決方案——如Internet Explorer、Firefox、Chrome和Opera等瀏覽器。

為此,在Web頁面設計時應該應用「CSS+DIV」技術實現。因為,採用「CSS+DIV」技術實現的Web頁面不但符合W3C組織所發布的HTML標準,並且還非常美觀。下圖所示為示例項目銀行帳戶信息管理系統在微軟IE瀏覽器中的瀏覽效果的局部截圖。

相關焦點

  • 軟體項目實訓及課程設計指導——系統概要設計中的組件設計示例
    軟體項目實訓及課程設計指導——軟體系統概要設計中的組件設計示例1、UML技術規範中的UML組件及UML組件圖UML技術規範中的組件是軟體應用系統的一個物理單元,它代表軟體應用系統中的一個物理實現的功能模塊——在Java技術平臺中一般為一個*.jar包文件。
  • 軟體項目實訓及課程設計指導——如何實現面向服務的系統架構設計
    軟體項目實訓及課程設計指導——如何實現面向服務的系統架構設計1、什麼是基於SOA的軟體系統架構(1)什麼是面向服務的軟體系統體系架構所謂的SOA(Service-Oriented Architecture,面向服務的軟體系統體系架構
  • 軟體項目實訓及課程設計指導——明確教學環節及了解學生的現狀
    作者多年在高校軟體學院兼職本科生和研究生的「項目實訓」、「課程設計」等校企合作實訓類課程的教學指導中,發現目前高校計算機類、軟體工程類專業的學生課程設計教學中不僅缺少一類有指導性、實用性和規範性並且與目前企業級應用系統開發相接近的《J2EE核心技術》等課程設計和項目實訓類的教學參考資料和教學指導,而且目前企業級軟體系統開發中所需要的「流程和規範」、「思想和原則
  • 課程設計指導——如何應用XML+XSLT技術分離Web表示層數據和樣式
    軟體項目實訓及課程設計指導——如何應用XML+XSLT技術分離Web表示層數據和樣式1、「XML+XSLT」技術在J2EE技術平臺中的應用Java語言及相關的應用技術的產生解決了跨平臺的軟體應用系統的開發,但沒有解決如何實現跨平臺的數據交換問題。
  • 如何在Web應用系統表示層開發實現中應用Velocity模板技術
    軟體項目實訓及課程設計指導——如何在Web應用系統表示層開發實現中應用Velocity模板技術1、分離Web表示層的數據處理和展現邏輯的常見的應用技術分離Web表示層的數據處理和展現邏輯是目前企業級的Web應用系統開發中表現層組件開發實現中的基本實現目標。
  • 軟體項目實訓及課程設計指導——可擴展和可重用是架構設計的目標
    軟體項目實訓及課程設計指導——可擴展性和可重用性是面向對象架構設計的主要目標1、什麼是合理的軟體應用系統的系統架構設計軟體應用系統的設計人員經常會陷入一種困惑,面向對象系統架構設計結果的評價標準是什麼?
  • 課程設計指導——如何應用OSCache緩存框架提高Web頁面響應性能
    軟體項目實訓及課程設計指導——如何應用OSCache緩存框架提高Web頁面響應性能1、緩存應用技術是提高軟體應用系統性能的最簡單和最有效的方式之一在計算機的軟硬體系統中大量地應用緩存(Cache)技術,所謂「緩存」是指位於「目標」(可以為軟體類的應用系統,也可以為硬體設備或者部件
  • 如何優化Web應用數據訪問實現方式以提高軟體應用系統的響應性能
    軟體項目實訓及課程設計指導——如何優化Web應用數據訪問實現方式以提高軟體應用系統的響應性能在軟體應用系統中離不開數據訪問和數據處理兩個方面的功能,而數據處理之前首先要進行數據訪問,也就是只有快速地獲得了數據,才能進行下一步的數據處理。
  • 如何保證軟體應用系統架構設計結果的可擴展性和可重用性(上篇)
    軟體項目實訓及課程設計指導——如何保證軟體應用系統架構設計結果的可擴展性和可重用性(上篇)1、良好的可重用性軟體系統架構設計結果的主要體現可重用性的軟體應用系統的系統架構設計結果主要體現在如下兩個方面——本項目的系統架構設計的結果是可重用的和在本項目的系統架構設計中重用成熟的系統架構設計方案
  • 如何應用Web頁面靜態化技術以提高J2EE Web應用系統的響應性能
    軟體項目實訓及課程設計指導——如何應用Web頁面靜態化技術提高Web應用系統的響應性能1、什麼是Web頁面靜態化技術(1)Web頁面靜態化技術將JSP動態頁面按照某種模板格式生成對應的*.html純靜態Web頁面的過程
  • 如何正確地設計J2EE應用系統持久層中的各個組件結構及組件間關係
    軟體項目實訓及課程設計指導——如何正確地設計J2EE應用系統持久層中的各個組件結構及關係1、了解J2EE應用系統數據持久層中的各個組件類的類型在J2EE系統平臺下的軟體應用系統的數據持久層,一般都包含有如下的各個組件類:實體類、數據訪問對象類(包括接口和對應的實現類
  • 軟體項目實訓及課程設計指導——實體類結構和類關係的設計示例
    軟體項目實訓及課程設計指導——系統概要設計中的實體類結構和關係的設計示例1、軟體應用系統中的實體類及主要的作用軟體應用系統中的實體類主要是指軟體系統中代表人、地點、事物或概念等方面的數據對象。因為當實體類對象實例在內存中被創建後,它們不可能永遠地存在——計算機中的內存是無法永久地保存數據的,因此必須對這些實體類對象實例進行持久化操作。否則,如果這些對象實例沒有被持久化,則該實體類對象實例的信息將在軟體應用系統結束運行後隨之也將被消失掉。
  • 課程設計指導——如何應用Java反射技術靈活地創建程序類對象實例
    軟體項目實訓及課程設計指導——如何應用Java反射技術靈活地創建程序類的對象實例1、如何應用屬性配置文件實現對系統中的配置信息進行讀寫操作Java中的屬性配置文件主要可以作為軟體應用系統及項目的配置文件,比如許多J2EE的開源框架系統中都提供了屬性配置文件作為該應用框架的對外配置文件
  • 課程設計指導——應用AJAX技術提高Web應用系統的整體響應性能
    軟體項目實訓及課程設計指導——應用AJAX技術提高Web應用系統的整體響應性能1、軟體應用系統的性能指標是衡量軟體應用系統優劣程度的一個重要指標Web應用系統由於是基於HTTP協議產生請求、並由Web伺服器端程序處理對應的請求、最後再次通過HTTP響應向Web
  • 應用XML+XSLT技術分離Web應用系統中表示層數據和樣式的實例
    軟體項目實訓及課程設計指導——應用XML+XSLT技術分離Web應用系統中表示層數據和樣式的實例1、在J2EE應用系統中應用XSLT實現XML文檔轉換的基本過程(1)首先,創建出目標XML格式文檔文件,該XML格式文檔文件代表應用系統中的數據模型
  • 如何應用EhCache緩存框架提高J2EE Web應用系統持久層的響應性能
    軟體項目實訓及課程設計指導——如何應用EhCache緩存框架提高應用系統持久層響應性能1、在Web應用系統中應用持久層相關的緩存框架在Java應用程式開發實現和J2EE Web應用系統的設計和開發實現中,軟體應用系統的設計和開發實現人員可以在系統的表示層和系統的持久層中充分地應用緩存機制和相應實現技術能夠大大地提高
  • 如何合理地創建對象實例以降低程序類之間關係的耦合度
    軟體項目實訓及課程設計指導——如何合理地創建對象實例以降低程序類之間關係的耦合度1、對象創建是面向對象OOP編程技術中不可缺少的一件事情創建類的對象實例是在所有的面向對象而其中的調用關係是通過對目標對象實例中的對外的功能服務方法實現的(public方法),因此軟體應用系統的設計人員有必要合理地進行對象實例的創建以降低程序類之間關係的耦合度。
  • 如何在Web應用中實現Velocity 與Struts2框架相互集成的應用實例
    軟體項目實訓及課程設計指導——如何在Web應用系統中實現Velocity 與Struts2框架相互集成的應用實例1、Struts 2應用框架提供對 Velocity 和 FreeMarker 模板引擎的支持在Struts 2應用框架中不僅繼續保留有對Velocity
  • PTS系列電力電子開發設計與實訓系統的應用
    打開APP PTS系列電力電子開發設計與實訓系統的應用 海洋興業科技 發表於 2021-01-17 10:32:03 PTS系列機櫃式電力電子開發設計與實訓系統平臺
  • 如何應用策略設計模式分離JDBC資料庫連接中的外部環境信息
    軟體項目實訓及課程設計指導——如何應用策略設計模式分離JDBC資料庫連接中的外部環境信息1、什麼是策略(Strategy)設計模式策略設計模式把「算法」(也就是軟體應用系統中的業務規則或者待實現的功能等)和「環境」(封裝軟體應用系統在實際應用時的場景)相互分離