系统开发实训报告模板.docx
- 文档编号:30691017
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:48
- 大小:609.69KB
系统开发实训报告模板.docx
《系统开发实训报告模板.docx》由会员分享,可在线阅读,更多相关《系统开发实训报告模板.docx(48页珍藏版)》请在冰豆网上搜索。
系统开发实训报告模板
实
训
报
告
姓名
学院信息工程学院
专业计算机信息管理
班级
指导教师
提交时间
题目:
碟片出租管理系统系统设置与维护子系统
一绪论
1.1社会背景
随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业比不可少的工具,特比是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,不入信息化时代,有巨大的数据信息等待加工处理和传输,这是得对数据库的进一步开发和利用显得尤为迫切。
在开发过程中,我们正对当前各碟片出租管理的特点和技术人员的实际水平,采用Windows图形用户界面这一易学和操作环境,在系统设计过程中,我们尽量才用易懂易读的人机界面,是用户可以再短期内完全掌握。
我们又始终把系统的正确性放在首位,力求数据的完整和处理的正确性。
在此基础上优化程序代码,加速系统运行的减少对系统的资源的占用。
1.2碟片出租背景
碟片出租系统是一个面向碟片出租者的管理信息系统。
有租借者、数据处理系统和碟片出租者三方组成。
该系统的工作目标就是要使碟片的出租能有计划第进行,以利于出租者的管理。
碟片出租组织的工作过程如下:
对于有租借请求的会员,根据他的要求将他需要的底片从收藏处提出,币哦能够登记;在归还时,清除记录,将碟片回放入收藏处。
碟片出租组织进行的是盈利性的商业活动。
碟片出租组织的业务主要是与租借者进行交换活动。
碟片出租组织的外部的联系主要有与地批判出售者的交换活动,以及与租借者的信息交换。
二系统可行性分析,开发意义与目的
2.1技术可行性分析
在IT行业中从业的工作人员一般都要求掌握计算机技术,具有一定的软硬件基础,会使用各种管理软件,编程软件,熟悉IT产品。
本系统是以VB.NET为系统前台开发工具,以SQL2005Server为后台数据库开发程序,开发人员只需熟悉这两个软件即可。
由于碟片出租管理系统对操作员计算机基础要求7不算高,只需要对操作员进行少量的培训,熟练系统的功能和使用方法就能够操作系统。
2.2经济可行性分析
碟片出租管理系统面向的是中小碟片出租商店,数据量并不是很大,操作人员也并不多,所以此系统就可以基于一台服务器和一台PC上开发。
只需投入少量的人力,物力即可。
管理系统是一个信息化,智能化和先进管理理念的集合体。
而管理是一个动态过程,在其运行过程中要采取多项措施。
新系统带来的经济效益其最主要表现在就是减少了管理费用和人力开支,节省大量时间以及提供宝贵资料。
2.3操作可行性分析
本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。
而整个碟片管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。
综合以上三方面,该系统具有很搞的开发可行性,无论是从技术上或者经济上海事操作上。
因此,可以设计该系统的数据流程图,简历数据字典。
本课题重点研究系统设置与维护模块。
主要研究的目的及内容:
主要完成对管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。
并最终实现一个能够满足音像店碟片管理的管理信息系统。
三系统分析与设计
3.1系统分析
3.1.1系统总体结构图
3.1.2各模块设计流程图
数据库连接配置设计流程如图:
用户登录模块设计流程图如下:
用户管理模块设计流程图如下:
高级选项模块设计流程图:
获取参数
3.2系统开发的意义与目的
系统设置与维护子系统的开发有这重要的意义,这是开发整个碟片出租管理系统前提,也是不可缺少的一部分。
此子系统的开发具有很强的实用性。
具体包括以下功能:
1:
数据库设计
2:
数据库连接配置模块
3:
用户登录模块设计
4:
用户管理模块设计
对用户操作有添加,修改,删除。
5:
高级选项模块设计
包括租碟期限、租金以及超期罚金参数设置。
碟片出租管理系统的开发是以数据为基础,所以进行数据库的设计是此子系统的目的之;目的之二:
数据库连接配置模块设计是为了保证数据库的安全,以及系统日后维护的简便性;目的之三:
对碟片系统进行操作的人员进行验证,以保证数据不被没操作权限的人恶意修改,目的之四:
高级选项的参数设置,可以使商家根据市场经济情况调整租碟情况。
3.3数据库设计
设计数据库时应充分了解用户各个方面的需求,包括现有的一级将来可能增加的需求,数据库设计包括以下步骤:
3.3.1数据库需求分析
用户需求具体体现在对各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。
手机基本数据、数据结构数据处理的流程,组成一份详细的数据字典为后面的具体设计打下基础。
针对一般影碟管理系统的需求,并通过对影碟管理工作过程的内容和数据流程分析设计出下面的数据项和数据结构:
◆用户信息:
用户名、密码及权限级别;
◆会员信息:
包括会员编号、姓名、性别、身份证、联系方式、金额、注册时间、、租碟数量及延期数量;
◆碟片片信息:
包括碟片编号、碟片片名、导演、主演、影片类型、产地、播放格式、上影日期、应交押金、库存总数及碟片说明;
◆碟片出租信息:
包括碟片编号、会员号、借出日期、应还日期及押金;
◆碟片归还信息:
碟片编号、会员号、归还日期、租金、延期天数及应交押金;
3.3.2数据库概念结构设计
得到上面得数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及他们之间的关系为以后的逻辑结构打下基础
根据设计规划出实体集有:
用户信息实体、会员信息实体、碟片信息实体、碟片出租信息实体、碟片归还信息实体,各实体的具体描述ER图如下:
◆用户信息实体ER图
◆会员信息实体ER图
◆碟片信息实体ER图
◆碟片出租信息实体ER图
◆碟片归还信息实体ER图
3.3.3数据库逻辑结构设计
基于上面实体之间的关系,即可形成数据库中的表之间的关系。
数据逻辑结构设计就是把数据库概念结构转化为具体的DBMS(SQL2000)数据库所支持的实际数据模型。
影碟管理系统数据库中的各个表格的设计结果如下面的表格所示:
表3.1.1用户信息-“用户信息表”
列名
数据类型
允许空
说明
用户名
Varchar(20)
否
主键
密码
Varchar(255)
否
权限级别
Varchar
(2)
否
表3.1.2会员信息–“会员信息表”
列名
数据类型
允许空
说明
会员号
Varchar(20)
否
主键
姓名
Varchar(20)
否
性别
Char
(2)
是
身份证
Char(18)
否
联系方式
Cahr(11)
是
金额
Money
是
注册时间
Datetime
是
默认值绑定dt
租碟数量
Int
是
默认cs
延期次数
int
是
默认cs
表3.1.3碟片信息–“碟片信息表”
列名
数据类型
允许空
说明
碟片编号
Varchar(20)
否
主键
碟片片名
Varchar(20)
否
导演
Varchar(20)
是
主演
Varchar(50)
是
影片类型
Varchar(10)
是
产地
Varchar(10)
是
播放格式
char(6)
是
上影日期
Varchar(20)
是
默认绑定sy
应交押金
Money
是
库存总数
Int
是
碟片说明
Varchar(10)
是
表3.1.4碟片出租信息-“碟片出租情况表”
列名
数据类型
允许空
说明
碟片编号
Varchar(20)
否
主键
会员号
Varchar(20)
否
主键
借出日期
Datetime
否
默认绑定dt
应还日期
Datetime
否
默认绑定gdt
租金
money
默认绑定zj
押金
money
否
表3.1.5碟片归还信息–“碟片归还情况表”
列名
数据类型
允许空
说明
碟片编号
Varchar(20)
否
会员号
Varchar(20)
否
归还日期
datetime
否
默认绑定dt
延期天数
Int
是
应交金额
money
否
四数据字典
4.1文件名及数据解析
◆文件名:
用户信息表
组成:
用户名,密码,权限级别;
解析:
用户名和密码是进入系统的身份验证,
权限级别分两一个级别即高和低,高级别可使用系统所有功能,低级别能使用除用户管理和会员管理两个功能外的其他功能。
◆文件名:
会员信息表
组成:
会员号、姓名、性别、身份证、联系方式、金额、注册时间、租碟数量及延期次数;
解析:
金额—此系统可为用户充值,当用户归还碟片时,应交金额从金额里扣除(用户也可付现金)
租碟数量—会员自注册到现在所租碟总数;
延期次数—当会员归还日期超过应还日期时,延期次数加1
◆文件名:
碟片信息表
组成:
碟片编号、碟片片名、导演、主演、影片类型、产地、播放格式、上影日期、应交押金、库存总数及碟片说明
解析:
影片类型即爱情片、动作片、科幻片等
产地即影片属于港台还是内地还是欧美等
播放格式即DVD或VCD
◆文件名:
碟片出租情况表
组成:
碟片编号、会员号、借出日期、应还日期及押金
解析:
借出日期与应还日期间隔为2个星期即14天
押金可由工作人员自行设定
◆文件名:
碟片归还情况表
组成:
碟片编号、会员号、归还日期、租金、延期天数、应交金额
解析:
租金为规定时间内租每份碟交付的金额,可由工作人员设定;
延期天数即应还日期与归还日期的间隔,若是归还日期小于应还日期则延期天数为0;
应交金额=租金+(延期天数*M)M为工作人员设定的值,延期每天应交的金额。
4.2SQL语句解析
◆视图:
未还碟片(此视图用来对已出租的碟片信息进行统计,在统计模块中将用到);
已还底片(此视图用来对已归还的碟片信息进行统计,在统计模块中将用到)
◆默认值:
dt(为租借日期);
Gdt(应还日期);
Cs(租碟次数,延期次数);
Sy(上影时间);
Zj(租金)
◆触发器:
zc1此触发器作用为当归还情况表有新纪录添加时,删除碟片出租情况表里相应的记录,并且从用户信息表里的金额扣掉应交的金额
◆存储过程:
reduce(当出租碟片登记成功时使用此过程可减少碟片信息表里库存总数);
Increase(当归还碟片登记成功时使用此过程可增加碟片信息表里库存总数);
Zdsl(当出租碟片登记成功时使用此过程可增加会员信息表里的租碟总数)
五系统功能模块设计
5.1数据库连接配置模块设计
作为以SQL2005Server为系统开发后台数据库,获取正确的数据库连接信息是必不可少,并且安全性也要考虑进去。
◆打开程序编程软件,新建一个名为“碟片出租管理系统“的新项目。
进行系统模块代码设计前先创建一个公共模块文件来用储存公共变量、函数及方法供后期代码详细设计随时调用:
所以在项目里面点击“添加模块“,为项目添加一个名为”Share.vb“的模块文件
进入Share.vb代码编写窗口写入如下代码:
ImportsSystem.Data.Common
ModuleShare
'加密密钥
PublickeyAsString="DPCZGL"
'指定储存数据库连接字符串的文件文件
PublicfilenameAsString=Application.StartupPath&"\DBconfig.ini"
PublicCSAsString'连接字符串
PulicfjAsDouble'罚金
PublicUserNAsString'登陆系统的用户名
#Region"添加SQL方法,何时何地练级数据库时都可以调用它,减少代码编写量!
"
PublicMyFaAsDbProviderFactory
PublicMyConnAsDbConnection
PublicMyDaAsDbDataAdapter
PublicSubSQL(ByValprovidernameAsString,ByValSqlConnAsString)
MyFa=DbProviderFactories.GetFactory(providername)
MyConn=MyFa.CreateConnection
MyConn.ConnectionString=SqlConn
MyDa=MyFa.CreateDataAdapter
EndSub
#EndRegion
#Region"创建更新数据库的方法"
PublicFunctionGX(ByValLXAsString,ByValsqlstrAsString)AsBoolean
SelectCaseLX
Case"添加"
Try
MyConn.Open()
MyDa.InsertCommand=MyConn.CreateCommand
MyDa.InsertCommand.CommandText=sqlstr
MyDa.InsertCommand.ExecuteNonQuery()
ReturnTrue
CatchexAsException
MsgBox("信息添加失败!
原因"&ex.Message,MsgBoxStyle.Information,"提示")
ReturnFalse
Finally
MyConn.Close()
EndTry
Case"删除"
Try
MyConn.Open()
MyDa.DeleteCommand=MyConn.CreateCommand
MyDa.DeleteCommand.CommandText=sqlstr
MyDa.DeleteCommand.ExecuteNonQuery()
ReturnTrue
CatchexAsException
MsgBox("信息修改失败!
原因"&ex.Message,MsgBoxStyle.Information,"提示")
ReturnFalse
Finally
MyConn.Close()
EndTry
Case"修改"
Try
MyConn.Open()
MyDa.UpdateCommand=MyConn.CreateCommand
MyDa.UpdateCommand.CommandText=sqlstr
MyDa.UpdateCommand.ExecuteNonQuery()
ReturnTrue
CatchexAsException
MsgBox("信息删除失败!
原因"&ex.Message,MsgBoxStyle.Information,"提示")
ReturnFalse
Finally
MyConn.Close()
EndTry
EndSelect
EndFunction
#EndRegion
EndModule
◆为了数据库的安全,我们要用的加密类,所以在项目里面点击“添加类“,为项目添加一个类文件”CryptInfo.vb“,此加密类使用的加密技术为私钥对称加密。
为类文件”CryptInfo.vb”编写如下代码:
‘引入命名空间
ImportsSystem.Security.Cryptography
ImportsSystem.Text
ImportsSystem.IO
PublicClassCryptInfo
'添加用来储存3DES加密服务提供程序的私有字段Tripledes
PrivateTripledesAsNewTripleDESCryptoServiceProvider
'添加私有方法TruncateHash,用于从指定密钥的哈希函数创建指定长度的字节数
'参数Key为制定密钥,length为指定长度
PrivateFunctionTruncatehash(ByValKeyAsString,ByValLengthAsInteger)AsByte()
'Sha1初始化SHA1CrytoServiceProvider的新实例
DimSha1AsNewSHA1CryptoServiceProvider
'Keybytes数组用来储存从Key中编码获得的一个字节序列
DimKeybytes()AsByte=Encoding.Unicode.GetBytes(Key)
'Hash数组用户储存Keybytes的哈希值
DimHash()AsByte=Sha1.ComputeHash(Keybytes)
'重新给Hash数组分配空间
ReDimPreserveHash(Length-1)
ReturnHash
EndFunction
'添加用户初始化3DES加密服务提供程序的构造函数NEW,用key参数控制加密法EncrytString和解密方法DecrytString
SubNew(ByValKeyAsString)
'利用函数Truncatehash获取的哈希值作为加密字符串加密的正真密钥以及设置初始化向量IV
Tripledes.Key=Truncatehash(Key,Tripledes.KeySize\8)
Tripledes.IV=Truncatehash("",Tripledes.BlockSize\8)
EndSub
'添加为字符串加密的函数Encrytstring,参数Mytext是要加密的字符串
PublicFunctionEncryptstring(ByValMytextAsString)AsString
Try
'Mytextbytes储存从Mytext编码获得的一个字节序列
DimMytextbytes()AsByte=Encoding.Unicode.GetBytes(Mytext)
'实例化Memorystream类,此类是用来创建其支持储存区为内存的流
DimMsAsNewMemoryStream
'实例化CryptoStream类
DimEncstreamAsNewCryptoStream(Ms,Tripledes.CreateEncryptor,CryptoStreamMode.Write)
'利用CryptoStream的新实例Encstream将一个字节序列写入当前流
Encstream.Write(Mytextbytes,0,Mytextbytes.Length)
'用缓冲区的当前状态跟新基础数据源和储存区,随后清除缓冲区
Encstream.FlushFinalBlock()
'这里函数返回的是将加密后的流写入一字节数组,并将其转换为System.String数据类型的字符串
'即返回的是加密后的字符串
ReturnConvert.ToBase64String(Ms.ToArray)
CatchexAsException
MsgBox("信息加密失败!
"&ex.Message,MsgBoxStyle.OkOnly,"提示错误")
ReturnNothing
EndTry
EndFunction
'添加为字符串解密的函数Decrytptstring,参数Mytext为要解密的字符串
PublicFunctionDecrytptstring(ByValMytextAsString)AsString
Try
'说明请参考加密函数的说明
DimMytextbytes()AsByte=Convert.FromBase64String(Mytext)
DimMsAsNewMemoryStream
DimDecstreamAsNewCryptoStream(Ms,Tripledes.CreateDecryptor,CryptoStreamMode.Write)
Decstream.Write(Mytextbytes,0,Mytextbytes.Length)
Decstream.FlushFinalBlock()
ReturnEncoding.Unicode.GetString(Ms.ToArray)
CatchexAsException
MsgBox("信息解密失败!
"&ex.Message,MsgBoxStyle.OkOnly,"提示错误")
ReturnNothing
EndTry
EndFunction
EndClass
◆数据库连接配置窗体设计如图:
图5.1.2
在项目里点击“添加Windows窗体“添加一个名为”DBConfig.vb“的form窗体。
在窗体中添加四个label控件,四个textbox控件以及两个button按钮
各控件属性如下:
控件名
属性名
属性值
Label1
text
服务器名:
Label2
text
数据库名:
Label3
text
登录名:
Label4
text
密码:
Button1
text
确定配置
Button2
text
取消
Textbox1
text
Nothing
Textbox2
text
Nothing
Textbox3
text
Nothing
Textbox4
text
Nothing
Textbox4
password
*
密码框对应的textbox4的password属性改为”*”
右击窗体,点击“查看代码“进入代码编写窗口代码编写如下:
因为需要对数据库连接字符串正确性进行测试所以要用到连接对象,需要引用命名空间System.Data.Common
ImportsSystem.Data.Common
PublicClassDBConfig
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimCSAsString
IfTextBox1.Text=""OrTextBox2.Text=""OrTextBox3.Text=""OrTextBox3.Text=""Then
Ms
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 开发 报告 模板