软件工程实践寒假作业

222100303陈昕 2024-02-14 17:11:10
这个作业属于哪个课程2302软件工程社区-CSDN社区云
这个作业要求在哪里软件工程实践寒假作业-CSDN社区
这个作业的目标进行准备工作包括学习markdown语法,学习使用git;回首过去,回想选择软件工程的初心和目标;立足当下,审视自身实际水平;展望未来,思考梦想和目标;了解学习路线,制定学习计划
其他参考文献《构建之法》、Git入门,网络上的后端学习路线……

目录

  • 1.准备工作
  • 2.回首过去
  • 2.1 当初我为什么选择软件工程这个专业?
  • 2.2 当初对软件工程这个专业的期待和想象是什么?
  • 2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
  • 3.立足当下
  • 4.展望未来
  • 4.1阅读《构建之法》的Q&A
  • 4.2 我未来的职业规划
  • 4.3 对于软件工程实践课程的理解和期望
  • 5.学习路线
  • 思维导图
  • 学习计划

1.准备工作

1.6注册CSDN后,登录gitcode(github也类似),尝试建立一个public代码仓库,以学号命名,使用git上传一个代码文件
仓库地址:https://gitcode.net/qq_61965860/222100303

2.回首过去

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

结合高考分数和社会的大趋势。在高考的那一年直到现在,计算机相关专业都较为吃香。结合当时的成绩以及社会上的大众印象,怀揣着对好工作的期待选择了这个专业。希望能在毕业后顺利就业(好好赚大钱)。

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

原本想象会在大学四年学习专业知识,积累实习经验,成为一名能嘎嘎打代码的工程师。毕业后找到工作美美赚钱~ 但随着时间推进,想法不断发生变化,如今已与原本计划有所偏离。希望能够进行进一步的学习,同时就业期待也从好好赚钱转变为获得work-life balance和心理健康。
当初认为软件工程专业学习的是编程语言和软件开发(确实较多是),随着学习的深入,也意识到需要学习很多专业基础课和基础课的重要性。同时对于本专业的一些研究方向前沿知识了解不够多。

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

flag:好好学英语,数学和专业知识(但都没实现的很好)

在大一的时候成绩不是很理想,感到慌张没信心,希望在接下来的学习能调整状态。同时除了课内的课程外,还希望能够学习一些课外的内容。在大二的时候加入了实验室,在实验室学会了很多东西,有了很多特别的收获。在未来希望在掌握好课内知识的基础上,能够更多学习课外的内容,培养专业技能。

3.立足当下

个人信息
个人照片
昵称小陈
地址福建漳州
邮箱1404175682@qq.com
兴趣爱好散步,音乐,美食
特长美术,运动
成果与获奖经历
2022-2023学年美国大学生数学建模竞赛H奖
2023-2024学年全国大学生数学建模竞赛福建省赛区二等奖
2022-2023学年2022-2023学年第一学期综合奖学金二等奖
2022-2023学年2022-2023学年第一学期综合奖学金一等奖
专业水平
编程语言C语言,C++,Java,JavaScript,C#,PHP
技术框架yii2.0
开发软件Visual Studio Code,Visual Studio,IntelliJ IDEA,Dev C++
累计代码量15k
项目经历
个人博客系统 使用yii2.0框架进行开发
  • 完成基础功能包括文章、评论管理等
  • 前后台界面美化,添加dashboard界面
  • 添加文章分类功能
  • 添加附件管理功能
  • 用户权限管理

4.展望未来

4.1阅读《构建之法》的Q&A

Q1:软件的行为和用户的期望值不一样,就一定是 Bug 吗?

A1:我认为并不一定意味着一定存在Bug。Bug通常指的是软件在运行过程中因为程序错误而导致的功能异常、死机、数据丢失等现象。然而,软件行为与用户期望不一致的情况可能有多种原因,并不都是由程序错误引起的。软件行为与用户期望不一致的有如:

  • 开发者和用户之间的期望不一致。开发者可能基于不同的设计决策或者技术限制来实现软件功能,而用户则可能有不同的使用习惯或者期望。这种差异并不一定代表程序错误,而是需要进行权衡和沟通,以平衡开发者和用户之间的需求。
  • 受到运行环境等外部因素的影响。不同的操作系统、硬件配置或者网络条件可能导致软件在不同环境下表现出不同的行为。这并不一定意味着存在Bug,而是需要考虑软件的适应性和兼容性。
  • 开发者的故意为之,例如游戏彩蛋等设计。

总之,软件的行为与用户的期望不一致并不一定是Bug,而可能是由于设计决策、技术限制、用户习惯或者外部环境等多种因素引起的差异。对于开发者来说,重要的是根据用户反馈和需求,进行适当的调整和改进,以提供更好的用户体验。

Q2:花费时间越多,代表工作量越高吗?

A2:我认为该观点不成立。工作时长仅仅是衡量工作量的诸多条件之一。除此之外,还有工作效率,个人能力等因素。每个开发者的效率、专业能力、采用的技术等有可能不同。同时,一个技术人员完成同一项工作,也不能确保花费的时间完全一样。在开发的过程中可能存在环境不适配、突发bug等情况。

因此,工作量的衡量不仅仅取决于花费的时间,还取决于实际的工作量、任务的复杂性以及工作的效率。

Q3:需求分析:“最好”还是“最合适”?

A3:我认为选择使用"最好"还是"最合适"取决于具体的上下文和目标。

对于一个软件产品而言,软件团队与用户同样是产品构建的合作者,对于产品有着美好的希望。而对于每一款软件产品而言,构建者的条件并不全然相同。选择“最好”or“最合适”无法一概而论,应具体情况具体分析。例如,对于软件团队而言,技术能力、成本、开发时间等各有差异;对于用户而言,同样也会在用户年龄、产品需求、使用场所等方面有所不同。

"最好":意味着寻求最高的品质或性能水平。可能不考虑其他因素,例如成本、时间或可行性。适用于目标是追求卓越,并且有足够的资源和时间来实现的情况。

"最合适":意味着你正在寻找最适合特定条件、限制和目标的解决方案。更加实际和务实,注重整体上的适应性。在需求分析中,通常需要考虑多种因素,如成本、资源可用性、时间限制、技术限制和用户需求等。因此,选择"最合适"可能更能平衡各种权衡,并找到一个在各方面都能满足需求的解决方案。

总的来说,选择使用"最好"还是"最合适"取决于项目的具体情况和需求。如果你追求卓越且有足够的资源,可以选择"最好"。如果你需要权衡多种因素,并找到一个在各方面都适应的解决方案,那么选择"最合适"可能更实际。同时也可具体分析软件团队意愿以及用户意愿对于产品的影响权重。

Q4: 如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?

A4:持续学习:无论是软件工程领域或是其他领域,都是不断发展和演变的,因此要保持学习的态度。不妨定期阅读相关的技术博客、书籍、论文和新闻,关注行业的最新趋势和技术。

参与社区/培训/会议:加入软件开发者社区,例如技术论坛、开发者社交媒体群组等。与其他开发者交流经验、分享知识,了解他们的观点和建议。

保持实践与锻炼:通过实际项目锻炼自己的开发技能。参与开源项目、个人项目或者工作项目,不断提升自己的实际开发经验。

掌握核心原理:理解软件工程的核心原理和概念,例如数据结构、算法、设计模式等。这些基本概念对于理解和应用新的技术和框架非常重要。

探索好奇心和求知欲:保持对新技术的好奇心与求知欲,主动进行学习,尝试学习和应用新的编程语言、开发框架和工具。了解它们的优势和适用场景,并根据实际需求选择合适的技术。

持续改进和自我评估:“吾日三省吾身”。定期回顾自己的技术能力和项目经验,找出不足之处,并制定改进计划。不断提高自己的编码质量、设计能力和解决问题的能力。

Q5:如何更好地预估完成任务的时间?

A5:了解任务的要求:在预估任务完成时间之前,我们可以充分仔细阅读任务需求,从而对任务有个完整的印象和更好的了解。也可以与相关人员讨论,澄清任务的范围和预期结果。

分解任务:将任务分解为更小的子任务或阶段。有助于我们更好地理解任务的复杂性,同时对于子任务估计时间将比一次性预估完整任务时间更加容易且准确。不妨将任务划分并单独预估时间,最终相加得到总时长。

基于经验和历史数据:根据过去完成类似任务的经验,参考历史数据来预估任务的完成时间。

考虑风险和不确定性:完成任务的过程中存在潜在的风险和不确定性因素。我们可以提前分析可能出现的风险,预留出响应时间。

能力和资源:成员个人能力以及团队所拥有资源也是影响时间的重要因素。

利用专业工具和技术:使用项目管理工具、时间跟踪软件或其他相关的技术工具来辅助任务预估。这些工具可以帮助您更好地跟踪和管理任务的时间,并提供更准确的估算。

不断调整和学习:评估是一个学习和调整的过程。在开始阶段难免产生较大预估偏差。可以在每次任务结束后进行复盘和思考,总结不足之处,下一次再进行针对性改进。

此外,还可以采用一些专业工具或技术进行评估。

4.2 我未来的职业规划

现阶段目标是好好考研,读研究生。有机会的话,希望在研究生阶段能更多的积累专业知识和经验,了解学科前沿。梦想是进入外企或国企工作,但具体岗位尚未有明确目标。希望能平衡好工作和生活,注重身心健康。

4.3 对于软件工程实践课程的理解和期望

从大一开始就听到过不同的学长学姐哀嚎,对这门课的到来感到紧张。大致知道是一门相对辛苦、充满挑战的课程,需要付出不少的时间和精力。自身缺乏开发相关的知识,查看了发布的课程安排表,粗略了解每次任务的大致内容,感到忐忑和充满期待,希望过程虽然艰辛但是最终能够有所收获。同时大三下学期任务繁重,希望自己能够安排好时间,提高效率。

通过软件工程课程,希望可以学习关于后端的技术(java),同时熟练linux,复习计算机基础课程eg408.在软工实践课程贯穿的几个月内,希望自己不是在被动性的完成一个个作业布置的任务,而在过程中能够培养更加主动学习的积极性。同时这是一个检查自身知识缺漏的过程,希望能逐渐复习巩固过往知识,更好迎接未来的挑战。

5.学习路线

思维导图

img

学习计划

img

...全文
214 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧