软件工程课程 | 班级链接 |
---|---|
作业要求 | 作业链接 |
作业目标 | 需求分析和原型设计 |
学号 | 102201312 |
队友 | 102201311张硕 |
使用墨刀构建原型,原型链接:请点击我
客户现实困扰
在大学里,一些有想法的学生希望通过发起或参与跨专业的项目(创业、学术)来提升自己的综合能力,拓宽知识面和积累人脉。然而,在校园里要实现跨专业合作往往取决于自己积累的人脉,或者去请不同专业的老师帮忙介绍,这就导致合作的机会非常有限。
例如,对于一些需要多学科支持的项目(需要设计、编程和市场营销能力的创业项目),在偌大的校园中,学生们往往找不到志同道合的合作伙伴。
另外,不同专业之间的学生由于学校课程安排以及个人想法,可能在合作时间安排上、项目目标和沟通方式上可能存在差异,这进一步加大了合作的难度。同时,缺乏平台或资源来支持跨专业项目的持续发展。
一、《构建之法》阅读心得
第三章:软件工程师的成长
-
工程师的重要特质:
- 稳定交付成果:软件工程师应具备稳定交付高质量成果的能力,这是职业发展的基础。
- 解决问题的深度:要不满足于仅解决表面问题,而要关注问题背后的根本原因和更广泛的影响。这种思维能推动创新和长远发展。
-
避免常见误区:
- 不分主次的问题:工程师应避免在小问题上过于纠结,需先理清主要目标,按流程推进。
- 过早优化与复杂化:
- 过早优化:专注全局,避免在项目早期对细节的过度追求,以保持灵活性。
- 过早扩大化:不要过于乐观地估计自己的能力和项目规模,防止“画扇面”式的扩张。
-
专精与泛化的平衡:
- 单人乐队与全栈工程师的比喻:强调应当培养明确的专长,而不是追求全面的技能。精专于一两个领域能提升团队价值。
- 团队领导者的成长路径:逐步从技术能力提升到管理能力,培养领导力和团队合作能力。
-
自我评估与技能提升:
- 定期自我评估,明确自身的技能水平,找到提升方向。真正的技能掌握需依赖实践与反思,而非单纯的理论学习。
-
启发思考:
- 通过生活中的多样例子激发思考,帮助工程师从不同角度看待问题,扩展思维方式。
第八章:需求分析
-
项目分析与需求来源:
- 以利益相关者为中心:软件设计需明确用户、客户或利益相关者的需求,确保软件真正解决他们的问题。
- 用户调研的重要性:通过焦点小组等方式进行用户调研,但需避免“喧宾夺主”,确保收集到的意见具代表性。
-
功能定位和优先级:
- 明确产品目的:开发功能产品的核心是为了解决用户的实际需求,并确保投入能获得较大的回报。
- 资源有限原则:在资源有限的情况下,重点关注差异化竞争能力,确保核心功能的有效实现:
- 核心功能:如项目创建、加入等基础功能应优先开发。
- 杀手技能:例如自动生成共同空余时间功能,能有效提升用户的合作效率。
- 外围功能与辅助需求:如页面设计和人脉拓展功能,为用户提供附加价值。
-
用户体验与功能亮点:
- 软件设计要有一些亮点功能,提升用户体验,避免平淡无奇的界面。
- 界面设计:确保界面简洁美观,用户友好,增强易用性。
-
NABCD模型在需求分析中的应用:
- N(Need):明确用户的真实需求。
- A(Approach):确定解决方案的方法。
- B(Benefit):评估解决方案带来的好处。
- C(Competition):分析竞争环境,找出自身的差异化优势。
- D(Delivery):规划产品交付和后续迭代。
-
任务难度与能力预估:
- 对自身能力和任务难度进行清晰预估,确保团队能够有效完成各项功能的开发任务,参考前人的经验。
-
执行与团队合作:
- 用实际行动而非口头承诺展现团队的决心。通过分而治之的策略,明确项目目的,从结果倒推构建过程。
-
与竞品比较:
- 在功能设计和定位时,与竞争产品进行比较,突出自身项目的优势,明确市场中的独特价值。
总结
以上两章的梳理清晰展示了软件工程师成长的路径和需求分析的重要性。从个人成长的角度看,强调了技术能力、团队合作与管理能力的提升;从项目开发的角度看,突出了以用户为中心的需求分析和功能设计的重要性。通过合理的功能定位和优先级管理,能够在资源有限的情况下,实现高效的项目交付和市场竞争优势。
二、项目分析
针对大学生跨专业项目合作的困境,我们可以设计一个专门的平台,帮助学生打破学科壁垒,找到志同道合的合作伙伴并推动项目发展。基于《构建之法》的NABCD模型,我们系统分析设计了一个手机端APP《福大Team》
(1)N(Need):需求分析
- 学生:需要一个平台来发起、寻找并参与跨学科跨专业的项目,获得与同学或导师的合作机会。
- 导师:对自己的实验室进行管理、招新。
- 管理员:希望提供更好的资源支持,提升学校的创新氛围
(2)A(Approach):解决方案
- 使用墨刀设计原型《福大Team》
- 功能如下:
- 发布项目
- 寻找项目
- 聊天交流
(3)B(Benefit):解决方案的优势
- 为学生提供跨专业合作的平台:使学生能够便捷地找到合适的合作伙伴。
- 提升项目合作效率:通过项目管理和沟通工具,提高项目合作的组织和管理效率。
- 积累人脉和资源:参与平台活动的学生能够拓宽人脉,积累更多的资源和经验。
(4)C(Competition):同类产品的差异化竞争优势分析
当前市场上存在类似功能的APP,例如一些社交媒体和校园内的微信公众号等,但这些工具通常更加注重社交,而非专注于跨专业项目合作。而“校园合作”APP则专注于解决这一具体需求,通过专业认证、完善的项目管理工具等特点,形成差异化竞争优势。
(5)D(Delivery):交付方案
- 通过B站、微博、微信公众号等社交媒体进行推广
- 通过广告投放,提高网站的知名度
- 通过学校官方渠道或者学生组织来进行宣传
三、核心特性分析
1. 使用频率
- 为确保用户的依赖性,我们设置了定期推送功能。
- 提醒用户关注新项目动态与消息更新,通过推送的内容可以提升用户的活跃度和应用的使用频率。
- 同时,我们还通过分析用户的历史使用数据,个性化推荐适合的内容和功能,以提高用户的使用粘性,确保他们能够在必要时刻方便地获取到所需的信息和服务。
2. 使用便利度
- 为确保应用的便利性,我们设置了底部导航栏,包括
首页
、项目
、消息
和我的
等功能模块,让用户能够便捷地切换使用。 - 此外,我们还加入了搜索功能,用户可以快速找到自己关注的项目或信息,同时提供了快捷的操作指引和提示,优化用户体验,使得新用户熟悉操作流程变得更加流畅,并减少了使用中的困惑和挫折感。
3. 使用有效性
- 为确保项目信息的有效性,我们设置了专职管理员,对所有发起的项目进行综合审核,确保项目内容的有效性与真实性。
- 通过完善的信息审核机制,我们不仅提高了项目的质量,也帮助用户在选择时避免误入不实或虚假的项目,从而增强用户对平台的信任度。同时,用户也可匿名举报可疑项目,形成良好的监督机制。
4. 安全性与隐私性
- 考虑到学校中的学号和姓名容易被他人获取,我们采用微信注册的方式,并在
我的
功能模块中设置了身份认证流程。 - 此举不仅能有效保护用户的个人信息,还能通过身份认证确保用户的真实身份,从而减少潜在的安全隐患。用户在平台上的操作和交流均在安全的环境中进行,保障他们的隐私和信息安全,进一步提升用户对应用的信赖度。
四、思维导图展示
绘制工具:Mindmeister
五、主要界面和功能展示
1.实机演示
2.开屏页面
3.认证与登录
使用微信一键注册和登录,并进行角色选择。
4.首页大厅模块
“首页大厅”是作为“枢纽”页面存在的
①项目发起功能
用户作为项目的发起人
②我的项目功能
处理申请加入项目的成员信息
③课表匹配功能
功能:一键输入课表,查询项目成员公共课余时间
5.项目搜索大厅模块
6.消息系统模块
系统消息和私信
7.我的模块
六、队友间的合作过程
因为我们两个是舍友,因此沟通起来很方便,也很高效(搞笑)。
- 首先是理论积累,我们两个都各自阅读了《构建之法》,对需求分析和原型设计有了一定的认识。
- 接下来是分析整个项目的需求。
- 明确了需求后,我们就开始了分工讨论:
- 张硕:绘制思维导图、使用墨刀设计原型、编写功能展示
- 陈言泷:绘制流程图、协助设计原型、编写md文档
- 共同调试修改原型、复盘与总结
- 分工完毕后,我们就进入了完成各自任务的阶段。
- 设计原型阶段
- 绘制阶段
- 调试阶段:我们两个自己内测并修改。
- 好友反馈阶段:“当局者迷,旁观者清”,让其他同学内测后给出建议并修改。
- 交付阶段:交作业给老师和助教们以验收原型设计是否满足需求然后不断迭代与优化。
附上流程图,绘制工具:processon
附上讨论图片:
七、PSP表格
PSP | 预估耗时(单位:小时) | 实际耗时 |
---|---|---|
阅读《构建之法》 | 1 | 2 |
需求分析 | 2 | 5 |
分工 | 1 | 0.5 |
绘制思维导图 | 1 | 1 |
绘制流程图 | 1 | 2 |
构建原型模型 | 5 | 10 |
调试和修改 | 1 | 0.5 |
测试 | 1 | 0.5 |
复盘与总结 | 0.5 | 1 |
编写md文档 | 1 | 2 |
总计 | 14.5 | 24.5 |
八、总结
102201311张硕
1.阅读《构建之法》三,八两章,给我带来了许多启发。📖
a.无论何种职业,稳定的工作效率是最重要的基石。
b.好高骛远往往不切实际,找准自己的水平
c.换位思考,用户出发思考问题
d.怎样的调查方式,才能使得调查数据真实有效?
f.以终为始得倒退过程。
2.“墨刀”软件界面拟实现🐱🐱
和平常使用的软件相比,墨刀的使用逻辑有点怪,上手比较费时间.
平心而论,墨刀确实功能强大,但是对对于白嫖党和菜鸟来说不太友好。感觉刚摸清门道,想要大干一场。一堆付费门槛限制就铺面而来,限制页面,和素材数量给工作量翻了几倍。
最后因为素材所限,无法实现出所有原先预期的功能
3.流程图和思维导图梳理思路
在前期一头雾水的时候,思维导图帮助我理顺了项目的具体实现思路。在逻辑线上前进,事半功倍。
4.结伴作业体验
这次的作业主要负责前期项目思维导图的梳理和墨刀前期模型的设计。结对作业的实践实现,使我感受到了不同人对项目的不同需求视角,以及项目实现的思路也不尽相同。在不同的想法交流中,感觉到了新奇,活力。遇到具体问题,解决时也更有创造力了。
5.最后:鸣谢二楼的拍档的辛苦付出
102201312陈言泷
通过这次作业,我深刻认识到满足客户需求并非易事。
学习了NABCD模型后,我理解了需求实践的具体化流程。在解决信息交互问题时,我意识到需要满足一系列子需求,包括如何收集客户信息、如何实现不同客户之间的信息交换,以及如何促进客户相互交流。我将这些需求视为一个工程,逐步进行实践。虽然过程中遇到了很多问题,如子需求的实现、工具的选择和个人技能的不足,但只要开始动工,就能一步步完成。遇到不懂的地方就上网查询,现学现做。思维停滞时,会与队友讨论,通过思维碰撞来提高工程的完成效率。
如何实现1+1>2非常关键,这需要团队成员之间频繁交流、互相提出修改意见,以共同推进项目的完成。接下来,我们还需不断努力,完成下一次的结对编程作业。