个人作业——软件工程实践总结作业
这个作业属于哪个课程 | 软件工程1916|W(福州大学) |
---|---|
这个作业要求在哪里 | 个人作业——软件工程实践总结作业 |
学号 | 221600306 |
这个作业的目标 | 总结本次软件工程实践课程的所学所思 |
一、请回望寒假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
通过整个课程实践,对软件项目开发过程有了一个较为具象的了解,知道了软件项目开发和维护的一般过程,锻炼了文档撰写的能力。在这几个方面达到了我的期待和目标。
然而,除了老师要求的提交的、课程相关的博客以外,并没有完成自己设想的,对专业知识进行梳理并完成博客笔记。要问原因的话,大体就是本人分身乏术了,时间和精力都不够支持自己完成这个计划,还是挺可惜的。希望等稍微有空,可以继续这个计划。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门软件工程实践中,完成了多少行的代码;
作业 代码(行) 结对编程_PairProject1 299 ++ 109 -- 结对编程_PairProject2 5,482 ++ 2,584 -- Github实训 121 ++ 0 -- 团队项目 7,660 ++ 3,069 -- 总计 13,562 ++ 5,762 -- -
软工实践的各次作业分别花了多少时间?
作业名称 时间(h) 第一次作业-准备篇 2 结对第一次—原型设计(文献摘要热词统计) 32 结对第二次—文献摘要热词统计及进阶需求 35 团队作业第一次—团队展示 1.5 团队作业第二次—项目选题报告 2 团队第三次-项目原型设计 6 团队作业第四次-项目需求分析 3 团队作业第五次—项目系统设计与数据库设计 8 团队作业第六次—团队Github实战训练 24.5 项目Alpha冲刺(团队) 90 事后诸葛亮(团队) 2 项目Beta冲刺(团队) 48 Beta阶段团队项目互评 4 个人作业——软件工程实践总结作业 2 总计 260 -
哪一次作业让你印象最深刻?为什么?
alpha冲刺吧,切实感受到了团队合作的氛围,和组员一起编码,谈论项目,修改bug,挺难忘的,印象很深刻。
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花费了260个小时,课程开始到目前为止十五周,平均大约每周花费17个小时。
-
学习和使用的新软件;
Github Desktop、Idea、Postman。
-
学习和使用的新工具;
墨刀,teambition,TeamViewer。
-
学习和掌握的新语言、新平台;
无。
-
学习和掌握的新方法
使用已有框架代替手动造轮子,比如Volley和Glide。
-
其他方面的提升。
人际交往,团队合作,debug和修bug的能力。
二、写下属于自己的人月神话
> 接口文档对团队编程真的很重要。在结对编程的时候,我和舍友是互相充当对方的领航员,在具体代码实现上并没有太多交集。而在团队编程中,因为涉及到了前后端交互,在编码过程中就十分依赖接口文档,包括各种传递的参数,参数的类型,服务器返回的数据类型判断和解析,这个部分也是前后端交互工作的重心。每次发现bug,都要自己测试几遍,然后向后端反应,有纰漏的地方及时修复,文档也及时更新。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
对下一届的建议:时间管理要做好,如果软件工程实践依然安排在大三下的话,大家要对自己的任务安排金做出适当的调整,把选修课多安排在大三上,毕竟软件工程实践要耗费的时间还是比较多的,在这样的情况下要兼顾考研或者就业已经有些困难了,选修课又多的话这个学期会更吃力。
对后来人的期许:一个软件项目以满足现有用户的需求,解决用户痛点为重点当然没错,但是就像乔布斯所说,“消费者并不知道自己需要什么,直到我们拿出自己的产品,他们就发现,这是我要的东西”,希望学弟学妹们能够开发出一些令人耳目一新的项目,让用户觉得这就是他想要的软件。
对于是否要中途换队员,我认为要换的话,还是先匹配一下交换的队员的在原小组的职责,比如前端队员互换,后端队员互换这样子,比较合适,大家意见也不会太大。
四、分析一下自己所处的团队。
- 萌芽阶段
经历过,当时确实对自己要完成的任务的规模,以及具体如何完成需要琢磨一段时间,然后当时也很依赖组长发布任务。- 磨合阶段
磨合阶段的话,好像也没有出现什么分歧和冲突,都是有问题解决问题,我们小组的组员都很负责任,也很善于倾听,任务安排执行都挺顺利的。可能有的时候进度没赶上,如果是自己的部分的话,该都熬夜赶工完成也都没有推脱,还是很拼的。- 规范阶段
经历过alpha阶段,我们小组在beta阶段冲刺时就更加合作无间,组员各自从teambition上领取任务完成。测试同学在teambition反馈bug,开发同学领取bug任务修复,整个beta阶段的工作有条不紊的进行着。- 创造阶段
如果说完成软工实践是我们小组的共同远景的话,按照创造阶段的特点,共同愿景,高度自治,角色和职责能够更具项目的要求自然的转换,没有人为此担心或者发牢骚,我认为我们达到了创造阶段。
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
我们小组通过teambition安排任务,通过组长派发任务和组员领取任务,有序的完成了整个项目的开发。
3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
源代码在XZPT-Java、XZPT-Android上,项目进度和迭代过程在teambition上,接口文档和代码规范在ShowDoc上。相关的文档和项目资料都很完整为后续的维护和扩展提供了有力的支持。