软件工程实践寒假作业

222100421林宜斌 2024-02-14 10:21:19
这个作业属于哪个课程2302软件工程
这个作业的要求在哪里软件工程实践寒假作业
这个作业的目标回首过去、立足当下、展望未来、学习规划、 构建思维导图
其他参考文献《构建之法》、Git菜鸟教程Markdown菜鸟教程

目录

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

1.准备工作

仓库地址-222100421

img

img

2.回首过去

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

在查找了一些热门工科专业的资料后,专业的第一志愿我报了计算机,第二志愿报了软件工程,两个当时看起来很有"钱"景的专业,计算机分数差了一点,最后落到了第二志愿软件工程。但是不影响,我很喜欢这个专业,我认为软件工程专业是兼顾我的兴趣与未来就业的一个很好的专业。

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

选择软件工程专业时,我对未来的挑战充满了期待,我期待通过编程来解决问题,期待能够创新和创造,通过编写代码和设计软件来实现自己的创意和想法。我想开发出有用和有趣的应用程序或系统,将我的技术知识转化为真正的解决方案。我对我的职业发展也有很大的期待,期望毕业后能够有丰富的就业机会、有较高的薪资,成为一个有竞争力的软件工程师,我想在技术领域有广阔的前景,不断学习和成长。

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

当时零基础,刚入手编程觉得很困难,很多东西理解起来相当吃力,后面还是顶住了压力,自己课后找一些教程看,慢慢补上,一点点赶上。我觉得坚持很重要,经历了最开始的阵痛期后,我觉得编程不再是那么困难,也慢慢喜欢上了编程。曾经立过每天刷算法题的FLAG,没坚持下来。

3.立足当下

个人简历
头像
昵称初九
姓名林宜斌
籍贯福建莆田
兴趣爱好羽毛球、跑步、看电影
特长
email1451192764@qq.com
当前值
成果或获奖经历2022-2023学年第一学期学习进步奖
2023-2024学年第一学期学习进步奖
专业水平
编程语言C、C++、Java、HTML、CSS、JavaScript、PHP
开发软件Visual Studio Code、Visual Studio、IntelliJ IDEA、DevEco Studio
累计代码量15k+
项目水平
基于Yii2.0的博客系统基于Yii2.0的博客系统是一个基于PHP的博客平台,它使用了Yii2框架来构建。该系统为用户提供一个完整的博客解决方案,包括了后台的用户管理、文章管理、评论管理、附件管理、权限管理、文章搜索和过滤等,还有前台文章列表、详情的展示。
女鞋销售系统基于c#的女鞋管理系统,有商品管理:包括了添加、编辑和删除女鞋商品信息,库存管理:包括了实时跟踪女鞋库存情况,包括进货、出货和库存余量,订单管理:包括了记录顾客的购买订单,并生成订单编号、详细购买信息和订单状态。

4.展望未来

4.1阅读《构建之法》,并思考该社区中前人提出的问题。

Q1: 代码量与个人的编码能力有直接关系吗?

A1:我认为代码量与个人编码能力有一定关系,但不起决定性作用。不否认随着代码量的增长,个人的编码能力也会得到相应的提升,但编码能力包括技术掌握、问题解决能力、代码质量等方面的共同影响,不能简单的通过代码量来衡量,如果是1w行没有质量的代码1w行print,那么代码量对个人编码能力的提升并没有什么直接的体现。

Q2: 软件开发过程中是否有必要保证代码具有100%的正确性,如果有必要又应该如何实现呢?

A2: 在软件开发过程中,要保证代码具有100%的正确性几乎是不可能的。但是,尽可能提高代码的正确性仍是我们开发过程中的一个重要目标。下面是一些实现更高代码正确性的方法:

  1. 代码审查:通过团队间的代码审查,可以帮助发现和纠正代码中的潜在问题和错误。
  2. 编写单元测试和集成测试:编写自动化的单元测试和集成测试,可以对代码的各个部分进行验证,确保其按照预期工作。
  3. 采用设计模式和最佳实践:使用设计模式和最佳实践可以提高代码的可读性、可维护性和可测试性,减少错误的可能性。
  4. 完善的软件测试流程:建立完善的软件测试流程,包括功能测试、性能测试、安全性测试等,可以帮助发现并修复代码中的问题和漏洞。

Q3: 我们在面对开始的需求时可以通过哪些方法增强程序的可扩展性呢?

A3: 在面对初始需求时,下面是一些方法可以增强程序的可扩展性:

  1. 模块化设计:将程序划分为独立的模块,每个模块负责一个特定的功能。模块之间是松耦合的,通过明确定义的接口进行通信。这样,当需要新增功能或进行修改时,可以更容易地定位和修改相关的模块而不影响其他部分。
  2. 使用设计模式:设计模式是针对常见问题的可重用解决方案,可以提高代码的可扩展性和可维护性。合适的设计模式可以帮助代码更好地适应未来的变化。
  3. 接口和抽象类:面向接口编程,将实现与接口解耦,提供灵活性。
  4. 设计文档和注释:设计文档和注释可以帮助新的开发人员理解和使用代码,并在需要进行修改时降低开发成本,清晰的文档可以指导未来的扩展和改进。

Q4: 开源项目的商业价值如何体现?

A4: 开源项目的商业价值体现在以下几点:

  1. 社区和用户增长:通过开源项目可以吸引更多的开发者和用户参与,建立一个庞大的社区。这个社区可以为产品和服务带来更多的关注和支持,提高知名度和影响力。
  2. 集体的智慧和贡献:开源项目可以吸引来自各行各业的开发者和用户,他们可以为项目提供反馈、建议和贡献。这些可以帮助改进项目,增强产品的质量和功能,从而提高竞争力。
  3. 问题解决和支持服务:通过提供商业支持和专业服务,可以为开源项目提供附加价值。企业可以基于开源项目构建自己的产品和解决方案,并提供针对特定需求的定制支持和咨询服务。
  4. 可持续收入模式:虽然开源项目是免费提供的,但根据项目的特性,可以构建一些可持续收入模式。例如,通过提供高级功能、扩展插件、订阅服务、培训、赞助或专业咨询等方式获取收入。

Q5: 在项目或程序比较复杂的情况下,如何高效率的进行程序理解?

A5: 在处理复杂项目或程序时,我们可以这样高效率理解程序:

  1. 阅读代码注释和文档。
  2. 使用工具和IDE的功能,如代码导航和搜索。
  3. 使用代码可视化工具,如结构图和调用图。
  4. 调试和运行代码,观察程序的执行过程。
  5. 提问和交流,向团队或开源社区寻求帮助。

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

很纠结,想本科毕业直接就业,又不太甘心。想读研究生,又不知道几年过后,互联网的市场会变成什么样子。 思虑过后还是准备投身于考研大军,提升一下学历,顺便缓解一下就业压力。当然也有可能直接不考了,不过最重要而且不变的还是要继续提升自己的技术水平,丰富自己的技术栈,积累项目经验,为以后的就业夯实基础。

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

对于软件工程实践课程,我理解为这是一门强调学生在实际软件开发项目中应用所学知识和技能的课程。通过这门课程,我们能够深入了解软件开发的各个方面,并将其运用到具体项目中。
在这门课程中,我期望能够获得以下几个方面的收益和经验:

  1. 真实项目经验:通过该课程我们有机会参与真实的软件开发项目,通过实践掌握软件开发的全过程,从需求分析、系统设计、编码实现、测试到部署和维护。
  2. 团队合作能力:实践课程要求我们以小组为单位,通过与队友协作完成项目。这有助于我们提升团队合作与沟通能力,并培养共同解决问题和分工合作的技能。
  3. 技术与工具的应用:通过实践项目,我们将学会使用各种软件工程中常用的开发工具和技术框架,如版本控制系统、项目管理工具、测试框架等,提高实际开发的效率和质量。
  4. 解决实际问题能力:实践课程中需要解决真实世界中的软件开发挑战和问题,这会锻炼我们解决问题的能力,包括需求分析、系统设计、错误调试等。
    最后也希望老师和助教可以在课内知识的基础上适当地进行一定的拓展,开阔我们的视野,多介绍一些前沿的技术知识与框架,也希望能和老师助教多多交流。

5.思维导图和学习路线

5.1思维导图

img

5.2 学习路线

img

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

122

社区成员

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

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