软件工程第一次结对作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261 |
这个作业的目标 | 需求分析与原型设计,初步实践软件开发合作 |
学号 | 102201235 |
合作伙伴 | 102201234洪庆杨 |
原型链接
一、《构建之法》阅读总结
1. 软件工程师的成长(第3章)
通过阅读第三章,我理解到软件工程师的成长不仅仅体现在年资上,还包括多维度的能力评估和提高。书中特别强调了IC(Individual Contributor,个人贡献者)的流程,其主要步骤包括:
- 理解问题和任务:通过分析需求,实验、原型等方法理解需求;
- 提出方案与评估工作量:包括参考已有解决方案;
- 方案讨论与决定:与团队协作确定最终方案;
- 执行与验证:将方案变为代码并验证可行性;
- 合作与测试:与团队其他成员测试修复缺陷;
- 结果负责:交付后对成果负责。
此外,初级工程师的成长路径不仅在于对技术技能(如Java、C/C++等)的掌握,也在于积累行业知识和经验,如医疗、金融等领域的认知。同时,理解通用的软件设计思想、软件工程理念也是成长的重要方面。
职业技能方面,工程师需要提升自我管理、沟通表达、团队合作及执行能力,这些能力在团队中至关重要。行胜于言,实际工作成果和对产品的用户评价往往是最直接的衡量标准。
2. 软件开发中的工作量和质量衡量
工作量与质量的衡量可通过项目规模(代码行数或功能点)和时间(小时、天、月等)来表示。交付质量可通过缺陷数、返工率来衡量。项目的准时交付能力是衡量工程师执行力的另一重要标准。
3. NABCD模型(第8章)
NABCD模型(Need、Approach、Benefit、Competitors、Delivery)在产品设计中的应用尤其重要。在“Find You Team”APP的设计中,NABCD模型为开发提供了清晰的框架:
- N(需求):许多学生希望通过跨学科项目提升综合能力,但因人脉和资源有限,跨专业合作机会较少。
- A(方法):APP提供项目发布、人才匹配、聊天与项目管理功能,帮助学生快速找到合适的团队合作伙伴。
- B(好处):通过APP,学生能够提升合作效率、积累人脉,并增加实际项目经验。
- C(竞争):相比现有的社交媒体,APP更专注于跨学科合作,具有专业认证和项目管理功能,形成差异化竞争优势。
- D(交付):通过设计用户友好、功能丰富的APP,将为学生们提供一个高效的合作平台,增加其跨学科合作的机会。
4. 团队对个人的期望
在团队中,个人的贡献不仅体现在技术上,还包括以下方面:
- 有效沟通:能够与队友顺畅交流;
- 按时交付:承诺完成任务并按时交付;
- 承担团队角色:愿意接受并高效完成不同任务;
- 全力参与团队活动:积极参加代码复审、评审会议等活动;
- 流程遵守:个人能力再强也需要遵守团队的工作流程;
- 理性工作:基于事实和数据开展工作,避免感情化的处理方式。
5. 常见的思维误区
工程师在成长过程中需避免以下常见误区:
- 分析麻痹:过度分析导致迟迟不动手;
- 不分主次:试图解决所有问题,无法聚焦核心;
- 过早优化:陷入局部问题,忽视整体目标;
- 过早泛化:在需求未确定时扩大项目范围,造成不必要的复杂性。
6. 实践与思考的平衡
工程师的成长过程中应注重专与精,在必要领域深度钻研,其他领域则达到“知道即可”的水平。通过不断实践和学习,逐步将常见问题转化为自动化思维,以便专注于解决更高层次的问题。这种对技能的精进与思维的磨练,是成为优秀软件工程师的前提。
7. 需求分析与功能优先级(第8章补充)
在需求分析阶段,确保明确软件产品的功能需求至关重要。常见的用户调研方法包括焦点小组、深入面谈、用户调查等。产品功能应根据资源有限性进行优先级划分,决定哪些功能需要优化、哪些功能可以维持现状,甚至砍掉某些功能。
通过合理分配资源,团队能专注于开发对用户满意度提升最有价值的功能。此外,在功能定位中,应明确哪些功能为杀手功能(决定用户是否选择产品的核心功能),哪些为必要需求,哪些为附加需求。这有助于提升产品整体质量,并确保开发团队的工作重点明确。
8. 总结
通过阅读《构建之法》第三章和第八章,我学到了工程师成长的关键点及如何设计更为科学的产品开发流程。工程师不仅要在技术能力上不断精进,还需要在职业技能、沟通合作、流程遵守等方面有明确提升。利用NABCD模型进行系统性产品设计,将更好地满足用户需求并形成竞争优势。同时,迭代开发和理性工作方式的应用,使得工程师能够在复杂的项目中有效应对挑战,最终实现高质量的交付。
二、作业的NABCD模型
1、需求分析 (N - Need)
学生们需要一个平台来发起、寻找、和参与跨学科项目,提升合作机会,突破人脉和资源的局限性。
2、关键功能与界面设计 (A - Approach)
风格:命名为协力通,背景和logo采用淡粉色风格,更加惹人喜欢,让同学们在交流的过程中更心平气和。
1.登陆/注册界面
- 功能:
用户注册与登录界面,用户可以选择使用学号和邮箱进行注册或者登陆。 - 界面要素:
输入框(学号、用户名、密码、邮箱)
注册和登录按钮
用户协议等简要说明
2. 主页
- 功能:
根据用户的专业和兴趣,个性化推荐可能感兴趣的项目或合作伙伴。
主要展示正在进行的热门跨学科项目,按领域或合作需求进行分类(如:设计、编程、市场营销等)。 - 界面要素:
导航栏:主页、项目集、聊天、我
顶部搜索框
3. 项目集
- 功能:
用户可以点击查看自己发起或加入的项目
用户可以搜索或创建自己的想要的项目 - 界面要素:
项目描述区
创建按钮
搜索按钮
4.聊天
- 功能:
展示所有聊天对话框
如同微信的聊天功能,让同学们进一步相互了解,沟通项目的具体细节 - 界面要素:
列表显示聊天对话框
点击头像展示他人信息
5.我
- 功能:
展示个人资料,包括头像、昵称、个人信息、我的喜欢、我的申请,最下面展示自我介绍 - 界面要素:
头像(旁边是名字),下面为个人信息、我的喜欢、我的申请的按钮,最下面展示自我介绍
6.个人信息
- 功能:
编辑个人资料,包括头像、昵称、专业、学号、密码、邮箱等个人信息
编辑供同学们查看的自我介绍 - 界面要素:
左上角是保存并返回按钮
上半部分为个人信息编辑
下半部分为自我介绍
7.我的喜欢
- 功能:
收藏我喜欢的项目 - 界面要素:
左上角是保存并返回按钮
其他部分展示项目列
8.我的申请
- 功能:
查看我申请的项目和确认是否好友 - 界面要素:
上半部分为好友申请
下半部分为项目申请
9.搜索界面
- 功能:
展示搜索结果(某个项目的信息、同学信息)
10. 他人信息
- 功能:
展示他人的头像昵称和自我介绍
添加他人为好友
进入与他人的聊天界面 - 界面要素:
上面头像昵称
中间添加他人为好友的按钮和进入与他人的聊天界面的按钮
下面展示对方自我介绍
11.创建项目
- 功能:
用户可以在该页面创建项目 - 界面要素:
项目名称、成员、信息、公开库
3.解决方案的优势 (B - Benefit)
-
促进跨学科知识交流与合作
该平台不仅仅是项目对接工具,更是一个知识共享的社区,学生可以通过平台讨论各自领域的知识,帮助跨学科项目的成员更好地理解彼此的工作思路与方法,提高协作效率。 -
提升个人能力与展示机会
学生参与不同学科的项目可以积累宝贵的实战经验。平台提供的功能可以记录学生的技能和项目履历,增强他们在未来求职中的竞争力。 -
高效的沟通与协作工具
平台配备多样化的协作工具,如多语言支持、任务清单生成等,甚至可以通过AI优化团队沟通方式,减少跨学科交流中的障碍,提升团队协作效果。
平台的这些优势不仅能够提高跨学科合作的成功率,还能为学生的职业发展打下坚实基础,使其成为促进跨学科协作的有效工具。
4.竞争分析 (C - Competition)
-
现有替代方案
目前大学生通常通过以下方式寻找跨学科合作机会:- 人脉关系:依靠个人社交网络寻找合作伙伴。
- 导师引荐:通过导师推荐寻找合适的跨学科学生。
- 社交平台:使用校内QQ群、论坛或表白墙等平台发布需求。
- 校园活动:参加跨学科的社团或创新创业类活动,获取合作机会。
局限性:
- 合作机会有限:依赖社交网络和导师推荐,覆盖面小。
- 信息不透明:机会的发布和获取渠道分散,信息对称性差。
- 沟通成本高:跨专业协作中的信息传递不顺畅,容易产生误解。
-
竞争优势
相较于现有方式,平台的竞争优势在于:- 高效精准匹配:通过数据算法,快速精确地匹配合作伙伴,大大提升了寻找效率。
- 综合资源支持:提供项目管理、时间协调等功能,降低沟通和协作的成本。
- 导师资源整合:平台不仅支持学生间合作,还能引入导师资源,提供更广泛的指导和支持。
与传统的合作方式相比,平台在跨学科协作的组织管理和合作伙伴匹配方面有着明显的优势,能够有效提升学生间合作的成功率,并具有广阔的市场前景。
5.推广策略 (D - Delivery)
-
校园宣传与线上推广
通过学校的互助群、校内的表白墙等渠道发布宣传信息,直接接触有跨学科合作需求的学生。利用学生社交媒体进行病毒式传播,迅速提高平台的知名度和用户量。 -
成立运营团队与工作室
建立平台的运营团队,招募志愿者或学生作为工作室成员,负责平台的日常维护与技术支持,同时通过校园活动提高平台的曝光率,吸引更多学生参与。 -
开放源代码,扩大生态圈
在平台初步运营成功后,可以考虑将部分源代码开放给开发者社区,鼓励不同学校或组织根据自身需求定制和扩展平台功能。通过这种方式,吸引更多高校加入,形成更大的校园生态圈,进一步扩大平台的影响力。 -
校园大使计划
在各大高校中招募平台校园大使,负责推广和组织跨学科项目。校园大使可以定期举办跨学科合作的讲座和沙龙,帮助学生更好地了解平台的功能和优势,并鼓励更多学生注册使用。 -
与校内导师和部门合作
与学校的相关部门(如创新创业中心、学生事务部)合作,通过他们的渠道推广平台。同时,与导师们合作,鼓励他们将学生推荐到平台进行跨学科合作,进一步增加平台的使用频率和可信度。 -
策划线上与线下活动
定期组织跨学科创新挑战赛或黑客松等线上与线下活动,吸引学生参与并利用平台完成项目。通过这种方式,学生不仅能获得实际的合作体验,还能进一步熟悉平台的各项功能,促进平台的持续使用和推广。
平台通过多种推广策略,将在校园内外迅速扩展其影响力,吸引更多用户参与,并逐步建立起一个稳定的用户基础,成为跨学科合作领域的首选平台。
三、UML用例图
四、流程图
五、设计页面
设计总览
软件主页
项目集
聊天沟通
个人介绍
六、工作过程
-
需求分析
在设计小程序页面之前,首先需要对需求进行全面分析。与客户或项目负责人讨论,明确目标用户、核心功能、使用场景等。- 用户需求:了解用户的痛点,确定小程序解决的问题和核心功能,要注重不同专业的同学跨专业合作的便利和自由性。
- 业务需求:明确小程序需要满足的业务目标,例如用户注册/登录、项目集的使用、首页的搜索、个人信息的编辑等。
-
功能规划与流程图设计
根据需求,规划小程序的主要功能模块和用户交互流程。创建功能清单并绘制用户流程图,确保每个功能环节逻辑清晰。- 功能模块:划分各个功能,如首页、项目集、聊天、我的资料等。
- 流程图:绘制用户从进入小程序到完成任务的操作流程,明确每一步的交互和跳转逻辑。
-
线框图设计
根据功能规划,制作小程序的低保真线框图(Wireframe)。线框图展示了页面布局和大致的界面结构,便于快速迭代和调整设计。- 页面布局:确定各个页面的布局,如导航栏、主要内容区、底部菜单等。
- 组件布局:明确每个功能模块的组件(按钮、文本框、图片等)的位置和大小。
-
用户体验设计
确保设计符合用户体验的最佳实践,提升小程序的可用性和流畅度。考虑用户行为习惯,设计直观易懂的界面和便捷的交互方式。- 简洁清晰:避免复杂的界面设计,确保用户可以轻松找到所需功能。
- 响应速度:优化页面设计,减少加载时间,提升用户交互的即时性。
- 触控优化:考虑手机屏幕的触控特点,确保按钮大小适中,交互操作顺畅。
七、psp表格
PSP | 预计耗时 (单位:小时) | 实际耗时 |
---|---|---|
阅读《构建之法》 | 1 | 1 |
需求分析 | 1 | 1 |
项目准备工作 | 0.5 | 3 |
构建原型模型 | 4 | 6 |
调试和修改 | 1 | 0.5 |
复盘与总结 | 0.5 | 3 |
八、总结
在此次手机小程序页面设计工作中,经历了从需求分析到完成设计的流程,不仅增强了设计与开发的能力,还对用户体验、界面设计有了更深的理解。以下是本次设计工作中的主要收获:
-
深入理解用户需求
通过需求分析环节,学会了如何从用户的角度出发,明确他们的需求和痛点。这不仅帮助我设计出符合用户期望的功能,还提升了我在用户研究和需求定义上的能力。
收获:学会了如何更系统化地分析用户需求,并能将这些需求转化为可执行的设计方案。 -
强化了用户体验设计思维
在设计过程中,深刻体会到用户体验设计的重要性,尤其是在手机端,小屏幕下的布局、操作便捷性和页面响应速度对用户体验有极大的影响。我通过多次优化交互细节和视觉设计,提升了小程序的易用性和流畅度。
收获:加深了对用户体验的理解,特别是在简洁设计、触控优化和响应速度方面的思考与应用。 -
提升了视觉设计能力
从线框图到高保真原型的设计过程,让我更加熟练地使用设计工具摹客,并学会了如何制定视觉规范,保证整个小程序界面的风格统一。同时,学习了如何平衡美观与功能性,既要吸引用户,又要保持操作简洁高效。
收获:提升了视觉设计和高保真原型制作的能力,并能在视觉效果和用户操作之间找到平衡点。 -
掌握了团队协作的技巧
在阅读到设计的过程中,和我的队友进行了密切合作,学会了如何通过详细的设计文档和沟通,确保设计方案在开发实现中的一致性。
收获:本次作业让我熟悉了设计工具摹客,增强了跨团队协作的能力,理解了设计与开发之间的工作流程衔接,并学会如何与开发团队高效沟通,我深刻体会到了团队合作的重要性,以及如何进行有效的交流与分工。