软件工程第一次结队作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | 软工第一次结队作业 |
这个作业的目标 | 学习使用原型软件设计原型图,结对完成完成软件工程的前期框架设计任务 |
学号 | 102201542 |
结队成员的学号 | 102201241 |
原型链接:https://5n00yq.axshare.com
一.《构建之法》第三章以及第八章的阅读成果:
《构建之法》第三章:软件工程师的成长:
内容概述:
本章讨论了软件工程师在职业生涯中通常会经历的几个阶段,从初级工程师到高级工程师,甚至是架构师或技术主管。每个阶段都有其特定的技能要求和职责。
(1)技能提升的路径:
书中强调了持续学习的重要性。软件工程师需要不断更新自己的技能,以适应快速发展的技术环境。无论是通过自学、参加培训课程,还是通过实际项目经验,提升技术水平都是职业成长的关键。
(2)软技能的价值:
除了技术能力,软技能(如沟通、团队合作和问题解决能力)也是软件工程师成功的重要因素。良好的沟通能力能够帮助工程师更有效地与团队成员和其他利益相关者合作。
(3)反馈与自我反思:
书中提到,定期获取反馈和进行自我反思是职业成长的关键环节。通过反馈,软件工程师可以识别自己的不足之处,并针对性地进行改进。
(4)职业规划的重要性:
本章还讨论了制定职业规划的重要性,软件工程师应设定明确的职业目标,并根据这些目标制定相应的学习和发展计划。
总结:
(1)持续学习:
软件工程师的成长依赖于不断学习。技术的迅速变化意味着工程师必须主动追踪新技术、新工具和新方法。定期参加技术会议、阅读行业书籍和博客,都是提升自己的有效方式。
(2)软技能提升:
虽然技术技能至关重要,但软技能的提升同样不可忽视。有效的沟通、团队合作和情商都能够显著提高工作效率和团队氛围。作为工程师,要努力提升这些技能,以便在团队中发挥更大的作用。
(3)积极寻求反馈:
主动寻求同事、领导和用户的反馈,能够帮助自己识别改进的方向。通过接受反馈并进行自我反思,可以不断优化自己的工作方式和思维模式。
(4)明确职业目标:
制定清晰的职业发展目标并制定相应的计划,可以为职业成长提供方向感。这种规划不仅有助于个人成长,也能提升在团队中的价值。
(5)保持开放心态:
在技术领域,保持开放的心态对于成长至关重要。接受新思想、新观点,愿意尝试新方法,能够帮助工程师不断进步。
《构建之法》第八章:需求分析:
内容概述:
本章重点讨论了软件开发过程中需求分析的核心作用以及如何正确理解和管理用户需求。这一章强调了需求分析对项目成功的重要性,并详细介绍了如何通过有效的需求收集、管理和分析来确保最终产品能够满足用户需求。
(1)需求分析的重要性:
需求分析是软件开发的第一步,它直接决定了项目的方向和目标。准确的需求分析可以帮助团队避免后期的返工和需求变更带来的成本上升。它也是与用户沟通的桥梁,确保开发团队了解用户的真正需求。
(2)需求的类型:
本章介绍了几种常见的需求类型:
功能需求:用户希望系统具备的具体功能。
非功能需求:系统的性能、可靠性、可扩展性等方面的要求。
隐性需求:用户没有明确提出,但在使用过程中隐含的需求。
业务需求:与产品或系统直接相关的商业目标。
(3)需求收集的方式:
本章探讨了几种常用的需求收集方式,包括:
1.访谈:通过与用户面对面交流,了解他们的需求和期望。
2.问卷调查:分发问卷以获取大量用户的反馈信息。
3.用户观察:观察用户实际操作系统的过程,捕捉他们的潜在需求。
4.焦点小组讨论:聚集一群用户,进行集体讨论,挖掘深层次的需求。
5.原型测试:通过展示简单的产品原型,让用户进行测试并提供反馈。
(4)需求文档:
本章介绍了编写需求文档的重要性。需求文档应该清晰、详细且尽可能避免歧义。良好的需求文档不仅可以为开发团队提供明确的指导,还可以为后期的需求变更和验收提供参考依据。
(5)需求变更管理:
需求分析过程中,需求的变更是不可避免的。团队应设计合理的流程来管理需求变更,避免频繁修改对项目进度和质量的影响。通过建立变更控制委员会或采取其他流程化的方式,可以有效控制需求变更的影响。
(6)需求优先级:
需求往往是无限的,而资源是有限的。本章强调了需求优先级排序的必要性。开发团队和用户应共同参与需求优先级的讨论,确保最核心的需求能够优先得到实现。
(7)需求验证:
验证需求的正确性是需求分析的重要环节。通过用户确认、原型测试和验收标准等方式,确保需求符合用户的期望,并且可以通过开发实现。
本章还重点通过介绍NABCD模型,为软件工程师和项目团队提供了一种系统化的方法来分析和设计解决方案。
NABCD模型:
N(Need - 需求):
识别并定义用户的实际需求。明确痛点,了解市场中存在的需求缺口,确保解决方案能够有效解决用户的核心问题。
A(Approach - 方法):
解释和描述解决问题的具体方法。包括使用何种技术、流程、产品功能,详细阐述解决方案的执行策略,以及为何这种方法比现有的解决方案更优。
B(Benefit - 好处):
突出产品或服务带来的核心利益。回答“为什么用户要使用这个解决方案?”通过列出产品能提供的价值、改善的体验或是节省的成本,来展示其优势。
C(Competitors - 竞争):
分析市场上可能存在的竞争者或替代方案,并解释为什么你的解决方案更具优势。考虑市场中的其他参与者,了解他们的长处与不足,并解释你的产品如何能够脱颖而出。
D(Delivery - 交付):
最终如何将产品或服务推向市场?这里包括商业模式、市场推广策略、定价计划以及客户获取和维护方式,确保项目能以可行的方式实现并为用户所用。
该模型不仅强调了用户需求的重要性,还引导团队在项目各个阶段全面考虑优势、收益、成本和交付等关键要素。这种全面的方法有助于提高项目的成功率,确保开发出的产品能够真正解决用户的问题并带来可观的收益。
总结:
“需求分析”章节为软件开发提供了坚实的基础。通过合理的需求收集和管理,团队能够准确理解用户的期望,并确保开发的每一步都与这些需求相一致。清晰的需求分析能够有效减少开发中的误解和返工,同时通过对需求的动态管理,使项目能够灵活应对变化。在实践中,需求分析是一项需要沟通、敏锐的洞察力和系统化方法的综合性工作,是项目成功的关键环节。
二.基于NABCD模型的产品方案设计:
(1).引言:
本次作业基于《构建之法》第8章中的NABCD模型,设计了一个小程序来解决同学合作项目的困扰,小程序名为“徽常好康”。该名字既结合了我和另一位队友的名字,又寓意深刻。
小程序图标由我们小队自主设计,毫无侵权问题,图标如下所示:
(2).NABCD模型分析:
- 需求:学生希望能快速找到跨专业合作的伙伴和资源。
- 方法:设计一个小程序,用户可以注册并根据兴趣和专业寻找合适的项目伙伴。
- 收益:该系统将大大提高学生的合作机会,拓展他们的社交网络和项目经验。
- 竞争:目前校园内缺乏这样的整合平台,现有的微信QQ交流方式显得不那么正式而且不支持资源上传。
- 交付:系统将通过持续的用户反馈进行迭代,确保其功能的有效性与安全性。
(3).小程序项目分析:
我们的小程序界面交互设计是通过Axure Rp9这一软件实现的,这是我们的预览链接,
该小程序的大致功能可以利用产品结构图与用例图来呈现:
产品结构图:
用例图:
接下来是具体的各个界面的原型图以及功能介绍:
注册界面演示图:
注册界面:
进入注册界面后分为三步:
第一步:手机号绑定并获取验证码
第二步:设置密码并确认密码
第三步:注册成功
登录界面演示图:
登录界面:
在登录界面输入手机号和密码,(我们初始化账号与密码都是123456)并勾选同意《用户协议》和《隐私协议》后方可进行登录,同时你也可以选择记住密码方便下次直接登录,登录成功后会自动进入广场界面。
广场界面演示图:
广场界面上方包含比赛推广和搜索按键。
点击搜索按钮便可进入搜索界面进行关键词搜索,该界面还包含已经搜索的历史记录以及详细的分类例如重要比赛,获奖达人,最新资料等。
广场界面下方有推荐的用户信息。
点击最新可以查看更多用户。
点击用户信息方框便可查看用户的主页,浏览用户的仓库,对于感兴趣的用户可以关注并点赞,还可以私信进行聊天。
消息界面演示图:
在消息界面可以查看收到的点赞,新增的关注以及其他用户的评论。界面中还有合作伙伴的消息列表,点击合作伙伴的消息框即可与合作伙伴进行聊天商量项目的时间安排与具体细节。
个人中心界面演示图:
在个人中心中可以点击完善个人介绍填写学校,专业,参加比赛等,填写完后可以进行保存并发表,该界面还包含设置和去创作功能,在设置里可以查看小程序的各项具体设置,包含账号安全与帮助与反馈等,点击去创作按钮可以进行项目的创作和发表。
创作过程:
(4)通过以上内容我们来对项目的各种指标进行分析
- 实用性
使用频率:广场、搜索、创作和消息功能频繁使用,帮助用户快速找到项目和人才,创建新项目,以及与成员沟通。通过优化搜索功能和实时消息系统,提升用户体验,促进多次使用。
使用便利度:界面简洁清晰,功能模块划分明确,用户可轻松完成登录、项目创作、资源上传等操作。搜索功能配备历史记录和分类,减少用户重复输入的麻烦。消息界面支持实时沟通,方便快捷。
维护性:通过定期更新和维护系统,监控用户反馈,持续改进功能,确保系统的稳定性和高效运行。简化的界面和模块化设计,也使得后续维护工作更加便捷。 - 有效性
项目管理功能:提供全面的项目广场和个人项目管理功能,支持项目创建、保存草稿、发布项目,以及成员沟通与协作,确保高效管理项目。
实时沟通与反馈:消息界面支持实时聊天,有效提升团队协作效率。同时,提供用户反馈与评价功能,便于开发团队根据用户意见及时改进。
系统优化:通过智能化的搜索算法和快速响应的界面交互,确保用户在最短时间内获取有效信息,提升用户的整体使用效率。 - 安全性
登录与验证:使用徽常好康账号密码登录以及手机验证码注册机制,确保用户身份的真实性,避免非授权用户的访问。同时,在后台对登录请求进行加密处理,防止数据被非法窃取或篡改。
数据加密:所有用户的敏感信息(如账号密码、项目内容等)在数据库中存储时进行加密,确保数据在存储和传输过程中不会被泄露或窃取。
定期安全审查:定期对系统进行安全漏洞检测和补丁更新,防止恶意攻击和数据泄漏。采用多层防火墙和入侵检测系统,监控和防御潜在的网络威胁。 - 隐私性
必要信息收集:平台只收集用户注册和使用过程中最必要的个人信息,例如个人所在学院专业和手机号等等,避免过度采集与实际使用无关的资料,减少隐私泄露的风险。
明确隐私政策:平台将向用户明确展示隐私政策,例如在登录时需要勾选同意相关的隐私政策,增强用户对隐私管理的信任感。
隐私权保障:平台承诺不将用户的个人资料用于商业目的或分享给第三方,除非获得用户明确授权。
5.封闭性
资源上传功能仅限平台内部使用,确保资源在小程序内的相对封闭流通,减少外部人员访问敏感或专有信息的机会。 - 时效性
广场的实时性:平台中的广场会根据用户的操作进行实时更新,确保用户能够在第一时间看到最新的项目、人才和资源信息。
消息通知的即时性:平台的消息功能应具备实时通信能力,项目成员之间可以立即收到并回复消息,确保团队协作的时效性。 - 系统维护
定期更新与优化:为确保系统的长期稳定运行,定期进行系统更新,修复漏洞并添加新功能。同时保持对用户反馈的敏感性,及时响应用户需求。
备份与灾难恢复:系统定期进行数据备份,确保在发生意外情况下能够迅速恢复平台功能,保障项目和数据安全。
三.PSP表格以及交流讨论记录:
PSP表格
任务名称 | 任务描述 | 预估耗时 (小时) | 实际耗时 (小时) |
---|---|---|---|
沟通交流 | 基于问题的需求确定产品方向 | 2 | 1.5 |
产品分析 | 基于产品的需求分析产品的封闭性,实时性等 | 1 | 1.5 |
设计框架 | 对于产品的界面框架以及功能内容进行排版规划 | 3 | 2 |
原型图绘制 | 绘制各个界面的原型图并进行交互做出原型 | 6 | 8 |
完善与评估 | 完善产品的不足之处并评估产品 | 3 | 2 |
交流讨论记录
线上:
线下:
四.反思与总结:
这次的任务主要还是考验结队的分工和配合,在这一个过程中难免会遇到交流上的困难,完成结果与对方预期不同,在经历不断磨合后,双方的能力都会得到1一定的提高,我在此过程也学
会了如何制作原型图,用例图以及动图,收获还是颇多,过程总是艰难的,但是结局是如意的。