项目源码,可执行软件,详细的说明报告文档等获取地址:
设计思路
软件主要面向车辆管理员,所以软件的使用主要是管理员。下图是软件的用例图设计:
模块设计
我们采用了典型的MVVMlight设计模式,主要分为三个模块:Model模块、View模块、ViewModel模块。
Model模块储存了数据模型,包括数据库相关内容,即数据库的实体,根据数据库的表创建的类,与数据库交互(增删改查)的接口。
View模块:是用户界面,为用户和数据库交互,进行增删改查及图表分析等各种功能提供交互接口。
ViewModel模块:连接View模块和Model模块,逻辑控制层。
下面是三个模块的层次结构即调用关系图:
采用了MVVMlight三层架构思想,这具有以下优势。
①程序耦合性低,可扩展性和可维护性高
②利于开发人员间分工协作
③可以降低层与层之间的依赖
④利于标准化和各层逻辑的复用。
具体如下:
- Model层负责存储数据模型,包括数据库的相关内容,即数据库的实体,根据数据库的表创建的类,与数据库交互(增删改查)的接口。
- View层是用户交互界面,负责向用户展示页面。
- ViewModel层负责连接View层和Model层,用于响应View层用户发出的请求并通过调用Model层来对用户请求进行响应。
界面设计
我们采用WPF进行程序设计
登录界面:
功能页面:
添加弹窗页面:
分析报告页面
详细报告页面
其他设计
定位
目前由于没有硬件支持,我们只实现了静态定位,即获取了各个分公司的经纬度,将其呈现给用户,未来获取硬件支持后可以实现对每一辆车的实时定位,从而为用户管理和调度车辆提供更加及时和有效的帮助。
-
关键技术
我们在软件设计中使用的关键技术有:
3.1 C/S——通过安装客户端程序访问服务器系统
我们将数据库和网站托管在了腾讯云服务器和阿里云虚拟主机中,用户可以打开客户端软件和浏览器来对服务器中的数据库和网站进行访问和请求服务。
3.2 MVVMlight——模型-视图-控制器
我们将前端和后端进行了分离,前端和用户进行交互,主要实现的是一个个的界面,(大部分是.xaml代码文件)后端负责数据的组织和价格构建(主要是Provider.cs代码文件),前后端由控制器进行连接和数据的传送(主要是ViewModel.cs文件)
3.3 SQL Sever ——关系数据库管理系统
我们将所有的数据都存储在SQL数据库中,并托管到了云服务器上。
3.4 WPF——Windows呈现基础
我们使用了微软公司最新的利用.NET框架解决GUI框架的方案来实现一些个性化的界面设计以及数据绑定等。
3.5 XAML——可扩展应用程序标记语言
软件的前端UI设计我们使用的主要是XAML语言,以此来设计个性化的界面和实现良好的用户交互。
3.6云服务器
我们使用了腾讯云服务器来支持设计,从而保障了数据的即时更改和实时刷新。
3.7 LiveCharts
LiveCharts是一个charing库,可随着数据的实时变化而自动更新和动画。实时图表会随着数据的实时变化而自动更新和动画,添加、删除、将值插入到集合并同时在 UI 中查看。
3.8 GMap.net
GMap.net是一个强大、免费、跨平台、开源的 .NET 控件,它在 WinForm 和 WPF 环境中能够通过 Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac 等实现寻找路径、地理编码以及地图展示功能,并支持缓存和运行在 Mobile 环境中。
GMap.NET 是一个开源的GEO地图定位和跟踪程序。就像谷歌地图、雅虎地图一样,可以自动计算两地的距离,定位经纬度,与 Google 地图不同的是,该项目是建立在 WinForm 框架或 WPF 框架基础上的。可以对地图放大缩小,进行城市标记等。
视频演示:
第十五届计设省二作品——云统车汽车管理信息系统