软件工程第一次结对作业
软件工程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261 |
作业目标 | 分析学生们的需求,设计一个app原型解决他们的问题 |
学号 | 102202105 |
合作伙伴 | 王恒杰 |
一、引言
在当今的大学校园中,跨专业合作已成为学生们提升自我、拓宽视野的重要途径。然而,现实中缺乏一个有效的平台来促进这种合作,导致学生们难以找到志同道合的伙伴。针对这一问题,我们设计了一款专注于校园跨专业合作的应用,以促进学生之间的交流与合作。
二、阅读《构建之法》第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 用户需求
- 寻找合作伙伴:方便快捷地找到志同道合的跨专业学生。
- 项目展示:发布和展示自己的项目,吸引他人参与。
- 沟通交流:提供高效的沟通工具,促进团队协作。
- 资源共享:共享学习资料、项目经验和资源。
2. 解决方案(Approach)
2.1 系统架构
- 客户端应用:支持iOS、Android和Web平台的应用程序。
- 服务器端:采用高性能的云服务器,保障数据安全和访问速度。
- 数据库:使用关系型数据库存储用户信息和项目数据。
2.2 功能模块
- 用户注册与认证
- 使用学校邮箱或学号进行注册,确保用户身份真实性。
- 采用多因素认证(如短信验证码)提高安全性。
- 个人主页
- 展示用户的基本信息
- 项目发布与浏览
- 用户可以发布新的项目需求,填写项目简介、所需技能、合作方式等。
- 浏览其他用户发布的项目,按照专业、关键词进行筛选。
- 智能匹配
- 系统根据用户的专业、技能和兴趣,智能推荐潜在的合作伙伴和项目。
- 即时通讯与讨论区
- 提供一对一聊天和群聊功能,支持文字、语音和文件传输。
- 设置项目讨论区,方便团队成员共享信息和讨论问题。
- 动态广场
- 用户可以发布动态、分享心得,增加互动性和用户活跃度。
- 支持点赞、评论和分享功能,促进社区氛围。
3. 收益分析(Benefit)
- 对学生的益处
- 提供一个高效的平台,帮助学生找到合适的合作伙伴。
- 促进跨专业交流,拓宽知识面和人脉网络。
- 提升实践能力,为未来就业和创业打下基础。
- 对学校的益处
- 促进校内创新创业氛围。
- 提升学校的知名度和影响力。
4. 竞争分析(Competitors)
- 现有平台
- 一些社交媒体和论坛,如QQ、微信、贴吧等,但缺乏专业性和针对性。
- 校内的公告板和群组,信息分散,覆盖面有限。
- 我们的优势
- 专注于校园跨专业合作,定位明确。
- 提供智能匹配和丰富的功能模块,提升用户体验。
- 强调安全性和隐私保护,增强用户信任。
5. 交付计划(Delivery)
- 开发周期
- 第一阶段(1个月):完成需求分析和原型设计。
- 第二阶段(2个月):进行系统开发和测试。
- 第三阶段(1个月):上线试运营,收集用户反馈,进行优化。
- 后期维护
- 定期更新功能,修复漏洞。
- 提供用户支持和培训。
6. 流程图展示
四、原型设计
1. 原型开发工具
- 使用工具:墨刀(Modao)
- 原型展示链接:点击查看原型
2. 原型界面展示
2.1 登录/注册界面
- 支持学校邮箱、学号注册。
- 提供密码找回和账号安全设置。
2.2 主页
- 显示推荐的内容和用户。
- 动态广场展示最新的动态和活动信息。
2.3 项目列表界面
- 支持关键词搜索。
- 展示项目的详细信息,包括简介、需求、成员等。
- 提供申请加入功能。
2.5 聊天界面
- 支持文字、语音、图片和文件传输。
2.6 个人主页
- 展示用户的个人信息、参与的项目等。
- 支持编辑个人设置。
3. 使用流程
3.1 用户注册
- 注册账号:输入学校邮箱或学号,设置密码。
- 邮箱验证:系统发送验证邮件,点击链接完成验证。
3.2 项目发布与管理
- 发布项目:填写项目名称、简介、需求、合作方式等。
- 审核发布:管理员审核项目内容,确保合法合规。
- 管理项目:项目发起人可以更新项目、邀请成员等。
3.3 寻找项目与合作
- 浏览项目:按照兴趣和技能筛选项目。
- 申请加入:发送申请信息,等待项目发起人审核。
- 沟通交流:通过聊天功能与项目发起人或成员沟通。
3.4 互动交流
- 即时聊天:支持实时沟通,提高协作效率。
- 讨论区:共享信息、讨论问题,促进团队协作。
4. 安全性与隐私性
- 数据加密
- 采用HTTPS协议,确保数据传输安全。
- 重要信息(如密码)进行加密存储。
- 权限控制
- 不同角色(普通用户、项目发起人、管理员)具有不同的操作权限。
- 用户可自行设置信息的公开范围。
- 隐私保护
- 严格遵守相关法律法规,保护用户个人信息。
- 提供隐私政策和用户协议,明确权责。
五、系统维护与运营
1. 技术维护
- 定期备份:防止数据丢失。
- 漏洞修复:及时修复安全漏洞,更新系统。
2. 用户支持
- 客服支持:提供在线客服和FAQ,解答用户疑问。
- 用户培训:发布使用指南和操作手册。
3. 运营策略
- 用户反馈:收集用户意见,持续改进产品。
- 活动推广:举办线上线下活动,提升用户黏性。
六、PSP表格
开发阶段 | 预估耗时(小时) | 实际耗时(小时) |
---|---|---|
计划 | 1 | 1 |
需求分析 | 3 | 3.5 |
方案设计 | 4 | 5 |
原型设计 | 5 | 6 |
文档编写 | 3 | 4 |
总结与提交 | 1 | 1.5 |
总计 | 17 | 21 |
七、结对过程记录
1. 结对方式
- 线上讨论:利用视频会议工具进行需求分析和方案讨论。
- 线下协作:在图书馆和宿舍共同进行原型设计和文档编写。
2. 分工合作
- 王梓铭(102202105)
- 负责原型设计、方案设计、文档编写。
- 参与原型设计和结对讨论。
- 王恒杰(102202104)
- 负责需求分析、界面美化、流程图绘制。
- 协助文档编写和结对讨论。
3. 结对照片
八、总结
通过这次结对作业,我深刻体会到了软件工程中从需求分析到原型设计的完整过程,以及团队协作的重要性。
首先,阅读《构建之法》第3章和第8章让我对软件工程有了更系统的认识。特别是NABCD模型的学习,使我明白了在项目开始时,明确需求(Need)和制定解决方案(Approach)的关键性。同时,考虑项目的收益(Benefit)、竞争优势(Competitors)和交付计划(Delivery),能够让我们的方案更加全面和具有可行性。
在实际的项目设计中,我们以用户需求为中心,深入分析了在校大学生在跨专业合作中遇到的困难和痛点。我们发现,缺乏一个专门的平台来促进不同专业学生之间的交流与合作,是一个普遍存在的问题。基于此,我们设计了一个集项目发布、智能匹配、即时通讯和社区互动于一体的应用。
在结对合作过程中,我主要负责原型设计、方案设计、文档编写。与同学的合作让我受益匪浅。我们在讨论中碰撞出新的思路,互相补充,弥补了个人知识和能力的不足。例如,在功能设计上,我最初忽略了隐私和安全性的细节,是同学提醒了我这方面的重要性。
此外,原型设计的过程也让我认识到用户体验的重要性。虽然我不是主要负责原型设计,但在与同学的交流中,我学到了如何通过直观的界面和友好的交互来提升用户的满意度。
这次作业也让我意识到时间管理和任务分配的重要性。我们在制定计划时,预估了各个阶段所需的时间,但在实际执行中,还是出现了耗时超过预期的情况。这提醒我在未来的项目中,需要更加细致地进行时间规划,并留出一定的缓冲时间。
总的来说,这次结对作业不仅提高了我的专业技能,也增强了我的团队协作和沟通能力。我深刻体会到,软件工程是一个需要多方协作、持续学习和不断优化的过程。期待在接下来的实践中,将我们的方案进一步完善,并将其付诸实施。
九、参考资料
- 《构建之法:现代软件工程》 第3章、第8章
- 墨刀原型设计工具:https://modao.cc
- 校园跨专业合作现状调查报告