软件工程 https://edu.cnblogs.com/campus/fzu/SE2024
作业要求 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261
作业目标 分析学生们的需求,设计一个app原型解决他们的问题
学号 102202104
合作伙伴 王梓铭

一、引言
在当今的大学校园中,跨专业合作已成为学生们提升自我、拓宽视野的重要途径。然而,现实中缺乏一个有效的平台来促进这种合作,导致学生们难以找到志同道合的伙伴。针对这一问题,我们设计了一款专注于校园跨专业合作的应用,以促进学生之间的交流与合作。
二、阅读《构建之法》第3章和第8章的收获
通过阅读《构建之法》第3章和第8章,我们深刻理解了软件工程的基本原则,以及如何通过NABCD模型来设计和评估一个软件项目。

2.1 第3章:软件工程的本质
第3章强调了软件工程不仅是编写代码,更是一个系统化、规范化的过程,包括需求分析、设计、编码、测试、维护等多个环节。我们了解到:

  • 以用户为中心:一切设计和开发都应围绕用户的需求展开,深入理解用户痛点,提供切实可行的解决方案。
  • 迭代开发模型:软件开发是一个不断迭代、持续改进的过程,通过小步快跑的方式,逐步完善产品。
  • 团队协作:软件工程是团队的艺术,良好的沟通和协作能够提高效率,减少错误。
    2.2 第8章:NABCD模型的应用
    第8章介绍了NABCD模型,这是一个用于产品和项目策划的有效工具,包含以下五个要素:
  • Need(需求):明确用户的核心需求,找到市场痛点。
  • Approach(方法):制定满足需求的解决方案和技术路径。
  • Benefit(收益):阐述项目能为用户和社会带来的价值和利益。
  • Competitors(竞争):分析市场竞争情况,突出自身优势。
  • Delivery(交付):制定项目的实施计划,确保按时、高质量地交付。
    通过对NABCD模型的学习,我们认识到在项目规划和设计中,必须全面考虑这五个方面,以确保项目的成功。

三、方案设计

  1. 需求分析(Need)
    1.1 用户群体
  • 主要用户:有跨专业合作需求的在校大学生。
  • 次要用户:指导学生项目的教师、校内创业孵化机构。
    1.2 用户需求
  • 寻找合作伙伴:方便快捷地找到志同道合的跨专业学生。
  • 项目展示:发布和展示自己的项目,吸引他人参与。
  • 沟通交流:提供高效的沟通工具,促进团队协作。
  • 资源共享:共享学习资料、项目经验和资源。
  1. 解决方案(Approach)
    2.1 系统架构
  • 客户端应用:支持iOS、Android和Web平台的应用程序。
  • 服务器端:采用高性能的云服务器,保障数据安全和访问速度。
  • 数据库:使用关系型数据库存储用户信息和项目数据。
    2.2 功能模块
    1.用户注册与认证
  • 使用学校邮箱或学号进行注册,确保用户身份真实性。
  • 采用多因素认证(如短信验证码)提高安全性。
    2.个人主页
  • 展示用户的基本信息
    3.项目发布与浏览
  • 用户可以发布新的项目需求,填写项目简介、所需技能、合作方式等。
  • 浏览其他用户发布的项目,按照专业、关键词进行筛选。
    4.智能匹配
  • 系统根据用户的专业、技能和兴趣,智能推荐潜在的合作伙伴和项目。
    5.即时通讯与讨论区
  • 提供一对一聊天和群聊功能,支持文字、语音和文件传输。
  • 设置项目讨论区,方便团队成员共享信息和讨论问题。
    6.动态广场
  • 用户可以发布动态、分享心得,增加互动性和用户活跃度。
  • 支持点赞、评论和分享功能,促进社区氛围。
  1. 收益分析(Benefit)
  • 对学生的益处
    o提供一个高效的平台,帮助学生找到合适的合作伙伴。
    o促进跨专业交流,拓宽知识面和人脉网络。
    o提升实践能力,为未来就业和创业打下基础。
  • 对学校的益处
    o促进校内创新创业氛围。
    o提升学校的知名度和影响力。
  1. 竞争分析(Competitors)
  • 现有平台
    o一些社交媒体和论坛,如QQ、微信、贴吧等,但缺乏专业性和针对性。
    o校内的公告板和群组,信息分散,覆盖面有限。
  • 我们的优势
    o专注于校园跨专业合作,定位明确。
    o提供智能匹配和丰富的功能模块,提升用户体验。
    o强调安全性和隐私保护,增强用户信任。
  1. 交付计划(Delivery)
  • 开发周期
    o第一阶段(1个月):完成需求分析和原型设计。
    o第二阶段(2个月):进行系统开发和测试。
    o第三阶段(1个月):上线试运营,收集用户反馈,进行优化。
  • 后期维护
    o定期更新功能,修复漏洞。
    o提供用户支持和培训。
  1. 流程图展示

四、原型设计

  1. 原型开发工具
  • 使用工具:墨刀(Modao)
  • 原型展示链接:点击查看原型
  1. 原型界面展示
    2.1 登录/注册界面
  • 支持学校邮箱、学号注册。
  • 提供密码找回和账号安全设置。

2.2 主页

  • 显示推荐的内容和用户。
  • 动态广场展示最新的动态和活动信息。

2.3 项目列表界面

  • 支持关键词搜索。
  • 展示项目的详细信息,包括简介、需求、成员等。
  • 提供申请加入功能。

2.5 聊天界面

  • 支持文字、语音、图片和文件传输。

2.6 个人主页

  • 展示用户的个人信息、参与的项目等。
  • 支持编辑个人设置。

  1. 使用流程
    3.1 用户注册
    1.注册账号:输入学校邮箱或学号,设置密码。
    2.邮箱验证:系统发送验证邮件,点击链接完成验证。
    3.2 项目发布与管理
    1.发布项目:填写项目名称、简介、需求、合作方式等。
    2.审核发布:管理员审核项目内容,确保合法合规。
    3.管理项目:项目发起人可以更新项目、邀请成员等。
    3.3 寻找项目与合作
    1.浏览项目:按照兴趣和技能筛选项目。
    2.申请加入:发送申请信息,等待项目发起人审核。
    3.沟通交流:通过聊天功能与项目发起人或成员沟通。
    3.4 互动交流
  • 即时聊天:支持实时沟通,提高协作效率。
  • 讨论区:共享信息、讨论问题,促进团队协作。
  1. 安全性与隐私性
  • 数据加密
    o采用HTTPS协议,确保数据传输安全。
    o重要信息(如密码)进行加密存储。
  • 权限控制
    o不同角色(普通用户、项目发起人、管理员)具有不同的操作权限。
    o用户可自行设置信息的公开范围。
  • 隐私保护
    o严格遵守相关法律法规,保护用户个人信息。
    o提供隐私政策和用户协议,明确权责。
    五、系统维护与运营
  1. 技术维护
  • 定期备份:防止数据丢失。
  • 漏洞修复:及时修复安全漏洞,更新系统。
  1. 用户支持
  • 客服支持:提供在线客服和FAQ,解答用户疑问。
  • 用户培训:发布使用指南和操作手册。
  1. 运营策略
  • 用户反馈:收集用户意见,持续改进产品。
  • 活动推广:举办线上线下活动,提升用户黏性。
    六、PSP表格
开发阶段 预估耗时(小时) 实际耗时(小时)
计划 1 1
需求分析 3 3.5
方案设计 4 5
原型设计 5 6
文档编写 3 4
总结与提交 1 1.5
总计 17 21

七、结对过程记录

  1. 结对方式
  • 线上讨论:利用视频会议工具进行需求分析和方案讨论。
  • 线下协作:在图书馆和宿舍共同进行原型设计和文档编写。
  1. 分工合作
  • 王梓铭(102202105)
    o负责原型设计、方案设计、文档编写。
    o参与原型设计和结对讨论。
  • 王恒杰(102202104)
    o负责需求分析、界面美化、流程图绘制。
    o协助文档编写和结对讨论。
  1. 结对照片

八、总结
通过这次结对作业,我深刻体会到了软件工程中从需求分析到原型设计的完整过程,以及团队协作的重要性。
首先,阅读《构建之法》第3章和第8章让我对软件工程有了更系统的认识。特别是NABCD模型的学习,使我明白了在项目开始时,明确需求(Need)和制定解决方案(Approach)的关键性。同时,考虑项目的收益(Benefit)、竞争优势(Competitors)和交付计划(Delivery),能够让我们的方案更加全面和具有可行性。
在实际的项目设计中,我们以用户需求为中心,深入分析了在校大学生在跨专业合作中遇到的困难和痛点。我们发现,缺乏一个专门的平台来促进不同专业学生之间的交流与合作,是一个普遍存在的问题。基于此,我们设计了一个集项目发布、智能匹配、即时通讯和社区互动于一体的应用。
在结对合作过程中,我主要负责原型设计、方案设计、文档编写。与同学的合作让我受益匪浅。我们在讨论中碰撞出新的思路,互相补充,弥补了个人知识和能力的不足。例如,在功能设计上,我最初忽略了隐私和安全性的细节,是同学提醒了我这方面的重要性。
此外,原型设计的过程也让我认识到用户体验的重要性。虽然我不是主要负责原型设计,但在与同学的交流中,我学到了如何通过直观的界面和友好的交互来提升用户的满意度。
这次作业也让我意识到时间管理和任务分配的重要性。我们在制定计划时,预估了各个阶段所需的时间,但在实际执行中,还是出现了耗时超过预期的情况。这提醒我在未来的项目中,需要更加细致地进行时间规划,并留出一定的缓冲时间。
总的来说,这次结对作业不仅提高了我的专业技能,也增强了我的团队协作和沟通能力。我深刻体会到,软件工程是一个需要多方协作、持续学习和不断优化的过程。期待在接下来的实践中,将我们的方案进一步完善,并将其付诸实施。
九、参考资料

  • 《构建之法:现代软件工程》 第3章、第8章
  • 墨刀原型设计工具:https://modao.cc
  • 校园跨专业合作现状调查报告
 posted on 2024-09-27 21:41  whj112  阅读(31)  评论(0编辑  收藏  举报