软工第一次结对作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261
这个作业的目标 学习使用原型软件,辅助完成软件工程的前期任务
学号 102201137
结对成员学号 102201137 102201237
原型链接 https://4mk6lo.axshare.com/?g=4&id=8g48sx&p=初始界面

1.阅读《构建之法》后的成果

阅读第三章的总体学习感悟

  1. 个人成长与能力衡量:软件工程师的成长不仅仅是技术技能的积累,更重要的是对软件工程理念的深入理解、职业素质的提升以及在团队中的有效协作。

  2. 团队合作的重要性:团队流程和个人流程的有机结合是提升软件开发效率和质量的关键。团队成员之间的沟通、角色分配和流程遵循对于项目的成功至关重要。

  3. 思维误区:软件工程师在成长过程中会遇到各种思维误区,如分析麻痹和过早优化。识别并克服这些误区是提升个人能力的重要一步。

  4. 职业发展:软件工程师应有清晰的职业规划,不断提升自己的技术水平和业务理解能力,以适应不断变化的技术环境和市场需求。

  5. 技能的反面:技能的掌握不仅仅是学会操作,更重要的是理解其背后的原理和逻辑,能够在不同的情境下灵活运用。

第三章的内容和学习成果

1. 软件工程师的成长

  • 个人能力的衡量与发展

    • 软件工程包括开发、运营、维护软件的技术、做法、习惯和理念。
    • 软件开发流程旨在提高效率和用户满意度。
  • 团队和个人流程

    • 团队流程包括角色间的合作与冲突管理。
    • 个人流程涉及理解问题、提出解决方案、执行、测试、修复缺陷。
  • 职业篮球运动员与软件工程师

    • 职业篮球运动员有详细的数据记录,而软件工程师缺乏类似的量化数据。
  • 软件工程师的成长路径

    • 积累技术知识。
    • 积累问题领域的经验。
    • 理解软件设计和工程思想。
    • 提升职业技能,如自我管理、沟通、合作。
    • 实际成果是评价的重要标准。
  • 工作量和质量的衡量

    • 项目大小、时间花费、质量(缺陷数量)、按时交付。
  • 团队对个人的期望

    • 交流、按时交付、接受角色、全力投入、按流程工作、准备、理性工作。
  • 软件工程师的思维误区

    • 分析麻痹:过度分析导致无法行动。
    • 过早优化:在不适当的时机进行优化。
    • 过早泛化:过早地将问题一般化。
  • 职业发展

    • 职业发展路径包括从临时工作到理想的呼唤。
    • 考试和认证可以帮助职业发展。

2. 技能的反面

  • 技能与问题解决

    • 技能的反面是解决问题,通过练习将低层次问题转化为自动操作。
  • 魔方技能层次

    • 从了解玩法到设计新型魔方。

3. 练习与讨论

  • 医生的比喻

    • 讨论选择哪种医生,反映软件开发的实践。
  • 工程、艺术与手艺

    • 讨论软件开发的性质。
  • 绞刑架的比喻

    • 讨论职业发展和行业竞争。
  • 案例分析

    • 分析程序员面临的设计决策。
  • 代码量与水平的关系

    • 探讨代码量与工程师水平的关系。
  • 学习方法和核心竞争力

    • 讨论有效的学习方法和行业的核心竞争力。
  • IT行业需要的好工程师

    • 提供好工程师的检查清单。
  • 对职业梯的思考

    • 反思职业发展路径。
  • 自知之明

    • 讨论在学习和工作中的自我认知。

阅读第八章的总体学习感悟

  1. 需求分析的复杂性:需求分析不单是技术问题,还涉及对人性的理解、市场趋势的洞察以及对业务目标的把握。它要求工程师具备跨领域的知识和技能。

  2. 用户中心的设计:需求分析始终围绕用户展开,从用户的视角出发,挖掘用户的真实需求,强调了用户体验在软件开发中的重要性。

  3. 团队合作的必要性:需求分析是一个团队活动,涉及多个利益相关者。有效的沟通和协作对于达成共识、明确需求至关重要。

  4. 持续迭代和学习:需求分析是一个动态的、迭代的过程。随着项目的推进和市场的变化,需求也在不断变化,工程师需要持续学习和适应。

  5. 技术和方法论的多样性:需求分析采用多种技术和方法,如焦点小组、用户访谈、卡片分类等,每种方法都有其适用场景和局限性。

  6. 量化分析的重要性:通过量化的方法,如KANO模型、四象限法等,可以更好地理解需求的优先级和对用户满意度的影响。

  7. 创新与实践的结合:需求分析不仅是对现有需求的响应,也是创新的起点。工程师需要在理解用户需求的基础上,探索新的解决方案。

  8. 项目管理技能:需求分析还涉及到项目计划和估计的技术,这要求工程师具备一定的项目管理能力,合理规划项目进度和资源。

第八章的内容和学习成果

《构建之法:现代软件工程》第8章需求分析

1. 软件需求

  • 需求获取:通过与利益相关者的沟通,了解他们对软件的需求。
  • 需求分析:对获取的需求进行规整和量化,定义需求的内涵。
  • 需求验证:与利益相关者沟通,通过分析报告、技术原型等形式验证需求。
  • 需求管理:在软件生命周期中对需求进行持续的审核和调整。

2. 软件产品的利益相关者

  • 用户:直接使用软件系统的人。
  • 顾客:购买软件或根据合同接收软件的人。
  • 市场分析者:代表典型用户的需求。
  • 监管机构:确保软件符合行业和政策规定。
  • 系统/应用集成商:提供咨询、服务、集成等工作。
  • 软件团队:完成特定软件或功能的开发团队。
  • 软件工程师:参与需求分析的重要角色。

3. 获取用户需求的方法

  • 焦点小组:组织目标用户的代表进行讨论。
  • 深入访谈:一对一的方式了解用户的背景、心理、需求等。
  • 卡片分类:通过分类整理杂乱无章的需求。
  • 用户调查问卷:向用户提供设计好的问题进行回答。
  • 用户日志研究:要求用户记录与软件相关的行为。
  • 人类学调查:与目标用户共同生活,从生活中得到体会和需求。
  • 眼动跟踪研究:了解用户浏览网页的规律。
  • 快速原型调研:通过快速原型获取用户反馈。
  • A/B测试:在现有用户中测试不同的设计方案。

4. 竞争性需求分析的框架NABCD

  • N(Need):需求 - 解决用户什么需求?
  • A(Approach):做法 - 如何独特地解决这些需求?
  • B(Benefit):好处 - 产品/服务给用户带来的好处?
  • C(Competitors):竞争 - 竞争对手的情况?
  • D(Delivery):推广 - 如何将产品交给用户?

5. 功能的定位和优先级

  • 通过四个象限来划分产品功能的特点:
    • 杀手功能(Core):差异化焦点。
    • 外围功能(Context):支持杀手功能。
    • 必要需求(Mission Critical):产品必须满足的基本需求。
    • 辅助需求(Enabling):非核心的辅助功能。

6. 计划和估计

  • 目标、估计和决心:明确区分目标、估计和决心。
  • 找出估计后面的假设:明确估计背后的假设条件。
  • 提高估计能力的招数:参考前人经验,快速原型法,提高估计的准确性。

7. 分而治之(Work Breakdown Structure, WBS)

  • 将大型交付件分解为小型、具体的交付件。
  • WBS的构建要点:
    • 保证子节点覆盖全部父节点内容。
    • 保证子节点不相互覆盖。
    • 叶子节点足够小,能在一个里程碑中完成。
    • 从结果出发构建WBS。

NABCD模型

NABCD模型是一个系统化的方法,用于在竞争激烈的市场中分析和规划产品的需求。它帮助团队明确产品的核心价值主张,评估与竞争对手的差异化优势,并制定有效的市场推广策略。

N(Need - 需求)

需求是竞争性需求分析的起点。以下是对需求的进一步理解:

  • 用户需求

    • 直接与用户交流,了解他们在使用现有产品或服务时遇到的问题。
    • 观察用户行为,发现他们未被满足的需求。
  • 市场趋势

    • 分析市场趋势和技术发展,预测未来可能出现的需求。
  • 非消费用户

    • 研究那些没有使用任何类似产品或服务的用户,了解原因。

A(Approach - 做法)

做法是团队如何满足这些需求的策略。以下是对做法的进一步理解:

  • 技术创新

    • 利用新技术或改进现有技术来提供更好的解决方案。
  • 商业模式创新

    • 探索新的商业模式,如免费基础服务加增值服务。
  • 用户体验

    • 专注于提供卓越的用户体验。

B(Benefit - 好处)

好处是产品或服务为用户带来的价值。以下是对好处的进一步理解:

  • 性能优势

    • 提供比竞争对手更好的性能。
  • 成本优势

    • 以更低的价格提供相同的价值。
  • 独特功能

    • 提供独特的功能或服务,满足特定用户群体的需求。

C(Competitors - 竞争)

竞争分析是了解市场现状和竞争对手的关键步骤。以下是对竞争的进一步理解:

  • 竞争对手分析

    • 了解竞争对手的产品、价格、市场定位等。
  • 市场定位

    • 确定自己的产品如何在市场中定位。
  • 差异化策略

    • 制定差异化策略,以区别于竞争对手。

D(Delivery - 推广)

推广是确保产品能够到达用户手中的策略。以下是对推广的进一步理解:

  • 市场进入策略

    • 制定有效的市场进入策略,确保产品能够吸引目标用户。
  • 营销和宣传

    • 利用各种营销渠道和宣传活动来推广产品。
  • 用户反馈

    • 收集用户反馈,并据此改进产品。

通过NABCD模型,团队可以更清晰地理解市场需求,制定有效的产品策略,并提高产品的市场竞争力。

2.利用NABCD模型分析此次作业

N(Need - 需求)

需求描述:

  • 个人成长:大学生需要一个平台来发现并参与跨专业的学术或创业项目。
  • 团队构成:需要找到具有不同专业背景的合作伙伴,以增加项目的多样性和成功率。
  • 沟通协作:需要一个共享的沟通和协作平台,以便于管理项目和协调团队成员。

需求来源:

  • 内在需求:学生对于个人成长和职业发展的内在需求。
  • 项目需求:多学科项目本身对不同专业技能的需求。
  • 教育政策:学校鼓励创新创业教育,但缺乏有效的组织和支持。

A(Approach - 做法)

解决方案:

  • 协作平台:创建一个校园内的跨专业项目协作平台,类似于内部的创新孵化器。
  • 招募系统:提供一个项目提案和团队组建的系统,让学生可以发布项目并招募所需技能的成员。
  • 工作坊:组织定期的跨专业工作坊和研讨会,以促进不同专业学生之间的交流和合作。

实施策略:

  • 移动应用:开发一个校园社交网络或移动应用,专注于项目合作和专业技能交流。
  • 校方合作:与学校的就业指导中心、创业孵化器和各个院系合作,获取支持和资源。
  • 导师制度:引入导师制度,让教职工和行业专家指导学生团队。

B(Benefit - 好处)

用户好处:

  • 能力提升:学生可以根据自己的兴趣和专业技能选择项目,提升个人能力。
  • 创新思维:跨专业的团队构成可以促进创新思维和解决问题的能力。
  • 人脉资源:通过项目合作,学生可以积累行业经验和人脉资源。

项目优势:

  • 就业竞争力:增加学生的就业竞争力和创业成功率。
  • 学术交流:促进校园内的学术交流和知识共享。
  • 创新文化:有助于形成积极的校园创新文化。

C(Competitors - 竞争)

竞争分析:

  • 现有活动:校园内部可能已有一些零散的社团或活动,但没有系统化和专业化的跨专业合作平台。
  • 社交媒体:学生可能会利用现有的社交媒体工具寻找合作伙伴,但这些工具并非专为项目合作设计。

竞争优势:

  • 专业性:提供专门针对跨专业项目合作设计的平台,功能更加专业和全面。
  • 校方支持:与学校官方合作,提供更多资源和支持,增加项目的可信度和成功率。

D(Delivery - 推广)

推广策略:

  • 校园宣传:在校园内部进行宣传,包括海报、横幅、校园广播和社交媒体。
  • 校方合作推广:与学校的职业发展中心、学生事务部门和院系合作,将平台推广给所有学生。
  • 启动活动:举办启动活动和演示会,展示平台的使用方法和成功案例。

实施计划:

  • 市场推广:制定详细的市场推广计划和时间表。
  • 收集反馈:收集反馈并持续改进平台功能和用户体验。
  • 激励机制:建立激励机制,鼓励学生积极参与和推荐新用户。

3.UML用例图

4.流程图

5.软件主要界面以及功能

1. 初始界面

初始界面

(1)登录界面

登录界面

(2)注册界面

注册界面

2. 消息界面

点击右上角"+"弹出菜单栏,点击进入其他页面
消息界面1
消息界面2

(1)聊天界面

聊天界面

(2)创建项目界面

创建项目界面

(3)二维码界面

二维码界面

(4)添加好友/群

支持学号/职工号搜索
添加好友/群1
添加好友/群2

(5)搜索界面

搜索界面

(6)个人资料界面

个人资料界面

3. 联系人界面

点击右上角图标弹出菜单栏,点击进入添加好友界面

(1)好友、频道、群聊界面

点击好友头像所属区域进入好友资料界面
好友界面
频道界面
群聊界面
新朋友界面

(2)新朋友

新朋友

(3)群通知

群通知

4. 广场界面

(1)频道界面

频道界面

(2)广场界面

点击项目所属区域进去项目详情界面
项目详情页面点击发布人名称,可以添加好友
添加好友点击后出现“好友请求已发送”弹窗,点击周围空白区域,弹窗消除
广场界面1
广场界面2
项目详情界面
好友请求界面

(3)设置界面

点击推送设置进入推送修改页面
点击"退出登录"返回主页面
点击"偏好设置"右侧箭头出现下拉菜单,再次点击收回
设置界面1
设置界面2

6、用户操作流程

(1)用户登录

·可通过学号/职工号/手机号登录
·没有账号的话通过手机号注册

(2)创建项目

·点击消息界面右上角图标创建项目

(3)参与项目

·进入广场界面,寻找感兴趣的项目,点进去与发布者交流沟通
·进入搜索界面,搜索感兴趣的项目

(4)频道交流

·进入频道页面,与他人沟通协作

7、系统维护

(1)使用频率与便利度

·此软件可以作为聊天交友软件,与他人沟通协作
·频道与群聊功能为志同道合的人提供相识的平台
·配备的功能与其他聊天软件并无多大差异,易上手

(2)安全与隐私性

·项目可以设置可见性
·隐私协议承诺收集到的用户信息不被泄露
·设置举报功能,对侵犯他人权利的人或项目进行举报

(3)时效性

·定时对过期的项目进行清理
·对不在校内人员的账号进行清理

(4)相对封闭性

·学生与教职工的账号的初始密码均为学号或职工号,手机号与学生号或职工号绑定,可以保证使用此软件的学生和教职工均为校内人员
·定时获取校内人员名单,登录时记录登录地点,与名单进行匹配,观察是否为我校人员,若不是发出信息警告,引导学生修改密码

8、PSP表格

任务名称 预估耗时(h) 实际耗时(h)
阅读《构建之法》 3 3
需求分析 1 1.5
学习Axure 4 5
构建原型模型 8 10
项目准备工作 1 1.5
调试和修改 2 2.5
测试 1 1
复盘与总结 2 2
总用时 22 26.5

9、个人总结

本人:

在这次使用NABCD模型分析跨专业合作的挑战中,我深刻体会到了校园内跨学科合作的复杂性和必要性。通过分析,我意识到了合作机会的有限性,这让我思考了如何更有效地利用现有资源和人脉。我感到,尽管面临诸多挑战,但跨专业合作对于个人成长和项目成功至关重要。

在模型构建的过程中,我体验到了将理论知识转化为实际应用的挑战。这个过程让我更加明白了沟通的重要性,以及如何在不同专业背景的学生之间建立共识。我也意识到了时间管理和项目协调的难度,这让我学会了如何更有效地规划和分配任务。

协作者:

通过这次项目,我感受到了跨专业合作的潜力和它带来的独特视角。使用NABCD模型进行分析,我更加清晰地看到了合作中的障碍,比如人脉的限制和时间安排的不一致。这让我认识到了建立一个平台或资源库来支持跨专业项目的重要性。

在AXURE构建模型的过程中,我体验到了将抽象概念具体化的乐趣。这个过程不仅锻炼了我的技术技能,也加深了我对项目需求和用户需求的理解。我感到,尽管存在沟通和协调的挑战,但通过有效的工具和方法,我们可以克服这些障碍,实现更高效的合作。

10、合作记录

posted @ 2024-09-27 17:04  死水还阴?  阅读(15)  评论(0编辑  收藏  举报