软件工程实践暑假作业

222200207朱骏祥 2024-09-01 13:41:50
这个作业属于哪个课程软件工程实践2024年
这个作业要求在哪里软件工程实践暑期作业
这个作业的目标加入班级社区,详细阅读作业要求,提前学习markdown语法,阅读《构建之法》撰写博客
其他参考文献《构建之法》 CSDN

目录

  • 1. 准备工作
  • 1.1 截图
  • 1.2 GitCode地址
  • 2. 回首过去
  • 2.1 当初你为什么选择软件工程这个专业?
  • 2.2 当初对软件工程这个专业的期待和想象是什么?
  • 2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗
  • 3. 立足当下
  • 4. 展望未来
  • 4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。要求在自己的思考中贴上原问题的链接。
  • 问题1:在一个被认定为“足够好”的软件发布后,得到的用户反馈中,哪些是有用的?什么时候才能将这个软件优化到相对稳定的版本?
  • 问题2:认为软件系统十分复杂是不是因为软件工程还没有充分发展?
  • 问题3:软件开发是年轻人的饭碗,吃的是青春饭?那年纪大的程序员经验丰富但是快速学习能力拼不过年轻程序员的时候该怎么办呢?
  • 问题4:软件的行为和用户的期望值不一样,就一定是 Bug 吗?
  • 问题5:为什么一般不推荐在单元测试中使用随机数增加测试的真实性?
  • 4.2 你未来的职业规划是什么?
  • 4.3 对于软件工程实践课程,你有什么理解和期望?例如:
  • 5. 学习路线和思维导图
  • 5.1 思维导图
  • 5.2 学习路线

1. 准备工作

1.1 截图

img

img

img

1.2 GitCode地址

(https://devcloud.cn-east-3.huaweicloud.com/codehub/project/9b57767d9066454f8b90a2ceb45b23cf/codehub/7779305/home?ref=master)

2. 回首过去

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

  • 当初选择软件工程这个专业,是因为我对技术和创新的热爱。随着科技的迅速发展,软件工程成为了推动各行业进步的核心力量。我希望通过学习软件工程,掌握编程、系统设计和数据分析等技能,能够创造出对社会有益的解决方案。此外,软件工程的广泛应用性也吸引了我,它不仅限于某一个领域,而是可以在医疗、教育、金融等多个行业中发挥作用。我认为,通过软件工程,我可以在未来的职业生涯中做出有意义的贡献。

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

  • 当初对软件工程专业的期待和想象,主要围绕着技术的创造力和解决实际问题的能力。我期待着能够通过学习,掌握编程语言和算法,去开发有趣而实用的软件应用。在我的想象中,软件工程不仅仅是编写代码,更是通过技术手段解决现实生活中的各种挑战。
    我也期待在学习过程中,能接触到最新的科技趋势和工具,如人工智能、机器学习、大数据等,并能够运用这些技术去创新。同时,我想象着在软件工程的世界里,每一个项目都充满了探索和突破,充满了团队协作和不断迭代的过程。总的来说,我希望通过学习软件工程,能够为未来的职业生涯奠定坚实的技术基础,同时也能在这个充满潜力和机遇的领域里,探索出属于自己的发展路径。

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

  1. 当初希望自己能够全身心地投入到软件工程的学习中,把每一个课程都当作提升自我能力的机会。我期望自己不仅能在课堂上认真听讲、掌握理论知识,还能够主动参与课外实践,通过编写代码、参与项目等方式,巩固和应用所学的内容。我还计划通过阅读专业书籍、观看在线课程,来补充和扩展自己的知识面,尤其是在新兴技术领域。
  2. 在入学前,我做了一些准备工作,尝试过开发一些简单的应用程序,体验编程的乐趣和挑战。此外,我还了解了软件工程的基本概念,尝试去理解软件开发流程的每个阶段,以便在正式学习时能更快地适应。
  3. 至于立下的FLAG,我曾告诉自己,要在大学四年里掌握至少两到三门编程语言,参与至少一个开源项目,并争取在某个领域(如人工智能或数据科学)有所专长。我希望通过这样的努力,能在毕业时成为一名有实际经验和深厚技术基础的软件工程师。

3. 立足当下

个人简历
姓名朱骏祥
兴趣爱好游戏,篮球
特长吉他
成果和获奖经历
专业水平
编程语言C/C++,C#,Java,SQL
技术框架Spring,ArkUI
累计代码量2w+
开发软件Dev C++,Visual Studio, Eclipse, VS Code, MySQL, Sql Server
项目经历
医院管理系统可以通过这个系统添加删除,修改病人,患者,医生,陪诊师,可以远程预约,实现线上聊天等功能

4. 展望未来

4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。要求在自己的思考中贴上原问题的链接。

问题1:在一个被认定为“足够好”的软件发布后,得到的用户反馈中,哪些是有用的?什么时候才能将这个软件优化到相对稳定的版本?

答:

  • 有用的用户反馈通常包括:
  1. 功能建议:用户提出的功能需求或改进点。
  2. 问题报告:使用中发现的bug或技术问题。
  3. 性能反馈:软件的响应速度和稳定性问题。
  4. 用户体验:界面设计和操作的易用性反馈。
  • 要将软件优化到相对稳定的版本,通常需要经历以下几个阶段:
  1. 收集和分析反馈:识别并优先解决影响较大的问题和改进建议。
  2. 修复和优化:进行代码修复、性能优化和功能改进。
  3. 测试:通过内部测试和用户测试确保问题解决,并验证优化效果。
  4. 发布和监控:发布更新版本并持续监控用户反馈,确保新版本的稳定性。
    1.1 在一个被认定为“足够好”的软件发布后,得到的用户反馈中,哪些是有用的?什么时候才能将这个软件优化到相对稳定的版本?

问题2:认为软件系统十分复杂是不是因为软件工程还没有充分发展?

答:

问题3:软件开发是年轻人的饭碗,吃的是青春饭?那年纪大的程序员经验丰富但是快速学习能力拼不过年轻程序员的时候该怎么办呢?

答:

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

答:

  • 不一定。软件的行为与用户期望不一致可能是因为:
  1. 需求理解差异:用户的期望和实际需求可能没有完全匹配,导致行为与期望不同。
  2. 设计决策:设计可能基于特定的假设或原则,这与用户的期望存在差异。
  3. 功能限制:软件的实现可能受到技术或资源的限制,不能完全满足用户的期望。

问题5:为什么一般不推荐在单元测试中使用随机数增加测试的真实性?

答:

  • 原文出自《构建之法》第 2 章 2.1.2 —— 好的单元测试标准
  • 问:如果用随机数以增加测试的真实性,好么?
  • 答:一般情况下不好,如果某个随机数导致程序出错,但是下一次运行又不能重复这一错误,则于事无补。我们还是要用随机数等办法「增加测试的真实性」,但不是在单元测试中。单元测试不能解决所有问题,不必期望它会发现所有的缺陷。
  • 在结对编程中,我和队友使用了包含随机数的单元测试用例。正如我在学期开始分析的那样,随机数是由随机数种子seed生成的,我们可以在每次单元测试开始时,记录生成随机数的种子seed。当某个数据导致程序出错时,我们只需要通过追踪seed即可复原完整的输入。
  • 此外,在学期开始时我还有如下观点:
    我认为随机最大的问题不在于不可复现,而在于其输出也是随机的。对于预先给定的几个单元测试输入,我们可以根据模块的功能定义,分别手工构造其相应的输出。但对于随机的输入数据,我们只能通过另一个程序来模拟运行的情况并给出理论上正确的输出。但这样一来,如何确保模拟程序本身是绝对正确的呢?我认为这才是在单元测试中使用随机数的最大问题。
  • 在结对编程中,我的待测试程序本身使用了状压DP、剪枝等多种优化。因此我另外实现了一个朴素的DP方法,来保证对拍测试的正确性。
    为什么一般不推荐在单元测试中使用随机数增加测试的真实性?

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

答:

  • 我的未来职业规划主要集中在技术领域,特别是软件工程和相关的创新方向。我希望在接下来的几年里,通过不断学习和实践,成为一名全栈开发工程师,能够独立设计和开发完整的应用程序。
  • 在职业生涯的初期,我计划积累丰富的开发经验,参与各种项目,掌握多种编程语言和框架,深入了解软件开发的各个阶段,从需求分析到系统设计,再到编程实现和测试部署。我也希望在这一过程中,能够接触到前沿技术,如人工智能、云计算、大数据等,为未来的发展奠定基础。
  • 中期,我希望能够在某一技术领域深入专研,成为该领域的专家。这个领域可能是人工智能,或者是与社会发展息息相关的某个技术方向,比如医疗技术或教育科技。我也有兴趣在这阶段参与一些创新型的项目,探索技术如何为解决现实问题提供更有效的方案。
  • 在职业生涯的后期,我希望能有机会担任技术领导或管理角色,带领团队开发具有重大影响力的产品或服务。同时,我也希望能够将自己的经验传授给后辈,通过教学或指导的方式,帮助更多的人在技术领域取得成功。最终,我希望自己能在技术和管理的结合点上,找到一个平衡点,既能够推动技术创新,又能够为社会做出实际贡献。

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

答:

  • 对于软件工程实践课程,我理解它是将理论知识与实际应用相结合的关键环节,旨在通过实际项目让学生在真实的开发环境中积累经验。我期待通过这门课程,将课堂上学到的设计模式、开发方法等理论应用到实践中,提升自己的动手能力和问题解决能力。同时,我希望能够在项目驱动的学习过程中,学会如何在团队中有效地沟通和协作,掌握版本控制等团队协作工具,提升应对复杂问题的能力。此外,我也期望课程能涵盖前沿技术,如云计算和微服务架构,以拓宽我的技术视野,为未来的职业发展打下坚实基础。。

5. 学习路线和思维导图

5.1 思维导图

img

5.2 学习路线

img

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

109

社区成员

发帖
与我相关
我的任务
社区描述
202401_CS_SE_FZU
软件工程 高校
社区管理员
  • FZU_SE_TeacherL
  • 言1837
  • 防震水泥
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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