软件工程课设Word文档格式.docx

上传人:b****6 文档编号:17350412 上传时间:2022-12-01 格式:DOCX 页数:18 大小:466.27KB
下载 相关 举报
软件工程课设Word文档格式.docx_第1页
第1页 / 共18页
软件工程课设Word文档格式.docx_第2页
第2页 / 共18页
软件工程课设Word文档格式.docx_第3页
第3页 / 共18页
软件工程课设Word文档格式.docx_第4页
第4页 / 共18页
软件工程课设Word文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

软件工程课设Word文档格式.docx

《软件工程课设Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程课设Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

软件工程课设Word文档格式.docx

问题描述

备注

1

在收快递的问题上,我们并不是所有时间段都可以有时间去领取我们的快递,而在学校中肯定有学生在那个时间段是有时间的,那么我们便可以通过这个快捷服务平台,发布有偿任务,让时间的人去帮我们那快递,而我们在那个时间段就可安心的做正在做的事情,这样就不会两头都个不到了,加快了我们的做事效率。

代拿快递

2

在打印的问题上,当我们有一份文件要打印而没有时间去打印时,我们同样可以通过这个平台让别人帮我们完成打印,必要的话还可以让对方把文件直接送到我们所在的地方,这样我们就省去了不必要的等待时间,可以更好的完成自己手头上的工作。

代打印

3

在购买物品的问题上,如果我们没有时间去超市买东西,而刚好很需要需,我们只需要将要要买的东西发布到快捷服务品台,就会有刚好在超市的或将要去超市的人接单帮忙我们将我们需要的东西买回来,只要我们支付一点跑路费就可以了,不仅省了时间,也不必专门去一趟了。

代买

4

在课程服务问题是上,当我们在课程上遇到困难时,我们可以通过快捷服务平台,让学霸帮助我们解决学习上的问题,提高我们的课程成绩。

课程服务

5

在早餐宵夜的问题上,我们可以通过快捷服务平台让在是食堂的同学帮我们带宵夜早餐,这样就不用上美团等定外卖了,更何况那些平台定外卖都要挺久才能送到。

代码宵夜、早餐

表2-1

2.2接单问题清单见表2-2

在短时间兼职的的问题上,因为我们的大学生活是比较繁忙的,所以并不是所有的人都有很多连续的时间段去做兼职,而我们的快捷服务平台就可以提供给这些学生短时间的有偿服务任务,让他们即使在很短的时间内也可以做兼职

短时兼职

在长时间兼职的的问题上,有比较长时间的任务,这个主要取决于任务发出的要求,这样,当接单者有比较长的一段时间时,他就可以接比较需要较长时间的任务,担任相应的报酬也就会比较丰富。

长时兼职

表2-2

3.解题模型

3.1业务模型

3.1.1角色责任表

角色

责任

协作者

任务发布人

设定任务内容

②设定任务时间

③制定任务费用

④支付任务服用

⑤发布任务

⑥与接单人协商任务细节

⑦进行售后评价

⑧撤回订单

⑨订单投诉

⑩系统建议

⑪登录注册

后台管理员

接单人

浏览任务

②接收订单

③与任务发布人协商任务细节

④完成订单内容

⑤得到报酬

⑥订单投诉

⑦系统建议

⑧登录注册

显示任务到系统界面

②维护系统稳定

③处理投诉

④处理建议

⑤推送任务给接单人

⑥登录

表3.1.1角色责任表

3.1.2用例图

图3.1.2用例图

3.1.3用例脚本图

1)用户注册用例脚本图如图3.1.3-1所示

图3.1.3-1用户注册用例脚本图

2)登录用例脚本图如图3.1.3-2所示

图3.1.3-2登录用例脚本图如图

3)发布任务用例脚本图如图3.1.3-3所示

图3.1.3-3发布任务用例脚本图

4)接收订单用例脚本图如图3.1.3-4所示

图3.1.3-4接收订单用例脚本图

3.2数据模型

3.2.1类图

图3.2.1类图

3.2.2状态图

图3.2.2状态图

3.3功能模型

3.3.1数据流图

1)初步数据流程

图3.3.1-1初步数据流程

2)最终数据流图

图3.3.1-2最终数据流图

4.应用场景

4.1核心数据结构

4.1.1数据结构引言

数据结构对于一个系统是非常重要的,同样我们的互联网快捷服务平台也拥有一套严谨高效的数据结构,这可以让我们的系统平台更加的稳定高效的运行。

数据结构是计算机存储、组织数据的方式。

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

数据结构往往同高效的检索算法和索引技术有关。

数据的逻辑结构:

指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。

逻辑结构包括:

1.集合:

数据结构中的元素之间除了“同属一个集合”的相互关系外,别无其他关系;

2.线性结构:

数据结构中的元素存在一对一的相互关系;

3.树形结构:

数据结构中的元素存在一对多的相互关系;

4.图形结构:

数据结构中的元素存在多对多的相互关系。

数据的物理结构:

指数据的逻辑结构在计算机存储空间的存放形式。

数据的物理结构是数据结构在计算机中的表示(又称映像),它包括数据元素的机内表示和关系的机内表示。

由于具体实现的方法有顺序、链接、索引、散列等多种,所以,一种数据结构可表示成一种或多种存储结构。

一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。

对数据元素间逻辑关系的描述称为数据的逻辑结构;

数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;

此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。

一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。

在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。

许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。

许多时候,确定了数据结构后,算法就容易得到了。

有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。

不论哪种情况,选择合适的数据结构都是非常重要的。

可见一个好的数据结构对我们的互联网快捷服务平台是多么重要,接下来我们就讲讲该平台所使用的数据结构。

4.1.2Item数据结构

名称

类型

是否隐私

描述

iid

String

N

任务id

detail_url

任务url

num_iid

任务数字id

title

任务标题,不能超过60字节

nick

任务发布人昵称

type

任务类型(fixed:

一口价;

auction:

拍卖)注:

注明任务长度

cid

任务所属的叶子类目id

seller_cids

任务所属的发布人自定义类目列表

props

任务属性格式:

pid:

vid;

vid

input_pids

用户自行输入的类目属性ID串。

结构:

"

pid1,pid2,pid3"

,如:

20000"

注:

通常一个类目下用户可输入的关键属性不超过1个。

input_str

用户自行输入的子属性名和属性值,结构:

父属性值;

一级子属性名;

一级子属性值;

二级子属性名;

自定义输入值,...."

如:

“耐克;

耐克系列;

科比系列;

科比系列;

2K5”,input_str需要与input_pids一一对应,注:

所有属性别名加起来不能超过3999字节。

desc

任务描述,字数要大于5个字节,小于25000个字节

pic_path

任务主图片地址

num

任务数量

valid_thru

有效期,3或者7(默认是3天)

list_time

任务发布时间(格式:

yyyy-MM-ddHH:

mm:

ss)

delist_time

任务撤回时间(格式:

stuff_status

任务新旧程度(全新:

new,闲置:

unused,)

location

Location

任务执行地点

price

任务价格,格式:

5.00;

单位:

元;

精确到:

add_fee

追加费用,格式:

has_discount

支持会员打折,true/false

freight_payer

执行任务所需费用,seller(卖家承担),buyer(买家承担)

has_invoice

是否有发票,true/false

has_showcase

系统推送,true/false

modified

任务修改时间(格式:

yyyy-MM-ddHH:

increment

Y

任务加价幅度。

如果为0,代表系统代理幅度

auto_repost

任务自动重发,true/false

approve_status

任务上传后的状态。

Onsale发布中,instock推送中

product_id

任务所属产品的id(可能为空).该字段可以通过kjfw.products.search得到

auction_point

返点比例

property_alias

属性值别名

itemimg.position

ItemImg[]

任务图片列表(包括主图)

propimg.position

propImg[]

任务属性图片列表

sku.modified

sku[]

SKU列表

outer_id

任务发布人外部编码

is_virtural

虚拟任务的状态字段

is_taobao

是否在接单人显示

video.modified

Video[]

任务视频列表(目前只支持单个视频关联)

4.1.3具体数据结构列表

操作名

所用数据结构

说明

显示任务列表

队列

这里的任务列表是从后台服务器中下载下来的,所以使用队列的数据结构是比较合适的,因为当有新的任务时,可以将新任务插在队列后面,简单得实现更新,完成的任务也可直接出列

编辑任务

链表

任务发布人编辑自己的任务,用链表的数据结构是比较合适和高效的,因为任务发布人可以高效得实现任务的插入和删除。

显示订单列表

这个跟显示任务列表是比较相似的,用的数据结构也是队列,这是显示给接单人看的订单列表,新接的单可以直接插在队列的后面而完成的订单可以直接出列。

投诉列表

这是后台管理人员看的列表,用的数据结构是队列,新接到的投诉可以直接插到队列后面等待处理,而处理完的投诉可以处理。

4.2核心算法

4.2.1前言

好的算法对一个庞大的系统是非常必要的,好的算法就像这个系统的心脏一样,决定这该系统能不能高效、稳定运行。

而我们的互联网快捷服务平台也有一套高效稳定的算法支撑着系统的日常运行。

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。

不同的算法可能用不同的时间、空间或效率来完成同样的任务。

一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。

一个状态到另一个状态的转移不一定是确定的。

随机化算法在内的一些算法,包含了一些随机输入。

所以鉴于算法的在整个系统中的重要性,我们对该系统使用的算法经过了多次的改进,让这套算法运行的更有效率。

4.2.2核心算法介绍

本系统中最重要的算法是任务搜索算法和任务推送算法,任务搜索算法是接单人搜索适合自己当时去完成的任务,而任务推送算法是系统将任务推送到合适接该任务的接单人的平台上,这样精确的点对点就可以让任务发布人所发布的任务可以更快更高效的完成,节约了任务发布人和接单人的金钱和时间,也可让我们的系统更加高效稳定的运行。

1)任务搜索算法

从技术上来说,就是在用户输入关键词匹配到的商品中,把最符合用户需求的任务排到第一位,其它的依次排在后续相应的位置。

为了更好的实现这个目标,算法排序系统基本按三个方面来推进:

一、算法模型

  当用户输入关键词进行搜索的时候,系统依据算法模型来给匹配到的每个任务进

时的计算,并按照分数的大小对任务进行排序。

  对于好的算法模型,首先需要考虑我们能够有哪些特征因子可以应用。

比如在网页搜索中,算法模型基本就是按网页的重要性和相关性给网页计算一个分数,然后进行排序。

这里的相关性,和重要性就是网页排序模型中两个重要的因子。

具体来说相关性因子是指搜索关键字在文档中出现的度数,当这个度数越高时,则认为该文档的相关程度越高。

重要度因子比如Google的Pagerank,可以理解为一个网页入口超级链接的数目:

一个网页被其他网页引用得越多,则该网页就越有价值。

特别地,一个网页被越重要的网页所引用,则该网页的重要程度也就越高。

搜索的时候,有些特征因子是很容易能想到的,比如:

A、文本的相关性:

关键词和商品的匹配,匹配的程度,是否重要词的匹配,匹配词之间的距离等,都可能影响相关性。

B、类目热点:

系统数据的一个重要特质是每个商品都挂靠在类目属性体系下面,每个商品都做了一个很好的分类。

在搜索过程中,同一搜索词的大量用户行为数据很容易聚焦到相应的热点类目。

C、任务指标:

任务搜索算法中任务指标是扮演者重要角色的,其中包括任务的性质,时间,时限,地点,费用的都是接单人搜索的关键内容,所以搜索算法是在此基础上建立起来的。

二、线下评估

算法模型的评估一般分为线下的评估和线上的评估,线下的评估很多都体现在搜索中常用的相关性(Relevance)指标。

相关性的定义可以分为狭义相关性和广义相关性两方面,狭义相关性一般指检索结果和用户查询的相关程度。

而从广义的层面,相关性可以理解为用户查询的综合满意度。

当用户在搜索框输入关键词,到需求获得满足,这之间经历的过程越顺畅,越便捷,搜索相关性就越好。

三、线上测试

为了真实验证一个算法模型的好坏,需要有一个系统能提供真实的流量来检验。

系统搜索实现的BTS(BucketTestingSystem)系统就是这样的一个环境,在用户搜索时,由搜索系统根据一定的策略来自动决定用户的分组号(Bucketid),保证自动抽取导入不同分组的流量具有可对比性,然后让不同分组的用户看到的不同算法模型提供的结果。

用户在不同模型下的行为将被记录下来,这些行为数据通过数据分析形成一系列指标,而通过这些指标的比较,最后就形成了不同模型之间孰优孰劣的结论。

只要分组的流量达到一定的程度,数据指标从统计意义上就具有可比性。

2)任务推送算法

关于任务的推送算法,我觉得以下几个因素比较重要:

①人--用户是一个什么样的人?

②任务--用户之前执行过什么任务?

这三个事情应该是循序渐进的,他们一起才能决定用户可能可以接受什么样的任

务。

所以我们从人的角度出发应该做这么一件事情:

划分用户群体,从性别,年级,角色等一些特征来划分群体。

具体的划分可能要通过分析数据才能得到结论,比如大一和大二的用户,差别可能不大,但大一跟大四的用户,可以接受的任务的差异性则比较大了,这个具体的区间可以对用户可接受的任务来做一个比较,最终的划分可能是大一、大二、大三、大四等等这样的一个年龄复合性别的划分。

用户的角色,比如作为普通学生,或是社团的人员或是帮干部,这些应该都是可以分析到的。

根据用户的群体划分,结合对应群体的购买行为,推荐群体契合度高的商品。

我们从用户之前执行过什么任务出发,我们可以划分任务的类型,从任务的性质,执行任务的时间段,任务的费用分段等将符合接单人的相关的任务推送给接单人。

比如有的接单人他们可以在下午的时间段比较有时间,所以我们就可以将在下午的任务推送给这些人。

而有的接单人比较适合做力量型的任务,我们也就可以将力量性质的任务推送给这部分人,实现任务的精确推送。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1