- 作业说明
- 、算法设计思路
1、思路简介
该程序中使用了MVC架构模式,前端通过html+css+javascript设计完成,作为与用户交互的界面。在前端中通过Asynchronous JavaScript and XML(Ajax)[JQuery框架]与服务器交换数据并更新网页的部分内容。后端业务处理使用python进行处理。配合Django Web应用框架与前端进行交互。采用MVT(moudle-view-template)的软件设计模式。后端处理中通过面向对象的映射器用作数据模型和关系型数据库之间的介质以及URL分发器和用于处理请求的视图系统。
- 设计模式框图
- MVC 软件设计框架模式图:
- MVC中组件互动图:
- 主要代码
- 结账生成并下载订单的同步处理
该过程通过jQuery框架中的ajax方法对“download”(url)进行处理,发出了一个POST请求,并将数据转换成json进行传输。将traditional置为true,即将此处理置为同步处理,在进入生成订单中与下载订单同步生成。在通过success:function()回调至开始界面。
- 生成滚动图
在该程序中套餐专卖处,使用滚动图将套餐中的各种食物分别展示出来。效果图以及实现代码如下:
二、调试及测试
(一)、测试
(程序效果图)
(1)点餐系统主页
1、主页
(2)生成订单页
(二)、模拟服务器运行结果
在终端中通过命令python manage.py runserver 0.0.0.0:8000在本机上模拟服务器,显示产生的请求。在运行该命令后,于本机浏览器中链接8000端口的网页(即127.0.0.0:8000)即可。模拟服务器运行结果给图如下:
- 总结
在该程序中通过两人合作,分别进行前后端处理,在开始开发阶段进本没有大问题。但是在生成订单后的订单下载处理出现了异步处理的问题——在生成订单后,订单下载界面无法自动跳出。这个问题在经过我们两人讨论后决定将异步处理换为非异步处理,并且增加界面停留时间,以增加下载订单的反应。除此之外,在该程序开发中基本没有什么大的问题。通过这次开发,明白了开发过程中合作的效率,前后端分开处理在小队伍中无疑是一个明智的选择。在技术方面,该程序采用了MVC(moudle-view-controller)的软件设计框架模式。在配合Django框架,使用python作为后台处理语言。在程序中可以非常清楚的分析和阅读代码。