个人作业——软件工程实践总结作业
- 课程:软件工程1916
- 作业要求:个人作业——软件工程实践总结作业
- 学号:221600138
- 作业目标:软件工程实践总结
一、请回望开学初的第一次作业,你对于软件工程课程的想象####
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
达到期待:在课程中学习了一些新的知识,并且真正的运用到实践中去
存在不足:在课程进入到编码阶段的时候,因为个人能力的问题常常会拖慢团队的进度
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1.统计一下,你在这门软件工程实践中,完成了多少行的代码;
完成的代码行在1300左右
2.软工实践的各次作业分别花了多少时间?(做一个列表)
作业名称 | 所耗时间(h) |
---|---|
第一次作业-准备篇 | 2 |
结对原型设计 | 10 |
结对热词统计 | 10 |
团队展示 | 1 |
团队选题报告 | 4 |
团队项目原型设计 | 10 |
团队项目需求分析 | 10 |
团队系统设计数据库设计 | 2 |
团队Github实训 | 4 |
团队alpha冲刺 | 30 |
事后诸葛亮 | 2 |
团队beta冲刺 | 37 |
Beta阶段团队项目互评 | 1 |
个人作业——软件工程实践总结作业 | 1 |
3.哪一次作业让你印象最深刻?为什么?
Beta冲刺阶段,因为Alpha阶段的进度太慢,所有该有的功能完全没有实现,因而在Beta阶段就一直在补Alpha阶段的进度,虽然说Beta阶段我耗费了挺多时间,但是总体来说对我们的项目的贡献还是挺低的
4.累计花了多少个小时在软工实践上?平均每周花多少个小时?
不算上学习新知识的时间的话大约在124个小时,刚开始 的时候大概是每周6个小时,后面的冲刺阶段大概是20-30个小时
5.学习和使用的新软件
Android Studio,墨刀,git desktop
6.学习和使用的新工具
adb
7.学习和掌握的新语言、新平台
AndroidStudio
8.学习和掌握的新方法
Scrum敏捷开发
9.其他方面的提升
团队协作能力,沟通能力,markdown的使用
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析####
遇到了困难多百度或多与队友交流,有的时候你的代码可能你自己是无法看出有什么问题的,但是别人却能一眼看出;
依据自己的实际能力来做,不要随意的给出承诺(团队项目中有一个功能我是通宵达旦才完成了的),要依据自己的能力去适当的包揽任务
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?####
建议:多多的专注与一门或两门主要的部分,作为自己的擅长部分,而不要每一种都懂一点却又未深入的去理解;这样在组队的过程中你可以之开发自己擅长的部分而不必为了学习新技术或者是因为能力不足而导致拖慢了整个项目的进度;
关于换队员:希望更换的队员由各组队员相互之间协商决定
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)####
我们大概经历了三个阶段:萌芽阶段、磨合阶段和规范阶段。至于创造阶段,我们距离它仍由这很大的距离,目前我们都是能够遵循基本的代码规范以及添加相应的注释
五、怎样证明你学会了软件工程?####
1)研发出符合用户需求的软件:必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
参考我们的用户试用报告,软件还是有很大完善的空间
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件:有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
团队有通过git版本控制,冲刺时有开会协调,发布随笔记录,队员有错误会帮忙指导,数据库虽然经历两次重构但数据字典都一直同步更新
3)并且通过数据展现软件是可以维护和继续发展的。而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
代码有注释,尽管没有详细的接口文档,这是要改进的一点
数据库虽然经历两次重构但数据字典都一直同步更新