![基于python的電影評分系統(tǒng)設(shè)計_第1頁](http://file4.renrendoc.com/view12/M04/32/16/wKhkGWdWOpeAf283AAHR8Rwkbp0627.jpg)
![基于python的電影評分系統(tǒng)設(shè)計_第2頁](http://file4.renrendoc.com/view12/M04/32/16/wKhkGWdWOpeAf283AAHR8Rwkbp06272.jpg)
![基于python的電影評分系統(tǒng)設(shè)計_第3頁](http://file4.renrendoc.com/view12/M04/32/16/wKhkGWdWOpeAf283AAHR8Rwkbp06273.jpg)
![基于python的電影評分系統(tǒng)設(shè)計_第4頁](http://file4.renrendoc.com/view12/M04/32/16/wKhkGWdWOpeAf283AAHR8Rwkbp06274.jpg)
![基于python的電影評分系統(tǒng)設(shè)計_第5頁](http://file4.renrendoc.com/view12/M04/32/16/wKhkGWdWOpeAf283AAHR8Rwkbp06275.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
目錄
1引言4
1.1項目開發(fā)背景4
1.2開發(fā)技術(shù)簡介4
1.2.1Python簡介4
1.2.2Tkinter模塊簡介5
1.2.3MySQL簡介5
1.3開發(fā)工具簡介6
1.4項目開發(fā)環(huán)境與部署6
2需求分析6
2.1功能需求描述6
2.2非功能需求描述6
2.3需求用例建模7
2.3.1普通用戶功能用例7
2.3.2管理員用戶功能用例10
3系統(tǒng)概要設(shè)計13
3.1系統(tǒng)設(shè)計原則13
3.2系統(tǒng)功能模塊設(shè)計13
3.2.1用戶登錄注冊模塊設(shè)計14
3.2.2電影數(shù)據(jù)展示模塊設(shè)計15
3.2.3電影榜單模塊設(shè)計16
3.2.4個人中心模塊設(shè)計17
3.2.5數(shù)據(jù)管理模塊設(shè)計18
3.3數(shù)據(jù)庫設(shè)計19
3.3.1設(shè)計原則19
3.3.2概念設(shè)計19
3.3.3邏輯設(shè)計20
3.3.4數(shù)據(jù)字典20
I
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
4系統(tǒng)詳細設(shè)計21
4.1用戶登錄模塊設(shè)計21
4.1.1用戶登錄注冊模塊說明21
4.1.2用戶登錄注冊功能模塊詳細設(shè)計22
4.2電影數(shù)據(jù)展示模塊設(shè)計23
4.2.1電影數(shù)據(jù)展示模塊說明23
4.2.2電影數(shù)據(jù)展示模塊詳細設(shè)計23
4.3電影榜單功能模塊設(shè)計24
4.3.1電影榜單功能模塊說明24
4.3.2電影榜單功能模塊詳細設(shè)計24
4.4電影查詢模塊設(shè)計25
4.4.1電影查詢模塊說明25
4.4.2電影查詢模塊詳細設(shè)計25
4.5個人中心模塊設(shè)計26
4.5.1個人中心模塊說明26
4.5.2個人中心模塊詳細設(shè)計26
4.6數(shù)據(jù)管理模塊設(shè)計27
4.6.1數(shù)據(jù)管理模塊說明27
4.6.2數(shù)據(jù)管理模塊詳細設(shè)計28
5系統(tǒng)實現(xiàn)30
5.1用戶登錄注冊模塊實現(xiàn)30
5.1.1用戶登錄注冊模塊界面設(shè)計30
5.1.2用戶登錄功能核心代碼實現(xiàn)30
5.1.3用戶注冊功能核心代碼實現(xiàn)31
5.2電影數(shù)據(jù)展示模塊實現(xiàn)32
5.2.1電影數(shù)據(jù)展示模塊界面設(shè)計32
5.2.2電影基本信息及評論展示功能核心代碼實現(xiàn)32
5.2.3添加評論模塊功能代碼實現(xiàn)35
II
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
5.3電影榜單模塊實現(xiàn)37
5.3.1電影榜單模塊界面設(shè)計37
5.3.2電影榜單模塊核心代碼實現(xiàn)37
5.4電影查詢模塊實現(xiàn)38
5.4.1電影查詢模塊界面設(shè)計38
5.4.2電影查詢模塊核心代碼實現(xiàn)38
5.5個人中心模塊實現(xiàn)39
5.5.1個人中心模塊界面設(shè)計39
5.5.2修改密碼功能核心代碼實現(xiàn)40
5.5.3我的評論模塊功能代碼實現(xiàn)41
5.5.4刪除賬號模塊功能代碼實現(xiàn)42
5.6數(shù)據(jù)管理模塊實現(xiàn)43
5.6.1數(shù)據(jù)管理模塊界面設(shè)計43
5.6.2添加電影數(shù)據(jù)功能核心代碼實現(xiàn)43
5.6.3刪除電影數(shù)據(jù)功能核心代碼實現(xiàn)44
5.6.4添加評論數(shù)據(jù)功能核心代碼實現(xiàn)45
5.6.5刪除評論數(shù)據(jù)功能核心代碼實現(xiàn)46
5.6.6更改用戶權(quán)限模塊核心代碼實現(xiàn)46
6系統(tǒng)測試47
6.1個人中心功能測試47
6.2電影數(shù)據(jù)展示功能測試48
6.3電影查詢功能測試50
6.4數(shù)據(jù)管理功能測試51
7設(shè)計小結(jié)55
參考資料56
III
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
基于python的電影評分系統(tǒng)設(shè)計
1引言
自1987年著名的電子郵件“越過長城,走向世界”發(fā)出為始至今日,我國
互聯(lián)網(wǎng)發(fā)展已有三十多年??此坪喍痰陌l(fā)展歷史卻有著令人驚嘆的速度,其影響
甚至遠超預(yù)期,無“網(wǎng)”不利。人們的文化娛樂也早已與網(wǎng)絡(luò)息息相關(guān)。
電影產(chǎn)業(yè)從前只依賴影院的經(jīng)營模式早已不能滿足人們?nèi)找嬖鲩L的精神文
化需求,因此隨之出現(xiàn)的各大影視平臺迅速占領(lǐng)市場,無數(shù)新舊電影紛紛上架。
可電影獨特的時長容易使人望而卻步,快節(jié)奏的生活令人們有了各種顧慮,
一部1到2小時不等的電影通過簡單的介紹很難了解其時長與內(nèi)容是否成正比、
是否值得花時間觀看,即使有專門的推薦博主制作視頻進行介紹也意味著被劇透。
這時就會有用戶查看評論——但評論仍然會有不確定因素,比如一些長評長如文
章可能劇透、一些短評毫無內(nèi)容水分很高,或是評論者與自身三觀沖突難以判斷,
再或者有部分用戶惡意差評進行干擾。一部電影可能評論數(shù)以萬、十萬甚至千萬
計,憑借肉眼能夠提取的信息可謂寥寥無幾。也因此,一個能夠?qū)﹄娪霸u論進行
分析、內(nèi)容提取的平臺對觀眾而言就十分友好了。
1.1項目開發(fā)背景
猛烈而迅速的發(fā)展使時下各領(lǐng)域與互聯(lián)網(wǎng)的關(guān)系已然密不可分、層層滲透,
而如今互聯(lián)網(wǎng)的高效性使人們對信息唾手可得的同時也令人眼花繚亂。對于一部
熱議電影的評論而言,我們的肉眼無法大量甄別、獲取信息,且過量的信息閱讀
起來只會吃力不討好。本設(shè)計介紹的電影評分系統(tǒng)能夠適當?shù)慕厝≡u論中的信息
并展示,令人能夠直觀的了解觀眾對于電影的印象,從而使用戶產(chǎn)生主觀判斷。
本系統(tǒng)基于Python編程語言設(shè)計,利用其標準模塊Tkinter實現(xiàn)界面交互,
通過MySQL數(shù)據(jù)庫完成數(shù)據(jù)存儲。本系統(tǒng)能夠查詢電影信息并進行展示,且為用
戶提供對評論數(shù)據(jù)進行可視化繪圖的服務(wù),使查詢時能更加一目了然,方便用戶
獲取信息。
1.2開發(fā)技術(shù)簡介
1.2.1Python簡介
Python是一款效率極高的面向?qū)ο蟮拈_源編程語言。
橫向?qū)Ρ绕渌Z言,Python簡潔的語法、易懂的關(guān)鍵字命名、強制規(guī)范代
碼等使使用者在開發(fā)維護的過程中更加簡便。Python龐大的標準庫及第三方庫
4
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
使開發(fā)人員能處理各種工作,包括但不限于Web、GUI、線程、數(shù)據(jù)庫、網(wǎng)絡(luò)爬
蟲、數(shù)據(jù)分析等。
Python部分庫簡介:
(1)BeautifulSoup:用于獲取HTML或XML文件數(shù)據(jù)的第三方庫,提供一
些簡單的函數(shù)用來處理導(dǎo)航、搜索、修改分析tree等功能,通過解析文檔為使
用者抓取數(shù)據(jù)。
(2)Re:通過正則表達式匹配字符串的標準庫。
(3)urllib:用于處理URL的標準庫,能夠通過網(wǎng)絡(luò)訪問文件;
(4)PyMYSQL:適用于Python3.X版本的MySQL數(shù)據(jù)庫連接驅(qū)動,能夠在Py
thon中實現(xiàn)簡單的增刪改查。
(5)Matplotlib:Python中最受歡迎的數(shù)據(jù)可視化庫之一,是Python最
常用的2D繪圖庫,數(shù)據(jù)分析的重要工具之一。
(6)WordCloud:詞云,用于數(shù)據(jù)分析的第三方庫。
(7)Jieba:優(yōu)秀的中文分詞第三方庫,在本設(shè)計中配合詞云使用。
1.2.2Tkinter模塊簡介
Tkinter模塊(Tk接口,以下簡稱tk模塊)作為Python標準TkGUI(即Pyt
hon語言內(nèi)置的標準GUI庫,在大多數(shù)Unix平臺、Windows和Macintosh系統(tǒng)上
可用)的接口,允許Python在Tkinter中快速創(chuàng)建圖形界面應(yīng)用程序。
Tkinter是一個面向?qū)ο蟮某绦?,它將Tcl/Tk函數(shù)封裝為允許定位、顯示
和控制控件的類。控件的屬性,如Frame、Label、Button、Entry、Text、
Canvas、Scrollbar等,都可以指定關(guān)鍵字參數(shù),控件由Gird、Pack及Place
管理,但當它們位于同一個小部件中時,可能會發(fā)生沖突。對于各窗體、控件等
則通過資源綁定到事件(關(guān)鍵字參數(shù)命令綁定等)或bind()進行控制。
1.2.3MySQL簡介
MySQL數(shù)據(jù)庫是現(xiàn)今最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,其特點是體積小、
速度快,擁有成本低,且代碼開源。
除了能作為一個單獨的應(yīng)用程序嵌入客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境,MySQL數(shù)據(jù)庫
也能作為一個庫嵌入其他編程語言中。作為關(guān)系型數(shù)據(jù)庫,MySQL將數(shù)據(jù)存放于
不同的表(Table)中而非同一個倉庫,這使MySQL的運行提速的同時也增加了
靈活性。MySQL支持多線程以充分利用CPU資源,也支持大型數(shù)據(jù)庫處理上萬條
記錄的大型數(shù)據(jù)庫。
5
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
1.3開發(fā)工具簡介
工具的使用:PyCharm2021(CommunityEdition)、Navicat16、Anaconda。
PyCharm作為一款Python的集成開發(fā)環(huán)境,具有編碼協(xié)助、項目代碼導(dǎo)航、
代碼分析、圖形頁面調(diào)試器、集成的單元測試等特點,足以滿足一般的Python
項目開發(fā)要求。
Navicat兼容多種不同類型的數(shù)據(jù)庫,具備完善的GUI。不論對于專業(yè)開發(fā)
人員還是普通用戶而言,都操作簡單、方便快捷。
Anaconda直譯“巨蟒”,是一個開源的Python發(fā)行版本,包含Python、conda
在內(nèi)的多個科學包及其依賴項,能在同一設(shè)備上安裝不同版本的軟件包及依賴且
支持在不同環(huán)境間相互切換。
1.4項目開發(fā)環(huán)境與部署
本設(shè)計基于Python編程語言進行開發(fā),后端采用MySQL數(shù)據(jù)庫,通過
PythonGUI實現(xiàn)用戶交互,開發(fā)環(huán)境與部署如下:
(1)操作系統(tǒng):Windows10系統(tǒng)。
(2)開發(fā)工具:Python3.8、MySQL5.5.20。
2需求分析
2.1功能需求描述
本系統(tǒng)的主要目的是輔助用戶以更直觀的方式獲取一部電影的評論觀點,過
濾掉大量的無意義信息,使用戶只需一眼掃過就能領(lǐng)略其中的內(nèi)容主旨,從而對
電影進行了解。
而系統(tǒng)主要從兩個角色入手:普通用戶、管理員用戶。普通用戶可以在系統(tǒng)
中查看電影榜單、搜索電影信息、在電影下發(fā)表評論、管理賬號信息;管理員用
戶則可以管理系統(tǒng)數(shù)據(jù)。
2.2非功能需求描述
本系統(tǒng)的非功能性需求有以下幾個方面:
(1)易用性:本系統(tǒng)簡單易使用,具有一定的GUI方便操作。
(2)運行可行性:本系統(tǒng)耗費資源非常小,一般設(shè)備無論是硬件軟件都能
夠滿足條件。
(3)可復(fù)用性:系統(tǒng)在設(shè)計時組件基本統(tǒng)一。
6
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
2.3需求用例建模
通過對功能需求的分析,創(chuàng)建以下總體用例模型,如圖2-1所示。
圖2-1電影評分系統(tǒng)的總體用例模型
本系統(tǒng)總體需求分為普通用戶需求和管理員用戶需求,除了數(shù)據(jù)管理功能、
注冊功能(新注冊賬號權(quán)限僅為普通用戶)外其他功能共用。
2.3.1普通用戶功能用例
根據(jù)總體用例模型分析梳理,普通用戶在使用過程中具體的用例描述如圖
2-2所示,分別具有登錄、注冊、查詢電影信息、管理個人信息等操作功能。
圖2-2普通用戶功能用例圖
通過進一步細化分析,得出以下用例描述表。
表2-1為登錄功能用例描述。
表2-1登錄功能用例描述
項目描述
用例名稱用戶登錄
用例標識號01
參與者管理員、普通用戶
7
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
參與者輸入賬號、密碼,系統(tǒng)進行驗證后,合法則登錄系
簡要說明
統(tǒng),否則拒絕登錄
前置條件參與者已打開系統(tǒng)登錄頁LoginSigninPage.py
1.參與者依次在賬號、密碼輸入框中輸入
2.單擊登錄按鈕后,系統(tǒng)驗證參與者輸入的有效性
基本事件流
3.有效則進入系統(tǒng)的主界面,無效則提示相應(yīng)錯誤給用戶
4.用例終止
在按登錄按鈕之前,參與者可以單擊登陸窗口的關(guān)閉按鈕
其他事件流
退出程序
異常事件流提示錯誤信息,參與者確認
后置條件進入的主界面MainPage.py,裝載相應(yīng)的數(shù)據(jù)
表2-2為注冊功能用例描述。
表2-2注冊功能用例描述
項目描述
用例名稱用戶注冊
用例標識號02
參與者新用戶
參與者輸入賬號、密碼、二次確認密碼進行驗證后,合法
簡要說明
則注冊賬號并登陸系統(tǒng),否則拒絕注冊
參與者已打開系統(tǒng)登錄頁LoginSigninPage.py,并單擊注
前置條件
冊按鈕跳轉(zhuǎn)注冊頁
1.參與者依次在賬號、密碼、確認密碼輸入框中輸入
2.單擊注冊并登錄按鈕后,系統(tǒng)驗證參與者輸入的有效性
基本事件流
3.有效則進入系統(tǒng)的主界面,無效則提示相應(yīng)錯誤給用戶
4.用例終止
在按注冊并登錄按鈕之前,參與者可隨時單擊返回按鈕返
其他事件流
回登錄頁或單擊窗口的關(guān)閉按鈕退出程序
異常事件流提示錯誤信息,參與者確認
后置條件進入的主界面MainPage.py,裝載相應(yīng)的數(shù)據(jù)
表2-3為電影信息查詢功能用例描述。
表2-3電影信息查詢功能用例描述
項目描述
用例名稱電影信息查詢
用例標識號03
參與者普通用戶、管理員
8
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
參與者輸入關(guān)鍵字后進行搜索,搜索成功則顯示搜索結(jié)果,
簡要說明
否則提示錯誤信息
前置條件參與者已打開系統(tǒng)搜索頁SearchFrame.py
1.參與者在下拉菜單中選擇任意搜索方式
2.在搜索框里輸入關(guān)鍵字
3.單擊搜索按鈕后,系統(tǒng)驗證參與者輸入的有效性
基本事件流
4.有效則顯示結(jié)果按鈕,無效則提示相應(yīng)錯誤給用戶
5.單擊任意搜索結(jié)果,跳轉(zhuǎn)信息頁并顯示內(nèi)容
6.用例終止
進入信息頁后,參與者可單擊寫評論按鈕進入編輯頁發(fā)表
其他事件流
評論或下滑頁面單擊查看按鈕進入評論頁查看詳情
異常事件流提示錯誤信息,參與者確認
后置條件進入電影信息頁ShowData.py,裝載相應(yīng)的數(shù)據(jù)
表2-4為修改密碼功能用例描述。
表2-4修改密碼功能用例描述
項目描述
用例名稱修改密碼
用例標識號04
參與者普通用戶、管理員
參與者輸入舊密碼、新密碼、二次確認密碼進行驗證后,
簡要說明
合法則在數(shù)據(jù)庫中進行修改操作,否則拒絕修改
參與者已從個人中心頁MyFrame.py進入修改密碼子窗
前置條件
口
1.參與者依次在當前密碼、新密碼、確認密碼輸入框中輸
入
基本事件流2.單擊確認修改按鈕后,系統(tǒng)驗證參與者輸入的有效性
3.有效則進行修改操作,無效則提示相應(yīng)錯誤給用戶
4.用例終止
在按確認修改按鈕之前,參與者可隨時單擊窗口的關(guān)閉按
其他事件流
鈕退出子窗口
異常事件流提示錯誤信息,參與者確認
后置條件通過db.py在數(shù)據(jù)庫中完成密碼修改
表2-5為刪除賬號功能用例描述。
表2-5刪除賬號功能用例描述
項目描述
用例名稱刪除賬號
9
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
用例標識號05
參與者普通用戶、管理員
參與者輸入密碼、二次確認密碼進行驗證后,合法則在數(shù)
簡要說明
據(jù)庫中進行刪除操作,否則拒絕刪除
參與者已從個人中心頁MyFrame.py進入刪除賬號子窗
前置條件
口
1.參與者依次在密碼、確認密碼框中輸入
2.單擊確認刪除按鈕后,系統(tǒng)驗證參與者輸入的有效性
基本事件流
3.有效則進行刪除操作,無效則提示相應(yīng)錯誤給用戶
4.用例終止
在按確認刪除按鈕之前,參與者可隨時單擊窗口的關(guān)閉按
其他事件流
鈕退出子窗口
異常事件流提示錯誤信息,參與者確認
后置條件通過db.py在數(shù)據(jù)庫中完成賬號刪除
表2-6為查看個人評論功能用例描述。
表2-6查看個人評論功能用例描述
項目描述
用例名稱查看個人評論
用例標識號06
參與者普通用戶、管理員
簡要說明參與者查看當前登陸賬號發(fā)表的評論
前置條件參與者已進入個人中心頁MyFrame.py
1.參與者在個人中心頁單擊我的評論按鈕進入子窗口
2.系統(tǒng)查詢當前賬號下的評論
基本事件流
3.返回數(shù)據(jù)不為空則顯示評論列表,否則顯示為空頁
4.用例終止
進入我的評論頁后,參與者可下滑頁面單擊查看按鈕進入
其他事件流
評論頁查看詳情
異常事件流無
后置條件通過db.py返回數(shù)據(jù)
2.3.2管理員用戶功能用例
根據(jù)總體用例模型分析梳理,管理員用戶在使用過程中具體的用例描述如圖
2-3所示,擁有普通用戶功能的同時,具備管理電影、評論、用戶數(shù)據(jù)的功能。
10
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
圖2-3管理員用戶功能用例圖
通過進一步細化分析,得出以下用例描述表。
表2-7為電影數(shù)據(jù)添加功能用例描述。
表2-7電影數(shù)據(jù)添加功能用例描述
項目描述
用例名稱電影數(shù)據(jù)添加
用例標識號07
參與者管理員
簡要說明參與者進行添加電影數(shù)據(jù)操作
參與者已從數(shù)據(jù)管理頁RootFrame.py進入添加電影數(shù)據(jù)
前置條件
子窗口
1.參與者依次在電影編號、電影名稱等輸入框中輸入數(shù)據(jù)
2.單擊提交按鈕后,系統(tǒng)驗證各輸入框是否不為空
3.驗證通過后將獲取的數(shù)據(jù)上傳
4.用例終止
其他事件流參與者可隨時單擊窗口的關(guān)閉按鈕退出子窗口
異常事件流提示錯誤信息,參與者確認
后置條件通過db.py將輸入的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫
表2-8為電影數(shù)據(jù)刪除功能用例描述。
表2-8電影數(shù)據(jù)刪除功能用例描述
項目描述
用例名稱電影數(shù)據(jù)刪除
用例標識號08
參與者管理員
簡要說明參與者進行刪除電影數(shù)據(jù)操作
11
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
參與者已從數(shù)據(jù)管理頁RootFrame.py進入刪除電影數(shù)據(jù)
前置條件
子窗口
1.參與者在搜索框中輸入關(guān)鍵字
2.單擊搜索按鈕后,系統(tǒng)驗證參與者輸入的有效性
基本事件流3.有效則顯示結(jié)果按鈕,無效則提示相應(yīng)錯誤給用戶
4.單擊任意搜索結(jié)果進行刪除操作
5.用例終止
參與者單擊任意按鈕前,可隨時單擊窗口的關(guān)閉按鈕退出
其他事件流
子窗口
異常事件流提示錯誤信息,參與者確認
后置條件通過db.py將選中的數(shù)據(jù)在數(shù)據(jù)庫中刪除
表2-9為電影評論批量添加功能用例描述。
表2-9電影評論批量添加功能用例描述
項目描述
用例名稱電影評論批量添加
用例標識號09
參與者管理員
簡要說明參與者上傳文件以批量添加評論數(shù)據(jù)
參與者已從數(shù)據(jù)管理頁RootFrame.py進入添加評論數(shù)據(jù)
前置條件
子窗口
1.參與者單擊打開文件按鈕選擇目標文件
2.單擊上傳文件按鈕后,系統(tǒng)對文件數(shù)據(jù)進行預(yù)處理
基本事件流
3.處理完成后上傳數(shù)據(jù)庫
4.用例終止
其他事件流參與者可隨時單擊窗口的關(guān)閉按鈕退出子窗口
異常事件流提示錯誤信息,參與者確認
后置條件通過db.py將處理后的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫
表2-10為電影評論刪除評論功能用例描述。
表2-10電影評論刪除功能用例描述
項目描述
用例名稱電影評論刪除
用例標識號10
參與者管理員
簡要說明參與者對評論數(shù)據(jù)進行刪除操作
12
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
參與者已從數(shù)據(jù)管理頁RootFrame.py進入刪除評論數(shù)據(jù)
前置條件
子窗口
1.參與者在搜索框中輸入關(guān)鍵字
2.單擊搜索按鈕后,系統(tǒng)驗證參與者輸入的有效性
3.有效則顯示結(jié)果按鈕,無效則提示相應(yīng)錯誤給用戶
基本事件流
4.單擊任意搜索結(jié)果跳轉(zhuǎn)相應(yīng)的評論列表子窗口
5.在子窗口中點擊任意刪除按鈕進行刪除操作
6.用例終止
參與者可單擊任意查看按鈕查看評論詳情或隨時單擊窗口
其他事件流
的關(guān)閉按鈕退出子窗口
異常事件流提示錯誤信息,參與者確認
后置條件通過db.py將選中的數(shù)據(jù)在數(shù)據(jù)庫中刪除
表2-11為更改用戶權(quán)限功能用例描述。
表2-11更改用戶權(quán)限功能用例描述
項目描述
用例名稱更改用戶權(quán)限
用例標識號11
參與者管理員
簡要說明參與者對其他用戶進行更改權(quán)限操作
參與者已從數(shù)據(jù)管理頁RootFrame.py進入更改用戶權(quán)限
前置條件
子窗口
1.參與者單擊子窗口中任意修改按鈕
基本事件流2.系統(tǒng)驗證對應(yīng)的用戶權(quán)限后修改
3.用例終止
其他事件流參與者可隨時單擊窗口的關(guān)閉按鈕退出子窗口
異常事件流無
后置條件通過db.py對選中的用戶在數(shù)據(jù)庫中進行修改操作
3系統(tǒng)概要設(shè)計
3.1系統(tǒng)設(shè)計原則
1.系統(tǒng)性:系統(tǒng)作為有機整體,統(tǒng)一信息代碼、數(shù)據(jù)組織方法、設(shè)計規(guī)范和
標準,以提高系統(tǒng)的設(shè)計質(zhì)量。
2.經(jīng)濟性:在滿足系統(tǒng)要求的前提下,盡可能減少系統(tǒng)的經(jīng)濟支出。
13
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
3.可靠性:設(shè)計出的系統(tǒng)安全可靠才能在實際使用中發(fā)揮其作用。
3.2系統(tǒng)功能模塊設(shè)計
電影評分系統(tǒng)主要用于使普通用戶查詢?yōu)g覽電影信息、評論及發(fā)表評論,管
理員用戶除了查詢?yōu)g覽外,還能夠上傳電影信息數(shù)據(jù)及評論數(shù)據(jù)并進行管理,以
及管理普通用戶權(quán)限。
如何衡量一個系統(tǒng)的完備性,系統(tǒng)功能實現(xiàn)的完整性作為基本標準十分重要。
綜合本系統(tǒng)的需求分析,確定了本系統(tǒng)的主要功能模塊,包括用戶登錄注冊模塊、
電影數(shù)據(jù)展示模塊、電影榜單模塊、電影查詢模塊、個人中心模塊、數(shù)據(jù)管理模
塊,如圖3-1所示。
圖3-1電影評分系統(tǒng)功能結(jié)構(gòu)圖
3.2.1用戶登錄注冊模塊設(shè)計
針對系統(tǒng)功能結(jié)構(gòu)圖進行進一步細化分析,得到各模塊相關(guān)功能描述,功能
描述使用功能流程圖描述,如下圖3-3。
14
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
圖3-2用戶登錄注冊模塊流程圖
表3-1用戶登錄注冊模塊相關(guān)功能描述
功能名稱登錄
功能概述所有用戶共用同一登錄頁,完成驗證后登陸系統(tǒng)
輸入內(nèi)容賬號、密碼
系統(tǒng)處理驗證賬號信息
輸出內(nèi)容操作成功或失敗的提示
功能名稱注冊
功能概述未注冊用戶注冊賬號后登陸系統(tǒng)
輸入內(nèi)容賬號、密碼、二次確認密碼
系統(tǒng)處理驗證兩次密碼一致后,檢測賬號存在與否
輸出內(nèi)容操作成功或失敗的提示
3.2.2電影數(shù)據(jù)展示模塊設(shè)計
針對系統(tǒng)功能結(jié)構(gòu)圖進行進一步細化分析,得到各模塊相關(guān)功能描述,功能
描述使用功能流程圖描述,如下圖3-3。
15
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
圖3-3電影數(shù)據(jù)展示模塊流程圖
表3-2電影數(shù)據(jù)展示模塊相關(guān)功能描述
功能名稱寫評論
功能概述用戶發(fā)表評論
輸入內(nèi)容用戶賬號、電影編號、評論標題、評論正文、評分
系統(tǒng)處理驗證輸入數(shù)據(jù)完整后向數(shù)據(jù)表中插入
輸出內(nèi)容操作成功或者失敗的提示
功能名稱查看評論
功能概述用戶查看評論內(nèi)容詳情
輸入內(nèi)容評論編號
系統(tǒng)處理根據(jù)用戶的點擊返回相應(yīng)內(nèi)容
輸出內(nèi)容跳轉(zhuǎn)顯示評論的子窗口
16
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
3.2.3電影榜單模塊設(shè)計
圖3-4電影榜單模塊流程圖
表3-3電影榜單模塊相關(guān)功能描述
功能名稱電影榜單
功能概述根據(jù)特定規(guī)則將電影排序顯示
輸入內(nèi)容無
系統(tǒng)處理從數(shù)據(jù)庫中調(diào)取數(shù)據(jù)并返回
輸出內(nèi)容在頁面中顯示數(shù)據(jù)
17
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
3.2.4個人中心模塊設(shè)計
圖3-5個人中心模塊流程圖
表3-4個人中心模塊相關(guān)功能描述
功能名稱修改密碼
功能概述用戶更改登陸賬號的舊密碼
輸入內(nèi)容賬戶編號、舊密碼、新密碼、二次確認密碼
系統(tǒng)處理驗證密碼后在數(shù)據(jù)庫中進行修改
輸出內(nèi)容操作成功或者失敗的提示
功能名稱刪除賬號
功能概述用戶刪除登陸賬號
輸入內(nèi)容用戶賬號、密碼
系統(tǒng)處理驗證密碼后在數(shù)據(jù)庫中進行刪除
輸出內(nèi)容操作成功或者失敗的提示
功能名稱我的評論
功能概述用戶查看登陸賬號下發(fā)表的評論
輸入內(nèi)容用戶賬號
18
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
系統(tǒng)處理從數(shù)據(jù)庫中調(diào)取數(shù)據(jù)并返回
輸出內(nèi)容在頁面中顯示數(shù)據(jù)
3.2.5數(shù)據(jù)管理模塊設(shè)計
圖3-6數(shù)據(jù)管理模塊流程圖
表3-5數(shù)據(jù)管理模塊相關(guān)功能描述
功能名稱添加電影數(shù)據(jù)
功能概述管理員添加電影信息
輸入內(nèi)容電影編號、電影名稱等
系統(tǒng)處理驗證輸入內(nèi)容完整性后插入數(shù)據(jù)表中
輸出內(nèi)容操作成功或者失敗的提示
功能名稱刪除電影數(shù)據(jù)
功能概述管理員刪除電影信息
輸入內(nèi)容電影名稱、電影編號等
系統(tǒng)處理驗證輸入內(nèi)容后在數(shù)據(jù)表中刪除
輸出內(nèi)容操作成功或者失敗的提示
19
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
功能名稱添加評論數(shù)據(jù)
功能概述管理員上傳文件導(dǎo)入數(shù)據(jù)
輸入內(nèi)容csv數(shù)據(jù)文件
系統(tǒng)處理讀取文件內(nèi)容后進行預(yù)處理并刪除數(shù)據(jù)表
輸出內(nèi)容操作成功或者失敗的提示
功能名稱刪除評論數(shù)據(jù)
功能概述管理員刪除評論
輸入內(nèi)容電影名稱、評論編號等
系統(tǒng)處理驗證輸入內(nèi)容后在數(shù)據(jù)表中刪除
輸出內(nèi)容操作成功或者失敗的提示
功能名稱更改用戶權(quán)限
功能概述管理員修改其他用戶的賬號權(quán)限
輸入內(nèi)容賬戶編號、用戶權(quán)限
系統(tǒng)處理查詢權(quán)限后在數(shù)據(jù)表中修改
輸出內(nèi)容操作成功或者失敗的提示
3.3數(shù)據(jù)庫設(shè)計
3.3.1設(shè)計原則
為取得較好的設(shè)計效果,在數(shù)據(jù)庫設(shè)計時遵從以下原則:
1.標準化原則
為使數(shù)據(jù)庫設(shè)計清晰直觀且有利于后期數(shù)據(jù)庫及程序維護,在數(shù)據(jù)庫設(shè)計時
必須遵照同一的設(shè)計標準及命名規(guī)范,統(tǒng)一分類設(shè)計與規(guī)范編碼能夠為后續(xù)項目
的可擴展性提供前提條件
2.冗余原則
基本表與字段間的關(guān)系應(yīng)盡量滿足第三范式,但滿足第三范式的數(shù)據(jù)庫設(shè)計
往往來說并非最恰當?shù)?。為提高?shù)據(jù)庫的運行效率,常需降低范式標準:適當增
加冗余達到以空間換時間的目的,在數(shù)據(jù)冗余和處理速度之間找到合適的平衡點,
從而提高數(shù)據(jù)庫運行速度。
3.3.2概念設(shè)計
在數(shù)據(jù)庫概念設(shè)計過程中,通常使用E-R圖以描述其結(jié)果。E-R圖即實體-
聯(lián)系圖,用以描述實體的概念模型,提供了表示實體、屬性及聯(lián)系的方法。根據(jù)
20
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
電影評分系統(tǒng)數(shù)據(jù)進行分析,其E-R圖如下圖所示。
圖3-7電影評分系統(tǒng)E-R圖
3.3.3邏輯設(shè)計
針對ER模型,通過分析并結(jié)合本系統(tǒng)的實際需求,由E-R圖轉(zhuǎn)化關(guān)系模式
的方式,建立起了本系統(tǒng)的關(guān)系模式,具體轉(zhuǎn)化后的關(guān)系模式如下:
用戶表(賬戶編號,賬戶密碼,賬戶權(quán)限)
電影表(電影編號,電影名稱,上映時間,導(dǎo)演,編劇,主演,類型,國家,
時長,簡介)
電影評論表(評論編號,賬戶編號,電影編號,評論標題,評論正文,評分)
3.3.4數(shù)據(jù)字典
本設(shè)計的數(shù)據(jù)庫film_info中包含了用戶表user_info表、電影表
film_list表、電影評論表film_comment表。
user_info表的表結(jié)構(gòu)如表3-6所示,該表用于記錄用戶信息,用于用戶登
錄、注冊以及記錄賬戶權(quán)限。
表3-6user_info表表結(jié)構(gòu)
字段名稱數(shù)據(jù)類型字段內(nèi)容主鍵設(shè)置非空
idvarchar賬戶編號是是
passwordvarchar賬戶密碼否是
authorityvarchar賬戶權(quán)限否是
film_list表的表結(jié)構(gòu)如表3-7所示,該表用于記錄電影的相關(guān)信息。
表3-7film_list表表結(jié)構(gòu)
字段名稱數(shù)據(jù)類型字段內(nèi)容主鍵設(shè)置非空
21
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
film_idint電影編號是是
namevarchar電影名稱否否
yearvarchar上映時間否否
directorvarchar導(dǎo)演否否
screenwritervarchar編劇否否
starringvarchar主演否否
typevarchar類型否否
countryvarchar國家否否
minvarchar時長否否
synopsisvarchar簡介否否
film_comment表的表結(jié)構(gòu)如表3-8所示,該表主要用于記錄用戶評論信息。
表3-8film_comment表表結(jié)構(gòu)
字段名稱數(shù)據(jù)類型字段內(nèi)容主鍵設(shè)置非空
comment_idvarchar評論編號是是
film_idint電影編號否否
user_idvarchar賬戶編號否否
titlevarchar評論標題否否
textvarchar評論正文否否
user_scoreint評分否否
4系統(tǒng)詳細設(shè)計
本系統(tǒng)包括用戶登錄、用戶注冊、電影數(shù)據(jù)展示、電影榜單、電影查詢、個
人中心、數(shù)據(jù)管理七個模塊,其中電影數(shù)據(jù)展示模塊同時在部分模塊皆有使用,
因此單獨列出介紹。此外,系統(tǒng)所有的模塊都使用到了數(shù)據(jù)獲取模塊db、可視
化繪圖模塊DrawImg,其作用分別為從MySQL數(shù)據(jù)庫中獲取數(shù)據(jù)、根據(jù)已有數(shù)據(jù)
繪圖,無具體界面,因此不做贅述。
4.1用戶登錄模塊設(shè)計
4.1.1用戶登錄注冊模塊說明
本模塊用于用戶進行登陸、注冊操作并進入主程序頁,同時也設(shè)有跳轉(zhuǎn)注冊
程序的按鈕。本系統(tǒng)中共設(shè)有“Normal”、“Root”兩種權(quán)限,分別對應(yīng)普通用
戶與管理員用戶。所有用戶共用同一登錄頁,系統(tǒng)會根據(jù)不同的權(quán)限顯示所能使
用的功能。新用戶注冊默認為“Normal”權(quán)限,注冊成功則直接進入普通用戶的
主程序頁。
22
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
4.1.2用戶登錄注冊功能模塊詳細設(shè)計
圖4-1用戶登錄注冊模塊的類圖
針對本模塊的類圖(圖4-1)進行分析,得到該模塊的類及方法描述表(表
4-1)。
表4-1用戶登錄注冊模塊相關(guān)類及方法描述表
類名LoginPage
本模塊調(diào)用了tk模塊的方法、數(shù)據(jù)獲取模塊db,以及用
描述戶注冊模塊(跳轉(zhuǎn)注冊窗口),用于實現(xiàn)登錄窗口的創(chuàng)建
及登陸操作。
page:創(chuàng)建的框架Frame,用于控件布局。
屬性id、password:分別為通過輸入控件Entry獲取的賬戶編
號、密碼。
__init__():初始化,并創(chuàng)建注冊窗口、構(gòu)建窗口布局。
login():用于登陸操作,與數(shù)據(jù)庫中的用戶信息進行比對
方法并返回提示信息。
go_signin():調(diào)用了用戶注冊模塊SigninPage,用于跳
轉(zhuǎn)注冊窗口。
類名SiginPage
本模塊主要調(diào)用了tk模塊、數(shù)據(jù)獲取模塊db,從登錄界
描述
面跳轉(zhuǎn),用于實現(xiàn)注冊窗口的創(chuàng)建及注冊操作。
page:創(chuàng)建的框架Frame,用于控件布局。
屬性id、password、password_confirm:通過輸入控件Entry
獲取的賬戶編號、密碼、二次確認密碼。
__init__():初始化,并創(chuàng)建注冊窗口、構(gòu)建窗口布局。
signin():用于注冊操作,與數(shù)據(jù)庫中的用戶信息進行驗
方法證并返回提示信息。
return_login():調(diào)用了用戶注冊模塊LoginPage,用于
跳轉(zhuǎn)注冊窗口。
23
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
4.2電影數(shù)據(jù)展示模塊設(shè)計
4.2.1電影數(shù)據(jù)展示模塊說明
本模塊其實為4個相互關(guān)聯(lián)的方法,用于調(diào)取數(shù)據(jù)庫中目標影片的信息、評
論,及對部分數(shù)據(jù)進行處理并繪圖,而后進行展示。在電影榜單、電影查詢模塊
中都有使用。其主要形式是由tk模塊的Toplevel()方法創(chuàng)建的若干個子窗口,
并在此上進行布局從而展示數(shù)據(jù)。
4.2.2電影數(shù)據(jù)展示模塊詳細設(shè)計
圖4-2電影數(shù)據(jù)展示模塊的類圖
針對本模塊的類圖(圖4-2)進行分析,得到該模塊的類及方法描述表(表
4-2)。
表4-2電影數(shù)據(jù)展示模塊相關(guān)方法描述表
類名FilmData
主要調(diào)用了tk模塊、數(shù)據(jù)獲取模塊db、繪圖模塊
描述
DrawImg,用于對數(shù)據(jù)進行展示。
屬性cdatas:字典,通過模塊db從數(shù)據(jù)庫中獲取的評論數(shù)據(jù)。
get_film_data():創(chuàng)建子窗口,構(gòu)建布局,獲取目標電影
的全部數(shù)據(jù)及繪圖結(jié)果并進行展示,同時對得到的評論數(shù)
方法
據(jù)循環(huán)創(chuàng)建跳轉(zhuǎn)按鈕以便于接下來查看評論。
data():返回獲取的cdatas。
類名CommentData
描述主要調(diào)用了tk模塊,展示評論。
24
湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計
show_comment():通過FilmData.get_film_data()中某一
方法
評論對應(yīng)的“查看”按鈕跳轉(zhuǎn)的子窗口,顯示評論內(nèi)容。
類名ShowAdd
描述主要調(diào)用了tk模塊,創(chuàng)建用戶操作窗口。
uid:通過下拉菜單控件Combobox從本地緩存的賬戶信息
中讀取的賬戶ID。
屬性uscore:通過下拉菜單控件Combobox讀取的用戶評分。
utitle:通用輸入控件Entry獲取的評論標題。
text:通過文本框控件Text獲取的評論正文。
add_comment():通過get_film_data中“寫評論”按鈕跳
方法
轉(zhuǎn)的子窗口,用于編輯評論內(nèi)容。
類名AddComment
描述主要調(diào)用了數(shù)據(jù)獲取模塊db,進行數(shù)據(jù)庫操作。
add():被ShowAdd.add_comment()中的“提交評論”按鈕
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學七年級上冊3.3《解一元一次方程二》聽評課記錄3
- 新版湘教版秋八年級數(shù)學上冊第五章二次根式課題二次根式的混合運算聽評課記錄
- 蘇科版數(shù)學七年級下冊聽評課記錄11.5用一元一次不等式解決問題
- 湘教版數(shù)學九年級上冊《小結(jié)練習》聽評課記錄8
- 湘教版數(shù)學七年級上冊2.1《用字母表示數(shù)》聽評課記錄1
- s版語文三年級下冊聽評課記錄
- 小學二年級口算題應(yīng)用題
- 五年級下冊數(shù)學解方程、口算、應(yīng)用題總匯
- 人教版七年級數(shù)學下冊 聽評課記錄 9.1.2 第1課時《不等式的性質(zhì)》
- 華師大版數(shù)學八年級上冊《立方根》聽評課記錄3
- 《農(nóng)機化促進法解讀》課件
- 最高法院示范文本發(fā)布版3.4民事起訴狀答辯狀示范文本
- 2023-2024學年度上期七年級英語期末試題
- 2024年英語高考全國各地完形填空試題及解析
- 2024至2030年中國餐飲管理及無線自助點單系統(tǒng)數(shù)據(jù)監(jiān)測研究報告
- 2024年燃氣輪機值班員技能鑒定理論知識考試題庫-下(多選、判斷題)
- 2024年服裝門店批發(fā)管理系統(tǒng)軟件項目可行性研究報告
- 交通法規(guī)課件
- (優(yōu)化版)高中地理新課程標準【2024年修訂版】
- 《Python程序設(shè)計》課件-1:Python簡介與應(yīng)用領(lǐng)域
- 各類心理量表大全
評論
0/150
提交評論