资源描述
医疗费管理系统
信安091班 秦冰华 0907300420
1. 可行性分析
1.1.系统流图
1.2. 经济可行性和技术可行性
经济可行性分析:现在的的社会对管理水平的要求越来越高,提高管理水平可以提高工作效率和节省时间捡钱方面的开支。一个学校,比如大学,所有教职工以及其家属人数是一个相当庞大的数目。如果用传统的方法去管理医疗费的话,很难实现而且效率低下,浪费了很多在管理方面的费用。而开发一个医疗费管理系统话费相对来说是比较低廉的,而管理这方面的事情却是事半功倍。并且大学的经费一般都有国家支助或者社会捐献。所以说在经济上是可行的。
技术可行性分析:现在计算机技术日新月异,互联网技术迅速发展,各种各样的软件系统都有开发出来了,具有参考性。并且之前学过VC++,JAVA,汇编等编程语言,小型的管理系统已经做过,所以开发一个医疗费用管理系统在技术上也是可行的
2. 需求分析
2.1. 系统数据流图
历史报销总额清单
总报销查询
职工历史报
销总费用清单
职工资料
⑤
历史报销总额信息
职工信息
报销
总额
报销
总额
统计更新
报销
处理
④
①
报销明细
表 ㈠
出纳员
报销
信息
明细
查询
自动
统计
职工
②
报销明细清单
报销明细清单
报销总额
信息 ㈡
报销
明细
③
当日全部
报销清单
职工报销
明细清单
2.2. IPO表
处理单元①
输入 处理 输出
查询存在
未够限额
有效的明细清单文件
1.信息查询
2.判断超额
3.计算报销
数额
3.添加明细
职工信息
报销总额
报销信息
处理单元②
报销总额
统计更新总额
报销明细清单
输入 处理 输出
处理单元③
输入 处理 输出
报销总额信息
1.计划执行
2.统计报销总额
当日全部报销清单
处理单元④
输入 处理 输出
报销明细表
报销明细查询
报销明细清单
处理单元⑤
输入 处理 输出
当日全部报销总额信息
1.计划执行
2.自动统计
当日全部报销清单
2.3数据字典
名字:报销明细表
别名:
描述:通过查询得到的职工医疗费历史报销明细表
定义:报销明细表=职工号+职工名字+所属部门+报销日期+医疗费类别报销金额
医疗费类别报销金额=校内门诊费+校外门诊费+住院费+子女医疗费
位置:输出到显示器给出纳员查看
㈠
名字:报销总额信息
别名:
描述:每天医疗管理系统在下班前自动统计的全部职工当日医疗费报销总额信息。
定义:报销总额信息=职工个人报销+全部报销总额
职工个人报销=职工号+职工名字+所属部门+报销日期+医疗费类别报销金额
医疗费类别报销金额=校内门诊费+校外门诊费+住院费+子女医疗费
位置:输出到显示器给出纳员查看
㈡
3.概要设计
3.1
从数据流图可以看出,数据流都是“数据-处理-显示”这种模式出现,所以整个系统有着比较明显的事务流特征。
所以系统程序模块层次结构图:
医疗费管理系统
职工报销明细
报销查询
校外
门诊费
校内①
门诊费
报销添加
子女
医疗费
住院费
当日报销总额
职工报销总额
单职工子女②
双职工子女
4.详细设计
模块①程序流程图:
开 始
A<m
A+B<m
C=Bx90%
C=B
C=(m-A)+[B-(m-A)]x90%
返 回
F
F
T
T
模块①程序流程图
(A:职员历史总报销金额 B:实际医疗费用 C:实际报销医疗费用 m:职员报销限额)
开始
A<m
C=Bx40%
D+Bx40%<300
A+Bx40%<m
m-A>300-D
A+Bx40%<m
C=300-D
C=Bx40%
C=300-D
C=(m-a)+ [B-(m-A)]x40%x90%
返回
D<300
C=0
D+Bx40%x90%<300
C=300-D
C=Bx40%x90%
[B-(m-A)]x40%x90%<300-D
C=(m-a)+[B-(m-A)]x40%x90%
模块②程序流程图
(条件判断向下为Ture,向左为False)
A:职员历史总报销金额 B:实际医疗费用
C:实际报销医疗费用 D:职员的儿女历史报销金额
m:职员报销限额
伪代码①:
开始->
--------
If(A<m)
if(A+B<m) C=B;
else C=(m-A)+[B-(m-A)]x90%;
else C=Bx90%;
------------
结束-<
伪代码②:
开始-<
-------------------
If(D<300){
If(A<m)
{If(D+Bx40%<300)
If(A+Bx40%<m) {C=Bx40%;}
Else C=(m-a)+[B-(m-A)]x40%x90%
Else if(A+Bx40%<m) {C=Bx40%;}
Else if(m-A>300-D) {C=300-D;}
Else if([B-(m-A)]x40%x90%<300-D) { C=(m-a)+ [B-(m-A)]x40%x90%;}
Else C=300-D;}
Else if(D+Bx40%x90%<300) C=Bx40%x90%;
Else c=300-D;}
Else C=0;
------------------------
结束->
5.实现阶段
5.1.使用面向对象的VC++程序设计语言
(1)首先是比较容易掌握。
(2)性能
性能有个两方面,算法速度和机器代码效率。VC++具有良好的数据结构和优越算法,对医疗系统中的条件选择数据处理比较适合。
同时C++被编译为机器代码执行效率高,对于经常用使用的系统这是必要的。对于VBScript和Java等语言,代码在运行时由程序解释,而且每次运行程序时都要将代码转换为机器码,这样做效率比较低,不仅仅是已编译过的C++程序运行得较快,而且微软C++编译器已存在多年。这意味着微软的编译器程序员已经把许多优点集中到编译器上,以致于它能产生非常高效的机器码。因为C++是编译语言,而且非常自然,比VB更接近机器代码,所以由C++编译器产生的代码一定比VB的编译代码效率更高。
(3)依赖性小
C++是一种编译语言,即C++代码在执行之前已转换为机器码。只要此代码不依赖于外部的动态链接库(DLL),C++就可以在不需要安装额外程序的情况下移动到运行同样操作系统的其他机器和微处理器上。通常,一个出纳管理员不会同时是计算机专业方面的人才,而且他工作的场合比较固定,他完全不用去烦心计算机的工作编程环境,所以使用Vc++语言是有优势的。
5.2. 白盒测试模块①
条件组合覆盖:
有四种不同组合:1. A<m,
2. A>=m
3.A+B<m
4.A+B>=m
下面的4组测试数据可以使上面列出的4种条件至少出现一次:
I. A<m,A+B<m
II. A<m,A+B<m
III. A>m,A+B<=m
IV. A>m,A+B>=m
黑盒测试模块②:
设职员历史总报销金额A=1000,职员的儿女历史报销金额D=200,职员报销限额m=1500。
进行等价划分和边界值分析:
由上面假设的情况:
I.由式A+Bx40%<m,可得职员的儿女医疗实际费用的一个临界值B=1250
输入:B=1250
预期的输出:C=770
II.由式D+Bx40%x90%<300,可得职员的儿女医疗实际费用的另一个临界值B=1000/36
因为实际的钱一般只算到一角的单位,所以B~=277.8
输入:B=1000/36
预期输出:100
总结:由于时间上的仓促,导致很多细节都没有考虑清楚。比如由数据流图画出程序模块流程图,没有经过细致的思考就仓促画出来了,因此程序模块流程图显得过于简单。做这个作业感受最大的就是看起来不难的东西,做起来却很费劲。比如画流程图,第一是平时只是看没画过,真正动起手来就无从下手;其次是画这些图形时间要有耐心的事,因为并不好画。遇到比较难的问题是画职工子女医疗费的程序流程图,因为算法挺复杂,所以相当于做了一道挺不简单的数学题。总的来说是收获多多吧,通过自己动手可以学到很多东西。
展开阅读全文