软件工程实践总结——也是结束也是开始

影小薯 影小薯 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个作业属于哪个课程2023年福大-软件工程实践-W班
这个作业要求在哪里软件工程实践总结&个人技术博客
这个作业的目标个人回顾总结,技术总结
其他参考文献无

目录

  • 1.第一部分:课程回顾与总结
  • 1.1 五个阶段中,每个阶段收获最大的知识或能力是什么?
  • 1.1.1 需求
  • 1.1.2 设计
  • 1.1.3 实现
  • 1.1.4 测试
  • 1.1.5 发布阶段
  • 1.2 结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得
  • 1.2.1 个人项目
  • 1.2.2 结对编程
  • 1.2.3 团队项目
  • 1.3.自我评估对通过课程的学习,对各个课程目标的掌握程度,并作出解释
  • 1.4.回顾自己思考过的5个问题
  • 1.4.1 问题博客链接
  • 1.4.2 曾经的5个问题再一次思考
  • 1.4.3 提出的新问题
  • 2. 第二部分:个人技术总结

1.第一部分:课程回顾与总结

1.1 五个阶段中,每个阶段收获最大的知识或能力是什么?

1.1.1 需求

  在这一阶段的重点是了解客户的需求和期望,收获是掌握需求分析的方法和技巧,能够准确地表达客户的需求,构建需求分析模型。其中,最重要和有价值的是学会了NABCD分析模型。

1.1.2 设计

  在设计阶段,重点是根据需求分析结果,设计软件系统的体系结构、数据模型和构件级设计模型,收获是掌握软件设计的方法和原则,能够规范、准确地表达设计方案,以及根据团队其他成员的建议修改完善自己的设计。

1.1.3 实现

  在实现阶段,重点是根据设计方案,编写代码并进行测试,收获是掌握编程语言和开发工具的使用,能够编写高质量、可维护的代码。也在实现的过程中学会要考虑代码后续的扩充以及注释的地方和注释的格式以便其他成员阅读。

1.1.4 测试

  在测试阶段,重点是对软件系统进行测试和调试,收获是掌握测试方法和技巧,能够发现和修复软件系统中的缺陷和错误。

1.1.5 发布阶段

  在发布阶段,重点是将软件系统交付并进行维护和更新,收获是掌握软件发布和维护的方法和技巧,能够保证软件系统的稳定性和可靠性。最重要的是熟悉了GIT来管理项目。

1.2 结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得

1.2.1 个人项目

  根据澳网那次作业,我学会了爬取数据和独立分析的能力,也是第一次使用PSP表格来计算预期的时间。后来发现自己的预期都不是特别的准确。作业讲究格式要特别的规范,所以挺考量细节的处理,以及边界值的一些测试。由于感觉刚开学时间也比较的紧,所以最后在跑测试点的时候部分测试点没有通过。

1.2.2 结对编程

  结对编程开始有了合作,需要和队友交流沟通。但是有些时候由于审美和技术能力的差异,对一个功能的实现会有不同的想法,也就会产生分歧。这时候就很需要交流根据分析探讨选出合适的方案达成一致。不过对于开发水平的差异,如何分配工作任务有点困难,不过最后在原型设计和编码实现上都还算顺利。

1.2.3 团队项目

  作为组长,对于如此多人的团队开发,我几乎没有经验,也很担心自己做决策会失败。所以我才用的都是小组大家一起讨论共同商讨重大关键的问题的决策。遇到什么变化都在群里及时交流。平时,我也特别关注群内的消息,担心因为没注意一些重要的内容导致组员的进度收到影响。那么在不断地尝试中,我的组织能力得到了一定的提升,但是这也少不了组员们的帮助,我觉得我们组有个很好的地方就是大家都特别的积极,所以项目的进展都比较的顺利,沟通也比较的频繁,交流的氛围浓厚,大家都愿意说不会担心自己的建议会被他人批评等。我们也都很包容,哪怕有些问题很小我们也不会吐槽或者指责。除了团队项目,在答辩方面我也有很大的进步。以前我不是很擅长露面答辩,我会担心各种状况的出现,可是当了组长就不得不多次亲自上台答辩,这锻炼了我的胆量也锻炼了我的思考能力和应答能力。我觉得这期实践课团队项目对我的帮助特别大,受益匪浅。

1.3.自我评估对通过课程的学习,对各个课程目标的掌握程度,并作出解释

目标内容解释掌握程度(100分)
目标1理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。通过本次课程的学习,我对软件工程师的职业道德规范和实践要求有了更深入的了解,也了解到软件产品对社会、健康文化等方面的影响。同时,我也意识到了积极向上的软件开发理念的重要性,因此我会在今后的工作中更加注重职业道德和社会责任。90分
目标2掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。在本次课程中,我学习了需求分析的全过程,了解了如何辨别客户表述的多样化要求,以及如何规范、准确地表达客户的需求。但是,我在实践中还需要进一步提高自己的能力,更好地应对不同的需求分析场景。85分
目标3掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。通过本次课程的学习,我了解了软件开发的全过程,以及体系结构设计方法和基本设计原则。但是,在实践中我还需要进一步提高自己的能力,更好地应对复杂的软件开发项目。80分
目标4能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。在本次课程中,我学习了从组件到软件系统的技术评测方法,以及如何优选设计方案。但是,在实践中我还需要进一步提高自己的能力,更好地应对不同的评测场景。80分
目标5遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。通过本次课程的学习,我掌握了需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,并具备与业界同行交流的能力。但是,在实践中我还需要进一步提高自己的文档撰写和表达能力。90分
目标6具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。在本次课程中,我学习了团队合作和沟通的重要性,并具备了一定的团队协作能力。但是,在实践中我还需要进一步提高自己的沟通和协作能力,更好地与团队成员协作完成项目。85分
目标7能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。通过本次课程的学习,我了解了软件项目管理中涉及的构成要素,以及软件规模和工作量的估算方法。但是,在实践中我还需要进一步提高自己的项目管理能力,更好地管理复杂的软件工程项目。80分

1.4.回顾自己思考过的5个问题

1.4.1 问题博客链接

问题思考博客

1.4.2 曾经的5个问题再一次思考

① Q:程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?
A:作为程序员,我们的首要任务是满足客户的需求,而客户的需求通常是由市场需求和用户需求两部分组成。市场需求是指市场上的需求趋势和竞争对手的产品特点等,而用户需求是指用户对产品的具体需求和期望。因此,我们需要根据市场和用户需求来确定软件的功能和特点,以便满足客户的需求。然而,对于一些小部分人的需求或者某些特定功能的添加,我们需要进行权衡和评估 。如果这些需求或功能对于客户的满意度和产品的竞争力有重要影响,那么我们应该考虑满足这些需求或添加这些功能。但是,如果这些需求或功能对于客户的满意度和产品的竞争力没有重要影响,或者会增加开发成本和维护成本,那么我们可以考虑不满足这些需求或不添加这些功能。因此,作为程序员,我们需要根据客户的需求和市场趋势来确定软件的功能和特点,同时需要进行权衡和评估,以便在满足客户需求的同时,保证软件的质量和竞争力。


② Q:如何区分一个好的程序员和不好的程序员呢?
A:在过去我判断一个程序员好坏的角度全是从个人出发的,然而现在看来,这样子并不是很可靠的判断。因为未来开发中大多数情况下都是以团体的方式开发。因此除了良好的编码能力、设计能力、学习能力以及好的代码风格和规范,一个好的程序员还需要具备良好的团队合作能力,能够与团队成员协作完成项目,能够有效地沟通和协调,能够尊重他人的意见和建议,并且还重视注重代码质量和测试。


③ Q:代码量与个人的编码能力有直接关系吗?
A:代码量与个人的编码能力并没有直接关系。编码能力是指程序员在编写代码时所表现出来的技能和能力,包括代码的质量、可读性、可维护性、可扩展性等方面。而代码量只是指程序员编写的代码的数量。一个程序员的编码能力不仅取决于他编写的代码的数量,还取决于他编写的代码的质量和效率。一个优秀的程序员可以通过精简代码、重用代码、优化算法等方式来减少代码量,同时提高代码的质量和效率。因此,代码量并不能直接反映一个程序员的编码能力。一个程序员的编码能力应该通过他编写的代码的质量、可读性、可维护性、可扩展性等方面来评估。


④ Q:学完了这些理论知识后很久的一段时间都用不上,那么学习那么多的理论知识还有没有用呢,在理论知识和实践知识的方面我们又该怎么权衡呢?
A:学习理论知识和实践知识都是非常重要的,它们是相辅相成的。理论知识可以帮助我们建立起系统化的知识体系,理解软件开发的基本原理和方法,从而更好地应对各种问题和挑战。而实践知识则可以帮助我们将理论知识应用到实际项目中,锻炼我们的实际操作能力和解决问题的能力。在学习理论知识和实践知识时,我们需要进行权衡。理论知识可以帮助我们更好地理解软件开发的基本原理和方法,但是如果只停留在理论层面,缺乏实践经验,那么我们可能无法应对实际项目中的各种问题和挑战。因此,我们需要通过实践来巩固和应用所学的理论知识。另一方面,实践知识可以帮助我们锻炼实际操作能力和解决问题的能力,但是如果缺乏理论知识的指导,我们可能会陷入盲目的实践中,无法理解问题的本质和解决问题的根本。因此,我们需要通过学习理论知识来指导和优化实践过程。


⑤ Q:应该在什么时候使用goto?
A:这个我依然保持和以前那样的想法,我们应该尽量避免使用goto语句,而是使用结构化编程语句(如if、while、for等)来实现程序的控制流程。在大多数情况下,我们应该使用结构化编程语句来实现程序的控制流程,以提高代码的可读性、可维护性和可靠性。 因为加密中有叫做GOTO加密方式的,因此GOTO会降低可读性。

1.4.3 提出的新问题

① Q:在团队中,如果技术参差不齐甚至有一些队员的技术水平比较低,在这种情况下如何分配任务才能既满足团队的需要又能让组员得到个人发展?
② Q:在时间特别短的情况下如何快速合理的分配任务并能够完成文档和构建的任务?

2. 第二部分:个人技术总结

个人技术总结——Ajax的使用和JS与PHP的结合编写
概述:jQuery的Ajax技术是用于在不刷新整个页面的情况下,通过异步请求从服务器获取数据并更新页面的技术。在需要动态更新页面内容的情况下,可以使用Ajax技术。学习该技术的原因是为了提高网站的用户体验和性能。Ajax技术的难点在于需要处理异步请求和响应的过程,以及如何处理请求失败和超时等异常情况。以及PHP部分与JS相结合的注意点。

...全文

相关推荐

弱电网下光伏并网逆变器序阻抗建模仿真复现扫频法【序阻抗判断稳定性】

内容概要:本文聚焦于弱电网条件下光伏并网逆变器的序阻抗建模与稳定性分析,系统阐述了基于扫频法的阻抗特性仿真与复现方法。通过构建正负序阻抗模型,深入剖析逆变器在弱电网环境中的动态响应特性,结合锁相环、电流环等关键控制环节对系统阻抗的影响机制,采用序阻抗稳定性判据评估多机并网或复杂电网条件下的系统稳定裕度。研究在Simulink平台中实现激励信号注入、频率响应采集与阻抗曲线绘制,为高比例新能源接入背景下并网系统的稳定性分析提供了可靠的仿真手段与理论支撑,尤其适用于SCI级别论文成果的复现与拓展验证。; 适合人群:电力电子、新能源并网技术及相关领域的硕士/博士研究生、科研人员,以及从事光伏逆变器、微电网稳定控制开发的工程技术人员。; 使用场景及目标:①掌握扫频法在电力电子装置阻抗建模中的具体实施流程;②理解并应用基于序阻抗的稳定性判据进行系统稳定边界分析;③用于高水平学术论文(如SCI期刊)中阻抗建模与稳定性分析部分的仿真复现与方法验证; 阅读建议:建议读者结合文中所述方法与提供的参考文献,自主搭建Simulink仿真模型,逐步完成扰动信号设计、数据采集、傅里叶分析及阻抗拟合全过程,深入探究控制参数变化对系统阻抗特性和稳定性的具体影响,强化理论与实践的融合能力。

欢多天天写代码

三相并网逆变器虚拟阻抗+统一有源阻尼策略SVPWM+SPWM调制仿真

内容概要:本文档系统性地介绍了三相并网逆变器的核心控制技术及其在复杂电网环境下的仿真应用,重点涵盖虚拟阻抗与统一有源阻尼策略在SVPWM和SPWM调制方式下的实现方法,旨在提升逆变器的稳定性与电能质量。内容包括无功功率扰动孤岛检测、中点电位平衡控制、低电压穿越(LVRT)、模型预测控制(MPC)、正负序分离、电网前馈控制等关键技术,并扩展至风储联合调频、微电网下垂控制、虚拟同步发电机(VSG)、构网型逆变器等多种典型电力系统应用场景。所有技术均配有基于Simulink/Matlab平台的完整仿真模型、参考文献及说明文档,强调理论分析与仿真实践的深度融合,突出科研中“借力”与创新思维的重要性。; 适合人群:电气工程、自动化、新能源等相关专业的研究生、科研人员及从事电力电子与可再生能源系统开发的工程师;具备MATLAB/Simulink仿真基础和电力系统专业知识的技术人员。; 使用场景及目标:①开展三相并网逆变器控制策略的研究与优化设计;②复现高水平学术论文中的控制算法;③完成毕业课题、科研项目或工程仿真验证;④掌握虚拟阻抗、有源阻尼、SVPWM/SPWM调制、MPC、VSG等核心技术的建模与实现方法;⑤支撑微电网、构网型变流器等前沿方向的科研攻关。; 阅读建议:建议按照资源目录结构化学习,优先选择与自身研究方向契合的内容模块,结合提供的仿真模型、参考文献和说明材料进行实操演练,注重从理论推导到仿真实现的全过程理解,充分利用共享网盘资源深化技术掌握,提升科研效率与创新能力。

欢多天天写代码

chromedriver-win32-159.0.8133.0(Canary).zip

chromedriver-win32-159.0.8133.0(Canary).zip

LCG元

计算机“101计划”《人工智能引论》教学大纲+课件+实训案例

计算机“101计划”《人工智能引论》教学大纲+课件+实训案例

qq_38220914

语音输入法离线语音输入转文字工具2.0支持双档本地识别模型,中英混说精准转写,纯离线运行保护隐私,让打字更高效.zip

大家好,我是大飞哥。日常打字时,频繁切换输入法、断网无法语音转写、或担心语音数据被传至云端,是许多办公族和内容创作者的共同痛点。这款离线语音输入工具 ,正是为此量身打造的 Windows 桌面语音辅助利器。它的核心使命就是按住快捷键说话,松开文字自动上屏,全程本地离线识别,让您在任何可输入文字的窗口内都能实现高效、私密的语音输入,彻底告别网络依赖与隐私焦虑。 在核心功能上,软件内置了两档本地语音识别模型,通过主界面下拉框即可随时切换。默认的“离线·标准”模式响应极快,支持中英混说且自带标点,非常适合日常聊天与文档撰写;而“离线·精准”模式则对纯中文、方言口音及长段落口述的识别准确度更高。更贴心的是,它具备实时预览与一键取消机制,说话过程中若发现说错,按下 Esc 即可取消,一个字都不会误输入;若目标窗口不支持直接写入,文字会自动存入剪贴板,方便您按 Ctrl+V 粘贴,确保每次发声都不白费。 这款工具在具体场景中的表现十分亮眼。对于办公白领,在填写表格、撰写邮件或使用微信、QQ 沟通时,无需频繁切换窗口,按住右键说话即可快速完成信息录入;对于程序员与文字工作者,在代码编辑器或文档中口述注释与段落,能显著提升创作效率;对于经常出差的商务人士,在飞机、高铁等断网环境下,它依然能稳定工作,不经过任何服务器,真正做到了“说了什么只有自己知道”,私密性极佳。 使用体验方面,软件将极简操作贯彻到底。解压后双击 大飞哥语音输入,右下角托盘出现蓝色话筒图标即代表准备就绪。用户只需将光标点进目标输入框,按住右 Alt说话,说完松开,文字便会自动写入。主界面提供了设置快捷键与开机自动启动选项,方便用户按习惯自定义组合键;关闭主窗口并不会退出程序,而是缩至托盘持续待命,彻底退出只需右键托盘或点击主界面按钮,逻辑清晰,零门槛上手。

大飞哥软件自习室
评论 3
收藏 已收藏
分享
返回顶部