软件工程第一次结对作业
学号:102202134;102202117
这个作业属于哪个课程 | 首页 - 软件工程2024 - 福州大学 - 班级博客 - 博客园 (cnblogs.com) |
---|---|
这个作业要求在哪里 | 2024秋软件工程结对作业(第一次之需求分析和原型设计) - 作业 - 软件工程2024 - 班级博客 - 博客园 (cnblogs.com) |
这个作业的目标 | 结对作业,进行需求分析和原型设计 |
学号 | 102202117 |
原型地址:https://modao.cc/proto/KB7gWZmiskfafgRqovUb5N/sharing?view_mode=device&screen=rbpUPNpezDtMEGUZl&canvasId=rcTnYFbNUPNpfpLzncjVjN
原型开发工具:墨刀
一、《构建之法》阅读摘要
1.1 第3章:软件工程师的自我提升
1.1.1 个人技能的评估与提升
- 软件工程概览:软件工程囊括了开发、运维和维护软件的一系列技术、实践、习惯和理念。这些元素构成了“软件开发流程”,旨在提高软件生命周期的效率,同时增强用户满意度、软件的可靠性和可维护性。
- 初级工程师的成长轨迹:
- 技术能力:掌握具体技术,提升实践技能。
- 领域知识:积累特定行业(如医疗、金融)的知识和经验。
- 设计理念:理解通用的软件设计和工程理念。
- 职业素养:包括自我管理、沟通、协作和完成任务的能力。
1.1.2 团队对个人的期望
- 沟通能力:有效交流技术方向和细节问题。
- 承诺兑现:按时交付任务。
- 角色适应:接受并完成团队分配的任务。
- 团队活动参与:积极参与评审、代码复审等团队活动。
- 流程遵循:即使个人能力强,也要遵守团队流程。
- 准备工作:在会议、新功能或项目开始前做好充分准备。
- 理性工作:基于事实和数据,遵循流程,理性工作。
1.1.3 思维陷阱
- 分析麻痹:在行动前过度追求细节和依赖关系,导致行动迟缓。
- 主次不分:试图同时解决所有问题,忽视了优先级。
- 过早优化:在局部问题上花费过多时间,忽视整体重要性。
- 过早泛化:在设计初期过度抽象,试图适应所有情况。
1.1.4 职业发展路径
- 职业态度:从临时工作到终身事业的不同态度。
- 发展策略:
- 考级:通过职业资格考试,如MCP、OCP等。
- 能力分级:根据Steve McConnell的12级工程师模型,评估和提升自己的软件知识水平。
- 大公司路径:在大公司中,通过自我评估,确定专精领域和知识广度。
1.2 第8章:需求分析
1.2.1 需求分析的重要性
需求分析是软件开发的基石,它的目标是明确软件需要满足的需求,以确保开发团队能够创建出符合用户期望的产品。这一环节要求与软件的多个利益相关者进行深入的沟通和协作。
1.2.2 软件需求的探索
- 需求发现流程:
- 需求获取
- 需求分析
- 需求验证
- 需求管理
- 需求分类:
- 功能性需求:产品必须实现的功能,如电商网站的浏览、购物车、订单提交。
- 过程性需求:开发流程的特定要求,如文档生成、里程碑达成、代码规范。
- 非功能性需求:关注软件的质量属性,如性能、可用性、可靠性、安全性。
- 综合需求:涉及与其他系统的交互,如电商网站与物流、支付系统的集成。
1.2.3 利益相关者的角色
- 用户
- 顾客
- 市场分析者
- 监管机构
- 系统集成商
- 软件团队
- 软件工程师
1.2.4 用户需求的获取
- 调研方法:
- 焦点小组:组织讨论,收集意见。
- 深入访谈:一对一交流,观察用户行为。
- 卡片分类:通过分类整理需求。
- 问卷调查:设计问卷收集反馈。
- 用户日志:分析用户使用记录。
- 人类学研究:深入了解用户环境。
- 眼动追踪:研究用户视觉行为。
- 原型测试:构建原型,收集反馈。
- A/B测试:比较不同方案的效果。
1.2.5 竞争性需求分析框架
- NABCD模型:
- 需求(Need):识别用户需求。
- 方法(Approach):提出解决方案。
- 好处(Benefit):分析解决方案的好处。
- 竞争(Competitors):评估市场竞争对手。
- 推广(Delivery):制定推广策略。
1.2.6 功能的定位与优先级
- 功能象限:
- 杀手功能:如OCR技术。
- 外围功能:如界面设计。
- 必要需求:如释义准确性。
- 辅助需求:如皮肤定制。
- 功能策略:
- 维持:低成本维护。
- 抵消:达到行业标准。
- 优化:行业领先。
- 差异化:独特优势。
- 不做:功能削减。
二、NABCD模型分析
2.1 需求分析 N - Need
学生们迫切需要一个专门的平台,用于发起和参与跨专业的项目。这样的平台可以帮助他们提升综合能力、扩展知识领域,并在学术和职业发展中建立宝贵的人脉网络。
2.2 关键功能与界面设计 A - Approach
2.2.1 登陆/注册页面
- 功能:提供用户注册与登录界面,支持手机号或学校学号注册/登录,并通过教育邮箱进行身份验证。
- 要素:
- 输入框(用户名、密码)
- 注册和登录按钮
- “忘记密码”链接
- 用户协议等简要说明
- 通过向教育邮箱发送验证码进行身份验证
2.2.2 用户主页(个人项目界面)
- 功能:
- 查看自己参与的项目
- 发布新的项目
- 查找合作伙伴
- 要素:
- 卡片式展示参与项目,包括项目名、编号、描述、相关领域、创建日期,点击跳转至项目详情。
- 发布项目图标,点击跳转至发布页面。
- 伙伴图标,点击跳转至伙伴推荐页面。
2.2.3 项目详情界面
- 功能:
- 查看项目信息
- 查看项目协作者
- 项目设置
- 要素:
- 查看项目详细信息,包括项目文件管理。项目成员可以上传(需发布者审核)或下载资料。
- 查看项目协作者,包括简介和贡献,可以招募协作者或请求导师指导。
- 项目修改和删除图标。
2.2.4 查找项目/项目推荐页面
- 功能:
- 按关键词查找项目
- 系统推荐热门或感兴趣的项目
- 要素:
- 搜索栏
- 以卡片形式展示推荐项目
2.2.5 通讯页面
- 功能:
- 根据不同项目分组,查找项目成员进行私聊
- 要素:
- 分组栏下拉
- 联系人组块,点击进入私聊
2.2.6 私聊界面
- 功能:
- 聊天
- 要素:
- 聊天气泡
- 输入栏、键盘
2.2.7 个人界面
- 功能:
- 查看个人信息
- 提供反馈意见
- 管理账号安全
- 要素:
- 展现个人资料,关注,粉丝,收藏
- 修改个人信息
- 提供反馈
- 账号安全,修改密码
2.2.8 意见反馈界面
- 功能:
- 输入并提交反馈意见
- 要素:
- 输入框,提交按钮
2.2.9 修改/添加个人信息页面
- 功能:
- 修改个人信息
- 要素:
- 输入框
- 时间选择浮层
- 兴趣选择浮层
2.2.10 账号安全界面
- 功能:
- 修改密码
- 绑定手机号
- 要素:
- 输入框,提交按钮
通过这样的设计,平台将满足学生的需求,提供一个全面的项目协作和社交网络构建环境。
三、UML用例图
四、流程图
五、效果展示
5.1 首页
5.2 个人资料界面
5.3 初始界面+登录界面+注册界面
5.4 聊天界面
5.5 项目推荐
5.6 项目界面
六、工作过程
6.1 需求分析:
步骤一:明确项目目标和需求
需要制作一个能实现跨专业创业合作的软件。
步骤二:梳理流程,分工协作
102202117杨邑豪 负责uml用例图以及原型模型的逻辑建立
102202134承宇豪 负责原型模型的美化
步骤三:优化
根据反馈对模型进行模型修改和优化
七、psp表格
psp | 预估耗时(h) | 实际耗时 |
---|---|---|
阅读《软件工程》---构建之法 | 4 | 3 |
分析项目目标和需求 | 1 | 1 |
梳理流程,分工协作 | 1.5 | 1.5 |
构建原型模型 | 10 | 15 |
优化修改 | 5 | 3 |
八、 总结
102202134承宇豪:
在本项目的整个周期中,我们成功地明确了学生群体的核心需求,并围绕这些需求构建了一个旨在促进跨专业合作的平台。通过细致的需求分析,我们确立了项目的目标,包括提供一个合作伙伴发现机制、时间安排工具和资源共享平台。在执行过程中,团队成员分工明确,协作流畅,尽管在原型设计工具的选择上遇到了挑战,但我们通过创新的团队协作账号策略,有效解决了实时协作的问题。
我们采用了短迭代的开发模式,确保了原型设计的持续改进和优化。内部评审、市场对比分析和用户反馈的结合,为我们提供了多角度的视野,帮助我们更好地理解用户需求并提升产品设计。最终,我们不仅按时交付了项目,而且通过不断的迭代和优化,确保了原型设计的质量满足甚至超越了初始需求。
总的来说,这个项目是一次成功的实践,它展示了团队合作的力量,以及在面对挑战时创新思维的重要性。我们期待将这一平台推向更广泛的用户群体,并继续根据用户反馈进行改进。
102202117杨邑豪:
本次项目以构建一个促进学生跨专业学习与合作的在线平台为目标,从需求调研到原型设计,再到迭代优化,整个过程体现了用户驱动的设计理念。项目团队通过深入分析学生的实际需求,确定了平台的关键功能,包括伙伴匹配、时间管理、资源共享等,确保了项目方向与用户需求的紧密对接。
在项目实施过程中,团队成员各司其职,展现了高效的协作能力。面对原型协作难题,团队迅速调整策略,通过建立团队协作账号,实现了多人在线协同工作,有效提升了工作效率。项目中的评审和反馈机制,通过内部审查、市场分析和用户建议的多维度评估,确保了设计方案的实用性和创新性。
尽管项目时间紧迫,但团队通过敏捷的迭代开发模式,快速响应用户反馈,不断调整和完善原型设计,最终提交了一个既满足功能需求又具有良好用户体验的设计方案。项目的顺利完成,不仅提升了团队成员的协作和解决问题的能力,也为学生群体提供了一个宝贵的学习和合作工具。
总结来说,该项目是一次富有成效的探索,它不仅实现了预期目标,还为团队积累了宝贵的项目管理和协作经验,为未来类似项目的开展奠定了坚实的基础。