这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10864 |
这个作业的目标 | 整个学期个人总结 |
作业正文 | https://www.cnblogs.com/snow1218/p/13264934.html |
其他参考文献 | 无 |
一、回望
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
在课程中,我学会使用vs code、idea、GitHub、gitbash 原型设计工具Axuer rp.还有微信小程序的编写。能设置出一些前端界面,虽然不是很美观,但是可以进行交互。这是我的小小进步。要实现自己网站小目标还是需要学习,把现在项目的不足尽可能提升。
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你在第二次作业中绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
没有。最开始定的是用java实现网站,以及相应的前端知识。本学期学习任务重,然后只是把HTML、CSS系统学完了,java只学了一点。javascript、JQuery暑假学习。
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
700行
软工实践的各次作业分别花了多少时间?(做一个列表)
哪一次作业让你印象最深刻?为什么?
团队冲刺作业。学校教学任务提前,考试提前,其他学科的实验报告和课程设计以及答辩都赶在一起了。每天白天时间用来写分配好的博客作业以及其他实验,晚上时间用来复习。
累计花了多少个小时在软工实践上?平均每周花多少个小时?
150多个小时。12-13个小时。
学习和使用的新软件;
GitHub、gitbash、IDEA、微信开发者工具、vs code、axure rp.
学习和使用的新工具;
单元测试:junit(一点点)
性能测试:Jprofile(一点点)
学习和掌握的新语言、新平台;
语言:JavaScript(学习)、微信开发语言(学习)、jQuery(学习)、HTML+CSS(掌握)
平台:学堂在线、智慧树、学银在线、中国大学MOOC
学习和掌握的新方法;
1.代码签入GitHub
2.对伙伴github仓库代码进行commit
3.作业要在规定时间截止前2-3小时完成
4.能自己做的不要让他人来
工程能力的提升;
懂得了开发一个软件的大致步骤,也学会到一些有关小程序开发的知识。
团队合作上的提升;
学会分工,互相协作,互相磨合,取长补短。
其他方面的提升;
解决bug能力、写代码能力、抗压能力、写设计文档能力。
二、团队总结
软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
1.团队的发展有:萌芽阶段、磨合阶段、规范阶段、创造阶段。
2.我们达到了磨合阶段
你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
前端开发人员。大部分完成。匹配度还可以。本人也比较喜欢前端。
如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?(详细描述)
做的不好:1.任务分配是没有分析队员擅长的就进行分配,让项目开发时间延长。
2.任务量分配不均衡
做的好:
* 相应内容寻找相关资源给队员
* 鼓励队员先自己解决问题,提升他们解决问题的能力。
* 队员有很难解决的问题时,组织大家一起帮忙。
如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
合理。建议:* 能够有魄力,领导队员及时完成任务
* 有一定的技术,在项目制作过程中解决问题。
* 能够公平公正的对小组成员进行评价
* 能够处理好队员之间相处遇到的问题
三、人月神话
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?
(1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
(3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展
软件工程
- 概念:软件工程是一门指导计算机软件开发和维护的一门学科
- 基本模型:原型模型、增量模型、瀑布模型、迭代式开发、可转换模型。
- 测试方法:白盒测试、黑盒测试。
- 软件开发过程:需求定义与分析、软件设计、软件实现、软件测试、软件运行和维护
- UML统一建模语言的使用
- 用例图、用例描述、 顺序图、分析类图、设计类图的绘制
- 将所学的理论知识用于本学期项目的编写中,知道那个过程用到哪些知识点。
团队达到:
- 达到了第2点
a.我们的项目开发步骤:在分析阶段,设计了用例图,用例描述,画了顺序图,类图等;
在设计阶段,对之前的分析阶段的结果进行了设计,并转化为设计类顺序图等;在最终的实现阶段,我们尽力的去实现我们该有的功能
我们有进度发布
b.我们分工明确 - 达到了第3点
代码上传到了GitHub,进行代码集成与管理,然后代码是正确可以编译的。
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达..
通过半年软件工程的学习,自己学会了很多。在每次作业布置时,差不多都要安装一个新的专业软件(疫情期间换了台电脑),以及相对熟练的去掌握该软件,去完成相应的作业。这就要求自己自学能力,每天都过得很充实。在团队作业中,都很用心的去写每一次安排的任务,知道我们是一个团体,和队友一起去解决遇到的各种问题,相互鼓励,一起交流一起成长。同时感谢队友感谢老师的帮助,在这个过程中,提升自我解决问题能力、抗压能力。并且学会一个软件的开发流程。
四、建议
1.对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
- 计算机领域比较大,可以每个领域了解一下,选出自己最喜欢的领域进行专攻
- 明确自己是考研还是工作,考研需要把专业知识领悟的更透彻,在课下可以多请教老师,并且努力提高绩点,拿奖学金。工作的话,除书本知识以外,多自学,多参加比赛,自己动手做项目。
2.对于软工实践课程,你有哪些建议?
多做项目,大家一起多面对面交流想法而不是通过手机。
3.对于老师的工作,你有哪些建议?
老师教学很认真,很负责。建议在课程初始阶段指出课程主要使用到的软件,方便学生提前学习。老师和大家多多交流,传授项目经验。
4.对于自己今后,你有哪些建言?
- 做一件事情,要有明确的目标观念,做这件事自己要最终得到什么。将计划分为前期、中期、后期、制定完成时间。
- 学东西要有输入输出,定期复盘
- 快乐和痛苦都是短暂的过程,咬咬牙就过去了。
- 在家老老实实把报班的内容学完。