软工实践寒假作业(1/2)

寒假作业(1/2)


这个作业属于哪个课程 2021春软件工程实践|W班(福州大学)
这个作业要求在哪里 作业要求
这个作业的目标 创博客、写随笔,整理学习目标与思路;回首过去、审视当下,让自己不忘初心。
其他参考文献

回首过去

当初你为什么选择软件工程这个专业?

  高中虽然出身理科,但有着一颗文科的心,自认理综完全应付不来,将来一定不要再学。于是在高考填志愿时排除掉物化生学科后,可报的理工专业已经没剩下几个了。
  迷茫之时,突然意识到自己的本心与兴趣其实都在“电子信息”上,于是思考了其可行性:数学与计算机类的专业恰好是较少数和物化生完全没关系的理工专业,自己不至于那么痛苦;且自己在比较小时候就开始很多地接触电脑,不算小白,很会折腾电脑;也有着坐下来慢慢琢磨一件事(比如打代码)的耐心,对未知的编程抱有兴趣;在英语方面很擅长,阅读英文文档没有障碍,较容易接受并学习新知识新技能,比如各种编程语言;常在网上冲浪,对于在论坛博客间辗转,查询搜集资料,在网络上学习这些事已经非常习惯,相信以后也会乐在其中。基于以上对专业与自我的认识,最后在咨询过多方意见、查询了解计算机与软工专业的区别后,选择了福大的软件工程专业。
图1图5

当初对软件工程这个专业的期待和想象是什么?

  不去了解的话,听到这个专业名字,肯定想着就是做好玩的游戏和各种app的吧!
  但在高考报志愿了解专业时,阅读培养方案等资料之后,其实就意识到了----我一直以来见识与体会到的不过是表面的“软件”而已,而我要进大学去学习的是背后的程序与“工程”,并不是对玩电脑抱有兴趣这种很随便的事,而是严肃的、复杂的数据结构、操作系统、开发模式、设计方法、测试维护等事物。要去分工、要去设计、要去debug等等等等。。。要让”软件“动起来,并保持他的可用性,不是那么容易的事。
  所以那时候就抱有心理准备了,比较偏现实了:期待着果然是要去打代码并秃头了吧!想象着大概是要把自己的思维与审美注入到冰冷的代码中带给他人吧!如此这般。
图2

当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?

  当初希望自己能打好基础,学习各种语言。大一前的暑假有在网上查找学习建议,初步学习C语言。
  当初还对手机app兴趣很浓厚,立下过flag就是要能做出自己想象中的app,大三上学期在安卓应用开发中算是初步体验过了吧,虽然过程很折磨,但结果感到很开心。
图3


立足当下

个人简历

姓名 李耕
头像 头像
昵称 木子来井
兴趣爱好 游戏动漫、电影鉴赏、旅游拍照
特长 英语、Office
成果和获奖经历
掌握的编程语言 Java、C、C++、JavaScript、C#、PHP、HTML+CSS
技术框架 Android开发技术、Yii2.0
开发软件 Eclipse、AndroidStudio、Dev-C++、VisualStudio、VScode
累计代码量 3W+
项目经历 1、数据库设计实践:房屋租聘管理系统(Java+MySQL)
在小组中负责设计构思、数据库测试、代码完善、报告撰写
成果:实现了一个简单的管理页面和一个租房页面,包含房源租客信息登记,租房缴费离租,
欠费、合同到期提醒以及房屋、租客增删改查等功能。
2、Web程序设计实践:基于Yii2.0框架的简单个人博客页面的开发
实现文章、评论的增删改,模糊查询,权限管理,标签云,富文本编辑器和后台仪表盘等拓展功能,
以及一些页面美化与缓存优化。

展望未来

图4

阅读《构建之法》,并提出3个及以上的问题。

  1.   在过去的两年半所学课程给我带来一种“离散的知识”的感觉,更为强调实战的课程与偏重理论的课程常常有一种割裂感,于是有了“所学的知识究竟应用去了哪里”、“我具备的能力到底是我以后就业所需要的吗”等问题。就正如《构建之法》p1的开篇也有不少句段提到这类理论学习与实战之间的问题,以及程序员阿超的故事,非常真实。那么试问在软工实践课程中,我们究竟会以怎样的程度让之前、或是下学期所学的知识得到应用?他在多大程度上能够决定我们是否能捧起“软件工程师”这一饭碗?
  2.   《构建之法》第五章开始提到团队合作的重要性,但每个人的开发能力高低各异,因此在以往的实践课中团队工作分配常常是一个头疼的问题,试问作为尚未就业的软件工程学生,该如何更好地锻炼团队分工协作能力?思考:在过往的学期中,凡涉及到小组合作的实践作业,我们往往采用的软件团队模式大概为书p98 5.2.1的“主治医师模式,即文中提到的:就跟在手术台一样,有一个主刀医师,其他人各司其职,为主刀医师服务。退化后会成为“一人干活,其余人跟着打酱油”。而其它的模式大多没有听闻、接触过,我想我们应当思考、权衡、选取其中有效、合适的模式来锻炼自己,且在团队开发过程中,应了解整个工程,清楚自己知道需要做什么。
      而对于开发流程,正规的流程应该是书中p106,统一流程(rup)那样的模式,我们以前的水平其实就是写了再改的模式,想到那就写到哪,感觉着离题了在进行修改,这属于没有计划的完成,对整个工程和项目没有一个明确的把握和认识,这种模式对于我们的编程和以后得架构设计都是相当不利的。正确的方式应该是rup模式,在进行编程之前,要在头脑中有一个印象,能把当时的用户场景模拟出来,然后针对各个功能进行完整和系统的设计,这样的模式才是最好的。因此,我们在老师规定任务以后,也许应更多花一些时间去想一想完整的过程,将思路理清,在纸上写写画画,先想清楚在写的效果绝对要比没有头绪想起什么写什么效果要好得多。
  3.   《构建之法》第六章为我们介绍了敏捷流程。试问在软件开发行业中,敏捷开发的可行性高低如何?应该更适合配合默契,经验丰富的程序员才对?因此引出以下思考:采用敏捷开发,开发团队的人员素质要求比较高。敏捷开发的首要任务是快速,目前提出的"全栈软件工程师",它要求软件开发人员在开发的各方面:从需求,设计,编码,测试一直到部署都要求是行家里手,可以减少因彼此沟通带来的时耗,这才能保证他在一个Sprint中能独立完成产品中某个特定的任务。显然这样的软件开发人员的素质一定要求很高的,而在软件开发行业中,人员流动率高,新手多的情况下,要做到这一点似乎是比较困难的。 这应当是敏捷开发的缺点之一。

你未来的职业规划是什么?

  必须考研,毕业后做一名软件工程师。梦想是经过几年的锻炼,积累工作经验后能进入自己想进的那些厂工作。可能偏向的方向是前端开发工程师或游戏策划、移动客户端开发工程师。

对于软件工程实践课程,你有什么理解和期望?

  学习系统的软件工程知识、体会软件开发的流程、初步掌握吃饭的本领。Web程序设计的陈昱老师上学期曾感叹:“你们可是科班出身啊!(怎能不如别人呢)”,此话引发了我对自己在本科生涯到底已经学会了什么,能做什么的疑问,激发了我学习的渴望,期望在软工实践课程中能更多学习自己感兴趣的前端开发、UI设计。


学习路线

思维导图

图6

学习路线

图7

posted @ 2021-02-08 15:04  木子来井  阅读(155)  评论(4编辑  收藏  举报