软件工程第一次结对作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261 |
这个作业的目标 | 完成原型设计,体会结对作业对个人能力的提升 |
学号 | 102201635 |
结对成员 | 102201635 高鑫源 10221636 黄森福 |
在第三章中 我学会了如何衡量一个软件工程师的个人能力,一个初级软件工程师如何成长,软件开发的工作量和质量如何衡量,团队对个人的期望,软件工程师的思维误区
1. 个人在团队中的流程(应该要做到的方面)
1、通过交流、实验、快速原型等方法,理解问题、需求或任务
2、 提出多种解决办法并估计工作量
其中包括寻找以前的解决方案,因为很多工作是重复性的
3、与相关角色交流解决问题的提案,决定一个可行的方案
4、 执行,把想法变成实际中能工作的代码,同时验证方案的可行性和其他特性(例如程序的效能等)
5、 和团队的其他角色合作,在测试环境中测试实现方案,修复缺陷(Bug)。如果此方案有严重问题,那么就考虑其他方案
6、在解决方案发布出去之后,对结果负责
2. 初级工程师如何成长
1、可以积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)
2、能够积累有关于问题的经验,就是问题背景知识,接触到的领域等等方面,
3、对通用的软件设计思想和软件工程思想的理解
我觉得软件工程这门课可以潜移默化地影响个人的设计思想和软件工程思想。这些理解会在项目遇到挫折阻碍,克服它之后得到的提升。它是一种感觉,很奇妙的东西。
4、职业技能包括:自我管理的能力,表达和交流的能力,与人合作的能力,按质按量完
成任务的执行力,这些都是我们在结对作业之中可以与同伴共同进步的地方
5、实际成果
也就是项目成果的不断进步,具体可以表现为用户的使用体验等等
3. 团队对个人的期望
1、交流:能有效地和其他队员交流,从大的技术方向,到看似微小的问题。
2、说到做到:就像上面说的“按时交付”。
3、接受团队赋予的角色并按角色要求工作:团队要完成任务,有很多事情要做,是否能接受不同的任务并高质量完成
4、全力投入团队的活动:就像一些评审会议,代码复审,都要全力以赴地参加,而不是游离于团队之外。
5、按照团队流程的要求工作:团队有自己的流程(见“团队和流程”一章),个人的能力即使很强,也要按照团队制定的流程工作,而不要认为自己不受流程约束。
6、准备:在开会讨论之前,开始一个新功能之前,一个新项目之前,都要做好准备工作。
7、理性地工作:软件开发有很多个人的、感情驱动的因素,但是一个成熟的团队成员必须从事实和数据出发,按照流程,理性地工作。
4. 软件工程师的误区
1、分析麻痹:想要把所有的依赖关系,项目的细节全部都想清楚之后再下手。
2、不分主次,想解决所有依赖问题:也就是想要在项目的实现过程中,把所有问题都解决,而不是根据现有条件找到一个足够好的方案。
3、过早优化:在一个项目的大体框架还没有出来之前,就开始对某一个模块花大量的时间进行优化。
4、过早扩大化/泛化:也就是想要把一个模块写的能够应对所有情况的出现。
5、画扇面:告诉我们不能过于高瞻远瞩,应当从当前的问题入手,解决当前的困境。
NABCD模型分析
1. Need(需求)
跨专业合作的需求来源于学生想通过参与或发起创业、学术等多学科项目来提升自身能力、拓宽视野并积累人脉。当前合作机会有限,主要原因有:
- 信息不对称:学生在寻找跨专业合作伙伴时,缺乏合适的平台或渠道,导致找到匹配的合作伙伴十分困难。
- 时间和目标差异:不同专业学生的课程安排、合作目标和沟通方式存在差异,进一步增加了合作的难度。
- 缺乏资源支持:即使找到合作伙伴,项目的持续发展也面临缺乏专业支持、资金、工具等资源的问题。
因此,学生迫切需要一个平台或解决方案,能够便捷地帮助他们找到志同道合的跨专业合作伙伴,并支持项目的持续发展。
2. Approach(方案)
为解决上述问题,可以构建一个专为大学生设计的跨专业合作平台。该平台的核心功能包括:
- 项目发布和搜索功能:学生可以在平台上发布项目需求或寻找已有项目,平台将根据项目类别、技能需求、时间安排等条件推荐合适的合作伙伴。
- 项目管理工具:提供一套在线项目管理工具,支持团队协作、任务分配、进度跟踪等功能,确保跨专业项目的顺利进行。(暂时未实现)
- 资源库与导师指导:提供与项目相关的资源(如模板、教程、案例分析等),并邀请相关领域的导师为项目提供指导和帮助。(暂时未实现)
3. Benefit(收益)
该平台将为学生和学校带来多重收益:
- 学生个人成长:通过参与跨专业项目,学生将提升多学科合作能力,扩展自身视野,积累团队合作经验。
- 项目成功率提高:通过智能匹配和工具支持,学生能更快找到合适的合作伙伴,减少了项目由于沟通不畅或资源不足而失败的可能。
- 学校的品牌提升:平台能够鼓励校园创新创业,提高学生的综合素质,提升学校在多学科合作和创新教育方面的声誉。
- 持续的校友合作:通过平台上的合作,学生能够建立长期的合作关系,为未来的创业或职业发展打下基础。
4. Competition(竞争)
类似的平台可能存在,但大多数是专注于特定学科或垂直领域的合作。例如:
- 校内外的创业社团:很多高校内外都设有创业社团或俱乐部,但它们主要关注商业创业,而非学术合作或跨学科项目。
- LinkedIn、GitHub等专业社交平台:虽然这些平台也能促进合作,但它们主要面向已经有职业经验的人群,并且没有专门针对校园内的跨学科合作需求。
- 现有的校园课程平台:一些学校可能已有类似的系统供学生发布项目需求,但功能有限,通常不具备智能匹配、项目管理等全面支持。
通过专注于校园内多学科合作、项目管理支持和导师指导,这个平台能够形成差异化竞争优势。
5. Delivery(实施)
实施计划分为以下几步:
- 产品开发:基于学生需求,设计并开发用户友好的跨学科合作平台。产品功能包括用户注册、项目发布与搜索、智能匹配、团队协作工具等。
- 校园推广:与学校合作进行推广,通过学校官网、社交媒体、校园宣传等方式吸引学生使用平台。
- 早期用户支持:组建客服和技术支持团队,帮助早期用户解决问题,优化用户体验。
- 资源引入与导师招募:与校内外导师、专家建立合作,提供跨学科项目指导,并引入资源库,为学生提供学习和项目参考。
总结
通过 NABCD 模型分析,可以看到该跨专业合作平台有着明确的需求和广泛的应用场景。通过智能匹配、多功能项目管理工具以及资源支持,它能够有效解决当前学生在跨学科合作中遇到的难题,同时具备一定的竞争优势。
用例图
流程图
所用的原型开发工具
即时设计
原型设计在线展示链接
原型部分功能展示
1、注册
2、登录
3、忘记密码
4、浏览项目
5、创建项目
6、我的项目
7、消息
8、导航栏切换
9、设置
10、联系人
psp表格
任务描述 | 预估用时 | 实际用时 |
---|---|---|
阅读构建之法 | 2h | 3h |
需求分析 | 0.5h | 0.5h |
计划 | 1h | 1.5h |
技术学习 | 0.5h | 0.5h |
设计 | 4h | 5h |
测试与改进 | 2h | 3h |
反思与总结 | 1h | 1h |
总计 | 11h | 14.5h |
结对过程
总结
1、与队友进行有效的沟通非常重要,要搞清楚队友到底想要表达的意思是什么
2、使用原型工具之前一定要搞明白原型工具如何使用,磨刀不误砍柴工
3、结对作业就是一个互相促进的过程