122
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 福州大学-202302软件工程实践 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 对软件工程实践以及个人技术进行总结工作 |
| 其他参考文献 | 《构建之法》、CSDN |
Q1:认为软件系统十分复杂是不是因为软件工程还没有充分发展?
A1:软件系统十分复杂并不是因为软件工程还没有充分发展。随着技术的发展,对软件提出的要求更高了,现代软件系统往往需要满足更高的性能要求、更复杂的功能和更广泛的用户需求。除此之外,软件系统通常需要与大量其他系统进行交互,这也增加了其复杂性。换句话说,软件工程的发展在一定程度上能够帮助管理和降低复杂性,但复杂性本身是软件系统的固有特性,无法完全消除。
Q2:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?
A2:我认为工程师应该在“专”和“广”之间找到一个平衡点。对于刚接触行业的我们来说,广泛的知识可以帮助我们了解不同的技术和工具,从而更好地找到自己的兴趣和特长。
Q3:软件的行为和用户的期望值不一样,就一定是 Bug 吗?
A3:软件的行为和用户的期望值不一致不一定就是 Bug。有时候,这种不一致是由于用户对软件功能的误解或预期与实际设计的差异造成的。Bug 通常是指软件中存在的缺陷或错误,导致其无法按预期运行。然而,如果软件按设计工作,但设计本身未能满足用户的期望,这更可能是需求分析或用户体验设计的问题,而不是技术实现上的 Bug。
A4:变量命名需要具有描述性,这是编写可读性高的代码的关键。描述性的变量名可以让代码更易于理解和维护,减少未来修改和调试的时间。通过使用有意义的变量名,其他开发人员(包括未来的自己)可以更容易地理解变量的用途和意义。
A5:在需求分析中,追求“最合适”通常比追求“最好”更为实际和有效。因为“最好”是一个主观的标准,这个标准因人而异,而且往往需要付出更多的资源和时间来实现。而“最合适”则是基于当前环境、资源和限制条件下的最佳选择。它关注的是在实际可行的范围内满足需求,既考虑了用户的期望,也兼顾了项目的限制。
Q1:在软件开发过程中,团队成员之间相互协作开发项目,使用他人的代码之前进行审查是必不可少的,那么代码审查的效率该如何提高,以达到最佳效果?
Q2:在敏捷开发环境中,快速交付新功能是关键目标,但这种快速迭代可能导致不良代码的积累。如何在敏捷开发中有效地识别、评估和管理不良代码,确保在保持快速交付新功能的同时,不影响系统的长期可维护性和稳定性?
1.4.1 需求阶段
学习如何有效地收集和理解用户需求,并将这些需求转化为明确且可执行的规格说明书。通过这个过程,可以掌握与甲方沟通的内容,理解业务需求和技术要求之间的平衡。
1.4.2 设计阶段
掌握设计和优化数据库结构的技能,确保数据的完整性、一致性和安全性。通过设计高效的数据库结构,可以显著提高系统的性能和数据管理能力。
1.4.3 实现阶段
通过实际的编码工作,学习如何应用编程语言和工具,实现软件系统的功能和要求。通过不断的实践,可以提高编程技能和解决实际问题的能力。
1.4.4 测试阶段
掌握分析和解决软件问题和错误的技能,使用调试工具和技术进行故障排查。通过不断的实践,可以提高问题解决的效率和准确性。
1.4.5 发布阶段
学习如何有效地部署和发布软件,包括配置管理、版本控制和部署流程等。通过这个过程,可以掌握如何在不同环境中稳定地发布软件,确保版本的可控性。
1.5.1 个人项目
通过这次个人项目,我学会了合理安排时间和细读作业要求的重要性,同时增强了性能优化意识,特别是在处理大量数据时。此外,我通过搜索解决了许多难题,开阔了思路并加深了对问题的理解。尤其是在JSON数据处理和文件操作方面,积累了宝贵的实践经验。
1.5.2 结对项目
结对编程项目让我深刻体会到团队协作、有效沟通和任务分配的重要性,同时提升了我的问题解决能力和项目管理经验。在技术上,通过实际操作提高了我的编程水平和代码质量意识。总体而言,这次项目不仅让我在技术上有所提升,更让我在团队合作、问题解决和项目管理等方面获得了宝贵的经验。
1.5.3 团队项目
通过参与本次Unity游戏开发项目,我收获了丰富的测试经验和技能,深入了解开发卡牌游戏的规则和机制,学习如何有效地测试卡牌的使用、角色的成长和战斗机制等功能。我还熟悉了各种按钮的交互测试,了解如何验证用户界面的友好性和操作流畅性。同时,我也掌握了如何测试游戏数据平衡性和策略组合的有效性。
| 目标 | 内容 | 解释 | 掌握程度(100分) |
|---|---|---|---|
| 目标1 | 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 通过本次课程的学习,我对软件工程师的职业道德规范和实践要求有了更深入的了解,也了解到软件产品对社会、健康文化等方面的影响。同时,我理解到了软件工程师需要遵守社会的道德要求,不能违反国家的法律,同时也要积极的让软件开发为国家做贡献。 | 95分 |
| 目标2 | 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 在本次课程中,我学习了需求分析的全过程,了解了如何辨别客户表述的多样化要求,以及如何规范、准确地表达客户的需求。但是,我在实践中还需要进一步提高自己的能力,更好地应对不同的需求分析场景。 | 90分 |
| 目标3 | 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 通过本次课程的学习,我了解了软件开发的全过程,以及体系结构设计方法和基本设计原则。但是,在实践中我还需要进一步提高自己的能力,更好地应对复杂的软件开发项目。 | 85分 |
| 目标4 | 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 在本次课程中,我学习了从组件到软件系统的技术评测方法,以及如何优选设计方案。但是,在实践中我还需要进一步提高自己的能力,更好地应对不同的评测场景。 | 80分 |
| 目标5 | 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 通过本次课程的学习,我掌握了需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,并具备与业界同行交流的能力。但是,在实践中我还需要进一步提高自己的文档撰写和表达能力。 | 90分 |
| 目标6 | 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 在本次课程中,我学习了团队合作和沟通的重要性,并具备了一定的团队协作能力。但是,在实践中我还需要进一步提高自己的沟通和协作能力,更好地与团队成员协作完成项目。 | 90分 |
| 目标7 | 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 通过本次课程的学习,我了解了软件项目管理中涉及的构成要素,以及软件规模和工作量的估算方法。但是,在实践中我还需要进一步提高自己的项目管理能力,更好地管理复杂的软件工程项目。 | 85分 |
个人技术总结——SpringBoot项目部署到华为云
概述:将SpringBoot项目部署到服务器上,以实现应用的在线运行和管理。