软件工程第一次结对作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261 |
这个作业的目标 | 了解敏捷开发、NABCD模型相关知识,完成原型开发 |
学号 | 182200311 |
结对队友 | 112200629赵弈茗 |
一、《构建之法》阅读成果
1.第三章 软件工程师的成长
(1)个人能力的衡量与发展
①软件工程师的成长:
1)积累软件开发相关知识、提升技术技能的掌握;对于某一开发平台的掌握
2)积累问题领域的知识和经验
3)对通用的软件设计思想和软件工程思想的理解
4)提升职业技能
5)实际成果
②软件开发的工作量和质量的衡量:
1)项目/任务有多大
2)花了多少时间
3)质量如何
4)是否按时交付
(2)软件工程师的职业发展
①考级
②SteveMcConnell提出的知识和能力和职业成长级别
③大公司的软件工程师职业等级
④自我评估
(3)技能的反面
精通!=把时间花在解决低层次问题而不是待考察的高层问题
2.第八章 需求分析
(1)软件需求
①找到需求
1)获取和引导需求
2)分析和定义需求
3)验证需求
4)在软件产品的生命周期中管理需求
②需求分类
1)对产品功能性的需求
2)对产品开发过程的需求
3)非功能性需求
4)综合需求
(2)软件产品的利益相关者
①用户
②顾客
③市场分析师
④监管机构
⑤软件工程师
(3)获取用户需求
①焦点小组
②深入而谈
③卡片分类
④用户调查问卷
⑤用户日志研究
⑥人类学调查
⑦眼动跟踪研究
⑧快速原型调研
⑨A/B测试
(4)竞争性需求分析的框架
①N(Need,需求):你的创意解决了用户的什么需求?
②A(Approach,做法):你有什么独特的招数来解决用户的痛苦?
③B(Benefit,好处):你的这个产品会给客户带来什么好处?
④C(Competitors,竞争):你的产品如果不是最先进入市场的,你还能赢吗?
⑤D(Delivery,推广):怎样把你的创新产品教导用户的手中?
(5)功能的定位和优先级
①杀手功能(Core)/外围功能(Context)
②必需需求(Mission Critical)/辅助需求(Enabling)
(6)计划和估计
Y=X±X÷N
(7)分而治之
二、项目分析
1.NABCD分析
(1)Need(需求分析)
①必需需求:
1)跨专业合作难:学生难以在校园内有效找到来自不同专业的合作伙伴,限制了创新项目的启动与发展。
2)资源与信息不对称:学生缺乏一个统一的平台来展示项目需求、寻找合作伙伴、共享资源和信息。
3)合作管理困难:合作过程中存在时间协调、目标对齐、沟通效率等问题。
4)持续支持不足:项目启动后缺乏持续的资源、指导和评估机制
②辅助需求:
1)安全性:确保用户信息、项目数据不被非法获取或滥用。
2)隐私性:保护用户个人隐私,如联系方式、项目细节等。
3)封闭性:维护校园内用户的专属空间,避免外部无关人员干扰。
4)实用性:平台功能需满足学生实际合作需求,易于上手。
5)有效性:提高合作匹配效率,促进项目成功落地。
(2)Approach(解决方案)
解决方案:设计一款名为“CrossProLink”的校园跨专业合作平台(APP/小程序)。
主要功能:
①项目发布与浏览:
学生可发布项目需求,包括项目简介、所需技能、预期成果等;同时浏览其他项目,寻找感兴趣的合作机会。
②智能匹配:
基于项目需求和学生技能标签,实现智能推荐合作伙伴。
③在线沟通工具:
内置即时通讯功能,便于团队成员间高效沟通。
时间管理与任务分配:提供项目日程管理、任务分配与跟踪功能,确保合作进度。
④资源共享:
设立资料库,上传共享项目相关资料、学习资料等。
认证与评价体系:学生需通过学校邮箱或学号认证加入,项目完成后可相互评价,建立信誉体系。
⑤注册与认证:
学生通过学校邮箱或学号注册,系统自动验证身份,确保用户为在校学生填写个人基本信息及技能标签,完成初步认证。
⑥添加与删除:
用户可自由添加项目、发布需求或申请加入项目。
项目负责人可管理团队成员,包括添加、删除成员及调整权限。
(3)Benefit(解决方案的优势)
①拓宽合作渠道:打破专业壁垒,让学生更容易找到志同道合的合作伙伴。
②提升合作效率:通过智能匹配、在线沟通等功能,加速项目启动与推进。
③增强实践能力:参与跨专业项目,提升学生综合能力和社会竞争力。
④建立信誉体系:通过评价体系,激励学生诚信合作,形成良好合作氛围。
⑤保障安全与隐私:严格的认证机制和数据加密技术,确保用户信息与项目数据安全。
(4)Competition(同类化产品的竞争优势分析)
①现有校内社群与论坛:虽提供交流平台,但缺乏专业性和针对性,匹配效率低。
②外部创业合作平台:虽资源丰富,但用户群体广泛,可能包含非学生用户,且需付费使用。
③自建微信群/QQ群:虽灵活便捷,但管理混乱,信息易丢失,难以形成系统化管理。
(5)Delivery(交付方案)
①初期推广:与学校合作,通过校园广播、海报、社交媒体等渠道进行宣传。
②用户反馈:收集首批用户反馈,不断优化产品功能与用户体验。
③合作拓展:与校内外组织、企业建立合作关系,引入更多资源与机会。
④持续维护:定期更新软件版本,修复漏洞,确保系统稳定运行。
⑤安全监控:建立安全监控机制,及时发现并处理潜在的安全威胁。
2.特性分析
(1)使用频率
(2)便利度
(3)有效性
(4)安全性与隐私性
三、流程图
四、用例图
五、原型设计效果演示
1.总览
使用墨刀制作,链接如下:
https://modao.cc/proto/0arNXyAQskbod8oOi0VPWu/sharing?view_mode=read_only
2.登录注册界面
制作了密码登录、验证码登录、忘记密码、新用户注册四个界面,点击相应按钮即可跳转到相应界面。
3.首页
首页会显示别人发布的项目,可以点击查看项目详情,也可以搜索项目。
4.消息界面
消息界面可以选择查看联系人消息、群组消息、系统信息,可以点进去查看对话窗口。
5.我的项目界面
分为我创建的项目和我加入的项目两类。点击加号可以创建项目。这里展示我的项目界面、创建项目界面和我创建的一个项目的详情界面。
6.个人界面
可以点进相应按钮查看相关信息。这里展示个人界面和备忘录界面。
六、工作流程
1.任务规划
结对讨论任务内容、划分及规划。
洪闽南负责整体项目规划,包括目标设定、需求分析及NABCD模型应用、撰写项目概述、背景分析及系统整体架构设计部分。
赵弈茗选择并学习原型工具、原型设计,设计系统的主要界面原型,确保界面友好且符合用户使用习惯。设计流程图,详细说明用户操作流程及系统内部逻辑。负责安全性、隐私性及封闭性措施的设计与实施。编写技术细节、系统维护方案及安全保障措施部分。
2.阅读《构建之法》
3.需求分析
4.绘制流程图、用例图
5.原型设计
6.编写博客
7.总结和交流
在项目实施过程中,我们保持定期沟通,确保双方对项目进展、问题及解决方案有清晰的认识。通过即时聊天软件等工具,我们及时分享各自的工作成果,并就遇到的问题进行讨论和决策。同时,我们鼓励相互之间的正面反馈,以激励彼此更好地完成任务。
七、PSP表格
PSP阶段 | 预估耗时(小时) | 实际耗时(小时) |
---|---|---|
阅读《构建之法》 | 1 | 1 |
需求分析与设计 | 2 | 2.5 |
绘制流程图、用例图 | 0.5 | 0.5 |
原型设计 | 9 | 10 |
总结、讨论与优化 | 2 | 2 |
编写博客 | 1 | 0.5 |
八、个人总结
赵弈茗:
回顾本次作业,我深感自己在技术细节和系统安全性方面的能力得到了显著的提升。在洪闽南的带领下,我们共同完成了项目的需求分析、流程图设计及部分技术实现工作。通过这次实践,我不仅加深了对软件开发流程的理解,还学会了如何运用专业知识来解决实际问题。未来,我希望能继续深入学习相关知识,提升自己的技术水平,为团队贡献更多的力量。同时,我也期待能参与更多类似的项目,以锻炼自己的实战能力和团队协作能力。
洪闽南:
经过本次作业的实践,我深刻体会到了团队协作的重要性。在赵弈茗的协助下,我们成功地完成了项目的整体规划、界面设计及部分技术实现工作。通过这次经历,我不仅提升了自己的项目管理能力和系统设计能力,还学会了如何更好地与他人沟通协作。未来,我希望能将这次作业中学到的知识和技能应用到更多的项目中,不断提升自己的专业素养和实践能力。