首頁(yè) 資訊 健康飲食管理系統(tǒng)

健康飲食管理系統(tǒng)

來(lái)源:泰然健康網(wǎng) 時(shí)間:2025年07月13日 18:19

1、健康飲食管理系統(tǒng)摘要在大數(shù)據(jù)時(shí)代,數(shù)據(jù)在我們的生活和生產(chǎn)中無(wú)處不在,成為推動(dòng)技術(shù)發(fā)展的新動(dòng)力。大數(shù)據(jù)給我們帶來(lái)了很多前所未有的便利,還能為大家的減肥大業(yè)提供幫助。隨著網(wǎng)絡(luò)技術(shù)的不斷成熟,用戶了解各種食品的營(yíng)養(yǎng)、熱量等信息更加方便,也更靈活。基于此理念,本文設(shè)計(jì)實(shí)現(xiàn)了一個(gè)健康飲食管理系統(tǒng)。系統(tǒng)具有幫助用戶降低體重等功能,可以幫助用戶方便地進(jìn)行健康飲食管理,更好地控制體重。基于網(wǎng)絡(luò)爬蟲的開發(fā)方式特別注重?cái)?shù)據(jù)的變化,會(huì)對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)更新,能激發(fā)用戶對(duì)健康飲食的主動(dòng)性和靈活性,對(duì)飲食健康管理非常有利。系統(tǒng)采用的數(shù)據(jù)庫(kù)是Mysql,使用android和python技術(shù)開發(fā),Android studio和

2、pycharm是本系統(tǒng)的開發(fā)平臺(tái)。關(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 國(guó)內(nèi)外研究概況11.3 術(shù)語(yǔ)21.4 研究的內(nèi)容21.5 論文結(jié)構(gòu)3第2章 相關(guān)技術(shù)42.1 爬蟲技術(shù)介紹42.2 Android簡(jiǎn)介42.3 Android studio開發(fā)環(huán)境簡(jiǎn)介52.4騰訊云服務(wù)器簡(jiǎn)介52.5 MysqlDB簡(jiǎn)介52.6 KNN算法簡(jiǎn)介5第3章 系統(tǒng)分析63.1 需求分析63.2 系統(tǒng)可行性分析63.3 項(xiàng)目設(shè)計(jì)目標(biāo)與原則73.4 android程序功能描述73.5系統(tǒng)流程8第4章 系統(tǒng)設(shè)計(jì)

7、124.1 系統(tǒng)體系結(jié)構(gòu)124.2 開發(fā)流程設(shè)計(jì)124.3 DB設(shè)計(jì)原則134.4 數(shù)據(jù)表14第5章 系統(tǒng)實(shí)現(xiàn)165.1登錄功能模塊165.2注冊(cè)功能模塊165.3用戶功能模塊17第6章 系統(tǒng)測(cè)試196.1系統(tǒng)測(cè)試的目的196.2系統(tǒng)測(cè)試方法196.3功能測(cè)試19結(jié) 論23參考文獻(xiàn)24致 謝25第1章 前言1.1背景及意義隨著生活水平的提高,肥胖率也伴隨著越來(lái)越高。肥胖會(huì)對(duì)人體造成很大的危害,當(dāng)脂肪層過(guò)厚的時(shí)候,人的身體就會(huì)處于一個(gè)亞健康的狀態(tài),一些并發(fā)癥也可能隨之而來(lái)。所以對(duì)于人們的身體健康來(lái)說(shuō),降低體重是一件迫在眉睫的事,而大部分人越來(lái)越重的主要原因是熱量攝取大于熱量支出而導(dǎo)致的熱量盈余。

8、在一些研究中,熱量盈余主要?dú)w咎于體能活動(dòng)的減少,也有研究指出是由于熱量攝取的增加。而“飲食環(huán)境”的變化,例如價(jià)格低廉、熱量高、營(yíng)養(yǎng)低的快餐,被認(rèn)為是導(dǎo)致熱量攝入增加的重要因素之一。因此我們可以從這幾點(diǎn)出發(fā),控制用戶每天攝入食品的熱量,幫助用戶降低體重,來(lái)達(dá)到降低體重的效果。 利用DB、爬蟲技術(shù)和安卓技術(shù)等進(jìn)行開發(fā),可以非常方便用戶的操作和大大地提高用戶的體驗(yàn)效果。1.2 國(guó)內(nèi)外研究概況隨著生活水平地提高,世界各地的人們的飲食結(jié)構(gòu)發(fā)生了天翻地覆的變化,高熱量物質(zhì)正在成為人們喜愛的食品,經(jīng)調(diào)查,全球因肥胖而死的人在2015年的時(shí)候就超過(guò)400萬(wàn)。因此超重、肥胖已被WHO(World health

9、organization)定義為一種慢性病,因此為了身體的健康,人們對(duì)食品的熱量攝入逐漸重視。在如今,移動(dòng)互聯(lián)網(wǎng)市場(chǎng)的迅速壯大以及智能手機(jī)的普及,信息移動(dòng)化改革已成為一種更加廣泛和全面的趨勢(shì)?!敖】碉嬍彻芾硐到y(tǒng)”是基于mysqlDB,在android和python程序設(shè)計(jì)的基礎(chǔ)上實(shí)現(xiàn)的。為確保中國(guó)經(jīng)濟(jì)的持續(xù)發(fā)展,信息時(shí)代日益更新,服務(wù)業(yè)仍在蓬勃發(fā)展。同時(shí),隨著大數(shù)據(jù)時(shí)代的崛起,繼物質(zhì)、能源之后又一種重要戰(zhàn)略資源誕生了,這就是數(shù)據(jù)(信息)。如何在廣闊的數(shù)據(jù)天空中查詢、存儲(chǔ)、管理和共享有效的數(shù)據(jù)信息,對(duì)用戶飲食健康具有重要的現(xiàn)實(shí)意義。因此,國(guó)內(nèi)外學(xué)術(shù)界進(jìn)行了深入而廣泛的研究,開辟了一個(gè)新的科研領(lǐng)域

10、健康飲食管理系統(tǒng)誕生了。1.3 術(shù)語(yǔ)本文涉及的主要術(shù)語(yǔ)如表1.1所示。表1.1 本文涉及的主要術(shù)語(yǔ)術(shù)語(yǔ)定義與信息馬太效應(yīng)判斷食品的權(quán)重,以此來(lái)推薦用戶的喜好食品12活動(dòng)(activity)用于android為用戶展示頁(yè)面內(nèi)容提供(ContentProvider)用于為Activity之間傳輸數(shù)據(jù)顯式特征用戶對(duì)食品的評(píng)價(jià)(喜歡或不喜歡)按鈕,用于計(jì)算用戶相似的喜好食品及時(shí)處理對(duì)待一些數(shù)據(jù),能即時(shí)計(jì)算結(jié)果并讀取字段DB的屬性,記錄用戶的登錄信息、食品熱量等生命周期Android程序從開始到結(jié)束的狀態(tài)IntelliJ IDEAjava編程語(yǔ)言開發(fā)的集成環(huán)境DB數(shù)據(jù)庫(kù)訓(xùn)練集用于機(jī)器學(xué)習(xí)算法的訓(xùn)練訓(xùn)練集

11、合1.4 研究的內(nèi)容目前依然有許多人對(duì)食品的熱量還是一知半解,而且獲取的方式也僅僅局限在書本,和面對(duì)面交流,而人們通過(guò)移動(dòng)網(wǎng)了解的食品熱量信息還只是輔助作用。在移動(dòng)互聯(lián)網(wǎng)軟件中,綜合性和專業(yè)性的食品熱量信息軟件與較為傳統(tǒng)的搜索引擎相比,仍然沒(méi)有得到大多數(shù)人的了解和認(rèn)可,所以為此本系統(tǒng)為用戶提供推薦功能。喜好本選題通過(guò)利用爬蟲爬取關(guān)鍵食品熱量的信息、移動(dòng)端顯示食品標(biāo)簽信息等方式,實(shí)現(xiàn)健康飲食管理系統(tǒng)的各種功能,從而達(dá)到健康飲食系統(tǒng)的管理。1.5 論文結(jié)構(gòu)表1.2論文結(jié)構(gòu)健康飲食管理系統(tǒng)章節(jié)內(nèi)容引言緒論、選題的背景、意義、可靠性和研究現(xiàn)狀相關(guān)技術(shù)介紹技術(shù)知識(shí)的內(nèi)容,通過(guò)對(duì)開發(fā)關(guān)鍵技術(shù)的介紹,對(duì)系統(tǒng)

12、所涉及的技術(shù)知識(shí)進(jìn)行直觀的表達(dá)系統(tǒng)分析重點(diǎn)對(duì)系統(tǒng)進(jìn)行了分析,從系統(tǒng)強(qiáng)大的供需市場(chǎng)出發(fā),探討了系統(tǒng)開發(fā)的可行性、系統(tǒng)流程以及系統(tǒng)的性能和功能系統(tǒng)設(shè)計(jì)介紹了系統(tǒng)的詳細(xì)設(shè)計(jì),包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、DB設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的實(shí)現(xiàn),通過(guò)對(duì)系統(tǒng)功能設(shè)計(jì)的詳細(xì)描述,展示了系統(tǒng)的結(jié)構(gòu)系統(tǒng)測(cè)試系統(tǒng)的總體測(cè)試,系統(tǒng)能否投入運(yùn)行第2章 相關(guān)技術(shù)2.1 爬蟲技術(shù)介紹爬蟲又稱網(wǎng)絡(luò)蜘蛛,自動(dòng)獲取萬(wàn)維網(wǎng)信息的腳本,雖然是一種腳本但他的功能十分強(qiáng)大。在如今的大數(shù)據(jù)時(shí)代中,數(shù)據(jù)變得尤其重要,而在本文中,則需要利用爬蟲爬取食品熱量信息。爬蟲一般分為數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)保存三個(gè)部分,這三個(gè)部分的分類都是從功能上的,爬蟲是從一個(gè)或多

13、個(gè)初始網(wǎng)頁(yè)的URL開始獲取初始網(wǎng)頁(yè)的URL。在爬取網(wǎng)頁(yè)信息的過(guò)程中,它不斷地從當(dāng)前網(wǎng)頁(yè)中提取新的url,將他們放進(jìn)隊(duì)列中,直到滿足系統(tǒng)的一些停止條件4。為了更簡(jiǎn)化簡(jiǎn)潔的爬取數(shù)據(jù),所以本文的爬蟲是基于python語(yǔ)言編寫,利用了python語(yǔ)言的簡(jiǎn)潔性,和有著諸多豐富的第三方庫(kù),如Request、Beautiful Soup、Scrapy、PySpider等,這些第三方庫(kù)可以讓我們更快捷方便獲取需要的數(shù)據(jù)。所有的python爬蟲腳本均在服務(wù)器中運(yùn)行,獲取到數(shù)據(jù)后,會(huì)存儲(chǔ)在DB相應(yīng)的字段當(dāng)中。所以結(jié)合健康飲食管理系統(tǒng)的需求及功能模塊的實(shí)現(xiàn),使用爬蟲技術(shù)獲取相關(guān)的食品信息是最好的,而且基于pytho

14、n編寫的爬蟲代碼具有簡(jiǎn)潔性,對(duì)于系統(tǒng)在以后的使用過(guò)程中,即使出現(xiàn)什么錯(cuò)誤,也可以更快捷地修改,并可以不斷地對(duì)系統(tǒng)功能進(jìn)行擴(kuò)展,對(duì)于開發(fā)人員來(lái)說(shuō)的操作也更方便。2.2 Android簡(jiǎn)介Android是一個(gè)基于Linux內(nèi)核的免費(fèi)開源操作系統(tǒng)(不包括GNU組件)。它主要用于移動(dòng)設(shè)備。Android有四大組件組成,其中activity為主要組件。一個(gè)完整的activity是有一個(gè)生命周期的,一般來(lái)說(shuō)有四種基本狀態(tài),當(dāng)activity被打開時(shí)處于running狀態(tài),當(dāng)activity失去焦點(diǎn)時(shí)處于paused狀態(tài),當(dāng)一個(gè)activity被另一個(gè)activity完全覆蓋是處于Stopped狀態(tài),而當(dāng)a

15、ctivity被系統(tǒng)回收掉時(shí)就是Killed(摧毀)狀態(tài),這四種基本狀態(tài)保證activity不浪費(fèi)系統(tǒng)資源,且使當(dāng)前程序不會(huì)因其他程序而崩潰,保證了程序的容錯(cuò)性。Android高度開房,相對(duì)于iOS的全封閉系統(tǒng)來(lái)說(shuō),開發(fā)自由度更高。而且andorid是用戶量最多的移動(dòng)式操作系統(tǒng)。而android主流的開發(fā)語(yǔ)言是java語(yǔ)言。它是一種面向?qū)ο蟮恼Z(yǔ)言,想要完成一些指定的任務(wù),只要使用java提供的基本方法就可以完成,因此開發(fā)者想要編寫一些應(yīng)用程序只需要知道一些基本理念即可。2.3 Android studio開發(fā)環(huán)境簡(jiǎn)介Android Studio是Google為Android應(yīng)用開發(fā)開發(fā)的一個(gè)基

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)代碼中的錯(cuò)誤和程序中運(yùn)行的問(wèn)題。Android studio是業(yè)界知名的開發(fā)工具,android程序在開發(fā)的過(guò)程中運(yùn)用的就是該工具。Android studio可以幫助andorid與DB的進(jìn)行交互,相對(duì)其他工具,如Eclipse來(lái)說(shuō)更快、更穩(wěn)定。根據(jù)使用Eclipse的開發(fā)人員所述,eclipes會(huì)出現(xiàn)一些影響開發(fā)效率的就問(wèn)題,如使用突然阻塞和高內(nèi)存占用。Android Stud

17、io為了提高這種性能,因此=使用了與eclipes多項(xiàng)目管理模式不同的單項(xiàng)目管理模式,所以從啟動(dòng)速度來(lái)看,它比Eclipse快。2.4騰訊云服務(wù)器簡(jiǎn)介騰訊云服務(wù)器提供了各種開發(fā)者熟悉的應(yīng)用部署環(huán)境2。讓開發(fā)者無(wú)須擔(dān)心一些服務(wù)器復(fù)雜的基礎(chǔ)架構(gòu),如IDC環(huán)境,服務(wù)器負(fù)載均衡,CDN ,熱備容災(zāi),監(jiān)控告警等,搭載穩(wěn)定的網(wǎng)絡(luò)架構(gòu),采用成熟的網(wǎng)絡(luò)虛擬化技術(shù)和網(wǎng)卡綁定技術(shù),提供服務(wù)器更高的安全性。2.5 MysqlDB簡(jiǎn)介Mysql是一個(gè)關(guān)系DB管理系統(tǒng),是互聯(lián)網(wǎng)的產(chǎn)物,因其體積小,速度快,成本低,開源等熱點(diǎn),深受廣大用戶喜愛。建立數(shù)據(jù)表,可以對(duì)數(shù)據(jù)進(jìn)行重組和重構(gòu),并對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行調(diào)整,提升數(shù)據(jù)的穩(wěn)

18、定性和曾增加數(shù)據(jù)的持久性,由于DB強(qiáng)大的功能,本系統(tǒng)的開發(fā)主要采用Mysql來(lái)管理數(shù)據(jù)。2.6 KNN算法簡(jiǎn)介KNN算法是一種常用的分類算法,因?yàn)镵NN的訓(xùn)練集需要人工打標(biāo)簽,所以是監(jiān)督學(xué)習(xí)。KNN算法的機(jī)制:有一組訓(xùn)練集,每個(gè)訓(xùn)練訓(xùn)練都有對(duì)應(yīng)的標(biāo)簽,所以訓(xùn)練集中的每一個(gè)數(shù)據(jù)都有一個(gè)相應(yīng)的分類之間的關(guān)系,在收到一個(gè)新數(shù)據(jù)并且這個(gè)新數(shù)據(jù)沒(méi)有標(biāo)簽時(shí),KNN算法會(huì)它與訓(xùn)練集對(duì)比,對(duì)比內(nèi)容是兩者相似的特征。然后將訓(xùn)練集中特征最相似的數(shù)據(jù),的分類標(biāo)簽提取出來(lái)。最后,選擇k個(gè)最相似數(shù)據(jù)中出現(xiàn)頻率最高的類別作為新數(shù)據(jù)的分類3,一般k不大于20。KNN算法用法靈活,對(duì)于本文數(shù)據(jù)的小訓(xùn)練預(yù)測(cè)方便,精度高。第3章

19、 系統(tǒng)分析3.1 需求分析健康飲食管理系統(tǒng)主要是為了幫助用戶更快捷方便地了解到食物熱量的情況,并且可以結(jié)合自身的身體條件去控制好攝入食品熱量,防止熱量攝取大于熱量支出而導(dǎo)致的熱量盈余。對(duì)系統(tǒng)所要實(shí)現(xiàn)的功能進(jìn)行分析:系統(tǒng)要實(shí)現(xiàn)用戶可以直接在android程序上查看自己所有的數(shù)據(jù)信息,并且能讓用戶根據(jù)自己的身體條件來(lái)更改食品熱量的攝入范圍。系統(tǒng)需要推薦出用戶可攝入熱量范圍內(nèi)的食品。這樣的方式,使用戶不用再像傳統(tǒng)的方式那樣,需要用戶自己去查詢帖子,了解資訊信息需要去尋找相關(guān)負(fù)責(zé)人了解相關(guān)數(shù)據(jù)信息。所以健康飲食管理系統(tǒng)的開發(fā)不僅僅是能滿足用戶的需求,還能幫助用戶節(jié)省時(shí)間,減少原有不必要的工作量。3.2

20、 系統(tǒng)可行性分析3.2.1技術(shù)可行性:技術(shù)背景(1)硬件可行性分析健康飲食管理系統(tǒng)的設(shè)計(jì)和爬蟲數(shù)據(jù)分析對(duì)計(jì)算機(jī)的使用要求不高,只對(duì)服務(wù)器要求,要求服務(wù)器不能卡頓,需要反應(yīng)快,且安全性要高。(2) 軟件可行性分析系統(tǒng)和服務(wù)器都要魯棒性與相應(yīng)容抗、抗干擾能力,網(wǎng)絡(luò)通信故障7,或當(dāng)大量數(shù)據(jù)導(dǎo)致過(guò)載時(shí),要求能夠及時(shí)和正常地提供解決方法。1. 對(duì)網(wǎng)絡(luò)連接和數(shù)據(jù)量進(jìn)行監(jiān)視和故障排除,并根據(jù)具體情況采取措施不同的場(chǎng)景。2. 日志和錯(cuò)誤處理應(yīng)該記錄在程序當(dāng)中。3.2.2經(jīng)濟(jì)可行性健康飲食系統(tǒng)的開發(fā)之前所做的市場(chǎng)調(diào)研及其他管理相關(guān)的系統(tǒng),只需要付出服務(wù)器的費(fèi)用,因?yàn)镈B和爬蟲腳本需要搭建在服務(wù)器上,所有的工作的

21、都是自己親力親為,在碰到自己比較難以解決的問(wèn)題,指導(dǎo)老師的幫助和自行百度搜索解決辦法來(lái)進(jìn)行相關(guān)信息的解決,所以對(duì)于系統(tǒng)的開發(fā)在經(jīng)濟(jì)上是完全可行的。使用比較成熟的技術(shù),系統(tǒng)是基于android和python來(lái)進(jìn)行開發(fā),采用MysqlDB11。所以系統(tǒng)在開發(fā)人力、財(cái)力要求不高,具有經(jīng)濟(jì)可行性。3.2.3操作可行性: 可操作性主要是對(duì)系統(tǒng)設(shè)計(jì)完成后,用戶的使用體驗(yàn)度,通過(guò)界面導(dǎo)航菜單可以簡(jiǎn)單明了地進(jìn)行登記自己的身體條件,獲取自己所需的信息內(nèi)容。本系統(tǒng)的操作使用的移動(dòng)終端窗口進(jìn)行登錄,所以用戶只要會(huì)用移動(dòng)終端就完全可以的。3.3 項(xiàng)目設(shè)計(jì)目標(biāo)與原則1. 關(guān)于健康飲食管理系統(tǒng)基本要求(1)功能要求:用戶

22、登錄、個(gè)人信息維護(hù)、熱量記錄、健康食譜制定、熱量統(tǒng)計(jì)、吃飯時(shí)間提醒。(2)性能:不同的用戶登錄到相應(yīng)的界面后,可以進(jìn)行預(yù)期的操作,沒(méi)有錯(cuò)誤,操作方便(3)安全性要求:用戶都有自己的賬號(hào)密碼,登陸時(shí)必須通過(guò)驗(yàn)證。(4)程序環(huán)境要求:適用于android系統(tǒng)下的各種移動(dòng)終端。2. 開發(fā)目標(biāo)系統(tǒng)的主要開發(fā)目標(biāo)如下:(1)健康飲食管理系統(tǒng)需要符合七大設(shè)計(jì)原則及設(shè)計(jì)思想(開閉原則、里氏替換原則、依賴倒置原則、單一原則、接口隔離原則、迪卡特法則、合用復(fù)用原則10)(2)方便用戶查詢信息和修改信息等。(3)減少維護(hù)人員的工作量以及實(shí)現(xiàn)用戶對(duì)信息的控制和管理。(4)考慮到用戶多樣性特點(diǎn),要求界面簡(jiǎn)單,操作簡(jiǎn)便

23、。3. 設(shè)計(jì)原則本系統(tǒng)采用android和python技術(shù),MysqlDB開發(fā),充分保證了系統(tǒng)的穩(wěn)定性和完整性。健康飲食管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)如下:1. activity布局簡(jiǎn)單清晰,方便查詢相關(guān)信息。操作簡(jiǎn)單,界面好;2. 系統(tǒng)信息的處理將即時(shí)可在相應(yīng)的位置查詢到,實(shí)現(xiàn)“即時(shí)發(fā)布、即時(shí)生效”的功能。3.4 android程序功能描述3.4.1 用戶注冊(cè)功能獲取用戶基本數(shù)據(jù),用于用戶后期登錄,一個(gè)用戶一個(gè)賬號(hào),數(shù)據(jù)保存在DB中。3.4.2 用戶信息修改功能用于用戶修改基本信息,修改成功后更新DB。3.4.3用戶食品推薦功能從DB中抽取用戶可食用熱量范圍內(nèi)的食品,隨機(jī)推薦給用戶參考食用。3.4.4

24、進(jìn)食提醒功能按照用戶設(shè)定的時(shí)間,定時(shí)提醒用戶進(jìn)食,該功能是防止有些用戶因?yàn)檫M(jìn)食時(shí)間混亂而導(dǎo)致身體出現(xiàn)抵抗力下降等現(xiàn)象發(fā)生。3.4.5用戶食品評(píng)價(jià)功能收集用戶對(duì)食品的評(píng)價(jià),用于后續(xù)給用戶推薦與其喜好相似的食品。3.4.6用戶熱量統(tǒng)計(jì)功能顯示用戶一周內(nèi)食用食品的總熱量,評(píng)價(jià)過(guò)后的食品才會(huì)統(tǒng)計(jì)3.5系統(tǒng)流程3.5.1操作流程用戶想要進(jìn)入程序,首先需要用正確的賬戶和密碼登錄,如若沒(méi)有賬戶,則需要注冊(cè),注冊(cè)成功后,需要判斷是否第一次登錄,如果沒(méi)有則需要設(shè)置自己的身體情況,反之則進(jìn)入功能界面,一切信息儲(chǔ)存在DB中,需要上傳DB判斷。系統(tǒng)操作流程如圖3-1所示。圖3-1操作流程圖3.5.2修改信息流程用戶打

25、開修改信息的頁(yè)面,選擇需要修改的信息,如用戶名、身高、體重、用戶密碼等。修改完成后,點(diǎn)擊確認(rèn),系統(tǒng)會(huì)提示是否修改。如果修改成功后會(huì),系統(tǒng)將會(huì)將信息發(fā)送到服務(wù)器的DB中,并對(duì)DB內(nèi)的用戶信息修改。修改操作流程如圖3-2所示。圖3-2修改操作流程圖3.5.2評(píng)價(jià)食品信息流程評(píng)價(jià)食品信息功能,主要是推薦用戶愛好的食品時(shí)使用,當(dāng)用戶沒(méi)有評(píng)價(jià)任何食品時(shí),將會(huì)隨機(jī)推薦給用戶一定熱量范圍內(nèi)的食品,反之則會(huì)推薦給與用戶喜好相似的食品。當(dāng)推薦給用戶食品后,用戶可對(duì)食品進(jìn)行評(píng)價(jià),有三個(gè)選擇,喜歡、不喜歡和暫時(shí)不評(píng)價(jià)。選擇喜歡或喜歡都會(huì)更新DB,而選擇暫時(shí)不評(píng)價(jià)則不會(huì)更新DB。評(píng)價(jià)操作如圖3-3所示。圖3-3評(píng)價(jià)食

26、品操作流程第4章 系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)體系結(jié)構(gòu)健康飲食管理系統(tǒng)的實(shí)現(xiàn)主要包括android程序和python腳本等兩個(gè)功能,這兩個(gè)功能各司其職,主要通過(guò)DB讓這兩個(gè)功能模塊聯(lián)合起來(lái),爬蟲腳本爬取數(shù)據(jù)后存到DB中,然后android程序從DB讀取顯示在頁(yè)面上。這些功能可以充分滿足健康飲食管理系統(tǒng)的需求。此系統(tǒng)功能較為全面如下圖系統(tǒng)功能結(jié)構(gòu)如圖4-1所示。為了反映一個(gè)結(jié)構(gòu)和其他元素之間的關(guān)系,我們使用了體系結(jié)構(gòu)設(shè)計(jì)。體系結(jié)構(gòu)設(shè)計(jì)一般是用來(lái)引導(dǎo)大型軟件系統(tǒng)的設(shè)計(jì),系統(tǒng)體系結(jié)構(gòu)的總體設(shè)計(jì)指的是將一些大的任務(wù)化解為一個(gè)個(gè)小任務(wù)的過(guò)程,當(dāng)這些小任務(wù)都完成后,大任務(wù)也就完成了,系統(tǒng)進(jìn)行分解就是其具體的實(shí)現(xiàn)過(guò)

27、程,對(duì)各部分的功能、接口和邏輯關(guān)系進(jìn)行分析,activity由多個(gè)模塊組成,因此它的層次結(jié)構(gòu)分明。圖4-1 系統(tǒng)功能結(jié)構(gòu)圖4.2 開發(fā)流程設(shè)計(jì)系統(tǒng)流程的分析是通過(guò)調(diào)查系統(tǒng)所涉及問(wèn)題的識(shí)別、可行性可操作性、系統(tǒng)分析處理能力等具體環(huán)節(jié)來(lái)調(diào)節(jié)、整系統(tǒng)地設(shè)計(jì)計(jì)方案以確保系統(tǒng)能達(dá)到理想的狀態(tài)。這些操作都要進(jìn)行一系列的流程測(cè)試保證DB的完整,以把控系統(tǒng)所涉及信息管理的安全、保證信息輸入、輸出正常轉(zhuǎn)換。然后,通過(guò)實(shí)際操作完成流程圖的繪制工作。健康飲食管理系統(tǒng)的開發(fā)對(duì)管理模塊和系統(tǒng)使用的DB進(jìn)行分析,編寫代碼、系統(tǒng)測(cè)試,如圖4-2所示。圖4-2開發(fā)系統(tǒng)流程圖4.3 DB設(shè)計(jì)原則作為一個(gè)程序員,都應(yīng)該知道DB的

28、設(shè)計(jì)是基于需求來(lái)設(shè)計(jì)系統(tǒng)功能,因此需要利用建立DB關(guān)系模型來(lái)讓數(shù)據(jù)信息持久化,在程序acticity中添加數(shù)據(jù)這種操作就不需要了,減少這一步使我們的系統(tǒng)的提高了效率,而數(shù)據(jù)管理系統(tǒng)的核心和就是這樣完成了。DB還提供了添加、刪除、修改和檢查等功能,使系統(tǒng)能夠快速地找到所需的信息1,而不是在程序代碼中找到,DB中信息表的每一部分都是按照一定的關(guān)系精確地組合、排列和組合成一個(gè)數(shù)據(jù)表。根據(jù)健康飲食管理系統(tǒng)的功能,將規(guī)劃劃分為多個(gè)實(shí)體信息,并用ER圖進(jìn)行說(shuō)明。系統(tǒng)主要實(shí)體圖如下:用戶程序信息實(shí)體屬性圖如圖4-3所示登錄注冊(cè)食品評(píng)價(jià)吃飯時(shí)間設(shè)置推薦食品顯示個(gè)人信息修改 用戶程序圖4-3 用戶程序信息實(shí)體屬

29、性圖4.4 數(shù)據(jù)表將DB概念設(shè)計(jì)的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),該表用來(lái)保存用戶注冊(cè)信息。表4-1 userbi表字段及其屬性列名數(shù)據(jù)類型長(zhǎng)度約束idint20PRIMARY KEYusernamevarchar50DEFAULT NULLpasswordvarchar50DEFAULT NULLquestiononevarchar255DEFAULT NULLansweronevarchar255DEFAULT NULLquestiontwovarchar255DEFAULT NULLanswe

30、rtwovarchar255DEFAULT NULLsavetimevarchar255DEFAULT NULLemailvarchar255DEFAULT NULLtelephonevarchar 255DEFAULT NULLidcardvarchar255DEFAULT NULLaddressvarchar255DEFAULT NULLrealnamevarchar255DEFAULT NULL表4-2 useric表,該表用來(lái)保存用戶的身高信息,以便推薦熱量適應(yīng)范圍內(nèi)的食品,表的字段內(nèi)容如下所示:表4-2 useric表字段及其屬性列名數(shù)據(jù)類型長(zhǎng)度約束idint20PRIMARY KE

31、Yheightvarchar255DEFAULT NULLweightvarchar255DEFAULT NULLsexvarchar255DEFAULT NULL表4-3 foodheat表,該表用來(lái)保存爬蟲腳本爬取的食物信息,表的字段內(nèi)容如下所示:表4-3 foodheat表字段及其屬性列名數(shù)據(jù)類型長(zhǎng)度約束idint20PRIMARY KEYnamevarchar255DEFAULT NULLheatvarchar255DEFAULT NULLlabelvarchar255DEFAULT NULLsavetimevarchar255DEFAULT NULL表4-4 foodrecom表,該

32、表用來(lái)保存已推薦的食品信息,表的字段內(nèi)容如下所示:表4-4 foodrecom表字段及其屬性列名數(shù)據(jù)類型長(zhǎng)度約束idint20PRIMARY KEYnamevarchar255DEFAULT NULLheatvarchar255DEFAULT NULLlabelvarchar255DEFAULT NULLsavetimevarchar255DEFAULT NULL表4-5 foodeva表,該表用來(lái)保存用戶評(píng)價(jià)過(guò)的食品信息,以后續(xù)推薦用戶的喜好相似的食品,表的字段內(nèi)容如下所示:表4-5 foodeva表字段及其屬性列名數(shù)據(jù)類型長(zhǎng)度約束idint20PRIMARY KEYnamevarchar2

33、55DEFAULT NULLheatvarchar255DEFAULT NULLlabelvarchar255DEFAULT NULLevaluationvarchar255DEFAULT NULL第5章 系統(tǒng)實(shí)現(xiàn)5.1登錄功能模塊用戶在輸入框中,輸入自己的賬號(hào)等信息,再點(diǎn)擊Login后,系統(tǒng)會(huì)將用戶輸入的信息提交到DB中檢測(cè),如果DB中存在該賬號(hào),就進(jìn)行密碼匹配,當(dāng)賬號(hào)和密碼都通過(guò)驗(yàn)證時(shí),用戶就可以進(jìn)入到主頁(yè)面,進(jìn)行相應(yīng)的操作,如圖5-1所示。圖5-1 用戶登錄界面5.2注冊(cè)功能模塊如果是新用戶第一次使用本程序時(shí),需要注冊(cè)一個(gè)專屬于自己的賬號(hào),有了賬號(hào)才能使用程序所有功能,如圖5-2所示,注

34、冊(cè)時(shí)需要填寫,賬戶名、密碼、地址、電話、身份證、真實(shí)名字,不過(guò)除了賬戶名和密碼必填之外,其他的都為選填,填寫完成后,點(diǎn)擊確認(rèn),程序會(huì)將數(shù)據(jù)傳入到DB中,但要注意的是,注冊(cè)時(shí)會(huì)判斷,賬戶是否存在,因?yàn)橘~戶只會(huì)有一個(gè)不可重復(fù),當(dāng)重復(fù)時(shí),會(huì)提示用戶該賬戶已被注冊(cè),需要重新輸入。圖5-2 用戶注冊(cè)界面5.3用戶功能模塊當(dāng)天食品推薦:用戶可以通過(guò)列表查看食品推薦,長(zhǎng)按食品信息,可以對(duì)食品進(jìn)行評(píng)價(jià)如圖5-3所示。(根據(jù)用戶的身高和體重計(jì)算出一天最佳吸收熱量的范圍后推薦給用戶最佳吸收熱量的范圍內(nèi)的食品,第一次推薦為隨即推薦,當(dāng)評(píng)價(jià)食品后,會(huì)推薦給用戶喜好的食品)。5-3 當(dāng)天食品推薦設(shè)置進(jìn)食時(shí)間:用戶可以設(shè)

35、置自己一天的進(jìn)食時(shí)間,如圖5-4所示。圖5-4 進(jìn)食時(shí)間設(shè)置搜索食品熱量:程序自動(dòng)跳轉(zhuǎn)到H5頁(yè)面,該頁(yè)面可以查找食品的相關(guān)信息如圖5-5所示。查看程序信息:用戶可以查看該程序作者信息,相關(guān)介紹,如圖5-6所示圖5-6 程序信息展示第6章 系統(tǒng)測(cè)試6.1系統(tǒng)測(cè)試的目的程序設(shè)計(jì)不能保證沒(méi)有錯(cuò)誤,這是一個(gè)開發(fā)過(guò)程,在程序運(yùn)行的過(guò)程中是不可避免的,但我們不能使這些錯(cuò)誤始終存在于系統(tǒng)中,錯(cuò)誤可能會(huì)造成無(wú)法估量的后果,如系統(tǒng)崩潰,安全信息,系統(tǒng)無(wú)法正常啟動(dòng)等,為了避免這些問(wèn)題,我們需要測(cè)試程序,并發(fā)現(xiàn)這些問(wèn)題,并糾正它們,并使系統(tǒng)更長(zhǎng)時(shí)間穩(wěn)定成熟,本章的作用是發(fā)現(xiàn)這些問(wèn)題,并對(duì)其進(jìn)行修改,雖然耗時(shí)費(fèi)力,但

36、這對(duì)后續(xù)的開發(fā)非常重要,同時(shí)也更加容易對(duì)系統(tǒng)進(jìn)行維護(hù)。對(duì)系統(tǒng)的測(cè)試非常重要,特別是開發(fā)完成后。軟件測(cè)試方法是在軟件調(diào)試的過(guò)程中使用。檢測(cè)新開發(fā)的程序是否及格的關(guān)鍵步驟是對(duì)該程序進(jìn)行系統(tǒng)測(cè)試,只有通過(guò)系統(tǒng)測(cè)試的程序才能投入使用。測(cè)試的主要方法是檢測(cè)數(shù)據(jù)的正確性,和檢測(cè)程序運(yùn)行是否按預(yù)期的目標(biāo)運(yùn)行。健康飲食管理系統(tǒng)的實(shí)現(xiàn),對(duì)于系統(tǒng)中功能模塊的實(shí)現(xiàn)及操作都必須通過(guò)測(cè)試進(jìn)行來(lái)評(píng)判系統(tǒng)是否可以準(zhǔn)確的實(shí)現(xiàn)。在系統(tǒng)正式上傳和使用之前必須做的一步就是系統(tǒng)測(cè)試,對(duì)于測(cè)試發(fā)現(xiàn)的錯(cuò)誤及時(shí)修改處理,保證系統(tǒng)準(zhǔn)確無(wú)誤的供給用戶使用。6.2系統(tǒng)測(cè)試方法為了保證系統(tǒng)的開發(fā)質(zhì)量,降低開發(fā)周期,提高系統(tǒng)的穩(wěn)定和安全性。需要遵守

37、下面規(guī)則1. 在系統(tǒng)測(cè)試或運(yùn)行過(guò)程中出現(xiàn)的漏洞必須馬上進(jìn)行維護(hù)和解決2. 為了確保不出現(xiàn)重復(fù)的錯(cuò)誤,需要排查和找出所有漏洞的根源解決。結(jié)構(gòu)測(cè)試與功能測(cè)試是測(cè)試中比較常用的兩種方法。結(jié)構(gòu)測(cè)試:這種測(cè)試是在對(duì)程序的處理過(guò)程與結(jié)構(gòu)都有詳盡了解的前提下,順從程序內(nèi)部的邏輯而完成的系統(tǒng)測(cè)試,以確定系統(tǒng)中所有的通路都能夠遵照設(shè)計(jì)要求正常工作,不出現(xiàn)任何偏差。功能測(cè)試:主要是針對(duì)程序功能能夠按照設(shè)計(jì)正常實(shí)現(xiàn)的一種檢測(cè),在程序接口處進(jìn)行,檢測(cè)程序手法數(shù)據(jù)是否正常,與外部信息的交換是否完整1。本文使用的是功能測(cè)試方法。6.3功能測(cè)試1. 注冊(cè)測(cè)試。對(duì)用戶注冊(cè)模塊進(jìn)行功能測(cè)試,測(cè)試用例及結(jié)果如表6-1所示。表6-

38、1 注冊(cè)功能模塊的測(cè)試及結(jié)果模塊名稱測(cè)試用例預(yù)期結(jié)果實(shí)際結(jié)果是否通過(guò)注冊(cè)模塊賬戶名:ddd 密碼:dddd 郵箱:dddd電話:13313真實(shí)字:ddd身份證:12312彈出錯(cuò)誤提示,提示密碼不能輸出字符錯(cuò)誤彈出錯(cuò)誤提示,提示密碼不能輸出字符錯(cuò)誤通過(guò)注冊(cè)模塊賬戶名:ddd 密碼:dddd 郵箱:dddd電話:13313真實(shí)名字:ddd身份證:12312 彈出錯(cuò)誤提示,提示賬戶名不能輸出字符錯(cuò)誤彈出錯(cuò)誤提示,提示賬戶名不能輸出字符錯(cuò)誤通過(guò)注冊(cè)模塊賬戶名:ddd 密碼:dddd 郵箱:dddd電話:13313真實(shí)名字:ddd身份證:12312 注冊(cè)成功注冊(cè)登錄成功通過(guò)修改測(cè)試:表6-2 修改功能模

39、塊的測(cè)試及結(jié)果模塊名稱測(cè)試用例預(yù)期結(jié)果實(shí)際結(jié)果是否通過(guò)修改模塊賬戶名:ddd 郵箱:dddd電話:13313真實(shí)名字:ddd身份證:12312身高:123體重:333 修改成功、返回主頁(yè)面修改成功、返回主頁(yè)面通過(guò)修改密碼測(cè)試:表6-3 修改密碼功能模塊的測(cè)試及結(jié)果模塊名稱測(cè)試用例預(yù)期結(jié)果實(shí)際結(jié)果是否通過(guò)修改密碼模塊原密碼:ddd新密碼:mmm確認(rèn)密碼:mmm 彈出錯(cuò)誤提示,提示原密碼錯(cuò)誤彈出錯(cuò)誤提示,提示原密碼錯(cuò)誤通過(guò)修改密碼模塊原密碼:dddd 新密碼:mmm確認(rèn)密碼:mmmm 彈出錯(cuò)誤提示,提示確認(rèn)密碼不一致彈出錯(cuò)誤提示,提示確認(rèn)密碼不一致通過(guò)修改密碼模塊原密碼:dddd 新密碼:mmm確

40、認(rèn)密碼:mmm 密碼修改成功密碼修改成功通過(guò)用戶食品評(píng)價(jià)測(cè)試:表6-4 用戶食品評(píng)價(jià)功能模塊的測(cè)試及結(jié)果模塊名稱測(cè)試用例預(yù)期結(jié)果實(shí)際結(jié)果是否通過(guò)食品評(píng)價(jià)模塊饅頭 221大卡/千克3個(gè)評(píng)價(jià)按鈕:喜歡、不喜歡、暫時(shí)不評(píng)價(jià)點(diǎn)擊喜歡按鈕,彈出評(píng)價(jià)成功,更新DB,并返回主頁(yè)面點(diǎn)擊喜歡按鈕,彈出評(píng)價(jià)成功,更新DB,并返回主頁(yè)面通過(guò)食品評(píng)價(jià)模塊饅頭 221大卡/千克3個(gè)評(píng)價(jià)按鈕:喜歡、不喜歡、暫時(shí)不評(píng)價(jià)點(diǎn)擊不喜歡按鈕,彈出評(píng)價(jià)成功,更新DB,并返回主頁(yè)面點(diǎn)擊不喜歡按鈕,彈出評(píng)價(jià)成功,更新DB,并返回主頁(yè)面通過(guò)食品評(píng)價(jià)模塊饅頭 221大卡/千克3個(gè)評(píng)價(jià)按鈕:喜歡、不喜歡、暫時(shí)不評(píng)價(jià)點(diǎn)擊暫時(shí)不評(píng)價(jià)按鈕,彈出評(píng)價(jià)成功,返回主頁(yè)面點(diǎn)

相關(guān)知識(shí)

健康飲食健康管系統(tǒng)
健康飲食家庭管系統(tǒng)
食堂管理系統(tǒng):如何借助手機(jī)端點(diǎn)餐系統(tǒng)實(shí)現(xiàn)健康飲食管理?
如何使用營(yíng)養(yǎng)餐管理系統(tǒng)來(lái)管理飲食健康?
健康管理系統(tǒng)
健康管理系統(tǒng),健康管理平臺(tái),智慧健康管理系統(tǒng),慢病管理系統(tǒng)
健康餐飲推薦管理系統(tǒng):數(shù)字化時(shí)代的飲食革命
健康管理系統(tǒng)軟件
托班教育系統(tǒng)中的健康飲食與營(yíng)養(yǎng)管理
個(gè)人健康管理系統(tǒng)

網(wǎng)址: 健康飲食管理系統(tǒng) http://m.u1s5d6.cn/newsview1548448.html

推薦資訊