软件工程2023春
介绍
软件工程是计算机科学与技术专业的核心课程,是一门指导软件开发和维护的工程学科。
通过课程的学习,使学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可靠性好、能高效运行的软件,为今后从事软件开发和维护打下坚实的基础。
本课程的进度表和课件见syllabus.md.
本课程的复习要点见final_review.md
待考核任务:任务2、任务4、任务5、任务6,截止时间均为6月27日结束之前。
任务1:分组和创建项目仓库
截止日期:5月8日结束之前
- 自行组建团队,指定组长。
- 由一名小组成员(组长或组员均可)在gitee上创建一个为项目所用的仓库,并添加其他成员作为仓库开发者。
- 将小组名单和仓库的链接发给班长。
任务2:《计算机图像处理》分组项目需求分析文档
截止日期:6月27日结束之前
本次作业要求在确定选题的基础上,进行需求分析并撰写文档。各组自行选择 结构化分析方法 或者 面向对象分析方法 进行需求分析,并按照相应的文档要求撰写需求分析文档:
本次作业的文档,建议用Markdown书写(用Visual Studio Code、Typora等软件都很方便;基于文档的复杂性,不建议直接在Gitee网页上输入)。
文档统一命名为需求分析文档.md,放置在仓库的根目录下。最终版本应更新在仓库的master分支上,老师只检查master分支上的版本。
任务3:准备开源项目研究报告PPT
截止日期:
- 周一班:6月11日结束之前(报告时间:6月12日)
- 周二班:6月5日结束之前(报告时间:6月6日)
按照本页中 “开源项目研究” 的要求,完成PPT。
任务4:《计算机图像处理》分组项目软件设计文档
截止日期:6月27日结束之前
本次作业要求在需求分析结果的基础上,进行软件设计并撰写设计文档。根据任务2选择的方法(结构化方法或者面向对象方法)进行软件设计,并按照相应的文档要求撰写设计文档:
文档统一命名为软件设计文档.md,放置在仓库的根目录下。最终版本应更新在仓库的master分支上,老师只检查master分支上的版本。
任务5:《计算机图像处理》分组项目最终代码提交
截止日期:6月27日结束之前
最终版本应更新在仓库的master分支上,老师只检查master分支上的版本。
任务6:《计算机图像处理》分组项目汇报视频录制和提交
截止日期:6月27日结束之前
因时间冲突,《软件工程》老师无法参加《计算机图像处理》的课堂汇报,所以请每个小组录制一段不超过5分钟的汇报视频,格式为mp4,视频文件命名为 项目汇报与演示.mp4,于截止时间之前提交到仓库master分支的根目录下。
课程考核标准
- 考勤(6%)
- 分组项目(34%)
- 《计算机图像处理》课程设计(24%)
- 开源项目研究(10%)
- 期末考试(60%)
- 闭卷考试
关于分组项目
本课程的课程项目以小组形式进行,每个小组需完成以下两个项目:
(1) 《计算机图像处理》课程设计项目
本课程与《计算机图像处理》联合教学,项目选题来自《计算机图像处理》,小组成员在两门课程中保持一致。本课程将考查该项目的以下方面:
- 需求分析文档;
- 软件设计文档;
- 代码完成度及质量;
- 课堂汇报和软件演示。
其中前三部分通过 gitee.com 提交,“课堂汇报和软件演示”在《计算机图像处理》课堂进行。
(2) 开源项目研究
在开源代码托管平台上(比如 github.com 或 gitee.com)选择一款源代码多于3000行的开源软件,分析它的功能和结构,于后半学期在《软件工程》课堂上做汇报。只需要准备汇报用的ppt,ppt应至少包含以下内容:
- 关于该软件的简单介绍,一般可参考仓库的README文件;
- 源代码的基本信息:总行数,目录结构,包的结构(如果有的话,可用一个包图表示);
- 软件功能:用数据流图或用例图展示软件的功能,并用活动图或顺序图描述核心功能;
- 软件结构:用软件层次图或组件图展示软件的模块及依赖关系,用文字简单描述每个软件的模块。
开源项目的ppt汇报时间不超过5分钟。
常用链接
- 在线绘制UML图:https://online.visual-paradigm.com/