118
社区成员
这个作业属于哪个课程 | 2302软件工程 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 准备工作、回首过去、立足当下、展望未来、学习路线 |
其他参考文献 | CSDN、《构建之法》、菜鸟教程 |
仓库地址: https://gitcode.net/qq_63574466/22210011
当初选择软件工程这个专业,是因为对计算机科学和技术的兴趣和热爱。在高中时,我就对编程和软件开发产生了浓厚的兴趣,觉得这是一个充满挑战和创造力的领域。计算机技术的不断发展和应用广泛性也让我对选择软件工程这一领域充满了信心。
同时当时国内IT行业优秀的工资待遇和火热的发展前景也让我感到十分向往(虽然现在不太行了)。
当初对软件工程的期望和想象主要集中在创造性和解决问题的能力上。我希望通过学习软件工程,能够掌握先进的编程技术和开发工具,从而能够设计和实现各种创新的软件应用,为解决实际问题贡献自己的一份力量。我想象自己能够参与到各种有趣的项目中,不断挑战自己的技术和创造力,同时也为社会创造更多价值。
当初投入这个专业的学习时,我立下了许多FLAG。首先,我希望能够保持对学科的热情,不仅仅是完成课程要求,更要主动深入学习相关的领域知识。其次,我计划在大学期间参与一些实际项目,通过实践提升自己的实际应用能力。我也设定了一些目标,比如在特定时间内完成一定数量的编程项目,参加一定数量的编程比赛,以不断锻炼和提高自己的编程水平。此外,我积极参加相关的社团和活动,与同行交流学习,扩大自己的人际网络。
回顾过去的学习历程,我深感时光匆匆,但也很庆幸选择了软件工程这个专业。在这个过程中,我不仅学到了扎实的编程技能,还培养了团队协作和解决问题的能力。虽然学业即将结束,但我对软件工程依然充满热爱,期待未来能够在这个领域有更多的发展和贡献。
个人简历 | ||
---|---|---|
姓名 | ZDW | |
电话 | 156****6339 | |
邮箱 | 223*******@qq.com | |
兴趣爱好 | 绘画、阅读、第九艺术 | |
特长 | 板绘、外语 | |
获奖经历 | ||
2022年 | 服务外包实验室校赛二等奖 | |
专业水平 | ||
掌握的编程语言 | C、C++、Java、Kotlin、C#、ArkTS、Dart、HTML、CSS、JavaScript、PHP、XML | |
技术框架 | Yii2.0、Flutter | |
开发软件 | Dev-C++、IntelliJ IDEA、Visual Studio Code、Visual Studio、Android Studio、DevEco Studio | |
累计代码量 | 2-3w | |
项目经历 | ||
过期物品的提醒助手系统 | 使用Flutter开发的跨平台App,允许用户自行创建物品类,并在物品类中添加临期物品。在物品将要过期的前一个星期至前一天,进行不同程度的提醒。还拥有对过期物品进行智能处理方式推荐的功能。 | |
基于Yii2.0的博客系统 | 基于Yi2.0框架开发的博客系统,使用Mysql管理博客数据,并允许用户进行注册、登录,博客攥写、博客发表、博客编辑、博客管理、博客删除以及浏览他人博客的功能。 | |
电商管理系统 | 使用C#开发的电商管理系统,连接Mysql管理电商数据,允许用户进行购买、添加商品和统计,当商品数量进行变化时,做出对应的反应。 |
Question 1: 花费时间越多,代表工作量越高吗?
从一般的软件工程的视角来看,花费的时间并不一定代表工作量的高低。在软件开发过程中,工作量的评估不仅仅与时间有关,还涉及其他因素,如任务的复杂性、需求的清晰度、团队成员的技能水平等。
有时候,一个看似简单的任务可能由于其复杂性而需要更多的时间来完成,而相反,一个经验丰富的开发者可能能够在较短时间内完成一个相对较为复杂的任务。因此,工作量的评估应该综合考虑多个因素。
总的来说,花费时间与工作量的关系复杂而多变,需要综合考虑多个因素。在软件工程的实践中,重要的是在项目的不同阶段进行合理的任务分解和工作估算,以便更好地管理和规划项目。
Question 2: 结对编程在双方差距较大时的意义是什么?
结对编程在双方技术水平差距较大时有着双重影响。正面而言,它促进了知识传递和共享,让经验丰富的开发者通过实际合作与新手分享实用技能和最佳实践。此外,即时反馈有助于快速学习和改进,而技术协作则提高了团队的沟通效率。
然而,负面方面包括可能的效率问题,因为经验丰富的开发者可能需要花更多时间指导;沟通障碍可能增加,因为理解和协调需求更多精力。此外,并非所有开发者都适应结对编程,尤其是在技术水平差距较大的情况下,一些人可能更倾向于独立工作,这可能引发不适感。因此,团队需要权衡这些正负面因素,选择适合其情境和项目的开发模式。
Question 3:个人在团队中角色就像是一个流水线上的机器吗?
软件开发是一项复杂的任务,涉及到创造性的问题解决、设计和实施新功能等方面,这些都需要开发者运用其专业知识和判断力。
在团队中,每个个体都是具有独特技能和经验的专业人士。开发者不仅仅是执行指定任务的机器,而是通过思考、设计和编码来贡献于项目的成功。此外,软件开发通常需要团队成员之间的协作和沟通,以确保整个系统的一致性和质量。
软件工程更强调创造性、问题解决能力和团队协作,与流水线上的机器工作模式有本质区别。在软件开发中,个人不仅仅是执行任务的工具,而是对项目成功至关重要的有机组成部分。团队的协作和创新能力是推动软件工程领域前进的关键因素。
Question 4:在团队项目中,是选择有利于自身成长、最具挑战性的工作;还是有利于团队、有把握的完成的工作?
团队成员在团队项目中的选择应该考虑到个人发展和团队目标之间的平衡。挑战性的任务通常为个人提供了学习和成长的机会,可以推动技能的提升和知识的扩展。然而,过度追求挑战性工作可能会导致项目进度的不稳定和风险的增加。
另一方面,选择相对有把握完成的任务有助于确保项目的顺利进行,提高整体团队的生产力。这种做法可以降低风险,保证交付的质量和时间。然而,过于专注于稳定性和确定性的工作可能会限制个人的学习和成长。
因此,团队成员在决策时需要综合考虑个人的技能提升和团队项目的整体目标。在项目中,可以通过与团队成员讨论,明确个人发展计划,并在团队中分享挑战和责任,以达到个人和团队共同成功的平衡。这样的综合性决策有助于形成更具有长远意义的个人和团队发展策略。
Question 5:团队成员的学习能力不一,要如何平衡?
在团队开发中,面对团队成员学习能力不一的情况,需要平衡个体学习的速度和项目进展的需要。针对题主提出的问题,在alpha冲刺阶段,需要权衡让个人自己学习和分配人员指导的权衡。如果某个团队成员需要额外的时间来理解新的编程语言,可以考虑通过分配一些独立的任务,让他们在学习的同时逐步参与项目。然而,为了确保整体项目进度,可能需要确保有足够的资源来支持学习较慢的团队成员。
在没有分配人员指导的情况下,如果某一部分功能由于学习曲线较陡峭而无法完成,团队需要及时调整策略。可以考虑重新评估任务分配,为学习曲线较陡峭的成员提供更多的支持,或者将任务重新分配给更具有相关经验的团队成员。总体而言,及时调整并重新规划任务,确保团队成员在学习的同时也能够完成项目任务,是解决这种情况的关键。
目前我计划本科毕业之后,去日本继续读修士,目前已经考取了日本语等级N1证书。如果可能的话,我打算留日发展,因为无论是日本的IT行业还是其他与计算机有关的行业,不论是工作环境还是就业难度上来讲,都比国内要好。
在技能方面,我将专注于我之后的研究课题,积累更多的专业知识和研究经验。同时,我希望通过参与国际性的研究项目和与不同背景的研究者合作,拓展我的国际视野和学术交流能力。
对于软件工程实践课程,我期望能够在实际项目中应用所学的理论知识,更深入地了解软件开发的实际操作。这门课程对我而言是一个将课堂知识与实际应用相结合的机会,希望通过参与实际项目,能够更好地掌握编码、调试、版本控制等实际开发中的技能。
我希望在这门课程中能够体验到团队合作的重要性,学会如何与团队成员协作、解决问题,并适应项目周期的紧张和变化。实际项目的经验对我的未来职业发展将是非常有价值的,因为它能够让我更好地理解和应对真实世界中的软件开发挑战。
总体来说,我期望这门实践课程能够为我提供一个更深刻、更实用的软件工程学习经历,使我在毕业后更好地应对实际工作中的各种情境。