软件工程课程总结
软件工程课程总结
本学期的软件工程课程对我来说是一段充实且极具挑战性的学习旅程。它不仅涵盖了原生安卓开发等技术知识,还让我深入理解了软件开发流程、团队合作方式以及相关的管理学知识,同时通过博欧金属的工作体系讲座拓宽了视野,并在三人小组开发巡检设备系统的实践中将理论与实际紧密结合,收获颇丰。
在原生安卓开发的学习过程中,我们从基础的 Android 开发环境搭建开始,逐步深入到用户界面设计、数据存储与管理以及应用逻辑的实现等方面。通过实践操作,我掌握了如何使用 Android Studio 这一强大的开发工具,熟悉了布局文件的编写,如使用 XML 语言构建各种界面元素,包括按钮、文本框、列表视图等,并学会运用不同的布局方式(如线性布局、相对布局、约束布局等)来安排这些元素的显示位置,以创建出美观且具有良好用户体验的界面。在数据存储方面,我们学习了文件存储、SharedPreferences 以及 SQLite 数据库的使用方法,了解了如何根据应用需求选择合适的数据存储方式来保存用户数据或应用配置信息。例如,对于一些简单的用户偏好设置,使用 SharedPreferences 能够方便快捷地实现存储与读取;而对于结构化的数据,如巡检设备系统中的设备信息、巡检记录等,则适合使用 SQLite 数据库进行存储和管理,这不仅提高了数据的查询效率,还能保证数据的完整性和安全性。在应用逻辑实现上,深入学习了 Java 或 Kotlin 语言在安卓开发中的应用,通过对 Activity、Service、BroadcastReceiver 等组件的理解和使用,实现了应用的业务流程,如在巡检设备系统中,通过 Activity 为用户提供更友好的操作界面,利用 Service 后台处理一些长时间运行的任务(如数据同步等),并通过 BroadcastReceiver 监听系统广播以便在特定事件发生时及时做出响应,这些技术的综合运用使我们能够开发出功能完善的安卓应用。
软件开发流程的学习为我们系统的开发方法和步骤。从需求分析阶段开始,我们学会了如何与用户沟通,收集和整理需求信息,明确软件的目标和功能范围。在这个过程中,我意识到准确的需求分析是整个项目成功的关键,因为任何需求的偏差都可能导致后续开发工作的大量返工。接下来的系统设计阶段,我们接触到了软件架构设计的基本原则和模式,如分层架构、模块化设计等,学会了如何将复杂的问题分解为多个相对独立的模块,并确定各模块之间的接口和交互方式,为后续的编码实现奠定了基础。在编码阶段,我们遵循代码规范和团队协作的编码风格,注重代码的可读性、可维护性和可扩展性,通过代码审查等方式提高代码质量。而测试阶段则贯穿于整个开发过程,从单元测试、集成测试到系统测试,我们学习了如何运用各种测试方法和工具来发现和修复软件中的缺陷,确保软件的稳定性和可靠性。最后,在软件维护阶段,我们了解到软件上线后需要持续地进行维护和优化,以适应用户需求的变化和技术环境的更新。通过学习这些开发流程,我在开发巡检设备系统时能够有条不紊地进行各项工作,确保项目的顺利推进。
团队合作是软件工程课程中不可或缺的一部分。在三人小组开发巡检设备系统的实践中,我们深刻体会到了团队协作的重要性。我们明确了各自的职责分工,根据个人的优势和特长,将需求分析、界面设计、数据库开发、后端逻辑实现等任务分配给不同的成员,同时保持密切的沟通与协作。在开发过程中,我们定期召开小组会议,汇报工作进展,讨论遇到的问题并共同寻求解决方案。例如,在界面设计和后端逻辑对接时,出现了数据传递不准确的问题,我们通过共同调试和分析,最终找到了问题的根源并加以解决。通过这次团队合作经历,我学会了如何在团队中发挥自己的优势,尊重他人的意见和建议,有效地解决团队中的冲突和矛盾,提高了团队的整体协作效率和凝聚力,也认识到了团队合作对于开发大型软件项目的关键作用。
课程中涉及的管理学知识为我提供了从更宏观的角度看待软件开发的视角。我们学习了项目管理的基本概念和方法,如项目计划的制定、资源的分配、进度的监控以及风险管理等。在巡检设备系统项目的开发中,我们尝试运用这些管理学知识来管理项目。我们制定了详细的需求规格说明书、项目进度计划和测试计划等文档,明确了项目的各个阶段的时间节点和交付成果,并根据计划合理地分配团队成员的工作任务和项目资源。同时,我们也学习了如何识别和应对项目中可能出现的风险,如技术风险、人员风险、进度风险等,并制定了相应的风险应对策略,以降低风险对项目的影响。这些管理学知识的学习和应用,使我们能够更好地组织和管理软件开发项目,提高项目的成功率。
每周六的博欧金属工作体系讲座为我们打开了一扇了解企业实际软件开发工作的大门。通过这些讲座,我们了解到了博欧金属在软件开发过程中的先进理念和实践经验,包括他们的项目管理模式、质量控制体系、团队协作机制以及技术创新等方面的内容。这些讲座让我深刻认识到,企业中的软件开发与学校中的课程项目存在很大的不同。企业更加注重项目的商业价值、成本控制和交付时间,同时对于软件质量的要求也更为严格。在博欧金属的工作体系中,他们采用了敏捷开发方法,能够快速响应市场需求的变化,并通过持续集成和持续交付等实践提高软件的交付速度和质量。此外,他们还强调团队成员之间的沟通与协作,以及对新技术的学习和应用,以保持企业的竞争力。这些企业经验对于我们今后从事软件开发工作具有重要的指导意义,让我们提前了解了职场的实际情况,有助于我们更好地适应未来的工作环境。
总体而言,本学期的软件工程课程内容丰富、实践性强,通过原生安卓开发的学习,我掌握了一项实用的技术技能;通过软件开发流程、团队合作方式和管理学知识的学习,我提升了综合的软件开发能力和项目管理能力;而博欧金属的工作体系讲座则让我对企业的软件开发有了更深入的认识。在三人小组开发巡检设备系统的实践中,我将这些知识综合运用,不仅成功完成了一个具有实际应用价值的项目,还锻炼了自己的实践能力和团队协作能力。这些收获将对我未来的学习和职业发展产生深远的影响,我相信在今后的软件开发之路中,我能够运用所学的知识和技能,不断探索和创新,为软件行业的发展贡献自己的力量。
以下是我对王老师上课提出的三个问题:
1 上课的内容质量很高,每次上课都像一个大型的演讲,很有趣,但四节课都安排在同一个下午有点容易让人疲惫,浪费了这么好的课程,如果可以两节两节分开上将是最优解
2 还有就是电源的问题,常常有测试的时候充不上电的情况,我觉得可以选择在一教二楼进行测试,然后在一教选择一个大点的教室进行授课,授课以后的测试可以分散到二楼的教室进行,比如一楼的大阶梯教室
3 在团队合作的时候,三人必须要淘汰一人,这样虽然能提早的让我们感受到职场的残酷,但是也容易导致团队产生消极情绪,比如团队的某人默认了自己是那个被踢出去的人就不会再努力,顺理成章的,其他成员看到他的怠惰,也会意识到自己是没那么容易被追上的,从而丧失斗志,我建议,可以给每个同学一个综合打分,然后进行整个软件工程的淘汰制。
感谢软件工程的困难与挑战,感谢王建民老师的慷慨与胸怀,这些种种都在激励着我成为更好的人!!!
浙公网安备 33010602011771号