这个作业属于哪个课程 | 软件工程-23年春季学期 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 确定路线、明确目标、规划时间 |
其他参考文献 | CSDN、《构建之法》 |
目录
1.gitcode使用
仓库地址
上传截图
仓库截图
2.回首过去
2.1当初你为什么选择软件工程这个专业?
物化生理解了世界的运行规则,政史地理解了社会的交互方式,但是电子科技的实现对我来说就是一个黑箱。强烈的好奇心驱使我想去了解当下贯穿生活的电子产品的底层原理,是什么技术可以在极短的时间内满足人类几乎离谱的要求和复杂的交互。电子产物的出现颠覆了我对问题处理的理解,它在很多情况下都忽略了问题的复杂性,转而处理如何对问题的理解。我希望可以根据自己的意愿随时打造解决问题、提供便利的应用程序。
本人在很早开始就热衷于对问题的拆分和处理,在高中接触简略的编程课程之后认为代码的实现和调试正是一个标准的不断处理问题的过程,完全符合我对自身兴趣的理解。
2.2当初对软件工程这个专业的期待和想象是什么?
一个合理期限、一个优秀团队、一套兼容的底层硬件,一个无所不能的成果。
我对软工的理解为万能。凭借着指数级别的算力和完美的封装架构,它可以应用专门的语言和封装产物来极快地得到问题的处理能力。它更是极具创造和快速版本迭代的。
2.3当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
广泛学习,选择功能性强大的程序语言进行专精。驱使我进入软件工程领域的是好奇,只要保持自身的求知欲和成就感,就可以对这个专业保持热情。曾经在网络中试图理解基础语言逻辑,但缺乏上机实操的学习终归不会有太大的收获。
flag:让自己满足对这个专业的想象,通过程序处理日常生活中繁杂无意义的任务。
3.立足当下
个人信息 | ||
---|---|---|
昵称 | LY | ![]() |
兴趣爱好 | ACG | |
特长 | 能睡 | |
专业水平 | ||
编程语言 | C / C++ / JAVA / JavaScript / PHP / C# / HTML / XML | |
技术框架 | Yii2 | |
开发软件 | VS Code / VS / Android Studio / eclipse | |
累计代码量 | 15k+ | |
项目经历 | ||
巨型整数类计算器 | 基于C++的任意长的整数运算,选择了用string和int数组一同存储的方式 | |
网络五子棋游戏 | 基于JAVA的网络编程、Swing图形用户界面和多线程使用的CS结构五子棋 | |
简易图书管理系统 | 基于JDBC,用户可通过相应界面,依据图书信息查询、借还 | |
博客系统 | 该博客在借助wamp的基础上通过Yii的框架进行搭建并进行了一些方面的扩展 |
4.展望未来
4.1思考构建之法社区问题
Q1. 如何准确判断一门编程语言的发展阶段,从而在学习的过程中不会浪费时间到最后学了一门被淘汰的语言?
判断当下编程环境和市场需求是非常重要的能力。市场的变化、底层结构的更迭注定语言的淘汰或升级。一门语言的移植性、交互能力、扩展能力和运行方式等特性是否和当下时代的发展趋势对标是非常重要的判断方式。高移植性、强扩展能力、强垄断力和优秀的交互辅助都会极大增强语言的生命。部分语言虽然不具有很强的性能,但其作为开创性的语言和底层的逻辑语言,其逻辑思想避和广阔的领域应用使得其作为一门学习语言而不被淘汰。
Q2. 商业价值与开源精神是否矛盾?
开源一方面极大影响了小型公司的收入,一方面又提高了整个软件开发的效率。这是个体利益和整体发展的冲突。小公司缺乏能力进行顶端技术的开发,又不被底层设计需要。故此开源可以选择方便编写代码的手脚架部分,而不是整个封装好的模块系统。为小型公司提供了市场,有利于其产业升级,也不影响顶端技术的科研和大型项目的开发。
Q3. 在团队项目中,是选择有利于自身成长、最具挑战性的工作;还是有利于团队、有把握的完成的工作?
重复擅长的领域并不会给自己带来很大的成长,而涉及新领域和不熟悉的模块又会拖慢团队工程。可以从熟悉的领域向相邻的陌生领域发展。由于新旧领域存在交互,学习过程并不会太困难。使用这种辐射形式的发展方式可以调和这两个冲突的方面。
高发展的产物有着极高的知名度和垄断能力。在用户不会大量流失的基础上开发重点会逐渐从用户体验向新功能开发偏移,以达到更好的垄断。仅仅在市场饱和、产品功能差异不大、用户分散时,用户体验才会处在一个非常重要的地位。
Q5. 花费时间越多,代表工作量越高吗?
时间是投入最直观的体现。但工作量是时间和效率以及难度的权乘。高效的开发过程和突破性的创造并不是可以用时间来衡量它的工作量。工作量的体现更多是整个项目进度的影响,例如拿下某个重要的问题突破。
职业规划
多了解当下行业能力需求领域,充分了解自己所适合的技术,明确自身方向。保证课程基础知识不流失的基础上广泛学习前端设计,深度学习当下使用的后端开发框架。
软件工程实践课程,你有什么理解和期望
个人开发和团队开发是完全不同的环境。实践锻炼的就是从个人到团队的过度,从理论到产品的进化。
我希望能培养自己的团队能力。明确自己在团队中主要能充当的位置,了解如何更为高效地在队伍间进行项目拼接和问题交流。
5.思维导图和学习路线