软件工程第一次结对作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261
这个作业的目标 学会分析用户需求,利用流程图,UML用例图,原型设计来清晰呈现一套开发人员需要、客户也需要的完美的解决方案
学号 052101418
结对队友学号 082100170

《构建之法》阅读心得

第三章 软件工程师的成长

在《构建之法》的第三章中,主要探讨了软件工程师的职业成长路径。成长不仅仅是技术的积累,更重要的是思维方式和习惯的养成。软件工程师的成长要注重以下几点:

  • 学习能力的重要性:软件行业变化迅速,新的工具、语言和方法层出不穷。软件工程师需要具备终身学习的能力,时刻保持对新技术的敏感度,并能够快速掌握新的技能。这一点我深有感受,比如在云原生方面,从docker容器虚拟化技术提出到k8s来管理,编排容器。新技术出现非常迅速,这就需要具备快速学习上手新技能的能力。

  • 从实践中学习:理论知识固然重要,但真正的成长往往发生在实际项目中。通过参与不同类型的项目,工程师可以积累经验,培养解决复杂问题的能力。这一点主要是说个人需要具备独立解决问题的能力,才能在实际项目中应对各种可能出现的问题。试想一下,如果你连使用搜索引擎解决环境配置问题都捉襟见肘,那如何解决更复杂的问题?

  • 多样化的技能组合:一个优秀的软件工程师不仅需要精通编程技术,还需要掌握项目管理、沟通和团队合作等软技能。这些技能在团队协作和项目推进中同样重要。这一点否定了程序员只需要会写代码就行了的说法,实际上,懂需求,会沟通是成为优秀程序员的门槛。如果一个程序员对需求和业务一概未知,那么即使他精通编程,最后开发出的产品很大可能不是用户真正需要的。

  • 持续改进和反思:成长的另一个关键点是反思能力。工程师应定期回顾自己的项目经历,思考哪些方面做得好,哪些方面有待改进。通过这种持续的自我优化,才能在职业生涯中不断进步。

这一章给我的启示是,软件工程师的个人成长不仅仅依赖技术,还需要通过实践和持续的学习来提升自己的综合素质。成长是一个长期过程,要求在不断解决问题中积累经验,并通过自我反思不断完善。

第八章 需求分析

第八章探讨了软件开发中至关重要的环节——需求分析。需求分析是确保项目成功的基础,如果需求不明确或错误,后续开发的工作将失去方向,甚至导致整个项目失败。《构建之法》中的秋千图很直观的证明了需求分析的重要性。

  • 与用户的有效沟通:需求分析的首要步骤是与用户进行充分的沟通,理解用户真正的需求。很多项目的失败并不是技术问题,而是开发团队没有准确理解用户的期望。因此,需求分析不仅要关注用户说了什么,更要关注用户没有明确表达的潜在需求。

  • 需求的可行性与优先级:在分析需求时,不仅要考虑其合理性,还要评估需求的可行性。资源、时间和技术限制都需要考虑。此外,还需对需求进行优先级排序,以确保开发团队将精力集中在最重要的部分。

  • 需求变更的管理:需求往往会随着时间推移或用户想法的变化而发生变动。《构建之法》中建议通过有效的需求管理流程来应对这些变化,避免开发过程中的混乱。需求变更的管理是保持项目灵活性与稳定性的关键。

  • 文档的重要性:明确的需求文档是开发过程中不可或缺的工具,它不仅是开发团队的参考指南,也是后期验收和维护的重要依据。详细且清晰的需求文档能确保所有利益相关方对项目的理解一致。

通过阅读需求分析这一章的内容,我更加意识到需求分析对软件开发成功的关键作用。优秀的需求分析可以避免后期的返工和沟通成本,为整个项目的顺利实施奠定了坚实基础。

需求分析

用户困扰

在大学里,一些有想法的学生希望通过发起或参与跨专业的项目(创业、学术)来提升自己的综合能力,拓宽知识面和积累人脉。然而,在校园里要实现跨专业合作往往取决于自己积累的人脉,或者去请不同专业的老师帮忙介绍,这就导致合作的机会非常有限。

例如,对于一些需要多学科支持的项目(需要设计、编程和市场营销能力的创业项目),在偌大的校园中,学生们往往找不到志同道合的合作伙伴。

另外,不同专业之间的学生由于学校课程安排以及个人想法,可能在合作时间安排上、项目目标和沟通方式上可能存在差异,这进一步加大了合作的难度。同时,缺乏平台或资源来支持跨专业项目的持续发展。

FZU CollabHub的NABCD模型分析

N (Need) - 需求

FZU CollabHub 的目标用户是福州大学的学生,特别是那些有兴趣发起或参与跨学科项目的学生群体。在现有的校园环境中,学生们在寻找不同专业的合作伙伴时常常依赖个人关系或者教师介绍,而这限制了项目的跨学科合作机会。此外,不同专业的学生由于课程安排、沟通方式、目标差异等,合作难度大。因此,用户的主要需求包括:

  • 扩大跨学科人脉网络,找到志同道合的合作伙伴。
  • 便捷地发起或参与跨学科项目,无需依赖老师介绍或私人关系。
  • 提供协作工具,帮助项目组成员有效沟通和管理项目进展。
  • 整合资源与机会,帮助学生利用校园内外的项目和资源来实现创新想法。
    FZU CollabHub 针对这些需求,提供一个统一的平台,方便学生跨学科协作,从而提升他们的综合能力,拓宽知识面,积累人脉。

A (Approach) - 做法

FZU CollabHub 提出的解决方案是一个专门面向福州大学的跨学科项目协作平台,通过信息化、智能化的方式帮助学生更容易找到合适的合作伙伴并顺利展开项目合作。具体做法包括:

  • 用户注册与认证:基于福州大学的学生身份验证系统,确保平台的用户为校内学生,保证平台的封闭性和安全性。
  • 智能匹配系统:根据用户的项目需求、专业背景、兴趣和技能标签,系统会自动推荐匹配的合作伙伴,提升找到合适团队成员的效率。
  • 项目管理工具:提供任务分配、进度跟踪、文件共享等功能,帮助学生有效管理跨学科项目的合作进展。
  • 社群与资源库:设立校内项目社区和资源库,学生可以浏览和加入感兴趣的项目,同时还能获取项目所需的学习资料和课程推荐。
  • 时间管理和提醒:帮助团队成员解决不同专业学生课程时间冲突的问题,系统会智能安排合适的合作时间段并提供提醒。

B (Benefit) - 好处

FZU CollabHub 的主要好处在于为学生提供了跨学科协作的便捷途径,提升合作效率和成功率,具体好处包括:

  • 拓宽学生人脉:学生可以接触到不同专业的合作伙伴,促进跨学科交流与合作,增强项目的多样性和创新性。
  • 提高项目成功率:通过系统智能匹配,减少寻找合作伙伴的时间与精力,提高找到合适成员的可能性,从而提高项目的完成度和质量。
  • 优化时间管理:帮助学生在不同的课程安排中找到合适的合作时间,减少时间冲突带来的困扰。
  • 提供丰富资源:通过平台的资源库和社区,学生能够获取项目所需的学习资料、工具和校内外资源,提升项目的实际运作能力。
  • 安全与隐私保护:由于平台限定了福州大学的学生身份验证机制,保障了合作的安全性和隐私性。

C (Competitors) - 竞争

FZU CollabHub 的竞争者可能来自以下几个方面:

  • 现有的社交媒体平台(如 QQ 群、微信群):学生可能已经习惯于在这些平台上进行沟通和项目协作。然而,FZU CollabHub 专注于跨学科项目的合作,有着更专业的匹配系统和项目管理工具,优势明显。
  • 其他校园协作平台:部分学校可能已经有内部的协作工具,但这些工具可能不专注于跨学科合作,并且缺乏智能匹配和项目管理功能。
  • 在线学习和协作平台(如 GitHub、Slack 等):虽然这些工具适用于某些特定项目,但它们大多不局限于校园,无法提供校园内特定资源、课程以及基于身份的项目匹配。
    FZU CollabHub 的核心竞争力在于其对福州大学的特定学生群体提供针对性的跨学科协作平台,同时整合了智能匹配、项目管理、时间优化和资源共享功能,提供了全方位的支持。

D (Delivery) - 推广

为了有效推广 FZU CollabHub,我们可以采取以下方式:

  • 校园内部宣传:通过福州大学的官方渠道如微信公众号、官方网站、校内论坛等平台,进行广泛宣传,吸引学生注册使用。
  • 学生组织合作:与校内的学生社团、学术组织、创业团队等合作推广,直接接触到有需求的学生群体。
  • 教师和院系支持:与跨学科合作相关的课程或活动合作,让教师鼓励学生使用平台完成课题或项目合作。
  • 校园活动与比赛:举办跨学科的校园创新创业比赛或项目展示会,通过平台进行报名和合作寻找,从而增加曝光度和参与度。

流程图

依据上述需求,我们通过流程图表示app的模块设计和页面逻辑。

原型设计

原型链接

<https://modao.cc/proto/KS5LIXgWskh08skazlUFZO/sharing?view_mode=read_only #未命名原型-恢复数据-分享>

页面汇总

PSP表格

活动 预估耗时 (小时) 实际耗时 (小时) 备注
阅读《构建之法》 2 1.5 了解个人所需能力和如何进行需求分析
需求分析 2 2.5 根据用户困扰分析用户需求,达成app初步构思
绘制流程图 1 1.5 绘制app模块和页面逻辑流程图
绘制UML用例图 1 1 体现不同类型用户与系统的交互
原型设计 6 8 设计原型体现app页面逻辑
演示测试 1 1.5 进行原型实际演示,测试页面跳转逻辑
修改原型 2 2 根据测试结果修改原型
编写博客 2 2.5 依据需求分析和原型设计编写博客记录
总结 1 0.5 总结需求分析和原型设计过程,记录经验

作业总结

通过此次作业,我有了以下收获

  • 对需求分析有了更加深入的理解,尤其是通过 NABCD 模型的应用,帮助我从多个角度(需求、方案、竞争、推广等)全面剖析了一个项目的可行性与发展潜力。它不仅是项目开发的基础,还能帮助我们预判未来可能面临的挑战,并在设计阶段及时作出调整和优化。
  • 本次作业也是我第一次通过墨刀(MockingBot)进行原型设计,通过这次实践,我切实提升了自己在用户体验设计(UX)和功能模块划分方面的能力。在原型设计过程中,我从用户的角度出发,思考如何让平台更简洁易用,同时满足学生跨学科合作的各种需求。
  • 在设计和开发过程中,我意识到用户反馈和团队协作的重要性。虽然这是一个模拟项目,但我在设计原型时不断从潜在用户的角度出发,假设他们的使用场景并针对不同的使用需求进行调整。
posted @ 2024-09-27 18:34  Ricky-chen1  阅读(6)  评论(0编辑  收藏  举报