健康飲食管理系統(tǒng)
1、健康飲食管理系統(tǒng)摘要在大數(shù)據(jù)時代,數(shù)據(jù)在我們的生活和生產(chǎn)中無處不在,成為推動技術(shù)發(fā)展的新動力。大數(shù)據(jù)給我們帶來了很多前所未有的便利,還能為大家的減肥大業(yè)提供幫助。隨著網(wǎng)絡(luò)技術(shù)的不斷成熟,用戶了解各種食品的營養(yǎng)、熱量等信息更加方便,也更靈活?;诖死砟?,本文設(shè)計實現(xiàn)了一個健康飲食管理系統(tǒng)。系統(tǒng)具有幫助用戶降低體重等功能,可以幫助用戶方便地進行健康飲食管理,更好地控制體重?;诰W(wǎng)絡(luò)爬蟲的開發(fā)方式特別注重數(shù)據(jù)的變化,會對數(shù)據(jù)進行實時更新,能激發(fā)用戶對健康飲食的主動性和靈活性,對飲食健康管理非常有利。系統(tǒng)采用的數(shù)據(jù)庫是Mysql,使用android和python技術(shù)開發(fā),Android studio和
2、pycharm是本系統(tǒng)的開發(fā)平臺。關(guān)鍵詞:飲食健康管理系統(tǒng),android,Mysql,pythonABSTRACTIn the era of big data, data is everywhere in our life and production, and it has become a new driving force for the development of technology.Big data has brought us a lot of unprecedented convenience, but also can help everyone in the cause
3、 of weight loss.With the maturity of network technology, it is more convenient and flexible for users to know the nutrition, calorie and other information of all kinds of food.Based on this concept, this paper designs and implements a healthy diet management system.The system has the function of hel
4、ping the user to reduce the weight and so on, can help the user to carry on the healthy diet management conveniently, controls the weight better.The development method based on web crawler pays special attention to the change of data and updates the data in real time, which can stimulate the initiat
5、ive and flexibility of users for healthy diet and is very beneficial to the management of diet and health.The database adopted by the system is Mysql, which is developed by using android and python technologies. Android studio and pycharm are the development platforms of the system.Keywords:Food and
6、 health management system, android, Mysql, pythonIV目錄摘要IIABSTRACTII目錄IV第1章 前言11.1背景及意義11.2 國內(nèi)外研究概況11.3 術(shù)語21.4 研究的內(nèi)容21.5 論文結(jié)構(gòu)3第2章 相關(guān)技術(shù)42.1 爬蟲技術(shù)介紹42.2 Android簡介42.3 Android studio開發(fā)環(huán)境簡介52.4騰訊云服務(wù)器簡介52.5 MysqlDB簡介52.6 KNN算法簡介5第3章 系統(tǒng)分析63.1 需求分析63.2 系統(tǒng)可行性分析63.3 項目設(shè)計目標與原則73.4 android程序功能描述73.5系統(tǒng)流程8第4章 系統(tǒng)設(shè)計
7、124.1 系統(tǒng)體系結(jié)構(gòu)124.2 開發(fā)流程設(shè)計124.3 DB設(shè)計原則134.4 數(shù)據(jù)表14第5章 系統(tǒng)實現(xiàn)165.1登錄功能模塊165.2注冊功能模塊165.3用戶功能模塊17第6章 系統(tǒng)測試196.1系統(tǒng)測試的目的196.2系統(tǒng)測試方法196.3功能測試19結(jié) 論23參考文獻24致 謝25第1章 前言1.1背景及意義隨著生活水平的提高,肥胖率也伴隨著越來越高。肥胖會對人體造成很大的危害,當(dāng)脂肪層過厚的時候,人的身體就會處于一個亞健康的狀態(tài),一些并發(fā)癥也可能隨之而來。所以對于人們的身體健康來說,降低體重是一件迫在眉睫的事,而大部分人越來越重的主要原因是熱量攝取大于熱量支出而導(dǎo)致的熱量盈余。
8、在一些研究中,熱量盈余主要歸咎于體能活動的減少,也有研究指出是由于熱量攝取的增加。而“飲食環(huán)境”的變化,例如價格低廉、熱量高、營養(yǎng)低的快餐,被認為是導(dǎo)致熱量攝入增加的重要因素之一。因此我們可以從這幾點出發(fā),控制用戶每天攝入食品的熱量,幫助用戶降低體重,來達到降低體重的效果。 利用DB、爬蟲技術(shù)和安卓技術(shù)等進行開發(fā),可以非常方便用戶的操作和大大地提高用戶的體驗效果。1.2 國內(nèi)外研究概況隨著生活水平地提高,世界各地的人們的飲食結(jié)構(gòu)發(fā)生了天翻地覆的變化,高熱量物質(zhì)正在成為人們喜愛的食品,經(jīng)調(diào)查,全球因肥胖而死的人在2015年的時候就超過400萬。因此超重、肥胖已被WHO(World health
9、organization)定義為一種慢性病,因此為了身體的健康,人們對食品的熱量攝入逐漸重視。在如今,移動互聯(lián)網(wǎng)市場的迅速壯大以及智能手機的普及,信息移動化改革已成為一種更加廣泛和全面的趨勢?!敖】碉嬍彻芾硐到y(tǒng)”是基于mysqlDB,在android和python程序設(shè)計的基礎(chǔ)上實現(xiàn)的。為確保中國經(jīng)濟的持續(xù)發(fā)展,信息時代日益更新,服務(wù)業(yè)仍在蓬勃發(fā)展。同時,隨著大數(shù)據(jù)時代的崛起,繼物質(zhì)、能源之后又一種重要戰(zhàn)略資源誕生了,這就是數(shù)據(jù)(信息)。如何在廣闊的數(shù)據(jù)天空中查詢、存儲、管理和共享有效的數(shù)據(jù)信息,對用戶飲食健康具有重要的現(xiàn)實意義。因此,國內(nèi)外學(xué)術(shù)界進行了深入而廣泛的研究,開辟了一個新的科研領(lǐng)域
10、健康飲食管理系統(tǒng)誕生了。1.3 術(shù)語本文涉及的主要術(shù)語如表1.1所示。表1.1 本文涉及的主要術(shù)語術(shù)語定義與信息馬太效應(yīng)判斷食品的權(quán)重,以此來推薦用戶的喜好食品12活動(activity)用于android為用戶展示頁面內(nèi)容提供(ContentProvider)用于為Activity之間傳輸數(shù)據(jù)顯式特征用戶對食品的評價(喜歡或不喜歡)按鈕,用于計算用戶相似的喜好食品及時處理對待一些數(shù)據(jù),能即時計算結(jié)果并讀取字段DB的屬性,記錄用戶的登錄信息、食品熱量等生命周期Android程序從開始到結(jié)束的狀態(tài)IntelliJ IDEAjava編程語言開發(fā)的集成環(huán)境DB數(shù)據(jù)庫訓(xùn)練集用于機器學(xué)習(xí)算法的訓(xùn)練訓(xùn)練集
11、合1.4 研究的內(nèi)容目前依然有許多人對食品的熱量還是一知半解,而且獲取的方式也僅僅局限在書本,和面對面交流,而人們通過移動網(wǎng)了解的食品熱量信息還只是輔助作用。在移動互聯(lián)網(wǎng)軟件中,綜合性和專業(yè)性的食品熱量信息軟件與較為傳統(tǒng)的搜索引擎相比,仍然沒有得到大多數(shù)人的了解和認可,所以為此本系統(tǒng)為用戶提供推薦功能。喜好本選題通過利用爬蟲爬取關(guān)鍵食品熱量的信息、移動端顯示食品標簽信息等方式,實現(xiàn)健康飲食管理系統(tǒng)的各種功能,從而達到健康飲食系統(tǒng)的管理。1.5 論文結(jié)構(gòu)表1.2論文結(jié)構(gòu)健康飲食管理系統(tǒng)章節(jié)內(nèi)容引言緒論、選題的背景、意義、可靠性和研究現(xiàn)狀相關(guān)技術(shù)介紹技術(shù)知識的內(nèi)容,通過對開發(fā)關(guān)鍵技術(shù)的介紹,對系統(tǒng)
12、所涉及的技術(shù)知識進行直觀的表達系統(tǒng)分析重點對系統(tǒng)進行了分析,從系統(tǒng)強大的供需市場出發(fā),探討了系統(tǒng)開發(fā)的可行性、系統(tǒng)流程以及系統(tǒng)的性能和功能系統(tǒng)設(shè)計介紹了系統(tǒng)的詳細設(shè)計,包括系統(tǒng)結(jié)構(gòu)設(shè)計、DB設(shè)計系統(tǒng)實現(xiàn)系統(tǒng)設(shè)計的實現(xiàn),通過對系統(tǒng)功能設(shè)計的詳細描述,展示了系統(tǒng)的結(jié)構(gòu)系統(tǒng)測試系統(tǒng)的總體測試,系統(tǒng)能否投入運行第2章 相關(guān)技術(shù)2.1 爬蟲技術(shù)介紹爬蟲又稱網(wǎng)絡(luò)蜘蛛,自動獲取萬維網(wǎng)信息的腳本,雖然是一種腳本但他的功能十分強大。在如今的大數(shù)據(jù)時代中,數(shù)據(jù)變得尤其重要,而在本文中,則需要利用爬蟲爬取食品熱量信息。爬蟲一般分為數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)保存三個部分,這三個部分的分類都是從功能上的,爬蟲是從一個或多
13、個初始網(wǎng)頁的URL開始獲取初始網(wǎng)頁的URL。在爬取網(wǎng)頁信息的過程中,它不斷地從當(dāng)前網(wǎng)頁中提取新的url,將他們放進隊列中,直到滿足系統(tǒng)的一些停止條件4。為了更簡化簡潔的爬取數(shù)據(jù),所以本文的爬蟲是基于python語言編寫,利用了python語言的簡潔性,和有著諸多豐富的第三方庫,如Request、Beautiful Soup、Scrapy、PySpider等,這些第三方庫可以讓我們更快捷方便獲取需要的數(shù)據(jù)。所有的python爬蟲腳本均在服務(wù)器中運行,獲取到數(shù)據(jù)后,會存儲在DB相應(yīng)的字段當(dāng)中。所以結(jié)合健康飲食管理系統(tǒng)的需求及功能模塊的實現(xiàn),使用爬蟲技術(shù)獲取相關(guān)的食品信息是最好的,而且基于pytho
14、n編寫的爬蟲代碼具有簡潔性,對于系統(tǒng)在以后的使用過程中,即使出現(xiàn)什么錯誤,也可以更快捷地修改,并可以不斷地對系統(tǒng)功能進行擴展,對于開發(fā)人員來說的操作也更方便。2.2 Android簡介Android是一個基于Linux內(nèi)核的免費開源操作系統(tǒng)(不包括GNU組件)。它主要用于移動設(shè)備。Android有四大組件組成,其中activity為主要組件。一個完整的activity是有一個生命周期的,一般來說有四種基本狀態(tài),當(dāng)activity被打開時處于running狀態(tài),當(dāng)activity失去焦點時處于paused狀態(tài),當(dāng)一個activity被另一個activity完全覆蓋是處于Stopped狀態(tài),而當(dāng)a
15、ctivity被系統(tǒng)回收掉時就是Killed(摧毀)狀態(tài),這四種基本狀態(tài)保證activity不浪費系統(tǒng)資源,且使當(dāng)前程序不會因其他程序而崩潰,保證了程序的容錯性。Android高度開房,相對于iOS的全封閉系統(tǒng)來說,開發(fā)自由度更高。而且andorid是用戶量最多的移動式操作系統(tǒng)。而android主流的開發(fā)語言是java語言。它是一種面向?qū)ο蟮恼Z言,想要完成一些指定的任務(wù),只要使用java提供的基本方法就可以完成,因此開發(fā)者想要編寫一些應(yīng)用程序只需要知道一些基本理念即可。2.3 Android studio開發(fā)環(huán)境簡介Android Studio是Google為Android應(yīng)用開發(fā)開發(fā)的一個基
16、于IntelliJ-ide的集成開發(fā)環(huán)境(IDE),它提供了提高Android應(yīng)用構(gòu)建效率的功能,它擁有的敏捷的構(gòu)建系統(tǒng)(Gradle),和擁有眾多網(wǎng)絡(luò)監(jiān)控工具、性能工具和調(diào)試功能,使得開發(fā)人員可以更快、更清楚地發(fā)現(xiàn)代碼中的錯誤和程序中運行的問題。Android studio是業(yè)界知名的開發(fā)工具,android程序在開發(fā)的過程中運用的就是該工具。Android studio可以幫助andorid與DB的進行交互,相對其他工具,如Eclipse來說更快、更穩(wěn)定。根據(jù)使用Eclipse的開發(fā)人員所述,eclipes會出現(xiàn)一些影響開發(fā)效率的就問題,如使用突然阻塞和高內(nèi)存占用。Android Stud
17、io為了提高這種性能,因此=使用了與eclipes多項目管理模式不同的單項目管理模式,所以從啟動速度來看,它比Eclipse快。2.4騰訊云服務(wù)器簡介騰訊云服務(wù)器提供了各種開發(fā)者熟悉的應(yīng)用部署環(huán)境2。讓開發(fā)者無須擔(dān)心一些服務(wù)器復(fù)雜的基礎(chǔ)架構(gòu),如IDC環(huán)境,服務(wù)器負載均衡,CDN ,熱備容災(zāi),監(jiān)控告警等,搭載穩(wěn)定的網(wǎng)絡(luò)架構(gòu),采用成熟的網(wǎng)絡(luò)虛擬化技術(shù)和網(wǎng)卡綁定技術(shù),提供服務(wù)器更高的安全性。2.5 MysqlDB簡介Mysql是一個關(guān)系DB管理系統(tǒng),是互聯(lián)網(wǎng)的產(chǎn)物,因其體積小,速度快,成本低,開源等熱點,深受廣大用戶喜愛。建立數(shù)據(jù)表,可以對數(shù)據(jù)進行重組和重構(gòu),并對數(shù)據(jù)表中的數(shù)據(jù)進行調(diào)整,提升數(shù)據(jù)的穩(wěn)
18、定性和曾增加數(shù)據(jù)的持久性,由于DB強大的功能,本系統(tǒng)的開發(fā)主要采用Mysql來管理數(shù)據(jù)。2.6 KNN算法簡介KNN算法是一種常用的分類算法,因為KNN的訓(xùn)練集需要人工打標簽,所以是監(jiān)督學(xué)習(xí)。KNN算法的機制:有一組訓(xùn)練集,每個訓(xùn)練訓(xùn)練都有對應(yīng)的標簽,所以訓(xùn)練集中的每一個數(shù)據(jù)都有一個相應(yīng)的分類之間的關(guān)系,在收到一個新數(shù)據(jù)并且這個新數(shù)據(jù)沒有標簽時,KNN算法會它與訓(xùn)練集對比,對比內(nèi)容是兩者相似的特征。然后將訓(xùn)練集中特征最相似的數(shù)據(jù),的分類標簽提取出來。最后,選擇k個最相似數(shù)據(jù)中出現(xiàn)頻率最高的類別作為新數(shù)據(jù)的分類3,一般k不大于20。KNN算法用法靈活,對于本文數(shù)據(jù)的小訓(xùn)練預(yù)測方便,精度高。第3章
19、 系統(tǒng)分析3.1 需求分析健康飲食管理系統(tǒng)主要是為了幫助用戶更快捷方便地了解到食物熱量的情況,并且可以結(jié)合自身的身體條件去控制好攝入食品熱量,防止熱量攝取大于熱量支出而導(dǎo)致的熱量盈余。對系統(tǒng)所要實現(xiàn)的功能進行分析:系統(tǒng)要實現(xiàn)用戶可以直接在android程序上查看自己所有的數(shù)據(jù)信息,并且能讓用戶根據(jù)自己的身體條件來更改食品熱量的攝入范圍。系統(tǒng)需要推薦出用戶可攝入熱量范圍內(nèi)的食品。這樣的方式,使用戶不用再像傳統(tǒng)的方式那樣,需要用戶自己去查詢帖子,了解資訊信息需要去尋找相關(guān)負責(zé)人了解相關(guān)數(shù)據(jù)信息。所以健康飲食管理系統(tǒng)的開發(fā)不僅僅是能滿足用戶的需求,還能幫助用戶節(jié)省時間,減少原有不必要的工作量。3.2
20、 系統(tǒng)可行性分析3.2.1技術(shù)可行性:技術(shù)背景(1)硬件可行性分析健康飲食管理系統(tǒng)的設(shè)計和爬蟲數(shù)據(jù)分析對計算機的使用要求不高,只對服務(wù)器要求,要求服務(wù)器不能卡頓,需要反應(yīng)快,且安全性要高。(2) 軟件可行性分析系統(tǒng)和服務(wù)器都要魯棒性與相應(yīng)容抗、抗干擾能力,網(wǎng)絡(luò)通信故障7,或當(dāng)大量數(shù)據(jù)導(dǎo)致過載時,要求能夠及時和正常地提供解決方法。1. 對網(wǎng)絡(luò)連接和數(shù)據(jù)量進行監(jiān)視和故障排除,并根據(jù)具體情況采取措施不同的場景。2. 日志和錯誤處理應(yīng)該記錄在程序當(dāng)中。3.2.2經(jīng)濟可行性健康飲食系統(tǒng)的開發(fā)之前所做的市場調(diào)研及其他管理相關(guān)的系統(tǒng),只需要付出服務(wù)器的費用,因為DB和爬蟲腳本需要搭建在服務(wù)器上,所有的工作的
21、都是自己親力親為,在碰到自己比較難以解決的問題,指導(dǎo)老師的幫助和自行百度搜索解決辦法來進行相關(guān)信息的解決,所以對于系統(tǒng)的開發(fā)在經(jīng)濟上是完全可行的。使用比較成熟的技術(shù),系統(tǒng)是基于android和python來進行開發(fā),采用MysqlDB11。所以系統(tǒng)在開發(fā)人力、財力要求不高,具有經(jīng)濟可行性。3.2.3操作可行性: 可操作性主要是對系統(tǒng)設(shè)計完成后,用戶的使用體驗度,通過界面導(dǎo)航菜單可以簡單明了地進行登記自己的身體條件,獲取自己所需的信息內(nèi)容。本系統(tǒng)的操作使用的移動終端窗口進行登錄,所以用戶只要會用移動終端就完全可以的。3.3 項目設(shè)計目標與原則1. 關(guān)于健康飲食管理系統(tǒng)基本要求(1)功能要求:用戶
22、登錄、個人信息維護、熱量記錄、健康食譜制定、熱量統(tǒng)計、吃飯時間提醒。(2)性能:不同的用戶登錄到相應(yīng)的界面后,可以進行預(yù)期的操作,沒有錯誤,操作方便(3)安全性要求:用戶都有自己的賬號密碼,登陸時必須通過驗證。(4)程序環(huán)境要求:適用于android系統(tǒng)下的各種移動終端。2. 開發(fā)目標系統(tǒng)的主要開發(fā)目標如下:(1)健康飲食管理系統(tǒng)需要符合七大設(shè)計原則及設(shè)計思想(開閉原則、里氏替換原則、依賴倒置原則、單一原則、接口隔離原則、迪卡特法則、合用復(fù)用原則10)(2)方便用戶查詢信息和修改信息等。(3)減少維護人員的工作量以及實現(xiàn)用戶對信息的控制和管理。(4)考慮到用戶多樣性特點,要求界面簡單,操作簡便
23、。3. 設(shè)計原則本系統(tǒng)采用android和python技術(shù),MysqlDB開發(fā),充分保證了系統(tǒng)的穩(wěn)定性和完整性。健康飲食管理系統(tǒng)的設(shè)計與實現(xiàn)如下:1. activity布局簡單清晰,方便查詢相關(guān)信息。操作簡單,界面好;2. 系統(tǒng)信息的處理將即時可在相應(yīng)的位置查詢到,實現(xiàn)“即時發(fā)布、即時生效”的功能。3.4 android程序功能描述3.4.1 用戶注冊功能獲取用戶基本數(shù)據(jù),用于用戶后期登錄,一個用戶一個賬號,數(shù)據(jù)保存在DB中。3.4.2 用戶信息修改功能用于用戶修改基本信息,修改成功后更新DB。3.4.3用戶食品推薦功能從DB中抽取用戶可食用熱量范圍內(nèi)的食品,隨機推薦給用戶參考食用。3.4.4
24、進食提醒功能按照用戶設(shè)定的時間,定時提醒用戶進食,該功能是防止有些用戶因為進食時間混亂而導(dǎo)致身體出現(xiàn)抵抗力下降等現(xiàn)象發(fā)生。3.4.5用戶食品評價功能收集用戶對食品的評價,用于后續(xù)給用戶推薦與其喜好相似的食品。3.4.6用戶熱量統(tǒng)計功能顯示用戶一周內(nèi)食用食品的總熱量,評價過后的食品才會統(tǒng)計3.5系統(tǒng)流程3.5.1操作流程用戶想要進入程序,首先需要用正確的賬戶和密碼登錄,如若沒有賬戶,則需要注冊,注冊成功后,需要判斷是否第一次登錄,如果沒有則需要設(shè)置自己的身體情況,反之則進入功能界面,一切信息儲存在DB中,需要上傳DB判斷。系統(tǒng)操作流程如圖3-1所示。圖3-1操作流程圖3.5.2修改信息流程用戶打
25、開修改信息的頁面,選擇需要修改的信息,如用戶名、身高、體重、用戶密碼等。修改完成后,點擊確認,系統(tǒng)會提示是否修改。如果修改成功后會,系統(tǒng)將會將信息發(fā)送到服務(wù)器的DB中,并對DB內(nèi)的用戶信息修改。修改操作流程如圖3-2所示。圖3-2修改操作流程圖3.5.2評價食品信息流程評價食品信息功能,主要是推薦用戶愛好的食品時使用,當(dāng)用戶沒有評價任何食品時,將會隨機推薦給用戶一定熱量范圍內(nèi)的食品,反之則會推薦給與用戶喜好相似的食品。當(dāng)推薦給用戶食品后,用戶可對食品進行評價,有三個選擇,喜歡、不喜歡和暫時不評價。選擇喜歡或喜歡都會更新DB,而選擇暫時不評價則不會更新DB。評價操作如圖3-3所示。圖3-3評價食
26、品操作流程第4章 系統(tǒng)設(shè)計4.1 系統(tǒng)體系結(jié)構(gòu)健康飲食管理系統(tǒng)的實現(xiàn)主要包括android程序和python腳本等兩個功能,這兩個功能各司其職,主要通過DB讓這兩個功能模塊聯(lián)合起來,爬蟲腳本爬取數(shù)據(jù)后存到DB中,然后android程序從DB讀取顯示在頁面上。這些功能可以充分滿足健康飲食管理系統(tǒng)的需求。此系統(tǒng)功能較為全面如下圖系統(tǒng)功能結(jié)構(gòu)如圖4-1所示。為了反映一個結(jié)構(gòu)和其他元素之間的關(guān)系,我們使用了體系結(jié)構(gòu)設(shè)計。體系結(jié)構(gòu)設(shè)計一般是用來引導(dǎo)大型軟件系統(tǒng)的設(shè)計,系統(tǒng)體系結(jié)構(gòu)的總體設(shè)計指的是將一些大的任務(wù)化解為一個個小任務(wù)的過程,當(dāng)這些小任務(wù)都完成后,大任務(wù)也就完成了,系統(tǒng)進行分解就是其具體的實現(xiàn)過
27、程,對各部分的功能、接口和邏輯關(guān)系進行分析,activity由多個模塊組成,因此它的層次結(jié)構(gòu)分明。圖4-1 系統(tǒng)功能結(jié)構(gòu)圖4.2 開發(fā)流程設(shè)計系統(tǒng)流程的分析是通過調(diào)查系統(tǒng)所涉及問題的識別、可行性可操作性、系統(tǒng)分析處理能力等具體環(huán)節(jié)來調(diào)節(jié)、整系統(tǒng)地設(shè)計計方案以確保系統(tǒng)能達到理想的狀態(tài)。這些操作都要進行一系列的流程測試保證DB的完整,以把控系統(tǒng)所涉及信息管理的安全、保證信息輸入、輸出正常轉(zhuǎn)換。然后,通過實際操作完成流程圖的繪制工作。健康飲食管理系統(tǒng)的開發(fā)對管理模塊和系統(tǒng)使用的DB進行分析,編寫代碼、系統(tǒng)測試,如圖4-2所示。圖4-2開發(fā)系統(tǒng)流程圖4.3 DB設(shè)計原則作為一個程序員,都應(yīng)該知道DB的
28、設(shè)計是基于需求來設(shè)計系統(tǒng)功能,因此需要利用建立DB關(guān)系模型來讓數(shù)據(jù)信息持久化,在程序acticity中添加數(shù)據(jù)這種操作就不需要了,減少這一步使我們的系統(tǒng)的提高了效率,而數(shù)據(jù)管理系統(tǒng)的核心和就是這樣完成了。DB還提供了添加、刪除、修改和檢查等功能,使系統(tǒng)能夠快速地找到所需的信息1,而不是在程序代碼中找到,DB中信息表的每一部分都是按照一定的關(guān)系精確地組合、排列和組合成一個數(shù)據(jù)表。根據(jù)健康飲食管理系統(tǒng)的功能,將規(guī)劃劃分為多個實體信息,并用ER圖進行說明。系統(tǒng)主要實體圖如下:用戶程序信息實體屬性圖如圖4-3所示登錄注冊食品評價吃飯時間設(shè)置推薦食品顯示個人信息修改 用戶程序圖4-3 用戶程序信息實體屬
29、性圖4.4 數(shù)據(jù)表將DB概念設(shè)計的E-R圖轉(zhuǎn)換為關(guān)系DB。在關(guān)系DB中,數(shù)據(jù)關(guān)系由數(shù)據(jù)表組成,但是表的結(jié)構(gòu)表現(xiàn)在表的字段上。如表4-1所示為 userbi表結(jié)構(gòu),該表用來保存用戶注冊信息。表4-1 userbi表字段及其屬性列名數(shù)據(jù)類型長度約束idint20PRIMARY KEYusernamevarchar50DEFAULT NULLpasswordvarchar50DEFAULT NULLquestiononevarchar255DEFAULT NULLansweronevarchar255DEFAULT NULLquestiontwovarchar255DEFAULT NULLanswe
30、rtwovarchar255DEFAULT NULLsavetimevarchar255DEFAULT NULLemailvarchar255DEFAULT NULLtelephonevarchar 255DEFAULT NULLidcardvarchar255DEFAULT NULLaddressvarchar255DEFAULT NULLrealnamevarchar255DEFAULT NULL表4-2 useric表,該表用來保存用戶的身高信息,以便推薦熱量適應(yīng)范圍內(nèi)的食品,表的字段內(nèi)容如下所示:表4-2 useric表字段及其屬性列名數(shù)據(jù)類型長度約束idint20PRIMARY KE
31、Yheightvarchar255DEFAULT NULLweightvarchar255DEFAULT NULLsexvarchar255DEFAULT NULL表4-3 foodheat表,該表用來保存爬蟲腳本爬取的食物信息,表的字段內(nèi)容如下所示:表4-3 foodheat表字段及其屬性列名數(shù)據(jù)類型長度約束idint20PRIMARY KEYnamevarchar255DEFAULT NULLheatvarchar255DEFAULT NULLlabelvarchar255DEFAULT NULLsavetimevarchar255DEFAULT NULL表4-4 foodrecom表,該
32、表用來保存已推薦的食品信息,表的字段內(nèi)容如下所示:表4-4 foodrecom表字段及其屬性列名數(shù)據(jù)類型長度約束idint20PRIMARY KEYnamevarchar255DEFAULT NULLheatvarchar255DEFAULT NULLlabelvarchar255DEFAULT NULLsavetimevarchar255DEFAULT NULL表4-5 foodeva表,該表用來保存用戶評價過的食品信息,以后續(xù)推薦用戶的喜好相似的食品,表的字段內(nèi)容如下所示:表4-5 foodeva表字段及其屬性列名數(shù)據(jù)類型長度約束idint20PRIMARY KEYnamevarchar2
33、55DEFAULT NULLheatvarchar255DEFAULT NULLlabelvarchar255DEFAULT NULLevaluationvarchar255DEFAULT NULL第5章 系統(tǒng)實現(xiàn)5.1登錄功能模塊用戶在輸入框中,輸入自己的賬號等信息,再點擊Login后,系統(tǒng)會將用戶輸入的信息提交到DB中檢測,如果DB中存在該賬號,就進行密碼匹配,當(dāng)賬號和密碼都通過驗證時,用戶就可以進入到主頁面,進行相應(yīng)的操作,如圖5-1所示。圖5-1 用戶登錄界面5.2注冊功能模塊如果是新用戶第一次使用本程序時,需要注冊一個專屬于自己的賬號,有了賬號才能使用程序所有功能,如圖5-2所示,注
34、冊時需要填寫,賬戶名、密碼、地址、電話、身份證、真實名字,不過除了賬戶名和密碼必填之外,其他的都為選填,填寫完成后,點擊確認,程序會將數(shù)據(jù)傳入到DB中,但要注意的是,注冊時會判斷,賬戶是否存在,因為賬戶只會有一個不可重復(fù),當(dāng)重復(fù)時,會提示用戶該賬戶已被注冊,需要重新輸入。圖5-2 用戶注冊界面5.3用戶功能模塊當(dāng)天食品推薦:用戶可以通過列表查看食品推薦,長按食品信息,可以對食品進行評價如圖5-3所示。(根據(jù)用戶的身高和體重計算出一天最佳吸收熱量的范圍后推薦給用戶最佳吸收熱量的范圍內(nèi)的食品,第一次推薦為隨即推薦,當(dāng)評價食品后,會推薦給用戶喜好的食品)。5-3 當(dāng)天食品推薦設(shè)置進食時間:用戶可以設(shè)
35、置自己一天的進食時間,如圖5-4所示。圖5-4 進食時間設(shè)置搜索食品熱量:程序自動跳轉(zhuǎn)到H5頁面,該頁面可以查找食品的相關(guān)信息如圖5-5所示。查看程序信息:用戶可以查看該程序作者信息,相關(guān)介紹,如圖5-6所示圖5-6 程序信息展示第6章 系統(tǒng)測試6.1系統(tǒng)測試的目的程序設(shè)計不能保證沒有錯誤,這是一個開發(fā)過程,在程序運行的過程中是不可避免的,但我們不能使這些錯誤始終存在于系統(tǒng)中,錯誤可能會造成無法估量的后果,如系統(tǒng)崩潰,安全信息,系統(tǒng)無法正常啟動等,為了避免這些問題,我們需要測試程序,并發(fā)現(xiàn)這些問題,并糾正它們,并使系統(tǒng)更長時間穩(wěn)定成熟,本章的作用是發(fā)現(xiàn)這些問題,并對其進行修改,雖然耗時費力,但
36、這對后續(xù)的開發(fā)非常重要,同時也更加容易對系統(tǒng)進行維護。對系統(tǒng)的測試非常重要,特別是開發(fā)完成后。軟件測試方法是在軟件調(diào)試的過程中使用。檢測新開發(fā)的程序是否及格的關(guān)鍵步驟是對該程序進行系統(tǒng)測試,只有通過系統(tǒng)測試的程序才能投入使用。測試的主要方法是檢測數(shù)據(jù)的正確性,和檢測程序運行是否按預(yù)期的目標運行。健康飲食管理系統(tǒng)的實現(xiàn),對于系統(tǒng)中功能模塊的實現(xiàn)及操作都必須通過測試進行來評判系統(tǒng)是否可以準確的實現(xiàn)。在系統(tǒng)正式上傳和使用之前必須做的一步就是系統(tǒng)測試,對于測試發(fā)現(xiàn)的錯誤及時修改處理,保證系統(tǒng)準確無誤的供給用戶使用。6.2系統(tǒng)測試方法為了保證系統(tǒng)的開發(fā)質(zhì)量,降低開發(fā)周期,提高系統(tǒng)的穩(wěn)定和安全性。需要遵守
37、下面規(guī)則1. 在系統(tǒng)測試或運行過程中出現(xiàn)的漏洞必須馬上進行維護和解決2. 為了確保不出現(xiàn)重復(fù)的錯誤,需要排查和找出所有漏洞的根源解決。結(jié)構(gòu)測試與功能測試是測試中比較常用的兩種方法。結(jié)構(gòu)測試:這種測試是在對程序的處理過程與結(jié)構(gòu)都有詳盡了解的前提下,順從程序內(nèi)部的邏輯而完成的系統(tǒng)測試,以確定系統(tǒng)中所有的通路都能夠遵照設(shè)計要求正常工作,不出現(xiàn)任何偏差。功能測試:主要是針對程序功能能夠按照設(shè)計正常實現(xiàn)的一種檢測,在程序接口處進行,檢測程序手法數(shù)據(jù)是否正常,與外部信息的交換是否完整1。本文使用的是功能測試方法。6.3功能測試1. 注冊測試。對用戶注冊模塊進行功能測試,測試用例及結(jié)果如表6-1所示。表6-
38、1 注冊功能模塊的測試及結(jié)果模塊名稱測試用例預(yù)期結(jié)果實際結(jié)果是否通過注冊模塊賬戶名:ddd 密碼:dddd 郵箱:dddd電話:13313真實字:ddd身份證:12312彈出錯誤提示,提示密碼不能輸出字符錯誤彈出錯誤提示,提示密碼不能輸出字符錯誤通過注冊模塊賬戶名:ddd 密碼:dddd 郵箱:dddd電話:13313真實名字:ddd身份證:12312 彈出錯誤提示,提示賬戶名不能輸出字符錯誤彈出錯誤提示,提示賬戶名不能輸出字符錯誤通過注冊模塊賬戶名:ddd 密碼:dddd 郵箱:dddd電話:13313真實名字:ddd身份證:12312 注冊成功注冊登錄成功通過修改測試:表6-2 修改功能模
39、塊的測試及結(jié)果模塊名稱測試用例預(yù)期結(jié)果實際結(jié)果是否通過修改模塊賬戶名:ddd 郵箱:dddd電話:13313真實名字:ddd身份證:12312身高:123體重:333 修改成功、返回主頁面修改成功、返回主頁面通過修改密碼測試:表6-3 修改密碼功能模塊的測試及結(jié)果模塊名稱測試用例預(yù)期結(jié)果實際結(jié)果是否通過修改密碼模塊原密碼:ddd新密碼:mmm確認密碼:mmm 彈出錯誤提示,提示原密碼錯誤彈出錯誤提示,提示原密碼錯誤通過修改密碼模塊原密碼:dddd 新密碼:mmm確認密碼:mmmm 彈出錯誤提示,提示確認密碼不一致彈出錯誤提示,提示確認密碼不一致通過修改密碼模塊原密碼:dddd 新密碼:mmm確
40、認密碼:mmm 密碼修改成功密碼修改成功通過用戶食品評價測試:表6-4 用戶食品評價功能模塊的測試及結(jié)果模塊名稱測試用例預(yù)期結(jié)果實際結(jié)果是否通過食品評價模塊饅頭 221大卡/千克3個評價按鈕:喜歡、不喜歡、暫時不評價點擊喜歡按鈕,彈出評價成功,更新DB,并返回主頁面點擊喜歡按鈕,彈出評價成功,更新DB,并返回主頁面通過食品評價模塊饅頭 221大卡/千克3個評價按鈕:喜歡、不喜歡、暫時不評價點擊不喜歡按鈕,彈出評價成功,更新DB,并返回主頁面點擊不喜歡按鈕,彈出評價成功,更新DB,并返回主頁面通過食品評價模塊饅頭 221大卡/千克3個評價按鈕:喜歡、不喜歡、暫時不評價點擊暫時不評價按鈕,彈出評價成功,返回主頁面點
相關(guān)知識
健康飲食健康管系統(tǒng)
健康飲食家庭管系統(tǒng)
食堂管理系統(tǒng):如何借助手機端點餐系統(tǒng)實現(xiàn)健康飲食管理?
如何使用營養(yǎng)餐管理系統(tǒng)來管理飲食健康?
健康管理系統(tǒng)
健康管理系統(tǒng),健康管理平臺,智慧健康管理系統(tǒng),慢病管理系統(tǒng)
健康餐飲推薦管理系統(tǒng):數(shù)字化時代的飲食革命
健康管理系統(tǒng)軟件
托班教育系統(tǒng)中的健康飲食與營養(yǎng)管理
個人健康管理系統(tǒng)
網(wǎng)址: 健康飲食管理系統(tǒng) http://www.u1s5d6.cn/newsview1548448.html
推薦資訊
- 1發(fā)朋友圈對老公徹底失望的心情 12775
- 2BMI體重指數(shù)計算公式是什么 11235
- 3補腎吃什么 補腎最佳食物推薦 11199
- 4性生活姿勢有哪些 盤點夫妻性 10428
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828