软工项目总结

这学期软工小组的开发就快结束了,回想整个开发过程,感慨颇多。

首先是刚开学时的组队和选题,我们各自提了好多项目,有的太简单,有的没有价值,有的又太不切实际,最终我们选定付千山同学在高中设计的游戏作为题目,因为这既新颖又有前期调研,而且也比较有趣。

但其实,我之前从来没有游戏开发的经验,组员们也只了解一两门语言,几乎没有大型项目开发经验。所以,这次项目从技术选型到开发都是一边摸索一边做。现在回过头去看,有得有失。首先,Travis CI 的学习和使用是非常正确的决定,因为后端运行环境比较苛刻,不方便在组员自己的电脑上搭建。因此,我们需要快速部署更新的代码,以方便测试和调试。如果按照我以前的方法手动更新,那么效率将大大降低。这个问题还有一个解决方案,即配置一个 docker 镜像,让大家都能迅速搭建服务器。这个方案也很不错,下次可以实践一下;然而,技术选型就有些差强人意了。先说后端,后端的技术是 Scala + Java,效果并不如刚开始以为的那么好,Scala 和 Java 的交互体验并不是那么友好,一是 Scala 的库 Java 用起来很困难,二是 Scala 的常用写法在 Java 没法写,三是 Scala 和 Java 的并行控制也不尽相同,尤其是在 Scala 中使用 Actor 时。不过庆幸的是,Java 部分的代码大部分是无状态的,这方便了单元测试,也方便了并发控制。再说前端,前端使用 Phaser 和 JavaScript,Phaser 有一些坑,比如输入框和场景控制,而且 Phaser 框架整体较重,调试体验并不好。JavaScript 是一门有诸多缺陷的脚本语言,作用域问题曾给我们带来了痛苦的 debug 经历。如果重新选择技术栈,我可能前后端都选择 TypeScript,或者前端 TS,后端纯 Scala。在这次开发过程中,我也犯了好几次错误,一是场景变换问题,之前我们使用的是网页跳转,这是很不好的,会导致资源重复加载,后来在了解到 Phaser 里有场景变换后,我才花大力气把它们重构了;二是前后端在游戏中的交互,应该使用 Socket 直接交互的,我这次使用了 http,显得有些笨重,但还好前后端交互流量不大。

在项目管理上,我的经验是,在项目初期分工不必太明确,因为项目架构还没完全建立起来,模块的边界还不清晰,所以大家可以参与整个项目的代码 review,或者至少对项目各个部分是做什么的有一些了解。以及,这个阶段,我不认为应该投入很多人力,应该让经验丰富的工程师先完成项目架构的搭建,然后再进入下一步的开发。任务墙和 issue 是很好的东西,可以让我们方便地记录、讨论和拟定开发计划。另外,脏的代码应该及时重构,或者明确标注,以限制其使用范围,不然到了后期改起来会非常麻烦。

总之,这是一次非常宝贵的开发经验。在这次项目开发中,我不仅学到了规范的软件工程管理流程,也提高了自己的业务水平和与人沟通合作的能力。

原文地址:https://www.cnblogs.com/nicekingwei/p/9410876.html

时间: 2024-10-16 16:14:07

软工项目总结的相关文章

软工项目个人总结

目录 相关链接 个人工作总结 项目总结 课程建议 一.相关链接 饱了吗app前端:https://github.com/startproge/baolema 需求分析:https://www.cnblogs.com/Clover-yee/p/11771395.html UML图:https://www.cnblogs.com/Clover-yee/p/11882669.html 原型设计:https://www.cnblogs.com/Clover-yee/p/11934420.html 会议记

软工项目WordCount

1.Github项目地址:https://github.com/JameMo/WordCount-for-C        2.在程序的各个模块的开发上耗费的时间: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 8 · Estimate · 估计这个任务需要多少时间 10 8 Development 开发 350 350 · Analysis · 需求分析 (包括学习新技术) 150 120 ·

软工第一次作业-01 软件工程的实践项目的自我目标

1.对实践项目完成后学习到的能力的预期: 完成实践项目,首先有利于自己编程代码的能力,对软工项目的热情也能有所提高,熟悉并熟练掌握项目的开发过程.培养团队合作精神.在实践课程结束之前,希望自己能掌握单独完成一个简单项目的能力. 2.对项目课程的期望: 希望课程能深度的讲授项目开发的操作过程,如何应用.并且能给予团队之间更多配合交流的机会.能不拒绝同学的一些提问和疑惑. 3.对项目的愿景规划: 在初期,投入百分百的热情去学习与交流,努力加强团队意识.之后,会努力完成自己所要做的任务,在团队中尽可能

软工2019_MucMuc项目个人总结

MucMuc项目个人总结 1.相关链接 原型界面设计链接 UML设计链接 github项目链接 2.项目个人分工 项目总体的部分设计 后端项目总体构建, 代码实现, 以及测试 阿里云后端服务器的配置和项目部署 3.开发过程 开始 在项目最初的阶段, 整个组对于要做怎样的工作并没有清晰的想法. 不知道如何开始工作, 从何做起, 开发工具为何, 是面临的最大难题. 因为没有任何有对于web开发有经验的成员. 从前后端开发工具的选择上, 到前后端通信的具体流程, 都没有一个较好的认知. 这也直接导致了

软工绘图

由于是截图,清晰度可能不够,这里有源文件:http://pan.baidu.com/s/1i4XC6HJ 个人博客ER图: 绘制机票预订系统的类图: 绘制机票预订系统的用例图 沙河<->本部: 网上购书流程图: 软工项目甘特图:

软工总结博客

本学期是我大学这三年中最忙碌的一个学期,因为编译大作业.数据库大作业和软工项目都集中在了这一个学期中,在这个学期里我也第一次有了通宵码代码调程序的“可怕”经历.在我们的团队项目中,我担当的是主力的前端程序员,主要负责对往届的前端代码进行重构.在M1阶段中,我对往届的代码进行了认真的分析,在他们的代码逻辑基础上结合最新的android技术进行代码的重构.重构的任务比较重,我也为这项任务通宵过.在M1阶段中,我们团队的另外两位同学对后端进行修改,从而成功地支持了我前端的各类功能.虽然还有一些功能没有

软工课程之我思我收获

<软件工程>这门课像我们的诤友,不断督促我们前进,又不断指引我们收获.时间飞逝,我一个个完成了课程中的所有任务,一步步走到了期末年末.走的远了,也该回头看看.回顾于此: 一个学期的软件工程即将落下帷幕,在这样一个历程中,我收获很多,也感受到很多.    这是一门与实践结合极其紧密的课,而对于这样的课,总是让我感到兴奋.因为我们确实是在做中学,在学中做.而不是单单地背些转眼就忘.没有切身体会的枯燥词句.而团队项目更是让我感到刺激.我一直觉得一群人,朝着一个共同目标,并肩地努力,是最美好的事情.

软工读书笔记 week 8 —— 《疯狂的程序员》

这次接着上一次的进度继续阅读,并将其中感悟较深的几点记录如下.      程序员是一个幕后工作者 书中绝影给医院写软件,而医生(用户)只是评价这个软件好不好用,而不会去评价写这个软件的程序员优不优秀.这看起来对程序员不太公平,我辛辛苦苦写的代码,评价都没有我的份.但是这就是个事实,一个软件开放给用户的只是它的功能.它的界面,用户不会管某一个功能实现起来背后的代码有多复杂,他只是从他用这个软件的感受出发.所以,还是那句话,用户体验是第一位的. 高分和技术矛盾吗 在周总审阅简历的时候,有这么一份简历

软工个人总结

个人总结,持续一个学期的软工终于画下了句点,我们的网站也能够运行.在本次的软工项目中,我被分在后端小组,学习了数据库的建立和基本操作,学期中我投入的精力较少,仅学习了后端操作,并制作了PPT,也给小组的其他成员造成了过多的负担.在后端的建立中我并未出太多的力气,学期结束后,我负责服务器的购买,域名的注册,连接,备案.并负责将程序从本地上传的服务器上,选择利用FLASHFXP软件将软件上传的服务器去.上传的过程中我一开始只将文件传上去而没有build,在build过后才能在服务器端使用. 这次软工