| 这个作业属于哪个课程 | 2023年福大-软件工程实践-W班 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践寒假作业 |
| 这个作业的目标 | 注册优快云;加入班级社区;学习markdown语法:阅读《构建之法》;撰写博客;核对作业评分标准 |
| 其他参考文献 | markdown教程-Gitcode;markdown教程-菜鸟教程;Gitcode帮助文档;Git入门-Gitcode;Git学习-菜鸟教程;Xmind绘制思维导图教程 |
文章目录
1.准备工作
1.1上传截图

上传之后的仓库

1.2仓库地址
仓库地址:https://gitcode.net/CapDCC/222100136
2.回首过去
2.1 当初你为什么选择软件工程这个专业?
首先是自身的兴趣,对电脑以及科技等方面有一定想法,也比较喜欢探索这方面的内容,并且在高中时也接触过编程方面的学习,有一定的基础。
其实是就业的考虑以及当时高考成绩的考量,考虑到软件工程将来的前景较好,比较好就业,其次是综合当时的高考成绩,最后决定选择软件工程这个专业。
2.2 当初对软件工程这个专业的期待和想象是什么?
在高中时期学过一阵子的编程,想到大学将要系统地学习这方面的知识,希望能成为一个编程大佬,做出好玩又好用的软件,给自己和他人带来快乐和方便。同时也想象再将来毕业后能够找到一个好工作,实现经济自由。
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
一开始希望自己能够在课上跟着老师学习编程,课后回到宿舍手敲代码,同时可以在课余学习一些有意思的程序。所以在暑假期间将高中时学习的编程书翻出来复习巩固了一下,并且简单的预习了下开学后将要学习到的知识。并且希望能够在大学期间,熟练掌握几门编程语言、做出厉害的程序、如果有机会能够和大家一起完成项目等等等,当然有不少还未实现,还需继续努力。
3.立足当下
3.1 个人展示
| 个人简历 | |
|---|---|
| 姓名 | dc |
| 邮箱 | 1660573404@qq.com |
| 兴趣爱好 | 玩游戏、骑行、听歌 |
| 特长 | 游泳、骑行 |
| 照片 | ![]() |
3.2 当前值
| 专业水平 | |
|---|---|
| 掌握的编程语言 | Java、C/C++、C#、HTML、CSS、JavaScript、XML、php |
| 技术框架 | Yii2.0 |
| 开发软件 | Visual Studio Code、Visual Studio、Eclipse IDE for Java、Dev C++、DevEco Studio、Eclipse IDE for PHP |
| 累计代码量 | 1.5w+行 |
| 成果和获奖经历 | 2022学年第二学期精神文明建设先进个人奖 |
| 项目经历 | |
|---|---|
| 学生管理系统 | - 基于Java和SQL Server Management Studio开发。 -实现了登录功能,可以登录管理员、教师或者学生。 - 管理员可以对学生进行增删查改、为学生分配宿舍、为学生分配班级等。 -教师可以查看学生选课情况、为学生登记成绩、查看学生成绩排名。 -学生可以登录查看自己的个人信息、可以反馈问题。 |
| 博客系统 | -利用Yii2.0框架和Eclipse IDE for PHP,以及advanced模板。 -实现了前后台页面,前后台都可以登录。 -前台实现用户登录后可以修改密码、查看文章、在文章下方评论、查找文章或者根据标签云查找等操作。 -后台管理员登录后可以进行文章管理、评论管理、用户管理、管理员管理。 -其中文章管理可以对文章进行增删查改;评论管理可以审核新增的评论、查看或修改评论;用户管理可以对用户进行增删查改或者重置密码;管理员管理可以对管理员进行增删查改、并对管理员赋予相关的权限等。 |
4.展望未来
4.1阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。
Q1:单元测试中,测试用例是提前准备好的,还是看过代码后针对性编写的?
我认为,即使单元测试达到 100%覆盖率,也无法保证模块的完全正确。因此,单元测试通常是由开发人员编写的,他们会在编写代码的同时编写相应的测试用例以确保代码的正确性,并在开发过程中迅速捕获和修复潜在的问题。单元测试通常包括对代码的不同方面进行测试,包括边界条件、异常情况等。然而,如果开发人员未考虑到某些边界条件,或者由于各种原因而无法覆盖所有可能的情况,那么可能会留下一些漏洞。在这种情况下,测试人员通常会以黑盒测试的方式,即不直接依赖于代码的实现细节,编写测试用例来验证系统的功能是否符合需求,并检测潜在的边界条件和问题。总体而言,单元测试和系统测试之间的协作是确保软件质量的重要一环,开发者和测试人员的密切合作有助于发现和解决潜在的问题。
Q2:如何提高单元测试的覆盖率(尤其是对于经验不足的新人)?
首先,新手应该学习单元测试的基本概念、原则和最佳实践。其次,新手应该深入理解他们要测试的代码的结构和功能。他们需要了解代码的不同部分是如何相互作用的,以便能够编写有效的测试用例。再者可以通过学习TDD,通过采用TDD,新手可以更好地理解代码的需求和行为,并确保他们编写的代码具有良好的测试覆盖率。另一方面,新手可以使用一些单元测试框架和工具来简化测试过程,如JUnit(Java)、pytest(Python)、Jest(JavaScript)等。并且应当不断学习新的技术和工具,参与团队中的代码审查和讨论,从他人的经验中汲取教训,并不断改进自己的测试技能。
总之我认为,单元测试是一个持续学习和改进的过程。提高单元测试覆盖率需要时间、经验和持续的努力。新手可以通过学习、实践和不断改进来逐步提高他们的测试技能和覆盖率水平。
结对编程是一种软件开发实践,其中两名程序员共同在同一计算机上工作,一个负责编写代码,而另一个负责即时的代码审查和思考。这种协作方式有许多优势,我认为其价值体现在以下几个方面:1、知识传递和技能提升:特别是在团队中有经验丰富的开发人员与新手结对时。新手能够通过与经验丰富的开发者一同工作,学习到实际项目中的最佳实践、设计模式和解决问题的方法。2.代码质量和审查:结对编程可以看作是实时的代码审查过程。两个人在一起工作时,可以更容易发现潜在的错误、漏洞和代码质量问题。3.团队协作和沟通:结对编程强调协作和沟通,有助于团队成员之间建立更紧密的联系。通过直接交流,可以更容易理解彼此的思考过程和决策。4.减轻压力和提高工作满意度:有伴侣一同工作可以分担工作压力,减轻个体责任感。这有助于降低疲劳和提高工作满意度。
学习过后我认为,场景测试是以用户的使用场景为基础,通过模拟真实的用户行为、情境和交互,来评估产品在这些场景下的表现。强调在特定情境或使用场景下评估产品的性能、功能和用户体验,侧重于模拟真实使用情况,以确保产品在各种情境下的稳定性和可用性。而直接使用产品测试通常是通过全面操作产品,测试所有功能、模块和组件,以确保产品的整体质量。侧重于全面测试产品的各个方面,包括功能、性能、安全性等。这种测试方法通常更全面,不限制于特定场景。
在我看来,在敏捷开发中,是否要解决所有的 bug 可能会受到一些因素的影响,而不是一刀切的答案,要考虑到许多方面。首先是优先级,有些 bug 可能是次要的,对系统的影响较小,而有些可能是紧急的,需要立即修复。在敏捷开发中,通常会根据优先级来决定哪些 bug 应该首先解决。然后是影响范围,有些 bug 可能只影响特定的用户或特定的使用情境,而不是整个系统。在敏捷开发中,可能会更关注那些对广大用户或核心功能有重大影响的 bug。再者是用户反馈, 如果用户报告了一个重要的 bug,这可能会成为高优先级的任务。用户的反馈对于确定哪些 bug 应该被解决具有很大的价值。还有就是任务的目标,有时候可能需要在快速发布的同时容忍一些次要的 bug。在某些情况下,完成特定的任务或改进可能比解决所有 bug 更为重要。
4.2 你未来的职业规划是什么?
目前来说就当前的就业形势,我的想法是考研,选择计算机或者人工智能这类的方向。并且软件工程领域日新月异,在读研期间我希望能保持对新技术、新工具的敏感度,并持续学习和更新知识。希望能够多参加一些项目之类的,获得更多的经验,以保持竞争力。然后希望能够争取到一些的大厂的机会,成为一名程序员。
4.3 对于软件工程实践课程,你有什么理解和期望?
在我看来,软件工程实践是一门非常重要的课程,它不仅是学习新知识的课程,更是锻炼自己所学知识的运用、培养开发项目能力、学会与他人或者团队协同开发的一个重要历程,这将为我们将来进入职场提供相当多的经验和帮助。因此我的期望是能够在这个学期,认真的学习软件工程的理论知识,在学习新技术的同时和培养与他人合作共同完成项目的能力。因此我希望是老师和助教能在项目开发遇到问题时提供一定的帮助,并对我们的项目路线等提出一定的建议。
5.学习路线
5.1 我的前端学习思维导图

5.2 我的学习规划路线图

本文讲述了作者在软件工程实践中,从上传截图、仓库管理到回顾过去的专业选择,展望未来的学习路径,特别是对《构建之法》的阅读思考、单元测试策略、结对编程价值和职业规划的阐述。作者强调了实践课程的重要性,以及在学习过程中如何提升技能和团队协作。




1075

被折叠的 条评论
为什么被折叠?



