软件工程实践总结——提升自己
| 这个作业属于哪个课程 | 软件工程-23年春季学期 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术总结 |
| 这个作业的目标 | 课程回顾与总结、个人技术总结 |
| 其他参考文献 | 《构建之法》CSDN... |
目录
- 一. 课程回顾与总结
- 1.1 问题思考的博客链接
- 寒假作业链接
- 1.2 问题思考的新解答
- 1.3、各阶段的收获的知识和能力
- 1.4、各项目经历的心得
- 个人项目
- 结对编程
- 团队项目
- 1.5、自我评分和七大课程目标
- 二、自我评分和七大课程目标
一. 课程回顾与总结
1.1 问题思考的博客链接
寒假作业链接
1.2 问题思考的新解答
A1:之前我的回答是:我认为主要还是看排查问题的能力,业务理解能力,还要看其对技术的理解程度,以及个人的逻辑思维。能够很快的查找出问题的地方及原因,能够很好地实现客户所需要的功能,所编写的代码清晰明了,不容易出bug的程序员,我认为是一个好程序员。所以给他一个复杂的问题,看他解决问题的结果一般就可以分辨出程序员的好坏。现在我在坚持原来的想法上补充一些思考要素,坚持原来的想法因为程序员本来就是主要任务就是解决问题,其解决问题能力当然是极其重要的。
但还需要看程序员的表达能力和沟通能力,因为在这次团队协作中深刻体会到了一个良好的沟通对这个项目的推进有非常好的帮助,特别是前后端中间的人员更是如此,才能避免后端的接口前端使用不了等等问题。
A2:我依旧坚持我之前的看法:我认为更”专“一点好,还是更”广“一点好,取决于你在项目中所处的位置。在实践中我们小组的组长往往就需要更广一些 ,因为他需要对前后端都有一些理解才能更好地安排组员的任务,而组员往往需要更专一点,因为我们需要成功地完成自己的任务。
A3:在这次项目实践中,更加明白了团队的每个人提出自己的灵感,进行灵感的碰撞,以及每个人对目标的看法理解,才能做出更加符合实际需求的产品。
A4:这次我更能体会到我之前所说的理想情况很难达到,就是最好是每个人都划分自己擅长的位置,然后由每个团队按需配置。像这次的团队的任务中,我们团队后端人员就紧缺,这就导致我需要成为后端人员,与我之前的计划相违背了,也需要我去学习后端的知识,可见在现实生活中各种因素的影响下理想情况往往也难以实现。
A5:在这次实践中,我更能体会我之前的看法,固定的人员配置对于沟通的好处,以及流动的人员对于沟通的成本的提高。在换组后,新加入的人员往往需要我们重新与他交流我们之前的设计思路,还需要知晓他所熟知的技术,这消耗了我们小组的时间使我们的项目进度减缓。
1.3、各阶段的收获的知识和能力
需求阶段:
在需求阶段,我负责的是编写需求报告,从中我习得了规范的需求分析的能力。学会了对用户需求进行调查、收集、分析,编写用户需求,对接下去的阶段我们需要完成什么样的功能更加得清晰,为后续阶段打下坚实基础。
设计阶段:
在设计阶段,我负责的是设计类图和后端接口,从中我学会了对一整个项目设计总类图和模块划分还有接口规范设计。虽然因为之前从来没有设计过接口,在后续阶段往往需要推翻之前的设计,重新设计接口,但是这也让我明白了接口设计的重要性,可以加快后续的进度。
实现阶段:
在实现阶段,我收获最大的是学会了使用SpringBoot和myBatis等后端技术。在实现阶段,我负责的是用户管理模块的接口。编写后端接口过程中,我学会了如何对密码进行加密,如何使用session,如何使用拦截器等等,同时对整个MVC模型有了更深刻的理解。
在这次实践过程中也收获了团队合作能力,明白了每个人说出自己的见解和想法可以比之前单人任务更快地完成整个项目的优化和修改。
测试阶段:
在测试阶段,我只在自己编写接口中,使用接口测试软件测试过自己的接口,学会如何使用Apifox软件进行接口的测试。
发布阶段:
在发布阶段,我在项目部署服务器上面参与的比较少,但是我知道没有部署到云服务器上面别人没办法使用我们的产品,不可能每个人都配置相同的环境,还需要代码去运行。
1.4、各项目经历的心得
个人项目
个人项目中,我在刚刚开始的时候是一知半解,对爬取技术和JSON解析相关技术的了解非常浅薄,导致我一开始不知所措。但是我静下心来去学习,最终还是完成了任务的要求。个人项目的任务让我学习了对JSON数据的解析和爬取,在这个任务中了解了JSON数据的结构,同时学会了怎么对JSON文件进行操作和转换。
结对编程
结对编程是团队协作的磨合。在此之前我从来我们进行过一次系统的项目合作,在这次结对中得到提升。我们从需求设计一直到项目实现,两个人团结协作。先是对原型设计的合作,我们学会了怎么用墨刀同步进行合作过程,但是我们的想法和观点有所不同,所以在合作时候第一次出现了困难,让我明白项目的完美完成不仅需要个人技术的支撑更需要团队合作。好在我们两个人的沟通很顺利,最后顺利完成。在实现过程中我们各司其职,然后对对方的模块提出一点想法,有另一个人的存在,可以帮你观察到更多的错误和不足。
团队项目
整个团队项目对我来说是一大考验,不仅是技术上,更是从团队协作。首先是技术上,之前我的计划是前端,因此对于后端不是非常的了解。在整个过程中我不断学习后端技术,充实自己的后端技术水平,对项目的设计和实施的完整流程有了实践上的理解。再就是团队上,每个团队成员人都很好很负责,我们团结协作,不断沟通共同克服难关。我体会到了沟通的重要性,良好的沟通可以让团队的能力和进展得到很快的提升。
1.5、自我评分和七大课程目标
| 目标 | 评分 | 解释 |
|---|---|---|
| 目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念 | 95 | 本人有着积极向上的软件开发理念。对于国情社情民情都有所理解,理解软件产品对社会、健康文化等影响,并且将在开发过程中,遵守软件工程师的职业道德规范和实践 |
| 目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 90 | 这门课的学习,我掌握了需求分析的全过程,并且能够相对熟练使用表达工具,学会了使用NABCD模型进行需求分析,从而系统地评估需求的各个方面,包括必要性、可行性、可用性、效益性和成本性,构建需求分析模型。 |
| 目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案 | 85 | 项目的整个经历下来,我能较为准确地掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,但在组件设计方案或软件系统设计方案不是充分。 |
| 目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案 | 85 | 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,能够优选设计方案,有一定的创新设计意识。 |
| 目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 85 | 开发过程基本遵循软件开发各阶段文档标准,能够使用需求规格说明书、系统设计说明书等文档撰写方法 |
| 目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 90 | 整个项目流程下来,我可以能够与其他成员开展有效的沟通和协作;能够协调团队开展工作 |
| 目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 80 | 能够掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度,具备初步的管理复杂软件工程项目的能力,但仍需要提升。 |
二、自我评分和七大课程目标
个人技术总结——Springboot实现拦截器功能
概述:Springboot实现拦截器功能:就是将基于Springboot所自带的拦截器函数,进行自定义并进行注册,添加拦截器的黑名单和白名单,决定拦截器会拦截哪些url下的请求。
相关推荐
ScreenInk 0.0.1.exe
ScreenInk 0.0.1.exe
外盘期货历史高频tick数据涵盖CME、ICE等交易所的主要品种,包含能源、贵金属、农产品、股指和外汇期货 数据字段有交易日期、精确到毫秒的时间、成交价格、成交量、持仓量以及买卖方向标识 部分品种还提
外盘期货历史高频tick数据涵盖CME、ICE等交易所的主要品种,包含能源、贵金属、农产品、股指和外汇期货。数据字段有交易日期、精确到毫秒的时间、成交价格、成交量、持仓量以及买卖方向标识。部分品种还提供盘口五档或十档挂单数据。所有数据按交易日压缩打包,解压后为CSV格式,便于直接读取分析。 数据源:CMES金融数据库
三相PWM整流器双闭环控制仿真模型(Simulink仿真实现)
内容概要:本文详细介绍了三相PWM整流器双闭环控制的Simulink仿真模型,重点实现电压外环与电流内环的协同控制策略,通过仿真验证系统在稳态与动态工况下的运行性能。模型涵盖主电路拓扑结构、PWM调制技术、坐标变换(如abc/dq变换)、PI控制器设计及双闭环控制逻辑的实现,能够实现单位功率因数运行、直流侧电压稳定控制以及网侧电流正弦化等目标。同时,文档进一步拓展至VOC(虚拟同步发电机控制)与SVPWM调制相结合的高级控制策略,提升了系统的动态响应能力与控制灵活性。; 适合人群:具备电力电子技术与电力系统基础知识,熟悉Simulink仿真环境的电气工程及相关专业的本科生、研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解三相PWM整流器的工作原理及其双闭环控制策略的设计方法;②掌握基于Simulink的电力电子系统建模、仿真与控制系统调试技术;③为后续研究电压源换流器(VSC)、虚拟同步控制(VOC)、微电网并网控制等先进电力电子控制技术奠定理论与实践基础。; 阅读建议:建议结合经典电力电子教材与本仿真模型同步学习,重点关注PI控制器参数整定、坐标变换模块的搭建逻辑以及系统稳定性分析方法,有条件者可进一步将仿真结果对接实际硬件平台进行实验验证,以深化对控制策略工程应用的理解。
用C#实现面向对象编程之继承和多态概念的示例程序
这是文章《面向对象编程之继承和多态》的配套示例程序。在学习面向对象编程时都学习到三个概念:封装、继承、多态。封装已经讲解过,可以翻一下本博客的发表记录。所谓的继承,就是父类已经实现的属性、方法等,子类也跟着有,无需重复实现。所谓的多态,就是父类只定义的属性、方法等的名称、数据类型、参数,具体由子类实现。
基于蚁群算法的多配送中心的车辆调度问题的研究(Matlab代码实现)
内容概要:本文聚焦于基于蚁群算法的多配送中心车辆调度问题,通过构建数学模型将复杂的物流路径规划问题转化为可计算的组合优化问题,并采用仿生智能优化算法——蚁群算法进行求解,旨在实现配送路径的最优配置,从而降低运输成本、提升配送效率。研究利用Matlab平台完成了算法的设计、实现与仿真验证,详细阐述了算法的关键参数设置、信息素更新机制、路径构造过程及收敛性分析,并结合具体算例证明了该方法在解决多配送中心车辆路径问题上的有效性与实用性。同时,文档还展示了智能优化算法在物流调度、路径规划等领域的广泛应用前景,提供了丰富的科研方向和技术拓展参考。; 适合人群:具备一定Matlab编程能力,从事运筹优化、智能算法研究或物流系统设计的研究生及科研人员;对车辆路径问题(VRP)及其多中心、多车型等变体问题有研究兴趣的高年级本科生或工程技术人员。; 使用场景及目标:①解决实际物流系统中多配送中心环境下的车辆调度优化问题;②深入理解并掌握蚁群算法在NP-hard类组合优化问题中的建模思路与编程实现技巧;③为毕业论文、科研项目或工程实践提供可复用的算法框架与代码基础;④推动智能优化算法在智慧物流、城市配送等实际场景中的应用落地。; 阅读建议:建议读者结合文中提供的网盘资源(如完整代码、测试数据集)动手复现算法过程,对比不同参数对收敛性能的影响,并尝试将该算法拓展至带时间窗(VRPTW)、多车型或多目标等更复杂的调度场景中,以深化对智能优化机制的理解与应用能力。



