202031607327-杨辽辽 实验一 软件工程准备 初步了解软件工程
项目 | 内容 |
---|---|
班级博客链接 | 20级卓越班 |
本次作业要求链接 | 实验一 软件工程准备 |
我的课程学习目标 | 1. 学习博客园软件开发者学习社区使用技巧和经验; 2. 了解Github的基本操作; |
本次作业在哪些方面帮我实现学习目标 | 1. 初步了解博客园软件和Github的基本操作; 2. 初步认识了软件工程; |
任务1:提交课程调查问卷
- 已按照自己的实际情况认真填写问卷
任务2:在博客园平台注册个人博客账号和加入班级博客
- 注册了个人博客账号
任务3:注册Github账号
- 已经成功注册个人Github账号
任务4:各位同学点击以下链接填写博客园账号与Github账号的链接
- 已经完成填写个人博客园账号和Github账号的链接
任务5:构建之法与博客首秀
阅读《现代软件工程—构建之法》,参照参考文章的提问模板,尝试拟定3个准备从课程学习中找到答案的问题,并以写博客形式记录下来,博客要求使用Markdown排版。
软件工程是什么?
软件工程是把系统的,有序的, 可量化的方法应用到软件的开发,运营和维护上的过程。
软件工程包括下列领域:软件需求分析,软件设计,软件构建,软件测试和软件维护。一个良好的软件需要注意哪些方面?
- 用户满意度:用户可能在使用中发现了很多问题,影响了使用软件的效率。
- 可靠性:软件经常崩溃,导致实用性变差。
- 软件流程的质量:软件团队和开发流程的问题太多,导致了团体成员无法互相合作,按时交付软件。
- 可维护性:某个软件难以维护,使得维护人员表示需要更多的资金和时间维护软件。
什么是敏捷开发流程?
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
- 目标制定,目标对齐:通过市场调研、业务思路、风险评估制定公司规划和目标,根据这一目标产生所有部门的目标并实现对齐;
- 产品规划:产品研发部门根据目标制定产品关键路线图,这个路线图中分布着不同的产品特性和其完成时间;
- 组织产品待办列表:产品规划产生的需求、客户需求、市场人员收集到的缺陷等将组成产品待办列表;
- 需求梳理:然后产品负责人(Product Ower)对这个列表进行梳理,并在需求梳理会(Backlog Grooming Meeting)讲解具体每一个需求,团队成员根据需求的复杂程度评估每个任务的工作量,输出本次迭代的待办事项列表,完成优先级排序等工作;
- 迭代规划:通过Sprint计划会,明确要执行的工作、冲刺目标等,
- 迭代开发:期间会进行每日站会、性能测试、CodeReview、Demo、测试等工作;
- Sprint评审:由每个任务的负责人演示其完整的工作,由PO确定Sprint目标是否完成,版本什么时候对外发布,新增bug的紧急程度等等。
- 开回顾会议:回顾会议由Scrum团队检视自身在过去的Sprint的表现,包括人 、关系、过程、工具等,思考在下一个Sprint中怎么样可以表现得更好,更高效,怎么样可以和团队合作地更愉快
以上流程是从目标阶段开始,到一个迭代结束,形成了一个相对完整的闭环。