资讯专栏INFORMATION COLUMN

项目总结:游船管理系统

james / 3050人阅读

摘要:项目总结游船管理系统这个学期有一门课,叫软件工程。这里先亮出第一个项目。需求某公园有一个游船码头,负责人希望开发一游船管理系统。要求如下当游客租船时,管理员输入表示租船周期开始当游客还船时,管理员输入表示租船周期结束。

项目总结:游船管理系统

http://blog.percymong.com/201...

这个学期有一门课,叫软件工程。老师说,这个学期有四个项目,可以使用 any language(帅气,正好可以拿来练 js)。这里先亮出第一个项目。

需求

某公园有一个游船码头,负责人希望开发一游船管理系统。要求如下:当游客租船时,管理员输入 S 表示租船周期开始;当游客还船时,管理员输入 E 表示租船周期结束。

一天结束后,要求打印租船次数和平均租船时间

输出一天中的最长租用时间

将报告分上午和下午输出

当通信线路出问题时,删除一切不完整租船信息

只要你学过 C/C++,看到输入 S 和输入 E,总会情不自禁地想起那个黑黑的窗口,没错,就是控制端程序的那个窗口。

但是老师不是说了,可以使用任何语言嘛!

真巧,最近正好发现了 node-webkit,可以用前端三把斧(HTML、CSS、JavaScript)来开发桌面应用喽,那就来试试呗!

程序语言与环境

语言: HTML、CSS、JavaScript

编辑器: Sublime Text 3

运行环境: node-webkit

打包工具: Inno Setup Compiler

源代码与应用

我已经将源代码寄存到了 GitHub 上面了,链接在这里!

应用文件放在了度盘里:点这里。

优化

添加身份验证信息(姓名:2到4个汉字;身份证号:18位数字;租船编号:boat+编号)

将主界面与详细租船信息界面分离

打开程序时,检测文件中的有效数据,读取并显示在页面上(使用nodejs的fs模块)

还船时,将完整数据存入文件(租船结束的称之为完整数据)

添加欢迎界面,关闭页面提醒(使用了一个JavaScript库:PleaseWait.js)

加入价格,租船结束后显示账单

将船的总量和租船价格只在全局变量中进行定义,方便更改船的数量

管理员可通过更改 config.json 文件,从而更改船的数量以及租船价格(本来准备为应用添加一个设置菜单来实现这个功能,后来为了美观,放弃了这个决定)

表单优化,不再使用alert提示错误信息,使用css伪元素显示错误信息

禁用鼠标右键和 F12

阻止外部文件拖拽进窗口

记录可重用代码
/* 禁用鼠标右键、F12
*************************************************/
document.addEventListener("contextmenu", function(e) {
  e.preventDefault();
});
window.addEventListener("keydown", function(e) {
  if (e.keyCode == 123) {
    e.preventDefault();
  }
});


/* 阻止文件拖拽进窗口
***************************************************/
window.addEventListener("dragover", function(e) {
  e.preventDefault();
  e.dataTransfer.dropEffect = "none";
});
window.addEventListener("drop", function(e) {
  e.preventDefault();
});


/* 一些 nodejs 路径
****************************************************/
  var fs = require("fs");
  var path = require("path");
  // 获取当前exe文件所在的路径
  var execPath = process.execPath;
  // 获取当前exe文件所在的目录
  var execDirPath = path.dirname(execDirPath);
总结

寻找应用中的相似性,以便重用代码。

不管做什么东西,提前的设计是非常有必要的,不能瞎头瞎脑就开始写代码,不然你的代码的重用性就大打折扣了。

不要惹恼你的用户,这也是我为什么对表单报错进行了优化,要是之前,每次报错都要 alert 一次,好烦的。

最后,引用张鑫旭大神说过的一句话:通过技术弥补设计缺陷是很傻逼的

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80673.html

相关文章

  • Java3y文章目录导航

    摘要:前言由于写的文章已经是有点多了,为了自己和大家的检索方便,于是我就做了这么一个博客导航。 前言 由于写的文章已经是有点多了,为了自己和大家的检索方便,于是我就做了这么一个博客导航。 由于更新比较频繁,因此隔一段时间才会更新目录导航哦~想要获取最新原创的技术文章欢迎关注我的公众号:Java3y Java3y文章目录导航 Java基础 泛型就这么简单 注解就这么简单 Druid数据库连接池...

    KevinYan 评论0 收藏0
  • 移动商城项目总结

    摘要:有必要建一个资源服务器存放静态资源。一些用户级别的数据轻量可以考虑存储在中。存储的是值,可以通过来对和对象之间的转换如果我们的数据是在后台传过去或者转换而成的,在前台上并没有做什么改变的话。 移动商城项目总结 移动商城项目是我第二个做得比较大的项目,该项目系统来源于传智Java168期,十天的视频课程(想要视频的同学关注我的公众号就可以直接获取了) 通过这次的项目又再次开阔了我的视野,...

    BlackHole1 评论0 收藏0
  • 新疆智营销项目总结

    摘要:需要对本项目做一个总结,提醒自己,记得这些问题。总结自己在这个项目犯得错以及踩的坑,自己在今后的项目将会注意以下事项了解项目整体需求和结构,知道哪些组件会公用。 新疆智营销项目是我来到亚信的第一个项目,项目初期需求分析没有参加,接到设计图直接写,没来得及系统的了解整个项目的结构,表格组件定下来之后,表单form的输入项打算让郭山专职负责,后来情况发生变化导致表单一块前后三个人参与,没有...

    monw3c 评论0 收藏0

发表评论

0条评论

james

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<