以互联网+体验式社区农场为例的毕业设计课题设计
来源:论文查重 时间:2019-10-29 12:33:06
摘 要: 分析我国农业扶贫攻坚推广新模式的体验式社区农场的应用需求,结合大学本科生的毕业设 计任务,提出“互联网 +”课题的设计方案,介绍同济大学软件工程专业本科生的教学实践,说明效果。 关键词: 学科知识集成应用;毕业设计;互联网 +;软件工程 0 引 言 “互联网 +” 技术是软件工程学科一个重要的 研究方向 [1-2], 也是现今社会上创新创业最活跃, 创造大量社会和经济价值的新型领域。 软件工程 专业的学生具有极大的热情学习这门科学技术, 为此, 软件工程学科通常开设数据结构与算法、 软件工程、 计算机网络、 无线传感网络、 数据库 设计、 移动计算等课程, 这些课程体系有力地支 撑着“互联网 +” 技术的教学。 为了培养学生的 实践能力, 这些课程还包含专门的教学实验和课 程设计。 毕业设计阶段是一个培养学生集成应用能力 的重要教学阶段 [3]。 在毕业设计阶段, 本科生已 经完成了各门课程知识的学习, 同时具备课程相 应的技术开发能力, 但本科生在将课程间的知识 与技术融会贯通方面仍缺乏足够的能力, 包括协 同设计和开发能力。“互联网 +” 项目需要集成多 种技术, 为用户提供多维的服务, 然而, 目前高 校面临的较为普遍的问题是部分课程及其相应的 课程设计相互孤立, 因此, 难以培养学生的集成 应用能力 [4], 学生无法胜任开发完整的“互联网 +” 项目任务。 1 “互联网+”应用需求分析 “互联网 +” 技术是一项重要的技术革命, 通过无线或有线的网络, 将商品或者服务的供应者 和消费者联系在一起, 构造一种全新且便捷的渠 道, 创造社会和经济价值, 因此,“互联网 +” 也 成为当前创新创业的热门领域。 分析现实社会的“互联网 +” 应用需求, 设 计“互联网 +” 的毕业设计课题, 需要兼顾多方 的需求, 如图 1 所示。 参与毕业设计的学生都希 望参与贴近现实社会的项目开发, 并且愿意进行 团队协作开发, 提前适应未来的工作方式; 毕业 设计指导教师需要毕业设计项目满足学校的教学 要求, 能够覆盖相关课程的核心知识, 并且开发 过程有一定的深度和难度; 企业都在进行信息化 建设, 离不开使用“互联网 +” 技术, 但是他们 难以准确描述所需要的“互联网 +” 系统。 采用“互联网 +” 体验式社区农场的毕业设计 项目作为示例, 目的是培养学生的知识和技能的 集成应用能力, 以及促进创新创业活动的开展 [5]。 体验式社区农场是一种被各地农业扶贫攻坚推广 的新型农业模式, 让消费者参与生态农业生产, 最后农产品直接输送给消费者。 这种农场不仅能 提高农业经济效益, 增加农民收入, 而且能让消 费者获得最新鲜的农产品。 实现这种农场需要网 络技术的支持, 一方面, 这种农场需要使用网络 技术监控生态作物, 控制农业种植过程, 以提高 生产效率; 另一方面, 农场需要具备农产品买卖 和农场租用功能, 为消费者和农业工作者提供服 务。“互联网 +” 体验式社区农场的毕业设计项目 需要满足上述应用需求。 2 “互联网+”毕业设计课题的设计 毕业设计是本科生毕业之前最后一个实践 教学环节, 也是全面培养和检验学生综合运用学 科知识的重要教学过程, 因此, 软件工程专业的 “互联网 +” 毕业设计课题的设计必须紧密结合 软件工程相关课程知识, 并且具有一定的难度和真实性, 促使学生深入掌握相关知 识。 具体而言, 首先需要详细地分 析“互联网 +” 的社会需求, 然后细 化为明确的项目需求, 再筛选出与 课程知识相关的需求点, 建立起项 目需求与课程知识点之间的映射关 系。 一个大的项目可能需要分解成 若干个子项目, 自然地需要将各课 程的相关知识点融入子项目中, 最 终形成毕业设计任务书。 以“互联 网 +” 体验式社区农场系统为例, 设 计“互联网 +” 毕业设计的详细过程 如下。 首先, 设计“互联网 +” 体验 式社区农场系统的功能需求, 包括 信息管理、 农产品管理、 农田租赁、 个人农田详情、 登录与注册和日志 管理, 如图 2 所示。 这些功能进一 步细化, 形成明确的功能, 如信息 管理包括用户信息和地址信息管理, 而农产品管理包括浏览农产品、 收藏农产品、 编辑购物车和订单管理。 其次, 按 照功能属于“互联网 +” 系统的前端和后端, 以 及前端的运行平台, 将这些功能需求划分为互联 网网站、 手机 APP 客户端、 物联网系统和网络 后端 4 个子系统。 这些系统的开发都需要按照软 件工程的流程进行, 各子系统开发所需要的知识 分别对应计算机网络、 移动计算、 物联网、 数据 库系统等课程。 最后, 将相关课程知识融入子项 目的任务书里。 ①网站系统主要对应计算机网络 课程, 涉及网页开发和组织, 但是网页数量庞大 而且类似, 因此还可以将面向对象的程序设计思 想融入该项目中。 在任务书中, 要求将所有网页 聚类, 然后设计网页的模板, 采用这些模板设 计具体的网页。 ②手机 APP 开发主要对应移动 计算课程, 涉及 Java 移动开发, 需要调用手机 短信库和 WiFi 数据, 还需要与其他平台进行交 互, 因此, 本项目的任务书包含数据流管理的任 务, 保持与网站数据同步更新, 同时对数据更新 添加写数据锁。 ③远程种植控制系统对应物联网 课程, 该项目的任务书包括使用节点采集数据和 控制种植操作; 实现无线结点之间的组网和数据的点播、 组播和广播; 物联网结点与远程终端通 过短信或者 WiFi 进行数据通信。 ④后端系统主 要对应数据库系统课程, 需要进行数据设计覆盖 所有的信息, 同时需要明确数据之间的 ER 关系。 由于后端设计中的 IP 地址管理比较复杂, 任务 书要求学生使用云平台实现后端, 而且后端还需 要管理“互联网 +” 系统中的日志信息。 3 “互联网+”毕业设计课题的实施 同济大学软件学院大学四年级的 4 位学生组 成团队, 负责“互联网 +” 体验式社区农场系统 的开发。 4 位学生分别负责“体验式农场” 的网 站设计、“体验式农场” 的手机 APP 设计、 远程 种植控制系统和“体验式农场” 的后端设计。 首 先, 根据软件工程课程的要求, 每位学生都被要 求构思各自系统的功能需求, 并且把这些功能需 求写入各自的毕业设计任务书中; 其次, 负责后 端设计的学生设计全系统的概要设计框图, 明确 其他系统接入后端的接口, 如图 3 所示; 第三, 该学生和其他学生开展讨论, 确定全系统使用到 数据以及数据之间的关系, 并且约定各系统需要 提供的日志信息; 最后, 该学生需要采用现有商 用的云平台, 部署本系统的后端。 负责网站设计的学生明确“体验式农场” 系统中农产品交易的 需求、 农田租赁需求以及用户管理需求, 设计各 种网站界面, 实现这些功能并且设计全系统一致 的界面风格。 负责手机 APP 系统的学生, 利用 Android 手机开发模板, 再现网站中的各种界面。 该学生还需要使用 Java 程序开发中涉及的系统 调用, 读取手机 SIM 卡中的短信数据库以及获 取 WiFi 传送的数据; 开发远程种植系统的手机 操控界面, 通过短信数据和 WiFi 数据与远程种 植的物联网系统进行交互。 负责远程种植系统的 学生需要完成种植控制节点的自组网、 网络内的 数据采集与种植操作的实现以及实现与手机 APP 的数据交互。 在系统开发阶段, 组织团队开展“互联网 +” 毕业设计项目是培养本科生团队协作能力和训练 系统开发能力的有效途径。 一方面, 课堂上涉及 的很多系统开发问题, 只有当开发多个系统集成 的大项目才会出现, 因此, 有必要进行团队协作 以解决这些问题。 ①程序开发课程中强调的程序 可使用性, 在大项目的开发过程中尤其重要。 程 序的团队开发过程需要按照软件工程的要求, 书 写完整的软件开发文档, 然后严格执行开发过 程。 ②程序的团队开发一定要注意程序中所有的 变量与数据保持一致, 如用于平台间通信的数据必须有统一的格式, 多个平台共用数据(订单) 的属性也必须保持一致。 另一方面,“互联网 +” 毕业设计课题需要多 平台协同完成, 程序的开发过程会有许多实战中 才能遇见的问题, 需要团队协作解决。 ①开发过 程需要考虑数据流管理。 数据发生更新前, 需要 添加数据锁, 避免其他平台读入脏数据或者其他 平台竞争性写入数据; 同时, 系统需要动态刷新 显示数据, 确保更新后的数据同步显示在各种平 台上。 ②开发过程需要考虑程序健壮性的问题。 在完成任意操作或者可能出现错误的部分, 系统 需要产生日志信息, 后端系统需要妥善管理日志 信息, 确保系统中的操作(或者故障)可追踪。 最后需要注意的是,“互联网 +” 项目开发将会遇见很多困难, 不仅需要学生组成团队协同攻 关, 而且还需要指导老师和其他学生团队进行协 同攻关。 4 结 语 “互联网 +” 毕业设计项目的实践表明, 毕业 设计课题应该有真实的社会需求, 这样才会受到 学生的欢迎, 进而获得较好的教学效果;“互联网 +” 领域的毕业设计课题应尽量设计成为团队协作 的项目, 以培养学生的团队协同攻关能力。 同济 大学软件学院本科生开发的“互联网 +” 系统交付 湖南省某贫困县的农业企业使用, 受到好评, 以 此课题为背景的教学改革项目也获得学校的立项。 相关文章:基于产教融合的应用型本科“1+2+7”毕业设计模式研究与实践