自考電子商務網站設計原理-第五章-電子商務網站系統分析與設計 PPT課件_第1頁
自考電子商務網站設計原理-第五章-電子商務網站系統分析與設計 PPT課件_第2頁
自考電子商務網站設計原理-第五章-電子商務網站系統分析與設計 PPT課件_第3頁
自考電子商務網站設計原理-第五章-電子商務網站系統分析與設計 PPT課件_第4頁
自考電子商務網站設計原理-第五章-電子商務網站系統分析與設計 PPT課件_第5頁
已閱讀5頁,還剩225頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1 第五章電子商務網站系統分析與設計 2 網站系統分析的特點 網站成為信息系統中重要和關鍵部分 將原來的管理變為瀏覽器 服務器模式擴展到電子商務功能 新的營銷管理方式新系統會涉及業務流程的重組系統管理方式變化為網絡化 3 5 1 1系統分析的任務和目標 系統調查系統調查的目的系統調查的重點是用戶與現行系統的整體關系 現行系統與外部的關系 系統的能力 資源及受到哪些條件的限制 系統調查的內容 組織結構 功能業務 目標和發展戰略 外部環境等等 4 5 1 1系統分析的任務和目標 網上能開展的業務分析系統業務分析是電子商務應用系統和功能模塊的基礎 分析發現現有的業務流程和模式 仔細研究企業自身的需求 確定上網業務 目標客戶調查與分析確定網站目標客戶 對網上客戶現實的潛在的需求進行分析 吸引住目標客戶才能成功 分析方式是分為網站建設前和開通后 5 5 1 1系統分析的任務和目標 競爭對手調查與分析了解競爭對手是否開展網絡業務 洞察網上對手的情況 分析現有和潛在對手的優勢和劣勢 研究對手的網絡運營情況和電子商務效果 確定競爭對手了解競爭對手的電子商務戰略和主要網上業務一定要有戰略意識地考察對手的網站 電子商務網站的市場定位市場定位的主要工作競爭性分析 確定本企業優勢競爭對手網站內容結構與運行效果分析 確定本企業網站架構新產品開拓分析 確定未來發展方向 6 5 1 2系統分析工具 組織結構與功能分析了解組織的目標及戰略規劃了解組織機構及其各部分的功能了解相關部門職能上的各種聯系分析組織機構的合理性分析組織機構設置的合理性發現其中的問題提出改進的意見 7 8 組織 業務關系圖 9 業務功能分析 層次結構圖又稱為組織機構圖 系統必須設定要實現的功能 功能要以組織結構為背景來識別和調查 因為每個組織都是一個功能機構 都有各自不同的功能 調查時要按部門的層次關系進行 然后用歸納法找出它的功能 形成各層次的功能結構 組織結構與功能結構又不完全一致 各組織 各部門的功能 由于各種原因 有可能重疊 許多功能可能還需要多個部門協力完成 一個部門的功能也不能不是惟一的 可能需要完成多種功能 把各部門的功能以及相互之間的功能合作關系用一張二維表格繪制出來 就是組織 功能關系表 10 業務功能分析 以組織結構圖為背景分析清楚各部門的功能后 分層次將其歸納 整理 形成各層次的功能結構圖 自上而下逐層歸納 整理 形成以系統目標為核心的整個系統的功能結構圖 現行的系統的許多功能多數由手工完成 手工處理慢 處理功能分得較細 環節又多 甚至由于某些歷史原因造成一些不合理的處理設置 那么 在分析歸納過程中 就要把不合理的流程取消 把功能相信或工作順序相近的處理功能盡量合并 還人分析歸納后的功能是否能達到新系統目標以及應設置的功能是否已經具備等 經分析后的系統功能結構一般是多層次的樹型結構 一般最后一級功能是不能再分割的 11 業務功能分析 12 業務流程圖例 業務處理單位 業務處理功能描述 報表表格制作 數據文件存檔 收集 統計數據 信息傳遞過程 13 例1 業務流程圖繪制圖表 14 例2 某領料業務流程圖繪制舉例 15 數據流程圖DataFlowDiagram 16 1 數據流程圖的四個基本成分 數據存儲 或 數據流 或 外部項 或 數據處理 加工 17 1 數據流 表示數據和數據流向 由一組固定成分的數據組成如 選課單 由 學號 姓名 課程編號 課程名 等成分組成數據流可從加工流向加工 也可在加工與數據存儲或外部項之間流動 兩個加工之間可有多股數據流數據流的命名用名詞 不要使用意義空洞的名詞盡量使用現實系統已有名字 18 數據流 圖示 與 或 19 畫數據流時需注意的問題 不要把控制流作為數據流如 下圖中讀下張卡屬于控制流 不應畫出 不要標出激發條件 合法卡片 卡片信息 讀入卡片 卡片校驗 讀下張卡 工資單 工資率 計算工資 每月1號 職工檔案 20 2 加工 表示對數據進行的操作 如 處理選課單 產生發票 等加工的編號 說明這個加工在層次分解中的位置 分層DFD 加工的命名頂層的加工名就是整個系統項目的名字盡量最好使用動賓詞組 也可用主謂詞組不要使用空洞的動詞 21 加工的命名 無意義的名字 較好的命名 22 3 數據存儲 表示需要保存的數據流向 如 學生檔案 課程設置 等數據存儲與加工的方向 讀出 寫入 分層數據流程圖中 數據存儲一般局限在某一層或某幾層命名方法與數據流相似 商品庫存 商品目錄 23 4 外部項 位于系統之外的信息提供者或使用者 稱為外部項 即存在于系統之外的人員或組織 如 學務科 等說明數據輸入的源點 數據源 或數據輸出的終點 數據終點 起到更好的理解作用 但不是系統中的事物 24 數據流程圖的基本符號 數據源或外部實體 處理過程 數據存儲 數據流向 25 S 2 1 3 2 2 2 1 2 3 3 1 3 2 頂層 0層 1層 基本系統模型 系統的子功能 DFD的分層表示 26 2 畫分層DFD 1 先畫出頂層DFD 2 自頂向下畫出各層DFD分解原則 分解后的軟件成分有相對獨立功能一次分解不要加入細節過多由外向里畫DFD 報名單 合格報名單 檢驗報名單 27 2 畫分層DFD 3 先考慮穩定狀態 忽略系統的工作條件 即怎么開始 怎么結束的 4 忽略瑣碎的枝節 如出錯處理等 5 隨時準備重畫 28 3 畫分層DFD的指導原則 1 父圖 子圖平衡 2 局部數據存儲 3 編號 4 分解的程度 29 父圖 子圖平衡 父圖 子圖平衡 模型分解時必須保持父圖的輸入輸出數據流和子圖輸入輸出數據流相同 30 父圖 子圖平衡 31 父圖 子圖平衡 32 顧客 供應商 1 處理業務 訂貨單 發貨單 訂貨單 發貨單 配件庫存 汽車配件公司 第一層數據流程圖 例3 數據流程圖繪制舉例 33 顧客 供應商 銷售 訂貨單 發貨單 配件庫存 汽車配件公司 第二層數據流程圖 1 1 采購 1 2 訂貨單 發貨單 到貨通知 會計 1 3 收據 應付款通知 向供應商的訂貨單 34 顧客 采購 編輯訂貨單 訂貨單 配件庫存 汽車配件公司 第三層數據流程圖 1 1 1 確定顧客訂貨 1 1 3 產生暫存訂貨單 1 1 5 對照暫存訂貨單 1 1 6 業務員 開發貨單并修改庫存 1 1 4 不合格 顧客 D2 D3 可發訂貨 不滿足的訂貨 登錄新顧客數據 1 1 2 暫存訂貨單 D4 到貨通知 新顧客 編制銷售和庫存報表 1 1 8 銷售歷史 D5 應收款明細賬 D10 配件庫存 D3 合格的訂貨單 檢索庫存 1 1 7 經理 詢問庫存 庫存狀態 35 例4 百貨商店頂層流程圖 36 百貨商店業務處理一級分解 37 銷售處理二級流程圖 38 采購處理二級流程圖 39 會計處理二級流程圖 40 數據源或終點 處理過程 41 分解的程度 分解的深度與層次 按功能情況定 一般設深度為3 5如超過5個加工最好分解畫 否則容易出錯 42 實例 圖書館管理系統 購入新書讀者借書讀者還書圖書注銷查詢統計 43 一 系統功能說明 44 購入新書 新書編卡片 包括 類目錄號 流水號 唯一 書名 作者 內容摘要 價格 購書日期等信息 寫入圖書目錄文件 45 讀者借書 填借書單 包括 讀者號 欲借圖書分類目錄號 檢查讀者號有效性 無效 拒借讀者號有效 檢查借書是否超數 已達5本 拒絕借未超 可借 登記圖書分類目錄號 讀者號 借閱日期等 寫回借書文件中 46 讀者還書 根據圖書流水號 從借書文件中讀出與該書相關的借閱記錄 查明借書日期 還書日期 求借書時間 再重寫回借書文件中 超過期限罰款 47 圖書注銷 從借閱圖書文件中刪除相關記錄丟失圖書時從圖書文件中刪除相關記錄并罰款 48 查詢統計 查詢某讀者情況查詢某圖書借閱情況統計圖書借閱情況 49 二 數據流程圖 50 頂層數據流圖 圖書管理人員 圖書管理系統 讀者 圖書管理要求 查詢要求 查詢結果 罰款單 51 處理查詢 2 處理要求 1 查詢要求 圖書管理要求 罰款單 統計表 圖書情況 讀 者 情 況 0層數據流圖 目錄文件 借書文件 52 要求類型處理 圖書管理要求 無效輸入 1 1 新書入庫 1 2 還 入庫單 罰款單 一層數據流圖 a 1 5 注銷圖書 1 3 還書 1 4 目錄文件 借書單 書 單 注銷單 借書 借書文件 罰款單 53 查詢類別處理 查詢要求 2 1 讀者查詢 2 2 統 查詢的讀者情況 統計表 一層數據流圖 b 圖書查詢 借書文件 要 查詢的圖書情況 2 3 圖書統計 2 4 計 求 讀者文件 目錄文件 讀者情況 圖書情況 54 二層數據流圖 1 3 檢查借書單 借書單 1 3 1 審定借書限額 1 3 2 無效借書單 借書文件 讀者文件 有效借書單 登記借書信息 1 3 3 合格借書單 超額借書單 55 二層數據流圖 1 4 審定還書期限 還書單 1 4 1 修改借書信息 1 4 2 借書文件 未超期還書單 計算超期罰款 1 4 3 還書單 超期還書單 罰款單 56 二層數據流圖 1 5 分類 注銷單 1 5 1 修改目錄 1 5 2 借書文件 目錄文件 圖書處理注銷單 計算罰款 1 5 3 圖書丟失注銷單 罰款單 57 5 2電子商務網站系統設計 5 2 1系統設計的步驟 確定電子商務網站功能定位確定網站的收費對象和收費規則確定網站欄目的功能確定網站的信息流和控制流網站的后臺管理網站的數據庫設計 58 5 2 2系統設計的任務和目標 系統設計的任務相關設計的概念系統設計又稱為物理設計 是開發管理信息系統的第二階段 系統設計通??煞譃閮蓚€階段進行 首先是總體設計 其任務是設計系統的框架和概貌 并向用戶單位和領導部門作詳細報告并認可 在此基礎上進行第二階段 詳細設計 這兩部分工作是互相聯系的 需要交叉進行 本章將這兩個部分內容結合起來進行介紹 系統設計是開發人員進行的工作 他們將系統設計階段得到的目標系統的邏輯模型轉換為目標系統的物理模型 該階段得到工作成果 系統設計說明書是下一個階段系統實施的工作依據 系統設計的主要任務總體設計 59 5 2 2系統設計的任務和目標 系統設計的任務系統設計的主要任務系統設計的主要任務是進行總體設計和詳細設計 下面分別說明它們的具體內容 1 總體設計總體設計包括系統模塊結構設計和計算機物理系統的配置方案設計 系統模塊結構設計系統模塊結構設計的任務是劃分子系統 然后確定子系統的模塊結構 并畫出模塊結構圖 在這個過程中必須考慮以下幾個問題 如何將一個系統劃分成多個子系統 每個子系統如何劃分成多個模塊 如何確定子系統之間 模塊之間傳送的數據及其調用關系 如何評價并改進模塊結構的質量 60 系統模塊結構設計配送管理信息系統貸記管理信息系統倉儲管理信息系統結算管理信息系統客戶管理信息系統決策支持信息系統報關管理信息系統行政管理信息系統統計管理信息系統財務管理信息系統合同管理信息系統 61 5 2 2系統設計的任務和目標 系統設計的任務系統設計的主要任務系統設計的主要任務是進行總體設計和詳細設計 下面分別說明它們的具體內容 1 總體設計計算機物理系統配置方案設計在進行總體設計時 還要進行計算機物理系統具體配置方案的設計 要解決計算機軟硬件系統的配置 通信網絡系統的配置 機房設備的配置等問題 計算機物理系統具體配置方案要經過用戶單位和領導部門的同意才可進行實施 開發管理信息系統的大量經驗教訓說明 選擇計算機軟硬件設備不能光看廣告或資料介紹 必須進行充分的調查研究 最好應向使用過該軟硬件設備的單位了解運行情況及優缺點 并征求有關專家的意見 然后進行論證 最后寫出計算機物理系統配置方案報告 從我國的實際情況看 不少單位是先買計算機然后決定開發 這種不科學的 盲目的做法是不可取的 它會造成極大浪費 因為 計算機更新換代是非??斓?就是在開發初期和在開發的中后期系統實施階段購買計算機設備 價格差別就會很大 因此 在開發管理信息系統過程中應在系統設計的總體設計階段才具體設計計算機物理系統的配置方案 62 5 2 2系統設計的任務和目標 系統設計的任務系統設計的主要任務 2 詳細設計在總體設計基礎上 第二步進行的是詳細設計 主要有處理過程設計以確定每個模塊內部的詳細執行過程 包括局部數據組織 控制流 每一步的具體加工要求等 一般來說 處理過程模塊詳細設計的難度已不太大 關鍵是用一種合適的方式來描述每個模塊的執行過程 常用的有流程圖 問題分析圖 IPO圖和過程設計語言等 除了處理過程設計 還有代碼設計 界面設計 數據庫設計 輸入輸出設計等 3 編寫系統設計說明書系統設計階段的結果是系統設計說明書 它主要由模塊結構圖 模塊說明書和其它詳細設計的內容組成 63 系統設計的目的 系統設計的目的是在保證實現邏輯模型功能的基礎上 盡可能提高目標系統的簡單性 可變性 一致性 完整性 可靠性 經濟性 系統的運行效率和安全性 將分析階段所獲得的系統邏輯模型 轉換成一個具體的計算機實現方案的物理模型 包括計算機物理系統配置方案報告和一份系統設計說明書 64 系統設計的主要工作 總體設計代碼設計和設計規范的制定系統物理配置方案設計數據存儲設計 包括數據庫設計 數據庫安全保密設計計算機處理過程設計 包括輸出設計 輸入設計 處理流程圖設計及編寫程序設計說明書等 65 5 2 3系統設計的方法 結構化設計的方法結構化設計 StructuredDesign SD 方法是使用最廣的一種設計方法 該方法適合于軟件系統的總體設計和詳細設計 特別是將一個復雜的系統轉換成模塊化結構系統 該方法具有它的優勢 結構化設計方法具有以下特點 相對獨立 功能單一的模塊結構結構化設計的基本思想是將系統設計成由多個相對獨立 功能單一的模塊組成的結構 由于模塊之間相對獨立 每一模塊就可以單獨地被理解 編寫 測試 排錯和修改 從而有效地防止錯誤在模塊之間擴散蔓延 提高了系統的質量 可維護性 可靠性等 因此 大大簡化了系統研制開發的工作 塊內聯系大 塊間聯系小 的模塊性能標準 模塊內部聯系要大 模塊之間聯系要小 這是結構化設計中衡量模塊 相對獨立 性能的標準 事實上 塊內聯系和塊間聯系是同一件事的兩個方面 系統中各組成成分之間是有聯系的 若把聯系密切的成分組織在同一模塊中 塊內聯系高了 塊間聯系自然就少了 反之 若把密切相關的一些組成成分分散在各個模塊中 勢必造成很高的塊間聯系 這將影響系統的可維護性 所以 在系統設計過程中一定要以結構化設計的模塊性能標準為指導 采用模塊結構圖的描述方式結構化設計方法使用的描述方式是控制結構圖 模塊結構圖 66 模塊結構圖是用于描述系統模塊結構的圖形工具 它不僅描述了系統的子系統結構與分層的模塊結構 還清楚地表示了每個模塊的功能 模塊結構圖的五種基本符號 67 68 模塊 模塊是可以組合 分解和更換的單元 是組成系統 異于處理的基本單位 調用 在模塊結構圖中 用連接兩個模塊的箭頭表示調用 箭頭總是由調用模塊指向被調用模塊 但是應該理解成被調用模塊執行后又返回到調用模塊 69 數據 當一個模塊調用另一個模塊時 調用模塊可以把數據傳送到被調用模塊處處理 而被調用模塊又可以將處理的結果送回調用模塊 在模塊之間傳送的數據 使用與調用箭頭平行的帶空心圓的箭頭表示 并在旁邊標上數據名 70 控制信息 為了指導程序下一步的執行 模塊間有時還必須傳送某些控制信息 例如 數據輸入完成后給出的結束標志 文件讀到末尾產生的文件結束標志等 控制信息與數據的主要區別是前者只反映數據的某種狀態 不必進行處理 在模塊結構圖中 用帶實心圓的箭頭表示控制信息 轉接符號 模塊結構圖在一張圖面上畫不下 需要轉接到另外一張紙上 或為了避免圖上線條交叉時 都可使用轉接符號 圓圈內加上標號 71 系統流程圖 系統流程圖 SystemFlowchart 是描繪系統物理模型的傳統工具 它的基本思想是用圖形符號以黑盒子形式描繪系統里面的每個部件 程序 文件 數據庫 表格 人工過程等 表達信息在各個部件之間流動的情況 系統流程圖表達的是系統各部件的流動情況 而不是表示對信息進行加工處理的控制過程 系統流程圖的作用表現在以下幾個方面 1 制作系統流程圖的過程是系統分析員全面了解系統業務處理概況的過程 它是系統分析員做進一步分析的依據 2 系統流程圖是系統分析員 管理員 業務操作員相互交流的工具 3 系統分析員可直接在系統流程圖上畫出可以有計算機處理的部分 4 可利用系統流程圖來分析業務流程的合理性 72 系統流程圖的符號 73 用系統流程圖描述現行系統工作流程該圖是用系統流程圖表示的人工銷售教材的一個物理模型 這是一個純人工操作的系統 信息流始于學生 又終于學生 74 信息系統流程圖模塊結構圖主要從功能的角度描述了系統的結構 但在實際工作中許多業務和功能都是通過數據存儲文件聯系起來的 而這個情況在模塊結構圖中未能反映出來 系統流程圖可以反映各個處理功能與數據存儲之間的關系 系統流程圖以新系統的數據流圖和模塊結構圖為基礎 首先找出數據之間的關系 即由什么輸入數據 產生什么中間輸出數據 可建立一個臨時中間文件 最后又得到什么輸出信息 然后 把各個處理功能與數據關系結合起來 形成整個系統的信息系統流程圖 75 76 處理流程圖信息系統流程圖對每一處理功能只是列出其處理功能名稱 而處理流程圖則使用各種符號具體地規定了處理過程中的各個細節 包括程序名和文件名 處理流程圖實際上是系統流程圖的展開可具體化 屬于詳細設計的內容 應和處理功能的模塊設計一起進行 作為一個相對獨立的部分 各個處理功能有自己的輸入和輸出 其設計過程也要從輸入格式開始 進而設計輸出格式 文件格式等 下圖是工資管理子系統中建立扣款文件處理功能的處理流程圖 77 78 四 IPO圖IPO圖是對每個模塊進行詳細設計的工具 它是輸入加工輸出 INPUTPROCESSOUTPUT 圖的簡稱 它是由美國IBM公司發起并完善起來的一種工具 在系統的模塊結構圖形成過程中 產生了大量的模塊 在進行詳細設計時開發者應為每一個模塊寫一份說明 IPO圖就是用來說明每個模塊的輸入 輸出數據和數據加工的重要工具 目前常用的IPO圖的結構如圖5 26所示 IPO圖的主體是算法說明部分 該部分可采用結構化語言 判定表 判定樹 也可用N S圖 問題分析圖和過程設計語言等工具進行描述 要準確而簡明的描述模塊執行的細節 在IPO圖中 輸入 輸出數據來源于數據詞典 局部數據項是指個別模塊內部使用的數據 與系統的其它部分無關 僅由本模塊定義 存貯和使用 注釋是對本模塊有關問題作必要的說明 開發人員不僅可以利用IPO圖進行模塊設計 而且還可以利用它評價總體設計 用戶和管理人員可利用IPO圖編寫 修改和維護程序 因而 IPO圖是系統設計階段的一種重要文檔資料 79 N S圖簡介N S圖也被稱為盒圖或CHAPIN圖 流程圖由一些特定意義的圖形 流程線及簡要的文字說明構成 它能清晰明確地表示程序的運行過程 在使用過程中 人們發現流程線不一定是必需的 為此 人們設計了一種新的流程圖 它把整個程序寫在一個大框圖內 這個大框圖由若干個小的基本框圖構成 這種流程圖簡稱N S圖 80 81 82 IPO圖的主體是算法說明部分 該部分可采用結構化語言 判定表 判定樹 也可用N S圖 問題分析圖和過程設計語言等工具進行描述 要準確而簡明的描述模塊執行的細節 在IPO圖中 輸入 輸出數據來源于數據詞典 局部數據項是指個別模塊內部使用的數據 與系統的其它部分無關 僅由本模塊定義 存貯和使用 注釋是對本模塊有關問題作必要的說明 開發人員不僅可以利用IPO圖進行模塊設計 而且還可以利用它評價總體設計 用戶和管理人員可利用IPO圖編寫 修改和維護程序 因而 IPO圖是系統設計階段的一種重要文檔資料 83 IPO圖的處理過程描述較為困難 因為對于一些處理過程較為復雜的模塊 用自然語言描述其功能十分困難 并且對同一段文字描述不同的人還可能產生不同的理解 目前用于描述模塊內部處理過程有如下幾種方法 結構化英語方法決策樹方法判定表方法算法描述語言這幾種方法各有其長處和不同的適用范圍 在實際工作中究竟用哪一種方法 需視具體的情況和設計者的工作習慣而定 84 結構化英語結構化英語的特點是專門用來描述一個功能單元邏輯要求的 它不同于自然英語語言 也區別于任何一種特定的程序語言 是一種介于兩者之間的語言 結構化英語的特點它受結構化程序設計思想的影響 由三種基本結構構成 即順序結構 判斷結構和循環結構 結構化英語的關鍵詞結構化英語借助于程序設計的基本思想 并利用其中少數幾個關鍵詞來完成對模塊處理過程的描述 85 這幾個關鍵詞是 IF THEN ELSE SO AND OR 例 IFcustomerdoesmorethan 50 000businessTHENIFthecustomerwasn tindebttousthelast3monthsTHENdiscountis15 ELSE wasindebttous IFcustomerhasbeenwithusformorethan20yearsTHENdiscountis10 ELSE 20yearorless sodiscountis5 ELSE customerdoes 50 000ORLess sodiscountinnil 86 決策樹用決策樹來描述一個功能單元邏輯處理過程 其基本思路與結構化英語一脈相承 是結構化英語的另一種表現形式 而且是更為直觀方便的表現形式 如圖5 27 87 3 判斷表判斷表是另外一種表達邏輯判斷的工具 與結構化英語和決策樹方法相比 判斷表的優點是能夠把所有的條件組合充分地表達出來 但其缺點是判斷表的建立過程較為繁雜 且表達方式不如前兩者簡便 4 算法描述語言算法描述語言是一種具體描述算法細節的工具 它只能面向讀者 不能直接用于計算機 算法描述用于在形式上非常簡單 它類似程序用于 非常適合于那些以算法或邏輯處理為主的模塊功能描述 1 語法形式算法描述語言的語法不是十分嚴格 它主要由符號與表達式 賦值語句 控制轉移語句 循環語句 其它語句構成 算法描述語言的符號命名 數學及邏輯表達式一般與程序書寫一致 賦值用箭頭表示 語句可有標識 標識可是數字也可是具有實際意義的單詞 例 循環語句的累加可以表示為 loop i i 1 88 2 控制轉移語句無條件轉移語句用 GOTO 語句標識表示 條件轉移語句用 IFCTHENS1ELSES2 其中C S1和S2可以是一個邏輯表達式 也可以是一對花括號 括起來的語句序列 如果C為 真 則S1被執行 如果C為 假 則執行S2 例 IF工齡 THEN工資 工資 50ELSE 工資 工資 20 3 循環語句循環語句有兩種形式 WHILE語句的形式為 WHILECDOS 其中C和S同上 如果C為 真 且在每次執行S之后都要重新檢查C 如果C為 假 控制就轉到緊跟在WHILE后面的語句 FOR語句的形式為 FORi initTOlimitBYstepDOS 其中i是循環控制變量 init limit和step都是算術表達式 而S同上 每當S被執行一次時 i從初值加步長 直到i limit為止 4 其它語句在算法描述中 還可能用到其它一些語句 因為它們都是用最簡明的形式給出的 故很容易知道它們的含義 例 EXIT 退出RETURN 返回READ INPUT 讀 輸入 WRITE OUTPUT PRINT 寫 輸出 打印 89 控制流程圖 FC 控制流程圖 FLOWCHART 簡稱FC 又稱框圖 它是歷史最悠久 最常使用的程序細節描述工具 框圖的三種基本成分處理步驟 用矩形框表示 條件判斷 用菱形框表示 控制流 用箭頭表示 圖5 28就是使用這三種成分所表示的程序基本結構 可以把它們進行組合和嵌套 建立各種復雜的框圖以表示程序的復雜邏輯關系 90 91 框圖的缺點 從四十年代到七十年代中期 框圖一直是軟件設計的主要工具 隨著結構化程序設計的出現 逐步暴露出框圖的許多缺點 有許多人建議停止使用它 目前雖然還有許多人在使用著 然而總的趨勢是越來越多的人不再使用框圖了 框圖的主要缺點在于 它并不能引導設計人員用結構化設計方法進行詳細設計 人們可以使用箭頭實現向任何位置的轉移即 GOTO語句 如果使用不當時 框圖就可能非常難懂 而且無法進行維護 因此 箭頭是框圖中的一個隱患 使用時必須十分小心 框圖的質量在很大程度上取決于設計人員的水平 92 3 框圖的例子框圖的優點是清晰易懂 便于初學者掌握 例如 圖5 29描述了在數組K中找出最大數 MAXIMUM 和次大數 SECOND 的詳細處理過程 圖6 2 13中 數組變量 1 2 N 用來存貯N個原始數據 I是循環變量 最后找出的最大數和次大數分別放在變量MAXI和S中 93 94 問題分析圖 PAD 問題分析圖 PROBLEMANALYSISDIAGRAM 簡稱PAD 由日本日立公司二村良彥等人于1979年提出 是一種支持結構化程序設計的圖形工具 可以用來取代前面所述的控制流程圖 問題分析圖僅僅具有順序 選擇和循環這三種基本成分 如圖5 30所示 正好與結構化程序設計中的基本程序結構相對應 95 a 順序 b 選擇 c 循環 96 問題分析圖有邏輯結構清晰 圖形標準化等優點 更重要的是它引導設計人員使用結構化程序設計方法 從而提高了程序的質量 同時 通過比較確定的規則可以由問題分析圖直接產生程序 這就為程序設計的自動化開辟了光輝的前景 97 圖5 29的控制流程圖可以用問題分析圖表示成圖5 31 顯然該圖要比圖5 29簡單 清晰得多 問題分析圖的一個獨到之處在于 以問題分析圖為基礎 按照一個機械的變換規則就可以編寫出計算機程序 該規則稱為 走樹 TREEWALK 順著問題分析圖所呈的樹形結構移動 如圖5 31所示 依次將遇到的PAD基本成分變換成相應的程序結構 由圖5 31通過 走樹 可機械地產生如下的FOXPROW程序 98 MAXIMUM K 1 SECOND 0I 2DOWHILEISECONDIFK I MAXIMUMSECOND MAXIMUMMAXIMUM K I ELSESECOND K I ENDIFENDIFI I 1ENDDO MAXIMUM SECOND由于FOXPROW具有數組功能 為說明簡單起見 這里采用FOXPROW來書寫程序 99 七 過程設計語言 PDL 過程設計語言 PROCESSDESIGNLANGUAGE PROGRAM DESIGNLANGUAGE或PROGRAMDESCIPTIONLANGUAGE 簡稱PDL 是一個籠統的名字 目前有許多種不同的過程設計語言 過程設計語言用于描述模塊中算法和加工的具體細節 以便在開發人員之間比較精確地進行交流 過程設計語言由外層語法和內層語法構成 外層語法描述結構 采用與一般編程語言類似的確定的關鍵字 如IFTHENELSE WHILEDO等 內層語法描述操作 可以采用任意的自然語句 英語或漢語 例如 下面是一個用過程設計語言描述的算法 其中外層語法IFTHENELSE是確定的 而內層操作 X的平方根為實數 則是不確定的自由格式 IFX不是負數THENRETURN X的平方根為實數 ELSERETURN X的平方根為復數 100 由于過程設計語言同程序很相似 所以也稱為偽程序或偽代碼 但它僅僅是對算法的一種描述 是不可執行的 另外 同上一章介紹的結構化語言相比 過程設計語言則更詳盡地描述了算法的細節 事實上 結構化語言和過程設計語言的基本思想是一致的 只是側重點不同 前者用在系統分析階段描述用戶需求 它是給用戶看的 可以描述的比較抽象 后者用在詳細設計階段描述模塊的內部算法 這些算法是給編程人員看的 應該詳細 具體 過程設計語言主要用于描述系統中屬于計算型的下層模塊 同問題分析圖等圖形工具相比 過程設計語言具有以下優點 同自然語言 英語 很接近 易于理解 易于被計算機處理并存貯 例如用行編輯或字處理軟件就可以方便地對它進行修改編輯 可以從它自動產生程序 例如目前已研制出從PDL C產生C語言源程序的自動工具 但是過程設計語言也有它的不足之處 它的不足之處在于它不如圖形描述直觀 及英語使用的準確性要求較高 101 5 2 4總體架構設計 系統從整體到部分的最高層次的劃分一個系統通常是由元件組成的 而這些元件如何形成 相互之間如何發生作用 則是關于這個系統本身結構的重要信息 詳細地說 就是要包括架構元件 ArchitectureComponent 聯結器 Connector 任務流 Task flow 所謂架構元素 也就是組成系統的核心 磚瓦 而聯結器則描述這些元件之間通訊的路徑 通訊的機制 通訊的預期結果 任務流則描述系統如何使用這些元件和聯結器完成某一項需求 102 建造一個系統所作出的最高層次的 以后難以更改的 商業的和技術的決定 在建造一個系統之前會有很多的重要決定需要事先作出 而一旦系統開始進行詳細設計甚至建造 這些決定就很難更改甚至無法更改 顯然 這樣的決定必定是有關系統設計成敗的最重要決定 必須經過非常慎重的研究和考察 103 架構設計應考慮的因素 模塊構架設計可以從程序的運行時結構和源代碼的組織結構方面考慮 1 程序的運行時結構方面的考慮 1 需求的符合性 正確性 完整性 功能性需求 非功能性需求 2 總體性能 內存管理 數據庫組織和內容 非數據庫信息 任務并行性 網絡多人操作 關鍵算法 與網絡 硬件和其他系統接口對性能的影響 3 運行可管理性 便于控制系統運行 監視系統狀態 錯誤處理 模塊間通信的簡單性 與可維護性不同 4 與其他系統接口兼容性 5 與網絡 硬件接口兼容性及性能 6 系統安全性 7 系統可靠性 8 業務流程的可調整性 9 業務信息的可調整性10 使用方便性11 構架樣式的一致性 104 源代碼的組織結構方面的考慮 1 開發可管理性 便于人員分工 模塊獨立性 開發工作的負載均衡 進度安排優化 預防人員流動對開發的影響 利于配置管理 大小的合理性與適度復雜性 模塊獨立性 層次性是為了保證項目開發成員工作之間的相對獨立性 模塊聯結方式應該是縱向而不是橫向 模塊之間應該是樹狀結構而不是網狀結構或交叉結構 這樣就可以把開發人員之間的通信 模塊開發制約關系減到最少 同時模塊獨立性也比較利于配置管理工作的進行 現在有越來越多的的軟件開發是在異地進行 一個開發組的成員可能在不同城市甚至在不同國家 因此便于異地開發的人員分工與配置管理的源代碼組織結構是非常必要的 105 2 便于人員分工 開發工作的負載均衡不僅僅是開發出來的軟件系統需要負載均衡 在開發過程中開發小組各成員之間工作任務的負載均衡也是非重要的 所謂工作任務的負載均衡就是通過合理的任務劃分按照開發人員特點進行分配任務 盡量讓項目組中的每個人每段時間都有用武之地 這就需要在構架設計時應當充分考慮項目組手頭的人力資源 在實現客戶需求的基礎上實現開發工作的負載均衡 以提高整體開發效率 106 3 便于人員分工 進度安排優化 進度安排優化的前提是模塊獨立性并搞清楚模塊開發的先后制約關系 利用工作分解結構對所有程序編碼工作進行分解 得到每一項工作的輸入 輸出 所需資源 持續時間 前期應完成的工作 完成后可以進行的工作 然后預估各模塊需要時間 分析各模塊的并行與串行 順序制約 繪制出網絡圖 找出影響整體進度的關鍵模塊 算出關鍵路徑 最后對網絡圖進行調整 以使進度安排最優化 有個家喻戶曉的智力題叫烤肉片策略 約翰遜家戶外有一個可以同時烤兩塊肉片的烤肉架 烤每塊肉片的每一面需要10分鐘 現要烤三塊肉片給饑腸轆轆急不可耐的一家三口 問題是怎樣才能在最短的時間內烤完三片肉 一般的做法花20分鐘先烤完前兩片 再花20分鐘烤完第三片 有一種更好的方法可以節省10分鐘 大家想想 107 4 便于人員分工 預防員工人員流動對開發的影響人員流動在軟件行業是司空見慣的事情 已經是一個常見的風險 作為對這一風險的有效的防范對策之一 可以在構架設計中考慮到并預防員工人員流動對開發的影響 主要的思路還是在模塊的獨立性上 追求高內聚低耦合 組件化是目前流行的趨勢 5 利于配置管理 獨立性 層次性 利于配置管理與利于人員分工有一定的聯系 除了邏輯上的模塊組件要利于人員分工外 物理上的源代碼層次結構 目錄結構 各模塊所處源代碼文件的部署也應當利于人員分工和配置管理 盡管現在配置管理工具有較強大的功能 但一個清楚的源碼分割和模塊分割是非常有好處的 6 大小的合理性與適度復雜性大小的合理性與適度復雜性可以使開發工作的負載均衡 便于進度的安排 也可以使系統在運行時減少不必要的內存資源浪費 對于代碼的可閱讀性和系統的可維護性也有一定的好處 另外 過大的模塊常常是系統分解不充分 而過小的模塊有可能降低模塊的獨立性 造成系統接口的復雜 108 2 可維護性 與運行可管理性不同 便于在系統出現故障時及時方便地找到產生故障的原因和源代碼位置 并能方便地進行局部修改 切割 可維護性與運行可管理性不同 3 可擴充性 系統方案的升級 擴容 擴充性能 系統在建成后會有一段很長的運行周期 在該周期內 應用在不斷增加 應用的層次在不斷升級 因此采用的構架設計等方案因充分考慮升級 擴容 擴充的可行性和便利4 可移植性 不同客戶端 應用服務器 數據庫管理系統 不同客戶端 應用服務器 數據庫管理系統 如果潛在的客戶使用的客戶端可能使用不同的操作系統或瀏覽器 其可移植性必須考慮客戶端程序的可移植性 或盡量不使業務邏輯放在客戶端 數據處理的業務邏輯放在數據庫管理系統中會有較好的性能 但如果客戶群中不能確定使用的是同一種數據庫管理系統 則業務邏輯就不能數據庫管理系統中 達到可移植性一定要注重標準化和開放性 只有廣泛采用遵循國際標準 開發出開放性強的產品 才可以保證各種類型的系統的充分互聯 從而使產品更具有市場競爭力 也為未來的系統移植和升級擴展提供了基礎 109 5 需求的符合性 源代碼的組織結構方面的考慮 從源代碼的組織結構看需求的符合型主要考慮針對用戶需求可能的變化的軟件代碼及構架的最小冗余 同時又要使得系統具有一定的可擴展性 110 五 寫系統構架設計文檔應考慮的問題 構架工作應該在需求開發完成約80 的時候開始進行 不必等到需求開發全部完成 需要項目經理以具體的判斷來評估此時是否足以開始構建軟件構架 給出一致的輪廓 系統概述 一個系統構架需要現有概括的描述 開發人員才能從上千個細節甚至數十個模塊或對象類中建立一致的輪廓 構架的目標應該能夠清楚說明系統概念 構架應盡可能簡化 最好的構架文件應該簡單 簡短 清晰而不雜亂 解決方案自然 構架應單先定義上層的主要子系統 應該描述各子系統的任務 并提供每個子系統中各模塊或對象類的的初步列表 構架應該描述不同子系統間相互通信的方式 而一個良好的構架應該將子系統間的通信關系降到最低 成功構架的一個重要特色 在于標明最可能變更的領域 應當列出程序中最可能變更的部分 說明構架的其他部分如何應變 復用分析 外購 縮短軟件開發周期 降低成本的有效方案未必是自行開發軟件 可以對現有軟件進行復用或進行外購 應考慮其對構架的影響 111 五 寫系統構架設計文檔應考慮的問題 除了系統組織的問題 構架應重點考慮對于細節全面影響的設計決策 深入這些決策領域 外部軟件接口 兼容性 通信方式 傳遞數據結構 用戶接口 用戶接口和系統層次劃分 數據庫組織和內容 非數據庫信息 關鍵算法 內存管理 配置策略 并行性 安全性 可移植性 網絡多人操作 錯誤處理 要保證需求的可追蹤性 即保證每個需求功能都有相應模塊去實現 構架不能只依據靜態的系統目標來設計 也應當考慮動態的開發過程 如人力資源的情況 進度要求的情況 開發環境的滿足情況 構架必須支持階段性規劃 應該能夠提供階段性規劃中如何開發與完成的方式 不應該依賴無法獨立運行的子系統構架 將系統各部分的 依賴關系找出來 形成一套開發計劃 112 系統總體架構的評定 可靠性安全性可升級性可定制化可擴展性可維護性客戶體驗市場時機 113 電子商務網站架構設計 邏輯架構 軟件系統中的組件之間的關系 114 物理架構 軟件組件是怎樣放到硬件上的 115 系統架構 系統的非功能性特征系統架構的設計要求架構師具備軟件和硬件的功能和性能的過硬知識 這一工作無疑是架構設計工作中最為困難的工作 此外 從每一個角度上看 都可以看到架構的兩要素 元件劃分和設計決定 首先 一個軟件系統中的元件首先是邏輯元件 這些邏輯元件如何放到硬件上 以及這些元件如何為整個系統的可擴展性 可靠性 強壯性 靈活性 性能等做出貢獻 是非常重要的信息 其次 進行軟件設計需要做出的決定中 必然會包括邏輯結構 物理結構 以及它們如何影響到系統的所有非功能性特征 這些決定中會有很多是一旦做出 就很難更改的 116 5 2 5用戶界面設計 系統架構的設計要求架構師具備軟件和硬件的功能和性能的過硬知識 這一工作無疑是架構設計工作中最為困難的工作 此外 從每一個角度上看 都可以看到架構的兩要素 元件劃分和設計決定 首先 一個軟件系統中的元件首先是邏輯元件 這些邏輯元件如何放到硬件上 以及這些元件如何為整個系統的可擴展性 可靠性 強壯性 靈活性 性能等做出貢獻 是非常重要的信息 其次 進行軟件設計需要做出的決定中 必然會包括邏輯結構 物理結構 以及它們如何影響到系統的所有非功能性特征 這些決定中會有很多是一旦做出 就很難更改的 117 UI含義UI即UserInterface 用戶界面 的簡稱 UI設計則是指對軟件的人機交互 操作邏輯 界面美觀的整體設計 好的UI設計不僅是讓軟件變得有個性有品味 還要讓軟件的操作變得舒適 簡單 自由 充分體現軟件的定位和特點 118 目前在國內UI還是一個相對陌生的詞 即便是一些設計人員也對這個詞不太了解 我們經??吹揭恍┱衅笍V告寫著 招聘界面美工 界面美術設計師等等 這表明在國內對UI的理解還停留在美術設計方面 認為UI的工作只是描邊畫線 缺乏對用戶交互的重要性的理解 另一方面在軟件開發過程中還存在重技術而不重應用的現象 許多商家認為軟件產品的核心是技術 而UI僅僅是次要的輔助 這點在人員的比例與待遇上可以表現出來 但這不是UI設計真正的價值體現 只是UI設計發展的一個必經過程 我們以物質產品手機行業為例 當手機剛剛進入市場的時候不但價格貴的驚人 而且除了通話以外沒有什么其他功能 由于當時的主導是技術 所以大家都把精力放在信號 待機時間 壽命等方面 對于產品的造型 使用的合理性很少關心 事過境遷 如今技術已經完全的達到用戶的需求 于是商家為了創造賣點 提高爭力 非常重視產品的外觀設計 除此之外還頻頻推出短信 彩屏 和鉉 彩信 攝像頭等等 這樣一來產品的美觀 個性 易用 易學 人性化等等都成了產品的賣點 軟件產品與物質產品的發展是相同的 過去由于計算機硬件的限制 編碼設計成為軟件開發的代名詞 美觀親和的圖形化界面與合理易用的交互方式都沒有得到充分的重視 實際上這個時期的軟件叫作軟件程序 而不是軟件產品 UI設計在中國現狀 119 UI設計在中國現狀 現今隨著計算機硬件的飛速發展 過去的軟件程序已經不能適應用戶的要求 軟件產品在激烈的市場競爭中 僅僅有強大的功能是遠遠不夠的 不足以戰勝強勁的對手 幸運的是在國內一些 遠矚的民族企業已經開始意識到UI給軟件產品帶來的巨大賣點了 例如金山公司的影霸 詞霸 毒霸 網鏢 由于重視UI的開發與地位 才使得金山產品在同類軟件產品中首屈一指 聯想軟件的UI部門積極開展用戶研究與使用性測試 將易用與美觀相結合 推出的雙模式電腦 幸福系列等成功UI范例 為聯想贏得全球消費PC第三的稱號等等 等等 實踐證明 各商家只要在產品美觀和易用設計方面很小投入 將會有很大產出 其投入產出比 要比在功能領先性開發上的投入大得多 120 UI設計原則 設計原則用戶原則信息最小量原則幫助和提示原則媒體最佳組合原則簡易性原則一致性原則從用戶的觀點考慮原則有序性原則安全性原則靈活性原則人性化原則 121 界面分析與規范人機界面的聯系媒體的功能 沒有任何一種媒體在所有場合都是最優的 每種媒體都有其各自擅長的特定范圍 各種媒體功能參考如下 文本 在表現概念和刻劃細節時可用其表現 圖形 擅長表達思想輪廓及蘊含與大量數值數據內的趨向性信息 在空間信息方面有較大優勢 動畫 可用來突出整個事物 特別適于表現靜態圖形無法表現的動作信息 視頻影像 適于表現其它媒體所難以表現的來自真實生活的事件和情景 語音 能使對話信息突出 特別是在與影像 動畫集合時能傳遞大量的信息 姿態與動作 在與別的媒體結合時具有較強的信息引用能力 可以在相關信息之間建立起時間 空間以及邏輯上的聯系 122 媒體選擇的結合與互補 腳本設計可根據內容需要分配表達的媒體 這里要特別注意媒體間的結合與區別 提出幾條原則如下 人們在問題求解過程中的不同階段對信息媒體有不同需要 一般在最初的探索階段采用能提供具體信息的媒體如語音 圖像等 而在最后的分析階段多采用描述抽象概念的文本媒體 而一些直觀的信息 圖形 圖像等 介于兩者之間 適于綜合階段 媒體種類對空間信息的傳遞并沒有明顯的影響 各種媒體各有所長 媒體結合是多媒體設計中需要研究的新課題 媒體之間可以互相支持 也會互相干擾 多種媒體應密切相關 扣緊一個表現主題 而不應把不相關的媒體內容拼湊在一起 目前 媒體結合在技術上主要通過在一個窗口中提供多種媒體的信息片段 空間結合 和對聲音 語音 錄相等隨時間變化的動態媒體加以同步實現 時間序列組合 媒體資源并非愈多愈好 如何在語義層上將各種媒體很好的 結合以更有效地傳遞信息 是要很好地探索的研究課題 也是應用系統人機界面設計的關鍵問題 123 軟件界面用戶心理學 認知原則的應用認知心理學 從廣義上來說 就是關于認識的心理學 人類認識客觀事物 主要就是通過感覺 知覺 注意 記憶 思維想象等來進行 因此 凡是研究人的認識心理過程的 都屬于認識心理學 實際上 我們這里所指的認知心理學是指純粹采用信息加工觀點來研究認知心理學過程的心理學 也就是運用信息論以及計算機的類比 模擬 驗證等方法來研究的的知識是如何獲得 如何存貯 如何交換 如何取使用的 所以 我們這里所指的現代認知心理學實質是信息加工心理學 一般地 人們將信息加工心理學又稱為狹義的認知心理學 看和聽的過程構成知覺 圖像和聲音作為刺激的特征被接收并以抽象的方式被編碼 把輸入和記憶中的信息進行對比得出對刺激的解釋 這一過程就是認知 人體信息處理器包括感官 短期記憶 長期記憶及與其相聯系的動作處理器和認知處理器 124 每種知覺均有一個對應的短期存儲器和處理器 其中認知處理器執行的工作就是我們通常所說的思維 思維的結果或被存儲起來 或送至動作處理器控制行動 現代認知心理學的核心 現代認知心理學的理論實質 就是以計算機信息加工的觀點來研究人的心理學活動 把人腦看作是一種如同計算機的信息加工系統 現代認知心理學兩個關鍵的重要概念 現代認知心理學的學說內容集中體現在兩個關鍵的重要概念上 現代認知心理學的一個重要的中心概念 就是 信息 在某種程度上說 抽掉了 信息 的概念 認知心理學的理論也就會散架解體 難以存在 現代認知心理學的另一個重要的中心概念 就是 信息加工系統 信息加工系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論