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

2020-12-05 楊教授工作室

軟體項目實訓及課程設計指導——如何合理地設計軟體應用系統的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瀏覽器中的瀏覽效果的局部截圖。

相關焦點

  • 如何合理地設計軟體應用系統中數據訪問服務層內的各個功能程序類
    軟體項目實訓及課程設計指導——如何合理地設計數據訪問服務層中的各個功能程序類作者已經在本系列文章《軟體項目實訓及課程設計指導--如何正確地設計J2EE應用系統持久層中的各個組件結構及關係》中為讀者介紹了為什麼要設計和應用數據訪問服務接口的目的及如何設計該接口以真正達到利用數據訪問服務層組件隔離業務處理邏輯和數據訪問操作邏輯的應用效果
  • 如何正確地應用Web MVC架構模式分離表示層和模型處理層耦合關係
    軟體項目實訓及課程設計指導——如何正確地應用Web MVC架構模式分離表示層和模型處理層耦合關係1、MVC體系架構設計模式是用來幫助系統設計人員控制「變化」的一種設計模式MVC體系架構設計模式是上世紀80年代在Smalltalk-80中出現的一種軟體設計模式
  • 如何應用數據訪問服務層分離系統中的業務層和持久層之間耦合關係
    軟體項目實訓及課程設計指導——如何應用數據訪問服務層分離業務層和持久層之間耦合關係作者已經在本系列文章《軟體項目實訓及課程設計指導--如何正確地設計J2EE應用系統持久層中的各個組件結構及關係》中為讀者介紹了為什麼要設計和應用數據訪問服務接口的目的及如何設計該接口以真正達到利用數據訪問服務層組件隔離業務處理邏輯和數據訪問操作邏輯的應用效果
  • 在軟體系統設計中如何降低軟體系統中程序類之間耦合關係(上篇)
    軟體項目實訓及課程設計指導——如何降低軟體系統中程序類之間耦合關係(上篇)1、分離軟體應用系統中各個模塊類的接口定義和對應接口的具體功能實現面向對象程序類設計的五大原則中的「開放-封閉原則」 ( OCP,Open-Close Principle)倡導分離接口的定義和接口的具體功能實現的設計原則
  • 基於Android的嵌入式Web伺服器設計
    本文主要論述了基於Android系統環境,在家庭網關中實現嵌入式Web伺服器的設計方法,介紹了i-jetty嵌入式Web伺服器,及其Web應用功能的實現。本文的主要內容是研究基於家庭網關的嵌入式系統,實現簡單實用的Web伺服器功能,為外部網絡提供一個方便快捷地訪問和控制家庭內部資源的平臺。由於Android作業系統能方便地將各種應用程式嵌入網絡,以及開放性好、支持硬體豐富的特點,本文選擇Android作業系統作為家庭網關設計的軟體平臺來建立Web伺服器。
  • 一種嵌入式Web伺服器的設計方案
    RS232串口一方面是作為開發調試用的,一方面可以作為相應的通信應用。I/O口擴展包括系統的LED顯示電路、JTAG調試電路以及其他測試電路等。(3)系統的軟體設計方案Web伺服器是在嵌入式TCP/IP協議棧的基礎上實現的一種應用程式。
  • App設計VS Web設計:互相學習到了什麼
    如果你誠實地加上一個功能,這個功能為你的用戶提供了更多價值,那重要的是找到一個將它(功能)融入你現有的用戶體驗的方法,這值得一試。但千萬不要加入不必要的功能。2、保持獨特和新鮮App開發者們很清楚保證自己的作品不同於現有的同類軟體,是令自己的App成功並流行的重要因素。想要取得市場,必須讓產品獨特且新鮮。
  • 如何在基於面向服務架構設計的項目中應用WebService技術(上篇)
    軟體項目實訓及課程設計指導——如何在基於面向服務系統架構設計的項目中應用Web Service技術(上篇)1、了解軟體系統開發人員所能夠獲得的各種層次的功能服務及所存在的問題(1)計算機作業系統中所提供的「Service」(服務)
  • 智能製造設計工具軟體工作室
    mudbox5款設計軟體,AutoCAD 是一款二維繪圖軟體,多應用於製造業、建築業的圖紙設計。Autodesk Inventor 是一款三維機械設計軟體,用於製造業的模型設計。Autodesk Revit 是一款三維建築設計軟體,用於建築業的模型設計。Autodesk 3DS Max 是一款三維模型、動畫設計軟體,用於室內設計、動畫設計等。Autodesk Mudbox 是一款數字雕刻與紋理繪畫軟體,為學生學習設計工具軟體提供多款學習軟體。
  • Web 設計和開發工具指南
    Adobe Dreamweaver類型: 付費(就像所有的 Adobe 工具一樣, 這是一個軟體, 你可以每個月訂閱他們的計劃)。Adobe Dreamweaver 是為各個階段的網站和各種技能級別的 web 開發者設計的工具。 從直觀的代碼編輯功能到實時視圖, 它給你各種選項來設計和編輯你的網站。
  • 電工電子電拖技術創新設計實驗臺(電工基礎實訓裝置)參數及介紹
    一、概述「電工電子技術創新設計實驗臺」是本公司在總結國內電工實訓設備基礎上採用成熟的技術推出的新型實訓裝置,綜合了目前我國大學本科、專科、中專及職校「電路分析」、「電工基礎」、「電工學」、 「模擬電子技術」、 「數字電路」、「電機控制」、「繼電接觸控制」及「電力拖動」等課程實訓大綱的要求而研製,特別適用於高等院校現有實訓設備的更新換代
  • 2020年最佳Web設計軟體
    2.Sketch作為多功能數字設計工具,Sketch目前可能是Photoshop的最大競爭對手。在過去的幾年中,它已經成為用於創建和原型製作的非常流行的Web設計工具。該網頁設計軟體附帶許多必不可少的工具,可幫助您更快地工作。
  • Web前端應用十種常用技術
    隨著JS與XHTML的應用普及,越來越多的web界面應用技術出現在網站上,比如我們常見的日曆控制項,搜索下拉框等,這些web界面應用技術大大的豐富了網站的表現形式,本文將為您精心推薦十種最常見的web界面應用技術。Web應用程式的界面設計,其核心就是網頁設計 ,但它的重點主要是在功能方面。
  • 3D建築實訓課程:建築工程—防水工課程上線
    課程概要:該課程根據實際設計方案,介紹地下室外牆防水、地下室防水混凝土、剛性保溫防水屋面、柔性防水上人/非上人保溫防水屋面、塗膜和卷材防水屋面、衛生間防水、塗膜和塗料防水層、水泥砂漿防水層等施工工藝。
  • Sketch or Figma誰才是UI設計軟體的未來?
    尤其今年以來,已經有非常多的公司正在從Sketch切換到Figma,比如大家耳熟能詳的Twitter、微軟、Github等,國內也有網易的設計團隊開始利用這款工具開展遠程協作設計。那麼Figma究竟如何在國內外收割這麼多擁躉,以至於搶佔Sketch的用戶呢?
  • 【項目案例】BIM技術在寧波軌道交通設計項目中的應用
    2 BIM在設計階段的應用 協同設計:首先建立了建築模型、結構模型,對建築結構模型進行了設計校核。 牆量統計:把REVIT模型導入到VICO系統中根據預留的運輸通道,可以計算出整個通道上分隔牆的工程量,指導項目經理合理安排砌牆工期。
  • 什麼才是真正的架構設計?
    我在這重新定義架構:軟體架構指軟體系統的頂層結構。架構是經過系統性地思考, 權衡利弊之後在現有資源約束下的最合理決策, 最終明確的系統骨架: 包括子系統, 模塊, 組件. 以及他們之間協作關係, 約束規範, 指導原則.並由它來指導團隊中的每個人思想層面上的一致。涉及四方面:系統性思考的合理決策:比如技術選型、解決方案等。
  • STEAM課程如何設計?6個步驟輕鬆搞定!
    經過800多個晝夜的辛勤勞作,澳翔教育(ARS Education)在總結對Y1-7系統課程設計、教學、總結等一系列環節後,第一次解密了教師團隊備課流程嚴格遵守的6個步驟。澳翔教育作為澳大利亞領先的科學技術工程數學(STEM)項目提供商,正在建立一個綜合的生態系統,通過STEM課程來進行個性化學習的培養,目的是激發兒童的創新和智力發展。而在澳翔教育的課程中,Makeblock mBot 系列機器人是他們教學工具中唯一的機器人產品,澳翔教育使用 Makeblock 產品開發課程,並潛心設計、總結、鑽研備課流程。
  • BIM技術在建築給排水設計中的應用
    不同種類的管道其安裝要求不同,因此合理地布置給水排水管道顯得格外重要。    3、佔建築工程的投資少,但作用大    給水排水工程一般佔整個項目投資的10%不到,但是給水排水的設計決定了建築是否安全和舒適,因此給水排水工程是建築必不可缺的組成部分。
  • iPad網頁設計類應用軟體推薦
    本文是來自mobiweb20.com的一篇文章,介紹了20個iPad網頁設計類的應用程式,尤其適合於使用iPad進行UI設計的程式設計師。iMockupsiMockups 可以讓你直接在 iPad 上進行 Web 網頁設計。