软工实践&个人技术总结

这个作业属于哪个课程 2021春软件工程实践|W班 (福州大学)
这个作业要求在哪里 软件工程实践总结&个人技术博客
这个作业的目标 1. 课程回顾与总结
2.个人技术总结
参考文献 《构建之法》、bilibili

Part1. 课程回顾与总结

问题再解

  1. 博客链接

    寒假作业2

  2. 问题解答

    1. 在前述的博客中已经提到对于“极限编程”和“结对编程”的区别与联系的不解;在思否社区上进行问答及真正经历过结对编程后给出自己的理解:极限编程强调团队合作,经理、客户和开发人员都是协作团队中的平等合作伙伴。极限编程已五种基本方式改进软件项目:沟通、简单、反馈、尊重和勇气。而结对编程中,仅仅只有观察员和驾驶员两个角色,这两个角色通常会呼唤,观察员考虑工作的战略性方向,提出改进的意见,使得驾驶员可以集中注意力在完成当前任务的“战术”方向。结对编程是极限编程的组成部分。
    2. 将瀑布模型分为局部-小整体-大整体进行分析是否更合适:在软件工程课上第四章节Process Models的学习后,认为“带原型的瀑布模型”即为我所想象中的多个不相邻步骤可回溯的模型。但现在还是觉得瀑布模型的线性开发太过于刻板。
    3. 敏捷不是万能的:其实在完成寒假作业2时已经对这方面的知识进行了搜索。现在再次研读了《构建之法》第六章《敏捷流程》结合老师课程的教授,对“什么时候选择敏捷的开发方法”有了比较清晰的答案。敏捷方法特别适用于Web应用开发;主要应用于以人为主的项目:1.软件开发 2.对外合作 3.咨询 4.教育等其实我们这学期的软工实践就是一次敏捷开发的实践。
    4. 关于通过NABCD模型启发灵感,使用新的技术去做新的开发这个问题,还是很难解。新的技术学到了,但是在软工实践接近尾声时,发现许多团队还是在重复造轮子。新兴软件和小程序的开发依然不多,一路下来还是认为服务型和工具类的平台更具有实用性和价值。可能创新还是要善于观察生活,从生活中汲取新点子。
    5. 每日构建在专业知识上的重要性已经在前述博客中给自己解答了。反观Alpha冲刺和Beta冲刺,每天的站立式会议就是一个每日构建。虽然我们的过程没有真正的Daily Build流程来得精细和繁杂......但多亏了git管理,使得开发与测试不会有冲突,也不会存在混乱集成的问题。

收获

  1. 需求阶段

    团队作业3中,要求各团队提交界面原型设计与需求规格说明书。此次作业后,认为需求分析应该是一个好的项目的基石与开端。需求的详细与切合实际是非常重要的,如果需求不明确,此后的开发会受到很大的影响。而原型设计也只是画饼,先给自己画一个美丽蓝图。(梦想要有,万一实现了呢

  2. 设计阶段

    团队作业4中,要求各团队提交数据库设计和系统设计,用到了许多之前学习的知识,比如数据库课上的ER图,数据库表的设计,面向对象的设计与分析课上的UML图。而要设计一个系统,这些基础知识也远远不够,还要涉及系统实际开发时的硬件环境、运行环境、开发环境,以及所要使用的计算站、技术等。相较于需求阶段,设计阶段则是画一个更具体的饼,但要实事求是,并且涵盖全面。也算是一种巩固知识和学以致用吧。

  3. 实现阶段

    在实现阶段,作为团队PM要担起的责任是对项目粒度的划分和进度的监督与把控,在对成果整合的同时,也要积极与技术人员进行沟通交流,比如某些功能可能要修改,某些功能的实现可能会被舍弃等。PM不是上帝视角,而是一个游走于项目内外的人员。在此阶段收获的最大能力还是催产能力。。

  4. 测试阶段

    大概到了alpha冲刺中段时,我们团队已经开始了单元测试和集成测试。 填写了前端mock几个接口的模拟测试数据,认为善于借助辅助平台和工具、利用软件测试的自动化能够极大地提高软件开发和测试的效率。

  5. 发布阶段

    发布阶段的话,在观察了团队成员之间的沟通后,认为相关测试还是要尽早完成。当产品没有大问题之后,才能进行项目的部署,否则在部署后若发现错误事情就会变得非常棘手。

理解与心得

  1. 个人项目

    个人项目应该是最惨痛的教训吧。。由于目录结构错了整个作业都没有分数。还是大E了。。。但是wordCount编程其实算是一个非常基础的使用和锻练,对于后续的论文爬取作业有一定的帮助。心得就是以后一定要再三小心,要多多check,不懂的话多和同学交流一下。

  2. 结对编程

    结对编程应该是最印象深刻的一次了,和队友连着通宵两天debug,连着两天听三区凌晨四点的鸟叫声入睡,又早起去上早八。。在队友身上学到了毅力两个字,以及,驾驶员和观察员的角色一定要是实力相当的人才能进行流利的互换。还是希望自己能好好学习,自己当大腿。

  3. 团队项目

    由于进了一个很厉害的团队所以变得非常realx,(我们组真的是技术没话说的程度),也被巨佬的自信深深感染到。便暗下决心当巨佬。。。果然技术才是最重要的,有技术我就可以横着走。(不是

    以及,我们团队的氛围真的非常佛系又自在,leader也很easygoing,不争不抢的感觉,真好。

Part2. 个人技术总结

SSM框架学习

概述:
Spring是一个轻量级Java开发框架;SpringMVC是SpringFrameWork的后续产品,分离了控制器、模型对象、分派器以及处理程序对象的角色;MyBatis是一个基于Java的持久层框架,使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs映射成数据库中的记录。
ps.由于团队项目中担任PM及测试角色,没有太多编码的工作。在这里选择进行当时从寒假开始逐步学习直至现在正在掌握的SSM技术进行详解。

posted @ 2021-06-27 23:06  Recii  阅读(78)  评论(3编辑  收藏  举报