电影UML概要设计.docx
- 文档编号:24702524
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:55
- 大小:1.21MB
电影UML概要设计.docx
《电影UML概要设计.docx》由会员分享,可在线阅读,更多相关《电影UML概要设计.docx(55页珍藏版)》请在冰豆网上搜索。
电影UML概要设计
北京信息科技大学
本科生实训报告
学院计算机学院
专业计算机科学与技术
年级2012级
姓名刘鸥
学号2014070016
班级计科1205
2015年7
第1章团队介绍
我们小组的名字是“飞”小分队,口号是自由的飞,做自己。
.
1.1团队成员介绍
1.1.1组长
李响
1.1.2组员
刘鸥,王盼
1.2团队成员工作重点
1.2.1李响
主要负责此次项目的前端开发(注册,登录),整体UI设计。
以及Hadoop的学习等工作,除此之外,负责分配任务、查看进度的工作。
1.2.2刘鸥
主要负责系统的后端开发,完善前端,以及Hadoop的学习和系统测试,以及维护数据库的工作。
1.2.3王盼
主要负责本次项目的后端开发,完善前端,主要负责后端代码的编写,以及部分页面功能的实现。
第2章
系统需求分析
2.1项目背景
随着社会的发展,人们的休闲娱乐项目也在逐渐则多,而看电影是一个很好地放松方式人们可以通过在影院看电影的过程中跟随着影片中的故事情节的发展而得到放松。
但是,现如今,能够在平时进电影院花2个小时看电影的人真的是很少。
因为他们觉得那是在浪费时间,有看电影的时间可以做一些别的事情。
现有的这些视频网站都不能实现观看当下新上映的影片的观看,能看的只是已经下线的一些影片。
所以,我们这次做这个项目的就是为了那些想去电影院观看最新上线的电影,但没有时间的人并根据他们的记录为他们做相应的电影推荐。
2.2项目概述
2.2.1目标
项目开发意图:
实现大数据背景下。
应用目标:
观影者可以根据自己的喜好,来观看最新上线的电影。
从而节省去电影院的时间。
作用范围:
观众以及电影公司
本系统的目标:
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的网上视频观看系统。
2.2.2用户特点
前台用户:
即观众,会电脑的基本操作,懂得如何浏览网页。
后台用户:
即系统管理员,具备网站维护的基本知识,熟悉后台管理的基本操作,例:
如何添加,更新,删除信息等操作。
2.2.3运行环境
服务器的操作系统:
Linux
Web服务器软件:
WebLogic5.1
关系型数据库服务器软件:
Mysql+Oracle
大数据存储软件Nosql
大数据计算软件:
ORE
2.2.4条件与限制
项目开发过程中应保证团队的资源需求不间断,必须存在可使用的编程以及测试软硬件,并且保护数据的保存可靠性。
项目完成到正式投入使用前必须保证项目公布的必要条件,如:
运行服务器,网站域名,管理人员等等。
项目正式投入使用后保证服务器的正常运转,管理者与程序员不间断维护与管理。
开发周期:
49天
具体时间:
2015-07-20到2015-09-2
2.3用例图
2.3.1管理员
图2-1管理员用例图
用例图规格描述:
以下用例为我参与实现的用例:
●管理员登陆
简要描述:
管理员登陆后方可完成注册,才能执行之后的步骤。
事件流:
1.管理员登陆后方可对电影信息进行以及用户信息进行管理
2.对电影信息进行修改删除
前置条件:
管理员存在
管理员已登录
后置条件:
登陆成功,管理员方可进行相应操作;否则登录失败没有对电影用户信息修改的权限。
修改电影信息简要描述:
管理员根据
事件流:
1.用户输入不完全的电影
2.网站后台进行搜索
3.返回搜索结果
前置条件:
无
后置条件:
用户可以查看这些电影的基本信息,点击以查看其详细信息。
●查看推荐电影
简要描述:
用户可以点击推荐按钮查看依据自身喜爱进行推荐的电影。
事件流:
1.用户查看推荐电影
2.系统访问得到用户过往行为
3.计算得到推荐电影
4.将推荐电影返回给用户
前置条件:
用户已登陆,且已有一定数量的浏览、评分行为
后置条件:
用户可以查看推荐的电影。
2.3.2管理员
管理员除了登陆、登出的功能外还具有电影信息管理行为。
图2-2管理员用例图
用例图规格描述:
●用户行为记录转换
简要描述:
为各种用户行为记录分配不同权重,计算得到用户对不同电影的喜好程度,生成用户-电影兴趣表。
事件流:
1.得到过往用户行为记录
2.乘以权重相加得到用户对不同电影的喜好程度
3.导入到Hadoop中
前置条件:
已有大量用户行为记录
后置条件:
Hadoop中的数据被更新
●计算得到电影相似度表
简要描述:
依据大量用户产生的行为信息,系统可以依据不同用户对电影的偏好根据某种算法进行分析以得到电影相似性,之后再有用户有相类似的偏好可以推荐其未浏览的相似电影。
事件流:
1.执行写好的R语言脚本对存在Hadoop中的数据进行分析
2.结果导出到关系型数据库的Book_similartiy表中
前置条件:
Hadoop中的数据已按规定的格式组织好
后置条件:
Book_similartiy表被更新,网站可依据这些数据及某用户行为进行对他的电影推荐
2.3.3网站
图2-2网站用例图
用例图规格描述:
●记录用户行为
简要描述:
用户的浏览、评价、搜索行为会被网站记录。
事件流:
1.用户进行搜索、浏览或者评价
2.系统进行记录
3.系统将这些记录保存到关系型数据库的定时清除表以及Nosql的ActivityBook表中
前置条件:
用户已登陆
后置条件:
网站可依据这些数据进行用户行为的分析
2.4数据描述
为了实现上述功能,我们设计了相应的存储方案,分为关系型数据库的表和非关系型数据库的表单。
2.4.1关系型数据库
我们使用关系型数据库来存储需要被用户实时访问、更改的内容。
●电影信息相关的表:
电影基本信息表:
movie
电影类型表:
type
●用户信息相关的表:
用户信息表user,评论信息表Comments
2.4.2非关系型数据库
我们使用非关系型数据库,具体一点,是键值对模式的OracleNosql存储一些不需实时访问、修改的且数据量巨大的内容:
用户行为信息。
activityBook
图2-3行为记录数据格式图
2.5功能需求
2.5.1功能划分
●前台用户
前台用户无需登录即可访问主页、查询电影基本及详细信息。
前台用户需要登陆后才可进行评论、观影的动作。
前台用户登录后开始记录其搜索电影,观看电影,评价电影的行为。
●后台用户
后台用户必须先登录才可以进行后续操作。
后台用户可以管理电影基本信息。
增加电影,删除电影。
2.5.2功能描述
●前台用户登录
前台用户登录以便于系统管理,并进行需要个人信息的相关活动,前台用户输入正确的用户名密码方可登录。
网站后台需要对密码进行加密。
●用户查看推荐电影
前台用户登陆后并已进行一定数量的浏览、评价操作,系统可以据此计算出推荐电影。
●记录用户行为
前台用户登录后其搜索、浏览、评价电影的行为会被记录。
2.6性能需求
2.6.1.数据格式要求
用户名、密码出于安全性考虑不能太短,且密码需要是复杂密码。
用户评论不能过短或者没有评分。
2.6.2.系统安全性要求
①真实性要求:
能对信息、实体的真实性进行鉴别。
②机密性要求:
保证信息不被泄露给非授权的人或实体。
③完整性要求:
保证数据的一致性,防止数据被非授权建立、修改和破坏。
④可用性要求:
保证合法用户对信息和资源的使用不会被不正当的拒绝。
不可否认要求:
建立有效的责任机制,防止实体否认其行为。
可控性要求:
能控制使用资源的人或实体的使用方式。
2.6.3.故障处理要求
软、硬件故障:
1.用户所使用电脑的系统有问题,或者浏览器有问题。
2.数据库有问题也无法正常使用
3.内存太小会影响运行速度
4.对于各类突发事件的要注意避免
5.对于电脑的存储量要随时关注,以免出现存储量不足的情况
2.6.4.时间限制
网页响应时间应保持在1秒以内,更新处理时间应保持在3秒内,网站服务器运行应尽量保持永不宕机。
2.6.5.其他性能要求
1.保密性:
系统数据要做好保密设施,以免重要数据的丢失或者盗取。
2.简洁性:
用户的操作界面必须做到简单明了,不能有太复杂的设置或者操作。
3.可更新性:
对于系统可以根据客户需要进行更新,维护等操作,扩展其功能,并使系统稳定。
4.可转换性:
只要系统能保证环境部署成功,并且网络正常,就能保证系统的正常运行。
第三章系统概要设计
3.1引言
3.1.1编写目的
本阶段主要负责完成程序体系结构的设计,明确程序的模块组成以及模块设计的关系。
设计过程基于需求分析阶段得到的数据流图。
概要设计的主要任务是把需求分析得到的数据流图进行细化,转换为软件结构和数据结构。
读者群为进行系统设计开发的项目组成员,使得项目组内成员对整个系统的主要功能以及其概要的实现手段产生一个宏观的把握,是系统设计的根本依据。
3.1.2项目背景
本项目的名称为mice书城概要设计说明书,主要功能为给用户提供一个进行网上电影查询、浏览、购买的电子商务平台。
系统具有注册、注销、查询电影、查看电影详细信息、添加到购物车、下订单、查看购物车、查看订单、电影评论以及电影推荐的特色功能。
3.2总体设计
3.2.1接口设计
遵循TCP/IP协议进行面向连接的可靠数据的传输。
3.2.2架构设计
主体采用C/S架构,不同的用户通过浏览器共同访问服务器上的中心数据库。
网站后台采用SpringMVC4.0架构来实现,系统层次结构如图3-3所示
3.2.3基本设计概念和处理流程
●负责网站基础功能的包
Modelpackage是各种数据进行封装的类的集合
Servicepackage是集合所有数据库访问的操作
Respositorypackage用于与数据库进行交互
Controllerpackage负责处理用户访问
Jsp页面是给用户进行展示
●负责网站用户行为记录的包
Nosql.Repository包用于将数据存储到nosql数据库
Nosql.Model包负责将用户行为转换成Jason格式
Nosql.Pojo存储用户行为的枚举类型
3.2.4功能需求与各模块之间关系
总用例图
总用例图见图3-1
网站后台处理3-2
●管理员登录
描述:
用户可以输入用户名、密码以进行后续操作。
参与者:
后台用户
●添加电影类型
描述:
管理员可以对电影类型进行增删改查。
用户的类图如3-3
管理员类图如图3-4
●记录管理员行为
描述:
管理员登陆后可以对电影类型进行增删改查
参与者:
管理员用户
图3-1总用例图
图3-2网站后台处理
类图
图3-3用户类图
图3-4管理员类图
图3-3网站后台处理流程
3.3数据字典
3.3.1数据信息表格
表3-1电影相关表格
表名
备注
movie
电影基本信息表
movieType
电影类别信息表
表3-2movie电影基本信息表
类型
默认值
是否索引
是否为空
说明
Id
int
主键
name
Varchar(50)
电影名
Introduction
Varchar(50)
简介
level
int
级别
0普通1VIP
picture
Varchar(50)
封面
Type
Varchar(30)
类型
state
int
状态
0待上映
1热映中
2下架
3删除
表3-3Book_Type电影类别信息表
类型
默认值
是否索引
是否为空
说明
Id
int
否
主键
0vip
1免费
2全部
3热播榜
4新上线
5好评榜
6正片
7预告片
8微电影
9喜剧
10动作
11悬疑
12惊悚
13恐怖
14科幻
15歌舞
16动画
3.3.2用户信息表格
表3-5用户相关表格
表名
备注
User
用户信息表
Comments
评论信息表
回复信息表
Scan
浏览记录表
表3-6管理员信息表
表3-7用户信息表
类型
默认值
是否索引
是否为空
说明
Id
int
主键
Username
Varchar(30)
用户名
password
Varchar(40)
密码
Varchar(30)
是
邮箱
createdate
datetime
创建日期
type
Varchar(30)
用户类型
0普通用户
1vip用户
timeline
datetime
Vip截止时间
表3-8评论信息表
类型
默认值
是否索引
是否为空
说明
Id
int
主键
User_id
int
主键,外键
Movie_id
int
主键,外键
grade
int
评分
content
Varchar(100)
评论内容
Discuss_time
datetime
评论日期
表3-9回复信息表
类型
默认值
是否索引
是否为空
说明
Id
int
主键
admin_Id
int
主键,外键
User_id
int
主键,外键
Discuss_id
int
主键,外键
Reply_content
Varchar(100)
回复内容
Reply_time
datetime
回复日期
表3-8Scan浏览记录表
观赏
类型
默认值
是否索引
是否为空
说明
Id
int
主键
User_id
int
主键,外键
Movie_id
int
主键,外键
Type_id
int
类型
viewtime
datetime
观赏日期
3.3.3管理员信息表格
表3-9管理员相关表格
表名
备注
Admin
管理员表
表3-10Admin管理员表
类型
默认值
是否索引
是否为空
说明
Id
int
主键
Username
Varchar(30)
用户名
password
Varchar(40)
密码
truename
Varchar(30)
真实姓名
Varchar(30)
是
邮箱
createdate
datetime
创建日期
3.4ER图
图4-1ER图1
ER图2
第四章系统详细设计
4.1编写目的
该详细设计文档编写的目的是旨在推动本项目开发的开发活动,促进开发过程中形式的规范化,对在线观影系统这个项目的各个模块进行细化的分工设计,使设计开发人员在阅读此文档之后能够以一种统一规范的方式和思路对此开发项目进行规范化模块化的设计编写,从而节省制作项目文档和系统开发的时间,降低该系统在实现过程中可能出现的风险,使得系统设计资料更加全面,设计的分工与计划具有更高的规范性与全面性,从而更加利于系统的实现、测试、维护、版本升级等。
4.2设计说明
4.2.1用户登录设计
●功能
用户碰到需要登录之后才能完成的功能或者点击登陆后进入登陆界面,用户输入正确的用户名密码后可以进行后续操作。
●时序图
图4-1用户登录时序图
●活动图
图4-2用户登录活动图
4.2.2电影推荐设计
●功能
用户登录之后可以点击位于主页的电影推荐查看系统推荐的相似用户也喜爱的电影。
●时序图
图4-3电影推荐时序图
●活动图
图4-4电影推荐活动图
4.2.3管理员行为记录设计
●功能
管理员登陆后台后可以进行电影类别的增删改,对电影内容的的修改
●时序图
图4-5管理员登录后台系统时序图
管理员发布电影
电影上架下架处理
●活动图
电影推荐活动图
管理员活动图
4.2.4页面详细设计
主页
用户在使用本网站时出现的第一个页面,主要用作显示网站信息,广告,相关推荐以及电影分类主页上的相关部分包括中部导航栏(电影分类),顶部的搜索框,页面左侧的网站logo,部的相关推荐部分以及底部的网站信息。
管理员登录页面
已授权的管理员可以在网站的登录页面输入用户名和密码,所输入的用户名和密码会与数据库中的数据进行匹配,匹配成功则显示登陆成功,可以使用更多网站提供的功能;若匹配不成功则显示登录失败。
登陆成功后可以对电影类别进行增删改查。
电影详情页面
用户点击进入电影详情页面后可以在此页面中浏览影片的详细信息,包括导演、主演、剧情简介、用户评论等,并且可以发表对本影片的评分与评论。
影片详情页面相关部分包括顶部导航栏,导航栏下方的影片图片,导演,上线时间,主演,点击电影图片方可观看影片。
此页面中的用户评论部分,分页部分,发表评论部分,评分部分以及“提交”按钮。
4.2.5电影搜索功能
●功能
用户登录之后可以搜索自己想要的电影,可以通过不完整的电影名字或导演名字搜索
●时序图
图4-10电影搜索时序图
4.2.6管理员模块
模块功能:
管理员在登录后,查看电影详情时,可以增添新的电影,可以根据需要对相关电影的信息进行更改保存,例如:
添加电影,修改电影简介,上线时间,电影类型等。
时序图:
电影查询:
图4-11电影查询时序图
电影修改:
图4-11电影查询时序图
电影增添:
图4-11电影增加时序图
活动图:
图4-11管理员后台操作活动图
管理员在登录后,查看电影详情时,如果有新的电影上映,可以增添新的电影,只需选择电影增添并加入电影的基本信息,保存后即可在网站中加入新电影。
可以根据需要对相关电影的信息进行更改保存,例如:
修改电影介绍,修改后需点击修改然后就可以看到电影修改成功。
第五章系统实现
5.1配置操作系统环境
1.安装VMwareWorkstation
2.下载CentOS-6.6-i386-bin-DVD1.iso
5.2.Mysql配置
●初始化
执行mysql.sql创建movie数据库并导入数据,见图5-1
图5-1
图5-6
5.3配置Hadoop
首先为3台虚拟机规划好IP地址,我分配的为192.168.116.100master192.168.116.101slave1192.168.116.102然后将hadoop安装包导入到xshell,同时利用xftp这个文件传输软件将hadoop安装包导入到虚拟机中,然后修改hadoop中的配置文件hadoop-env.sh,core-site.xml,hdfs-site.xml等,然后配置互信,首先用ssh-keygen为各个节点生成秘钥,然后用ssh-copy-idmaster,ssh-copy-idslave1,ssh-copy-idslave2命令在master节点配置互信,然后分别在slave1,slave2用ssh-copy-idmaster命令和master节点建立互信。
5.4配置map_reduce
MapReduce——MapReduce是Hadoop的主要执行框架,它是一个用于分布式并行数据处理的编程模型,将作业分为mapping阶段和reduce阶段。
开发人员谓Hadoop编写MapReduce作业,并使用HDFS中存储的数据,而HDFS可以保证快速的数据访问。
鉴于MapReduce作业的特性,Hadoop以并行的方式将处理过程移向数据。
MapReduce使得Hadoop可以最大化利用CPU。
5.5HDFS
(Hadoopdistributefilesystem)——Hadoop生态系统的基础组件Hadoop分布式文件系统。
它是其他一些工具的基础HDFS的机制是将大量数据分布到计算机集群上,数据一次写入,但可以多次读取用于分析。
HDFS让Hadoop可以最大化利用磁盘。
5.6Hive
主要修改的配置文件是hive-env.sh,hive扮演数据仓库的角色,主要应用于静态的结构以及需要经常分析的工作中。
类似于SQL的高级语言,用于执行对存储在Hadoop中数据的查询,Hive允许不熟悉MapReduce的开发人员编写数据查询语句,它会将翻译为Hadoop中的MapReduce作业。
类似于Pig。
Hive是一个抽象层,适合于较熟悉SQL而不是java编程的数据库分析师。
5.7Zookeeper
Zookeeper是Hadoop的分布式协调服务。
主要配置文件有zoo.cfg,Zookeeper被设计成可以在机器集群上运行,是一个具有高度可用性的服务,用于Hadoop操作的管理,而且很多Hadoop组件都依赖它。
对于HA集群而言,确保同一时刻只有一个NameNode处于active状态是至关重要的。
否则,两个NameNode的数据状态就会产生分歧,可能丢失数据,或者产生错误的结果。
为了保证这点,JNs必须确保同一时刻只有一个NameNode可以向自己写数据。
5.8HBase
一个构建在HDFS之上的面向列的NoSql数据库,HBase用于对打量数据进行快速读取/写入。
主要配置文件有hbase-env.sh,regionservers,HBase将Zookeeper用于自身的管理,以保证其所有组件都正在运行。
HBase使得Hadoop可以最大化利用内存。
hbase是一个开源的,分布式的,可扩展的,基于版本的,面向列,非关系型的hadoop数据库。
可以实现对大数据进行随机,实时读写。
可以直接使用本地文件系统也可使用Hadoop的HDFS文件存储系统。
为了提高数据的可靠性和系统的健壮性,并且发挥HBase处理大型数据的能力,还是使用HDFS作为文件存储系统更佳。
HBase存储的是松散型数据,具体来说,HBase存储的数据从逻辑上看就是一张很大的表,并且它的数据列可以根据需要动态增加。
每一个cell中的数据又可以有多个版本(通过时间戳来区别)
5.9Sqoop和Flume
可改进数据的互操作性和其余部分。
Sqoop功能主要是从关系数据库导入数据到Hadoop,并可直接导入到HFDS或Hive。
而Flume设计旨在直接将流数据或日志数据导入HDFS。
5.10项目部署
本项目寄托于java,首先现将项目导入到webapps中,然后在hadoop中启动mysql,然后进入到t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电影 UML 概要 设计