软件工程第一次作业

软件工程第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546
这个作业的目标 一、基础工具准备(GitHub 、博客园)二、掌握基础的 Git 操作、AI 工具的使用、Markdown 文档的编写 三、协作搭建 Github 团队主页
学号 102301635

Github团队主页搭建

团队主页网址

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

成员资料截图

image

image

自我评估

一、目前已经具备的专业知识和能力

  1. 扎实的基础: 熟悉 C/C++
  2. 开发能力: 熟悉Git的使用

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

后端,算法

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

目前可以说是什么都不会,所以说是什么都缺

目前的代码量&结课之后希望达到的代码量

到目前为止,我打的代码基本都是在算法题,写了1000+题算法题,但是工程类的代码为0。希望本学期这门课完成后,工程类的代码增加5000行以上吧。

最期待在课程中能够学习到的知识与收获

  1. 从“只会写一些.cpp文件的算法题” 到
    “了解完整的开发过程”。过去写的各种大模拟算法只是问题的高度抽象与提炼,而实际的软件开发需要涉及多个模块。期待学习到一个软件从
    “用户有需求” 到 “最终能用”,每个阶段要产出什么,怎么把软件的一个功能拆成小模块实现,模块之间怎么对接才不会乱。
  2. 收获能落地的项目经验:拥有一个 “拿得出手的小项目”;解决实际问题的思维;积累关于开发过程的细节与坑点的经验。

软件工程课程学习指南

一、课程核心目标

  1. 理解软件工程的基本概念、原则与价值,明确其在软件开发中的作用(解决大型 / 复杂软件项目的质量、效率、可维护性问题)。

  2. 掌握软件开发生命周期各阶段的核心流程、方法与工具。

  3. 具备参与小型软件项目开发的能力,能运用软件工程思想解决实际问题。

  4. 培养团队协作、需求分析、风险管控等工程化思维。

二、主要学习内容模块

(一)基础理论模块

  • 核心知识点:软件工程定义、软件危机与解决方案、软件质量属性(可靠性、可扩展性、易用性等)、软件分类(系统软件、应用软件、支撑软件)。

  • 学习重点:理解 “工程化” 对软件开发的意义,区分软件工程与单纯 “编程” 的差异。

(二)软件开发生命周期(SDLC)模块

  1. 开发模型:瀑布模型(线性流程,适合需求明确场景)、敏捷模型(迭代开发,如 Scrum、Kanban,适合需求多变场景)、原型模型(快速构建 demo 验证需求)等,需掌握各模型的适用场景与优缺点。

  2. 各阶段核心任务

  • 需求分析:学习需求获取(访谈、问卷、用例图)、需求文档(SRS)编写,明确 “软件做什么”。

  • 软件设计:分为概要设计(模块划分、架构设计,如 MVC)和详细设计(接口设计、数据结构设计),掌握 UML 图(类图、时序图)工具。

  • 编码实现:结合编程语言(如 Java、Python),遵循编码规范(命名、注释、代码复用),理解模块化、高内聚低耦合原则。

  • 测试阶段:学习测试类型(单元测试、集成测试、系统测试、验收测试)、测试方法(黑盒测试、白盒测试),掌握基础测试工具(如 JUnit、Selenium)。

  • 部署与维护:了解软件部署流程(环境配置、版本发布),以及维护类型(纠错性维护、适应性维护、完善性维护)。

(三)项目管理与协作模块

  • 核心内容:项目计划(进度安排、资源分配、成本估算)、风险管理(风险识别、评估与应对)、团队协作工具(Git 版本控制、Jira 任务管理、Confluence 文档协作)。

  • 学习重点:掌握 Git 基本操作(提交、分支、合并、冲突解决),理解团队开发中的角色分工(产品经理、开发工程师、测试工程师)。

三、实用学习方法

  1. 理论结合实践
  • 课后完成小型案例(如开发一个简单的待办事项 APP),将需求分析、设计、编码、测试流程完整走一遍。

  • 参与小组项目,模拟真实团队开发场景,练习协作与沟通。

  1. 工具实操优先
  • 主动安装并使用核心工具(Git、DrawIO 画 UML 图、Jira),通过 “边做边查文档” 替代单纯记理论。
  1. 案例复盘学习
  • 分析经典项目案例(如开源项目的架构设计、迭代过程),或研究软件失败案例(如因需求变更失控导致的项目延期),总结经验教训。
  1. 定期梳理知识框架
  • 用思维导图整理 SDLC 各阶段的流程、方法与工具,形成 “知识点关联网络”,避免碎片化记忆。

四、推荐学习资源

  1. 教材:《软件工程:实践者的研究方法》(经典入门教材,案例丰富)、《敏捷软件开发:原则、模式与实践》(聚焦敏捷模型)。

  2. 在线课程

  • Coursera《Software Engineering Essentials》(IBM 开设,侧重实践)。

  • 慕课网《软件工程导论》(国内高校课程,贴合课程大纲)。

  1. 工具文档与社区
  • Git 官方文档(https://git-scm.com/doc)、Jira 官方教程(Atlassian Academy)。

  • Stack Overflow(解决开发与测试中的实际问题)、GitHub(参考开源项目的开发流程)。

五、分阶段学习计划(示例,可根据课程进度调整)

阶段 时间(建议) 核心任务
基础阶段 第 1-2 周 学习软件工程基础概念、SDLC 流程,掌握 Git 基本操作
进阶阶段 第 3-8 周 分模块学习需求分析、设计、编码、测试,完成 1 个单人小项目
实战阶段 第 9-16 周 参与小组项目,运用敏捷模型迭代开发,完成测试与部署
复盘阶段 课程最后 2 周 整理项目文档,复盘学习漏洞,补充薄弱模块(如风险管理)

对学习指南的感想

我觉得很有用,使我对这门课有了一个更加清晰的认识,了解一个大致的学习方向

markdown编辑界面截图

image

posted @ 2025-10-06 20:46  51222222  阅读(18)  评论(0)    收藏  举报