软件工程第一次结对作业
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 作业要求链接 |
这个作业的目标 | 分析需求,设计一个app原型解决客户的困扰 |
学号 | 102202111 |
合作队友 | 102202103 |
跨专业学生协作平台设计
本次项目我们采用了墨刀工具,原型链接:https://modao.cc/proto/design/pb2m1hifixm61pogd?jsid=SEM-BAIDU-modao2-PP-0035
一.阅读《构建之法》第3章和第8章总结
以下是《构建之法》第 3 章和第 8 章的读后总结:
第三章“软件工程师的成长”:
- 个人能力提升:软件工程师需要具备多方面的能力。代码能力是基础,不仅要能高效编写代码,还要注重代码的规范性和可读性,以便于团队合作和后期维护。调试能力同样关键,能快速定位和解决问题,提高开发效率。此外,还需有良好的学习能力,软件行业技术更新迅速,持续学习新的知识和技能才能跟上发展步伐。
- 职业发展路径:明确了从初级工程师到高级工程师、技术专家、项目经理等不同阶段的发展方向和要求。在每个阶段,都有特定的技能和职责要求。例如,高级工程师需要在技术深度和广度上有更高的造诣,能够解决复杂的技术难题;项目经理则要具备良好的沟通、协调和领导能力,负责项目的整体规划和推进。
- 团队协作重要性:强调了团队协作在软件开发中的核心地位。一个成功的软件项目往往需要多个角色的协同合作,包括开发人员、测试人员、设计师等。团队成员之间要相互信任、沟通顺畅,明确分工,共同为项目目标努力。良好的团队协作可以提高开发效率,减少错误,提升软件质量。
第八章“需求分析”:
需求分析是软件开发关键环节。多种需求获取方法如用户访谈、问卷调查等可深入了解用户需求。需求分析过程包括整理、分类和优先级排序,建模方法如用例图等能更好理解需求。其中,NABCD 模型尤为重要:
- Need(需求):准确把握用户需求是基础,通过多种方法深入了解用户的痛点和期望。
- Approach(方法):用合理的技术手段和设计方案满足需求。
- Benefit(好处):明确给用户带来的实际好处,提升用户体验和价值。
- Competitors(竞争):分析竞争对手,突出自身优势。
- Delivery(推广):考虑如何将产品有效地推向市场,让用户知晓并使用。
总之,通过阅读这两章,我深刻体会到软件工程师成长和需求分析的重要性,在软件开发过程中,我们要不断提升自己的个人能力,注重团队协作,准确把握用户需求,为项目的成功贡献自己的力量。
二、平台设计
1. 目标:
设计一个面向大学生的校内跨专业协作平台,帮助学生通过信息化方式高效寻找跨专业项目合作伙伴,解决合作机会有限、沟通困难等问题,同时确保平台的安全性和私密性。
2. 平台用户角色及功能设计
平台主要有三类用户:学生、导师 和 管理员。
-
- 学生
• 注册与认证:使用学号,手机号进行身份验证,确保·用户真实身份。
• 个人信息填写:填写专业背景、技能特长、兴趣方向,系统自动生成个人能力标签。
• 发起或参与项目:学生可以发起项目,明确项目需求(如设计、编程、市场营销等),或申请参与他人发布的项目。发起人可通过标签自动推荐合适的学生参与。
• 项目协作与管理:通过平台进行在线沟通、文件共享、任务分配和进度追踪,确保项目有序进行。
- 学生
-
- 导师
• 注册与认证:通过校内教师身份认证系统进行工号认证,确保导师的真实性。
• 发起或指导项目:导师可以发起跨学科的科研或创新项目,邀请学生参与。导师也可以作为顾问角色,帮助学生指导项目,提供学术建议。
• 项目评估与反馈:导师对项目的各个阶段进行评估,并根据学生表现给出反馈或评价。
- 导师
-
- 管理员
• 项目审核:任何一位项目发起者自动成为该项目的管理员,对项目申请者进行审核。
• 权限管理:管理员为不同角色(学生、导师)设置最高访问权限,保护用户隐私与项目安全。
- 管理员
主要功能模块设计
-
- 用户注册登录模块
• 学生和导师通过手机号和学号/工号进行注册登录操作。
• 每个用户在我的界面生成个人能力标签,以便发起人能够快速找到合适的合作伙伴。
- 用户注册登录模块
-
- 项目发布与申请模块
• 学生和导师可以发布项目,填写项目需求及目标,明确需要的合作专业领域和角色。
• 学生可浏览或搜索项目,通过个人能力标签推荐合适项目。
- 项目发布与申请模块
-
- 项目审核模块
• 管理员对项目申请人员进行审核,用户可以看到项目的审核结果,只有审核成功,才能够成为该项目的一员,出现在项目列表中
- 项目审核模块
-
- 在线协作与沟通模块
• 平台内置在线文档共享、实时聊天功能,方便团队成员跨专业合作。
• 任务分配和进度追踪工具帮助发起人及时掌握项目进展。
• 确认任务截止日期,确保团队目标一致。
- 在线协作与沟通模块
-
- 导师指导与评价模块
• 导师在项目过程中给予学生学术支持,并对项目进度和成果进行评估,提供反馈和指导意见。
- 导师指导与评价模块
-
- 安全模块
• 每个用户可以自定义隐私权限(如项目信息,能力标签),未授权信息对其他用户不可见,保障数据隐私。
- 安全模块
系统优势
-
- 便捷性:基于标签的匹配机制、项目筛选和任务管理功能,使得跨专业合作流程更加流畅。
-
- 高效性:在线协作工具帮助团队实现无缝沟通,项目进展可视化管理提升整体效率。
-
- 安全性:严格的身份认证与权限管理,结合数据加密,确保平台内信息和项目资料的私密性。
通过这套方案,学生和导师可以在一个安全封闭的平台中,高效发起和参与跨专业跨学科项目合作,实现技能互补,推动项目成功。
三.NABCD 模型
1.N (Need) 需求
在大学里,跨专业项目合作是学生综合能力提升的重要途径。然而,许多学生因为缺乏人脉、专业背景的差异,难以找到合适的合作伙伴,导致项目进展缓慢甚至停滞。针对这一痛点,亟需一个信息化平台,帮助学生快速、高效地找到志同道合的伙伴,并便捷地进行跨专业协作。
2.A (Approach) 方法
设计一个封闭的跨专业协作平台,面向学生和导师,通过身份验证确保用户真实性,并提供以下功能:
-
- 用户认证与项目发布:通过学校邮箱或学号/工号认证,确保每个用户身份的真实性。学生和导师可以发布跨学科项目,明确需求,并招募合适的合作伙伴。
-
- 智能匹配与推荐:根据用户填写的专业、技能和兴趣标签,系统自动推荐合适的项目或合作伙伴,帮助用户高效匹配团队成员。
-
- 在线协作工具:平台提供在线文件共享、任务分配、实时沟通和项目进度管理等功能,确保团队成员跨学科、高效地完成项目。
-
- 导师指导与评价:导师可以发起项目或对现有项目进行指导,提供专业意见,并对学生的表现进行评价,帮助学生获得学术支持。
3.B (Benefit) 好处
-
- 高效匹配合作伙伴:通过标签系统和智能推荐,学生能够快速找到符合自己需求的跨专业合作伙伴,降低了合作门槛。
-
- 无缝跨专业协作:内置的在线协作工具,让不同专业的学生能够打破时间和空间的限制,快速沟通、分享资源,提高项目的执行效率。
-
- 导师支持:导师的介入为项目提供了专业的学术指导,提升了项目质量,并为学生提供了宝贵的学习机会。
-
- 安全性与封闭性:通过严格的身份认证和权限管理,平台仅对校内学生和导师开放,确保用户信息的隐私和项目内容的保密性。
4.C (Competitors) 竞争
当前市面上并没有专门针对大学生跨学科合作的封闭平台,类似的平台如:
-
- 校园社交平台:此类平台,虽然能帮助学生建立人脉,但缺乏专门的项目管理功能,无法满足多学科项目的深度合作需求。
-
- 在线项目管理工具:如 Trello、Asana 虽然提供了任务管理工具,但它们并不具备学校认证和跨学科合作匹配的功能。
-
- 内部学术平台:学校的课程管理系统虽然具备一定的项目发布功能,但无法支持跨专业学生的自发合作,缺乏便捷的协作工具。
相比之下,平台的主要竞争优势
-
- 精准匹配合作伙伴:平台通过用户注册时填写的专业背景、技能特长、兴趣方向等信息,生成个人能力标签,系统基于这些标签进行智能推荐,帮助学生快速找到适合自己项目需求的合作伙伴。
-
- 多功能集成的协作平台:相比于一般的在线项目管理工具,本平台不仅具备任务分配、进度跟踪、文件共享等基础项目管理功能,还提供实时沟通等跨专业团队协作工具。这些功能高度集成,学生可以在同一平台内进行无缝协作,减少使用多平台带来的复杂性与管理成本。
-
- 导师的学术支持与项目评估:平台允许导师主动发起跨学科项目或加入学生项目提供指导。这种导师支持机制,不仅提升了项目的专业性,还能帮助学生获得宝贵的学术建议和行业视角,提升项目成功的概率。导师的加入还能为学生提供客观的项目评估与个人表现反馈,这在普通项目管理平台中是缺乏的。
-
- 封闭、安全的校园内部环境:平台采用学校认证邮箱、学号等方式进行身份验证,仅限校内学生和导师使用。相比开放性的社交平台,本平台的封闭性和校内认证机制确保了用户信息和项目内容的私密性。
这些竞争优势,本平台为校园内的跨学科合作提供了一个独特、实用且高效的解决方案,帮助学生突破合作难点,并为项目的成功提供全方位的支持。
5.D (Delivery) 推广
-
- 校园推广:通过校内活动、讲座和社团进行平台推广,吸引学生和导师注册使用,特别针对具有跨学科合作需求的创业和学术团队。
-
- 与学校合作:与学校的创业中心、科研院所等部门合作推广,纳入大学生创新创业教育体系,作为大学跨学科项目的官方合作平台。
-
- 在有了一定成果后,尝试扩大平台服务范围,可以与其他学校合作,做出一个能够在多学校里进行跨学科交流的开发平台
这套 NABCD 模型方案能够帮助学生和导师快速高效地进行跨学科项目合作,解决了人脉资源匮乏、合作工具缺乏的困境,同时确保项目的安全性和私密性,满足校园内跨专业合作的迫切需求。
四.流程图
五.原型图一览
注册登录界面:
主界面:
搜索界面:
群组界面:
我的界面:
1.注册登录流程
2.主页流程
3.搜索和群组流程
4.我的流程
六.PSP表格与分析
PSP 表格与分析
PSP阶段 | 活动内容 | 预估时间(小时) | 实际时间(小时) |
---|---|---|---|
需求分析 | 分析用户需求,明确平台目标和功能模块 | 2 | 2.5 |
系统设计 | 设计平台架构、用户界面和交互流程 | 5 | 4 |
详细设计 | 细化功能模块,撰写设计文档 | 4 | 4 |
流程图 | 设计流程图,简洁表示完整项目流程 | 1.5 | 2 |
原型图 | 开发原型图,模块功能清晰明了 | 8 | 10 |
项目总结与改进 | 总结开发过程中的经验教训,优化流程 | 3 | 4 |
文档编写 | 撰写博客园与总结 | 6 | 6 |
合计 | — | 29.5 | 32.5 |
PSP分析
-
需求分析:此阶段的实际时间略超出预期,因为对我们用户需求的深入理解耗费了更多的时间,但这也是平台成功的基础,合理的超出是可以接受的。
-
流程图:设计流程图的时间略多于预期,是为了确保项目流程的完整性和简洁性,我们在这个过程中投入了更多精力。
-
原型图:原型图开发花费了比预期更多的时间,因为原型图的开发经过了许多次的细节调整,但最终保证了模块功能的准确性。
总的来看,项目的总时间超出了3个小时,主要是在原型开发和项目总结上,但这些超时投入有助于提升平台的功能完善性和设计质量。
讨论图片
七.结对作业总结
刘哲睿:在整个设计过程中,我们深刻分析了用户的痛点和需求,借助先进的技术手段构建了一个高效、便捷、安全的协作平台。通过分工合作,我们在任务执行过程中得以互补彼此的技能。在需求分析和设计阶段,我们有效地交流了各自的见解和思路,使得平台功能和用户体验的设计更加全面。但在合作过程中,面对不同的想法和设计理念时,我们也遇到了一些沟通的挑战。但通过耐心的交流和持续的反馈循环,我们及时调整了各自的思路,确保了项目的进展方向一致。本次结对作业不仅让我们在项目管理、系统设计等方面获得了实践经验,还通过互相学习,拓展了各自的知识面。合作伙伴擅长的领域,帮助我们快速解决了某些技术难题,而我们自己也在共同的项目中得到了技能提升,尤其是在原型设计和系统架构上。我们意识到,项目中有许多细节需要花费更多时间去优化和调整,因此在后期总结时也改进了时间分配策略,顺利完成了项目的全过程。
王文豪:开始任务前,我通过阅读《构建之法》的第三章与第八章,明白了普通软件工程师与高级软件工程师的区别,也懂得了一个团队的重要性及其团队中的每个人都是息息相关。在懂得了NABCD模型后,针对用户反馈和需求进行分析,初步设计了一个能够满足用户需求的平台页面,通过墨刀模型的帮助,我们两个人的团队之间能够更好地相互交流与创建页面。在不断地讨论,驳回,重做,经历了一系列漫长的工作,我们最终打造了一个较为满意的平台。虽然过程是艰难的,相互交流与配合之间亦存在一定的摩擦,但是最后能够相互理解,相互沟通从而解决问题。在对于原型的架构上,还是存在着不小的瑕疵,但是此次经历,让我体会到了软件工程师与用户交流之间的重要与不易,相信在以后的时间里,我的知识能够不断构建,分析与解决问题的能力能够不断加强,与人交流,沟通能够更加成熟,总而言之,此次的收益实是颇丰。