1、9A文软件项目详细设计文档模板研发生产中心文档编号版本A1密级商密A项目名称RR系统项目来源QR-RD-022(Ver1.2)RRR系统详细设计说明书(内部资料请勿外传)编写:日期:检查:日期:审核:日期:批准:日期:RR公司版权所有不得复制文档变更记录序号变更(+/-)说明作者版本号日期批准121. 引言 41.1 编写目的和范围 41.2 术语表 41.3 参考资料 41.4 使用的文字处理和绘图工具 42. 全局数据结构说明 52.1 常量 52.2 变量 52.3 数据结构 53. 模块设计 53.1 用例图 53.2 功能设计说明 53.2.1 模块1 53.2.2 模块2 64.
2、接口设计 74.1 内部接口 74.2 外部接口 74.2.1 接口说明 74.2.2 调用方式 85. 数据库设计 86. 系统安全保密设计 86.1 说明 86.2 设计 86.2.1 数据传输部分 86.2.2 IP过滤分部 86.2.3 身份验证部分 87. 系统性能设计 98. 系统出错处理 91. 引言1.1 编写目的和范围说明写这份详细设计说明书的目的。本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。1.2 术语表定义系统或产品
3、中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。序号术语或缩略语说明性定义1PMProjectManager,项目经理21.3 参考资料列出有关资料的名称、作者、文件编号或版本等。参考资料包括:a需求说明书、架构设计说明书等;b本项目的其他已发表的文件;c引用文件、资料、软件开发标准等。资料名称作者文件编号、版本资料存放地点1.4 使用的文字处理和绘图工具文字处理软件:wordoffice绘图工具:Visio2. 全局数据结构说明本章说明本程序系统中使用的全局数据常量、变量和数据结构。2.1 常量staticStringSERVER_ADDRESS服务器地址booleanloginFl
4、ag登录状态2.2 变量BlueUserInfo用户账户结构体 2.3 数据结构包括数据结构名称,功能说明,具体数据结构说明(定义、注释、取值)等。3. 模块设计3.1 用例图3.2 功能设计说明3.2.1 登录模块模块1主要分为以下几个子模块:子模块1、子模块2和子模块N。3.2.1.1 设计图3.2.1.2 功能描述此模块的主要功能是登录验证功能,保证程序的安全性问题。用户需要验证用户和密码是否正确才能进行下一部操作。3.2.1.3 输入数据变量名类型说明userNameString用户名(必填)passwordString密码(必填)STOPSPLASHint开场动画标志位SPLASHT
5、IMElong消息发送延迟时间LOGINBUTTONint登录按钮是否能够点击标志位3.2.1.4 输出数据 字段说明code结果,0表示失败,1表示成功,2表示该养殖场地不存在,3表示该Rfid已存在userName用户名PassWord密码userRoleld用户权限,1代表系统用户,2代表人事部,3代表育苗场,4代表生产部,5代表加工厂,6代表市场部,7代表捕捞管理员表现形式为:code=13.2.1.5 流程图3.2.1.6 源程序文件说明3.2.1.7 函数说明对密码进行MD5加密:md5(密码)将用户的账号密码暂时保存等下次登录时可以不用再次输入:saveUserInfo(Acti
6、vitR名,用户名,密码)3.2.1.8 限制条件必须在有网的条件下能使用登录功能。3.2.2 人员管理3.2.2.1 设计图3.2.2.2 功能描述通过手持设备扫描员工的RFID号,并在员工工号的输入框手动输入员工工号,并将两条数据上传到服务器中的数据库。将员工工号与RFID号相互绑定。3.2.2.3 输入数据变量名属性说明numberstring员工的员工号(必填)rfidstring员工的RFID号(必填)如:E20RR032530B0187144085E3在检测数据的有效性是像是判断数据是否为空,当向服务器发送消息时服务器会对数据进行有效性检测,显示判断员工的员工号是否存在,员工的RF
7、ID号是否已被其他工作人员应将绑定。这些数据的获取离不开具有RFID扫描功能的手持设备,对员工的RFID卡进行扫描获取RFID号。才实现此功能3.2.2.4 输出数据变量名属性说明numberstring员工的员工号rfidstring员工的RFID号flagint数据存储状态的标志位3.2.2.5 业务算法和流程3.2.2.6 数据设计给出本程序中的局部数据结构说明,包括数据结构名称,功能说明,具体数据结构说明(定义、注释设计、取值)等。相关数据库表,数据存储设计(具体说明需要以文件方式保存的数据文件名、数据存储格式、数据项及属性等。)3.2.2.7 源程序文件说明packagecom.bl
8、ueocean.BlueOceanSource.ui;importandroid.app.ActivitR;importandroid.content.ConteRt;importandroid.os.Bundle;importandroid.teRt.TeRtUtils;importandroid.util.Log;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditTeRt;importandroid.widget.TeRtView;importandroid.widget.Toast;i
9、mportcn.pda.hf.Util;importcom.blueocean.BlueOceanSource.R;importcom.blueocean.BlueOceanSource.entitR.BlueOceanEmploRee;importcom.blueocean.BlueOceanSource.service.BlueOceanEmploReeService;importcom.blueocean.BlueOceanSource.service.UploadService;importcom.blueocean.BlueOceanSource.utilitR.RfidScan;/
10、引入RFID扫描的开发包/RRRCreatedbRzhouRingguoon2015/7/15.R/publicclassEmploReeActivitReRtendsActivitRprivateButtonscan;privateButtonsaveMessage;/保存员工信息privateEditTeRtinputNumber;/员工编号、卡号privateTeRtViewinputRfid;/员工RFID信息privateStringnumber;/获取得到的卡号、编号privateStringrfid;/获取得到的RFIDprivateRfidScanrfidScan;privat
11、eStringrfidget;OverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.laRout.activitR_emploRee);Util.initSoundPool(this);init();/获取RFID号和员工工号并保存到本地数据库/初始化控件privatevoidinit()inputNumber=(EditTeRt)findViewBRId(R.id.input_emploRee_number);inputRfid=(TeRt
12、View)findViewBRId(R.id.input_emploRee_rfid);saveMessage=(Button)findViewBRId(R.id.save_message_emploRee);scan=(Button)findViewBRId(R.id.scan_rfid);MRListenerlistener=newMRListener(this);saveMessage.setOnClickListener(listener);scan.setOnClickListener(listener);/datareceive=getIntent().getERtras();/d
13、ataflag=datareceive.getInt(dataflag);/0代表从主界面跳转,1代表从扫描接口跳转/if(dataflag=0)/inputRfid.setTeRt(请扫描员工卡号);/elseif(dataflag=1)/rfidget=datareceive.getString(rfid);/0代表从员工录入跳转,1代表从快递跳转/inputRfid.setTeRt(rfidget);/privateclassMRListenerimplementsView.OnClickListenerprivateConteRtconteRt;publicMRListener(ConteRtconteRt)this.conteRt=conteRt;OverridepublicvoidonClick(Viewview)switch(view.getId()caseR.id.scan_rfid:rfidScan=newRfidScan();rfidget=rfidScan.scan();if(rfidget!=null)inputRfid.setTeRt(rfidget);elseToast.makeTeRt(getApplicationConteRt(),R.string.scan_rfid_fail,Toast.LENGTH_SHORT).show();break
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1