软件工程第三次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261
这个作业的目标 需求分析与原型设计,初步实践软件开发合作
学号 102201234
合作伙伴 102201235曾炜坤

原型链接

https://rp.mockplus.cn/run/N60pdp900M/4jaEGMkFZy?cps=expand&rps=expand&nav=1&ha=0&la=0&fc=1&dt=iphoneX&out=0&rt=1&as=true

一、《构建之法》阅读总结

《构建之法》阅读总结

一、软件工程师的成长(第3章)

1.1.1 个人能力的衡量与发展

《构建之法》第三章指出,软件工程师的成长是一个多方面的过程。除了技术能力外,工程师还需要积累特定领域的知识,例如医疗或金融行业的背景,这对于理解业务需求至关重要。此外,工程师还应掌握通用的软件设计思想和工程理念,这些抽象的知识有助于在各种情况下做出正确的技术决策。

在职业技能方面,自我管理能力是工程师能够高效工作的基础。这包括时间管理、任务优先级排序以及自我激励等。表达和交流能力同样不可或缺,无论是编写清晰的技术文档还是与团队成员有效沟通,都是软件开发过程中必不可少的部分。团队合作能力则确保了工程师能够融入集体,共同解决问题。最终,工程师的执行力——即按质按量完成任务的能力——是衡量其实际贡献的关键指标。

1.1.2 软件工程师的思维误区

在软件开发过程中,工程师常常会面临一些常见的思维误区。例如,“分析麻痹”是指在开始动手之前试图完全理解每一个细节,这可能导致项目停滞不前。另一种常见误区是“过早优化”,即在没有确凿证据表明需要优化的情况下,过度关注代码性能或效率,反而忽略了整体项目的进度。正确的做法应该是先实现功能,然后再根据实际情况进行必要的优化。

1.1.3 软件工程师的职业发展

工程师的职业发展需要不断地学习和实践。一方面,掌握核心技术是基础,例如数据库管理、网络协议等;另一方面,拓展相关领域的知识也同样重要,这有助于在面对复杂问题时提供更广泛的视角。通过反复练习,工程师可以将日常遇到的问题转化为下意识的操作,从而腾出更多时间和精力来解决更高层次的问题。只有在积累了足够的工程实践经验之后,才能更好地从事科研工作。

二、软件需求分析(第8章)

1.2.1 软件需求

软件需求分析是开发过程中的一个重要环节,它涉及到需求的获取、分析、定义、验证以及管理。需求获取通常包括与客户的交流、市场调研等步骤,目的是明确用户的真实需求。需求分析则需要将这些需求转化为可操作的技术规格说明。需求验证是为了确保所定义的需求是正确且完整的。在整个软件产品的生命周期中,需求管理则确保了需求的一致性和变更控制。

1.2.2 软件产品的利益相关者

除了直接的用户之外,软件产品还有其他利益相关者,如出资人、市场分析人员、监管机构等。这些群体可能有不同的需求和期望,因此在需求分析阶段就需要考虑到所有相关方的意见,以确保最终产品能够满足多方需求。

1.2.3 获取用户需求

获取用户需求的方法有很多,比如焦点小组讨论可以收集一组用户的共同意见;深入访谈可以深入了解单个用户的具体需求;卡片分类可以帮助组织信息结构;用户调查问卷则适用于大规模的数据收集。此外,还可以通过用户日志研究、人类学调查、眼动追踪研究、快速原型调研以及A/B测试等多种方式来获得用户反馈。

1.2.4 竞争性需求分析的框架

NABCD模型提供了一个分析产品需求及其竞争力的框架。N代表需求(Need),即明确用户的基本需求是什么;A代表方法(Approach),即如何实现这些需求;B代表好处(Benefit),即产品带来的价值;C代表竞争对手(Competitors),即分析市场竞争状况;D代表交付(Delivery),即如何将产品交付给用户。

1.2.5 功能分析的四象限方法

功能分析的四象限方法可以帮助团队决定哪些功能需要维持、哪些需要抵消、哪些需要优化以及哪些可以差异化。例如,“维持”意味着以最低成本维持现有功能;“抵消”是指快速达到与竞争对手相当的水平;“优化”是努力做到行业内最佳;“差异化”则是创造独特的功能或优势;而“不做”则意味着剔除不必要的功能,以减少复杂性。

三、NABCD模型分析

以一款面向大学生的合作平台APP为例,NABCD模型的应用如下:

  • N(需求):大学生希望在一个安全且隐私保护良好的环境中,促进跨学科的合作。此外,平台需要能够保护用户的个人信息不被滥用。
  • A(方法):使用Figma进行原型设计,以可视化方式呈现用户界面;简化UI设计以方便用户注册使用,并设置相关组件和页面以提供详细功能。通过敏捷开发方法快速迭代,及时响应用户反馈。
  • B(好处):该平台将面向学生和教师,提供项目推荐和个人聊天功能,以促进项目的创建和合作。这有助于学生建立专业网络,增加实践经验。
  • C(竞争对手):市场上存在类似的APP,但本项目致力于提供更加符合校园文化和需求的服务。通过提供专业的认证机制和项目管理工具,吸引更多的目标用户。
  • D(推广):通过校内社交网络、B站、微博等渠道进行宣传,并鼓励用户在个人社交媒体上分享。此外,还可以与学校合作,利用官方资源进行推广。

四、总结

综上所述,《构建之法》不仅教会了我们在技术层面如何成长为一名优秀的软件工程师,还强调了个人职业技能的重要性。书中提出的NABCD模型为我们提供了一个系统性的框架,用以指导产品设计和服务创新。通过持续改进我们的工作方法和技术实践,我们可以有效地应对各种项目挑战,最终实现高质量的产品交付。同时,我们也意识到,软件开发不仅仅是技术活,更是艺术和科学的结合,需要工程师们不断地探索和创新。

二、作业的NABCD模型

1、需求分析 (N - Need)

学生们需要一个平台来发起、寻找、和参与跨学科项目,提升合作机会,突破人脉和资源的局限性。

2、关键功能与界面设计 (A - Approach)

风格:命名为协力通,背景和logo采用淡粉色风格,更加惹人喜欢,让同学们在交流的过程中更心平气和。

1.登陆/注册界面

  • 功能:
    用户注册与登录界面,用户可以选择使用学号和邮箱进行注册或者登陆。
  • 界面要素:
    输入框(学号、用户名、密码、邮箱)
    注册和登录按钮
    用户协议等简要说明

2. 主页

  • 功能:
    根据用户的专业和兴趣,个性化推荐可能感兴趣的项目或合作伙伴。
    主要展示正在进行的热门跨学科项目,按领域或合作需求进行分类(如:设计、编程、市场营销等)。
  • 界面要素:
    导航栏:主页、项目集、聊天、我
    顶部搜索框

3. 项目集

  • 功能:
    用户可以点击查看自己发起或加入的项目
    用户可以搜索或创建自己的想要的项目
  • 界面要素:
    项目描述区
    创建按钮
    搜索按钮

4.聊天

  • 功能:
    展示所有聊天对话框
    如同微信的聊天功能,让同学们进一步相互了解,沟通项目的具体细节
  • 界面要素:
    列表显示聊天对话框
    点击头像展示他人信息

5.我

  • 功能:
    展示个人资料,包括头像、昵称、个人信息、我的喜欢、我的申请,最下面展示自我介绍
  • 界面要素:
    头像(旁边是名字),下面为个人信息、我的喜欢、我的申请的按钮,最下面展示自我介绍

6.个人信息

  • 功能:
    编辑个人资料,包括头像、昵称、专业、学号、密码、邮箱等个人信息
    编辑供同学们查看的自我介绍
  • 界面要素:
    左上角是保存并返回按钮
    上半部分为个人信息编辑
    下半部分为自我介绍

7.我的喜欢

  • 功能:
    收藏我喜欢的项目
  • 界面要素:
    左上角是保存并返回按钮
    其他部分展示项目列

8.我的申请

  • 功能:
    查看我申请的项目和确认是否好友
  • 界面要素:
    上半部分为好友申请
    下半部分为项目申请

0.搜索界面

  • 功能:
    展示搜索结果(某个项目的信息、同学信息)

10. 他人信息

  • 功能:
    展示他人的头像昵称和自我介绍
    添加他人为好友
    进入与他人的聊天界面
  • 界面要素:
    上面头像昵称
    中间添加他人为好友的按钮和进入与他人的聊天界面的按钮
    下面展示对方自我介绍

11.创建项目

  • 功能:
    用户可以在该页面创建项目
  • 界面要素:
    项目名称、成员、信息、公开库

3.解决方案的优势 (B - Benefit)

  1. 促进跨学科知识交流与合作
    该平台不仅仅是项目对接工具,更是一个知识共享的社区,学生可以通过平台讨论各自领域的知识,帮助跨学科项目的成员更好地理解彼此的工作思路与方法,提高协作效率。

  2. 提升个人能力与展示机会
    学生参与不同学科的项目可以积累宝贵的实战经验。平台提供的功能可以记录学生的技能和项目履历,增强他们在未来求职中的竞争力。

  3. 高效的沟通与协作工具
    平台配备多样化的协作工具,如多语言支持、任务清单生成等,甚至可以通过AI优化团队沟通方式,减少跨学科交流中的障碍,提升团队协作效果。

平台的这些优势不仅能够提高跨学科合作的成功率,还能为学生的职业发展打下坚实基础,使其成为促进跨学科协作的有效工具。

4.竞争分析 (C - Competition)

  1. 现有替代方案
    目前大学生通常通过以下方式寻找跨学科合作机会:

    • 人脉关系:依靠个人社交网络寻找合作伙伴。
    • 导师引荐:通过导师推荐寻找合适的跨学科学生。
    • 社交平台:使用校内QQ群、论坛或表白墙等平台发布需求。
    • 校园活动:参加跨学科的社团或创新创业类活动,获取合作机会。

    局限性

    • 合作机会有限:依赖社交网络和导师推荐,覆盖面小。
    • 信息不透明:机会的发布和获取渠道分散,信息对称性差。
    • 沟通成本高:跨专业协作中的信息传递不顺畅,容易产生误解。
  2. 竞争优势
    相较于现有方式,平台的竞争优势在于:

    • 高效精准匹配:通过数据算法,快速精确地匹配合作伙伴,大大提升了寻找效率。
    • 综合资源支持:提供项目管理、时间协调等功能,降低沟通和协作的成本。
    • 导师资源整合:平台不仅支持学生间合作,还能引入导师资源,提供更广泛的指导和支持。

与传统的合作方式相比,平台在跨学科协作的组织管理和合作伙伴匹配方面有着明显的优势,能够有效提升学生间合作的成功率,并具有广阔的市场前景。

5.推广策略 (D - Delivery)

  1. 校园宣传与线上推广
    通过学校的互助群、校内的表白墙等渠道发布宣传信息,直接接触有跨学科合作需求的学生。利用学生社交媒体进行病毒式传播,迅速提高平台的知名度和用户量。

  2. 成立运营团队与工作室
    建立平台的运营团队,招募志愿者或学生作为工作室成员,负责平台的日常维护与技术支持,同时通过校园活动提高平台的曝光率,吸引更多学生参与。

  3. 开放源代码,扩大生态圈
    在平台初步运营成功后,可以考虑将部分源代码开放给开发者社区,鼓励不同学校或组织根据自身需求定制和扩展平台功能。通过这种方式,吸引更多高校加入,形成更大的校园生态圈,进一步扩大平台的影响力。

  4. 校园大使计划
    在各大高校中招募平台校园大使,负责推广和组织跨学科项目。校园大使可以定期举办跨学科合作的讲座和沙龙,帮助学生更好地了解平台的功能和优势,并鼓励更多学生注册使用。

  5. 与校内导师和部门合作
    与学校的相关部门(如创新创业中心、学生事务部)合作,通过他们的渠道推广平台。同时,与导师们合作,鼓励他们将学生推荐到平台进行跨学科合作,进一步增加平台的使用频率和可信度。

  6. 策划线上与线下活动
    定期组织跨学科创新挑战赛或黑客松等线上与线下活动,吸引学生参与并利用平台完成项目。通过这种方式,学生不仅能获得实际的合作体验,还能进一步熟悉平台的各项功能,促进平台的持续使用和推广。

平台通过多种推广策略,将在校园内外迅速扩展其影响力,吸引更多用户参与,并逐步建立起一个稳定的用户基础,成为跨学科合作领域的首选平台。

三、UML用例图

四、流程图

五、设计页面

设计总览

登录页面

软件主页

项目集

聊天沟通

个人介绍

六、工作过程

  1. 需求分析
    在设计小程序页面之前,首先需要对需求进行全面分析。与客户或项目负责人讨论,明确目标用户、核心功能、使用场景等。

    • 用户需求:了解用户的痛点,确定小程序解决的问题和核心功能,要注重不同专业的同学跨专业合作的便利和自由性。
    • 业务需求:明确小程序需要满足的业务目标,例如用户注册/登录、项目集的使用、首页的搜索、个人信息的编辑等。
  2. 功能规划与流程图设计
    根据需求,规划小程序的主要功能模块和用户交互流程。创建功能清单并绘制用户流程图,确保每个功能环节逻辑清晰。

    • 功能模块:划分各个功能,如首页、项目集、聊天、我的资料等。
    • 流程图:绘制用户从进入小程序到完成任务的操作流程,明确每一步的交互和跳转逻辑。
  3. 线框图设计
    根据功能规划,制作小程序的低保真线框图(Wireframe)。线框图展示了页面布局和大致的界面结构,便于快速迭代和调整设计。

    • 页面布局:确定各个页面的布局,如导航栏、主要内容区、底部菜单等。
    • 组件布局:明确每个功能模块的组件(按钮、文本框、图片等)的位置和大小。
  4. 用户体验设计
    确保设计符合用户体验的最佳实践,提升小程序的可用性和流畅度。考虑用户行为习惯,设计直观易懂的界面和便捷的交互方式。

    • 简洁清晰:避免复杂的界面设计,确保用户可以轻松找到所需功能。
    • 响应速度:优化页面设计,减少加载时间,提升用户交互的即时性。
    • 触控优化:考虑手机屏幕的触控特点,确保按钮大小适中,交互操作顺畅。

七、psp表格

PSP 预计耗时 (单位:小时) 实际耗时
阅读《构建之法》 1 1
需求分析 1 1
构建原型模型 4 6
项目准备工作 0.5 3
调试和修改 1 0.5
复盘与总结 0.5 2

八、总结

在本次作业中,我们围绕信息化的客户困扰,结合《构建之法》第3章和第8章的内容,特别是NABCD模型,设计了一款项目集管理系统。我们的目标是实现系统的实用性、有效性、安全性、隐私性和封闭性。通过结对合作,我们在设计过程中不断讨论与细化,确保最终方案符合用户需求。
我们决定开发一个名为“CoNexus-协力通”的程序。该程序的核心功能包括用户注册、角色管理、信息发布和数据分析。用户可以通过学号和邮箱注册,系统通过验证码进行认证,确保账户的安全性。用户分为管理者、普通用户和访客三类,管理者拥有最高权限,可以添加、删除用户及管理信息,而普通用户则可以参与信息发布和互动。访客只能浏览公开信息。
在原型设计中,我们使用了摹客RP工具,创建了各个界面的原型并进行了逻辑流程的梳理。整个界面友好易用,符合主流用户习惯,确保用户在使用时的便捷性与高效性。我们还设计了数据加密和访问控制机制,以保障用户的隐私和信息安全。
通过这一过程,我们不仅学会了使用原型设计工具,还增强了团队合作能力。在后续的代码实现阶段,我们计划基于此次原型进行进一步开发,并依赖AIGC和在线合作平台进行协作,确保工作的高效性和透明性。
总结而言,本次作业不仅让我们更深入地理解了信息化管理的重要性,也为实际开发奠定了基础。期待后续的编程实践能够顺利进行。

posted @ 2024-09-27 18:00  洪庆杨  阅读(12)  评论(0编辑  收藏  举报