总结:web项目第一次上线的经历和遇到的问题。(果然不会那么顺利)

背景

在我担任负责人的大学实验室里,为了提高今后工作的效率和统一化管理,我在暑假时期组织实验室内人员开发一系列实验室的各种办公系统,其中就包括"招新系统",因为新学期需要招新。

招新系统的职能是:介绍实验室、提交招新报名表、后台统一化管理新人数据,并为后续实验室管理留下电子档案。

今天是招新系统上线的时间,再次记录系统上线所面临的的问题和解决的方法。

本篇博客是一次关于项目上线的总结,为今后上线其他项目留下经验。

过程

由于我是处于“项目经理”的身份上,但我知道我离真正的项目经理还差很远,这里请大家不要介意我的这个自称。

需求分析

考虑到招新系统的应用场景会是手机端和pc端,并且是面向每届400多个软件工程专业的新生服务的,所以在项目启动之前,我在备忘录中写出如图的“项目草案”。

在确定了简单思路后,我根据之前协调的人员和项目分配,挑选了两个成员(A1和B)和分别负责前端和后端(为了保护隐私,图片已经过马赛克处理)。在和他们交流讨论之后,确定了一些细节问题和应用场景的问题。比如,“需要响应式布局适应手机端和电脑端“、“实验室招新系统主题可以高格调,但不能花里胡哨”、“确定前后端开发语言(JSP+Java)、服务器的选择、数据库的选择”。

开发过程

我给了他们俩一个月的时间,对于这个系统来说,这足够长并且可以足够完善了。但是,在这一个月的过程中,开发人员都有“拖延”的现象,比如今天开发一点,然后弄些其他的等等,让人觉得他们会“充分分散时间”。看到这个现象,我压缩了他们的开发时间并经常性提醒,期间还简单给了他们一些指导意见。在压缩后的时间内,他们说完成了任务,这个时候,我放心了,也就没再关注这个项目转而去做其他事情了。(后面事实证明,我不应该这么快放手)

临近上线

还有一周招新系统就要上线了,我已经买好了阿里云服务器(windows版本),并装上了Tomcat服务器、JDK、MySQL数据库等等。我将云服务器的账号密码以及数据库账号密码给了那个后端成员,让他们部署到云端上以供外网访问。但是遇到了很多问题:(虽然最后都解决了,但是还是值得深思。)

  1. 招新表的页面设计过于简陋和粗糙。但是此时那个前端有事回家了,于是我把这个招新表页面的修改交付给另一个前端成员A2。

  2. 前端成员A2使用React单独重构那个页面,造成了资源的浪费和增加了对接的复杂性。正赶上A2刚接触React,便小试身手,由于A2对于React不熟悉,打包的结果是很臃肿的文件。所以我让A2再次重构招新表页面。

  3. 表单设计不友好。在表单填写的时候出现不合适的input类型,如性别使用了<input type='text'/>,对于输入格式不正确的数据也没有验证。所以我再一次驳回让A2去完善。

  4. 辅助功能不全。例如只实现了数据的增加和查询,并没有实现数据的删除;没有实现“公告发布区域”;等等。虽然本系统的主要目的是为了更方便地提交招新表,但最终数据处理方面也就实现了数据的增加和删除,未免太偷懒了。马上就要上线了,所以这个方面给自己敲个警钟:监督开发的过程中,一定要向开发者明确具体需求,并时刻监督。最好的方式是,在正式写代码之前,先用原型设计工具(如墨刀)作出整体的项目效果然后再决策是否要进入写代码环节。

  5. 项目迁移失败。在B主机上启动项目的时候,可以正常使用,但部署到公网的时候没能正常访问。后面又花了一些时间定为问题和解决问题。主要的问题是“没有统一数据库账号密码”、“代码中没有正确使用相对路径”等等。虽然都解决了,但是仍然耗费了一些时间和经历。最近,有另一个我的朋友推荐项目迁移的时候使用Docker,这个方案在未来再多做考虑吧。

  6. 用户可输入文字被限制在251字。在线招新表上理应是不限字数的,发现这个问题后,后端人员的解释是最长只能这么多,我内心真觉得他的底子还不够。这属于开发人员的知识技能欠缺和没有善于利用搜索引擎解决问题。后面我通过让另一个后端人员讲解长字符串的实现才解决这个问题。

  7. 未考虑并发问题。项目在开发的全程中,没有考虑并发问题,我们之前做项目也从来没考虑过这个。本次面向400多用户,我将这点问题临时跟后端同学反映,他然后再去解决的。

  8. URL设置不合理,可维护性差。后端成员B在部署后将链接发给我,我发现是类似"http://30.39.10.30:8899/XXX/XXX/XXX/XXX/index"这样的URL,真心觉得这样的长链接作为主页在视觉上会造成用户体验不良好的问题,所以我提议将主页映射"协议+主机名"访问到主页,但他说他的框架逻辑在现在这个地步如果该这个需要改这个地方需要动很多代码,很复杂。为了解决这个问题和应对当晚就要上线的系统,我提议使用了一个8080端口的index资源进行跳转,到之前的url主页,从而实现http://30.39.10.30:8080访问到主页的效果。

  9. 临时考虑要统计监控流量。这个是我临时加的需求。在页面index跳转的时候我又加了一个百度流量统计的代码,便于监控访问数据,为以后考虑并发量等等留下经验。

开始上线

夜深了,再一次模拟一遍填写招新表的流程之后,准备上线。

当看起来问题都解决的时候,我向坐在电脑旁的后端发出上线的指令,“项目上线!”,面向全体新生发出招新公告并附上招新系统的网址,此时是夜晚2019年9月11日22:47。

流量监控开始起作用,在第一分钟之内便有十几个ip的访问数据被监控到。

但是,不幸地是,还是出了一点问题。

在实验室的介绍页面中,有几张不起眼的图片没有正常加载,我迅速在chrome调试工具中定位到404的图片加载异常并向后端反映,此时流量监控中显示正在有人访问系统,在我们的公告群中也没有人反映这个问题。所以在凌晨的时候,流量监控持续是十分钟显示在线人数为0的时候,让后端B用1分钟的时间替换掉了打包的文件,修复了问题。

总结

到目前为止,没有再出现其他问题,但是这一系列的过程,有很多值得反思的地方。

  1. 需求说明需要精确化描述,最好能用上原型设计工具来辅助交流。

  2. 作为项目经理,要时刻监督和督促开发状况,预防偷懒。

  3. 开发者要在整个系统的设计上多下功夫,要考虑诸多方面,并发量、响应速度、场景需求、人性化提示等等,并学会站在用户的角度思考问题。

  4. 系统不测试彻底就不要上线,以免后期带来更高成本的漏洞修复。

  5. 项目要提前完成测试,不能等到即将上线还不断出现bug。

  6. 遵循软件的开发周期,不要跳过每个步骤,不然考虑欠缺的东西可能就是后期致命的伤害。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值