第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546
这个作业的目标 熟悉markdown语法,git,github基础功能
学号 102301310

个人资料
联想截图_20251004151606

团队主页的地址
https://github.com/zhangcaihan/ruanjiangongcheng
自我评估
具备能力:
目前具有一定的C/C++的基础:能够熟练使用 C/C++ 编译和调试工具,掌握基本语法结构和常用语法技巧,且学习过常见的数据结构(数组、链表、栈、队列、树、图)以及常用算法(排序、查找、递归、分治等),能够独立完成一些中小型算法题。
感兴趣方向:
对算法与实际工程结合 的方向比较感兴趣,尤其是算法如何在大型软件中发挥作用。对团队协作开发也有浓厚兴趣,想要学习如何使用工具与方法支撑多人开发
当下的不足:
目前对于团队合作方面能力欠缺。同时,我的代码量并不充足,半数来源于课时布置的作业,且没有参与过大型项目的经验,对于这些流程缺乏经验。
代码量和目标:
目前5000左右,希望通过这学期的学习能够将代码量翻倍。
期望学习的知识
期待系统学习软件开发的完整流程,从需求分析、设计到编码、测试与维护,能够充分体验多人项目的开发流程。
软件工程专业学习进阶指南
一、学科认知与基础构建阶段

  1. 学科本质理解
  • 明确软件工程与纯编程的区别:软件工程是"用系统化、规范化、可度量的方法开发、运行和维护软件"的工程学科
  • 理解软件的双重属性:技术属性(代码、架构)与工程属性(成本、进度、质量)
  • 建立"用户中心"思维:软件的价值在于解决实际问题,而非技术炫技
  1. 基础学科夯实
  • 数学基础:离散数学(逻辑、集合、图论)是算法与建模的根基;概率论与数理统计用于数据分析与测试
  • 计算机基础:操作系统(进程管理、内存模型)、计算机网络(TCP/IP协议栈、服务架构)、数据库原理(关系模型、事务ACID)
  • 编程入门:掌握至少一门主流语言(Java/Python/C++)的语法规范与基本编程范式
  1. 工程思维启蒙
  • 学习软件生命周期各阶段的核心任务与产出物
  • 理解"质量成本"概念:前期设计缺陷会导致后期指数级修复成本
  • 实践:绘制个人学习计划的"甘特图",模拟项目时间管理
    二、技术能力提升阶段
  1. 编程能力深化
  • 代码质量:学习《代码整洁之道》规范,掌握重构技巧,减少"坏味道"代码
  • 进阶特性:深入理解面向对象三大特性(封装、继承、多态),掌握函数式编程思想
  • 性能优化:学习时间/空间复杂度分析,掌握常见性能瓶颈解决方法
  • 实践:将大一写的"学生管理系统"重构,应用设计模式优化架构
  1. 开发工具精通
  • 集成开发环境:掌握断点调试、性能分析、插件配置等高级功能
  • 版本控制:熟练使用Git的分支策略(Git Flow)、代码审查(Pull Request)流程
  • 构建工具:Maven/Gradle(Java)、npm/yarn(前端)、CMake(C++)
  • 实践:搭建个人代码规范检查工作流,集成自动化格式化工具
  1. 专项技术突破
  • 后端开发:学习API设计规范(RESTful)、身份认证(JWT/OAuth)、ORM框架
  • 前端开发:掌握组件化思想、状态管理、前端工程化(模块化、打包优化)
  • 移动端:理解原生开发与跨平台方案的优缺点,掌握UI/UX实现原则
    三、系统设计与工程实践阶段
  1. 软件设计能力培养
  • 学习UML建模:用例图(需求分析)、类图(结构设计)、时序图(行为设计)
  • 掌握架构模式:分层架构、微服务、事件驱动架构的适用场景与设计要点
  • 接口设计:学习SOLID原则,设计高内聚低耦合的模块接口
  • 实践:为系统绘制完整设计文档,包含架构图与核心模块设计
  1. 测试与质量保障
  • 测试理论:单元测试、集成测试、系统测试的边界与实施方法
  • 自动化测试:学习JUnit/Selenium等工具,掌握测试驱动开发(TDD)理念
  • 质量指标:理解代码覆盖率、缺陷密度、性能指标(响应时间、吞吐量)
  • 实践:为之前开发的应用编写自动化测试套件,目标代码覆盖率≥70%
  1. 团队项目实战
  • 角色体验:在团队中至少担任过开发者、测试者、技术负责人等不同角色
  • 流程实践:完整执行一个敏捷迭代(计划→开发→评审→回顾)
  • 协作工具:熟练使用Jira(任务管理)、Confluence(文档协作)、Jenkins(CI/CD)
  • 实践:团队开发一个实用项目(如校园活动管理平台),经历完整生命周期
    四、学习建议
    循序渐进:从小功能入手,逐步扩展成完整系统。
    重视规范:坚持写注释、统一代码风格、完善文档。
    主动交流:积极参与小组讨论和代码评审,提升沟通与表达能力。
    持续积累:保持编程练习的连贯性,稳步提升代码量与项目经验。
    这份指南强调理论与实践的结合,注重从"写代码"到"做工程"的思维转变,适合作为软件工程专业学生3-4年的学习路线图。学习过程中建议保持技术敏感度,同时培养工程思维,为成为一名优秀的软件工程师奠定基础。
posted @ 2025-10-04 15:25  bfyyzxz  阅读(10)  评论(0)    收藏  举报