第一次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24 |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/homework/15628 |
| 我的学号 | 3124004394 |
一、准备工作完成情况
- 已注册GitHub账号,完善个人头像、昵称、个人简介等所有信息,账号可正常使用;
- 已注册博客园账号,搭建个人技术博客,完成昵称、头像设置,自定义博客园页面样式(如主题、字体、侧边栏布局等);
- 已进入博客园班级博客,确认成功加入对应班级。
二、GitHub团队主页搭建
-
团队仓库基础信息
团队公共仓库地址:【 https://github.com/meowmiao228/SoftwareEngineering.git 】
仓库由【崔剑浩】创建,为Public Repository类型,所有组员均已获取仓库操作权限。 -
团队介绍
【我们是软件工程(3)班的作业小组,致力于通过实践掌握版本控制、团队协作与文档编写能力,共同完成课程项目,提升工程化开发思维。】 -
个人成员介绍(3124004394)
(1)个人基本信息
兴趣爱好:【阅读】
个人特色经历:【无】
(2)专业能力与自我评估
- 已具备的专业知识和能力:
① 【熟练掌握Python基础语法,能独立编写简单的脚本程序,处理数据清洗、简单算法实现等需求】
② 【了解HTML/CSS基础,能完成简单静态网页的搭建,熟悉常用标签和样式属性】
③ 【掌握Git基础操作(clone/commit/push/pull/分支创建),能独立完成代码的版本管理和团队仓库协作】
④ 【具备基础的软件工程思维,了解需求分析、模块化设计的基本概念】 - 技术兴趣方向:【后端开发】
- 待补充/需学习的能力:【框架的实际应用、大型项目的架构设计、团队协作的流程规范、性能优化】
(3)未来三年发展设想
发展目标:【入职互联网企业从事Java后端开发工作】
选择理由:
- 【个人对专业知识的深入学习有强烈需求,为后续从事高端技术工作打下基础】
- 【希望快速进入行业实践,将课堂知识转化为实际项目经验,在工作中积累工程化能力,适配企业的技术需求】
- 【追求职业稳定性,契合个人职业规划和生活需求】
【附】个人资料截图
【
】
三、团队Logo设计与实现
-
团队Logo展示
【![image]()
】 -
设计工具选择
本次使用【ChatGPT+DALL-E/MidJourney/Craiyon/Grok】完成Logo文生图创作 -
设计理念
结合团队【技术栈、团队愿景、团队个性】进行设计,Logo的【颜色、图案】分别代表:
- 颜色:【黑色代表专业与严谨,白色代表纯粹与简洁】
- 图案:【黑猫是“键盘猫”的经典形象,象征团队在面对复杂需求时,能像猫一样反应迅速、应对自如。键盘则点明团队的核心工作是编程与软件开发。】
- 生成过程
- 团队讨论确定Logo的核心关键词:【如:软件工程、团队名称、技术栈、简约、科技感】;
- 使用AIGC工具输入提示词,多次调试参数(如风格、比例、色彩),生成多版初稿;
- 团队投票筛选出最优版本,进行细节微调(如裁剪、色彩校准),确定最终Logo;
- 将Logo文件上传至团队GitHub仓库根目录,在README中完成嵌入展示。
四、个人技能树与技术偏好
-
现有技能树(分维度梳理)
| 技术领域 | 掌握程度 | 具体能力描述 |
| ---- | ---- | ---- |
| 编程语言 | 【入门】 | 【Python:入门,能实现循环、函数、类的基础编写;C语言:熟练,能完成数据结构相关代码实现】 |
| 前端技术 | 【了解】 | 【JavaScript:了解,能实现简单的页面交互】 |
| 工具使用 | 【熟练】 | 【Git:熟练,能完成团队仓库协作;Markdown:熟练,能编写规范的文档;IDE:掌握PyCharm/VS Code的基础操作】 |
| 软件工程基础 | 【了解】 | 【如:了解软件生命周期、需求分析、模块化设计的基本概念;能完成简单的项目需求文档编写】 | -
技术偏好
核心兴趣方向:【后端开发、软件测试、全栈开发、人工智能工程化等】
偏好原因:【对后端的业务逻辑设计和数据处理感兴趣,认为后端是软件项目的核心支撑;喜欢测试工作的严谨性,希望通过测试保障软件质量】 -
能力短板与提升方向
- 短板:【缺乏实际项目开发经验,对框架的使用不熟悉;团队协作的流程规范了解不足;代码的可读性和可维护性有待提升;数据库的高级操作(如索引、事务)未掌握】
- 提升方向:【多参与实战项目,学习主流框架(如Django/SSM);熟悉GitFlow等团队协作规范;刻意练习代码的注释和模块化设计;系统学习数据库进阶知识】
五、代码量统计与目标
-
当前代码量
累计编写有效代码量:【2000行】,涉及语言主要为【Python/C/HTML等】,主要用于【课程作业、小项目实践、算法练习等】。 -
本学期课程代码量目标
完成《软件工程》课程学习后,希望累计有效代码量达到【20000行】,其中课程相关项目代码量不低于【10000行】,同时注重代码的质量(可读性、可维护性、规范性)而非单纯的行数。
六、课程学习期待
希望通过《软件工程》课程的学习,收获以下知识和能力:
- 系统掌握软件工程的核心理论和流程,包括需求分析、概要设计、详细设计、编码、测试、维护的全生命周期管理;
- 学会团队协作开发的方法和工具,掌握项目分工、需求评审、代码评审、版本控制的实际操作流程;
- 提升项目设计能力,能独立完成小型软件项目的需求分析和架构设计,编写规范的设计文档和需求文档;
- 了解软件测试的方法和工具,掌握单元测试、集成测试的基本实现,提升软件质量把控能力;
- 积累实际的团队项目开发经验,将课堂知识转化为项目实践能力,为后续的职业发展或考研深造打下工程化基础;
- 学习行业内的软件工程最佳实践和规范,培养良好的编码习惯和项目管理思维。
七、软件工程学习指南(AIGC生成+分析)
-
生成工具选择
本次使用【通义千问】生成软件工程学习指南。 -
生成的学习指南
【这是一份为您定制的《软件工程》学习指南。考虑到当前时间是2026年,这份指南不仅涵盖了经典理论,还融入了近年来(2024-2026)行业对AI辅助开发、云原生架构和DevSecOps的最新要求。
📘 软件工程 (Software Engineering) 学习指南 (2026版)
🎯 课程目标
本课程不仅仅是学习“如何写代码”,更是学习如何以工程化的思维,在有限的时间和资源下,构建高质量、可维护且满足用户需求的软件系统。
核心转变:从 Coder (编码者) 思维转向 Engineer (工程师) 思维。
🗺️ 学习路线图
第一阶段:基石与思维转变 (第1-3周)
核心主题:什么是软件工程?为什么需要它?
软件危机与工程化起源
理解为什么“能运行的代码”不等于“好的软件”。
关键概念:技术债务 (Technical Debt)、软件生命周期 (SDLC)。
现代开发模式概览
对比:瀑布模型 (Waterfall) vs. 敏捷开发 (Agile) vs. DevOps。
2026视角:了解 AI-Native 开发流程,即人类作为架构师/审查者,AI作为主要执行者的协作模式。
需求工程 (Requirements Engineering)
如何挖掘用户真实需求(而非他们口头说的需求)。
产出物:用户故事 (User Stories)、用例图 (Use Cases)、PRD文档撰写。
💡 实践任务:选择一个简单的想法(如“校园二手交易小程序”),写一份包含5个核心用户故事的简短需求文档。
第二阶段:设计与架构 (第4-7周)
核心主题:在写代码之前,先想清楚结构。
系统设计基础
高内聚、低耦合 (High Cohesion, Low Coupling)。
模块化设计原则。
设计模式 (Design Patterns)
不必死记硬背23种,重点掌握高频模式:单例、工厂、观察者、策略、适配器。
重点:理解模式是为了解决什么具体问题,而不是为了用而用。
架构风格
单体架构 (Monolith) vs. 微服务 (Microservices) vs. 事件驱动架构。
2026视角:Serverless (无服务器) 架构的应用场景。
UML建模
类图 (Class Diagram)、时序图 (Sequence Diagram)、活动图。
工具推荐:PlantUML, Mermaid, Draw.io。
💡 实践任务:为第一阶段的“二手交易小程序”绘制核心功能的时序图和数据库ER图。
第三阶段:构建与质量保证 (第8-11周)
核心主题:代码是写给人看的,顺便给机器运行。
编码规范与重构
整洁代码 (Clean Code) 原则:命名、函数长度、注释的艺术。
重构技巧:识别“坏味道”(Code Smells) 并修正。
版本控制协作
Git 高级用法:分支策略 (Git Flow, Trunk Based Development)、Code Review 流程。
解决冲突的艺术。
软件测试金字塔
单元测试 (Unit Test):Jest, JUnit, Pytest。
集成测试与端到端测试 (E2E)。
TDD (测试驱动开发) 的基本理念。
自动化与CI/CD
持续集成/持续部署流水线概念 (GitHub Actions, GitLab CI)。
2026视角:AI生成的测试用例及其审查。
💡 实践任务:为一个开源小项目提交一个PR,包含代码修复、对应的单元测试以及通过CI流水线的验证。
第四阶段:运维、安全与伦理 (第12-14周)
核心主题:软件上线只是开始。
DevOps 与 可观测性
日志 (Logging)、监控 (Monitoring)、链路追踪 (Tracing)。
容器化基础 (Docker & Kubernetes 概念)。
软件安全 (DevSecOps)
常见漏洞 (OWASP Top 10)。
安全左移:在设计和编码阶段考虑安全。
项目管理与团队协作
估算技术 (故事点、计划扑克)。
看板 (Kanban) 与 Scrum 仪式。
工程伦理与法律
数据隐私 (GDPR/个人信息保护法)。
开源许可证 (MIT, GPL, Apache)。
2026视角:AI生成代码的版权归属与责任界定。
🛠️ 必备工具箱 (2026推荐)
类别 经典工具 现代/AI增强工具
项目管理 Jira, Trello Linear, Notion AI
设计建模 Visio, StarUML Mermaid (代码即图表), Excalidraw
版本控制 Git, GitHub GitHub Copilot, Cursor (AI IDE)
测试 Selenium, JUnit Diffblue (AI自动测试生成)
文档 Word, Markdown GitBook, Obsidian + AI插件
📚 推荐资源
📖 经典书籍 (永不过时)
《人月神话》(The Mythical Man-Month) - 理解软件管理的本质。
《代码大全2》(Code Complete 2) - 编码实践的百科全书。
《设计模式:可复用面向对象软件的基础》 - 也就是“四人帮”那本,当字典查。
《整洁代码之道》(Clean Code) - 培养代码洁癖。
《软件工程:实践者的研究方法》(Pressman) - 经典的大学教材,适合系统性查阅。
🌐 在线资源
Roadmap.sh: 查看最新的开发者技能图谱。
Refactoring.guru: 用最通俗的语言和图解讲解设计模式和重构。
Google SRE Books: 学习大规模系统运维的最佳实践(免费在线阅读)。
💡 给学生的特别建议 (2026年版)
不要抗拒AI,要学会驾驭它:
现在的软件工程不再是“从零手写每一行代码”,而是“定义问题 -> 提示工程 -> 审查AI代码 -> 集成测试”。
警惕:如果你无法解释AI生成的代码原理,那你就是危险的。保持对底层逻辑的理解至关重要。
沟通比代码更重要:
软件工程80%的时间花在沟通(需求确认、代码评审、文档编写)上。学会清晰地表达技术方案。
拥抱变化:
技术栈每3-5年大变,但工程原则(解耦、抽象、测试、迭代)几十年未变。掌握原则,你就能适应任何新框架。
动手做项目:
不要只看书。找一个队友,从“想法”到“上线”完整走一遍流程。在这个过程中遇到的坑,才是你真正的知识。
祝你在软件工程的学习之旅中,不仅能写出优雅的代码,更能构建出改变世界的系统!🚀】
- 学习指南合理性与实用性分析
(1)合理之处 - 学习路线贴合认知规律,循序渐进且重点明确
- 紧扣2026年技术趋势,贴合行业实际需求
- 实践导向明确,避免“纸上谈兵”
- 资源推荐实用,兼顾经典与前沿
(2)可优化之处
- 阶段时间规划过于固定,缺乏灵活性
- 入门友好度不足,部分知识点缺乏基础铺垫
- 实践任务的落地指引不够具体,缺乏容错建议
- 未结合课程考核重点,适配性有待提升
(3)对个人的帮助
- 搭建清晰的学习框架,避免盲目学习
- 明确能力提升方向,弥补自身短板
- 提前对接行业需求,为后续发展铺垫
- 纠正学习认知误区,树立正确的学习理念
【附】相关截图
- 博客园Markdown编辑器后台编辑页面截图(需清晰展示编辑界面、Markdown语法编写内容、学号和作业信息);
- GitHub团队仓库README页面截图(含团队Logo、团队介绍、个人贡献记录);
- 个人博客园样式设置完成截图;
- 博客园班级加入成功截图。
作业编写要求说明
- 以上所有内容均使用Markdown语法编写,已将博客园编辑器切换为Markdown编辑器;
- 所有截图均清晰可辨,按要求附加在对应位置,并在博客中完成展示;
- 团队主页URL已在文中明确标注,所有必选内容均已完整覆盖;
- 个人评估、代码量、学习期待等内容均结合自身实际情况填写,逻辑清晰、内容真实。


浙公网安备 33010602011771号