142
社区成员




这个作业属于哪个课程 | 2022年福大-软件工程;软件工程实践-W班 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 课程回顾与总结、个人技术总结 |
其他参考文献 | 构建之法 |
问题1
低层次的问题能依赖工具解决么?原文链接
过去回答:解决高层次问题要首先通过不断练习来解决掉低层次问题,才能有脑力解决高层次问题。在有能力解决高层次问题的前提下,可以依赖工具解决低层次的问题。
现在回答:我认为在时间有限的情况下或者已经明白低层次问题的原理的情况下,可以适当使用工具解决低层次的问题。但是我在前端开发中也发现,有的时候一些集成控件的使用问题、布局的排布问题和低层次的问题密不可分,如果不了解一些低层次的原理或者是不知道如何查看涉及到的低层次的相关知识就很难解决。所以我认为依赖工具解决低层次的问题在一定程度上可以节约时间、降低开发的难度,但是我们也要对低层次的问题有所了解,不然在真正遇到一些问题的时候就没法很好的解决。
问题2
敏捷团队中的测试人员与传统团队中的测试人员有什么区别?原文链接
过去回答:在传统测试中,测试人员被认为是找BUG的人,比如如果BUG众多,则测试人员和开发人员会一起加班,后者修改BUG,前者验证是否修改好。而如果BUG很难复现,则付出努力最多的不是开发人员,而是测试人员。在敏捷测试中,测试人员则是帮助加快进度的人,也就是提高生产率的人。
现在回答:在每个阶段,测试人员除了要独⽴进⾏测试,通常还需要跟不同的⾓⾊结对,包括业务分析⼈员、开发⼈员、以及客户。,开发人员对于产品的测试常常要在开发过程中、短时间内给出测试结果,快速反馈到开发人员进行调整。
问题3
学生与职业程序员的区别?原文链接
过去回答:学生更注重通过实践更好地掌握知识。而职业程序员更注重项目质量所以要花更多时间在代码复审、测试等。
现在回答:学生更多的是学习书本的知识,以完善知识脉络、对于某方面的知识进行深入学习为主,即使是实践课程,也大多数是为了强化对于知识的理解、学习,而职业程序员则需要以产品的需求为主,一切工作、学习基本都是围绕着产品的开发、完善等,除了这些,还要与客户、团队负责人、产品经理、测试等各类人员进行交流反馈。
问题4
在敏捷流程中,如何保证不同任务间的协调性?原文链接
过去回答:无论团队内外,采用面对面地交流方式,保持经常、定期交流。尽可能简化工作量。考虑清楚任务间的优先级、依赖关系。
现在回答:除了采用面对面地交流方式,保持经常、定期交流、简化工作量、考虑清楚任务间的优先级、依赖关系等,还可以在开发之前明确需求、团队人员的工作和职责的划分,在每次短期开发冲刺之前就确定好此次开发的各部分的目标,让所有任务都得到落实、都有负责人进行统筹。
问题5
完成任务的预估时间如何预估? 原文链接
过去回答:画燃尽图,根据每个人每天的理论进度推算剩余时间,从而得出完成任务的预估时间。
现在回答:在开发之前明确每个人的开发目标,定期进行开发进展汇报,预估时间除了根据燃尽图,还要根据剩余任务开发时间进行预估,不仅要考虑到剩余工作量还有可能出现的问题,预留解决问题所需要花费的时间。
需求阶段和设计阶段
这两个阶段我负责的是原型的设计和补充,因此,我对于Axure的使用更加熟练了,而且之前是画页面的原型,这一次我们画的是移动端的原型,这两个的原型除了大小、比例的差别,在交互上的差别也很大,网页是用鼠标进行移动、选择的,而移动端则是用手指、按键进行滑动、触摸,刚开始,我还给一些控件设置了鼠标移动到某些控件上可以显示信息的交互。。。
实现阶段
学习了React和React Native。
测试阶段
知道了很多测试App的方法,比如说多次点击一个按钮、开GPS移动、调手机时间等。
发布阶段
知道了有些控件、布局在开发过程中和发布之后会有不同。
个人项目
我开始导入的jar包不是官方的,可能存在某些问题,导致我在后续的生成jar包的步骤中出现的问题,jar包生成后运行会提示找不到JAONObject类,在经过长时间的调试,确认导入方式、生成jar包等步骤无误后,才意识到是导入的第三方jar包有问题(很难想到,毕竟之前程序可以正确运行),耗费了非常长的时间。最后虽然完成了预期目标,但是在性能方面还有可以优化的地方。
结对编程
因为对vue3的语法、代码不熟练,写代码时经常有些无从下手,到处找教程。也因为各种bug问题,经常使用idea克隆仓库代码,感觉操作熟练了很多。在开发过程中,因为有些bug调不出来,也会请教同学,感觉对html、css的理解更透彻了。
团队项目
这次开发的过程中,我对于有些控件的使用有些生疏,在查找解决办法的过程中花费了大量的时间,但能感觉到在这之后,我在这方面也有所提升。同时,我也发现自己对于修改bug、查找合适的解决办法的能力有所欠缺,比如在从控件本身入手没有发现解决问题的办法的时候可以注意下,是不是该控件的底层组件的问题。
目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。
目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。
目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。
目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。
目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。
目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。
目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。
目标 | 分值(百分制) | 理由 |
---|---|---|
目标1 | 90 | 在开发前,有搜集相关资料,理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 |
目标2 | 85 | 在需求分析阶段,我通过Axure进行原型设计,能够规范、准确地表达需求,构建需求分析模型。 |
目标3 | 80 | 参与了软件开发的全过程,在开发过程中遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的软件系统设计方案。 |
目标4 | 80 | 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识. |
目标5 | 85 | 遵循软件开发各阶段文档标准,采用规范的表达,在开发过程中掌握了需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与同组成员交流能力。 |
目标6 | 80 | 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作。 |
目标7 | 85 | 在开发前,我能够辨别具体软件项目管理中涉及的构成要素,使用teambItion等对开发任务进行细化,知道如何使用teambition等估算件规模和工作量。 |
技术概述:通过设置Axure全局变量实现页面间的信息传递,使利于原型更加拟真,而且可以避免相同格式的页面的重复制作。