技术控

    今日:77| 主题:52645
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] 项目总结:游船管理系统

[复制链接]
离落染纤尘一抹绕指柔 发表于 2016-10-15 16:15:24
135 3

立即注册CoLaBug.com会员,免费获得投稿人的专业资料,享用更多功能,玩转个人品牌!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
这个学期有一门课,叫    软件工程。老师说,这个学期有四个项目,可以使用 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   
  • 阻止外部文件拖拽进窗口  
  记录可重用代码  

  1. /* 禁用鼠标右键、F12
  2. *************************************************/
  3. document.addEventListener("contextmenu",function(e){
  4. e.preventDefault();
  5. });
  6. window.addEventListener("keydown",function(e){
  7. if(e.keyCode ==123) {
  8. e.preventDefault();
  9. }
  10. });
  11. /* 阻止文件拖拽进窗口
  12. ***************************************************/
  13. window.addEventListener('dragover',function(e){
  14. e.preventDefault();
  15. e.dataTransfer.dropEffect = 'none';
  16. });
  17. window.addEventListener("drop",function(e){
  18. e.preventDefault();
  19. });
  20. /* 一些 nodejs 路径
  21. ****************************************************/
  22. varfs =require("fs");
  23. varpath =require("path");
  24. // 获取当前exe文件所在的路径
  25. varexecPath = process.execPath;
  26. // 获取当前exe文件所在的目录
  27. varexecDirPath = path.dirname(execDirPath);
复制代码
总结  

  
       
  •       寻找应用中的相似性,以便重用代码。      
       
  •       不管做什么东西,        提前的设计是非常有必要的,不能瞎头瞎脑就开始写代码,不然你的代码的重用性就大打折扣了。      
       
  •       不要惹恼你的用户,这也是我为什么对表单报错进行了优化,要是之前,每次报错都要 alert 一次,好烦的。      
      
  最后,引用张鑫旭大神说过的一句话:    通过技术弥补设计缺陷是很傻逼的
友荐云推荐




上一篇:Android Volley源码分析(一)
下一篇:BAOCMS商圈O2O系统2.0功能界面全新升级 想要低调都不行!
酷辣虫提示酷辣虫禁止发表任何与中华人民共和国法律有抵触的内容!所有内容由用户发布,并不代表酷辣虫的观点,酷辣虫无法对用户发布内容真实性提供任何的保证,请自行验证并承担风险与后果。如您有版权、违规等问题,请通过"联系我们"或"违规举报"告知我们处理。

HFDHFHD 发表于 2016-10-15 23:03:55
技术控的帖子越来越有深度了!
回复 支持 反对

使用道具 举报

啦啦啦啦啦啦 发表于 2016-10-17 00:08:28
看起来不错
回复 支持 反对

使用道具 举报

丹彤 发表于 2016-10-19 03:26:30
路过的帮顶
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我要投稿

推荐阅读

扫码访问 @iTTTTT瑞翔 的微博
回页顶回复上一篇下一篇回列表手机版
手机版/CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 )|网站地图 酷辣虫

© 2001-2017 Comsenz Inc. Design: Dean. DiscuzFans.

返回顶部 返回列表