122
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2302软件工程 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 对软件工程实践的总结与思考 |
| 其他参考文献 | - |
通过本次实践,我认为好的程序员能够快速学习和适应新的语言和技术,具有良好的问题解决能力,能主动识别并解决潜在问题,代码提交前会进行自测,文档详细,积极参与代码评审,帮助团队成员提升,善于从不同角度思考问题,当然好的程序员能与团队成员有效沟通,分享知识和经验,同时积极接受和处理反馈,持续改进。
一个学期的时间不足以深入探讨软件工程中的复杂问题,如大型项目管理、先进的设计模式、复杂系统架构等。很多软件工程的知识需要通过实际操作和团队合作来体会,但是一学期内学生没有足够的时间去应用学到的理论知识,导致理解不深刻。同时一个学期内安排的实践机会远远不够,因此我也非常珍惜每一次实践。我认为需要继续在课外时间不断地实践和学习。
Q3.如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?
我仍然认为最重要的是持续学习,要通过在线课程和教程积极主动地学习新技术和新工具,当然需要积极实践,参与开源项目,自己动手做一些项目,应用新学到的技术,积累实战经验,同时可以参加参加编程竞赛,提高编码能力和解决问题的能力。还要保持对行业动态的敏感,关注技术博客和网站,参与社区活动和培养软技能,保持自己的技术不过时。
可以,通过这次实践我就有利用工具解决低层次问题,比如Visual Studio Code、IntelliJ IDEA等都提供智能代码补全功能,提高编码效率,在个人作业中我有利用自动化测试框架JUnit进行自动化单元测试和集成测试。工具在解决低层次问题方面确实非常有帮助,可以提高效率和代码质量,但不能完全依赖工具。我认为开发者需要在使用工具的同时,不断提高自身的技术能力和解决问题的能力,以应对更复杂的挑战。
我认为可以。通过本次课程的结对开发,我和结对同学一起处理同一个任务,虽然不同的工作风格和节奏可能导致冲突和摩擦,但是充分的队友间的探讨和沟通帮助了双方的进步,减少了错误和后期修复的时间,实际效率有所提升。而且从长期来看,结对开发可以提高代码质量、减少技术债务、提升团队成员的技能和知识共享,从而提高整个团队的整体效率。
在一个团队中,成员的学习能力和技能水平不一致是很常见的现象。应该多多进行知识共享,明确角色和职责,建立其良好的学习氛围,设定目标和反馈,帮助每个成员设定短期和长期的学习目标,并定期检查进度。在本次实践中,我们团队就先根据各自学习方向进行分配工作,然后根据每个成员的能力和学习速度,合理分配part,同时定期进行会议,分析完成情况和下一日目标,同时通过集体解决实际问题和项目,让成员在实践中学习和成长。
需求阶段:
用户需求理解:学习如何与用户沟通,准确理解他们的需求和期望。
需求分析和管理:掌握需求分析方法,如需求采集、需求文档编写。
设计阶段:
系统设计:学习进行系统设计,掌握设计模式和原则。
原型设计:掌握原型设计工具和方法,能够制作低保真或高保真的原型,帮助验证设计思路。
实现阶段:
编码技能:学习利用HBuilder进行uniapp开发
问题解决能力:增强了调试和解决问题的能力,能够快速定位和修复bug。
代码质量:学习遵循编码规范,注重代码的可读性和可维护性
测试阶段:
测试策略和方法:掌握各种测试策略和方法,如单元测试、集成测试、功能测试、性能测试等。
团队协作:通过与对应部分协作同学的沟通,完善了项目的不足。
发布阶段:
版本控制:掌握版本控制方法,能够有效地进行版本管理。
前端app端发布:通过hbuilder的云部署可以打包apk
第一次完成一个代码量较大,涉及内容较多且不熟悉的项目,我是非常退缩且不想面对的,json解析,读取文件等等都耗费我非常多的时间去理解,其中出现的bug更是让我一度崩溃,但是在舍友的解释和上网不断的查找资料中,终于完成了本次作业。通过本次实践,我认为首先不能有畏难情绪,要冷静思考,及时整理思路,学习相关技术,才能一步步提高编程水平。
结对编程中,我接触原型设计,使用了Axure进行原型设计,通过其团队功能,可以让我和结对伙伴同时进行项目的设计。后期的编程作业中,也是第一次使用vue2进行项目开发。短时间内上手vue框架对我而言还是有难度的,在一些比较复杂的功能上常常没有头绪,但vue框架提供了很多组件,还有element ui,帮助我更方便地使用各个已经有所渲染的组件。当然,整个项目过程中必不可少的出现好多bug,前期的依赖安装到后期的各种样式渲染,都是一次次难忘的经历,同时二人协作也让我更加认识理解git分支的各种命令,对后面的团队作业打下基础。
团队项目中通过项目需求,我们接触和学习多种编程语言、框架和工具,我主要是开发前端,使用了Hbuilder进行uniapp开发。在通过参与整个项目生命周期后,我对项目整体流程和各个环节都有了全面了解,同时通过团队合作,学习如何处理团队内部的冲突和分歧。总而言之,我认为参与一个团队项目可以全面提升技术能力、项目管理技能、团队合作能力和职业素养。这些收获不仅对当前的项目有帮助,也为未来的职业发展奠定了坚实的基础。
| 目标 | 评分 | 解释 |
|---|---|---|
| 1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 90 | 通过课程,我对软件工程师的职业道德和实践要求有了较深入的理解,也学到了如何在开发中考虑社会责任和文化因素,并树立了积极向上的开发理念。然而,实际应用和更深入的理解还需要更多的实践经验。 |
| 2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 95 | 在课程中,我系统学习了需求分析的各个阶段和方法,包括需求获取、分析、规范化和管理。通过小组项目,我提高了辨别用户多样化需求的能力,并能够有效使用需求表达工具。 |
| 3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 85 | 在课程中,我学习了软件开发的整体过程,包括体系结构设计和基本设计原则的应用。通过项目实践,我已经能够完成设计模型,并进行初步的技术评审。然而面向复杂项目的设计方案,我需要在实际项目中继续积累经验和应用知识。 |
| 4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 80 | 通过课程,我学会了执行基本的技术评测和设计模型的评判能力。我开始培养创新设计的意识,能够在设计中提出改进和优化方案。但是我还需要更多实践经验和在复杂项目中的实际操作,以提高我的判断和优化能力。 |
| 5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 90 | 我在课程中学习了遵循软件开发文档标准的重要性,并掌握了撰写需求规格、系统设计和测试报告等文档的方法,通过项目实践完善了我的文档撰写和沟通技能。 |
| 6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 95 | 在课程中,我积极参与团队工作,展现了良好的团队意识和合作技能。我能够有效地与团队成员沟通、协作,并在需要时组织和协调团队工作。 |
| 7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 85 | 在本课程中,我学习了软件项目管理的关键要素,包括规模和工作量的估算方法以及工具的选择和配置。通过项目实践,我学习掌握了管理复杂软件工程项目的基本能力。 |
在第一次作业的“准备篇”中,我为自己制定了一个详尽的学习路线,我已经按照学习路线取得了一定的进展。我学习了基本前端语言和vue框架,通过团队项目的要求进行了uniapp开发app的学习,所以没有完成小程序开发学习和node.js的学习。
在团队开发中,我担任了开发角色,在开发过程中负责前端界面设计和测试等工作。
技术概述:使用uniapp进行前端开发时,会产生多个页面需要跳转和传参的问题,可以通过学习不同跳转和传参的方法达到需求,难点在于方法选择和url,参数的传递。