122
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 福州大学-2302软件工程 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 进行课程回顾与总结,与个人技术总结 |
| 其他参考文献 | 《构建之法》... |
问题1.如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?
我觉得,应该不断地学习新的技术、编程语言和工具,了解最新的技术趋势,最后积极参与项目,多动手实践,不断积累经验。
再回答:
要让自己能够跟上软件工程的发展,应该持续学习,保持对新技术和新趋势的敏感度和了解。参与技术社区和论坛,分享学习心得和经验,了解技术的最新动态和趋势。开展项目实践,参与各类软件开发项目,将理论知识应用到实际操作中,加深对技术的理解和掌握。
问题2.如何更好地预估完成任务的时间?
我认为应该先分解成具体的子任务,回顾过去类似任务的经验来估计每个任务所需的时间,最后增加一些缓冲区,以应对风险因素。
再回答:
首先,应该得仔细研究并理解任务的具体要求、目标和范围;再将大任务分解成若干个子任务或步骤,与团队成员进行时间预估的讨论。在本次冲刺中,经常需要线下查看队员工作进度,才可以详细确切了解项目进度,估算完成时间。
问题3.学完了这些理论知识后很久的一段时间都用不上,那么学习那么多的理论知识还有没有用呢,在理论知识和实践知识的方面我们又该怎么权衡呢?
我认为,理论知识与实践知识是同样有用的。学习理论知识后的一段时间内虽然没有机会应用,但仍然会在脑海中形成基础,为你未来提供支持。为了与实际更好的接轨,平时应该多学习先进理论知识。
再回答:
学习理论知识即使在一段时间内看似用不上,仍然是非常有价值的,帮助我们在面对新问题时能够迅速找到切入点。关于权衡,我们应该按需学习并持续更新自己的知识和技能,在本次冲刺之中,我根据自己的职责,学习了相关的代码功能运用。
问题4.该怎么权衡用户对UI的相反评价?
据了解,几乎所有的研发的对UI设计都不是很感冒,从技术的思维和角度来说,UI设计好,对技术的提升和积累的意义不大。应该明确职责,让设计师或项目去跟踪解决。
再回答:
在权衡用户评价时,保持客观中立的态度,避免个人偏好对决策产生影响。在冲刺实践之中,各队员对于各功能数据的展示多有不同意见,最终还是在线下积极讨论下,才成功确定最终结果。
问题5.关于沉没成本,如何砍掉功能?
我认为,首先得尽早决策,风险评估后明确项目的目标和需求,砍掉不必要功能。要有清晰的目标,多个决策者,并且应该经常与用户验证,做出决定。
再回答:
我们要预测砍掉该功能对未来可能产生的影响,如果砍掉该功能会严重影响,那么可能需要重新考虑。在本次冲刺之中,由于持续计时功能并非我们项目主打特色,在考虑到时间紧迫下,团队成员之间充分沟通,决定放弃该功能。
问题1:在团队合作时,由于各负责功能不同,如何将自己必要的需求更改的重要性,告诉并不了解的提供人员?
问题2:在团队实现之中,如果有部分功能实现拖延进度,该如何组内沟通催促或者添加人员?
我学会了使用NABCD模型来分析项目需求,深入了解了项目背后的业务逻辑、市场趋势和竞争环境,对项目有了更深层次的认知。学会了如何有效地收集、整理和分析需求。
我学会了使用墨刀来设计项目原型,掌握了原型工具的使用,学习了在软件中调整细节部分,与快捷的对齐链接操作。与团队成员共同讨论设计方案,确保设计方案符合团队和项目的整体目标,锻炼了我的团队协作能力。
在实现阶段,我学习了springboot框架,与部分微信小程序前端知识,进行了繁杂问题重重的对接工作,获得了许多前后端交互的经验。还掌握了版本控制工具Git,有效地管理代码版本,确保团队成员之间的协作顺畅。
对接工作中,需要许多测试,发生了许许多多的问题障碍。多次体验到了先检查jar包是否有问题的预先测试十分重要,还有前后端接口规范的双方确认更为重要,错误的json命名导致的错误浪费了许多时间。我学会了如何发现、跟踪和修复缺陷,提升缺陷管理的效率和效果。
发布时,我们查找了微信小程序的各种展示方法,经历了许多权限不足的情况。还有,进行了调查问卷查看用户反馈,了解用户对软件的满意度和潜在需求。并且,我还进行了如何使用宝塔面板部署springboot后端项目,掌握了如何将软件部署到生产环境,确保软件能够正常运行并满足用户需求。
- 在个人项目中,这是第一次具有明确使用目标的实践练习。
- 我学会了使用JAVA库来读取和解析JSON文件,了解了Java处理json文件的转化与储存输出,更加熟悉了文件的读取写入。此外,我还学会了过去编程时没有接触过的依赖的引入、单元测试的使用,在网上的学习和请教下,终于实现了功能。
- 通过不断的实践和学习,我的编程能力得到了提升,而且更加熟悉了实际编程活动中,使用git管理项目和git提交流程与做法。
- 结对编程是一场取长补短的协作。在这个过程中我们两人不断交流、讨论和尝试。在同一楼层下,较好的完成了沟通工作,达成了初期的良好配合。两个人同时参与编写过程,相互检查并纠正错误这很好的促进了作业的顺利完成。
- 并且,同伴具有良好的沟通能力与实践能力,在互相的沟通作业细节时快速的达成了共识,最终顺利地完成了工作。
- 这是一个多人开发完整项目的困难体验实践,时间紧凑还有团队诸多沟通问题。
- 冲刺的经历让我认识到,良好的团队合作精神是推动项目成功的关键因素。较为关键的前后端接口定义需要双方认真确认,通过积极的线下交流确认下,我们及时克服了障碍。之后,在部署了后端之后,我加入了前端进行openid与地点识别的优化,学习了许多微信小程序相关的技术。这一次从零开始开发微信小程序,让我学习了许多,更加注重了团队之间的沟通合作。
| 目标 | 评分(百分制) | 解释 |
|---|---|---|
| 1.理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 95分 | 在专业学习中,通过诸多实践与课程教导,坚持了在软件产品中融入健康文化的元素;在软件开发中追求创新和卓越,不断探索新的技术和方法;具有良好的工作责任感。 |
| 2.掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 90分 | 在实践中,我掌握了原型工具的使用,学习了在软件中调整细节部分。还能顺利与团队成员共同讨论设计方案,构建了需求分析模型。 |
| 3.掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 88分 | 在本次实践中,我参与了系统体系结构设计与数据库结构设计。在开发中,参与了软件开发的全过程,能够形成高效可靠的软件系统设计方案。 |
| 4.能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 90分 | 在程序功能测试中,掌握了各单元测试方法,并验证了系统是否满足用户需求。在技术上,实现时使用了优选设计方案。 |
| 5.遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 88分 | 在设计实现过程中,我编写了许多文档,掌握了需求规格说明书、系统设计说明书、测试报告等文档撰写方法,能够进行良好的沟通合作。 |
| 6.具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 95分 | 在冲刺时,进行了许多积极的团队线下交流,能够及时克服了障碍。在完整的微信小程序项目实践下,更为强化了我的团队合作精神。 |
| 7.能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 90分 | 在本次冲刺中,我经常需要线下与队员沟通工作进度,详细确切了解项目进度,能够估算时间与初步管理工程项目。 |
概述:在进行软件工程实践作业时,我负责在微信小程序上实现地点定位签到,并且通过腾讯地图的逆解析拿到详细地址。难点主要在于,腾讯位置服务注册获取key,以及计算位置距离。