1. 研究目的与意义
随着社会的发展进步,人们的生活节奏越来越快,快餐的普及和便当的流行使得人们的饮食习惯逐渐趋于不良的方向,一方面人们被不健康的餐饮包围,高脂、高盐、高糖使得人们发生疾病的概率大大上升,另一方面人们苦于抽不出时间研究健康有益的菜品,网络上也很难找到提供制作健康菜品的教程,这种情况会让垃圾食品愈发横行其道,掠夺大众的味觉,迫害大众的生命健康。
因此为改善这一现状,本设计以网站形式向广大群众介绍有益身心健康的食谱,并展示出用户发布的健康食谱供大众参考,同时用户可以将喜欢的菜谱收藏保留下来,如果正餐想吃的话可以点开收藏的食谱进行制作,这大大方便了人们找寻健康的菜品,不用再纠结如何搭配食材来进行烹饪,最后网站建设的目的是希望将健康饮食的理念传达到每个角落。2. 课题关键问题和重难点
本课题研究的关键问题:
1、查阅大量文献,掌握javascript语言的使用和特性以及nosql语句的使用;
2、在阅读文献的基础上,了解网页的合理布局结构并实施于本网站;
3. 国内外研究现状(文献综述)
1、MVVM模式和MVC模式的对比 MVC(Model-View-Controller)模式的提出是为了把数据处理、程序输入输出控制以及数据表示分离开来,让程序结构变得清晰而灵活[1]。MVC设计模式分离了程序的表现、控制和数据,具有设计清晰、易于拓展、运用可分布的特点,适用于多用户、可拓展的、可维护的、具有很高交互性的系统[2],但同时也有其缺点,实施MVC模式需要开发人员由丰富的经验,如果设计不好,聚合了不相关的模块,在改动和拓展中将会牵扯大量的文件,这会让测试和维护的工作量大幅增加,基于其设计的严谨性,开发效率相比MVVM模式有所下降,而在MVC模式基础上升级的MVVM模式则显得轻便的多。[3] MVVM模式,又称Model-View-ViewModel模式,是微软WPF和Silverlight架构师John Gossman与2005年提出的[4]。该模式有个很新颖的概念就是数据绑定视图(Data Binding),在MVC模式下数据层和视图层无关,数据的改变往往需要开发者编写逻辑代码去更新视图层,而在MVVM模式下,数据的改变不再需要开发者去执行这一步,像本次使用的框架Vue,其内部已帮助完成了该项工作,这让开发人员可以简化原先MVC模式中控制层的代码,更方便的去管理代码和拓展业务。但同时MVVM模式也有其自身的局限性,比如Bug调试变得困难,因为其内部DataBinding逻辑代码的关系,不容易定位到问题所在代码区域,再比如性能可能会下降,因为view层长期持用数据使得内存不容易得到释放。[5] 对比下来,MVVM模式和MVC模式不能说哪一方是绝对占优的,更合理的应该依据不同情景去进行选择。 2、Node.js独特的运行机制 Node.js是一个服务器端Javascript执行环境,由于其不同于传统服务器语言工作特点,在近些年受到推广,其借助事件驱动,异步非阻塞I/O等特性,对于数据密集型,I/O密集型的应用场景有着不错的处理能力。[7] 对于javascript开发人员来说,Node.js就像一道福音,因为其没有更改javascript语言原本的任何特性,依旧是弱类型,基于作用域和原型链,同时又将Web前端熟悉的事件机制思想迁移到服务器中,纵观下来其特点如下: (1) 异步非阻塞I/O。对于高并发的请求,Node.js内部将维护一个任务栈,能够将异步事件推送进去依次执行,这相比于同步I/O大大提高了效率。 (2) 单线程。这可以让开发人员无需考虑多线程下的一些问题,如上下文切换、死锁、线程安全等等。 (3) 事件机制。该机制将浏览器的处理思想引进到服务器中,具有轻量级,松耦合等特点。 (4) 跨平台。如今的Node.js已经可以在任何平台上运行了,如linux、windows等等,这让开发者无需担心切换平台进行开发。 下面来重点介绍下关于Node.js的异步非阻塞I/O运行原理。 由于不同平台的内核机制不同,Node.js创建了一个平台层架构libuv,来帮助抹平不同平台的差异性。在整个异步I/O模型中分为事件循环、观察者和请求对象。事件循环是整个模型的容器,进程启动时Node.js创建一个无限循环,每次循环时去处理观察者和请求对象。观察者实际象征不同的事件,比如文件处理有对应的文件观察者,网络处理有对应的网络观察者,最终负责传递订阅的事件供Node.js处理。请求对象用于去描述每一个事件,包括但不限于事件的相关信息,参数,结果等等。结合事件循环,Node.js会不断地捕获请求对象并执行其结果和回调函数。 3、网站界面设计 随着互联网新技术的发展,人们使用互联网已不仅仅停留在功能的使用层面上,使用过程的体验占比越来越高,一个具有创意的网站页面可以为用户带来全新的交互体验,因此网站的界面设计逐步成为web开发的焦点。 网页设计中有个重要概念叫用户体验,指的是用户在访问网站界面、功能的过程中建立起来的心理感受。一个网站界面如果以用户为中心进行组织设计和提供服务,就能让用户获得较大的满足和成就感,这能为网站持用者拥有更多的受众。下面结合参考文献就如何提高用户体验完成网站界面设计来进行汇总: (1)“情感化”设计。对不同文化不同背景不同环境的用户的上网目的、行为习惯和心理反应进行分析,让用户更方便的获取网站信息,高效简单的完成操作任务,提高网站的情感体验,减少用户的记忆负担,让用户感到友好、可靠。[11] (2)注重美学。网站界面的色彩搭配,结构布局,视觉中心要合理安排,用户进入网站后要快速察觉到网站的建设意义。通过图形、色彩的变换,来增强界面的视觉艺术效果,引导用户的视觉焦点,清晰显示网站主次层次,让用户心理上的可控制需求得到满足。[11] (3)网站界面特点具备侧重点。例如当前要建设的健康饮食网站,目标用户是所有人群,所以采用的设计风格要偏向大众群体,不能过于侧重某一群体,如个性张扬,色彩浓烈。[12] (4)界面功能取舍。界面设计应包含网站的基本功能模块和互动模块,必要时可以提供网站个性化服务和个性化布局功能,以方便用户使用网站。[13] (5)界面信息内容丰富性、有效性、独特性和易学性。用户浏览网站的最终目的是获取信息,网站的使用价值也就体现在为用户提供丰富的信息资源。[14] 4、关系型数据库和非关系型数据库的对比 以 MySQL,Oracle,Sybase,PostgreSQL为代表的传统关系数据库在过去的20多年里得到了广泛应用,其以行和列的形式储存数据,容易理解,使用方便,易于维护,但面对新兴的web应用却表现出诸多不足,web应用和服务常常需要面对非结构化数据,所以非关系型数据库应运而生,该类数据库一般称为NoSQL数据库。非关系型数据库储存数据的方式有很多种,如key-value形式、文档形式、图片形式等,其查询速度快,效率高,易拓展,在面对如今飞速发展的大数据时代有着得天独厚的优势。[22][23] 参考文献: [1] 黄梯云.管理信息系统第7版[M]. 北京:高等教育出版社,2019 [2] 郭静,李真.数据库技术及应用[M].重庆:重庆大学出版社,2019 [3] 李霞. MVC设计模式的原理与实现[D].吉林大学,2004. [4] 刘立.MVVM模式分析与应用[J].微型电脑应用,2012,28(12):57-60. [5] 易剑波.基于MVVM模式的WEB前端框架的研究[J].信息与电脑(理论版),2016(19):76-77 84. [6] 王志任. 基于Vue.js的开发平台的设计与实现[D].广东工业大学,2018. [7] 许会元,何利力.NodeJS的异步非阻塞I/O研究[J].工业控制计算机,2015,28(03):127-129. [8] 王伶俐,张传国.基于NodeJS Express框架的轻应用定制平台的设计与实现[J].计算机科学,2017,44(S2):596-599. [9] 路雯雯. 支持前后端分离的JavaScript开发框架的研究及在内容管理系统中的应用[D].山东大学,2017. [10] 朱爱华,付曹政,曹钟,李强,杨建伟.基于Node.js框架和MongoDB数据库的物流信息服务系统设计[J].北京建筑大学学报,2018,34(04):41-46.DOI:10.19740/j.1004-6011.2018.04.07. [11] 朱征宇,陈烨,常红要,曾丽芳,张鹏.网站界面设计用户体验[J].重庆理工大学学报(自然科学版),2010,24(08):37-42. [12] 吴燕萍. 以用户为中心的Web设计研究[D].浙江大学,2008. [13] 刘增,陈炳发.以用户为中心的网站可用性设计和评估[J].中国制造业信息化,2009,38(05):63-66. [14] 张晶. 基于用户体验的互动展示网站的交互设计研究[D].北京工业大学,2012. [15] 赵侃.用户体验设计——网页界面设计的重中之重[J].艺术与设计(理论),2010,2(09):55-57.DOI:10.16824/j.cnki.issn10082832.2010.09.019. [16] 任中方,张华,闫明松,陈世福.MVC模式研究的综述[J].计算机应用研究,2004(10):1-4 8. [17] 司徒正美. JavaScript框架设计[M].人民邮电出版社:, 201404.458. [18] 黎永良,崔杜武.MVC设计模式的改进与应用[J].计算机工程,2005(09):96-97 212. [19] 彭显雯. 基于MVVM模式的响应式轻量级前端组件设计与实现[D].华中科技大学,2017. [20] 申德荣,于戈,王习特,聂铁铮,寇月.支持大数据管理的NoSQL系统研究综述[J].软件学报,2013,24(08):1786-1803. [21] 吕明育,李小勇.NoSQL数据库与关系数据库的比较分析[J].微型电脑应用,2011,27(10):55-58 70. [22] 沈姝. NoSQL数据库技术及其应用研究[D].南京信息工程大学,2012. [23] 赵文硕. 关系型与非关系型数据库的应用研究[D].华北电力大学(北京),2016. [24] Li Nian,Zhang Bo. The Research on Single Page Application Front-end development Based on Vue[J]. Journal of Physics: Conference Series,2021,1883(1). [25] Martin Heller. What is Node.js? The JavaScript runtime explained[J]. InfoWorld.com,2022.
|
4. 研究方案
通过对现代人餐饮习惯的考量,本课题主要以建成健康饮食网站为目的展开,通过阅读大量文献和资料,采用javascript和mongodb数据库技术搭建网站,其中主要使用mvvm模式下的vue框架和由事件驱动的新型服务环境node.js。关于网站的页面设计将借鉴大量其他网站设计,结合人性化布局方案构造出所适用于本课题的网页视图。
健康饮食网站分为用户端和管理员端,功能分别如下:
5. 工作计划
1) 查阅javascript以及nosql以及网站设计与制作相关语言html和css等方面相关的国内外文献资料10篇以上,并做读书笔记,写出文献综述;
2)根据文献理论回顾,进行理论分析,初步建立网站总体策划方案;
3)实施既定方案,对实施过程进行记录和分析,最终完成论文撰写工作;
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。