软件工程课程第一次团队作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546 |
| 这个作业的目标 | 对自己的能力进行评估,搭建一个GitHub团队,学习GitHub仓库的上传等知识,熟悉markdown编辑器的基本用法 |
| 学号 | 102301135 |
1.作业点
-
个人资料截图
![GW}O3GXO33H@)TQWRQT%JT]()
-
团队主页的网址 : https://github.com/FantasyRL/HachimiONanbayLyudou
2.自我评估
-
具备的专业知识和能力:
- c/c++编程简单的程序。
- 简单的web开发知识。
- 基础的计算机学科知识。
-
感兴趣的方向:
- 现阶段对前端开发比较感兴趣。
-
缺少的能力:
- 代码量较少编程能力有待提高。
- 缺乏项目经验,缺少与他人配合和沟通的能力。
-
目前的代码量:
- 不足3000行
-
希望达到的代码量:
- 10000行
-
期待在课程中能够学习到什么知识:
- 望在这门课程中学到软件开发的有关知识,能够较好的参与软件开发的过程,对软件开发的流程有详细的了解,并且积累一定的经验。
3.软件工程课程学习指南
一、课程核心目标
- 理解软件工程的基本概念、原则和方法论,区分“编程”与“工程化开发”的差异
- 掌握软件生命周期各阶段(需求、设计、开发、测试、维护)的核心流程与工具
- 培养团队协作能力,能使用标准化文档(如需求规格说明书、设计文档)沟通
- 建立“质量优先”的开发思维,了解软件性能、安全性、可扩展性的保障手段
二、学习路径(按阶段推进)
1. 基础入门(第1-2周)
- 核心内容:软件工程定义、软件危机成因、软件生命周期模型(瀑布模型、敏捷模型、迭代模型)
- 关键问题:为什么需要软件工程?不同生命周期模型的适用场景(如瀑布适合需求明确的项目,敏捷适合需求多变的互联网项目)
- 学习建议:画思维导图对比3种常见生命周期模型的优缺点,避免死记硬背
2. 核心阶段学习(第3-8周)
按软件生命周期顺序突破,重点掌握“需求→设计→开发→测试”四大阶段:
| 阶段 | 核心知识点 | 常用工具/方法 | 学习重点 |
|---|---|---|---|
| 需求分析 | 需求采集(访谈、问卷)、需求分类(功能/非功能需求)、需求规格说明书(SRS) | 用例图(UML)、思维导图 | 区分“用户需求”和“产品需求”,避免需求模糊 |
| 软件设计 | 概要设计(模块划分)、详细设计(接口设计、数据库设计)、设计模式(单例、工厂模式) | 类图(UML)、ER图、Visio | 理解“高内聚、低耦合”的设计原则 |
| 编码实现 | 编码规范(命名、注释)、版本控制(Git)、协作开发流程(分支管理) | VS Code/IDEA、Git/GitHub | 不是“会写代码”,而是“写出可维护的代码” |
| 软件测试 | 测试分类(单元测试、集成测试、系统测试)、测试用例设计、Bug管理 | JUnit(单元测试)、Bugzilla | 测试的目标是“发现问题”,而非“证明没问题” |
3. 进阶与实践(第9-16周)
- 重点内容:软件项目管理(进度、成本、风险控制)、软件维护(纠错性/适应性维护)、DevOps基础(自动化部署)
- 实践建议:组队完成1个小型项目(如学生管理系统、待办APP),覆盖“需求文档→设计图→代码→测试报告”全流程,模拟真实开发场景
三、必备学习资源
- 教材:《软件工程导论》(张海藩,经典入门)、《敏捷软件开发》(适合了解敏捷实践)
- 工具学习:
- 画图工具:Visio(UML图)、DrawIO(在线免费)
- 版本控制:Git教程(廖雪峰Git网站,零基础友好)
- 文档协作:语雀、飞书文档(团队写需求/设计文档用)
- 视频资源:B站“软件工程 浙江大学”(免费公开课,结合案例讲解)、Coursera“Software Engineering”(斯坦福课程,英文基础好可看)
四、常见误区与避坑指南
- 误区1:只关注编码,忽略文档编写
👉 避坑:每次作业/项目都按规范写需求文档、设计文档,培养“先设计再编码”的习惯 - 误区2:认为“测试是测试人员的事”
👉 避坑:自己写的代码先做单元测试(如用JUnit),减少后期Bug修复成本 - 误区3:死记硬背理论,不结合实践
👉 避坑:用1个小项目贯穿整个学习过程,比如学需求分析时写该项目的SRS,学设计时画该项目的类图,循序渐进落地知识
五、每周学习建议(参考)
| 时间 | 任务安排 | 耗时建议(每周) |
|---|---|---|
| 周一-周二 | 看教材/听课,整理知识点笔记 | 3小时 |
| 周三-周四 | 练习工具(如画UML图、用Git管理代码) | 2小时 |
| 周五-周日 | 做课后题/推进项目(团队协作) | 3小时 |
4.学习指南合理性分析
这份软件工程学习指南挺靠谱的,主要因为三点特实在:
第一,内容没跑偏,不瞎讲没用的,该有的理论(比如瀑布模型、需求分析)都有,还告诉你用 Git 管理代码、用 JUnit 做测试这些真能用上的工具,连新手常踩的 “光写代码不写文档”“觉得测试跟自己没关系” 这些坑都指出来了,很实用。
第二,学起来不费劲,从基础概念到核心步骤再到组队做项目,按 16 周课一步步来,还说好了每周该干啥、花多久,不用自己瞎琢磨。
第三,跟实际工作能接上,推荐的工具、强调的写文档和组队能力,都是以后上班真能用着的,不管是刚入门还是想多学点儿,都能用上,挺接地气的。
5.后台博文编辑界面


浙公网安备 33010602011771号