这个作业属于哪个课程 | [2302软件工程社区-CSDN社区云](https://bbs.csdn.net/forums/ssynkqtd_06) |
---|---|
这个作业要求在哪里 | [软件工程实践寒假作业-CSDN社区](https://bbs.csdn.net/topics/618011014) |
这个作业的目标 | 回首过去,立足当下,展望未来,规划学习路线 |
其他参考文献 | CSDN、《构建之法》、菜鸟教程 |
目录
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
4.1 阅读《构建之法》以及构建之法社区中前人提出的问题后针对部分问题的思考
1.准备工作
2.回首过去
2.1 当初你为什么选择软件工程这个专业?
在填报志愿时我认为这个领域具有广泛的应用前景和市场需求,并且看好它在未来的发展前景,现在也是如此。
从小我就对电子产品的软硬件充满热情,非常喜欢计算机专业社区中的氛围,渴望自己也能成为其中的一员。
要把格局升华一下的话,那就像美剧《硅谷》中反复提到的,"make this world a better place"。
"弟高值"
2.2 当初对软件工程这个专业的期待和想象是什么?
在互联网公司上班的薪水比较高是让我接触这个行业的第一动力。我希望通过自己的奋斗,能够早早成为技术大牛实现财富自由。
可惜至今还没有搞出什么名堂,成为了一只sql boy。
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
当初也曾自己做了一些准备,自学了一些前后端的知识,幻想成为一个全栈大牛。
这个flag至今也算实现了一半,但是计划赶不上变化,如今全栈并不受中大厂的欢迎,干脆重新来过run大数据去了。
3 立足当下
个人简历 | ||
---|---|---|
姓名 | 柯昊旸 | |
电子邮箱 | binary1074433913@gmail.com | |
gitcode | ||
github | ||
兴趣爱好 | 自行车,游戏,动画,计算机 | |
特长 | 参与项目贡献代码 | |
专业水平 | ||
掌握的编程语言 | C、C++、C#、Java、python、SQL、HTML、CSS、JavaScript、PHP、TypeScript等 | |
技术框架 | Yii2.0, Zookeeper, Hadoop, Hbase, Hive, Spark, Kafka, Flume, Sqoop等 | |
开发软件 | Visual Studio、Visual Studio Code、IntelliJ IDEA | |
累计代码量 | 3w+行 | |
项目经历 | ||
基于Yii2.0的博客系统 | 个人博客系统开发,使用了 yii 框架作为核心的技术栈。该系统包括但不限于文章管理、用户管理、评论管理等功能,同时也实现了权限管理的功能。系统中采用了 MySQL 数据库来进行数据的存储和管理,并提供了增删改查等操作接口,以及对数据进行了统计和可视化的功能,采用了RBAC基于角色的权限控制,进行URL美化。 | |
离线数仓分析平台 | 负责对ODS层数据做ETL工作,将数据载入DWD层。 用FindReport工具从Hive中取数进行BI报表展示。 |
4. 展望未来
4.1 阅读《构建之法》以及构建之法社区中前人提出的问题后针对部分问题的思考
Q1: 在一个被认定为“足够好”的软件发布后,得到的用户反馈中,哪些是有用的?什么时候才能将这个软件优化到相对稳定的版本?
对于软件而言,“足够好”的定义因人而异,不同用户可能有不同的需求和体验。因此,我们需要仔细分析用户反馈,找出其中包含有价值的信息,如功能缺陷、界面问题、性能瓶颈等。有用的反馈可以帮助我们更准确地把握用户的需要,优化软件,提高用户的满意度。
软件的开发不是一蹴而就的过程,而是需要不断地迭代和调整,直到达到相对稳定的人才认可度。在这个过程中,我们需要根据用户反馈和实际情况进行修复和升级,不断改进软件的各项指标,包括稳定性、可用性、可维护性等方面。我们需要持续跟进,及时解决出现的问题,以确保软件长期稳定运行的能力。
我们应该从工程量和结构复杂性两个角度看待软件系统的复杂性。单从代码行数来看软件系统的复杂性是片面的,其中更重要的是思考如何合理组织和建模,并且调试困难和团队合作等问题也是重要的考量因素。更何况软件系统是为了满足客户需求,因此在设计和开发过程中需要不仅考虑到不断变化更新的现实问题还要考虑到团队成员的不同背景和性格特点。如今的软件工程已经相当发达,并不成为软件系统发展的瓶颈,但我相信经过未来的发展,软件工程同样也会带动软件系统的完善和发展,
我个人认为目前的发展程度来说并不能完全替代传统搜索引擎。
与GPT等模型相比,传统搜索引擎覆盖的信息领域更广泛,更新更快。此外,对于一些特定主题或的最新新闻,GPT可能无法提供准确的信息。
对于相当小众的问题,GPT受限于模型规模可能无法给出答案。
我在实际项目中也常常因为过早优化而导致项目陷入“优化困境”。
为了有清晰的界定早晚的范围,我们应该应该首先定义清楚项目的需求、功能和性能要求,然后再考虑优化。不少项目都采用敏捷开发方法,不断进行迭代和重构,这样可以通过小规模的迭代来尝试不同的优化方案,并逐步提高应用程序的质量。最后在优化的先后顺序方面,必须要确定哪些性能指标是最重要的,然后仅针对这些指标进行优化。例如,如果应用程序的安全性是最重要的性能指标,那么不应该过早地优化的其他方面。
Q5:如果在扩展功能时发现接口设计错误或考虑不周应该怎么办?
我认为在不影响用户使用的情况下,可以考虑不要立即修复接口设计错误或者重新设计整个系统架构。我们可以进行新版本的发布,其中包含已知的错误和不周考虑,然后在未来的版本中逐步修复这些问题。这是一种更快、更经济的方法,因为它减少了重写整个系统的成本,并在较短的时间内提供了改进。随后,在开始修复错误之前,需要评估一下其对整个系统的影响。这有助于团队了解问题的严重程度以及所需的努力。如果这个问题很小时,可能只需要进行简单的修改。但如果问题很大,则可能需要重新设计整个系统。
4.2 未来的职业规划
根据一个前辈读完研究生后offer薪资反而负增长7k的惨痛教训和一个萝卜一个坑的先人智慧,我觉得毕业后直接参加工作不失为一种选择。未来我考虑往大数据方面发展,目前自己也算是学到了一些风毛菱角,希望能够找一个大厂数开相关的工作。‘
4.3 对于软件工程实践课程的理解和期望
我希望能了解常见的软件设计模式和体系结构,熟悉软件开发的整体流程和各个环节,掌握软件测试的基本原理和实践,学习如何编写测试用例和执行自动化测试,了解项目管理的基本原则和方法,学会如何管理软件项目的时间和资源。这些都是软件工程中重要的思想和技巧,希望能在老师和助教的带领下努力学习,脱离只会cv的低级码农。