软件工程第一次作业

软件工程第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546
这个作业的目标 创建并完善github账户及博客园账户,掌握markdown语法,掌握git基本命令的用法,熟练运用ai工具,明确自己具备的技能并做好职业规划
学号 102301524

markdown编辑截图

markdown编辑

Github团队主页搭建

团队仓库: https://github.com/XunBo2023/cuddly-umbrella

团队logo

团队标志

自我介绍: https://github.com/Halley7025/Halley7025/blob/main/README.md

自我介绍

个人评估

目前具备技能

  • c/c++、python、matlab基础,能写简单程序

感兴趣的方面

  • 对网络工程,人工智能感兴趣

目前缺少的能力

  • 缺少大型项目开发经验

代码量

  • 1k+

本学期学习目标

  • 希望代码量能达到2k+
  • 能完成一个项目

AI生成的学习指南

一、学习核心目标

软件工程的核心是以系统化、规范化、可度量的方法开发、运行和维护软件,核心目标聚焦“从‘写代码’到‘交付可靠软件产品’的思维转变”,具体拆解为3点:

  1. 理解软件从需求分析、设计、编码、测试、部署到维护的全生命周期流程;
  2. 掌握各环节的核心工具与方法,能独立完成小型软件项目的全流程落地;
  3. 建立“可维护、可扩展、高可用”的工程化思维,具备基础团队协作能力。

二、分阶段学习路径(适合新手,周期6-8个月)

阶段1:基础理论入门(1-2个月)

重点解决“软件工程是什么、为什么需要”的认知问题,避免后续实践陷入“盲目编码”误区。

  • 必学内容
    • 软件生命周期模型:瀑布模型(线性流程,适合需求明确场景)、敏捷开发(迭代式,如Scrum,适合需求多变场景)、DevOps(开发+运维一体化)的适用场景与优缺点;
    • 核心原则:模块化(拆分复杂功能)、信息隐藏(隐藏内部实现,暴露统一接口)、开闭原则(对扩展开放,对修改关闭);
    • 基础文档:需求规格说明书(明确“做什么”)、设计说明书(明确“怎么做”)的核心要素。
  • 推荐资源
    • 教材:《软件工程:实践者的研究方法》(入门经典,易懂且全面);
    • 课程:中国大学MOOC《软件工程》(清华大学,免费,配套案例丰富)。

阶段2:工具与方法落地(2-3个月)

用工具将理论转化为实操能力,覆盖全流程关键环节,形成“方法+工具”的落地闭环。

学习环节 核心方法 推荐工具
需求与原型设计 用户故事(用“角色-场景-目标”描述需求)、用例图(梳理用户与系统交互) Axure(画交互原型)、Draw.io(画用例图/流程图)
编码与协作 代码规范(如Java《阿里巴巴Java开发手册》、Python PEP8)、Git版本控制(分支管理、提交规范) VS Code(编码,配代码检查插件)、GitHub/GitLab(团队协作)
软件测试 单元测试(测试单个函数/模块)、接口测试(验证接口调用正确性) JUnit(Java测试)、PyTest(Python测试)、Postman(接口测试)
项目管理 任务拆分(按功能拆解为可执行小任务)、进度跟踪(记录任务完成情况) Jira(专业项目管理)、Trello(轻量任务看板)

阶段3:实战项目巩固(2-3个月)

通过“小而全”的项目验证学习成果,优先从个人项目入手,再过渡到团队协作:

  1. 个人项目(入门)
    • 示例:个人博客系统(实现“用户注册登录、发布/编辑/删除文章、评论管理”功能);
    • 目标:练手数据库设计(MySQL)、前后端基础交互(如 Python Flask/Java Spring Boot + 简单 HTML/CSS)、基础测试流程。
  2. 团队项目(进阶,3-5人)
    • 示例:在线投票系统(分工“需求分析、前端开发、后端接口开发、测试”);
    • 关键动作:用 GitHub 创建公共仓库,通过“分支开发、Pull Request 审核”协作,按流程输出需求文档、测试报告,模拟企业开发场景。

三、避坑与高效学习建议

  1. 拒绝“理论空转”:软件工程是实践学科,哪怕先做一个“待办事项APP”(实现增删改查),也比只看教材更能理解流程;
  2. 别忽视文档编写:新手常跳过“需求文档、设计文档”直接编码,导致后期需求变更时大规模改代码,初期可先写“简易笔记式文档”,明确核心逻辑;
  3. 多参考开源项目:去 GitHub 搜“spring-boot-demo”“flask-blog”等关键词,学习成熟项目的代码结构、文档规范和注释风格;
  4. 保持编码手感:每天花 30 分钟在 LeetCode 刷简单算法题(如数组、字符串处理),避免长时间不编码导致“手生”。

四、总结

软件工程的核心不是“学多少框架”,而是“建立‘系统化解决软件问题’的思维”。从理论入门打基础,用工具落地练技能,靠项目实战验成果,逐步推进就能形成完整的工程化能力,满足企业对软件开发的核心需求。

posted @ 2025-10-02 22:29  Halleyy  阅读(22)  评论(1)    收藏  举报