第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546
这个作业的目标 了解git操作,熟练掌握使用markdown的使用方法,增强团队协作能力
学号 102301337

团队网站

https://github.com/b-yx/EchoLogic

个人资料截图

1a3068f0bbccec9d493b99d5f49fe4af

团队LOGO

0b733d8d961d8744f84eca153c260c19

自我评估

一、具备的专业知识和能力

已熟练掌握c,c++这两门语言的基本语法,例如指针、数组、结构体,能实现链表的增删改查操作

二、对哪类技术方向有兴趣

我对人工智能和机器学习方向有着浓厚的兴趣,希望能探索 AI 在医疗、教育等领域的合规落地,平衡技术效率与数据隐私、伦理安全。

三、觉得自己还缺少的能力

在软件工程领域,对前沿技术与发展趋势的认知常显滞后和表层,尚未形成持续学习、深度追踪新技术的惯性与能力,容易与行业演进节奏脱节。

目前的的代码量及结课后希望能达到的代码量

目前我编写的代码量大约在 5000 行左右
结课后希望达到的代码量:8000行

对课程的期待

希望在软件工程这门课上,我能系统掌握从需求分析到测试部署的全流程,熟悉 Git、敏捷等实用工具与方法,写出更规范易维护的代码;同时跳出单纯编码的局限,建立 “解决问题 + 风险预判” 的工程思维,理解团队分工并学会高效沟通;也期待通过实战项目,应对需求变更、进度把控等真实问题,积累拆解复杂任务的能力,为后续实习和工作打下基础。

软件工程课程学习指南

一、学习前准备:打好基础,明确方向

(一)知识储备

  1. 回顾核心编程知识

    软件工程课程涉及代码编写与优化,课前需回顾已学编程语言(如 Java、Python)的基础语法(循环、条件判断、函数定义等),避免因语法问题影响核心内容吸收。同时复习数据结构(数组、链表、栈、队列、树、图)与算法(排序、查找)的原理及应用场景 —— 在软件设计中,合理选择数据结构与算法是提升软件性能的关键技术考量。

  2. 了解软件开发常识

    通过行业文章、科普视频等渠道,初步掌握软件开发全流程(如 App 从需求提出到上线的核心阶段),认识产品经理、开发工程师、测试工程师等角色的核心职责,为后续学习团队协作与角色分工奠定基础。

(二)工具准备

  1. 安装必备软件

    根据课程要求提前部署工具,具体包括:

  • 版本控制工具(Git):从官网下载对应系统安装包,完成基础配置(设置用户名 / 邮箱、生成 SSH 密钥);

  • 项目管理工具(Jira/Trello):注册账号并熟悉基础操作(创建任务、分配责任人、设置任务状态);

  • 开发框架环境:若课程涉及特定框架(如 Spring Boot、Django),提前下载并配置开发环境,避免课堂实操浪费时间。

  1. 整理学习资料
  • 建立专属文件夹,按 “课程章节”“工具类型” 分类存放课件、文档、操作手册;

  • 安装笔记软件(Notion、印象笔记),随时记录学习疑问与重点内容,便于后续查阅。

二、课堂学习:专注高效,积极参与

(一)认真听讲,抓准重点

  1. 聚焦核心概念与逻辑

    课堂重点关注软件工程核心概念,包括:

  • 软件生命周期(需求分析→设计→编码→测试→维护)各阶段的目标、任务与常用方法;

  • 项目管理模型(瀑布模型、敏捷模型、螺旋模型)的适用场景与优缺点。

    需注意:不仅要记忆定义,更要理解逻辑(如 “为何部分项目适合敏捷模型,部分适合瀑布模型”)。

  1. 记录关键案例与技巧

    老师讲解的实际案例需详细记录 “背景→问题→解决方案→效果”,借助案例理解抽象理论;同时标注实用技巧,例如:

  • 需求分析时与 “用户” 的高效沟通方法;

  • 代码评审的核心检查项;

  • 测试用例设计的常用思路(等价类划分、边界值分析)。

(二)主动互动,深化理解

  1. 积极提问

    遇到疑问(如模型执行步骤、工具操作问题)及时举手,提问时需清晰描述困惑,例如:“老师,敏捷开发迭代中若需求发生重大变更,该如何调整计划?”,帮助老师精准解答。

  2. 参与小组讨论

    讨论环节主动分享观点(如 “某项目需求优先级排序的依据”),同时倾听同学视角,通过交流碰撞梳理思路,深化对知识点的理解。

(三)重视实操,及时解决问题

  1. 紧跟老师操作

    实操环节(如 Git 代码提交、Jira 任务创建)集中注意力,每完成一步核对结果;若出现错误,先对照步骤自查(命令输入、软件设置),定位问题根源。

  2. 主动寻求帮助

    自查无果后,及时向老师或操作成功的同学请教,清晰说明 “操作步骤 + 错误提示”,避免问题堆积影响后续学习(如项目推进受阻)。

三、课后巩固:及时复盘,强化记忆

(一)整理笔记,梳理知识框架

  1. 当天完成笔记整理

    课后按 “知识点分类”(软件工程基础概念、开发流程、项目管理方法、工具使用)梳理笔记,用简洁语言重述核心内容;对复杂流程(如软件测试流程),可绘制流程图辅助理解(例:单元测试→集成测试→系统测试→验收测试的顺序与重点)。

  2. 构建知识体系

    每周花 1-2 小时,以 “软件生命周期” 为主线,串联各阶段知识点(需求分析方法→设计原则→编码规范→测试类型→维护内容),明确阶段间的衔接逻辑,避免知识点碎片化。

(二)完成作业,检验学习效果

  1. 独立完成基础作业

    理论类作业(简答、选择)需独立完成,不确定的知识点查阅笔记与教材;批改后分析错题原因,对争议答案及时向老师确认。

  2. 认真对待编程与设计作业

    按软件工程规范完成:

    1. 明确需求→分析实现思路;

    2. 进行基础设计(模块划分、类设计);

    3. 编码并自测(检查功能实现、语法与逻辑漏洞);

    4. 整理作业报告(需求分析、设计思路、实现过程、测试结果、问题与解决方案)。

(三)拓展学习,补充知识盲区

  1. 阅读推荐资料

    选择性阅读老师推荐的书籍(如《软件工程:实践者的研究方法》)、论文或行业报告,深入理解理论与实践;通过报告关注领域趋势(DevOps、AI 在软件工程中的应用)。

  2. 观看学习视频

    在 MOOC 平台(Coursera、中国大学 MOOC)或技术社区(B 站、YouTube)查找优质视频,针对薄弱知识点(如敏捷开发实践、测试工具 Jest 使用)补充学习,借助直观演示快速掌握复杂操作。

四、项目实践:学以致用,积累经验

(一)项目启动阶段:明确目标,做好规划

  1. 深入理解项目需求
  • 与小组成员共同研读需求文档,明确功能目标、用户群体、性能要求;

  • 对模糊需求及时与老师确认,通过小组会议梳理 “需求清单”,避免开发方向偏差。

  1. 制定项目计划

    1. 拆分任务:将项目拆解为 “需求分析报告撰写→系统设计→模块编码→测试” 等子任务,明确内容、负责人与截止时间;

    2. 选择管理方法:如采用敏捷开发,确定 Sprint 迭代周期与各迭代目标;

    3. 录入工具:将计划录入 Jira/Trello,方便跟踪进度。

(二)项目开发阶段:分工协作,注重质量

  1. 明确分工,高效协作
  • 按成员特长分工(设计、编码、测试),确保职责清晰;

  • 定期召开每日站会,同步任务进展;

  • 用 Git 规范代码管理(分支策略、提交流程),避免冲突。

  1. 重视代码质量与设计规范
  • 遵守编码规范(命名、注释),保证代码可读性与可维护性;

  • 按设计方案开发,修改设计需小组讨论并评估影响;

  • 完成模块编码后自测,排查功能与逻辑问题。

(三)项目测试与交付阶段:全面测试,总结复盘

  1. 开展多维度测试

    小组共同完成:

  • 单元测试:验证单个模块功能;

  • 集成测试:检查模块间接口;

  • 系统测试:测试功能、性能、兼容性;

  • 用户验收测试:模拟用户场景验证需求匹配度。

    发现问题及时记录、分配修改,复测直至解决。

  1. 完成项目交付与复盘
  • 整理交付资料(需求报告、设计文档、源代码、测试报告、用户手册)并提交;

  • 召开复盘会议:分析进度延期原因(需求变更、分工问题)、协作漏洞(沟通不及时),提出改进措施,积累实践经验。

五、常见问题应对:主动解决,避免卡顿

(一)理论知识理解困难

  1. 用案例辅助:查找与理论(如项目管理模型)相关的实际项目案例,分析应用场景与逻辑;

  2. 小组讨论:与同学针对难点交流,通过多角度理解找到适合自己的思路;

  3. 请教老师:讨论无果后,让老师用通俗语言或更多实例讲解。

(二)工具操作不熟练

  1. 查教程:阅读官方文档或基础教程,反复练习核心操作(如 Git 拉取 / 提交代码、解决冲突);

  2. 整理笔记:记录工具使用常见问题与解决方案,便于快速查阅;

  3. 向同学学习:观察操作熟练的同学的方法,学习实用技巧(如 Git 快捷键)。

(三)项目协作出现矛盾

  1. 及时沟通:召开小组会议,让成员充分表达诉求,避免情绪化争吵;

  2. 聚焦目标:以项目完成为核心,针对矛盾点(如意见分歧、分工不均)寻找折中方案;

  3. 寻求协助:内部无法解决时,向老师反馈并请求调解,确保项目正常推进。

后台博文编辑页面的截图

bc0019932db1b0850c48425e7c3cec02

posted @ 2025-10-06 18:37  7iou  阅读(8)  评论(0)    收藏  举报