软件工程实践总结&个人技术博客
这个作业属于哪个课程 | 2021春软件工程实践/S班 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 总结和回顾 |
其他参考文献 | ... |
一、课程回顾与总结
1、有关《构建之法》的问题
-
问题1 : 在第五章团队中的角色和合作中提到“开发项目的时候才觉得实际情况和书上讲的都有一些出入,偏偏一些重要的出入书上没有提。我们很多人是边看asp.net的书, 边开发asp.net的项目,这相当于一边看医学书一边动手术。”在我看来这个是初期项目开发者都会遇到的问题,其实在一定程度上确实影响了自身的开发效率,那面对这样的情况应该要怎么处理呢?
经过这一个学期的实践开发经历来说,我的观点和之前的想法大致还是相同的。可以说是自己的想法在实践中体现了吧,因为团队项目我们小组做的是小程序开发,是一个之前完全没有接触过的技术,虽然说和web开发大致相似,但是学习过程还是磕磕绊绊,会遇到很多小问题,在开发的初期基本上也是边搜小程序开发的相关技术边编写代码,所以在alpha冲刺的时候时间成本会花费比较高,但是通过alpha冲刺之后,就对小程序开发的相关知识比较的熟练了,所以在β冲刺的时候就比较的顺利,从而效率也就比较高了。所以开发初期可能都会出现上述的问题,但是我们还是应该多实践,多总结经验,最后才可以进一步的提高。
-
问题4: 在第七章设计阶段分析中作者提到对于需求分析不应该条条框框的完成需求内的要求,但是也不可以一味追求“最大的扩展性”。所以在需求分析和设计的时候我们应该保留什么样的弹性呢?
针对这个问题,通过这个学期的学习和实践,也深刻领悟到这个道理。在实践的过程中,基本上是首先按照既定的需求分析进行开发,在开发调试的过程中,会发现一些之前没有考虑全面的问题,从而进行了需求的扩展,但是在扩展的途中也是按照之前规定的方向走,而不会过多的扩展(比如出现一些大的新模块等),只是在一些小的地方进行补充和完善,否则会使得产品范围受到影响,原本的功能没完善好心得功能可能还有问题,从而可能影响产品质量。
-
问题5:在七章开发阶段的日常管理中作者提到“要尽量减少非开发时间,不要动不动就开“全体会议”。团队成员们自我时间管理也很重要。”这个全体会议其实是很经典的问题,感觉其实当团队积极参与度不高的时候,全体会议就显得很没有效率,但是有时候又是必要的需要告知大家,或者希望大家参与讨论,应该怎么处理呢?
在这次的实践过程中,我们小组一般采用,要进行分工和总结的时候开集体的会议。其余的时候一般就是根据分工在自己的小分组讨论,组长对某一个模块有问题和任务的时候就会直接和对应的队员联系,这样极大的提高了开发和讨论的效率。
(问题2和3经过这一学期的实践经验总结我仍然保持自己之前的观点,这里就不再赘述)
2、阶段性收获
① 需求阶段
在需求分析阶段,我收获到的知识主要是要学会对产品范围进行控制,在后续不应该偏离产品的范围基准线,即再投入开发的时候会不应该再有大规模的改动。在指定需求的时候应该要详细、全面,这样在后续的开发过程才会更加的顺利和清晰。
② 设计阶段
原型设计阶段,要考虑的应该是用户的使用体验以及开发的实现的难易程度 ,同时更应该注重的是界面的简约和美观的特性,在现在的移动应用的市场上,简约的设计才会更加的吸引用户群体,毕竟用户都更希望自己可以更好的上手。
③ 实现阶段
在结对和团队项目的开发过程中,收获比较大的就是对于web开发技术和小程序开发技术的学习和熟练。在之前的课程中,也学习过web开发的相关知识,但是应用和实践的经验不足,所以对知识的掌握也不够熟练,通过实践课程,更加熟悉了web开发的技术,以及一些性能优化方面的问题。同时在团队项目中了解到了小程序开发的知识和相关的技术。
④ 测试阶段
测试阶段的能力最主要收获的就是面对各种bug的处理解决能力吧。在经过了各种调试后,更加明白应该如何测试自己的程序。
⑤ 发布阶段
发布阶段学习到的是如何将自己的项目部署到云服务器上,看到自己的项目通过网页访问,成就感还是满满的。
3、心得和理解
通过这一学期系统性的各种实践,在我看来是潜移默化地提高了很多自身在各个方面的能力。比如:
- 在个人作业中,第一次解除了单元测试和性能测试,这是在之前的编码过程中没有考虑过的性能方面的问题,从而使得自己今后在开发的过程中考虑将会更加全面,不只是一味的追求写出功能,而是应该知道如何更好的写出这些功能;
- 在结对编程中,和队友从设计到实现全程把关,一起搭建了一个论文检索器,最后把自己的设计实现出来的喜悦感,到现在还是记忆犹新,结对过程很顺利,也很愉快,这应该对我们来说都是一个比较好的历练吧;
- 团队作业中,最印象深刻的应该还是那次限时的编程训练,8点拿到需求,一个团队进行分析,设计到编码和发布,通过那一次作业我们在最短的时间内迅速的磨合,其实在我看来也是为后续高效的合作奠定了一定的基础。后续的团队作业,因为组长的负责和领导以及团队队友的积极配合也使得我们整体的进度和产品质量还算不错而且高效,只能说,在大学的最后一个课程设计中遇到了这么好的队友,是荣幸也是幸运吧!
二、个人技术总结
- 个人技术总结--iOS单例模式
- 概述:在一些应用场景利用单例模式创建对象,可以使得程序中的数据资源得到统一的管理和分配。在iOS开发中也时常利用该设计模式进行对象的创建。