毕业实习报告
学 院: 物信学院
专 业: 物联网工程
姓 名: 付火炎
学 号: 111200706
实习单位:新大陆支付技术有限公司
实习时间:2015.07.16——2015.10.10实习单位(全称) 福建新大陆支付技术有限公司 邮编 350000
实习单位地址 福建省福州市马尾区儒江西路 1 号新大陆科技园 电话 0591-83979754
实习单位指导
教师姓名
苏长璟
邮
箱
sucj@newlandcompany.co
m
联系
电话 18950370005
实习岗位 初级应用软件工程师
实
习
内
容
公司简介:公司专注于电子支付产品的研发、销售以及支付解决方案的提供,是电子支
付领域领先的产品和服务的综合提供商。公司的终端产品及行业解决方案广泛应用于中
国银联、银联商务等金融机构,并与快钱、支付宝、财付通、拉卡拉等第三方支付公司
保持着良好合作关系。
实习岗位说明:负责金融支付终端应用软件开发要求任职者是全日制本科或以上学历,
软件工程、计算机等相关专业;熟练掌握 C/C++语言编程能力;做事认真负责、有良好的
客户沟通能力及团队合作精神。
实习项目要求:
1. 两个星期内完成学生信息管理系统,功能:增加、查询、删除、修改、显示;基本字
段内容: 学号、姓名、年龄、绩点、学费等。
2. 学习公司的编程规范,并完成相应的练习。
3. 测试 POS 支付宝当面付应用,并填写测试报告。
4. 编写 POS 应用程序包括五大功能:显示、文件、密钥、刷卡、密码键盘。
5. 根据给定的报文判断报文的交易,了解每个域的内容及作用,熟悉掌握两级密钥。
任务完成情况:
1. 按照公司编码规范,采用结构体方式,以文件存储。①增加功能实现输入各要素,并
保存,不允许编号重复,姓名只能输入汉字;②查询功能实现输入学号-》查询出结
果并显示;③删除功能实现删除全部、单个记录;④修改功能实现通过输入学号-》
查询出结果修改;⑤显示:显示所有记录明细;如果输入错误的话,会有友好的提示信息,并返回上级目录。
2. 对规范还不是很熟悉,作业被要求重做。
3. 测试完成支付宝当面付的所有功能和提出使用反馈,详细的写好测试报告。
4. 按照公司编码规范完成了①显示:满屏显示英文,8 行,每行 16 个字;显示图标,
采用位图数组;显示的图标为局部图标,为开机 logo 的一个部分,位图像素为
64X48.打印图标。②文件;记录采用结构体方式,文件存储。包括增加:输入各要素,
并保存,不允许编号重复,输入的对话框要求能直观体现输入的要素;查询:输入编
号-》查询出结果并显示-》取消键退出;按确认键,提示修改/打印-》1,修改 2,
打印;删除:删除全部、单个记录;导出:通过 TERM2000,将存储的记录文件导到 PC
上;打印明细。③密钥:设置主密钥和工作密钥,存储在 POS 中。用工作密钥对 8
个 0x00 进行加密,用十六进制显示出加密的结果。④刷卡:采用刷卡库实现显示卡
号、有效期,输入密码;并且用上述的工作密钥对个人标识(密码)采用带主账号的
加密方式进行加密,将密码加密的结果显示出来。⑤采用密码键盘库,通过 8200、8510
外接密码键盘,实现取键盘的版本号、在键盘上显示内容(汉字、数字);
5. 完成了从签到报文中获取工作密钥,包括 MACKEY 明文,PINKEY 明文;根据得到的
MACKEY,PINKEY 和消费报文,计算出用户输入的密码,以及计算出这个报文的 MAC 值;
说明报文的交易类型,并写出报文各个域的内容。
自我鉴定及成果描述: 实习期间,前期的学生管理系统完成的比较快,涉及的内容学校
基本都已经讲解,主要的还是按照要求加边框和按照公司的代码规范排版。后面真正开
始接触公司的 POS 机产品测试和作业的时候,发现接触的都是新的东西,有很多不理解
的我也会和一起实习的同学讨论和问实习导师。完成 POS 作业的时候,碰到许多公司的
库函数不能正确的理解所以应用错误,也让我成长了不少。自己深知要胜任这份工作还
有很多东西是要学习的,不但要理解原理还要能用代码表达出来,我会继续努力。实
习
过
程
第 一 周:2015.7.16 - 2015.7.17
任务要求:1.两周内完成学生信息工作管理系统。
2.学习公司编程规范。
任务进度:
1. 完成要求的所有功能包括①增加功能实现输入各要素,并保存,不允许编
号重复,姓名只能输入汉字;②查询功能实现输入学号-》查询出结果并
显示;③删除功能实现删除全部、单个记录;④修改功能实现通过输入学号
-》查询出结果修改;⑤显示:显示所有记录明细。
2. 完成编程规范作业。
出勤情况:全勤
第 二周:2015.7.20 - 2015.7.24
任务要求:1.两周内完成学生信息工作管理系统
2.熟悉 POS 机的不同机型。
任务进度:
3. 周一完成了完善程序功能:在录入信息功能时,能在原数据不被覆盖的情
况下增加学生信息,如果错误的话,会有友好的提示信息,并返回上级目
录。
4. 周二对学生学号进行位数限定,判断输入的名字是否为汉字。
5. 周三完善代码细节,减少代码冗余。
6. 周四增加程序边框,所有内容不能超出边框,查询时分上一页、下一页。
7. 周五熟悉不同类型的 POS 机,学习如何下载应用程序。
出勤情况:全勤
第 三周:2015.7.27 - 2015.7.31
任务要求:1.使用链表编写学生工作管理系统 2.学习 C++类的相关知识。
任务进度:
1. 周一学习链表相关知识和指针。
2. 周二周三使用链表编写学生工作管理系统。
3. 周四周五学习学习 C++类、重载的相关知识。
出勤情况:全勤
第 四周:2015.8.3- 2015.8.7
任务要求:1.学习 C++相关知识
2.测试支付宝当面付应用
任务进度:
1. 周一周二学习 C++类的继承、虚基类知识
2. 周三检查并修改学生管理系统
3. 周四周五测试支付宝当面付应用
出勤情况:全勤
第 五周:2015.8.10 - 2015.8.14
任务要求:1. 测试支付宝当面付应用
2.修改学生管理系统
3.学习 Linux 基本命令知识
任务进度:
1. 周一测试 POS 机心跳和通讯初始化心跳
2. 周二修改学生管理系统,加边框功能将框度缩小。
3. 周三到周五学习 Linux 的基本命令。
出勤情况:全勤
第 六周:2015.8.17 - 2015.8.21任务要求:1. 学习 Linux 文件系统相关知识
2.测试支付宝当面付应用
任务进度:
1. 周一周二周五学习 Linux 文件操作系统
2. 周三周四测试修改后的支付宝当面付应用
出勤情况:全勤
第 七周:2015.8.24 - 2015.8.28
任务要求:1. 学习 Linux 的 shell 编程知识
任务进度:1. 周一到周五学习 Linux 的 shell 编程知识
出勤情况:全勤
第 八周:2015.8.31 - 2015.9.4
出勤情况:周一到周三请假,周四周五休假
第 九周:2015.9.7 - 2015.9.11
任务要求:1.编写 POS 应用程序包括五大功能显示,文件,密钥,刷卡,密
码键盘。
任务进度:
1. 完成显示功能及文件功能中的增加记录。①显示:满屏显示英文,8 行,
每行 16 个字;
显示图标,采用位图数组;显示的图标为局部图标,为开机 logo 的一个
部分,位图像素为 64X48.打印图标。②文件;记录采用结构体方式,文件
存储。增加记录:输入各要素,并保存,不允许编号重复,姓名只能为汉
字。
出勤情况:周五请假回学校上课
第 十周:2015.9.14 - 2015.9.18任务要求:1.编写 POS 应用程序包括五大功能显示,文件,密钥,刷卡,密
码键盘。
任务进度:
1. 完成文件功能。包括查询:输入编号-》查询出结果并显示-》取消键退出;
按确认键,提示修改/打印-》1,修改 2,打印;删除:删除全部、单个记
录;导出:通过 TERM2000,将存储的记录文件导到 PC 上;打印明细。
出勤情况:周五请假回学校上课
第 十一周:2015.9.21 - 2015.9.25
任务要求:1.编写 POS 应用程序包括五大功能显示,文件,密钥,刷卡,密
码键盘。
任务进度:
1. 完成密钥和刷卡功能。③密钥:设置主密钥和工作密钥,存储在 POS 中。
用工作密钥对 8 个 0x00 进行加密,用十六进制显示出加密的结果。④刷
卡:采用刷卡库实现显示卡号、有效期,输入密码;并且用上述的工作密
钥对个人标识(密码)采用带主账号的加密方式进行加密,将密码加密的
结果显示出来。
出勤情况:周五请假回学校上课
第 十二周:2015.9.28
任务要求:1.编写 POS 应用程序包括五大功能显示,文件,密钥,刷卡,密
码键盘。
任务进度:
1. 完成密码键盘功能。采用密码键盘库,通过 8200、8510 外接密码键盘,
在键盘上显示内容(汉字、英文);
出勤情况:全勤。9.29 和 9.30 由于台风,公司放假。第 十三周:2015.10.8 – 2015.10.10
任务要求:1. 根据给定的报文判断报文的交易,了解每个域的内容及作用。
任务进度:
1. 完成了从签到报文中获取工作密钥,包括 MACKEY 明文,PINKEY 明文;
根据得到的 MACKEY,PINKEY 和消费报文,计算出用户输入的密码,以及计
算出这个报文的 MAC 值;说明报文的交易类型,并写出报文各个域的内
容。;
出勤情况:周五请假回学校上课。实
习
中
存
在
的
问
题
实习中对我来说,存在得问题的一方面:主要是我 C 语言基础学习太浅,对于指针、
函数的定义方面知识没有很好的掌握,所以在学习公司库函数的时候,会遇到阻力。另
一方面是公司学习的知识,比如银联规范、配置、报文等新的内容要学习,然后用代码
表示出来,刚接触还是觉得比较难。
实
习
总
结
通过这次实习,我认识了自己掌握的知识只是皮毛,还不能很好的应用于实践中,
很高兴这次的实习给了我这么好的实践的机会,也让我懂得了要更加努力认真的学习 C
语言知识,根据实例多动手敲代码实践。这次实习还有个很大的收获就是懂得了如何更
好的学习新知识,首先我自己会很认真的学习和百度不懂的知识,另外和一起实习的同
学讨论,让我更快的掌握了相关的知识。