目录

  • 1 软件工程与软件设计
    • 1.1 课程教学大纲和教学日历
    • 1.2 软件工程
    • 1.3 软件的生存周期
    • 1.4 软件开发过程模型
    • 1.5 软件设计
    • 1.6 软件体系结构
    • 1.7 本章课件
    • 1.8 课堂笔记
    • 1.9 作业
  • 2 统一建模语言UML
    • 2.1 UML概述
    • 2.2 面向对象开发方法
    • 2.3 UML2.0结构建模
    • 2.4 UML2.0行为建模
    • 2.5 本章课件
    • 2.6 课堂笔记
    • 2.7 作业
  • 3 软件设计基础
    • 3.1 软件设计的基本概念
    • 3.2 软件设计过程
    • 3.3 软件设计质量
    • 3.4 软件体系结构设计
      • 3.4.1 软件体系结构设计一般过程
        • 3.4.1.1 软件体系结构设计步骤
    • 3.5 高可信软件
    • 3.6 软件设计规格说明及软件设计评审
    • 3.7 本章课件
    • 3.8 本章作业
    • 3.9 第三章课堂笔记一
    • 3.10 第三章课堂笔记二
    • 3.11 课程引导单
  • 4 第4章
    • 4.1 整体概述
    • 4.2 基于UML的分析与设计过程
    • 4.3 用例分析与设计
    • 4.4 概念模型与顶层架构设计
    • 4.5 用户界面设计
    • 4.6 数据模型设计
    • 4.7 设计精化
    • 4.8 类设计
    • 4.9 部署模型设计
    • 4.10 本章课件
    • 4.11 本章作业
    • 4.12 第四章课堂笔记一
    • 4.13 第四章课堂笔记二
    • 4.14 课程引导单
  • 5 第5章 面向数据流的软件设计方法
    • 5.1 略讲
  • 6 第6章 用户界面设计
    • 6.1 界面设计的基本原则
    • 6.2 设计良好界面的主要途径
    • 6.3 用户界面的分析与设计过程
    • 6.4 用户界面分析
    • 6.5 用户界面设计
    • 6.6 用户界面原型
    • 6.7 界面设计的评估
    • 6.8 本章小结
    • 6.9 课程引导单
    • 6.10 本章课件
    • 6.11 本章作业
    • 6.12 课堂笔记1
    • 6.13 课堂笔记2
  • 7 体系结构风格与设计模式
    • 7.1 体系结构概念、描述、风格
    • 7.2 设计模式基础 代码资源
      • 7.2.1 基础回顾视频
    • 7.3 设计模式-工厂方法
    • 7.4 设计模式-抽象工厂
    • 7.5 设计模式-单件
    • 7.6 设计模式-组合 迭代器 观察者
    • 7.7 本章课件
    • 7.8 本章作业
    • 7.9 课堂笔记
  • 8 基于分布构件的体系结构
    • 8.1 8.1 EJB分布构件
    • 8.2 8.2 DCOM分布构件
    • 8.3 8.3 CORBA分布构件
    • 8.4 本章课件
    • 8.5 本章作业
    • 8.6 课堂笔记
  • 9 软件体系结构评估
    • 9.1 软件体系结构评估概述
      • 9.1.1 课件
      • 9.1.2 视频
    • 9.2 软件体系结构评估方法
      • 9.2.1 课件
      • 9.2.2 视频
    • 9.3 实例分析
      • 9.3.1 课件
      • 9.3.2 视频
    • 9.4 作业
    • 9.5 9.1-9.2课堂笔记
    • 9.6 9.3课堂笔记
  • 10 软件设计的进化
    • 10.1 遗留系统
      • 10.1.1 课件
      • 10.1.2 视频
    • 10.2 软件的进化策略
      • 10.2.1 课件
      • 10.2.2 视频
    • 10.3 软件再工程
      • 10.3.1 课件
      • 10.3.2 视频
    • 10.4 软件体系结构的进化
      • 10.4.1 课件
      • 10.4.2 视频
    • 10.5 代码重构和数据重构、软件移植
      • 10.5.1 课件
      • 10.5.2 视频
    • 10.6 作业
    • 10.7 10.1-10.3课堂笔记
    • 10.8 10.4-10.5课堂笔记
  • 11 实验
    • 11.1 实验教学大纲
    • 11.2 实验PPT
    • 11.3 实验讲解视频
    • 11.4 实验2 UML类图设计
    • 11.5 实验3 编程视频 代码下载
    • 11.6 实验3 简易写法
    • 11.7 实验4 工厂方法复习视频
    • 11.8 实验4 协作图 类图 代码
    • 11.9 实验4 适配器模式
    • 11.10 拓展内容5 后续改进
    • 11.11 实验参考资料
    • 11.12 实验报告模板
    • 11.13 实验报告提交
    • 11.14 软件常见功能模块
课程教学大纲和教学日历

                                   

 

课程名称

 
 

软件设计与体系结构

 
 

课程编号

 
 

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/