软件工程
软件工程 |
|
---|---|
作业要求 |
|
作业目标 |
|
作业正文 | https://www.cnblogs.com/chengchenc/p/13268859.html |
参考文献 |
|
一、回望
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 达到期待的
A: 对项目开发必要的流程,各流程中该做的
B:在团队开发中所要承担的角色职责
- 不足
A: 在团队开发中的编程能力及技术掌握能力
B:具体工具的操作能力
- 存在不足的原因
自身对相关技术知识的掌握不足,对具体工具的操作不够。在项目开发中学习的还不够多。
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你在第二次作业中绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
- 第一次作业的预期值
达到了75% - 第二次作业的预期值
达到了55% - 原因
自身能力的不足,对自身能力的认识失误
(3)请总结这门课程的实践总结和给你带来的提升?
项目 | 学到的东西 |
---|---|
学习和使用的新软件 | JProfiler;Axure RP;IDEA;墨刀;Navicat Premium;xmind |
学习和使用的新工具 | Chrome Debug;markdown;Axure;github bash,xmind |
学习和掌握的新语言 | css;Go;python |
学习和掌握的新平台 | GitHub;博客园;itype |
学习和掌握的新方法 | 瀑布模型;结对编程;盲盒测试;用例图;顺序图:分析类图等 |
工程能力的提升 | 能工程化的处理项目任务,能按时完成项目任务 |
团队合作上的提升 | 结对编程的熟练,与开发组成员之间的合作更加顺畅 |
-
统计一下,你在这门软件工程实践中,一共完成了多少行的代码?
A: 1895行
-
软工实践的各次作业分别花了多少时间?
作业 | 耗时(h) |
---|---|
软件工程问题清单 | 2 |
第一次作业——个人简历 | 2.5 |
第二次作业——学习路线 | 5 |
第三次作业——数独 | 34 |
第一次结队作业——原型制作 | 70+ |
第二次结队作业——“学术树”实现 | 85+ |
团队展示 | 0.75 |
项目需求分析 | 8 |
项目系统设计和数据库设计 | 9 |
团队冲刺 | 48+ |
事后诸葛亮 | 4 |
-
3.哪一次作业让你印象最深刻?为什么?
答:第一次结队作业——原型制作 ,因为第一次实际进行结对编程,与结对搭档的开始是要慢慢磨合的,也是第一次接触原型设计,第一次使用墨刀进行原型设计。三个第一次让我印象深刻。
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
答:开学前期每天2~4个小时,每周至少30小时
开学后期每天2-3个小时,每周至少12小时
二、团队总结
1.软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
答:团队发展分为:萌芽阶段————磨合阶段————规范阶段————创造阶段
我们开发组经历了萌芽(拉人入队)——磨合(相互熟悉队友)——规范(确认组员身份)——半创造(团队合力开发出能运行的项目)
到现在我个人认为我们组还没达到真正的创造阶段
2.你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
答:我主要担任项目数据库开发这一块,主要负责数据库设计及管理。我觉得我还是比较适合该角色的,在团队中数据库这一块我还算是比较好的,对mysql,SQL server,oracle主流数据库比较熟悉,另外对JDBC的使用也有所掌握。
3.如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
答:我觉得组长分工是比较合理,按照团队成员的实际能力进行分工,任务安排得当,职位安排合理。
我们组是自我推荐,组内投票选举产生组长的。对于组长选举,我的建议是组长必须能服众,有责任心,有能力,对项目开发中的各种情况能处理得当。
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?
(1)研发出符合用户需求的软件,必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
答:我们开发的软件现在活跃的用户有26个,且在稳步上升中,达到了预期用户量。
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件,有项目规划/需求/设计/实现/发布/维护,有定时的进度发布;而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
答: 我们组每天都有预计任务,团队每天都要进行任务反馈和进度统计,使用燃尽图来对项目进度进行可视化。
每天都对github上的项目进行维护和签入。按预计计划对项目进行管理。
(3)并且通过数据展现软件是可以维护和继续发展的。而不是找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
答:项目每次的更新都有记录,源码上传至项目github,定期对github代码进行维护和更新,每次更新都会建立文档日志。
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例
- 再强大的个人都比不上一个好的团队,团队合作比个人开发功能更强大。比如一个人做下家族树这种小体量的项目是可以的,但不可能做出团队合作的项目。
- 在团队开发中,沟通很重要。团队不是分散的个人,而是一个整体,整体中信息的及时交换是极其重要的。如果团队中的信息交换不及时,很有可能出现重大失误。所以每日项目例会也是比较重要的。
- 学习的重要性,人不是生来就什么都会,那些大牛也是靠知识的一步一步累计起来的。在项目开发中,项目所需的技术不可能刚好是你都会得。比如此次项目开发中我在数据库的设计中涉及到了Oracle数据库的开发,此前我从没接触过oracle数据库,更别提对他进行开发。不过还是在老师的指导下慢慢的学会了项目和oracle数据库的连接。
- 不懂就问,不要不懂装懂。在项目开发中会就是会,不会就是不会,不会硬说会,要吃很大亏。还会影响到项目的开发进度和其他成员的工作。
四、建议
(1)对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许
别整些有的没的,别整天吊儿郎当。对学习认真点,及时学点有用的东西。还有大一的那个衰仔,要转专业早点转,晚转亏死。
(2)对于软工实践课程,你有哪些建议?
软件工程实践课对学生将来的工作有很大帮助,对学生的学习有综合的应用。对学生的能力有很大的提高。让学生提前体验软件开发的整个流程。这门课是十分有意义的,有帮助的。
(3)对于老师工作,你有哪些建议?
老师认真负责,治学严谨。对此我没有什么建议。
(4)对于自己今后,你有哪些建言?
今后我无论做什么事最好有个计划,别有的没的懵着个头就冲。对自身也要有个清楚的认知,清楚自己知道什么,不知道什么,该干什么,该怎么干,如何去干!勤奋点,自信点,别遇到什么动不动就放弃。多动动脑子。虽然你也没什么脑子,但总比不动脑子强