软件工程实践——实事求是 行稳致远

222100305庞财莹 2024-06-06 23:32:41
这个作业属于哪个课程2302软件工程社区
这个作业要求在哪里软件工程实践总结&个人技术博客
结对学号222100305庞财莹
这个作业的目标课程回顾与总结、个人技术总结
其他参考文献CSDN、《构建之法》

目录

  • 一、课程回顾与总结
  • 回顾
  • 以前的博客链接
  • 再解答
  • 新问题
  • 收获
  • 需求阶段
  • 设计阶段
  • 实现阶段
  • 测试阶段
  • 发布阶段
  • 理解与心得
  • 个人实战
  • 结对项目
  • 团队编程
  • 自我评估
  • 二、个人技术总结

一、课程回顾与总结

回顾

以前的博客链接

软件工程寒假作业

再解答

Q1:如何区分一个好的程序员和不好的程序员呢?

责任心是一个很重要的因素,一个好的程序员应该站在用户角度考虑开发实践。面对一个需求时,有的程序员可能会草草实现,完成功能点到为止,而我认为一个好的程序员应该不断考虑如何优化功能,优化代码,封装功能等。

Q2:程序员在哪些地方是必须依赖一个额外的用户体验设计师的?

视觉设计:确定产品的整体色调等审美部分,开发通常不涉及视觉设计,需要UI设计师的帮助。
界面设计:创建直观、易用的用户界面,程序员可能缺乏对整个产品的把握设计技能,需要UI设计师的专业意见。

Q3:软件开发是年轻人的饭碗,吃的是青春饭?那年纪大的程序员经验丰富但是快速学习能力拼不过年轻程序员的时候该怎么办呢?

长期的职业规划:思考长期职业发展路径,可能包括技术领导、顾问、教育或创业等方向。
关注健康:保持良好的身体和心理健康,这有助于维持高效的工作状态和快速的学习能力。
发挥经验优势:利用丰富的行业经验和深厚的技术知识来解决复杂问题,这是年轻程序员难以拥有的。

Q4:代码量与个人的编码能力有直接关系吗?

代码量与个人的编码能力之间存在一定的关系,但并不是直接正比关系,不能一概而论。
编程能力的提高是一定需要代码量的积累的,但是会存在一些无意义没办法提升能力的代码。但是随着代码量的增多,编程能力是会逐步提高的。
一个编码能力强的程序员可能更注重编写高效、简洁的代码,实现封装,而不是冗长的代码。

Q5:如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?
关注行业动态:通过阅读技术博客、参加技术会议、订阅行业杂志和新闻通讯来了解最新的行业趋势。
长期职业规划:思考并规划自己的职业路径,包括短期和长期目标,以及如何实现这些目标。
定期反思:定期反思自己的工作和学习过程,评估自己的进步和需要改进的地方,自己某段时间是否真的学到东西。

新问题

开源软件的安全性如何保障?如何管理开源软件的潜在风险?
在Flutter、React Native等跨平台移动应用开发工具中,如何平衡开发效率和应用性能?

收获

需求阶段

掌握了如何编写清晰、详细、无歧义的需求文档,这些文档将作为开发的基础。
设计出字段清晰明确的接口文档。

设计阶段

学会了考虑用户需求设计原型,使用墨刀进行原型设计,更加熟悉了原型工具的使用。
学会了设计前端的需求思维导图,进一步确认了对接流程。

实现阶段

版本控制:学会了使用版本控制系统Git,以便于代码管理和团队协作。
API交互:掌握了如何与后端API进行交互,使用Axios封装接口,规范化进行请求。
学会了如何将用户需求转化为实际的前端解决方案,以满足用户需求。

测试阶段

测试阶段了解了许多不同的测试方法,明白了测试和以往手工测试的不同,深刻体会到自动化测试的便捷与高效,并通过测试发现的错误对网页进行改正,提升用户使用体验。

发布阶段

学习打包发布各个版本内容,然后根据alpha版本提出的问题为指导意见对beta进行修改。

理解与心得

个人实战

在个人实战中,学习到最多的是在性能优化上有了新的认识和实践,学会了使用fastjson2包对json数据进行解析,学会了如何用Idea测试项目的性能。学习到了设计到开发再到测试优化,是一个规范的代码流程,在之后的实践中很有帮助。

结对项目

在本次结对项目中,我与队友合作完成了网站的原型设计和代码编程。我体会到了团队协作的美好和重要性,开始与团队进行沟通,和以往自己单干相比,解决困难快速得多。同时也学到了原型设计软件的使用,使整个页面兼具易用性,美观性,充分考虑用户需求,将用户需求落到实处。

团队编程

在团队编程中,因为人员的更多加入和项目体量的扩大,使沟通变得更加的重要,有助于确保团队成员对项目目标和预期成果有共同的理解,有助于协调团队成员的任务和责任,确保工作顺利进行。在遇到问题时,沟通是快速识别问题并寻求解决方案的关键。在团队编程中,我担任的是web端的前端角色,需要不断与后端进行沟通,与测试和原型设计者进行沟通,很好的锻炼了我的沟通能力。

自我评估

目标内容评分理由
1理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。95背单词应用可以帮助用户学习新语言,提高语言能力,对教育普及和个人发展有积极作用。掌握一门或多门外语可以为个人提供更多的职业机会,增加就业竞争力。
2掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。96我深入理解需求分析的重要性,以及它在软件开发生命周期中的作用。我掌握了需求收集、分析、记录、验证和沟通的全过程,能够处理各种复杂性。我能够准确识别和区分客户多样化的要求,构造需求分析模型
3掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。95作为软件的开发成员,我很好的掌握的软件开发的全过程,遵循设计规范,按照技术要求将用户需求落实到代码,并进行了优化。
4能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。90在编写前端代码的同时,我也对写出的功能进行了手动的测试,可以站在用户的角度,评估软件使用是否满足用户需求
5遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。96在团结合作中锻炼了文档编写能力。
6具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。98我担任的是web端的前端角色,需要不断与后端进行沟通,与测试和原型设计者进行沟通,很好的锻炼了我的沟通能力。
7能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。90能够辨别软件项目管理中涉及的构成要素,如项目范围、时间、成本等。能够选择合适的工具来规划软件进度,如敏捷看板

二、个人技术总结

个人技术总结——Axios的使用
概述:Axios 是一个流行的基于 promise 的 HTTP 客户端,用于浏览器和 Node.js。封装 Axios 可以带来许多好处,如简化 API 调用,代码复用,使用拦截器进行统一处理等。

...全文
211 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧