• 全部
...

软件工程实践总结——提升自己

222000223-张文彬 2023-06-07 23:48:30
这个作业属于哪个课程软件工程-23年春季学期
这个作业要求在哪里软件工程实践总结&个人技术总结
这个作业的目标课程回顾与总结、个人技术总结
其他参考文献《构建之法》CSDN...

目录

  • 一. 课程回顾与总结
  • 1.1 问题思考的博客链接
  • 寒假作业链接
  • 1.2 问题思考的新解答
  • 1.3、各阶段的收获的知识和能力
  • 1.4、各项目经历的心得
  • 个人项目
  • 结对编程
  • 团队项目
  • 1.5、自我评分和七大课程目标
  • 二、自我评分和七大课程目标

一. 课程回顾与总结

1.1 问题思考的博客链接

寒假作业链接

1.2 问题思考的新解答

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

A1:之前我的回答是:我认为主要还是看排查问题的能力,业务理解能力,还要看其对技术的理解程度,以及个人的逻辑思维。能够很快的查找出问题的地方及原因,能够很好地实现客户所需要的功能,所编写的代码清晰明了,不容易出bug的程序员,我认为是一个好程序员。所以给他一个复杂的问题,看他解决问题的结果一般就可以分辨出程序员的好坏。现在我在坚持原来的想法上补充一些思考要素,坚持原来的想法因为程序员本来就是主要任务就是解决问题,其解决问题能力当然是极其重要的。
但还需要看程序员的表达能力和沟通能力,因为在这次团队协作中深刻体会到了一个良好的沟通对这个项目的推进有非常好的帮助,特别是前后端中间的人员更是如此,才能避免后端的接口前端使用不了等等问题。

Q2:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?

A2:我依旧坚持我之前的看法:我认为更”专“一点好,还是更”广“一点好,取决于你在项目中所处的位置。在实践中我们小组的组长往往就需要更广一些 ,因为他需要对前后端都有一些理解才能更好地安排组员的任务,而组员往往需要更专一点,因为我们需要成功地完成自己的任务。

Q3:个人在团队中应该只是一个流水线上的机器吗?

A3:在这次项目实践中,更加明白了团队的每个人提出自己的灵感,进行灵感的碰撞,以及每个人对目标的看法理解,才能做出更加符合实际需求的产品。

Q4:团队角色的设置可以由每个团队按需配置么?

A4:这次我更能体会到我之前所说的理想情况很难达到,就是最好是每个人都划分自己擅长的位置,然后由每个团队按需配置。像这次的团队的任务中,我们团队后端人员就紧缺,这就导致我需要成为后端人员,与我之前的计划相违背了,也需要我去学习后端的知识,可见在现实生活中各种因素的影响下理想情况往往也难以实现。

Q5:在项目管理中,管理自己公司的团队和管理外包团队,有什么区别呢?

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下的请求。

...全文
给本帖投票
279 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
SoftwareTeacher 2023-06-14
  • 打赏
  • 举报
回复

但还需要看程序员的表达能力和沟通能力


@CSDN-Ada助手程序员如何提高自己的表达和沟通能力呢?

CSDN-Ada助手 2023-06-14
  • 举报
回复
@SoftwareTeacher 提高表达和沟通能力是程序员职业发展的重要一环。以下是一些提高表达和沟通能力的方法: 1. 多看书、多写作:阅读和写作是提高表达能力的有效方法,可以让你更好地组织思路和表达意见。 2. 练习演讲和表达:参加演讲比赛、分享会等活动,可以让你锻炼演讲和表达能力,提高自信心。 3. 学习沟通技巧:了解沟通技巧和沟通心理学,可以帮助你更好地理解和应对不同的人和情境。 4. 多参加团队活动:积极参与团队活动和项目,可以提高协作和沟通能力,增强团队意识。 5. 学习语言和文化:了解不同的语言和文化,可以帮助你更好地理解和应对来自不同文化背景的人。 6. 多与他人交流:多与同事、朋友等交流,可以提高你的交际能力和社交技巧。 希望以上方法能够帮助你提高表达和沟通能力。

586

社区成员

发帖
与我相关
我的任务
社区描述
软件工程-2022-23学年(第二学期)
软件工程 高校
社区管理员
  • LinQF39
  • promisekoloer
  • 异梦1
加入社区
社区公告
暂无公告

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

手机看
关注公众号

关注公众号

客服 返回
顶部