软工第一次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
|---|---|
| 这个作业要求在哪里 | https://www.cnblogs.com/shaoxiawjc/p/19122679 |
| 这个作业的目标 | 自我介绍、了解使用github协作开发 |
| 学号 | 102301421 |
一、团队项目地址
https://github.com/FZU-YOROZUYA/SE-Project
二、自我评估
已具备的技能:
熟悉java,c++等编程语言
感兴趣的技术方向:
人工智能开发应用
软件开发流程
还缺少的能力:
团队交流协作能力
软件开发相关知识
代码量:
目前代码量为5000行左右
期望通过本学期学习达到10000行
三、课程期待
深入理解掌握一门语言
工程化思维与问题分析能力
了解软件开发的完整生命周期
完整的软件开发经历
四、学习指南
AI:
软件工程课程学习指南:从入门到胜任
本指南将软件工程学习分为四个循序渐进的阶段,并强调了贯穿始终的核心理念。
第一阶段:夯实基础(编程与计算机导论)
这个阶段的目标是学会“如何告诉计算机做事”,并理解它运行的基本环境。
核心任务:掌握一门编程语言
推荐选择:Python(语法简单,上手快)或 Java(严谨,面向对象典范)。
学习目标:
精通基本语法:变量、数据类型、流程控制(循环/判断)。
理解核心概念:函数、类与对象、异常处理。
能够用该语言解决简单的算法问题(如排序、搜索)。
核心任务:理解计算机如何工作
操作系统基础:了解进程、线程、内存管理是什么。
计算机网络基础:理解TCP/IP协议、HTTP协议,明白浏览器输入网址后发生了什么。
必备工具:版本控制 Git
学习目标:学会使用 Git 进行代码的提交、创建分支、合并代码。这是你代码的“后悔药”和团队协作的基石。
实践:在GitHub或Gitee上创建你的第一个代码仓库。
第二阶段:掌握核心工程方法(本课程的重点)
这个阶段的目标是从“程序员”思维转变为“工程师”思维,关注如何构建一个可靠、可维护的软件。
- 软件开发生命周期
学习内容:了解一个软件从无到有的全过程:需求分析 -> 设计 -> 编码 -> 测试 -> 部署 -> 维护。
关键问题:每个阶段的目标和产出是什么?
- 需求分析与建模
学习内容:学习如何与用户沟通,将模糊的需求转化为清晰的、可验证的规格说明。了解如何使用UML(用例图、类图、时序图)进行建模。
- 系统设计与架构
学习内容:
设计原则:学习SOLID原则,理解什么是高内聚、低耦合。
设计模式:了解常用的设计模式(如单例、工厂、观察者模式),它们是解决常见设计问题的“模板”。
架构模式:了解MVC(模型-视图-控制器)等基础架构,如何将代码分层组织。
- 软件测试与质量保证
学习内容:学习编写测试代码,而不仅仅是手动测试。
单元测试:测试一个最小的代码单元(如一个函数)。
集成测试:测试多个模块组合在一起是否能正常工作。
目标:建立“测试驱动开发”的意识,保证代码质量。
- 团队协作与项目管理
学习内容:学习敏捷开发与Scrum框架。了解什么是冲刺、每日站会、产品待办列表。
实践:在团队项目中体验角色(如Scrum Master)、任务拆分和协作。
第三阶段:实践与应用(项目驱动学习)
“纸上得来终觉浅,绝知此事要躬行。” 这个阶段是知识融会贯通的关键。
核心任务:完成一个完整的团队项目
项目选择:选择一个有明确需求、但规模适中的项目,如:
个人博客系统
简单的电商平台(用户、商品、订单)
在线待办事项应用
实践全过程:
需求分析:写出项目需求文档。
系统设计:画出数据库ER图和系统架构图。
编码实现:使用Git进行团队协作开发。
测试:为核心功能编写单元测试。
部署:尝试将项目部署到云服务器(如阿里云、腾讯云)或云平台(如Heroku, Vercel)。
收获:你将深刻体会到理论如何指导实践,并在解决一个个实际 bug 和协作问题中飞速成长。
第四阶段:拓展与深化(面向未来)
在掌握核心后,你可以根据兴趣探索更专业的领域。
前端开发:学习 HTML/CSS/JavaScript,以及 React 或 Vue 等框架。
后端开发:深入学习数据库(MySQL, Redis)、Web框架(Spring Boot, Express)、API设计。
DevOps:学习 Docker 容器化、CI/CD(持续集成/持续部署)。
移动开发:学习 Android(Kotlin)或 iOS(Swift)开发。
贯穿始终的学习建议
代码首先是写给人看的:养成良好的编码风格,写清晰的注释和文档。可读性比聪明的技巧更重要。
拥抱调试:遇到bug不要烦躁,它是学习内部机制的最佳时机。熟练使用调试工具。
善用资源:官方文档 > 技术书籍 > 优质技术博客 > 视频教程。学会从官方文档中获取第一手信息。
不要堆砌代码,要设计代码:在写代码前,先花时间思考如何设计。好的设计能让你后期节省大量时间。
输出是最好的输入:尝试写技术博客、在团队中做分享,或者为开源项目贡献代码。这能极大地巩固你的知识。
评价:阶段清晰,较为全面,但还需根据个人情况进行调整
六、后台截图


浙公网安备 33010602011771号