软件工程第一次结对作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243 |
这个作业的目标 | 分析用户需求,设计软件原型解决问题 |
学号 | 102201224 |
结对作业伙伴 | 102201226陈潇健 |
使用慕客平台设置原型,原型链接
一、《构建之法》读书笔记
第三章--软件工程师的成长
- 第3章主要探讨了软件工程师如何在职业生涯中不断成长与进步,作者通过深入分析个人能力、职业发展和思维误区等多个方面,提供了清晰的成长路线图。正如作者所述,“软件工程师的成长是一个漫长而复杂的过程,涉及到技术、沟通、协作等多方面的能力。”这一章引导工程师从技术能力、思维方式到职业规划的多个角度进行自我审视,并以长期的职业发展为目标进行能力提升。
1.个人能力的衡量与发展
- 软件工程师的能力可以从多方面来衡量,作者认为,这不仅包括基本的编程技能,还包括沟通能力、团队协作、解决问题的能力和对产品的深入理解。尤其是技术之外的“软技能”,往往在工程师的成长中起到至关重要的作用。作者特别指出,“一名优秀的软件工程师不仅仅是编码者,还应该是能够解决实际问题的设计者”。工程师必须清晰自己的目标,始终保持学习与提高的动力。
- 在能力发展上,作者建议工程师将精力分配在核心技术的掌握、工具的熟练使用以及对整个产品开发流程的了解上。不断提升自己的知识深度和广度,在成为技术专家的同时,也要逐渐理解全局。在他看来,这种多维度的能力提升能够让工程师更快地适应不同的工作环境,从而为职业生涯打下坚实基础。
2.软件工程师的思维误区
- 软件工程师等级的评估
4.技能的反面
- 在谈到“技能的反面”时,作者提醒软件工程师注意一些看似“有用”的能力其实可能产生负面影响。比如,过度依赖于某种技术或者平台,可能让工程师失去灵活性,无法适应不同的项目需求。作者用“反向思维”来强调,过分专注某一领域会让工程师在其他方面丧失应有的敏感性。因此,成长过程中,要注意避免因“自以为是”而忽视外界的变化。
- 在谈到提高技能方法时,作者提到“我们应该不断练习,把那些低层次的问题都解决,才有精力和脑力解决高层次的问题”。同时在学习技能时,我们应该处于不断尝试、失败、学习、再尝试的学习区,避免想一步登天的恐慌区和满足自我成就感的舒适区。
第八章--需求分析
- 第8章《需求分析》集中讨论了软件开发中最为关键的环节之一:需求获取与分析。在这一过程中,团队必须理解并准确定位用户需求,进而将这些需求转化为具体的功能实现。作者指出,需求分析是软件开发的基石,它决定了项目的成功与否,正如他所言:“需求的获取与准确性
二、NABCD模型
- N(Need)需求:
学生需要一个平台来跨专业发起或参与项目,以弥补人脉有限、合作机会稀少的困境。该平台应简化寻找合作伙伴的过程,提供跨专业的交流合作机会。
- A(Approach)方法:
我们设计一款校园跨专业项目合作平台,类似校园版的“创业、学术合作配对”工具,学生可以在平台上发布项目需求、个人技能,寻找志同道合的合作伙伴。我们会依托信息化流程,将平台的注册、认证、项目管理等步骤简化并确保安全性和隐私性。
1. 关键功能概述
1.1 用户注册与认证
- 注册方式:通过学校邮箱注册,并结合学号进行身份认证,确保用户身份的真实性和平台的封闭性。
1.2 项目发布与匹配
- 项目发布:项目发起人可以根据需求发布合作项目,填写项目描述、所需技能、对项目的规划和人员需求等信息。
- 智能匹配:平台根据用户填写的技能标签和专业背景,为项目发起人推荐合适的合作伙伴,并为学生推送可能感兴趣的项目。
1.3 交流与沟通
- 即时通讯:内置即时通讯工具,便于团队内部交流,支持文本、图片、文档传输。
- 项目管理:提供项目任务分配、进度跟踪等功能,让团队能够在平台内高效管理项目。
1.4 隐私与安全
- 隐私设置:可选择性地向他人展示个人资料界面,确保信息安全。
2. 原型界面设计
2.1 主界面功能
主界面简洁明了,分为以下几个模块:
- 主页界面:展示所有正在进行的项目,用户可以根据自己的专业和兴趣进行筛选。
- 我的项目:用户参与或发起的项目列表,能够快速查看项目进度和团队成员。
- 好友界面:和好友列表中的好友进行关于项目的沟通。
- 我的界面 :查看个人资料,进行资料的编辑,隐私设置以及退出登录。
2.2 项目详情页
项目详情页面展示该项目的详细信息,包括项目背景、项目进度和参与成员的技能分布。页面上还有一个按钮可以邀请他人加入该项目。
2.3 用户个人页面
每个用户都有一个个人主页,展示个人技能、所参与的项目以及评价。用户可以在主页上更新自己的技能标签,方便系统匹配。
3. 系统维护与安全
- 定期更新与维护:定期更新平台以修复潜在的安全漏洞和添加新功能。
- 数据备份:确保用户数据的定期备份,避免因数据丢失影响项目进展。
- 使用反馈与改善:提供反馈入口,用户可以对平台的功能和使用体验提出改进建议,平台根据反馈不断优化。
4. 原型展示
使用慕客原型设计工具,提供以下原型设计功能:
- 注册和登录界面:通过简单的界面让用户快速注册和认证身份。
- 项目发布流程:用户能够通过简单几步发布项目,并附上项目要求和时间安排。
- 项目匹配和推荐:展示智能推荐功能,用户可以在推荐的项目中找到合适的机会。
- B(Benefit)好处:
- 提供平台:提供了极为便利和符合需求的平台,为学生解决了寻找资源人脉耗时费力难度高的困难。
- 提供搜索项目引擎:学生可以自主搜素想了解或是想参与的项目关键词,并查看各项目的具体详情。
- 提供“我的项目”管理:学生可以创建新项目或是对已建立的项目进行管理,确保每个项目的每个 时期都能高效率推进,大大提高项目的完成率。
- 提供交流功能:学生可以通过添加好友进行交流,或者通过项目和组员进行交流,高效的沟通方式可以消除许多个人差异,减少矛盾,提高团队效率。
- 提高个人资料展示:学生可以通过个人资料来展示自己的能力和兴趣,项目主理人也可以通过个人资料来判断是否通过他人的加入申请,由此可以提高工作效率。
- C(Competitors,竞争):
在当前的市场环境中,可能存在一些与我们的跨专业项目合作平台类似的竞争对手,例如其他校园社交平台、项目协作工具或相关的在线社区。这些竞争对手可能在某些方面已经占据了一定的市场份额或用户基础。
然而,我们的平台具有以下优势来应对竞争:
1. 功能针对性更强:
我们的平台专注于解决跨专业项目合作中的痛点,如精准匹配合作伙伴、协调合作时间安排、明确项目目标和提供有效的沟通渠道等。相比其他综合性社交平台或通用项目协作工具,我们更能满足学生在跨专业合作方面的特定需求。
2. 用户体验更优:
我们注重平台的界面设计和操作流程的简洁性,确保学生能够轻松上手并高效地使用平台。。
3. 数据分析和个性化推荐:
通过对学生的专业背景、项目需求和行为数据的分析,我们能够提供更精准的个性化推荐,提高合作伙伴匹配的准确性和效率,增加项目成功的机会。
4. 社区建设和互动性:
我们将致力于打造一个活跃的社区氛围,鼓励学生之间的交流和分享,软件内置即时通讯功能,让项目小组内的成员能够在软件上自由沟通。
虽然竞争对手可能存在,但我们相信通过以上优势的发挥,我们的跨专业项目合作平台能够在市场中脱颖而出,为学生提供更好的服务和体验,满足他们在跨专业合作方面的需求。同时,我们也会密切关注竞争对手的动态,不断学习和改进,以保持竞争优势。
- 我们的平台将注重用户需求,提供更加精准的匹配和有效的沟通工具,同时积极整合资源,提供更好的支持。
- D(Delivery,推广):
- 可以通过学校官方渠道进行推广,如学校网站、学院通知等。
- 举办线下宣讲会或活动,向学生介绍平台的功能和优势。
- 邀请老师或成功合作的团队进行推荐和分享,提高平台的可信度和知名度。
- 与学校的创新创业中心或相关社团合作,共同推广平台。
- 在平台上线初期,可以提供一些优惠政策或奖励机制,吸引学生使用。
三、流程图
四、原型设计效果演示
1.设计界面总览
2.登录界面
3.主页
4.项目界面
5.好友界面
6.我的界面
五、工作过程
以下是我们原型设计工作的各个阶段,从任务计划到最终交付原型设计的完整流程:
1. 任务规划:
我们首先对客户的需求进行了详细的分析,明确了要解决的问题——在校园内构建一个跨专业学生合作的平台,帮助学生寻找志同道合的合作伙伴。我们列出了主要功能需求,如用户注册、项目发布、邀请合作等。接着,我们规划了整个设计任务的时间安排,确定了每个阶段的工作内容和时间节点。
2. 需求分析:
在这一阶段,我们深入分析了跨学科合作的常见障碍,例如时间安排、项目目标不一致、沟通难等问题,并考虑如何通过信息化手段解决这些问题。基于 NABCD 模型,我们明确了平台的核心功能:简单易用的注册系统、项目发布功能、合作筛选机制、消息通知和安全性保证。
3. 原型工具选择与学习:
根据任务需求,我们选择了慕客作为原型设计工具。这是因为慕客界面简洁,易于使用,支持在线分享和协作,适合快速设计交互界面。我们花了一些时间熟悉慕客的功能,确保能够充分利用工具来展示我们的设计思路。
4. 原型设计:
在这一阶段,我们开始用慕客制作具体的界面原型。首先设计了登录/注册页面,确保界面简洁明了。接着,我们制作了主界面,项目界面,好友界面,个人界面。
5. 原型展示与交付:
原型设计完成后,我们通过慕客生成了在线链接,确保可以随时展示给老师和同学。
6.工作中的交流与讨论
六、PSP表格
PSP阶段 | 预估耗时(小时) | 实际耗时(小时) |
---|---|---|
阅读《构建之法》 | 1 | 1 |
需求分析与设计 | 2 | 2.5 |
原型设计 | 3 | 4 |
编写博客随笔与文档 | 0.5 | 0.5 |
讨论与合作过程 | 1 | 1.5 |
总计 | 7.5 | 9.5 |
七、总结
陈博涵
在本次结对作业中,我收获了很多。通过阅读《构建之法》,我对软件工程的概念和流程有了更深入的理解,包括需求分析、设计、开发、测试和维护等阶段。同时了解了 NABCD 模型,能够运用该模型分析和解决实际问题,更好地满足用户需求,提高产品的竞争力。在原型设计的过程中我初步了解了开发一款软件的设计逻辑,从实用性、有效性、安全性、隐私性、封闭性等多个角度出发,思考如何设计一套满足用户需求的解决方案,培养了全面考虑问题的能力。同时也提高了实操能力。除此之外也学会了使用 AIGC 工具完成基本构思,提高了工作效率和创新能力。