1.个人情况介绍
1.1经历
我是研九队地方博士周帆,学号D23382401,在大学阶段主修工业设计专业,研究生阶段主修机械工程专业,目前博士主修轮机工程,方向侧重于无损检测技术开发,自动化设备设计与开发等,工作期间设计与开发多套自动化检测设备,主要包括自动化设备设计与制造,控制系统设计与开发(主要包括目前市面上主流的工控软件,如西门子PLC S7和博图软件、EPLAN电路开发软件、ABB机器人Robotstudio软件、MCGS触摸屏软件等)。目前,没有参与过复杂的软件项目,只是在工作期间接触过python,处于自学阶段,后期希望自己也能通过学习开发软件项目,包括数据库设计和前端界面的开发工作。
1.2认识
目前主要从事自动化领域设备的开发与测试,这是我喜欢并擅长的领域,我也对计算机和软件开发非常感兴趣,因为我喜欢解决问题和创造新的东西,而计算机和软件开发正是提供了这样的机会。通过编程可以实现自己的想法,并且享受将代码转化为实际可用的软件的过程。
1.3规划
我目前是一名自动化方向专业教师,主要从事自动化设备的设计与开发,主要编程软件为工控方向软件,软件开发可以帮助我解决复杂的技术问题,并提供高质量的解决方案。我计划通过不断学习和实践来提升我的技术能力,并不断拓展自己的知识面。我也希望能够在职业道路上不断成长,成为一个有影响力的技术专家。
1.4目标
学习软件工程是为了提升自己的技术能力,并掌握软件开发的最佳实践和方法。通过这门课程,我希望能够深入了解软件工程的各个方面,包括需求分析、设计、编码、测试和项目管理等。我希望能够学会如何构建可靠、可扩展和易维护的软件系统。
我计划每周花费大约8-10个小时来学习这门课程,包括听课、完成作业和复习。对于我感兴趣的项目或实践机会,我愿意付出更多的时间和精力。相信通过实践和实战锻炼,能够更好地理解和应用所学的知识,并提升自己的实际技术能力。
2.理论学习
2.1课外学习
2.2读后感
《人月神话》是一本软件工程领域的经典著作,作者是弗雷德里克·布鲁克斯。这本书主要探讨了软件开发中的一些常见问题和挑战,并提出了一些解决方案和实践经验。读完《人月神话》后,我对软件开发的复杂性和挑战有了更深刻的认识。书中提到了许多软件项目失败的原因,比如进度延误、需求变更、沟通问题等。这些问题在实际的软件开发中确实存在,并且对项目的成功与否有着重要的影响。
作者通过自己的实践经验和案例分析,提出了一些解决问题的方法和建议。其中最有名的是“人月神话”的概念,即增加人员并不能缩短项目的时间。这是因为新加入的人员需要时间来适应项目和团队,而且沟通和协调的成本也会增加。这个观点让我深思,意识到在软件开发中,人员的数量并不是唯一的关键因素,更重要的是团队的组织和协作方式。此外,书中还提到了软件工程的一些基本原则和实践,比如模块化、自底向上的设计、代码重用等。这些原则和实践对于提高软件开发的效率和质量非常重要,我在读完后也更加重视它们的应用。
总的来说,《人月神话》是一本非常有价值的书籍,它不仅揭示了软件开发中的一些困境和挑战,还提供了一些解决问题的思路和方法。通过阅读这本书,我对软件工程有了更深入的了解,也对如何提高软件开发的效率和质量有了更清晰的认识。我相信这些知识和经验将对我的职业发展和未来的工作有着积极的影响。
3.实践学习
3.1编程环境
在自动化设备设计与开发中,主要接触到python,python开发环境主要有pycharm和sublime,这里我主要使用sublime进行开发。
图3.1 python开发界面
图3.2 sublime开发界面
3.2代码仓库
(1)建立代码仓库
代码仓库地址链接:周帆/词汇统计 (gitee.com)
2.编写并上传词频程序
3.fork、pull、push
Pull
Push
4.工作记录
4.1学习记录
学习时段 | 学习内容 | 主要收获 | 存在的问题 |
10月9日-10月10日 | 阅读《人月神话》 | 1. 了解软件开发中的常见问题和挑战;2. 掌握了人月神话的概念和解决方案;3. 理解了团队协作和沟通的重要性 | 1. 如何应对需求变更的挑战;2. 如何提高团队的协作效率 |
10月10日-10月11日 | 实践人月神话中的方法 | 1. 通过模块化的设计提高了代码的可维护性;2. 使用自底向上的开发方式提高了开发效率;3. 学会了如何重用代码 | 1. 需要更多实践来掌握方法的运用;2. 需要更好地组织团队协作 |
10月11日-10月12日 | 总结和复习 | 1. 对软件工程的基本原则有了更深入的理解;2. 加深了对人月神话的理解和应用;3. 提高了团队协作和沟通能力 | 1. 需要进一步巩固知识,加强实践能力;2. 需要更多的项目经验 |
以下是我对《软件工程》课程第一章和第二章学习过程的详细记录表格。
学习时段 | 学习内容 | 主要收获 | 存在的问题 |
10月9日-10月12日 | 软件工程概述 | 了解了软件工程的基本概念、软件生命周期的阶段和主要任务 | 对于软件工程在现实世界的应用场景仍有些模糊 |
10月12日-10月13日 | 编写高质量代码 | 学习了如何进行软件需求分析和软件设计的基本原则和方法 | 对于软件设计的具体实践仍感到有所欠缺 |
10月13日-10月14日 | 编写高质量代码 | 理解了软件实现和软件测试的重要性和基本方法 | 对于软件测试用例的设计和实现仍有待提高 |
以下是我对学习投入的统计数据:
- 学习视频观看率:100%
- 课后作业完成率:100%
- 学习时长:3小时
从统计数据可以看出,我在学习过程中的投入相对较少。这反映出我在时间管理和自我驱动学习能力方面仍存在不足,需要更多的努力和实践。为了解决这些问题,我计划在未来的学习中更加注重时间管理,提高课后作业的完成率,并积极参与讨论区的讨论。我相信通过这些努力,我能够更好地理解和掌握《软件工程》课程中的知识和技能。