Software Methodology (软件方法学)¶
课程编号:COMP3017J
考核形式:50% 期末考试 + 40% 作业 + 10% 课堂表现 (+ 3% 奖励分)
授课教师:米庆
课程介绍¶
软件方法学专注于软件系统开发中使用的方法、工具和技术。本课程旨在将学生从程序员(Programmer)培养成工程师(Engineer),掌握专业软件开发的完整流程和最佳实践。
考核结构¶
📊 成绩构成¶
- 期末考试 (50%):理论知识和概念理解
- 作业 (40%):
- 项目/研究作业 (20%)
- 课后作业 (20%)
- 课堂表现 (10%):出勤和课堂参与
- 奖励分 (3%):额外加分项目
🚀 项目要求:Android日记应用¶
设计并实现一个Android日记APP,功能包括: - 记录日常想法、感受和经历 - 数据存储和管理 - 用户界面设计 - 基本的日记管理功能
📚 研究作业替代方案¶
在CCF推荐的会议/期刊上发表研究论文可获得项目/研究部分满分
核心学习内容¶
📖 主要知识模块¶
- 基础概念:软件工程历史与发展、专业软件开发
- 软件过程:开发生命周期、过程模型
- 敏捷开发:现代敏捷方法论和实践
- 需求工程:需求分析、规格说明
- 系统建模:UML建模、架构设计
- 设计与实现:软件架构、编码实践
- 软件测试:测试方法、质量保证
- 软件演进:维护、重构、版本控制
🔑 核心概念¶
- 软件特性:一致性(Conformity)、不可见性(Invisibility)、复杂性(Complexity)、演化性(Changeability)
- 软件质量:ISO 9126质量特征模型
- 职业责任:保密性、胜任力、知识产权、计算机滥用
- 伦理原则:ACM/IEEE软件工程伦理准则
学习资源¶
📝 期末复习¶
🚀 项目案例¶
未整理 - Projects - Android日记应用
课程作业¶
历年试卷¶
暂无资源
💡 学习建议¶
我的理解这是软件工程的一门专业课,主要是软件开发的范式和一些开发思想等。建议可以看人月神话这本书,经典的软件工程理论都有涉及。
这门课的考试不算难,考试前老师会画重点,可以根据上述期末复习资料中参考。
这门课的分组项目比较.....
分组自行分组,但是要求组内成员需要包含三个班级的同学,一定要提前结组,寻找其他班的成员互相结组,否则容易落单。
最后还需要互评所有组,写互评文档,排出名次。
这门课每年的项目开发内容是变化的,24年时安卓日记APP, 正好和移动计算的技术栈重叠了。但是这门课对技术也不是很关注,比较关注需求,文档,开发流程之类的。
另外,一作CCF可以直接不用做Project。