课程名称 | 软件设计与体系结构 | 课程编号 | B1051848 | ||
适用专业 | 软件工程 | 开课学期 | 第六学期 | ||
总学时 | 64 | 理论 | 48 | 学分数 | 4 |
实践 | 16 | ||||
课程性质 | 专业必修课 |
一、课程性质与目标
(一)课程性质
《软件设计与体系结构》是软件工程专业的一门综合性与技术性较强的专业必修课。通过本课程的学习,掌握统一建模语言UML的建模方法;能够利用UML工具进行面向对象的软件分析与设计;掌握软件设计基本方法和软件体系结构设计的基本步骤;掌握软件设计和体系结构的基本质量要素;掌握用户界面设计的基本原则和方法;掌握软件体系结构的分类与风格;掌握常用的软件设计模式;了解基于分布构建的体系结构和体系结构评估与进化的基础知识。
(二)课程目标
通过本课程的学习,学生应达到如下目标:
1.知识目标:掌握统一建模语言UML的建模方法;能够利用UML工具进行面向对象的软件分析与设计;掌握软件设计基本方法和软件体系结构设计的基本步骤;掌握软件设计和体系结构的基本质量要素;掌握用户界面设计的基本原则和方法;掌握软件体系结构的分类与风格;掌握常用的软件设计模式;了解基于分布构建的体系结构和体系结构评估与进化的基础知识。
2.能力目标:具备软件功能分析与软件设计能力;具备识别并分析复杂软件的体系结构风格的能力;锻炼复用现有的高质量软件设计模式,提出复杂软件系统的解决方案的能力。
3.素质目标:培养学生“爱岗、敬业、诚信、专业”的职业道德;培养学生的团队协作意识;注重培养学生与社会接轨;注重培养学生的自学与创新能力;引导学生深刻理解并自觉实践职业精神和职业规范;开展工程伦理教育,培养学生精益求精的大国工匠精神,激发学生科技报国的家国情怀和使命担当。
二、课程教学基本要求
先修课程:面向对象程序设计;程序设计基础等。
后续课程:软件项目管理;毕业论文(设计)等。
充分了解学生的学习情况、认真研读教材、广泛查阅教学资料,精心备课、完善在线教学资源,精心设置教学案例或任务,做到理论与实践相结合,并深入挖掘课程相关的思政元素。
按时上下课、加强课堂管理、充实教学内容、丰富教学手段和方法;教学过程注重理论和实践相结合,培养学生逻辑思维能力和解决问题的能力;逐步培养学生的工匠精神,激发学生科技报国的家国情怀和使命担当。
对课堂的教学效果、教学策略等方面展开总结、反思;及时批改学生作业;利用在线教学平台等多种方式与学生充分交流、开展课后答疑;鼓励学生多动手、多实践,在实践过程中积累经验,提高软件设计能力。
四、教学方法与手段
充分利用超星学习通、国家精品课程网站、专业开发者论坛等信息化教学手段开展混合式教学,推送教学案例、项目、测试题、竞赛题等资源,学生可自测查漏补缺、拓展视野、丰富学习内容,同时强化线上线下辅导答疑,强调学生在线学习数据和教师课堂教学数据在教学设计以及学习效果的评价中的运用。
根据教学目标与内容,选择适当教学方法。通过讲授法介绍课程基础知识,如软件设计思想、软件体系结构分类等,为学生的进一步学习打下理论基础;通过案例分析法,组织学生阅读、分析并模仿实现案例,使得学生进一步理解软件设计模式与体系结构,提升分析能力;运用任务驱动法,结合需求获取、界面设计、结构设计等复杂的教学内容设计探究性学习任务,学生通过查阅资料、对知识进行整理、分组讨论与总结并提出解决方案,以此培养学生分析问题、解决问题的能力;通过项目教学法,从项目分析、方案设计、编码实现到最终评价,以项目为主线、教师为引导、学生为主体完成,提升学生工程能力,培养工匠精神。
五、考核方式及成绩评定细则
考核性质:考试
成绩评定方法:总评成绩=过程性考核成绩×40%+终结性考核成绩×60%
(一)过程性考核
过程性考核由出勤、课堂活动、作业测评和阶段性测试构成,成绩评定细则具体见下表。
过程性考核成绩评价项目与占比
评价项目 | 评价内容 | 占比(%) |
出勤 | 对学生是否按时上下课进行评价 | 20 |
课堂活动 | 对学生参与课堂活动的态度及效果进行评价 | 30 |
作业测评 | 对学生作业完成规范及效果进行评价 | 25 |
阶段性测试 | 对学生阶段性学习效果进行测试 | 25 |
(二)终结性考核
考核形式:闭卷
考核用时:120分钟
终结性考核以教学大纲为依据,考察学生对软件系统架构分析、体系结构建模与架构设计的相关理论知识的掌握情况,重点考核学生系统运用软件设计与体系结构的相关知识,解决项目开发实际问题的能力。
六、教材与参考资料
(一)推荐教材
1.董威.软件设计与体系结构(第2版)[M].北京:高等教育出版社,2017.12.
2.David C.Kung.面向对象软件工程[M].北京:清华大学出版社,2017.1.
(二)参考资料
1.Erich·Gamma.设计模式:可复用面向对象软件的基础[M].北京:机械工业出版社,2019.6.
2. Robert C·Martin.敏捷软件开发-原则、模式与实践[M].北京:清华大学出版社,2017.5.
3.吕云翔.UML与Rose建模实用教程[M].北京:人民邮电出版社,2016.4.
4.施穆勒.UML基础、案例与应用(第3版) [M].北京:人民邮电出版社,2018.1.
5.刘其成.软件体系结构与设计实用教程[M].北京:中国铁道出版社,2018.8.
(三)学习网站与主页
1.博客园:https://www.cnbolgs.com/
2.专业开发者社区:https://www.csdn.net/