软件工程结对作业(第一次之需求分析和原型设计)
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261 |
这个作业的目标 | 学习使用原型软件并根据客户的需求来设计原型图、流程图,学会团队协作 |
学号 | 102201211 |
结对成员学号 | 102201317 |
一.《构建之法》阅读成果
第三章:软件工程师的成长
1.内容概述
第3章深入探讨了软件工程师从初学者到专家的成长之路,强调了技术技能、问题解决能力、软件设计思维、团队协作与沟通等多方面能力的综合提升。作者通过分享个人及业界经验,指出软件工程师应持续学习,关注新技术,同时培养良好的职业态度和道德观念。
2.阅读收获
2.1职业生涯路径的多样性
本章首先打破了传统意义上的单一职业路径观念,指出了软件工程师可以根据个人兴趣和发展意愿,选择不同的成长路线。无论是专注于技术深度,追求成为某一领域的专家;还是拓宽视野,转向项目管理或团队领导角色,都有其独特的价值和机遇。
2.2技能树的扩展
除了硬核的编程技能之外,软实力同样至关重要。沟通能力、团队协作、问题解决技巧以及持续学习的态度被高度强调。这些软技能不仅能促进工作效率,还能增强个人在职场中的影响力和适应力。
2.3终身学习的心态
技术行业变化迅速,保持好奇心和求知欲,主动寻求新知识,是每个工程师必须拥有的态度。定期参加培训课程、阅读专业文献、参与社区活动,甚至自学新技术,都是提升自我的有效途径。
2.4心态调整与抗挫力
软件工程师面临的挑战往往伴随失败和挫折。培养积极向上的心态,学会从失败中吸取教训,而不是沉溺于负面情绪,是非常重要的。建立心理韧性,对待工作和生活保持乐观和坚韧不拔的态度。
第八章:需求分析
1.内容概述
第8章详细阐述了需求分析在软件开发过程中的重要性,并介绍了NABCD模型作为需求分析的有效工具。NABCD模型从用户需求(Need)、做法(Approach)、好处(Benefit)、竞争(Competitors)、推广(Delivery)五个维度全面分析软件产品的市场定位和发展策略,帮助团队明确产品方向,减少开发过程中的不确定性和风险。
2.阅读收获
2.1需求分析的核心作用
本章开篇便强调了需求分析在软件开发过程中的核心地位,它不仅是项目启动的第一步,更是决定软件功能是否符合用户期待的关键环节。没有明确且详细的需求,后续的设计、编码和测试将缺乏方向,可能导致资源浪费和项目延期。
2.2NABCD模型的应用
NABCD(Need、Approach、Benefits、Competition、Delivery)模型被引入作为需求定义的有效工具。这一模型要求从用户需求、解决方案、利益、市场竞争和产品差异化的角度去思考和阐述需求,确保需求文档的完整性和说服力。
2.3需求生命周期管理
-
- 需求捕获与细化:通过各种沟通渠道和技术手段(如访谈、问卷、现场调研),全面搜集潜在用户和干系人的需求,将其转换为结构化的需求说明。此阶段需注重需求的清晰度、完整性和一致性。
-
- 需求验证与确认:利用原型设计、用户故事、使用案例和其他可视化工具,与干系人一同检验需求的可行性和适用性。通过反复讨论和修改,确保各方对需求有共同的理解,为下一步的设计和开发奠定坚实的基础。
-
- 需求管理与变更控制:建立需求跟踪矩阵,记录每一个需求的状态和历史,便于监控需求的进展和变更情况。设立严格的需求变更流程,包括变更请求的提出、评审、批准和实施,保障变更有序进行,防止因随意更改而导致项目混乱或失控。
二. NABCD模型分析(Need、Approach、Benefit、Competitors、Delivery)
需求 (Need)
用户群体:高校内的学生,尤其是那些有兴趣发起或参与跨学科学术或创业项目的个体。
具体需求:
- 找到来自其他专业背景的合作伙伴。
- 能够在一个平台上发布项目需求,吸引有相关技能的同学加入。
- 解决跨专业团队间的时间协调、目标统一和有效沟通等问题。
- 寻求持续的支持和资源,推动项目的发展。
Approach(方法)
开发一款在线平台,命名为"CrossCollab",旨在连接不同专业背景的学生,简化跨专业合作的过程。
平台功能包括但不限于:
- 项目列表:允许用户浏览现有的跨专业项目,按类别搜索,如科技、艺术、社会服务等。
- 技能匹配:智能推荐系统,根据用户的技能和兴趣自动匹配合适的项目。
- 沟通工具:内置聊天室和视频会议功能,方便团队成员远程协作。
- 目标设置与进度追踪:提供模板和工具,协助团队设定里程碑和跟踪项目进度。
- 资源中心:链接至外部资金来源、导师咨询和专业知识库。
Benefits(收益)
- 学生能够轻松发现和加入多元化的项目,扩大社交网络,丰富个人经历。
- 提升学生的跨学科合作能力,增加未来就业市场的竞争力。
- 促进校园内创新氛围,孵化更多高质量的学术和创业项目。
Competition(竞争分析)
- 当前存在少量校内外平台尝试连接不同领域的创意人士,但多数集中在特定区域或领域,且功能性较弱。
- "CrossCollab"通过其全面的功能集和服务范围,能够在竞争中脱颖而出,满足更广泛的需求。
Delivery(交付)
实施步骤:
- 需求调研:深入了解学生需求,明确平台功能定位。
- 宣传推广:通过校园媒体、社团合作等方式,提高平台知名度。
- 运营维护:持续优化平台功能,提供技术支持和用户反馈处理。
- 效果评估:定期收集用户反馈,评估平台效果,并根据评估结果进行调整优化。
三.思维导图展示
四.主要界面及功能展示
我们使用Balsamiq Mockups工具进行设计,链接:CrossCollab
1.实机演示
2.登录界面
3. 注册流程
4. “首页”界面
5. “团队”界面
5.1 加入团队
5.2创建团队
5.3我的团队
6.“项目”界面
6.1项目库
6.2发布项目
7.“我的”界面
7.1团队交流
7.2 设置与帮助
五.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 |
六.个人总结
102201211 池家益
在本次作业中,我通过阅读《构建之法》第3章和第8章,尤其是NABCD模型,深入理解了如何有效设计和构建软件系统。通过结对合作,我们讨论并细化了客户需求,明确了设计目标。这次作业让我进一步认识到系统设计不仅仅是实现功能,还需要兼顾用户体验、系统安全性和隐私保护等多个维度。
在实际操作中,我们使用了原型设计工具(Balsamiq Mockups)进行功能界面原型的开发,这让我体会到从需求到设计的过程充满挑战,尤其是将复杂的需求转化为简洁、易用的界面。在分工合作中,我也学到了如何与团队成员高效沟通,分配任务并完成整体目标。
虽然在需求分析和原型构建上花费了比预期更多的时间,但通过这个过程,我更加深刻地理解了系统设计和开发的全流程,并意识到时间管理和任务划分的重要性。未来我会更加关注这些细节,以提高效率和产出质量。
总的来说,这次作业让我不仅在技术层面有所提升,也锻炼了团队协作的能力,学会从全局的角度思考问题。
102201317 陈磊
个人总结
在本次作业中,我通过阅读《构建之法》第3章和第8章,尤其是NABCD模型,深入理解了如何有效设计和构建软件系统。通过结对合作,我们讨论并细化了客户需求,明确了设计目标。这次作业让我进一步认识到系统设计不仅仅是实现功能,还需要兼顾用户体验、系统安全性和隐私保护等多个维度。
在实际操作中,我们使用了原型设计工具(Balsamiq Mockups)进行功能界面原型的开发,这让我体会到从需求到设计的过程充满挑战,尤其是将复杂的需求转化为简洁、易用的界面。在分工合作中,我也学到了如何与团队成员高效沟通,分配任务并完成整体目标。
虽然在需求分析和原型构建上花费了比预期更多的时间,但通过这个过程,我更加深刻地理解了系统设计和开发的全流程,并意识到时间管理和任务划分的重要性。未来我会更加关注这些细节,以提高效率和产出质量。
总的来说,这次作业让我不仅在技术层面有所提升,也锻炼了团队协作的能力,学会从全局的角度思考问题。