第3章 系统分析
在进行系统分析之前,需要从网络上或者是图书馆的开发类书籍中收集大量的资料,因为这个环节也是帮助即将开发的程序软件制定一套最优的方案,一旦确定了程序软件需要具备的功能,就意味着接下来的工作和任务都是围绕着这个方案执行的,所以系统分析需要对程序功能反复进行思考和研究。
3.1可行性分析
开发一款系统软件之前,用户都会思考这个软件程序值不值得去开发,把开发软件过程中可能涉及到的问题罗列出来,并一个个分析解决,以此来确定开发这款程序软件是否有必要,这样的分析方法也能帮助用户降低损失,不至于开发者开发进度进行到一半之后,突然遇到问题就放弃对软件的开发,到那时,资金损失,人力投入等方面就损耗太大了。
3.1.1技术可行性分析
此次开发程序使用到的开发工具有:Eclipse,Mysql等工具,使用的开发语言是Java,选择的开发工具和开发语言都是在大学课堂接触并学习过,后期因为自己也比较感兴趣,所以也通过网络渠道,或借助图书馆的开发类书籍进行过软件开发知识的系统学习,让自己有了一定的知识积累,加上自己在校期间也独立开发过一些软件作品,也积累了一定的开发经验,所以这次毕设作品的制作在技术上无须担忧过多。
3.1.2经济可行性分析
目前的信息时代,对信息的管理趋于高效化,便捷化,这也是计算机大力普及所带来的便利,此程序软件在设备选用上,依靠的是比较大众的电脑设备,对电脑的配置没有过多要求,一般学校的计算机机房的电脑都可以满足程序开发需求,另外,开发出此款程序,让信息处理变得高效率,其所带来的高效益是远超程序开发的低成本的,因此程序开发的资金投入是可以忽略不计的。
3.1.3操作可行性分析
程序软件的操作界面是符合大众审美的需求,功能模块的布局也是类似于社会上同种类型的软件,因此使用者操作该软件可以无需培训就上手。加上现在计算机入驻各家各户,大部分人的计算机操作水平都比较高,这样的局面也表明开发出来的程序在操作性问题上也是不用担心的。
综合上面的可行性论证,基本可以确定程序开发完全可行。
3.2系统运行环境
程序经过编码可以实现对程序设计的功能。但是编码实现时需要一定的配置环境,包括了电脑上的硬件环境,也包括在电脑操作系统上安装的软件环境。
硬件环境:一台可以正常使用并能够上网的笔记本或者是电脑,电脑内存最低要求4个G,电脑的中央处理器可以配置i5CPU。
软件环境:运用的微软操作系统是比较稳定的win7旗舰版系统,采用比较熟练360安全浏览器,并在此系统上通过浏览器下载安装好Eclipse软件,下载安装好MYSQL软件等。
3.3系统流程分析
分析程序的流程,涉及到程序的整体操作流程,通过分析与设计,绘制的程序操作流程图见下图。此程序为了确保安全,会让使用者通过登录模块验证信息,符合要求的使用者才有权限操作程序。
图3-1 程序操作流程图
程序处理数据会涉及到数据的录入环节,绘制的添加流程见下图。程序录入数据过程中,始终与数据库保持同步。
图3-2 信息添加流程图
程序里面的数据也会出现错误,因此就有相应的修改数据的功能,绘制的程序修改流程见下图。此过程也是跟后台数据库进行数据同步显示。
图3-3信息修改流程图
程序数据存放于数据仓库,有时也会涉及到数据删除,此过程对应的流程图见下图。数据信息被删除之后,数据库里面也就没有了该数据信息了。
图3-4 信息删除流程图
第4章 系统设计
4.1 系统设计的原则
在系统设计过程中,也需要遵循相应的设计原则,这些设计原则可以帮助设计者在短时间内设计出符合设计规范的设计方案。设计原则主要有可靠性,安全性,可定制化,可扩展性,可维护性,可升级性以及客户体验等原则。下面就对这些原则进行简要阐述。
可靠性:一个软件是否可靠决定了其是否被用户使用,设计不可靠的软件,用户很容易就遗弃;
安全性:程序软件承担了信息的保存与管理等事务,安全性不足的软件会导致使用者承担巨大的损失;所以系统安全也是需要考虑进入的;
可定制化:市场环境从来都不是一直固定不变,面对客户群体的改变,以及使用环境的改变,市场需求的改变等因素,程序软件也要易于调整以适应各种变化;
可扩展性:程序软件在运行使用期间,也需要及时引进当下的新技术来进行系统优化,主要就是在系统功能层面,系统性能层面上进行相应的扩展,只有这样才能让系统在实际生活中继续占有市场;
可维护性:程序软件的维护需要一定量的资金,不管是排除现有程序错误,还是变更软件的现有需求,都需要在软件技术上投入一定资金,所以易于维护的软件程序就可以降低技术层面的资金消耗;
可升级性:程序软件的投入使用,会面临用户数量增多的情况,用户对软件的使用率也会提升,所以系统面临这种情况,仍然需要通过升级保持性能的合理,这样才能够适应市场;
客户体验:设计出来的程序软件在界面上不能够太复杂,要遵循界面设计的原理设计出简单,方便操作的功能操作界面,让用户易于接受软件,并乐于使用软件提供的功能。
4.2 系统结构设计
在系统结构设计上,经综合考虑还是选择比C/S更省资金的B/S结构模式,现如今浏览器已经实现了普及,并在技术上逐渐完善和成熟,它在节约软件开发成本的基础上,还能实现原本用专业软件操作才能实现的强大功能。总之,B/S结构是当下全新的,认可度高的系统构造技术。系统结构设计图通过绘制,效果展示如下:
图4-1 系统结构设计图
4.3功能结构设计
在管理员功能模块确定下来的基础上,对管理员各个功能进行设计,确定管理员功能的详细模块。绘制的管理员功能结构见下图。
图4.3 管理员功能结构图
4.4 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.4.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是用户实体和其具备的属性。
图4.1 用户实体属性图
(2)下图是疫苗实体和其具备的属性。
图4.2 疫苗实体属性图
(3)下图是地点实体和其具备的属性。
图4.3 地点实体属性图
(4)下图是用户轨迹实体和其具备的属性。
图4.4 用户轨迹实体属性图
(5)下图是公告信息实体和其具备的属性。
图4.5 公告信息实体属性图
(6)下图是口罩实体和其具备的属性。
图4.6 口罩实体属性图
(7)下图是疫苗预约实体和其具备的属性。
图4.7 疫苗预约实体属性图
(8)下图是医护人员实体和其具备的属性。
图4.8 医护人员实体属性图
(9)下图是核算检测实体和其具备的属性。
图4.9 核算检测实体属性图
(10)下图是口罩预订实体和其具备的属性。
图4.10 口罩预订实体属性图
(
4.4.2 数据库表结构
在进行这部分设计之前,需要明白和掌握数据类型以及各个数据类型的长度范围等知识,因为在一张具体的数据表中,为了方便理解,这里就举个简单的例子。比如用户信息表,这个表格的字段就是用户这个实体具备的属性,这时就需要对字段进行数据类型,以及字段长度的设置,也要设置一个主键来作为用户信息表的唯一标识。这些都是数据库表结构设计需要完成的内容。根据新冠病毒密接者跟踪系统的功能设计以及数据库设计要求,展示该系统的数据表结构。
表4.1字典表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 dic_code String 字段 是
3 dic_name String 字段名 是
4 code_index Integer 编码 是
5 index_name String 编码名字 是
6 super_id Integer 父字段id 是
7 beizhu String 备注 是
8 create_time Date 创建时间 是
表4.2地点表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 didian_name String 地点名称 是
3 didian_types Integer 地点状态 是
4 insert_time Date 添加时间 是
5 create_time Date 创建时间 是
表4.3公告信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 gonggao_name String 公告名称 是
3 gonggao_photo String 公告图片 是
4 gonggao_types Integer 公告类型 是
5 insert_time Date 公告发布时间 是
6 gonggao_content String 公告详情 是
7 create_time Date 创建时间 是
表4.4用户轨迹表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 用户 是
3 didian_id Integer 地点 是
4 guiji_time Date 去的时间 是
5 insert_time Date 添加时间 是
6 create_time Date 创建时间 是
表4.5核算检测表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 检测人 是
3 jiance_types Integer 检测结果 是
4 jiance_time Date 检测时间 是
5 insert_time Date 添加时间 是
6 create_time Date 创建时间 是
表4.6口罩表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 kouzhao_name String 口罩名称 是
3 kouzhao_types Integer 口罩类型 是
4 kouzhao_number Integer 口罩数量 是
5 kouzhao_content String 备注 是
6 insert_time Date 添加时间 是
7 create_time Date 创建时间 是
表4.7口罩预订表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 预订人 是
3 kouzhao_id Integer 口罩 是
4 yueding_number Integer 预定数量 是
5 kouzhaoyuyue_types Integer 状态 是
6 insert_time Date 预订时间 是
7 create_time Date 创建时间 是
表4.8医护人员表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yihu_name String 医护人员姓名 是
3 yihu_phone String 医护人员手机号 是
4 yihu_id_number String 医护人员身份证号 是
5 yihu_photo String 医护人员头像 是
6 create_time Date 创建时间 是
表4.9疫苗表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yimiao_name String 疫苗名称 是
3 yimiao_types Integer 疫苗类型 是
4 yimiao_number Integer 疫苗数量 是
5 yimiao_content String 备注 是
6 insert_time Date 添加时间 是
7 create_time Date 创建时间 是
表4.10疫苗预约表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 预约人 是
3 yimiao_id Integer 疫苗 是
4 yimiaoyuyue_types Integer 状态 是
5 insert_time Date 预约时间 是
6 create_time Date 创建时间 是
表4.11用户表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_name String 用户姓名 是
3 yonghu_phone String 用户手机号 是
4 yonghu_id_number String 用户身份证号 是
5 yonghu_photo String 用户头像 是
6 jiankang_types Integer 健康状态 是
7 create_time Date 创建时间 是
表4.12管理员表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 role String 角色 是
3 addtime Date 新增时间 是