688
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2023年福大-软件工程实践-W班 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 课程回顾与总结、个人技术总结 |
| 其他参考文献 | 相关链接置于文末 |
有可能存在能够在恐慌区进行自我提升的特例,在某些情况下,恐慌可以激发一个人的潜力,促使其更加努力地追求自己的目标。比如在团队实战极限编程中,较短的完成时间以及较大的任务量都在不同程度上激发了我们团队成员的各方面水平能力,但我认为这并不代表恐慌是一种有效的自我提升方式。舒适区、学习区和恐慌区之间的边界是模糊的,因为它们不是固定的状态,而是一个普遍存在于我们内心的感知状态。对于如何走出舒适区,我认为需要在团队中尝试,伙伴能够给予我更多的勇气和信心。
首先最根本的还是技术水平,好的程序员拥有扎实的编程基础和开发经验,精通多种编程语言和技术框架,能够快速解决问题并写出高质量的代码;其次是沟通能力,好的程序员具备良好的沟通和协作能力,能够有效地与项目团队成员沟通和协作,理解和满足团队的需求;最后是学习能力,应能够不断学习新的技术知识和开发工具,保持自己的竞争力,掌握新的编程技能,将其应用到工作中。
我还是认为需要根据每个人的能力来进行任务分配,同时给予一些有挑战性的任务以便于团队成员的个人能力有所提升。让不同能力水平的成员相互协作,互相帮助,共同进步。
写博客也会花挺多时间的,如果把这些时间花在写代码上面会不会更好?
我认为写博客是十分有必要的,在结对编程当中,我和我的伙伴通过写博客记录每次设计和实现遇到的问题以及解决方案,这样不仅能够加深我们对如何处理问题的印象,博客发布之后还能够帮助遇到同样问题的人;在团队的冲刺实战中,每天的博客帮助我们很好地记录项目进展以及对第二天的工作安排,对于项目开发能起到很好的辅助作用。
程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?
需要综合考虑,不仅要考虑这些功能的市场前景等,还需要考虑添加这些功能是否会增大开销,资金是否充足,以及技术上是否可行和用户体验,需要综合考虑这些影响因素,做出合理的选择和平衡。
需求阶段
在需求分析阶段我们学习了NABCD模型,分别是N(Need,需求),A(Approach,做法),B(Benefit,好处),C(Competitors),D(Delivery,推广),从用户的角度去考虑对于一个产品来说,它需要什么功能,如何提供更好的用户体验,思考与同类型产品相比,它的优缺点是什么,竞争优势在哪里,以及如何将其推广,扩大使用群体。
设计阶段
在设计阶段,我负责的主要是ER图的设计,因为在上一阶段我们设计好了类图,所以可以借用类图来分析我们小程序所需要的实体对象以及它们之间的联系,将其转化为ER图,但由于类图的设计也还不够完善,于是与设计类图的团队成员一起讨论修改完善,最终完成数据库的设计。
实现阶段
在实现阶段,我主要负责后端云函数部分的开发,为前端页面渲染所需要的数据提供数据库方面的操作以及返回结果。因为是从未接触过的语言,所以是零基础开始,跟着教程边做边学,掌握了云函数的相关基础语法。在前后端交互部分并没有想象中的容易,有时会出现单独测试云函数没有问题,一旦和前端相连接时就无法运行的问题,以及微信小程序开发还存在一些自带的官方问题,导致一些小概率事件发生。总的来说还是收获很大的,不仅学习了小程序开发的相关技术,比如获取用户当前经纬度,监听事件等,还丰富了前端JS部分的知识。
测试阶段
在测试阶段,因为我在小程序开发中主要负责后端的部分,所以做的比较多的是对云函数的单元测试,测试输入输出是否满足预期情况。还有就是对整个小程序的使用进行测试,以用户的角度进行体验,完成α测试。
发布阶段
由于我们的项目是进行小程序的开发,发布只需打包上传更新版本就可以了,扫描二维码进行体验。同时我们也发布了问卷调查,收集用户对我们小程序的使用评价与感受,有助于我们对小程序进行优化以及修复可能存在的问题。
个人项目
个人实战项目是我第一次尝试完成这样一个需求多且实现的方法都是不曾了解过的,所以整个实现过程都是很慌乱的。从中我学到了首先是合理安排时间是非常重要的,再者就是对项目需求的分析要尽可能地细致,不明确的需求可能导致在实现过程中遇到很多小问题,影响进度,最后是学无止境,还是要多学习新技术。
结对编程
结对合作也是第一次接触,选择的伙伴是熟悉的室友,整个合作过程十分愉快。因为没有学过vue导致心态上有些崩溃,多亏了我的队友,给了我信心和勇气去面对这个困难,并且解决它,完成我们的作品。我觉得还是要多学习,并且要努力提高自己的抗压能力。
团队项目
从组队、需求分析、数据库设计再到α冲刺、β冲刺,整个过程都是十分紧凑的,收获也是很多的。不仅收获了小程序开发的相关技术知识,而且提高了团队之间协作交流的能力。虽然我们做出来的成品可能不是那么的好,但是也基本实现了逻辑以及相关界面,也克服了一些技术上的难点,比如说监听事件、获取经纬度等,成就感满满。
| 序号 | 课程目标 | 掌握程度(百分制) | 解释 |
|---|---|---|---|
| 目标1 | 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 90 | 遵守软件工程师的职业道德规范和实践要求,不随意开发,通过开发产品了解软件产品对社会的影响。 |
| 目标2 | 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 90 | 在原型设计和团队项目设计中,对用户需求进行分析,掌握了原型绘制工具axure,努力改善交互细节,给予用户更好的体验。 |
| 目标3 | 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 87 | 通过需求分析、数据库分析与设计,为项目开发提供良好的开发基础,再加上细节方面的优化设计,构建了一个不错的软件系统设计方案。 |
| 目标4 | 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 85 | 基本具备了评测技术、软件模型的能力,但还缺乏创新意识。 |
| 目标5 | 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 86 | 确定了代码规范,掌握了各类文档的撰写方法,对相关技术文档的撰写标准有了更深刻的认识。 |
| 目标6 | 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 87 | 在团队项目开发中,加强了与团队成员的沟通交流能力;与团队成员相互配合协作解决遇到的问题与困难。 |
| 目标7 | 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 88 | 掌握了如何对工作量进行估计,合理安排每日任务,以及对项目管理工具的使用。 |
利用GSON进行JSON数据解析
概述:JSON是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。GSON是Google提供的处理JSON数据的Java类库,主要用于转换Java对象和JSON对象。
感谢你的详细的 ‘回答’ + ‘再次回答’。 希望你可以把你的回答加到 https://bbs.csdn.net/forums/SoftwareEngineering?typeId=828 原始的提问中,帮助后来者。
因为没有学过vue导致心态上有些崩溃,多亏了我的队友,给了我信心和勇气去面对这个困难,并且解决它,完成我们的作品。
征服了恐慌, 赞一个。