这两天 我们准备了软件杯旅客形成智能推荐系统的题目,其实这个题目对于我们来说并不是很难,主要用到的算法无非是迪杰斯特拉算法,还有协同过滤算法。
对于这个系统的架构进行分析:
1.编写目的:
为明确软件需求、安排项目规划与进度、组织软件开发与测试。保证软件开发的质量、需求的完整与可追溯性以保证业务需求提出者与需求分析人员、开发人员、测试人员及其也相关利益人对需求达成共识,去开发一套智能化查询系统,支持民航航班、铁路运输、城市公共交通等多种交通方式组合,考虑不同旅客类型(商务旅客、个人出行、家庭出游等)的旅客偏好,按照旅行时间最短、总体花费最少、舒适度最高等多种影响行程方案选择的方式,为旅客提供最优的行程推荐服务。
系统用例图:
需求结构二维表:
功能 |
质量 |
约束 |
|
业务级需求 |
普通用户 Ÿ 得到最优行程路线 |
Ÿ查询效率高 Ÿ推荐路线最优 Ÿ使用生命周期长 Ÿ支持多用户查询请求 |
业务环境约束 Ÿ交通方式繁多 Ÿ 交通路线会随着时间会被修改 Ÿ支持多种交通工具的组合 Ÿ时间不同,道路情况不同(一天中的早高峰,节假日人流量大) |
用户级需求 |
用户 Ÿ 普通用户 Ÿ 系统管理员 |
Ÿ与用户交互的前端要友好、方面,易于使用。易用性 Ÿ高性能 Ÿ可移植性 |
使用环境约束 Ÿ分布式的使用要求 Ÿ旅客类型不同,旅客偏好不同 Ÿ最优需求不同(按照旅行时间最短、总体花费最少、舒适度最高等多种影响推荐最优路线) |
开发级需求 |
Ÿ结构可扩展性 Ÿ可重用性 |
开发环境约束 Ÿ 人员水平不一 Ÿ 降低重复开发的工作量 |
一.分析约束影响:
业务级需求的影响:例如:交通方式繁多,交通路线会随着时间会被修改,时间不同,道路情况不同。要实现最有路线推荐就要有对道路的统一监管——系统管理员。
用户级需求的影响:例如:旅客类型不同,旅客偏好不同;最优需求不同(按照旅行时间最短、总体花费最少、舒适度最高等多种影响推荐最优路线)
二.确定关键质量:
可用性:实时应用软件需要减少软件出现故障概率。
可修改性:交通工具及交通环境为不可控因素,软件需要修改以适应。
性能:旅行推荐系统需要实时快速便捷。
易用性:软件面向全部年龄段用户,需要简洁易用
可移植性:软件需要同时有移动端和PC端。
三.确定关键功能:
核心功能:根据用户出发地目的地推荐最优路线。
必做功能:交通信息录入修改,算法路线推荐功能。
高风险功能:无
独特功能:推荐最短时间路线,最短路程路线,最经济路线。结合多种交通工具的组合共同选择出可以中途换乘的最优路线。
五 绘制鲁棒图:
扩展性需求:
系统建设采用先进的成熟技术,建立严密、体系化的系统管理、应用平台,应具有良好的分层设计,整体系统扩充性能良好,能够根据业务的发展或变更,在保持现有业务处理不受影响的前提下,具有持续扩充功能、适度变化的能力。