ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:761.69KB ,
资源ID:14759316      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14759316.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(推荐高校校园通自行车借还服务系统软件系统设计报告.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

推荐高校校园通自行车借还服务系统软件系统设计报告.docx

1、推荐高校校园通自行车借还服务系统软件系统设计报告软 件 系 统 设 计 报 告 题目校园通自行车借还系统专业: 班级: 小组成员: 指导教师: 职 称: xx大学计算机科学与技术学院年 月 附表3:题 目校园通自行车借还服务系统设计日期 20XX 年 9月 10日至 20XX 年 1 月 12 日小组成员在本次设计中承担的任务文档成绩可行性研究报告、系统策划、软件测试可行性研究报告、系统策划、软件测试可行性研究报告、系统策划、软件测试软件需求分析、软件测试软件需求分析、软件详细设计、编码指导教师签字: 年 月 日题目可行性研究报告作者:日期:20XX/9/28 1项目背景一骑黄红学子倚,半打驿

2、站笑脸迎。这是高校中的一道人性化的风景线校园通自行车借还服务项目。学生、教职工们可以凭借有效证件方便地在各个自行车借还点处借、还自行车。这项服务方便了学生、教职工们的出行,为之节省了一定的时间,意义深刻。然而在为全校几千学子服务的同时,我们的服务队同学却还要每天手工整理、登记和统计自行车的借还情况,工序繁杂、费时劳神。为减轻相关工作人员的负担,同时减少工作出错率、展现为同学服务的精神,我们小组决定开发一套旨在更好地为同学们服务的“校园通自行车借还服务系统”。2任务概述122.1项目目标2.1.1减轻自行车服务队同学的工作负担、节省经费。2.1.2提高自行车借还登记处理速度。2.1.3减少登记出

3、错率。2.1.4更好、更有效地为同学、教职工服务。2.2项目范围2.2.1功能:一、自行车以编号形式的录入、删除、修改、查询、检索;二、设立管理面板,使系统管理员拥有本系统数据处理的所有权限三、对自行车借还的登记;四、对借还记录进行检查以发现车辆未归还等异常情况;五、生成借还报告以指导工作人员去找回相应数量的未还自行车。2.2.2性能:本软件是基于LINUX GCC环境下字符界面的软件,采用数据文件操作作为数据记录形式,具有较好的移植性。2.2.3系统输入说明:一、输入自行车编号信息,以查询借还状态。二、输入用户有效证件。 2.2.4系统输出说明:一、即时服务自行车编号输出:对有效证件进行合法

4、性检测,同时对可借自行车通过对应编号进行检索,如果证件合法且有可用的自行车,则系统输出一个自行车编号。 二、用户借还记录报告:用于记录用户对自行车的借还信息,报告输出借还自行车的日期、当前借还次数、站点服务人员编号。本报告用于对服务工作成果的展示,按需要生成。三、每日借还总结报告文档:用于对每日服务结束后对自行车的数量的检测,先计算当前自行车的数量,发现比原来少时,输出缺少的车辆编号,以指导工作人员去找回。2.2.5基本数据流程和处理流程流程图:一、系统流程图表 1系统数据流程二、处理流程图表 2系统管理员控制流程图表 3借车处理流程图表 4还车处理流程2.2.6安全与保密:系统设立一个管理员

5、入口,负责管理自行车的借还情况和工作人员的服务情况,数据文件采用二进制文件以本系统的数据结构读写,以保密。本系统拟定的完成期限为一个月。2.3初步想法本系统为简单起见,采用了数据文件的数据储存方法,这是由于精力和时间限制所造成的。本简单版本只考虑了只有一个工作站的情况,因此,不用考虑数据文件间的同步问题。3对现有系统的分析本软件采用Linux操作系统,因为软件的设计限制比较大,所以本软件只考虑了最简单的情形。而针对这个软件简化版,在数据库设计模式上存在着不较合理的因素:校园通的服务站是有多个的,在实际中还要考虑数据的同步问题。33.1局限性受软件开发平台限制,所以本软件只考虑了最简单的单个校园

6、通工作站的情形而设计了本管理软件的简化版。其在数据库设计模式上存在着不较合理的因素:校园通的服务站是有多个的,在实际中还要考虑数据的同步问题。4所建议的系统44.1对所建议系统的说明本系统所涉及的功能、性能是基于GCC中文件操作函数上的。因此,在Linux环境下,这些功能都是可以实现的。4.2改进之处可在本软件的简化版上进一步修改,在后续的升级版本中,设计成C/S模式,在每个自行车服务站设一个终端,连接到主服务器,以实现数据间的同步。4.3可行性分析在建立所建议系统时,我们预期了将带来的影响,包括:4.3.1 经济可行性本软件采用的是字符界面操作,一方面节省了开发时间,另一方面也避免了因为开发

7、平台的限制而面临的技术难关。在经济和时间上也是符合我们小组的预算的。软件投入使用后,用户要有一定的字符界面操作适应期。由于数据储存方式简单,功能要求不高,在用户需求没有明显提高的情况下,软件的维护是易于进行的,这给用户减轻了一定的使用和维护经济负担。4.3.2技术可行性本软件采用的是字符界面操作,开发平台为Linux+QT+GCC编译器,不考虑美工因素,因此,对单纯的字符界面来说,在Linux下用GCC来编译软件项目是可行的。拟定的开发时间为4个月,经过本组详细讨论和分工下,估计开发时间的偏差不会超过3周。4.3.3运行可行性本软件主要使用对象是大学生,大学生的计算机基础是足够好的,软件的使用

8、者技术水平是可以保证的。如果只考虑单一的自行车服务工作站,本软件可以胜任这一假设下的情况。4.3.4法律可行性本软件是专用软件,具有较强的针对性。在我们的编码和设计中,除了参阅相关的资料,不涉及已存在的设计专利、不侵犯国家、学校的相关制度,因此具法律可行性。5结论经过可行性研究分析后,我们得出如下结论:“校园通自行车借还服务系统”在最简化的情况下具有经济、技术、运行、法律可行性,该项目可以立刻开始进行。题目软件需求说明书作者:日期:20XX/9/291需求分析概述本系统的工作范围为在校园里,提供了自行车借还、管理等服务,主要服务对象为学校里的师生们。目的是为服务站的工作人员、师生提供进一步的便

9、利,使工作、使用更加有效和愉快。本软件采用Linux下字符界面管理面板,C语言中数据文件操作作为数据存取方法,形成一个具有简单数据库应用功能的完整系统。2数据流图 566.1顶层数据流图图表 1顶层数据流图6.2分层数据流图6.2.1二层数据流图图表 2二层数据流图6.2.2三层数据流图图表 3借车子系统图表 4还车子系统图表 5每日自行车整顿子系统3数据字典77.1数据元素下面逐项叙述数据流图中涉及到的基本数据元素。表1:“自行车编号”名称自行车编号别名BID取值类型字符串长度4个字节描述自行车的唯一编号,作为关键字。位置自行车状态表、用户使用记录表表2:“用户编号”名称用户编号别名UID取

10、值类型字符串长度4个字节描述用户的唯一编号,作为关键字。位置用户使用记录表、用户列表表3:“管理员编号”名称管理员编号别名AID取值类型字符串长度2个字节描述管理员的唯一编号,作为关键字。位置管理员信息表7.2数据流下面逐项叙述数据流图中的数据流。表4:“自行车状态表”名称自行车状态表描述自行车是否已经被借出来源1.2,1.3,3.2去处2.2,无,2.1组成自行车编号+借/还标记位+当前借出用户编号+借出时间流程量无表5:“用户使用记录表”名称用户使用记录表描述记录用户对自行车的使用情况来源1.3,2.2,3.2去处无,无组成用户编号+借出自行车编号+借/还标记位+借出时间流程量无表6:“未

11、归还自行车表”名称未归还自行车表描述报告未归还自行车的编号来源3.1去处服务队组成自行车编号+借出时间流程量无7.3数据存储下面逐项叙述数据流图中的数据存储。表6:“自行车状态表”名称自行车状态表输入数据流自行车的编号输出数据流对应编号自行车借还状态描述某编号自行车的借还状态组成自行车编号+借/还标志位+当前借出用户编号+借出时间组织方式按借出时间,编号由小到大排列表7:“用户使用记录表”名称用户使用记录表输入数据流用户编号输出数据流该用户是否有未还车描述及时了解用户借还车情况组成用户编号+自行车编号+借/还标志位+借出时间+当前诚信度组织方式按借出时间,编号由小到大排列4加工逻辑描述下面逐项

12、叙述数据流图中所提出的功能要求。表8:“审查有效性”名称审查有效性编号1.1,2.1输入用户编号输出合法用户,非法用户功能描述说明该用户是否合法加工处理若发现没有该编号的用户,则说明该用户是非法的表9:“可用自行车编号,自行车状态更新”名称可用自行车编号,自行车状态更新编号1.2输入自行车状态表输出最先得到的一辆可用自行车功能描述为用户提供可用的自行车,并及时更新自行车状态表加工处理在自行车状态表中检索,发现借出标志位为0,表明该车可用,即找到了一辆可用自行车。借出后更新标志位。表10:“用户使用记录、自行车状态更新”名称用户使用记录、自行车状态更新编号1.3,2.2输入分别输入用户编号、自行

13、车编号输出该编号的用户自行车使用情况功能描述可生成未归还自行车的用户编号;该编号自行车借还状态的更新加工处理对每个用户按编号进行检索,发现借出标志位为1,表明尚未归还,输出到报告中表11:“当日未归还自行车”名称当日未归还自行车编号3.1输入自行车使用状态表输出当日未归还的自行车编号,即表F4.功能描述查询当日未归还的自行车加工处理对每个自行车按编号进行检索,发现借出标志位为1,表明尚未归还,输出到报告中表12:“用户诚信记录更新修改、附加对应惩罚策略”名称用户诚信记录更新修改、附加对应惩罚策略编号3.2输入自行车使用状态表、用户列表输出用户诚信分数,对应惩罚策略功能描述根据用户能否及时借还的

14、情况,制定对策以促使用户及时归还加工处理先进行3.1,发现有未归还自行车后,由输出结果可知未归还自行车的用户,再结合用户列表可找到该用户的详细信息,即可对用户的诚信记录进行更新。“诚信分数”是拖借自行车的次数,累加次数达到一定值后,可由相关“惩罚策略”进行对该用户的惩罚。 题目概要设计说明书作者:日期:20XX.1.1目录1软件结构设计88.1软件结构为进一步说明本系统的事务流程,我们作出了本系统的事务型软件结构图(SC图)如下:图表 1系统事务型 SC图下面使用IPO图扼要说明每个模块的标识符和功能:图表 2借车模块IPO图图表 3还车模块IPO图图表 4每日整顿模块IPO图8.2功能需求与

15、模块的关系为说明各项功能需求的实现同主要模块的分配关系,下面以矩阵图说明:借车模块还车模块每日整顿模块登陆验证查询可用自行车更新自行车状态更新用户使用记录生成未归还车辆8.3人工处理过程8.3.1人工借还 本软件系统要在服务站设置值班人员,用户来借还车时,为用户派用或者回收车辆。11.11.21.38.3.2人工寻车每日整顿车辆时,要求值班人员根据当日未归还车辆表去看看找回缺失车辆。8.4尚未解决的问题8.4.1多服务站模式问题本系统只能应用于只有一个自行车服务站的情况,对于多个服务站,本系统暂时无法胜任。8.4.2智能化程度问题本系统还未实现全自动的智能借还车辆模式,需要工作人员时刻在服务站

16、进行人工服务。2软件接口设计99.1用户接口9.1.1登陆界面22.1输入用户名,为一定数位的字符串数据。系统应答该用户是否存在,如果是管理员,还要判断密码是否正确。9.1.2数据表显示界面对产生的数据表进行显示,系统应答显示包括当前的用户使用状态表;当前自行车状态表;当前活动的用户列表。表结构请参考相关列表说明。9.2外部接口本系统同外界的接口安排有硬件系统的普通电脑支撑设备, 软件系统的Linux操作系统,搭配GCC编译器支持。3数据库结构设计1010.1概念结构设计图表 5系统ER图10.2逻辑结构设计下面是各数据项的逻辑结构设计说明实体:用户User名称用户别名User取值类型自定义结

17、构体长度2+30个字节描述内含用户编号、用户资料说明实体:使用记录名称使用记录别名User_Using取值类型自定义结构体长度4+20+20+4个字节描述内含用户编号、借出时间、归还时间、违纪次数实体:服务人员名称服务人员别名Admin取值类型结构体长度2+20个字节描述服务编号、值班时间实体:自行车名称自行车别名Bicycle取值类型自定义结构体长度4+4+4+1字节描述内含自行车编号、借出时间、归还时间、借还标志位10.3物理结构设计为方便程序员编写程序,建立系统程序员视图说明如下:数据以二进制方式储存,随机读写机制进行读写;一个便于操作数据文件的数据库引擎;视图如下:图表 6程序员数据库

18、视图4运用设计1111.1数据字典设计在数据字典设计中,我们充分考虑了实际情况,如自行车数量、用户数量等。详细设计请参考已有陈述的相关文档。11.2安全保密设计我们以二进制数据文件结合数据结构体读写的方式进行数据的安全保密,外人即使拿到本系统的数据库物理文件,不知道其数据结构,也不容易轻易地进行数据偷窥。题目详细设计说明书作者:日期:20XX.1.11目录1详细设计任务1212.1模块算法和数据组织在详细设计阶段,我们按之前的概要设计,结合实际的编程可实现性,设计了4个模块,模块对应共同的数据结构,说明如下:struct Bicycle char number4; char lendtime2

19、0;/借出时间 char returntime6;/即将归还的时间 int isused;/标志位,是否占用;/自行车实体struct Admin char number2; char sn8;/最多8位密码 char worktime20;/值班时间;/服务人员实体struct User char number4; char Property30;/用户属性描述;/用户列表struct User_Using char number4; char lendtime20;/借出时间 char returntime20;/归还时间 unsigned int disobey;/违纪次数;/用户用车记

20、录12.1.1登陆或者验证模块本模块为一验证函数,函数说明如下:int Logins(char *dbstr,struct Admin *admin,struct User *user)算法中设置dbstr为数据文件路径字符串,admin,user为验证的信息。当结构体指针admin,user非空时,表示验证的是管理员,用户身份。验证管理员时,除了要验证是否存在该角色编号外,还要验证管理员的密码是否正确。验证通过时,返回1,否则返回0.12.1.2注册模块本模块提供了注册用户、管理员、添加新的自行车的功能,函数体如下:int Register(char *dbstr,struct Admin

21、*admin,struct User *user,struct Bicycle *bike)结构体指针非空时说明是要注册的角色。注册成功返回1,否则返回0.12.1.3用户借车模块本模块提供了找到自行车状态表中最近一辆可用的自行车实体和实时修改相应数据文件(自行车状态表、用户使用记录表)的功能。函数体说明如下:struct Bicycle *LendBike(char *db_bikestr,char *db_usingstr,char *user_number)通过自行车状态表的数据文件路径,查询可用的自行车,并修改相应数据表数据,将结果返回。如果没有可用的自行车,则返回空指针。12.1.4

22、用户还车模块本模块提供了用户归还自行车时实时修改相应数据文件(自行车状态表、用户使用记录表)的功能。函数体说明如下:int ReturnBike(char *db_bikestr,char db_usingstr,char *user_number)db_bikestr为自行车状态表数据文件路径,db_usingstr为用户使用记录数据文件路径,user_number表明还车用户编号。归还成功返回1,否则返回0。12.2模块测试12.2.1登陆或者验证模块本模块主要验证数据文件是否正确被打开和读取,用条件覆盖法,输入已存在的用户和不存在的用户编号进行测试,期望结果应为登陆成功和登陆失败,并给出

23、相应的提示界面。12.2.2注册模块本模块主要验证数据文件是否正确被打开和读写,直接选择相应的注册实例进行测试。12.2.3用户借、还车模块本模块涉及的数据文件操作比较多,主要测试数据文件是否被正确连接、读写和更新。采用模拟借还车实例进行测试,看函数返回的结果是否正确。2详细设计工具1313.1模块间协作和运行流程为更好地表达系统运行时逻辑,体现模块间协作和运行的关系,设计系统程序流程图如下:图表 1系统程序流程图13.2模块代码管理软件为体现软件工程化观点,我们小组运用代码管理软件进行代码编写、测试的方法。采用的软件有Visual SVN Server 2.1.4; TortoiseSVN1

24、.6.5; VisualSVN-Server-Trac-2.1.1。以下为小组代码管理的截图:13.2.1我们的代码库图表 2 VisualSVN代码库13.2.2上传程序文档图表 3上传程序文档13.2.3版本控制图表4版本控制13.2.4利用Trac代码在线管理图表 5 Trac代码在线管理13.2.5代码更新即时知道图表 6代码更新3人机界面设计1414.1界面简介因本系统是基于Linux+Gcc的环境,所以界面采用简约的类DOS界面,可在linux终端中输入运行指令即可使用。14.2界面截图14.2.1初始运行时图表 3初始运行时14.2.2管理员登陆图表4验证通过图表 5验证不通过1

25、4.2.3查询自行车状态图表 6查询自行车状态此处要说明的是由于C语言中文件操作特性,读到最后一个数据项时会重复读一次才令文件结束标志位有效。14.2.4用户借车测试图表 8管理员尚未登陆时图表 9管理员已经登陆时图表 10用户未注册用户来借车时有两步判断,先判断管理员是否已经登陆,再判断该用户是否存在。14.2.5其他说明因时间仓促,本系统所陈述的功能尚未完全完成。以上界面截图仅是本系统一部分的功能截图,作测试用。4个人设计总结1515.1Captain:15.2作为本次团队性项目的Captain,从可行性分析到最后的详细设计、编码测试等,我都以身作则,督促和安排了各种工作的进行。在小组中又

26、作为惟一一个程序员的情况下,依然积极地参与到队员们尚未解决的问题中,大家一起讨论,拿出解决问题的方法和结论。虽然在其他课程较多的艰苦情况下,我们依然能处理好设计与其他课程的学习时间上分配。在编码的环节上,因为采用的是纯粹的C语言编程,难免会与熟悉的C+有所不同,为此特意查看了相关的书籍,与队员们总结C语言与C+的不同之处,写出本系统的第一个测试版本。在测试的环节上,与队员们一起探讨软件工程角度上的测试方法,选择合适的测试用例,保证系统的基本正确。关于本系统更详尽的更新信息和相关的执行文件、程序、数据等,请关注我的个人网站:15.3Member:通过对本项目的开发,提高了我们团队合作的意识、分析解决实际问题的能力。最主要的是提高了我们的自学能力,本项目中我参与了可行性报告、系统策划、软件测试、软件需求分析等环节,与队长和其他队员一起,掌握了软件工程化的一些基本理念和一些软件工程相关的辅助软件如Visual SVN Server,Trac的配置和使用,受益匪浅。在开发本系统的过程中,要查询翻阅大量的参考文献以及网上搜索资料,培养了我们调查研究、查阅中外文献资料,运用国家标准、行业规范、手册、图册等资料的能力。通过这次实验,把所学的理论知识与实际应用联系了起来,为我们今后走向社会打下了坚实的基础。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2