软件工程第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546
这个作业的目标 学习如何使用github的各项功能,并与组员一起完成团队介绍文件的编写
学号 102301436

团队主页

https://github.com/xuezong691/fzuteam_lakers

个人资料截图

image

自我技能评估

1. 深入掌握 C/C++ 编程,擅长面向对象开发,对基础算法和数据结构有全面且熟练的运用能力。
2.对数据挖掘与分析感兴趣
3.未曾参与过项目开发经验。

代码量

目前代码量:约1k行
完成本课程后希望达到代码量:3k左右

课程期望

1. 核心知识层面:系统掌握软件工程的基本理论与方法论,包括需求分析、系统设计(架构设计、模块设计)、编码规范、测试策略(单元测试、集成测试)及软件维护等全生命周期知识,理解不同软件开发模型(如瀑布模型、敏捷开发)的适用场景,形成对 “软件如何从概念转化为可交付产品” 的完整认知。

2. 软技能与思维层面:培养工程化思维与团队协作能力,在项目开发中学会明确角色分工(如产品、开发、测试)、高效沟通需求与问题、通过迭代优化提升软件质量,理解 “软件是团队协作产物” 的核心逻辑,为未来参与企业级软件开发积累协作经验。

3. 工具与实践层面:熟练运用软件工程领域的核心工具链,包括需求管理工具(如 Jira)、建模工具(如 UML)、版本控制工具(Git)、自动化测试工具(JUnit、Selenium)及项目构建工具(Maven、Gradle),同时深化对至少一门主流编程语言(如 Java、Python)及框架(如 Spring、Django)的工程化应用,提升代码可读性、可维护性与可扩展性。

以下学习指南由豆包生成

一、软件工程学习指南​

(一)基础认知阶段:建立学科框架​

  1. 先通过教材(如《软件工程:实践者的研究方法》)或慕课(Coursera “软件工程专项课程”),理解软件工程的核心定义 —— 它是 “用系统化、规范化、可度量的方法开发、运行和维护软件” 的学科,区别于单纯的 “编程”,更强调 “工程化思维”。​

  2. 梳理软件工程的核心目标:在规定时间、成本内,交付满足用户需求、质量可靠(可维护、可扩展、可测试)的软件产品,初步建立 “需求 - 设计 - 编码 - 测试 - 维护” 的全生命周期认知。​

(二)核心模块学习:拆解关键知识​

  1. 需求分析与管理:学习用例图(UML)、用户故事(User Story)等工具,掌握从 “用户模糊需求” 到 “清晰需求文档(SRS)” 的转化方法,推荐通过小型案例(如 “校园图书管理系统”)练习需求梳理。​

  2. 系统设计:重点学习架构设计(分层架构、微服务架构等)和模块设计(高内聚、低耦合原则),尝试用架构图工具(如 DrawIO)绘制小型系统的架构方案,理解 “设计决定软件扩展性” 的逻辑。​

  3. 编码与规范:以 1-2 门主流语言(Java/Python/C#)为基础,遵循编码规范(如 Java 的《阿里巴巴 Java 开发手册》),练习 “可读性优先” 的代码编写,避免陷入 “只追求功能实现,忽略代码可维护性” 的误区。​

  4. 软件测试:掌握单元测试(JUnit、Pytest)、集成测试的基本方法,理解 “测试不是‘找 bug’,而是‘验证软件是否符合需求’”,尝试为自己编写的小功能编写测试用例。​

  5. 项目管理:了解主流开发模型(瀑布模型、敏捷 Scrum),学习用 Jira 管理任务、用 Git 进行版本控制,理解 “迭代开发”“每日站会” 等协作机制的意义。​

(三)实践强化阶段:从 “学” 到 “用”​

  1. 个人小项目:从简单工具类软件(如 “个人记账 APP”“待办事项管理系统”)入手,完整走完 “需求分析→设计→编码→测试→部署(如用 Docker 简单部署)” 流程,记录每个环节遇到的问题(如需求变更如何应对)。​

  2. 团队协作项目:加入 2-3 人的小团队,模拟企业开发场景,分工负责需求、设计、编码、测试等角色,通过 Git 协作开发,体验 “需求沟通偏差”“代码合并冲突” 等真实问题的解决过程。​

(四)思维培养:跳出 “技术细节” 看工程​

  1. 成本与效率思维:在设计和编码时,思考 “当前方案是否会增加后续维护成本”“是否有更高效的开发工具或框架”(如用 MyBatis 简化 Java 数据库操作)。​

  2. 质量优先思维:理解 “早期修复 bug 的成本远低于后期”,在编码阶段就注重代码规范和单元测试,避免 “先实现功能,后续再优化” 的拖延心态。

学习指南分析

这份学习指南既兼顾了软件工程的学科特性,又贴近学习者的实际需求,无论是建立知识框架、培养工程思维,还是指导实践落地,都能提供切实的帮助,是一份适合初学者入门的实用指南。

博客后台截图

image

posted @ 2025-10-02 19:49  ahab_captain  阅读(20)  评论(0)    收藏  举报