软件工程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10864 |
作业目标 | 软件工程实践总结 |
作业正文 | 如下 |
参考文献 | 无 |
一、回望 【30%】
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
相比于刚开始接触软件工程这门课程,现在可以说是了解了什么是软件,什么是工程,什么是软件工程。在老师的老师的带领下,小组长的组织下,在同学们的协作下。我们一起探讨了一个项目的构建和诞生,对我个人而言,这门课程更像是一面镜子,因为它将我们之前学过的很多内容综合到了一起,让我看到了自己各个方面的不足,无论是编写代码的能力,还是与组员沟通的能力,以及自己的抗压性,都有着或多或少的缺陷。以前总觉得自己还有很多时间去学习,不知不觉时间却已经悄悄流逝,转眼就是个准大四学生了,才醒悟时间早已流逝,浪费就不再重来。让我深刻体会到“码”上学的重要性。
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你在第二次作业中绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
达到了之前的小目标,但又感觉没达成。这些知识在我学到后,自己会感觉到自身有多渺小。Java博大精深,学到的前端只是些皮毛,在使用的过程中总会发现自己很多知识盲区,所以感觉到自己并没有达成。就比如软工第二次作业思维导图里DOM的诸多对象里global会有两个封装方法等。其实当时写的时候,并不能确定这个计划是不是全面的,毕竟接触得少,对他的知识结构不了解。并不能指定完整的学习路线。心中怀着几分的不确定,实施时并没有坚定的信念,所以在中后期其他作业量增加的时候,偏离了原定的学习计划。
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
150+
- 软工实践的各次作业分别花了多少时间?(做一个列表)
作业名称 | 时长(h) |
---|---|
2020软件工程作业01 | 1 |
2020软件工程作业02 | 2.5 |
2020软件工程作业03 | 1 |
2020软件工程作业04 | 4 |
2020软件工程作业05 | 4 |
2020软件工程作业——团队01 | 2 |
2020软件工程作业——团队02 | 3 |
2020软件工程作业——团队03 | 3.5 |
2020软件工程作业——团队04 | 4.5 |
2020软件工程作业——团队05 | 3 |
2020软件工程作业——团队06 | 3 |
2020软件工程作业——团队07 | 3.5 |
2020软件工程个人作业06——软件工程实践总结作业 | 2 |
- 哪一次作业让你印象最深刻?为什么?
第二次个人作业,思维导图我找了很多软件,最后在App Store上花了9.9买了一款Lighten
- 累计花了多少个小时在软工实践上?平均每周花多少个小时?
估计70小时,每周平均7小时
- 学习和使用的新软件;
IntelliJ IDEA、墨刀、Axure RP、Markdown、StarUML、Lighten
- 学习和使用的新工具;
墨刀、Axure RP、Markdown、StarUML、Lighten
- 学习和掌握的新语言、新平台;
markdown github
- 学习和掌握的新方法;
用例图,时序图,类图
- 工程能力的提升;
学会了前端设计、顺序图的绘制
- 团队合作上的提升;
增强了我个人的行动能力,和团队队员的协作能力
- 其他方面的提升;
个人的表达能力和沟通能力
二、团队总结【15%】
软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
《构建之法》中的团队发展阶段分别是:萌芽、磨合、规范、创造四阶段。我们团队在磨合阶段。
你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
- 如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?(详细描述)
- 如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
在小组中我是组员,完成该角色所要求的任务,组长需要初步了解每个组员的能力,每个人适合干什么,以及在组员任务分配下来后再就情况,对他们的工作进行适当的调整。并及时了解工作进度。所以以以上观点来看,我觉得我们组长安排分工合理,并且对选举无其他建议。
三、人月神话【35%】
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?
我们用Visual Studio进行了测试,因为是超市管理系统,目前只有我们小组的成员在使用。
在需求阶段,我们根据要求绘制了相关的用例图、顺序图、分析类图等
在设计阶段,我们通过相关学习,将分析类图与分析顺序图改进为设计类图与设计顺序图
我们在GitHub上进行代码管理
我们进行分工,并且按照项目开发进展撰写了相应的博客
在最后的实现阶段,由于很多原因我们的项目有些缺陷。比如,登录除管理员权限之外的权限时有可能报错。
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达..
从刚开始学习软件工程,我就觉得这门课程的不简单,学习的时候就充分明白了软件开发,工程庞大,又非常复杂。对于项目,通常是分工合作,因为它促进效率,节省时间的。但是,随着一个项目参与的人越来越多,分工越来越细,人和人之间需要的沟通量,也指数增长。说白了,过了一个临界点,人越多不是越帮忙,而是人越多越添乱。在《人月神话》这本书里建议了一种组织方式,叫“外科手术式的队伍”。就像一台外科手术一样,有一个主刀大夫,软件项目也应该有一个首席程序员,其他人都是给他提供支持的。这样,就既能获得由少数头脑产生的产品完整性,又能得到多位协助人员的总体生产率,还彻底地减少了沟通的工作量。所以,关键人,关键支点,在复杂系统中的位置越来越重要了。而我们不一样,我们项目的有两位首席程序员,就像双核处理器一样带动着我们前行。让不可能变成可能。项目开始前,我们从来没有想到过可以完成这么庞大的一个工程,一套近乎于专业的超市管理系统。这就是我们的人月神话。
四、建议【20%】
对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
希望大家能早一点规划好自己的大三目标,考研就业考公,都需要长时间的准备,其中所涉及的知识广、深,大家并没有太多时间可以花费。现在就要确定好自己毕业了想要干什么,考研就开始慢慢回顾数学、英语,认真学专业课内容,工作就确定自己想要从事具体哪个职位,了解自己还需要在课外学习哪些内容,好好利用寒暑假。考公就要学好行政职业能力测验、申论。
对于软工实践课程,你有哪些建议?
这学期的教学方式感觉会很适合,让许多学生有切实的提升,甚至对毕业设计也有眉目了。但是时间很紧,任务繁重,许多人感觉到工作量很大,毕竟有些同学在计划其他课程或是发展的打算。
对于老师的工作,你有哪些建议?
如此完美都提不上建议了。唯一有的话,只有一点,要注意身体哈。真的很谢谢你带领我学完软件工程这门课。
对于自己今后,你有哪些建言?
做人谦逊,做事冷静。面对生活,冲就完事了嗷。