这个作业属于哪个课程 | 软件工程实践2022年春-F班 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 熟悉markdown和git相关语法、完成编辑博客任务,回望过去,认清学习路线 |
其他参考文献 | 无 |
作业基本信息…
目录:
1. 回首过去
a.当初你为什么选择软件工程这个专业?
当初在选专业的时候,对软件工程这个专业还不是特别了解,我的父母想要我去当一个老师,可是我对老师一点兴趣都没有,再加上我对电脑、机械之类的还是很感兴趣的。软件工程这么名字一听就知道是一个挺高大上的专业,再加上现在进入信息时代,软件人员需求大,就业压力小,工资又高,美滋滋。
b. 当初对软件工程这个专业的期待和想象是什么?
当初想着,学了这个专业后,就能像电视剧或电影里演的黑客一样随随便便黑进别人的系统、定位某人的行踪、黑某人的电脑手机、盗某人的社交账号、修电脑、修手机,各种与计算机、手机相关的都能做。但是学着学着我发现这跟我想象的有点不一样,是我还没学到还是我太菜了?
c. 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
当初知道自己被软件工程专业录取了之后,还担心了一波,怕自己学不好,还发短息问了一下学长,编程小白能不能学好这个专业?还没开学,就提前下载好的Visual Studio 2019、买了《C语言从入门到精通》开始提前学习C语言。
2. 立足当下
个人介绍
个人资料 | ||
姓名:小萌新123 | 出生年月:2001年04月 | ![]() |
学号:221900322 | 籍贯:广西 | |
性别:男 | 移动电话:12345678900 | |
学位:本科 | 电子邮件:12345678@qq.com | |
专业:软件工程 | 期望薪资:1——2个亿 | |
兴趣爱好 | 玩游戏、看漫画 | |
特长 | ![]() | |
当前值 | ||
专业水平 | 掌握的语言:c、c++、java、mysql、html、javascript、css、php | |
使用过的开发软件:Eclipse、VsCode、IDEA、Qt、Android Studio等 |
项目经历
项目经历 | 项目介绍 | 项目图片 |
---|---|---|
五子棋项目开发 | 使用java多线程和java的Gui等技术开发一个五子棋游戏 | ![]() |
网上飞机票订票系统 | 在数据库课程中,与同学共合作开发了这个系统,主要运用了java数据库开发和java的GUI,飞机订票系统分为管理员界面和用户界面,运用java数据库知识实现了相关的增删改查操作。在这个项目中,我主要负责用户端的编程。 | ![]() |
Android app 开发 | 上个学期上的android移动开发选修课,课程的作业是开发一个校园新闻反馈App,是一个基于android java开发的App,app实现了注册登录、网络连接、上传新闻、百度地图定位等功能。 | ![]() |
使用Yii2.0框架 搭建一个blog系统 | 在web实践课程中,学习并使用Yii2.0框架搭建了一个blog系统,实现了前后台界面分离,了解了网站搭建中的MVC技术,进一步巩固了html、javascript、css、php语言基础。blog台系统实现了相关的增删改查操作、权限操作、上传图片、Echarts页面等,前台页面展示相关blog并对blog进行评论等操作。 | ![]() |
3. 展望未来
a.阅读《构建之法》,并阅读构建之法社区中前人提出的问题
- 软件的行为和用户的期望值不一样,就一定是 Bug 吗?
我认为软件的行为和用户的期望值不一样,不一定是Bug。原因很简单,因为每个人的想法和要求都不尽相同,如果满足了小部分人的需要,修改了软件,那么其他人对修改的软件是否满意就不得而知了,要做出让每用户都十分满意的软件是困难的,或是不可实现的。我们只能尽量保证软件能正确的完成工作,符合大部分人的期望。[原问题的链接] - 学生与职业程序员的区别?
对于学生来说,目的是学到知识考个好成绩;而职业人士的目的是完成公司交给的某项工作。学生所需的技能是良好的记忆力和逻辑思维能力;而作为职业人士需要的是沟通、计算机、协作等能力,他们需要更多的技能。学生的编程水平和处理问题的能力可能比职业程序员稍差一些,毕竟职业程序员可能有许多的工作经历和见识。[原问题的链接] - 花费时间越多,代表工作量越高吗?
花费时间多,那只能代表这个人在完成这份工作上花费了很多时间,这和工作量的高低并不是对等的。也有可能这个人在处理采用的方法比较复杂、耗时。比如要把一个数组排序,有人选用冒泡排序,有人选用快速排序,他们写完代码的时间或许不一样,但是完成的工作量都一样。[原问题的链接] - 结对编程在双方差距较大时的意义是什么?
结对编程在双方差距较大时,在我看来可能出现两种可能,一种就是能力强的人基本完成项目的全部工作,能力差的人在项目的工作中贡献甚微或者基本为零,这毫无疑问是最坏的,本来就是结对编程,但是既没有减轻双方的工作量,还让一方的工作量加剧了。另一种情况就是共同进步,能力强的人处理大部分的困难工作,但是要保留一些困难工作给能力弱的人,能力弱的人处理繁琐的简单工作,和一些困难工作,这样能力强的人工作量减轻了,而且能力弱的人也能从中学到知识提高自己的能力。[原问题的链接] - 水平近似的两个人在进行结对编程时,是否会由于能力的限制导致代码质量无法提高?
不一定吧!毕竟水平相近,但不代表想法、看法都一致,结对中可以互相分享代码的上下文,交换对代码的理解,促进质量改进和团队协作,同时也使得代码集体所有制成为可能,减少团队对某些成员的依赖,降低团队风险。[原问题的链接]
b.你未来的职业规划是什么?
首先可能会先准备一下考研,如果考研考上了,在研究生阶段,我会在提高自己的编程能力的同时不断向大厂靠近;如果没有考上研究生,就出去找工作,在找工作的同时,也不应该停下学习,准确的说,在以后都不能停下学习。以前的东西只是囫囵吞枣的学会了使用,我要逐步尝试利用网路去了解更多的东西。希望以后从事与java后端相关的开发工作。
c.对于软件工程实践课程,你有什么理解和期望?
首先希望通过这次实践课程,能对将以前学过的东西融汇贯通起来,做到学以致用。在巩固的同时不断历练自己,提高自己的能力。学习和熟悉到更多的框架和思想,类似Spring、SpringMVC、MyBatis等框架思想和技术,掌握软件系统开发的基本理论与方法,掌握开发软件的技能;了解软件工程领域的发展趋势,熟悉软件工程专业的前沿知识和热点,并能使用相关工具进行正确的测试。
4. 思维导图和学习路线
思维导图:
学习路线:
5. gitcode上传截图和仓库地址
上传截图: