真德秀团队成员:
WoLykos(3005) hIrokuh(3023)
DoraMike(3026) JanzKing(3007)
JtvDeemo(3044)
1引言
1.1目的
此开题报告编制目的是明确本项目的详细需求,供用户确认项目的功能和性能,和用户形成一致的理解和确认,作为进一步详细设计软件的基础。
本文档供迪丽瑟斯团队与老师、助教进行参考。
1.2背景
随着信息技术和移动设备的成熟与发展,网上服务与交易等业务越来越普及,大量的信息被聚集起来引发了数据的爆炸式增长,以至于用户每当想在一个网站上找到自己想要的信息,都需要花费大量的时间和精力,也未必能如愿以偿。如何解决信息过载是人工智能与大数据时代面临的一个重要难题。于是人工智能(AI)推荐算法就应运而生。
AI推荐系统是根据用户的兴趣特点和行为,向用户推荐其感兴趣的信息。它的主要任务是联系用户兴趣与信息,以及在该网站上的浏览信息,据此对用户进行个性化分析,为用户主动推送相关信息。推荐系统目前已被广泛地应用于像淘宝、亚马逊这样的电商平台,像谷歌、百度这样的搜索引擎,以及电影视频、音乐电台、社交网络、广告投放这样的个性化网站,但是比较惋惜的是,并没有类似于特产类的推荐网站。对于特产类网站的用户来说,他们想要的是,精准而又全面地获取所想要的信息,然而从目的上讲现有的中国特产网站及各大APP,商业性质过强;从信息上讲,对中国土特产的介绍有所缺乏;从功能和技术来讲,缺少了用户的个性推荐功能,以至于无法给不同的用户提供适当的推荐。
1.3预期读者与阅读建议
预期读者 |
阅读建议 |
项目经理 |
项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计及项目管理。 |
开发人员 |
对需求进行分析,并设计出系统,包括页面和数据库的设计。了解与实现系统功能,编写《用户手册》。 |
营销人员 |
根据本文档制定合适的营销策略,结合市场需求给予分析人员合适的建议。 |
测试人员 |
根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。 |
用户 |
了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。 |
1.4参考资料
1、软件需求规格说明书标准模板,迪迈科技,2015.07.10,https://wenku.baidu.com/view/19055bc4fe4733687e21aaa3.html
2、构建之法,邹欣,2017.07,人民邮电出版社
3、加速知识积累的问答网站设计与实现,袁伟,2016.05.30,https://wenku.baidu.com/view/29cafc9f2e3f5727a4e962d5.html?qq-pf-to=pcqq.group
1.5需求描述约定
a.业务规则/业务要素
b.输入:提供所有与本功能有关的输入描述,包括:输入数据类型、媒体、格式、数值范围、精度、单位等。
c.输出:提供所有与本功能有关的输出描述,包括:输出数据类型、方式、格式、数值范围、精度、单位等,以及图形或显示报告的描述。
d.业务操作流程
e.异常情况和处理流程。使用图示并配合必要的文字说明。
f.界面描述规则:界面描述使用asure的界面设计模型进行描述。
2项目概述
2.1产品描述
迪丽瑟斯是一个用于查询全国各地特产的网站,依据地域的界线以及特产的原料,将各特产归纳到不同的栏目。用户可以查询某地的特产,也可以查询某一类的特产,借以快速准确地找到想要的信息;如果用户在移动设备中打开迪丽瑟斯,则可快速定位到用户的所在地,并推荐周边的美食;迪丽瑟斯还嵌入了AI推荐系统,自动为用户推荐其感兴趣的特产。除此之外,我们还开发了一个供用户讨论交友的平台,用户可以在这里发推文,提问题,给建议,分享自己的取食之道和家乡的特产,促进文化交流的同时,也推动了迪丽瑟斯数据库的自我完善。
2.2 产品功能
需要使用本系统的用户群体:因不了解当地的名特产,而无法把外出的喜悦分享给家人与朋友的外出旅游的游客;因鉴于方言找不到家乡的美食,而无法满足自己思乡情怀的出差在外,或工作多年没法回家的工人; 因找不到相应的美食平台,而无法分享自己美食感受的美食家; 因找不到好的旅游美食点,而假期无所事事的大学生,上班族;平时喜欢闲聊,想要查阅美食特产信息的人;
系统要实现的最基本功能是美食博客的发表、美食特产信息的查询、论坛话题的发表、对喜欢的博主的关注、对喜欢的博客的收藏与点赞、对个人信息的修改。
其次进一步实现的功能是对相应的美食标签进行查询,如搜索地方美食,再者对美食的相关推荐,与推荐美食与博主与精选博客模块。
系统功能图如下:
图2.1 delicious特产网系统结构图
用户场景分析(User Analysis)
下面针对我们的系统主要面向的五类用户:
1.因不了解当地的名特产,而无法把外出的喜悦分享给家人与朋友的外出旅游的游客。
2.因鉴于方言找不到家乡的美食,而无法满足自己思乡情怀的出差在外,或工作多年没法回家的工人。
3.因找不到相应的美食平台,而无法分享自己美食感受的美食家。
4.因找不到好的旅游美食点,而假期无所事事的大学生,上班族。
5.平时喜欢闲聊,喜欢长见识的情报强者。
接下来,我们将通过分析典型用户场景得出各位用户的需求:
1.在外旅游的乙小姐:
名字 |
乙小姐 |
性别 |
女 |
年龄 |
35左右 |
知识层次 |
我会上网哦 |
生活情况 |
家庭和睦,合家安康,最近被朋友疏远了 |
动机 |
啊~啊,每次旅游都找不到好的纪念品啊,特产啊,好烦啊。最近阿飘因为上次没给她带好吃的,现在关系有点僵啦 |
目的 |
当然是能找到个好吃的美食特产带回来自己好好品尝啦 |
困难 |
我有用过那些百科的来查找,但很多都太书面啦,没有吃过的人评论,感觉文字看起来冷冰冰的呢 |
用户偏好 |
需要亲民,亲切 |
用户比例 |
约占游客的65% |
典型场景 |
在外旅游即将回归时,需要找到一份大家都好评的美食特产 |
典型描述 |
抱歉,对不起,我又忘了带好东西回来了 |
2.在外地工作多年的小汪:
名字 |
汪水王 |
性别 |
男 |
年龄 |
35左右 |
知识层次 |
没大学,没高中。只会一些搬砖活 |
生活情况 |
没钱啊,肯定要做啊。不做没有钱用。做生意又不会做,只有干这些才能维持得了生活 |
动机 |
我好想回家啊,好想吃#&$@啊(方言),可是自己普通话又不好 |
目的 |
希望能找到一个关于当地美食介绍的网站,最好要附带图片,毕竟自己的语文水平不是很高 |
困难 |
我询问过当地人,但我自己都不知道自己在说什么,方言别人又听不懂 |
用户偏好 |
简捷明了 |
用户比例 |
约占工人的10% |
典型场景 |
在工人房看到电视上的美食介绍,联想到自己家乡的美食 |
典型描述 |
这日子什么时候是个头啊 |
3.喜欢分享美食的goodgirl:
名字 |
Goodgirl |
性别 |
未知 |
年龄 |
20 |
知识层次 |
语文专业,擅长写优美的散文 |
生活情况 |
喜欢吃东西又喜欢写东西,不愁没钱花,就怕没人看 |
动机 |
我今天相当个美食博主,分享自己的美食心得 |
目的 |
有人能够看的,高质量散文聚集地,拒绝低俗广告 |
困难 |
其实我也有在其他网站发布过自己的美食心得,但通常首页都没有我的文章,而那些流水帐却被放到了首页,这是对我的一种侮辱 |
用户偏好 |
亲切,及时分享 |
用户比例 |
约占网民的5% |
典型场景 |
今天这家不错,想要发个博文 |
典型描述 |
好吃,难吃,一般般 |
4.大学生山某:
名字 |
山大王 |
性别 |
男 |
年龄 |
20 |
知识层次 |
本科 |
生活情况 |
一心只读圣贤书,偶尔想放纵一下 |
动机 |
学习了一整天想出去玩,吃点好吃的 |
目的 |
找一个美食介绍网站,介绍某一地美食的,最好有博文和评论 |
困难 |
没有人推荐好吃的旅游点,导致假期又无所事事地过去了 |
用户偏好 |
用户评论真实,拒绝虚假信息 |
用户比例 |
约占大学生的30% |
典型场景 |
这假期去哪旅游旅游吧,吃点好吃的,毕竟快毕业了 |
典型描述 |
开黑啊,开黑啊 |
5.家庭主妇贤儿:
名字 |
贤弃 |
性别 |
女 |
年龄 |
40 |
知识层次 |
已经是准奶奶级 |
生活情况 |
每天没事做,聊聊日常,聊聊世界大事 |
动机 |
在聊天的时候无从下手,没有一个好的出发点 |
目的 |
为了给他人带来点亲切感,结交好友,充实生活。从别人的家乡入手是最好的 |
困难 |
太百科的介绍彰显不出亲切,太亲切却又讲的好空 |
用户偏好 |
用户评论真实,拒绝虚假信息 |
用户比例 |
约占妈妈辈的30% |
典型场景 |
聊到大家都容易下手的话题,自己却没话说,会尴尬 |
典型描述 |
哦,那个我知道,好吃啊/今天又能去xxx家做客 |
2.3用户类及其特征
用户类 |
特征 |
游客 |
浏览到网站想进来查看网站内容,或者网站内有其所需的答案的人。这类用户就只能实现简单的查看功能,可以进行用户注册。 |
用户(重要) |
对网站产生兴趣,想要继续用下去的人。已经在网站上进行注册,除了可以浏览网站的内容外,可以对自己的个人信息进行管理,可以发表话题、评论和笔记,可以对自己感兴趣的东西进行收藏,可以关注自己感兴趣的作者,收到相关的动态。可以对自己发表的东西进行增删改查。 |
管理员 |
网站的管理者,也可以理解为网站的职员。可以进行个人信息管理,也可以进行用户个人信息管理。管理网站的话题,笔记,标签等,处理用户的反馈,以及网站的违规处理。 |
超级管理员 |
管理网站的整体结构,管理和优化网站的数据库。 |
2.4运行环境
1.操作系统:Windows7以上Windows版本
2.服务器:支持Apache Tomcat 8.0
3.数据库:MySQL5.7
4.浏览器:国内的主流浏览器,如Google chrome、火狐浏览器、IE10以上的版本等等
2.5设计和实现上的约束
1. 开发环境约束:
(1)Web框架: 前端(Bootstrap3框架)+后台(Django2.0.2+xadmin框架)
(2)开发工具:Pycharm-professional-2017.2.3+MySQL5.7.+Apache Tomcat8.0
(3)开发语言:python3.6.4+HTML+CSS+JS+SQL语言
(4)数据库连接:通过pymysql库连接到xadmin
(5)开发测试浏览器:Google chrome
2. 开发周期短:
两个月的开发时间需要开发者合理规划时间,做到多项任务并发。
3.所采用的方法与技术有限:
项目团队成员的技术水平不够成熟,需要在开发中并发学习多种技术和能力。
4.所采用的代码规范约束:
项目团队成员需要制定一定的代码规范约束,以保证后期代码的合并顺利。
2.6假设和依据
本项目是否能够成功实施,主要取决于以下的条件:
(1)团队成员的积极合作配合,为了项目的开发和实施,对个人时间进行合理规划同时为团队做出合理牺牲,配合队友完成任务;
(2)团队掌握先进的能够适用于该项目的技术,这是系统的性能是否优化和项目能否成功的保证;
(3)团队为软件系统的运行提供必要的且能够满足系统运行条件的硬件环境和通讯环境,不合适的硬件环境和通讯环境将会影响系统的性能;
(4)团队为系统的调研、开发和实施过程提供必要的工作环境和系统运行环境,这些环境有助于工作的展开。
3具体需求
3.1功能需求
3.1.1首页:
在首页游客可以进行博客、论坛的导航、可以通过轮播图了解我们推荐的美食信息。
还可以最快了解到我们最近更新了什么美食特产信息,方便自己的浏览。
以及第一时间知道最近有哪些优秀的美食博客,可以对相应的博主进行关注,点赞,评论等。
首页的右端是用来推荐的模块,游客可以通过这里了解到大部分人喜欢的美食博客,了解到大家讨论最多的话题,了解到与自己可能喜欢的特产消息。
首页上同时也有快捷搜索模块,方便用户快速查询自己想要的特产相关信息,与相关博客与话题。右上的登陆模块,供用户登录。
3.1.2登录界面:
在登录界面用户可以进行账号密码登录。
也可以图方便,用二维码进行登录。
当用户忘记密码时,可以通过注册时所用的邮箱进行找回密码的操作。
用户可以注册账号,登录该特产网第一时间了解特产信息。
3.1.3用户界面
此时用户在搜索时会提示搜索历史。
在点击右上角的头像后,会出现用户的常用操作,包括进入个人中心,查看自己的关注博主与专题、查找自己的历史浏览、查看自己收藏的博客与话题、和成为会员等。
3.1.3博客界面
用户可以在左侧看看最热门的美食博客,右侧了解优秀的博文。点击查看相应的美食博主信息。
3.2外部接口需求
3.2.1 软件接口
操作系统:Win7及以上版本Windows
数据库:MySQL5.7
开发工具:Pycharm,Nivicat
编程语言:Python,Django
3.2.2 通信接口
1. TCP/IP 通信协议接口 。
2.socket:服务器不断监听双方约定好的端口号,客户端请求连接,连接成功后,得到 socket 的输入输出流进行通信。
3.3 性能需求
阐述不同的应用领域对产品性能的需求,并解释它们的原理以帮助开发人员做出合理的设计选择,确定相互合作的用户数或者所支持的操作,响应时间以及与实时系统的时间关系;还要定义容量需求,例如存、储器和磁盘空间的需求或者存储在数据库中表的最大行数。也可能需要针对每个功能需求或特性分别陈述其性能需求。
(1)用户一般响应时间不超过1秒,上传头像或者图片时间不超过5秒。
(2)如果页面长时间无响应,应提示403错误后让用户刷新页面。
(3)按照规定的数据格式输入,否则系统提示错误并要求重新输入。
(4)要求数据库有很好的更新能力,能够适应迭代开发。
3.4 属性
3.4.1 安全性
1. 重要数据加密
对一些重要的数据利用可靠的加密技术进行加密,例如用户的密码等。
2.记录日志
本系统应该能够记录系统运行是所发生的所有错误,包括本机错误和网络错误。错误记录便于查找错误的原因。日志同时记录用户的关键性操作信息。
3. 故障处理
正常使用时不应出错,若运行时出现不可恢复的系统错误,也必须保证数据库完整。
4. 权限控制
根据不同用户角色,设置相应权限,用户的重要操作都做成相应的日志记录以备查看,没有权限的用户禁止使用系统。用户只能管理自己的个人信息,管理员可以管理用户和自己的个人信息。
5. 数据备份
允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。
3.4.2 可用性
(1)易操作,易理解
尽量从用户角度出发,以方便使用本产品。如:确认登录时,敲入回车键光标自动跳转,所有操作可仅通过键盘完成。支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户方便地使用本系统。
(2)稳定性
系统会更新增加功能,不断修复 bug,使系统更加稳定。
(3)容错能力:
系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行,并有足够的提示信息帮助用户有效正确地完成任务。
(4)并发性
能够保证一定量的用户同时在线使用。
(5)操作完成时有统一规范的提示信息。
例如删除操作时,系统可提示警示框“您确认删除记录吗?操作不可恢复!”,用户点击确认后,系统才执行删除操作,删除后可直接返回 相关页面。
(6)控制必填项
本系统能够对必须填写的项目进行控制,使用户能过确保信息录入的完整,同时对必填项进行有效统一的提示。
(7)用户可自定义
为了满足业务的不断变化,一些重要的参数应该可以灵活设置。
(8)帮助和操作指南
3.4.3 可维护性需求
1.保留系统对应的版本的源代码。
2.代码一定要有注释,特别是关于 if else,每个条件到底意味这什么,一定要有清晰的描述。
3.清晰的系统结构和命名规范,界面规范,提示和帮助信息规范,友好的错误提示信息,可以帮助用户自己找原因,自己维护系统。
4验证验收标准
4.1文档验收标准
(1)项目开题报告
(2)软件需求规格说明书
(3)项目总结报告
4.2软件验收标准
(1)Django文件夹
4.3界面验收标准
4.3.1游客界面
序号 |
界面名称 |
界面描述 |
备注 |
1 |
首页 |
在首页游客可以进行博客、论坛的导航、可以通过轮播图了解我们推荐的美食信息。在首页游客可以最快了解到我们最近更新了什么美食特产信息,方便自己的浏览。在首页游客可以第一时间知道最近有哪些优秀的美食博客,可以对相应的博主进行关注。同时也可以了解到最近在聊什么美食特产。首页的右端是用来推荐的模块,游客可以通过这里了解到大部分人喜欢的美食博客,了解到大家讨论最多的话题,了解到与自己可能喜欢的特产消息。首页上同时也有快捷搜索模块,方便用户快速查询自己想要的特产相关信息,与相关博客与话题。右上的登陆模块,供用户的登录。在点击右上角的头像后,会出现用户的常用操作,包括进入个人中,查看自己的关注博主与专题、查找自己的历史浏览、查看自己收藏的博客与话题、和成为会员等。 |
|
2 |
博客 |
用户可以在左侧看看最热门的美食博客,右侧了解优秀的博文。点击查看相应的美食博主信息。 |
|
3 |
论坛 |
用户可以在左侧看看最热门的美食话题,右侧了解话题讨论。点击查看相应的话题信息。 |
|
4 |
登录 |
在登录界面用户可以进行账号密码登录。也可以图方便,用二维码进行登录。当用户忘记密码时,可以通过注册时所用的邮箱进行找回密码的操作。用户可以注册账号,登录该特产网第一时间了解特产信息。 |
|
5 |
关于我们 |
了解到本站的信息。 |
|
6 |
联系我们 |
方便用户联系我们,提出建议。 |
4.3.2用户界面
序号 |
界面名称 |
界面描述 |
备注 |
1 |
首页 |
在首页游客可以进行博客、论坛的导航、可以通过轮播图了解我们推荐的美食信息。在首页游客可以最快了解到我们最近更新了什么美食特产信息,方便自己的浏览。在首页游客可以第一时间知道最近有哪些优秀的美食博客,可以对相应的博主进行关注。同时也可以了解到最近在聊什么美食特产。首页的右端是用来推荐的模块,游客可以通过这里了解到大部分人喜欢的美食博客,了解到大家讨论最多的话题,了解到与自己可能喜欢的特产消息。首页上同时也有快捷搜索模块,方便用户快速查询自己想要的特产相关信息,与相关博客与话题。右上的登陆模块,供用户的登录。此时用户在搜索时会提示搜索历史。 |
|
2 |
博客 |
用户可以在左侧看看最热门的美食博客,右侧了解优秀的博文。点击查看相应的美食博主信息。浏览自己关注的美食博主的动态。可以点赞博客,分享博客给周围人。 |
|
3 |
论坛 |
用户可以在左侧看看最热门的美食话题,右侧了解话题讨论。点击查看相应的话题信息。 |
|
4 |
关于我们 |
了解到本站的信息。 |
|
5 |
联系我们 |
方便用户联系我们,提出建议。 |
|
6 |
个人主页 |
进入个人主页对自己的用户信息进行完善,或者装饰自己的个人空间。 |
|
7 |
我的关注 |
查看自己关注的博主,第一时间了解美食博主的动态。 |
|
8 |
历史浏览 |
方便找到之前用户所看的美食博客与美食特产信息与曾经发过评论的论坛话题。 |
|
9 |
我的收藏 |
方便用户查看自己喜欢的某博客或话题与特产信息。 |
|
10 |
成为会员 |
成为会员的用户有特权。 |
|
11 |
账号退出 |
供用户切换账号。销毁登录记录。 |
4.4功能类验收标准
以界面类为标准。
附:
工作权重比例:
WoLykos(20%);hIrokuh(20%);DoraMike(20%);JanzKing(20%);JtvDeemo(20%)。