116
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
这个作业属于哪个课程 | 福州大学-202302软件工程实践 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 学习markdown语法、阅读《构建之法》、回首过去、立足当下、展望未来、学习路线 |
其他参考文献 | Markdown教程、Git入门、XMind导图教程 |
仓库地址:点这里
高考结束后,经过与老师和家人的讨论,我选择了市场上非常热门的计算机相关专业。在填报志愿时,我选择了软件工程和大数据等几个专业,那时我对这些专业之间的具体差异并不十分清楚,我的选择更多是基于它们与计算机科学的关联性。
选择软件工程专业,我主要是出于对计算机科学与软件开发领域的热情和职业前景的考虑。我期望能深入学习计算机科学与软件开发的相关知识,并掌握最新的开发技术和工具。这不仅能帮助我将理论知识应用于解决实际问题,还能通过参与实际项目来提升我的项目管理和团队协作能力,同时培养我面对复杂挑战的解决能力。
当初选择软件工程专业,我原以为跟随课堂教学就能掌握所需知识,然而很快我意识到,课堂所教只是整个领域知识的冰山一角。面对这一现实,我开始主动拓宽学习渠道,积极利用开源平台上的资源自学,这极大地加深了我的专业理解和技能。
为了更好地适应软件工程领域的快速发展,我立下了两个FLAG。首先,要持续学习和了解最新技术。这意味着不仅通过阅读书籍、参与线上课程和技术讲座来更新我的知识库,还要跟进行业动态,确保我所学能够与时俱进。其次,我认识到提高英语水平的重要性。由于许多前沿技术资料和文档都是英文的,良好的英语能力对于获取最新信息、参与国际项目以及未来可能的国际化工作环境至关重要。
个人简历 | ||
---|---|---|
![]() | 昵称 | Extazy1 |
出生年月 | 2003年3月 | |
籍贯 | 福建福州 | |
邮箱 | 2056345020@qq.com | |
联系方式 | 152 xxxx xxxx | |
兴趣爱好 | 看书、听歌、长跑 | |
当前水平 | ||
成果和获奖经历 | 福州大学2021-2022学年第一学期三等奖学金 | |
福州大学2021-2022学年第二学期二等奖学金 | ||
2022年中国大学生数学建模竞赛省二等奖 | ||
专业水平 | 掌握的编程语言 | C语言、C++、Python、Java、JavaScript、PHP |
技术框架 | Yii2.0、React、Vue | |
开发软件 | IntelliJ IDEA、WebStrom、Visual Studio Code、Visual Studio | |
累计代码量 | 10k+ | |
项目经历 | 网络聊天室 | 在团队项目“网络聊天室”中,担任主要开发者,负责设计和实现基于Java套接字技术的多用户在线通信平台。该项目分为服务器端和客户端,其中我主要负责开发服务器端逻辑,包括处理用户的连接请求、消息的接收与转发,以及维护用户会话的稳定性和实时性。同时,我也参与了客户端的界面设计,使用Swing技术开发了用户友好的操作界面。通过我们的努力,成功构建了一个简易的支持多用户实时交流的稳定聊天室,提高了用户交流的效率和体验。 |
博客系统 | 在个人项目“博客系统”中,独立负责使用Yii2.0框架构建的完整博客平台。该项目旨在创建一个功能丰富的博客系统,包括文章发布、评论互动、用户管理等核心功能。我使用HTML、CSS、JavaScript和PHP开发前后端,实现了文章列表展示、搜索功能和标签云分类,以及一个直观的后台管理界面。通过这个项目,不仅锻炼了我的全栈开发能力,也成功地为用户提供了一个高效、易用的博客分享和交流平台,促进了用户间的互动和信息分享。 |
Q1:认为软件系统十分复杂是不是因为软件工程还没有充分发展?
A1:软件系统之所以复杂,是因为需求多样化、技术迅速发展、项目规模增大、变更管理以及质量保证等多方面因素的共同作用。虽然软件工程作为学科不断进步,引入了新的方法论、最佳实践和工具来应对这些挑战,但这些措施更多地是帮助我们管理而非消除复杂性。随着技术的发展和新领域(如人工智能、大数据、云计算等)的出现,软件系统的复杂性也在不断演进,软件工程的挑战也在不断变化,需要持续的学习和适应来有效地应对。
Q2:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?
A2:对于软件工程师而言,选择深入专研某一技术("专")还是拥有广泛技能("广"),取决于个人兴趣、职业目标以及市场需求的变化。深入专研可以使工程师在特定领域成为专家,解决复杂问题的能力更强,而广泛掌握不同技术则提高了适应变化和跨领域工作的能力。理想情况下,采用"T型"技能模型,即在一个或几个领域有深厚的专业知识,同时具备跨领域的基础知识,既能保持专业优势,又能适应技术和市场的快速变化,是许多软件工程师追求的职业发展路径。
Q3:软件的行为和用户的期望值不一样,就一定是 Bug 吗?
A3:软件的行为与用户期望不一致并不总是指存在bug。这种差异可能源于需求理解的偏差、特定的设计决策、文档或培训的不足、用户界面或体验设计问题,以及实际的bug。要确定根本原因,需要开发团队与用户沟通,复查需求和设计,并可能需要调整软件、改善文档。因此,处理这类差异需要综合考虑多方面因素,采取适当的策略来解决问题,而不是简单地将其归咎于bug。
A4:变量命名应该具备描述性,这是编写可读性高和易于维护代码的关键。描述性命名有助于快速传达变量的用途、类型和作用,从而提高代码的可读性,简化代码维护过程,并促进团队成员之间的有效沟通。好的变量名应该在简洁与描述性之间找到平衡,避免过度复杂或过长的命名,以确保代码的清晰和高效。例如,userAge和saveUserDataToDatabase这样的命名就清楚地表明了变量的具体用途和作用范围,比简单的age或saveData更为有效。
A5:在需求分析中,追求“最合适”的方案而非“最好”的方案是更实际和有效的策略。这是因为“最合适”考虑到了项目的具体需求、预算、时间、技术能力和资源等关键限制,旨在找到在给定条件下最能满足核心需求、风险最小、成本效益最高、且易于维护和扩展的解决方案。这种方法强调根据项目的实际情况进行综合权衡,以确保解决方案既切合实际又能有效地达成项目目标。
目前的规划是继续攻读研究生学位,加强专业技能并通过实习等积累实践经验,深化专业知识。现在比较感兴趣的方向是后端开发工程师,在未来会继续扩展技术栈、积累实践经验、积极的参与开源社区项目以及持续学习。
我认为软件工程实践课程的核心在于将理论知识与实际操作紧密结合,通过实践活动加深学生对软件开发流程和方法的理解。它强调团队合作,认识到软件开发不是孤立的技术活动,而是需要团队成员之间紧密协作,共同解决问题的过程。
我希望这门课程能成为我深入理解软件开发过程的契机,使我能够通过学习开发思想和最佳实践,开发出具有实际应用价值的大型项目。通过这样的实践,我期望能够积累宝贵的项目开发经验,以更好地准备自己未来的职业生涯。