版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
JavaWeb應(yīng)用開發(fā)技術(shù)主講:
聊一聊近年來,科技發(fā)展給我們的生活和工作方式帶來了巨大的變化,同學(xué)們有沒有這樣的感受?聊一聊l聯(lián)絡(luò)方式從延續(xù)數(shù)百年的寫信,到發(fā)郵件,再到即時通訊;聊一聊查詢信息的方式從一本一本翻書,到隨時隨地使用AI工具或者搜索引擎;聊一聊購物方式從去商場超市,到去淘寶、天貓、京東直接下單;聊一聊l出行方式從站在路邊等出租車,到坐在家里叫網(wǎng)約車……聊一聊聊一聊這些變化得益于互聯(lián)網(wǎng)技術(shù)的發(fā)展、得益于科技創(chuàng)新發(fā)展,和一個重要的職業(yè)-軟件工程師。正是軟件工程師,通過一行一行的代碼,開發(fā)了一個一個的軟件項目,使這一切得以實現(xiàn)。軟件工程師,是改變世界的人,一名優(yōu)秀的軟件工程師應(yīng)該具有科學(xué)精神、工匠精神和創(chuàng)新精神,我們的目標(biāo)應(yīng)該是要成為這樣的人!課程目標(biāo)本課程我們將通過設(shè)計實現(xiàn)《新聞發(fā)布系統(tǒng)》這個項目,一起學(xué)習(xí)JavaWeb應(yīng)用開發(fā)技術(shù)。通過學(xué)習(xí),培養(yǎng)同學(xué)們作為一名軟件工程師應(yīng)當(dāng)具備的項目開發(fā)能力;認(rèn)識問題、分析問題和解決問題的能力;精益求精的工匠精神;溝通交流、團隊協(xié)作以及創(chuàng)新能力。感謝聆聽JavaWeb應(yīng)用開發(fā)技術(shù)新聞發(fā)布系統(tǒng)初識項目主講:
目錄CONTENTS01
項目概述02需求分析
03
系統(tǒng)設(shè)計素質(zhì)目標(biāo)技能目標(biāo)知識目標(biāo)了解軟件開發(fā)流程理解需求分析與系統(tǒng)設(shè)計概念掌握需求的分類掌握需求獲取與需求分析方法理解軟件系統(tǒng)設(shè)計原則掌握數(shù)據(jù)庫設(shè)計步驟與規(guī)范具備學(xué)習(xí)與開發(fā)任務(wù)相關(guān)業(yè)務(wù)的能力具備需求梳理、分析與實現(xiàn)的能力具備根據(jù)需求進(jìn)行項目系統(tǒng)設(shè)計的能力具備撰寫需求分析說明書與系統(tǒng)設(shè)計報告的能力學(xué)習(xí)目標(biāo)具備溝通交流能力具備認(rèn)識問題、分析問題與解決問題能力具備團隊協(xié)作能力具備文檔撰寫能力具備互聯(lián)網(wǎng)思維具備創(chuàng)新思維01項目概述任務(wù)背景某高職院校為了幫助學(xué)生及時了解國家時政要聞、先進(jìn)技術(shù)、科普知識、升學(xué)政策、行業(yè)動態(tài)等,提高學(xué)生對時政、科技、教育類新聞的關(guān)注度,提出建設(shè)新聞發(fā)布系統(tǒng)。本任務(wù)以新聞發(fā)布系統(tǒng)項目為例,帶領(lǐng)大家熟悉軟件開發(fā)流程、明晰并完成軟件項目需求分析與系統(tǒng)設(shè)計階段的工作任務(wù)、撰寫新聞發(fā)布系統(tǒng)的需求分析說明書與系統(tǒng)設(shè)計報告,為開發(fā)新聞發(fā)布系統(tǒng)打好基礎(chǔ)。項目概述---項目開發(fā)背景新聞搜索框新聞類別新聞列表新聞圖片項目概述---項目開發(fā)背景新聞標(biāo)題新聞發(fā)布時間新聞內(nèi)容新聞來源項目概述---基本要求1.項目基于JavaWeb技術(shù),具有良好的安全性和可靠性。2.用戶能得到較好的交互性體驗,并滿足對新聞瀏覽、搜索以及發(fā)表評論的需求。3.管理員能完成對新聞以及新聞類別的增刪改查操作。
項目概述---實現(xiàn)效果
項目概述---實現(xiàn)效果感謝聆聽JavaWeb應(yīng)用開發(fā)技術(shù)新聞發(fā)布系統(tǒng)初識項目
需求分析
任務(wù)實施主講:
新聞發(fā)布系統(tǒng)-需求分析任務(wù)實施任務(wù)情境在需求分析階段,團隊需求精準(zhǔn)獲取用戶的需求、梳理系統(tǒng)功能架構(gòu),準(zhǔn)確進(jìn)行需求描述,并撰寫需求分析說明書,為新聞發(fā)布系統(tǒng)項目的實現(xiàn)打好基礎(chǔ)。需求分析---任務(wù)實施1.獲取用戶需求
采用用戶訪談、市場調(diào)查、問卷調(diào)查等需求獲取方法,獲取用戶對新聞發(fā)布系統(tǒng)的需求。需求分析---任務(wù)實施需求分析---任務(wù)實施2.梳理系統(tǒng)功能框架根據(jù)所獲取的用戶需求,梳理新聞發(fā)布系統(tǒng)的功能架構(gòu)、角色用例、硬件環(huán)境及性能環(huán)境等。需求分析---任務(wù)實施(1)功能架構(gòu)系統(tǒng)總體功能架構(gòu)需求分析---任務(wù)實施系統(tǒng)前臺功能需求分析---任務(wù)實施系統(tǒng)后臺功能需求分析---任務(wù)實施(2)角色用例用戶角色可以分為管理員、普通用戶兩類。管理員負(fù)責(zé)新聞發(fā)布系統(tǒng)的管理與運維,具有添加、修改、刪除及查詢新聞類別和新聞的權(quán)限,后期可以具體分為平臺超級管理員和平臺運維管理員。管理員用例圖如圖所示。需為普通用戶提供注冊、登錄瀏覽新聞、搜索新聞、評論新聞的功能,普通用戶用例圖如圖所示。需求分析---任務(wù)實施(3)硬件環(huán)境系統(tǒng)硬件環(huán)境如表1-3所示。項目名稱新聞發(fā)布系統(tǒng)需求名稱硬件環(huán)境模塊總體需求版本V1.1.0需求描述服務(wù)器數(shù)量CPU內(nèi)存磁盤平臺服務(wù)器2單核≥1GB10~20GB?
支持虛擬機?
服務(wù)器數(shù)量:推薦2個節(jié)點以上的高可用部署?
服務(wù)器磁盤:新聞數(shù)據(jù)、用戶數(shù)據(jù)均存儲于數(shù)據(jù)庫中,不占用本地磁盤空間跟蹤關(guān)系用戶需求需求分析---任務(wù)實施(4)性能需求系統(tǒng)性能需求如表1-4所示。項目名稱新聞發(fā)布系統(tǒng)需求名稱性能需求優(yōu)先級高版本V1.1.0需求描述?
常規(guī)頁面響應(yīng)時間:<1s?
復(fù)雜頁面響應(yīng)時間:<3s?
接口請求耗時:<2s?
登錄、退出耗時:<1s跟蹤關(guān)系用戶需求需求分析---任務(wù)實施3.需求描述①
功能性需求描述:
根據(jù)系統(tǒng)功能分別對每一個具體功能進(jìn)行需求描述,下面以登錄功能為例進(jìn)行需求描述。需求分析---任務(wù)實施操作性能:操作簡單、界面友好,完全控件式的頁面布局,使得新聞的維護(hù)工作更簡便,許多選項包括新聞分類、新聞來源等只需要點擊鼠標(biāo)就可以完成;跟蹤出現(xiàn)的提示信息也讓用戶隨時清楚自己的操作情況。即時可見性:對新聞的處理(包括錄入、刪除)可立即在主頁的對應(yīng)欄目顯示出來,實現(xiàn)“即時發(fā)布、即時見效”的功能;系統(tǒng)運行性能:快速、穩(wěn)定、高效和可靠;可擴展性能:便于將來的功能擴展和維護(hù)。3.需求描述②
非功能性需求描述需求分析---任務(wù)實施4.撰寫需求分析說明書按照前期的需求分析結(jié)果以及需求分析說明書的要求,包括:引言部分(編寫目的、項目背景、相關(guān)定義等)任務(wù)描述(項目概述、用戶特點、開發(fā)限制條件等)系統(tǒng)架構(gòu)圖(總體架構(gòu)、功能模塊)系統(tǒng)需求(功能需求、非功能性需求、設(shè)計約束等)運行環(huán)境需求分析---任務(wù)實施任務(wù)實訓(xùn)【任務(wù)實訓(xùn)】完成注冊功能和前端新聞瀏覽等功能的需求分析
任務(wù)要求:(1)以登錄功能需求分析為例,完成新聞管理系統(tǒng)注冊功能的需求分析;(2)完成前端新聞瀏覽功能、新聞搜索功能的需求分析。需求分析---如何做一名合格的需求分析師耐心細(xì)致、精益求精,準(zhǔn)確把握客戶需求。需求分析具有決策性、方向性、策略性的作用,在軟件開發(fā)的過程中具有舉足輕重的地位。在一個大型軟件系統(tǒng)的開發(fā)中,需求分析的作用要遠(yuǎn)遠(yuǎn)大于程序設(shè)計。良好的需求分析活動有助于避免或盡早剔除早期錯誤,從而提高軟件生產(chǎn)率,降低開發(fā)成本,改進(jìn)軟件質(zhì)量。合格的需求分析師需要具備能聽懂并深刻理解客戶、開發(fā)、測試的訴求,具有良好的語言表達(dá)能力、良好的文檔閱讀和撰寫能力、以及把客戶的業(yè)務(wù)需求翻譯成開發(fā)者能聽懂看懂的內(nèi)容的能力。同時還需要具有精益求精、善于溝通、善于反思總結(jié)、耐心細(xì)致的素質(zhì)。感謝聆聽JavaWeb應(yīng)用開發(fā)技術(shù)新聞發(fā)布系統(tǒng)初識項目主講:
目錄CONTENTS01
項目概述
02需求分析
03
系統(tǒng)設(shè)計02需求分析任務(wù)描述
軟件工程師王小康收到公司開發(fā)部經(jīng)理下發(fā)的設(shè)計開發(fā)新聞發(fā)布系統(tǒng)的工作任務(wù)。作為項目經(jīng)理,王小康迅速組建開發(fā)團隊,團隊成員包括項目經(jīng)理、需求分析師、系統(tǒng)設(shè)計師、前端開發(fā)工程師、后端開發(fā)工程師、軟件測試工程師等。為了完成第一階段需求分析的任務(wù),團隊成員采用市場調(diào)研、問卷調(diào)查、用戶訪談等方法收集用戶需求,梳理系統(tǒng)功能架構(gòu)、建立系統(tǒng)模型,并完成新聞發(fā)布系統(tǒng)需求分析說明書的撰寫。軟件開發(fā)流程
軟件開發(fā)流程軟件開發(fā)流程是指軟件設(shè)計思路和方法的一般過程。需求分析系統(tǒng)設(shè)計軟件開發(fā)軟件測試軟件交付軟件驗收軟件開發(fā)流程
我想要一個能發(fā)布新聞、能評論、還能自動推薦熱點新聞的系統(tǒng)!軟件開發(fā)流程---需求分析問卷原型體驗《需求分析說明書》需求分析——繪制"愿望地圖"訪談軟件開發(fā)流程---系統(tǒng)設(shè)計從技術(shù)觀點上看,軟件系統(tǒng)設(shè)計包括體系結(jié)構(gòu)設(shè)計、界面設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過程設(shè)計。相當(dāng)于設(shè)計系統(tǒng)的支柱!最后輸出《系統(tǒng)設(shè)計報告》,它就是軟件世界的'施工指南'!"軟件開發(fā)流程---軟件開發(fā)程序員們用Java等語言,把設(shè)計文檔變成真實可運行的程序。就像把設(shè)計圖變成真實的房子,這里會經(jīng)歷:??
后端開發(fā)
??
前端開發(fā)
??
接口開發(fā)
軟件開發(fā)流程---軟件測試接下來全員變身“找錯專家”!我們會:??
功能測試:確保發(fā)布新聞、刪除評論都順暢??
壓力測試:模擬10萬人同時刷新聞,服務(wù)器不能'暈倒'??
安全測試:防范黑客攻擊,用數(shù)字護(hù)盾防御??!只有通過嚴(yán)格考驗,軟件才能拿到'畢業(yè)證書'!軟件開發(fā)流程---軟件交付當(dāng)系統(tǒng)通過所有測試,需要準(zhǔn)備:
??
安裝包
??
用戶手冊
??
測試報告
??
項目部署
??
項目試運行軟件開發(fā)流程---軟件驗收用戶試運行期間,需要及時調(diào)整優(yōu)化,直到雙方滿意蓋章驗收!軟件開發(fā)流程這是一個軟件從0到1的奇幻旅程!每個環(huán)節(jié)都像接力賽,需要產(chǎn)品、設(shè)計、開發(fā)、測試團隊的完美配合。課后小任務(wù):嘗試用今天學(xué)的知識,分析你最喜歡的App的開發(fā)過程!需求分析---概念需求分析也稱為系統(tǒng)需求分析或需求分析工程等,是經(jīng)過深入細(xì)致的調(diào)研和分析,準(zhǔn)確理解用戶和項目的功能、性能、可靠性等具體要求,將用戶非形式的需求表述轉(zhuǎn)化為完整的需求定義,從而確定系統(tǒng)必須做什么的過程。需求分析是整個軟件開發(fā)流程中的基礎(chǔ)。需求分析---需求分類需求分類具體分為功能性需求、非功能性需求與設(shè)計約束三個方面。需求分析---功能性需求功能性需求指軟件需要實現(xiàn)的功能,以及為用戶提供功能所需執(zhí)行的動作。功能性需求是軟件需求的主體,開發(fā)人員需要與用戶進(jìn)行有效交流,核實用戶需求,從軟件幫助用戶完成事務(wù)的角度上充分描述外部行為。需求分析---非功能性需求非功能需求是對功能性需求的補充,主要包括軟件使用時對性能方面的要求、運行環(huán)境要求,軟件設(shè)計必須遵循的相關(guān)標(biāo)準(zhǔn)、規(guī)范、用戶界面設(shè)計的具體細(xì)節(jié)、未來的擴充方案等。需求分析---設(shè)計約束也稱為設(shè)計限制條件,通常是對一些設(shè)計或?qū)崿F(xiàn)方案的約束說明。例如:說明待開發(fā)軟件需使用的數(shù)據(jù)庫系統(tǒng)、運行時基于的操作系統(tǒng)環(huán)境等。需求分析需求獲取方法需求分析---需求獲取方法需求獲取是需求分析的重要環(huán)節(jié),其效果直接影響到需求建模和軟件開發(fā)。如何高效獲取需求?需求獲取的方法主要包括用戶訪談、市場調(diào)研、問卷調(diào)查等。需求分析---需求獲取方法1.用戶訪談用戶訪談是指圍繞特定主題,與受訪者進(jìn)行交流談話,獲取受訪者對軟件系統(tǒng)的需求等信息。訪談過程需要消耗時間,也需要訪談技巧,訪談方式包括面對面溝通、電話溝通、網(wǎng)絡(luò)視頻溝通等。需求分析---需求獲取方法用戶訪談是與用戶直接對話的藝術(shù)。需要注意三個要點:?準(zhǔn)備訪談提綱?靈活運用訪談技巧?多種形式組合使用需求分析---需求獲取方法2.市場調(diào)研市場調(diào)研是通過市場上現(xiàn)有軟件產(chǎn)品了解其功能以及用戶要求。需求分析師可以采用發(fā)放市場調(diào)研表的形式,由調(diào)研人員或有關(guān)單位填寫,收回市場調(diào)研表之后進(jìn)行數(shù)據(jù)匯總與分析。需求分析---需求獲取方法3.問卷調(diào)查問卷調(diào)查是通過制定詳細(xì)周密的問卷,要求被調(diào)查者回答問卷問題,根據(jù)回答收集需求,具體步驟如下。1.根據(jù)軟件項目主題明確調(diào)查問卷的目的---明確要解決的核心問題2.確定分發(fā)問卷的群體,不同的調(diào)查目標(biāo)選擇不同的用戶群體---精準(zhǔn)取樣3.設(shè)計問卷,包含問卷名稱、問卷問題等---問題設(shè)計技巧4.投放問卷,明確投放渠道、投放數(shù)量等,常用投放渠道包括郵件、微信、社群、朋友圈、自媒體等---投放策略5.撰寫調(diào)查報告,包括調(diào)查目的、調(diào)查對象、調(diào)查總結(jié)與分析等---三要素結(jié)構(gòu):發(fā)現(xiàn)-分析-建議。需求分析---需求獲取方法需求分析---需求獲取方法用戶訪談:深度挖掘隱性需求市場調(diào)研:廣度把握行業(yè)趨勢問卷調(diào)查:量化驗證需求假設(shè)需求分析---需求獲取方法課后任務(wù)請選擇熟悉的軟件,以優(yōu)化軟件,提升軟件質(zhì)量為目的,設(shè)計一份包含5個核心問題的訪談提綱,可以使用DeepSeek幫忙,記得分享!需求分析---需求分析方法(1)結(jié)構(gòu)化分析(StructuredAnalysis,SA)方法是一種傳統(tǒng)的需求分析建模方法,是面向數(shù)據(jù)流的分析方法。結(jié)構(gòu)化分析方法的基本思想是“自頂向下、逐步分解”,使用“分解”和“抽象”兩種基本手段把一個復(fù)雜的問題分階段進(jìn)行,使每個階段的問題都是容易理解和處理的。(2)面向?qū)ο蟮姆治觯∣bject-OrientedAnalysis,OOA)方法是面向?qū)ο筌浖_發(fā)過程中的一種需求分析方法,是理解用戶需求并建立功能模型、對象模型和動態(tài)模型的過程。其中功能模型是描述系統(tǒng)的功能,對象模型是描述系統(tǒng)的類與對象,動態(tài)模型是描述系統(tǒng)的狀態(tài)變化過程。這三個模型從不同角度反映了系統(tǒng)的需求。常用的需求分析方法有結(jié)構(gòu)化分析和面向?qū)ο蟮姆治鰞煞N。需求分析---UML建模統(tǒng)一建模語言(UnifiedModelingLanguage,UML)是一種面向?qū)ο蟮臉?biāo)準(zhǔn)建模語言,是國際軟件界廣泛承認(rèn)的標(biāo)準(zhǔn)。面向?qū)ο蟮姆治瞿壳盀橹髁鞯南到y(tǒng)分析方法,面向?qū)ο蟮姆治龇椒ㄅcUML建模技術(shù)結(jié)合能夠幫助用戶對軟件系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒?,可以描述軟件開發(fā)過程從需求分析到軟件開發(fā)和測試的全過程。UML的建模機制包括靜態(tài)建模機制和動態(tài)建模機制。需求分析---UML建模靜態(tài)建模機制:包括用例圖(UseCaseDiagram)類圖(ClassDiagram)對象圖(ObjectDiagram)包圖(Package)組件圖(ComponentDiagram)配置圖(DeploymentDiagram)動態(tài)建模機制:包括狀態(tài)圖(StateDiagram)時序圖(SequenceDiagram)協(xié)作圖(CollaborationDiagram)活動圖(ActivityDiagram)需求分析---UML建模需求分析---UML建模用例圖,是從用戶角度描述系統(tǒng)功能,以及系統(tǒng)參與者與系統(tǒng)用例之間的關(guān)系,功能模型通常用用例圖來描述,例如,管理員登錄用例圖。需求分析---UML建模類圖,是構(gòu)建對象模型的核心工具,例如,用戶類。時序圖,動態(tài)模型主要通過狀態(tài)圖、時序圖、協(xié)作圖與活動圖來構(gòu)建,其中時序圖用于顯示多個對象間的動作協(xié)作與時間先后順序,例如,網(wǎng)上購物時序圖。需求分析---UML建模流程圖,UML中的活動圖本質(zhì)上就是流程圖,用于描述執(zhí)行算法的工作流程中涉及的活動,例如,發(fā)表評論活動圖。需求分析---需求分析說明書需求分析說明書是需求分析階段產(chǎn)生的基本文檔,是需求分析階段的最終結(jié)果。文檔中涉及引言、術(shù)語定義、用戶需求、系統(tǒng)體系架構(gòu)等方面的內(nèi)容,與軟件系統(tǒng)相關(guān)的一系列需求結(jié)論都需要以正式文檔的形式寫進(jìn)需求分析說明書中。需求分析說明書的作用是使軟件用戶和軟件開發(fā)者雙方在軟件正式開發(fā)之前能夠?qū)π枰_發(fā)的軟件有一個確認(rèn),為下一步軟件設(shè)計與編碼打好基礎(chǔ),同時也是后期軟件測試和驗收的基本依據(jù)。與軟件項目有關(guān)的人員,包括軟件用戶、項目管理人員、軟件開發(fā)人員、系統(tǒng)測試人員、系統(tǒng)維護(hù)人員都需要閱讀。需求分析說明書包含的主要內(nèi)容如圖所示。感謝聆聽JavaWeb應(yīng)用開發(fā)技術(shù)新聞發(fā)布系統(tǒng)初識項目系統(tǒng)設(shè)計-任務(wù)實施主講:
新聞發(fā)布系統(tǒng)-系統(tǒng)設(shè)計任務(wù)實施任務(wù)情境在需求分析階段,團隊明確了系統(tǒng)的開發(fā)目標(biāo)、功能需求等,完成了新聞發(fā)布系統(tǒng)需求分析的工作任務(wù),接下來進(jìn)入了系統(tǒng)設(shè)計階段。這一階段將明確采用哪些技術(shù)手段落實用戶需求,完成體系結(jié)構(gòu)設(shè)計、界面設(shè)計、數(shù)據(jù)庫設(shè)計、接口設(shè)計等,并完成系統(tǒng)設(shè)計報告的撰寫。新聞發(fā)布系統(tǒng)-系統(tǒng)設(shè)計任務(wù)實施任務(wù)分組
團隊成員明確各自角色與職責(zé)。成員角色職責(zé)項目經(jīng)理確定團隊成員分工、明確設(shè)計目標(biāo)、設(shè)計決策與軟件體系結(jié)構(gòu),進(jìn)行功能分解前端開發(fā)工程師完成系統(tǒng)前端設(shè)計與界面設(shè)計,形成接口文檔后端開發(fā)工程師完成數(shù)據(jù)庫設(shè)計、邏輯包設(shè)計與接口設(shè)計軟件測試工程師完成測試標(biāo)準(zhǔn)設(shè)計系統(tǒng)設(shè)計---任務(wù)實施按照新聞發(fā)布系統(tǒng)的功能特性與業(yè)務(wù)結(jié)構(gòu),設(shè)計體系結(jié)構(gòu)。參照需求分析階段所確定的核心業(yè)務(wù)流程,按照系統(tǒng)功能可以將新聞發(fā)布系統(tǒng)分解為對應(yīng)的子系統(tǒng):后臺新聞管理子系統(tǒng)與前臺新聞?wù)故咀酉到y(tǒng)。為了確定系統(tǒng)的物理結(jié)構(gòu),明確以下關(guān)鍵內(nèi)容。(1)B/S架構(gòu)。基于目前普遍采用的移動辦公的特點,分布式的體系結(jié)構(gòu)可以最大限度地滿足各種需求,考慮技術(shù)成熟度,系統(tǒng)采用B/S架構(gòu)來實現(xiàn)。(2)訪問量。新聞發(fā)布系統(tǒng)最大的用戶群是學(xué)生,在校生的規(guī)模在萬人左右,初步估計系統(tǒng)集中上線的人數(shù)在千人左右。(3)數(shù)據(jù)存儲。為了保證數(shù)據(jù)存儲的安全性、存取的高效性和良好的共享性,根據(jù)用戶數(shù)據(jù)存儲量和操作特點,選定MySQL為數(shù)據(jù)庫服務(wù)器。(4)系統(tǒng)開發(fā)技術(shù)?;贘avaWeb開發(fā)技術(shù)的成熟度,以及項目前期開發(fā)基礎(chǔ)與開發(fā)經(jīng)驗,選定JavaWeb開發(fā)技術(shù)為系統(tǒng)實現(xiàn)技術(shù)。1.體系結(jié)構(gòu)設(shè)計系統(tǒng)設(shè)計---任務(wù)實施綜上考慮,構(gòu)建如圖所示的新聞發(fā)布系統(tǒng)物理結(jié)構(gòu)。系統(tǒng)設(shè)計---任務(wù)實施在邏輯結(jié)構(gòu)中,View層包含的是用戶界面,按照業(yè)務(wù)劃分成兩個包。頁面上的數(shù)據(jù)通過HTTP請求傳遞給Controller層。Controller層負(fù)責(zé)接收從用戶界面?zhèn)鬟f過來的請求,進(jìn)行界面數(shù)據(jù)的整合,并決定這個請求是否可以直接調(diào)用Model層以獲取數(shù)據(jù)。Model層主要包含的是實體對象和對實體對象進(jìn)行操作的Dao,Dao負(fù)責(zé)與數(shù)據(jù)庫打交道,負(fù)責(zé)數(shù)據(jù)的提取和存儲,實體對象的結(jié)構(gòu)與數(shù)據(jù)庫的表結(jié)構(gòu)基本一致。圖
新聞發(fā)布系統(tǒng)邏輯結(jié)構(gòu)系統(tǒng)設(shè)計---任務(wù)實施新聞發(fā)布系統(tǒng)使用PC端,設(shè)計選用尺寸從Web角度考慮,通過梳理原型結(jié)構(gòu),明確新聞發(fā)布系統(tǒng)主要包括的頁面,并使用界面原型設(shè)計工具構(gòu)建頁面結(jié)構(gòu)。首頁新聞列表頁新聞詳情頁新聞搜索頁管理員登錄頁面后臺管理主頁面新聞管理頁面新聞類別管理頁面2.界面設(shè)計系統(tǒng)設(shè)計---任務(wù)實施-界面設(shè)計-登錄界面系統(tǒng)設(shè)計---任務(wù)實施-界面設(shè)計-首頁系統(tǒng)設(shè)計---任務(wù)實施-界面設(shè)計-新聞詳情界面系統(tǒng)設(shè)計-任務(wù)實施-界面設(shè)計-新聞后臺管理界面系統(tǒng)設(shè)計---任務(wù)實施(1)數(shù)據(jù)庫創(chuàng)建
新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫管理系統(tǒng)建立并維護(hù),數(shù)據(jù)庫設(shè)計過程中采用UML類圖創(chuàng)建數(shù)據(jù)庫對應(yīng)數(shù)據(jù)表表結(jié)構(gòu),并創(chuàng)建數(shù)據(jù)庫腳本文件news.sql。3.數(shù)據(jù)庫設(shè)計(2)數(shù)據(jù)庫命名
數(shù)據(jù)庫命名要求全部由英文大寫字母組成,單詞之間使用下劃線分割,
如:新聞發(fā)布系統(tǒng)后臺數(shù)據(jù)庫命名:NEWS。
數(shù)據(jù)庫表命名要求NRC_表義名(可以使用縮寫),其中表義名為字母大寫的英文單詞,單詞之間以下劃線分割。系統(tǒng)設(shè)計---任務(wù)實施(3)數(shù)據(jù)庫邏輯設(shè)計
NEWS數(shù)據(jù)庫共有四個數(shù)據(jù)表,分別是NRC_NEWS、NRC_TYPE、NRC_REVIEW、NRC_USER。系統(tǒng)設(shè)計---任務(wù)實施表名功能說明NRC_TYPE(新聞類別表)存儲新聞類別的信息NRC_NEWS(新聞表)存儲新聞信息NRC_USER(用戶信息表)存儲登錄后臺用戶的信息NRC_REVIEW(評論信息表)存儲前臺新聞頁面游客發(fā)表的評論信息
(4)數(shù)據(jù)庫物理設(shè)計
新聞發(fā)布系統(tǒng)所包括的數(shù)據(jù)表及功能說明如表所示。系統(tǒng)設(shè)計---任務(wù)實施例:新聞表(NRC_NEWS)編號主鍵名稱描述數(shù)據(jù)類型大小空外鍵自動遞增默認(rèn)值1√N_ID新聞編號int11××√×2×N_TITLE新聞標(biāo)題varchar55××××3×N_CONTENT新聞內(nèi)容longtext500××××4×T_ID新聞類別IDint11×√××5×N_PUBLISHTIME新聞發(fā)布時間varchar25××××6×N_SOURCE新聞來源varchar25××××系統(tǒng)設(shè)計---任務(wù)實施防止用戶直接操作數(shù)據(jù)庫的方法
新聞發(fā)布系統(tǒng)的后臺數(shù)據(jù)庫應(yīng)安裝在指定服務(wù)器上,用戶只能通過登錄客戶端軟件或服務(wù)器端軟件訪問數(shù)據(jù)庫表中的數(shù)據(jù)。
除上述方法外,不提供用戶其他訪問數(shù)據(jù)庫數(shù)據(jù)的直接或間接途徑。用戶賬號密碼的加密方法
存儲在NRC_USER表中的密碼字段(U_USERPWD)值不能以明文顯示,應(yīng)做適當(dāng)?shù)募用芎笤俅嫒霐?shù)據(jù)庫。系統(tǒng)設(shè)計---任務(wù)實施(5)安全性設(shè)計以新聞管理功能為例,新聞管理功能包括:新聞添加、新聞修改、新聞刪除、新聞查詢。新聞管理功能類設(shè)計總圖如下圖所示。圖:新聞管理功能類設(shè)計總圖4.功能設(shè)計系統(tǒng)設(shè)計---任務(wù)實施新聞管理類圖系統(tǒng)設(shè)計---任務(wù)實施新聞管理接口系統(tǒng)設(shè)計---任務(wù)實施新聞發(fā)布系統(tǒng)項目系統(tǒng)設(shè)計報告,包括引言部分(項目背景、建設(shè)目標(biāo)和建設(shè)內(nèi)容等)、概要設(shè)計(設(shè)計目標(biāo)、設(shè)計決策、體系結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、界面原型設(shè)計、非功能性設(shè)計等)、詳細(xì)設(shè)計(新聞管理、新聞類別管理、用戶管理、新聞?wù)故?、新聞查詢等)。系統(tǒng)設(shè)計---任務(wù)實施5.撰寫系統(tǒng)設(shè)計報告系統(tǒng)設(shè)計---任務(wù)實施系統(tǒng)設(shè)計---任務(wù)實施任務(wù)實訓(xùn)【任務(wù)實訓(xùn)】完成新聞類別管理、評論管理功能的設(shè)計
任務(wù)要求:以新聞管理功能設(shè)計為例,完成新聞類別管理和評論管理功能的設(shè)計,包括類、類圖、接口等的設(shè)計。如何做一名優(yōu)秀的系統(tǒng)設(shè)計師?首先要具有一定的工程能力;具有良好的業(yè)務(wù)理解能力;在對業(yè)務(wù)充分理解的基礎(chǔ)上,從系統(tǒng)設(shè)計師的角度對項目正向引導(dǎo),并能夠保證項目順利落地,與最終的業(yè)務(wù)收益掛鉤,保證技術(shù)不能脫離業(yè)務(wù);作為一名系統(tǒng)設(shè)計師,會經(jīng)常面臨緊急項目,要做到急客戶之所急,想客戶之所想,幫客戶“啃掉硬骨頭”,能夠幫助客戶解決燃眉之急,形成優(yōu)良的口碑。同學(xué)們,讓我們一起向著一名優(yōu)秀系統(tǒng)設(shè)計師的方向努力吧!感謝聆聽JavaWeb應(yīng)用開發(fā)技術(shù)新聞發(fā)布系統(tǒng)初識項目主講:
目錄CONTENTS01
項目概述02需求分析
03
系統(tǒng)設(shè)計03系統(tǒng)設(shè)計引入情境在需求分析階段,明確了系統(tǒng)的開發(fā)目標(biāo)、功能需求等,完成了新聞發(fā)布系統(tǒng)的需求分析。接下來進(jìn)入系統(tǒng)設(shè)計階段,這一階段團隊將解決“新聞發(fā)布系統(tǒng)如何做”的問題,包括如何將分析出來的需求與系統(tǒng)實現(xiàn)進(jìn)行對應(yīng),采用哪些技術(shù)手段落實用戶需求,如何根據(jù)設(shè)計目標(biāo)做好體系結(jié)構(gòu)設(shè)計、界面設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計等,并完成系統(tǒng)設(shè)計報告的撰寫。讓我們一起完成系統(tǒng)設(shè)計階段的任務(wù)。系統(tǒng)設(shè)計---概念系統(tǒng)設(shè)計是從軟件需求說明書出發(fā),根據(jù)需求分析階段確定的功能設(shè)計軟件系統(tǒng)的整體結(jié)構(gòu)、劃分功能模塊、確定每個模塊的實現(xiàn)算法,形成軟件的具體設(shè)計方案。
系統(tǒng)設(shè)計的基本目標(biāo)是用比較抽象、概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),系統(tǒng)設(shè)計旨在確定系統(tǒng)的物理模型,是軟件開發(fā)流程中非常重要的環(huán)節(jié)。系統(tǒng)設(shè)計---工作內(nèi)容從技術(shù)觀點上看,軟件系統(tǒng)設(shè)計包括體系結(jié)構(gòu)設(shè)計、界面設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過程設(shè)計。(1)體系結(jié)構(gòu)設(shè)計定義軟件系統(tǒng)各主要部件之間的關(guān)系。(2)界面設(shè)計明確系統(tǒng)與外界交互的圖形用戶界面形式。(3)數(shù)據(jù)設(shè)計是明確數(shù)據(jù)結(jié)構(gòu)、存儲方式、訪問方式及各數(shù)據(jù)之間的關(guān)系等。(4)接口設(shè)計描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間及軟件與人之間如何通信。(5)過程設(shè)計則把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換為軟件的過程性描述。系統(tǒng)設(shè)計---工作內(nèi)容軟件系統(tǒng)設(shè)計工作內(nèi)容圖示。系統(tǒng)設(shè)計---設(shè)計階段軟件系統(tǒng)設(shè)計階段通常分為概要設(shè)計和詳細(xì)設(shè)計。1.概要設(shè)計概要設(shè)計也稱總體設(shè)計,其基本目標(biāo)是針對軟件需求分析中提出的一系列軟件問題,概要地回答問題如何解決。概要設(shè)計主要包括軟件系統(tǒng)體系結(jié)構(gòu)設(shè)計、功能模塊設(shè)計、數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計、系統(tǒng)接口設(shè)計等。軟件體系結(jié)構(gòu)設(shè)計是軟件設(shè)計重要的組成部分,常用體系結(jié)構(gòu)模型包括客戶端/服務(wù)器(Client/Server,C/S)模型和瀏覽器/服務(wù)器(Browser/Server,B/S)模型。系統(tǒng)設(shè)計---設(shè)計階段2.詳細(xì)設(shè)計詳細(xì)設(shè)計是指軟件各模塊內(nèi)部的具體設(shè)計,即確定每個模塊的實現(xiàn)算法和數(shù)據(jù)結(jié)構(gòu),并用某種工具描述出來。軟件系統(tǒng)設(shè)計階段主要工作任務(wù)如圖所示。系統(tǒng)設(shè)計---通用原則軟件設(shè)計的通用原則是系統(tǒng)分解和模塊設(shè)計的基本標(biāo)準(zhǔn),應(yīng)用這些原則可以使代碼更加靈活,更易于維護(hù)和擴展。軟件設(shè)計的通用原則包括以下幾點。
1.抽象性。軟件設(shè)計中考慮模塊化解決方案時,可以定出多個抽象級別。抽象的層次從概要設(shè)計到詳細(xì)設(shè)計逐步降低。
2.模塊化及模塊獨立性。模塊是指把一個待開發(fā)的軟件分解成若干小的簡單的部分。模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立子功能,并且與其他模塊的聯(lián)系最少且接口簡單。系統(tǒng)設(shè)計---通用原則3.高內(nèi)聚、低耦合。
內(nèi)聚性是一個模塊或子系統(tǒng)內(nèi)部的依賴程度。如果一個模塊或子系統(tǒng)含有許多彼此相關(guān)的元素,并且它們執(zhí)行類似任務(wù),那么其內(nèi)聚性比較高,一個模塊的內(nèi)聚性越強,則該模塊的獨立性越強。
耦合性是模塊之間或子系統(tǒng)之間依賴關(guān)系的強度。如果模塊之間或子系統(tǒng)之間是松散耦合的,兩者相互獨立,那么當(dāng)其中一個發(fā)生變化時對另一個產(chǎn)生的影響就很小,反之,影響就很大,耦合性取決于各個模塊之間或子系統(tǒng)之間接口的復(fù)雜度、調(diào)用方式等。系統(tǒng)設(shè)計---通用原則4.信息隱蔽性。
信息隱蔽是指隱藏一個模塊的實現(xiàn)細(xì)節(jié)來降低對軟件系統(tǒng)其他部分的影響。在一個模塊內(nèi)包含的信息,對于不需要這些信息的其他模塊來說是不允許訪問的。
系統(tǒng)設(shè)計---界面原型設(shè)計通過對業(yè)務(wù)的深入理解后,從頁面角度做出思維導(dǎo)圖,通過思維導(dǎo)圖的方式,可以直觀表現(xiàn)操作流程和層級,更有利于界面原型結(jié)構(gòu)的梳理與原型設(shè)計。界面原型設(shè)計步驟如下。梳理原型結(jié)構(gòu)明確原型尺寸建立頁面結(jié)構(gòu)明確頁面布局繪制線框草圖填充設(shè)計樣式與交互設(shè)計系統(tǒng)設(shè)計---數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是系統(tǒng)設(shè)計的重要組成部分,其結(jié)果直接影響軟件設(shè)計的質(zhì)量。在給定的硬件環(huán)境、操作系統(tǒng)及數(shù)據(jù)庫管理系統(tǒng)等軟件環(huán)境下,創(chuàng)建一個性能良好的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能有效地存儲和管理數(shù)據(jù),是實現(xiàn)一個滿足用戶需求的軟件系統(tǒng)的根基。系統(tǒng)設(shè)計---數(shù)據(jù)庫設(shè)計步驟數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計。集中表達(dá)軟件系統(tǒng)涉及的業(yè)務(wù)環(huán)境中出現(xiàn)了哪些數(shù)據(jù)實體,以及這些數(shù)據(jù)實體之間的關(guān)系,無須考慮具體的實現(xiàn)問題。邏輯結(jié)構(gòu)設(shè)計。將概念模型轉(zhuǎn)換成能夠被數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)模型,大多采用關(guān)系模型。物理結(jié)構(gòu)設(shè)計。在邏輯結(jié)構(gòu)模型的基礎(chǔ)上建立數(shù)據(jù)庫的物理模型,即數(shù)據(jù)庫管理系統(tǒng)中的表、索引、視圖等。選取一種數(shù)據(jù)庫管理系統(tǒng),為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),搭建數(shù)據(jù)模型應(yīng)用環(huán)境,配置數(shù)據(jù)庫服務(wù)器,并設(shè)計數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法。系統(tǒng)設(shè)計---數(shù)據(jù)庫設(shè)計步驟下面以UML學(xué)生類圖和專業(yè)類圖為例,進(jìn)行數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計。系統(tǒng)設(shè)計---數(shù)據(jù)庫設(shè)計步驟邏輯結(jié)構(gòu)設(shè)計如下:學(xué)生(學(xué)生ID,學(xué)生姓名,密碼,郵箱地址,專業(yè)ID)專業(yè)(專業(yè)ID,專業(yè)名稱)UML學(xué)生類圖與專業(yè)類圖如圖所示。系統(tǒng)設(shè)計---數(shù)據(jù)庫設(shè)計步驟表
學(xué)生表字段名稱數(shù)據(jù)類型是否允許為空約束含義STU_IDint否主鍵學(xué)生IDSTU_NAMEvarchar(50)否
學(xué)生姓名STU_PWDvarchar(20)否
密碼STU_EMAILvarchar(50)是
郵箱地址M_IDint否
專業(yè)ID表
專業(yè)表字段名稱數(shù)據(jù)類型是否允許為空約束含義M_IDint否主鍵專業(yè)IDM_NAMEvarchar(50)否
專業(yè)名稱物理結(jié)構(gòu)設(shè)計如表所示。目錄不區(qū)分大小寫代碼中數(shù)據(jù)庫名稱不區(qū)分大小寫隨處可見的拼接sql語句遵守規(guī)范系統(tǒng)設(shè)計---數(shù)據(jù)庫設(shè)計規(guī)范系統(tǒng)設(shè)計---數(shù)據(jù)庫設(shè)計規(guī)范數(shù)據(jù)庫設(shè)計規(guī)范應(yīng)該首先遵從國家或行業(yè)強制性數(shù)據(jù)結(jié)構(gòu)標(biāo)準(zhǔn)規(guī)范。包括命名規(guī)范、庫表基礎(chǔ)規(guī)范、字段規(guī)范、索引規(guī)范和SQL設(shè)計規(guī)范。主要介紹數(shù)據(jù)庫設(shè)計的命名規(guī)范。系統(tǒng)設(shè)計---數(shù)據(jù)庫設(shè)計命名規(guī)范序號命名規(guī)范1遵循字母全部大寫原則,所有數(shù)據(jù)庫對象命名字母全部大寫。Oracle對大小寫不敏感,但是有些數(shù)據(jù)庫對大小寫敏感,統(tǒng)一大寫有助于在多個數(shù)據(jù)庫間移植。2只能使用英文字母、下劃線、數(shù)字進(jìn)行命名,首位字符必須是英文字母。3命名中包含多個單詞遵循分段命名原則,多個單詞之間采用下劃線分隔,以便閱讀同時方便某些工具對數(shù)據(jù)庫對象的映射。如XXX_XXX_XXX,但不限于三段式。4不能使用保留字,數(shù)據(jù)庫對象命名不能直接使用數(shù)據(jù)庫保留關(guān)鍵字,但分段中可以使用。5命名盡可能簡單,避免太長的命名,但能夠表達(dá)命名的含義。數(shù)據(jù)庫對象命名總長度不得超過30字節(jié),以免超過數(shù)據(jù)庫命名長度限制(Oracle有30字節(jié)的限制,Mysql為64字節(jié),SQLSERVER也是64字節(jié))。6同義性原則,對于同一含義盡量使用相同的單詞命名,不管使用英文單詞、英文縮寫還是拼音首字母,盡量避免同一單詞表示多種含義的情況。7命名方式一致原則,在一個系統(tǒng)、一個項目中盡量采用一致的命名方式,都采用英文單詞或者拼音首字母。8擴展性原則,各系統(tǒng)或者項目在遵循基本規(guī)范的基礎(chǔ)上可以根據(jù)需要制定更明確的規(guī)范細(xì)則,以滿足項目管理需要。系統(tǒng)設(shè)計---系統(tǒng)設(shè)計報告系統(tǒng)設(shè)計報告是系統(tǒng)設(shè)計階段產(chǎn)生的基本文檔,是系統(tǒng)設(shè)計階段的結(jié)果。系統(tǒng)設(shè)計報告說明如何實現(xiàn)需求分析階段所分析的系統(tǒng)功能和性能,主要從軟件開發(fā)(程序員)角度描述軟件需要實現(xiàn)的功能,系統(tǒng)設(shè)計報告閱讀對象主要為項目開發(fā)人員。系統(tǒng)設(shè)計---系統(tǒng)設(shè)計報告新聞發(fā)布系統(tǒng)設(shè)計感謝聆聽JavaWeb應(yīng)用開發(fā)技術(shù)新聞發(fā)布系統(tǒng)初識項目主講:
1.團隊自評根據(jù)團隊成員分工,由項目經(jīng)理根據(jù)需求分析要求、系統(tǒng)設(shè)計要求與文檔規(guī)范,對團隊所完成的需求分析、系統(tǒng)設(shè)計,以及撰寫的需求分析說明書和系統(tǒng)設(shè)計報告進(jìn)行自評,自評并改進(jìn)后提交需求分析說明書和系統(tǒng)設(shè)計報告,并填寫自評記錄。任務(wù)評價2.任務(wù)評審團隊展示需求分析說明書與系統(tǒng)設(shè)計報告,匯報任務(wù)完成過程,由開發(fā)部門主管、測試部門主管等共同完成考核評
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨界合作藝術(shù)交流活動方案
- 物流企業(yè)倉儲流程標(biāo)準(zhǔn)化方案
- 電力公司員工考核方案及細(xì)則
- 企業(yè)員工年度健康檢查計劃方案
- 村委會解封實施方案
- 景區(qū)美食流動團隊建設(shè)方案
- 圍墻建設(shè)方案和監(jiān)控布局
- 自媒體行業(yè)前景分析報告
- 組織與工作實施方案
- 落實下沉工作方案怎么寫
- GB/T 4937.34-2024半導(dǎo)體器件機械和氣候試驗方法第34部分:功率循環(huán)
- 人教版小學(xué)數(shù)學(xué)一年級下冊全冊同步練習(xí)含答案
- 加油站防投毒應(yīng)急處理預(yù)案
- 閉合導(dǎo)線計算(自動計算表)附帶注釋及教程
- 項目1 變壓器的運行與應(yīng)用《電機與電氣控制技術(shù)》教學(xué)課件
- 網(wǎng)店運營中職PPT完整全套教學(xué)課件
- 北師大版八年級數(shù)學(xué)下冊課件【全冊】
- 關(guān)于提高護(hù)士輸液時PDA的掃描率的品管圈PPT
- 針入度指數(shù)計算表公式和程序
- XGDT-06型脈動真空滅菌柜4#性能確認(rèn)方案
- 繩正法曲線撥道量計算器
評論
0/150
提交評論