代码改变世界

旅客行程智能推荐系统架构漫谈

2019-04-24 20:43  Robortxin  阅读(1911)  评论(0编辑  收藏  举报

这两天 我们准备了软件杯旅客形成智能推荐系统的题目,其实这个题目对于我们来说并不是很难,主要用到的算法无非是迪杰斯特拉算法,还有协同过滤算法。

对于这个系统的架构进行分析:

1.编写目的:

为明确软件需求、安排项目规划与进度、组织软件开发与测试。保证软件开发的质量、需求的完整与可追溯性以保证业务需求提出者与需求分析人员、开发人员、测试人员及其也相关利益人对需求达成共识,去开发一套智能化查询系统,支持民航航班、铁路运输、城市公共交通等多种交通方式组合,考虑不同旅客类型(商务旅客、个人出行、家庭出游等)的旅客偏好,按照旅行时间最短、总体花费最少、舒适度最高等多种影响行程方案选择的方式,为旅客提供最优的行程推荐服务。

 

系统用例图:

 

 

需求结构二维表:

 

功能

质量

约束

业务级需求

普通用户

Ÿ 得到最优行程路线

Ÿ查询效率高

Ÿ推荐路线最优

Ÿ使用生命周期长

Ÿ支持多用户查询请求

业务环境约束  

Ÿ交通方式繁多

Ÿ 交通路线会随着时间会被修改

Ÿ支持多种交通工具的组合

Ÿ时间不同,道路情况不同(一天中的早高峰,节假日人流量大)

用户级需求

用户

Ÿ 普通用户

Ÿ 系统管理员  

Ÿ与用户交互的前端要友好、方面,易于使用。易用性

Ÿ高性能

Ÿ可移植性

使用环境约束

Ÿ分布式的使用要求

Ÿ旅客类型不同,旅客偏好不同

Ÿ最优需求不同(按照旅行时间最短、总体花费最少、舒适度最高等多种影响推荐最优路线)

开发级需求

 

Ÿ结构可扩展性

Ÿ可重用性

开发环境约束

Ÿ   人员水平不一

Ÿ   降低重复开发的工作量

 

一.分析约束影响:

业务级需求的影响:例如:交通方式繁多,交通路线会随着时间会被修改,时间不同,道路情况不同。要实现最有路线推荐就要有对道路的统一监管——系统管理员。

用户级需求的影响:例如:旅客类型不同,旅客偏好不同;最优需求不同(按照旅行时间最短、总体花费最少、舒适度最高等多种影响推荐最优路线)

二.确定关键质量:

可用性:实时应用软件需要减少软件出现故障概率。

可修改性:交通工具及交通环境为不可控因素,软件需要修改以适应。

性能:旅行推荐系统需要实时快速便捷。

易用性:软件面向全部年龄段用户,需要简洁易用

可移植性:软件需要同时有移动端和PC端。

 

三.确定关键功能:

核心功能:根据用户出发地目的地推荐最优路线。

必做功能:交通信息录入修改,算法路线推荐功能。

高风险功能:无

独特功能:推荐最短时间路线,最短路程路线,最经济路线。结合多种交通工具的组合共同选择出可以中途换乘的最优路线。

绘制鲁棒图:

 

扩展性需求:

系统建设采用先进的成熟技术,建立严密、体系化的系统管理、应用平台,应具有良好的分层设计,整体系统扩充性能良好,能够根据业务的发展或变更,在保持现有业务处理不受影响的前提下,具有持续扩充功能、适度变化的能力。