软件工程第一次结对作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261
这个作业的目标 1.阅读《构建之法》
2.分析学生需求
3.创建原型模型解决需求
学号 102201130
结对成员学号 102201125
原型展示链接 https://modao.cc/proto/S60bhpnqskdj0bLV8wix5/sharing?view_mode=read_only #项目结对原型-分享

一、《构建之法》阅读感悟

第三章:软件工程师的成长

1.个人能力的衡量与发展

  • 软件工程师的工作不仅仅是写代码,还包括开发、运行和维护软件,整个过程都需要各种技能。初级工程师可以通过不断学习新技术、了解相关行业知识和掌握基本的软件设计思路来提升自己。

2.团队对个人的期望

  • 在团队中,沟通很重要。能够顺利和同事交流,从大到小的问题都能讨论清楚,是团队合作的基础。此外,团队成员需要遵循共同的工作流程,认真完成分配的任务。参与团队活动和做好准备工作,能让整个团队的氛围更好。

3.思维误区的认知

  • 工程师在工作中常常会陷入一些误区,比如总想弄明白所有细节才开始动手,或者过早关注某个小问题的优化。认识到这些误区,有助于我们更高效地解决问题,避免不必要的麻烦。

4.职业发展的多样性

  • 软件工程师的职业道路可以有很多选择。从最开始的工作到后来追求事业,每个阶段的态度都很重要。通过自我评估和参加职业认证考试,工程师可以清楚地规划自己的成长方向,找到自己真正感兴趣的领域。

第八章:需求分析

1.需求分析的重要性

  • 在软件开发过程中,需求分析是一个必不可少的环节。它帮助团队明确软件需要实现的功能和用户的期望,确保最后的产品能真正满足用户的需求。

2.软件需求的类型

  • 软件需求可以分为多种类型,比如功能性需求(软件需要提供哪些功能)、开发过程中的要求(需要遵循哪些标准)和非功能性需求(比如软件的性能和安全性)。这种分类能帮助我们全面理解用户的期望。

3.获取用户需求的方法

  • 为了了解用户的真实需求,团队可以用一些调研方法,比如组织小组讨论、进行一对一的访谈,或者使用卡片分类法等。通过这些方式,能更清楚地听到用户的声音,避免遗漏重要信息。

4.NABCD模型的应用

  • NABCD模型是需求分析中的一个实用工具,它从需求、解决方案、好处、竞争情况和推广策略五个方面进行分析。这一模型可以帮助团队制定更有效的产品策略,让产品在市场上更具竞争力。

5.功能定位与优先级的分析

  • 在明确了用户的需求后,团队需要考虑如何实现这些功能。通过识别关键功能和必要需求,合理分配资源,确保开发出用户真正需要的产品。同时,关注用户的满意度,努力超出他们的期望,会让产品更受欢迎。

二、 NABCD需求分析

1.Need 需求

  • 提升综合能力:参与发起或参与跨专业的项目(创业、学术)来提升自己的综合能力,如团队协作、沟通能力和解决复杂问题的能力
  • 拓宽知识面:通过接触不同学科的内容,获得更全面的视角
  • 积累人脉:建立与其他专业同学和教授的联系,为未来的职业发展打下基础

2.Approach 做法

  • 搭建跨专业合作平台:创建一个在线平台,供学生发布项目需求、寻找合作伙伴、分享经验和资源
  • 导师支持:引入各专业的老师作为指导者,帮助学生明确项目方向,提供专业建议
  • 搭建项目持续平台:创建一个在线平台,供学生对于已经寻找到合作伙伴的项目,进行沟通,跟进进度等等

3.Benefit 好处

  • 更易寻找到合作伙伴:通过在线平台,学生寻找到合作伙伴的可能性增加
  • 项目成功率提高:多学科团队能够充分发挥各自的专长,提高项目的创新性和可行性
  • 能力全面提升:参与跨专业项目可以锻炼学生的多方面技能,增强他们的市场竞争力
  • 更广泛的社交网络:学生可以通过合作建立起跨学科的人脉关系,利于未来职业发展

4.Competition 竞争

  • 在校园内,现有的替代方案主要包括:
  1. 学术社团和兴趣小组:一些学生通过加入学术社团或兴趣小组寻找合作机会,但这些团体通常以特定学科为中心,限制了跨专业合作的范围。
  2. 项目比赛:许多高校会定期举办各类项目比赛,虽然能促进合作,但参与者往往仍然是各自专业的同学,跨学科合作的机会相对有限。
  3. 临时组队:学生在课程或活动中临时组队进行项目,但由于缺乏长期的支持和明确的目标,这种合作形式往往效果不佳。
  • 我们的跨专业合作平台能够有效弥补这些现有方案的不足,具体优势包括:
  1. 专注于跨专业合作:我们的平台专门针对跨专业项目,提供一个集中的空间,让不同学科的学生可以轻松找到志同道合的合作伙伴。
  2. 系统化的资源支持:提供持续的技术、资金和导师支持,确保项目不仅能启动,而且能够顺利发展。这样可以减轻学生在项目实施中的负担。
  3. 灵活的时间管理:平台将提供工具帮助学生协调时间安排,设置共享日历和任务管理系统,降低因时间冲突带来的合作难度。
  4. 促进多样化沟通:通过在线讨论区和视频会议工具,鼓励不同专业的学生在项目早期进行深入交流,减少误解,增强团队凝聚力。

5.Delivery (实施)

  • 平台开发:建立一个跨专业合作平台,整合项目发布、合作搜索和资源共享等功能。
  • 活动策划:定期举办不同形式的活动,如主题讨论,吸引更多学生参与。
  • 建立反馈机制:通过问卷调查和反馈会议,收集参与学生的意见,不断改进活动形式和内容,确保平台的有效性和吸引力。

三、流程图

四、UML用例图

五、原型展示

1.登陆界面

  • 学生用户和专家用户分开登陆,学生用户能使用所有的功能,而专家用户只能使用聊天功能进行答疑解惑

2.首页

  • 首页-项目圈:展示目前热门项目
  • 首页-关注: 展示你关注的人发布的所有消息
  • 首页-按类别筛选: 展示你筛选类型的所有项目
  • 项目详情:点击项目进入详情,查看项目具体描述
  • 首页-按标签筛选: 展示用户你所点击的标签的所有项目
  • 项目详情-私聊:当遇到描述符合的项目,可以私聊发布者进行进一步沟通(时间、能力等)
  • 首页-搜索:当推荐没有合适的项目时,可以使用关键词进行搜索
  • 首页/我的-新建项目:选择项目类型,标签,添加项目描述,即可发布项目

3.发现

  • 发现-专家解惑:私信专家解决专业问题

4.消息

  • 消息-首页: 显示最近接收到的所有陌生人、好友、群聊消息
  • 消息-通知: 显示最近接收到的系统消息
  • 消息-好友: 显示好友列表,点击好友即可与其聊天
  • 消息-群组: 已经创建的项目会自动生成一个群组,方便后续成员交流,跟进项目进度

5.我的

  • 我的-总览:查看项目、好友、关注数,点击进入详情
  • 我的-菜单:查看历史浏览,发布项目是否审核通过,选择是否同意他人报名我的项目,设置
  • 我的-我的发布/收藏:查看我发布的所有项目,我收藏的所有项目
  • 我的-信息设置:设置我的信息,供他人查看

六、结对合作

1.合作初步沟通蓝图

  • 先在纸上初步画出模型的草稿,先拟定初步的设计方案

2.合作制作原型模型

  • 共同制作原型模型

七、PSP表格

任务名称 预估耗时(h) 实际耗时(h)
阅读《构建之法》 2.5 3.5
需求分析 1.5 2
学习墨刀 2 1.5
构建原型模型 6 8
调试和修改 3 5
测试 1 1.5
复盘与总结 1 1.5
总用时 17 23

八、总结

本人:

  • 这次作业让我在理论与实践的结合中收获甚多,特别是在需求分析和原型设计方面有了更深的理解和体验。
  • 阅读《构建之法》,我对软件开发过程中需求分析的重要性有了更加全面的理解。需求分析是软件开发中的关键环节,它帮助团队明确软件需要实现的功能和用户的期望,确保最终的产品能够真正满足用户需求。
  • 在需求分析阶段,我们采用了NABCD模型,深入剖析了大学生在跨学科项目合作中遇到的难点,并且多次沟通,互相当作对方的用户,提出了针对性的解决方案。这个过程让我深刻感受到,只有准确理解用户的真正需求,才能设计出符合预期的软件产品。我们的设计重点是帮助学生克服寻找跨学科合作伙伴时的障碍,提升他们高效开展项目的能力,并增强沟通与合作的机会。
  • 在原型设计阶段,我们使用了墨刀工具,将需求转化为具体的界面和功能。这个过程让我意识到,原型设计不仅仅是界面美观,还需要兼顾用户体验和功能逻辑的合理性。我们设计了登录页面、项目管理模块和聊天系统等功能,在设计后,经常会发现一些不合逻辑的地方,或者不恰当的功能,又要推倒重做。通过团队讨论和协作,我们持续调整设计方案,使得原型更贴合用户需求。
  • 通过这次作业,我不仅提升了原型设计技能,还加深了对需求分析和软件开发全流程的理解。这种理论与实践相结合的方式,不仅让我掌握了更多开发技巧,也让我在未来的项目中具备了更强的规划和执行能力。

结对者:

  • 在本次作业中,我不仅深入学习了软件开发的理论知识,更通过动手实践大大提升了自己的原型模型设计能力。
  • 首先,通过阅读《构建之法》,我认识到软件工程不仅仅是编写代码,它是一个包含需求分析、设计、实现、测试和维护的完整生命周期。在阅读过程中,我特别对工程师的职业成长和团队合作有了更深的理解。书中提到,作为软件工程师,除了提升个人技术能力外,团队沟通和合作也是不可忽视的重要因素。
  • 在需求分析阶段,我和结对成员利用NABCD模型,识别了目标用户在跨学科合作上的核心需求。通过分析,我们设计了一个跨学科合作平台,帮助学生解决在寻找合作伙伴、资源支持、项目管理等方面的困难。这个需求分析的过程不仅加深了我对用户需求的理解,也让我意识到清晰的需求定义是成功开发软件的关键。
  • 同时,良好的沟通是项目成功的基础,我们一度在一个功能的添加与否争论许久,甚至有点红温,最后发现是没有很好的理解对方的意思,导致出现分歧,良好的沟通是极其重要的。
  • 接下来的原型设计环节,最开始我们找了国内外许多与本次软件功能类似的app和网页,体验和总结类似的功能,已经发布的成功的产品是非常好的学习资源,在各个方面的设计都有它的优点,需要我们去吸收和转化。然后我们先在纸上画了大概,接着我们使用墨刀工具,设计了包括登录界面、项目管理、消息系统等功能模块。尽管原型设计过程中遇到了一些挑战,比如界面布局的反复调整和功能交互的优化,但通过不断沟通与修改,最终达到了理想的效果。这一实践经验让我更加熟悉了原型工具的使用,也理解了在项目开发初期,通过原型展示和验证的必要性。
  • 通过这次作业,我不仅提升了需求分析和原型设计的能力,还对软件开发的全流程有了更清晰的认识。团队合作,团队有效交流,持续反馈和反复改进的过程,是软件工程成功的基础。
posted @ 2024-09-27 20:03  L'Lawliet  阅读(35)  评论(0编辑  收藏  举报