下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
研发生产中心文档编号版 人;密 声1八* A1 亚 周密A本 级项目名称Xx系统项目来源QR-RD-022(Ver1.2)XXX系统
详细设计说明书(内部资料请勿外传)日编写:期:日检查:期:日审核:期:日批准:期:XX公司版权所有不得复制文档变更记录序号变更(+/-)说明作者版本号日期批准12.引言 编写目的和范围 术语表 参考资料 使用的文字处理和绘图工具 .全局数据结构说明 常量 变量 数据Z^构 .模块设计 用例图 功能设计说明 模块1 模块2 .接口设计 内部接口 外部接口 接口说明 调用方式 .数据库设计 .系统安全保密设计 说明 设计 数据传^^部分 IP过滤分部 身份验证部分 .系统性能设计 .系统出错处理 1.引言编写目的和范围说明写这份详细设计说明书的目的。本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。术语表定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。序号术语或缩略语说明性定义1PMProjectManager,项目经理2参考资料列出有关资料的名称、作者、文件编号或版本等。参考资料包括:a.需求说明书、架构设计说明书等;b.本项目的其他已发表的文件;c.引用文件、资料、软件开发标准等。资料名称作者文件编号、版本资料存放地点使用的文字处理和绘图工具文字处理软件:wordoffice绘图工具:Visio.全局数据结构说明本章说明本程序系统中使用的全局数据常量、变量和数据结构。常量staticStringSERVER_ADDRESS月艮务器地址booleanloginFlag登录状态变量BlueUserInfo?用户账户结构体数据结构包括数据结构名称,功能说明,具体数据结构说明(定义、注释、取值)等。.模块设计用例图功能设计说明登录模块模块1主要分为以下几个子模块:子模块1、子模块2和子模块N设计图功能描述此模块的主要功能是登录验证功能,保证程序的安全性问题。用户需要验证用户和密码是否正确才能进行下一部操作。输入数据变量名回说明userNameString用户名(必填)passwordString密码(必填)STOPSPLASHint开场动画标志位SPLASHTIMElong消息发送延迟时间LOGINBUTTONint登录按钮是否能够点击标志位输出数据字段说明code结果,0表不失败,1表不成功,2表示该养殖场地不存在,3表示该Rfid已存在userName用户名PassWord密码userRoleld用户权限,1代表系统用户,2代表人事部,3代表育苗场,4代表生产部,5代表加工厂,6代表市场部,7代表捕捞管理员表现形式为:code=流程图源程序文件说明函数说明对密码进行MD劭口密:md5的码)将用户的账号密码暂时保存等下次登录时可以不用再次输入: saveUserInfo(Activity名,用户名,密码)限制条件必须在有网的条件下能使用登录功能。人员管理设计图功能描述通过手持设备扫描员工的 RFID号,并在员工工号的输入框手动输入员工工号,并将两条数据上传到服务器中的数据库。将员工工号与 RFID号相互绑定。输入数据变量名属性说明numberstring员工的员工号(必填)rfidstring员工的RFID号(必填)如:在检测数据的有效性是像是判断数据是否为空,当向服务器发送消息时服务器会对数据进行有效性检测,显示判断员工的员工号是否存在,员工的RFID号是否已被其他工作人员应将绑定。这些数据的获取离不开具有RFID扫描功能的手持设备,对员工的RFID卡进行扫描获取RFID号。才实现此功能输出数据变量名属性说明numberstring员工的员工号
rfidstring员工的RFID号flagint数据存储状态的标志位业务算法和流程数据设计给出本程序中的局部数据结构说明,包括数据结构名称,功能说明,具体数据结构说明(定义、注释设计、取值)等。相关数据库表,数据存储设计(具体说明需要以文件方式保存的数据文件名、数据存储格式、数据项及属性等。)源程序文件说明packageimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimport //引入RFID扫描的开发包/***/publicclass*/publicclassEmployeeActivityextendsActivity{private Buttonscan;private ButtonsaveMessage//保存员工信息privateEditTextinputNumber;//员工编号、卡号privateTextViewinputRfid;〃员工RFID信息privateStringnumber;〃获取得到的卡号、编号privateStringrfid;//获取得到的RFIDprivateRfidScanrfidScan;privateStringrfidget;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedlnstanceState);setContentView(R.layout.activity_employee);Util.initSoundPool(this);init();//获取RFID号和员工工号并保存到本地数据库
//初始化控件input_employee_number);input_employee_rfid);input_employee_number);input_employee_rfid);save_message_employe9;);inputNumber=(EditText)findViewById(R.id.inputRfid=(TextView)findViewById(R.id.saveMessage=(Button)findViewById(R.id.scan=(Button)findViewById(R.id.scan_rfidMyListenerlistener= newMyListener(this);saveMessagesetOnClickListener(listener);scan.setOnClickListener(listener);//datareceive=getIntent().getExtras();//dataflag=datareceive.getInt("dataflag");// //0 代表从主界面跳转,1代表从扫描接口跳转// if(dataflag==0){//inputRfid.setText(" 请扫描员工卡号");// }elseif(dataflag==1){//rfidget =datareceive.getString("rfid");//0 代表从员工录入跳转,1代表从快递跳转//inputRfid.setText(rfidget);// }privateclassMyListenerimplementsView.OnClickListener{privateContextcontext;publicMyListener(Contextcontext){this.context=context;}@OverridepublicvoidonClick(Viewview){switch(view.getId()){caseR.id.scan_rfid:rfidScan=newRfidScan();rfidget=rfidScan.scan();if(rfidget!=null){inputRfid.setText(rfidget);else{Toast.makeText(getApplicationContext(),R.string.scan_rfid_fail,Toast.LENGTH_SHQRTow();}break;caseR.id.save_message_employee〃保存员工信息按钮到数据库,保存成功之后清空editText// 要保证输入的信息不能全部为空if(!TextUtils.isEmpty(inputNumber.getText())&&!TextUtils.isEmpty(inputRfid.getText())){number=inputNumber.getText().toString().trim();rfid=inputRfid.getText().toString().trim();BlueOceanEmployeeServiceemployeeService= newBlueOceanEmployeeService(context);BlueOceanEmployeeboe= newBlueOceanEmployee();intflag=0;//0表示保存到本地数据库,1表示本地数据库数据待删除boe.setFlag(flag);boe.setNumber( number);boe.setRfid( rfid);employeeService.insert(boe);inputNumber.setText("");inputRfid.setText("");Toast. makeText(getApplicationContext(),R.string.bind_success,Toast.LENGTH_LONGhow();//开辟一个新线程上传数据newThread(networkTask).start();Toast. makeText(getApplicationContext(),R.string.save_success_toast ,Toast.LENGTH_LONGhow();} else {Toast. makeText(getApplicationContext(),R.string.employee_rfid_number_not_null,Toast.LENGTH_LONGhow();}break;}RunnablenetworkTask=newRunnable(){@Overridepublicvoidrun(){//TODO//在这里进行httprequest. 网络请求相关操作UploadServiceuploadService=newUploadService();uploadService.upload(getApplicationContext());));)函数说明大扫描RFID就成功时发出提示音:Util.initSoundPool(activity名称);程序的主体:init();开启数据上传线程:networkTask限制条件要实现此功能必须要具备可以扫描 RFID功能的手持设备,不然无法扫描员工的RFID号。池塘管理设计图功能描述此模块主要实现的功能是扫描池塘的 RFID,并手动输入池塘编号,并将其保存到本地数据库。并等到有网的条件下,将此条信息上传到服务器端的数据库。实现池塘RFID号与池塘编号的绑定。输入数据变量名属性说明numberstring池塘编号(必填)如:育苗池1rfidstring池塘的RFID号(必填):在检测数据有效性时,需要检测数据是否为空。这些数据的获取离不开具有RFID扫描功能的手持设备,对池塘的 RFID卡进行扫描获取RFID号。才实现此功能输出数据变量名属性说明numberstring池塘编号rfidstring池塘的RFID号flagInt数据存储标志位业务算法和流程数据设计给出本程序中的局部数据结构说明,包括数据结构名称,功能说明,具体数据结构说明(定义、注释设计、取值)等。相关数据库表,数据存储设计(具体说明需要以文件方式保存的数据文件名、数据存储格式、数据项及属性等。)源程序文件说明packageimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimport /***Createdbyzhouxingguoon2015/7/15.*/publicclassPondActivityextendsActivity{private Button scanPond;//点击扫描池塘private ButtonbindPond;//绑定池塘编号和RFID信息private EditText pondNumber//池塘编号、卡号private TextView pondRfid; 〃池塘RFID信息private String number;〃获取得到的卡号、编号private String rfid;//获取得到的RFIDprivate RfidScan rfidScan;private String rfidget;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedlnstanceState);setContentView(R.layout.activity_pond);Util.initSoundPool(this);init();}//初始化控件privatevoidinit(){pondNumber=(EditText)findViewById(R.id.input_pond_number);pondRfid=(TextView)findViewById(R.id.input_pond_rfid);scanPond=(Button)findViewById(R.id.scan_pond_rfid);bindPond=(Button)findViewById(R.id.bind_pond);MyListenerlistener= newMyListener(this);scanPondsetOnClickListener(listener);bindPond.setOnClickListener(listener);}privateclassMyListenerimplementsView.OnClickListener{privateContextcontext;publicMyListener(Contextcontext){this.context=context;}@OverridepublicvoidonClick(Viewview){Log.d("aa","进入点击");switch(view.getId()){caseR.id.scan_pond_rfid:rfidScan=newRfidScan();
rfidget=rfidScan.scan();if(rfidget!=null){pondRfid.setText(rfidget);)else{Toast.makeText(getApplicationContext(),R.string.scan_rfid_fail,Toast.LENGTH_SHO)RTow();)break;caseR.id.bind_pond:〃保存员工信息按钮到数据库,保存成功之后清空editText// 要保证输入的信息不能全部为空if(!TextUtils.isEmpty(pondNumbeigetText())&&!TextUtils.isEmpty(pondRfid.getText())){number=pondNumbergetText().toString().trim();rfid=pondRfid.getText().toString().trim();BlueOceanPondServicepondService= newBlueOceanPondService(context);BlueOceanPondboe= newBlueOceanPond();intflag=0;//0表示保存到本地数据库,1表示本地数据库数据待删除boe.setFlag(flag);boe.setNumber( number);boe.setRfid( rfid);pondService.insert(boe);pondNumbersetText("");pondRfid.setText("");Toast. makeText(getApplicationContext(),R.string.bind_success,Toast.LENGTH_LONGhow();//开辟一个新线程上传数据newThread(networkTask).start();)else{Toast. makeText(getApplicationContext(),R.string.pond_rfid_number_not_null,Toast.LENGTH_LONjshow();)break;)))RunnablenetworkTask=newRunnable(){@Overridepublicvoidrun(){//TODO//在这里进行httprequest. 网络请求相关操作UploadServiceuploadService=newUploadService();uploadService.upload(PondActivity. this);));)函数说明当扫描RFID就成功时发出提示音:Util.initSoundPool(activity名称);程序的主体:init();开启数据上传线程:networkTask限制条件要实现此功能必须要具备可以扫描 RFID功能的手持设备,不然无法扫描员工的RFID号。3.2.4育苗管理设计图功能描述本功能主要是对员工对育苗池的操作进行记录, 显示扫描员工RFID、池塘RFID。还要扫描海产品的批次二维码,当员工对池塘进行操作时,需要记录操作类型,并且记录池塘的温度。经这些信息记录到本地数据库。输入数据变量名属性说明
rfidgetUserstring员工的RFID(必填)如:rfidgetPoolstring池塘的RFID号(必填)如:BatchString批次二维码(必填)com/show.html?id=18FC90BE5B8124AF983421D29BFC435getEvenTypeString操彳铝!型(必填),包括:喂食、换水、测温、入池、投放tempString温度(非必填)如:10ctimeString在检测数据有效性时,需要检测rfidgetUser与rfidgetPool 两个输入变量是否为空。这些数据的获取离不开具有RFID扫描功能及二维码扫描的手持设备,对池塘的RFID卡进行扫描并获取RFID号并且对池塘上的产品批次二维码进行扫描,获取产品批次二维码。输出数据变量名属性说明rfidgetUserstring员工的RFIDrfidgetPoolstring池塘的RFID号DataString批次二维码,如:getEvenTypeString操作类型tempString温度:10flagint数据存储标志位业务算法和流程数据设计给出本程序中的局部数据结构说明,包括数据结构名称,功能说明,具体数据结构说明(定义、注释设计、取值)等。相关数据库表,数据存储设计(具体说明
需要以文件方式保存的数据文件名、数据存储格式、数据项及属性等。)源程序文件说明packageimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimportimport /**保苗阶段activity*Createdbyzhouxingguoon2015/7/15.*/publicclassYouthActivityextendsActivity{privateButtonscanUser;//扫描员工rfidprivateButtonscanPond;//扫描池塘RFIDprivateButtonsaveButton;//保存信息privateprivateprivateprivateButtonscanQrcode;//扫描池塘二维码批次信息privateprivateprivateTextViewuserRfid;//员工RFID信息EditTextpoolRfid;〃池子RFID信息TextViewpondQrcode;//池塘二维码包含的批次信息privateEditTexttemperatureprivateEditTexttemperature;//输入池塘温度privateStringrfidUser;〃获取得到的RFIDprivateRfidScanrfidScanUser;//rfid扫描user类privateStringrfidgetUser;〃获取得到的userRfidprivateStringrfidPool;〃获取得到的池子RFIDprivateRfidScanrfidScanPool;//rfid 扫描池子类privateStringrfidgetPool;〃获取得到的poolRfidprivateStringbatch;//获取池子标签上的批次二维码信息privateSpinnerspinner;//操作类型下拉控件privateList<String>eventList;//操作类型数据源privateArrayAdapter<String>adapter;//适配器适配操作类型列表private String getEventType ;private String poolTemp=""; // 池子温度,暂时用不到private String data;privateBroadcastReceiverreceive;privateScanThreadscanThread;privateHandlermHandler=newHandler。{publicvoidif(msg.what==ScanThread.SCAN{data=msg.getData().getString("data");Log. d("acc_data",data);Util. play(1,0);pondQrcode.setText(data);)));@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_youth);Util.initSoundPool(this);init_spinner();init();/** 开启二维码扫描线程**/try{scanThread=newScanThread(mHandler);}catch(Exceptione){Toast.makeText(getApplicationContext(),"serialportinitfail"0).show();return;}scanThread.start();receive=newFunkeyListener();〃代码注册广播接收者IntentFilterfilter=newIntentFilter();filter.addAction();registerReceiver(receive,filter);Util.initSoundPool(getApplication());}privateclassFunkeyListenerextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){booleandefaultdown=false;intkeycode=intent.getIntExtra("keycode",0);booleankeydown=intent.getBooleanExtra("keydown",defaultdown);if(keycode==134&&keydown){scanThread.scan();
)//初始化控件input_baomiao_user);input_baomiao_pond);input_baomiao_pond_qrcode);input_baomiao_user);input_baomiao_pond);input_baomiao_pond_qrcode);input_temperature);userRfid=(TextView)findViewByld(R.id.poolRfid=(EditText)findViewById(R.id.pondQrcode=(TextView)findViewById(R.id.TYPE_CLASS_PHO);NEtemperature=(EditText)findViewById(R.id.TYPE_CLASS_PHO);NEtemperature.setInputType(EditorInfo.baomiao_scan_employee);baomiao_scan_pond);baomiao_pond_qrcode);//baomiao_scan_employee);baomiao_scan_pond);baomiao_pond_qrcode);//扫描池save_button1);this);saveButton=(Button)findViewById(R.id.MyListenerlistener= newMyListener(scanUser.setOnClickListener(listener);scanPondsetOnClickListener(listener);scanQrcode.setOnClickListener(listener);saveButton.setOnClickListener(listener);)privatevoidinit_spinner(){spinner=(Spinner)findViewById(R.id.action_spinner);//定义数据源eventList=newArrayList<String>();eventList.add("喂安");eventList.add("换水");eventList.add("测温");eventList.add("入池");eventList.add("投放");adapter=newArrayAdapter<String>(this,R.layout.simple_spinner_item,eventList);adapter.setDropDownViewResource(R.layout.spinner_checked_text);spinner.setAdapter(adapter);//spinner监听器获取选择内容spinner.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener(){@OverridepublicvoidonItemSelected(AdapterView<?>adapterView,Viewview,intposition,longl){getEventType=adapter.getItem(position);}@OverridepublicvoidonNothingSelected(AdapterView<?>adapterView){}});}privateclassMyListenerimplementsView.OnClickListener{privateContextcontext;publicMyListener(Contextcontext){this.context=context;}@OverridepublicvoidonClick(Viewview){switch(view.getId()){caseR.id.baomiao_scan_employee:rfidScanUser=newRfidScan();rfidgetUser=rfidScanUser.scan();if(rfidgetUser!=null){userRfid.setText(rfidgetUser);}else{Toast. makeText(getApplicationContext(),R.string.scan_rfid_fail,Toast.LENGTH_SHQRTow();}break;caseR.id.baomiao_scan_pond:rfidScanPool=newRfidScan();rfidgetPool=rfidScanPool.scan();if(rfidgetPool!=null){poolRfid.setText(rfidgetPool);}else{
Toast. makeText(getApplicationContext(),R.string.scan_rfid_fail,Toast.LENGTH_SHQRTow();)break;caseR.id.baomiao_pond_qrcode:scanThread.scan();break;caseR.id.save_button1://保存员工信息按钮到数据库,保存成功之后清空editText// 要保证输入的信息不能全部为空if(!TextUtils.isEmpty(poolRfid.getText())&&!TextUtils.isEmpty(userRfid.getText())&&!TextUtils.isEmpty(getEventType)&&(!TextUtils.isEmpty(data)||getEventType.equals("投放"))){BlueOceanEventServiceeventService= newBlueOceanEventService(context);BlueOceanEventboe=Stringtime=DateDefined.BlueOceanEventService(context);BlueOceanEventboe=Stringtime=DateDefined.式newBlueOceanEvent();getDate();//获取自定义时间格rfidUser=userRfid.getText().toString().trim();rfidPool=poolRfid.getText().toString().trim();intflag=0;//0表示保存到本地数据库,1表示本地数据库数据待删除inttype=2;if(getEventType.equals("喂食")){TOC\o"1-5"\h\ztype= 1;} elseif(getEventType.equals("换水")){type= 2;} elseif(getEventType.equals("测温")){type= 3;} elseif(getEventType.equals("投放")){type= 4;} elseif(getEventType.equals("入池")){type= 6;}Stringbatch= data;//扫描二维码信息Stringtemp=temperature.getText().toString().trim();rfidUser);boe.setFlag(flag);rfidUser);boe.setUserRfid(rfidPool);boe.setPoolRfid(boe.setTime(time);boe.setEventType(type);rfidPool);if(type==4){boe.setBatch( "0");} else{boe.setBatch(batch);}boe.setPoolTemp(temp);eventService.insert(boe);userRfid.setText("");poolRfid.setText("");pondQrcode.setText("");temperature.setText("");//开辟一个新线程上传数据newThread(networkTask).start();Toast. makeText(getApplicationContext(),R.string.save_success_toast , Toast.LENGTH_LONGhow();} else {Toast. makeText(getApplicationContext(),R.string.not_null_except_temperature,Toast.LENGTH_LONshow();}break;}}}RunnablenetworkTask=newRunnable(){@Overridepublicvoidrun(){//TODO//在这里进行httprequest. 网络请求相关操作UploadServiceuploadService=newUploadService();uploadService.upload(YouthActivity. this);}};@OverrideprotectedvoidonDestroy(){if(scanThread!=null){scanTerrupt();scanThread.close();)unregisterReceiver(receive);super.onDestroy();))函数说明当扫描RFID就成功时发出提示音:Util.initSoundPool(activity 名称);程序的主体:init();开启数据上传线程:networkTask限制条件限制条件是,必须使用具有 RFID和二维码扫描功能的手持设备才能完成此功能。加工包装设计图功能描述此模块的主要功能是扫描员工的 RFID号,并显示到屏幕上去。工作人员选择产品类型,扫描产品二维码,一次可以扫描多个产品,并将数据保存到本地数据库输入数据变量名属性说明rfidgetstring员工的RFID(必填)如:QRCodeString产品二维码(必填)=18FC90BE5B8124AF983421D29BFC4352getProductTypeString产品类型(必填),包括:冻海参、淡海参、盐海参、鲜活海参、盐渍海参、及时海参TimeString操作时间。如在检测数据有效性时,需要检测 rfidgetUser与rfidgetPool 两个输入变量是否为空。这些数据的获取离不开具有 RFID扫描功能及二维码扫描的手持设备,对池塘
的RFID卡进行扫描并获取RFID号并且对池塘上的产品批次二维码进行扫描,获取产品批次二维码。输出数据变量名属性说明rfidgetstring员工的RFID如:QRCodeString产 品 二 维 码com/show.html?id=18FC90BE5B8124AF983421D29BFC4352getProductTypeString产品类型,包括:冻海参、淡海参、盐海参、鲜活海参、盐渍海参、及时海参TimeString操作时间。如flagInt数据存储状态标志位。如:1业务算法和流程数据设计给出本程序中的局部数据结构说明,包括数据结构名称,功能说明,具体数据结构说明(定义、注释设计、取值)等。相关数据库表,数据存储设计(具体说明需要以文件方式保存的数据文件名、数据存储格式、数据项及属性等。)源程序文件说明给出本程序的各源程序文件的说明,包括源程序文件名称及其所在目录,功能说明,包含的前导文件及函数名称等。函数说明当扫描RFID就成功时发出提示音:Util.iNtSoundPool( activity 名称);程序的主体:init();开启数据上传线程:networkTask为下拉菜单添加选项:init_spinner()将扫描多个二维码:sortAndadd(BlueOceanProduct类型的数组,String类型的二维码值),返回值为含有不同产品二维码值的List<BlueOceanProduct>类型的数组。限制条件限制条件是,用户具有是由此功能的权限和使用具有RFID限制条件是,用户具有是由此功能的权限和使用具有RFID和二维码扫描功能的手持设备才能完成此功能。物流管理设计图功能描述本功能的主要功能是将一批货物的二维码与快递公司、快递单号绑定到一块,
并记录当前操作的员工 RFID。用户扫描产品二维码就可以知道产品的运输途径简要描述子模块1的业务功能输入数据变量名属性说明rfidStrstring员工的RFID(必填)如:QRCodeString产品二维码(必填)=18FC90BE5B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省周口市郸城一高2026届高二上生物期末检测试题含解析
- 2026届甘肃省靖远第二中学数学高一上期末统考模拟试题含解析
- 2026届青海省海南市高一生物第一学期期末质量检测试题含解析
- 浙江省杭州五校2026届高二上数学期末预测试题含解析
- 四川省泸州市合江天立学校高2026届生物高三上期末联考模拟试题含解析
- 云南省镇康县第一中学2026届高三上数学期末复习检测试题含解析
- 2026届宁夏银川六中高一生物第一学期期末学业质量监测试题含解析
- 2026届山西省临汾同盛实验中学数学高三上期末检测试题含解析
- 黑龙江省哈尔滨尚志中学2026届高一上数学期末学业质量监测试题含解析
- 2026届湖南省长沙市普通高中高三上学期毕业班第二次调研考试物理试题 含答案
- 2025年中职食品雕刻(食品雕刻技术)试题及答案
- 2026青海西宁市湟源县水务发展(集团)有限责任公司招聘8人考试参考试题及答案解析
- 2025年大学(运动康复)运动康复治疗技术测试试题及答案
- 1256《数据库应用技术》国家开放大学期末考试题库
- 配电红外测温课件
- 美容院店长年度总结课件
- 江苏省2025年普通高中学业水平合格性考试历史试卷(含答案详解)
- 小学阶段人工智能在激发学生学习动机中的应用研究教学研究课题报告
- 2025年山西大地环境投资控股有限公司社会招聘116人备考题库及完整答案详解一套
- 民爆三大员培训题库及答案
- 小学苏教版科学三年级上册(2024新教材)知识点梳理及2025秋期末测试卷及答案
评论
0/150
提交评论