《软件设计与体系结构》课程教学大纲_第1页
《软件设计与体系结构》课程教学大纲_第2页
《软件设计与体系结构》课程教学大纲_第3页
《软件设计与体系结构》课程教学大纲_第4页
《软件设计与体系结构》课程教学大纲_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件设计与体系结构一、课程概况所属专业:软件工程开课单位:数学计算机科学学院课程类型:专业方向课程课程代码:07414170开课学期:5学分:4学时:68核心课程:是拟使用教材:孙玉山、刘旭东.软件设计模式与体系结构.高等教育出版社.2013.05国内(外)现有教材:刘伟.设计模式.清华大学出版社.2012.11 秦航.软件设计与体系结构.清华大学出版社.2014.02George Fairbanks.恰如其分的软件架构.华中科技大学出版社.2013.09Robert C.Martin.敏捷软件开发 原则、模式与实践.清华大学出版社.2011.06学习参考资料专著教材类:设计模式之禅、面向对象

2、分析与设计、软件架构设计、设计原本、大型网站技术架构、Java与模式、设计模式 可复用面向对象软件的基础、Hea First 设计模式、重构 改善既有代码的设计、软件框架设计的艺术、重构与模式、设计模式沉思录、设计模式解析、软件架构设计报纸期刊类:互联网周刊、程序员网络资源类: HYPERLINK /、/、/ /、/、/、/二、课程描述(300字以内)本课程是软件工程类专业方向课程之一。软件设计与体系结构的理论与实践近几年已经形成成熟的体系,成为软件工程中的一个新的及独立的领域,在大型复杂软件系统的开发过程中起着越来越重要的作用。本课程强调及兼顾理论的体系性及技术题材的实用性。将实际案例分析贯

3、穿到课程讲解中,通过本课程的学习,使学生较好地掌握现代软件体系结构的内容和方法,熟悉软件体系结构的研究范围和应用现状,理解软件体系结构建模的模型和软件体系结构的生命周期模型,掌握构件、连接件和体系结构的定义,掌握各类软件设计方法,了解软件体系结构的不同风格和特点,熟悉软件体系结构描述语言,会使用UML对软件体系结构进行建模,掌握在软件体系结构理论指导下软件开发的基本过程。在完成本课程后,使学生能够掌握软件架构的原理, 软件设计的方法及技巧,了解常见的架构模式以及它们在企业应用,能够对软件架构进行分析,撰写软件架构文档。三、课程目标 掌握面向对象理论基础知识、分析和设计方法。 掌握常见的3大类2

4、3种软件设计模式。 具有适应社会发展的能力以及终身学习能力。理解软件体系结构理论,能利用软件工程思想解决实践中的技术问题。培养扎实的编程技能,掌握本专业所必需的分析、设计、总结、实施、测试、等技能。初步具备解决工程实际问题的能力。具有综合运用软件设计与体系结构中基础理论和技术手段,分析并解决软件工程技术问题的能力。具有创新意识,具备对新产品、新技术进行研究、开发和设计的初步能力。四、教学要求授课教师应根据本要求,认真备课,完成教案与讲稿编写等各项课前准备工作,结合课程特点和学生的实际情况进行教学。由于本课程为软件工程专业学生的专业方向课,同时也是专业核心课程,课程本身具有一定的难度,因此应注意

5、引导学生深入理解和掌握书本中的理论知识,也要注重编程实践。课堂教学应采取多种教学方法相结合:讲授法、演示法、练习法和任务驱动法。让学生在课堂教学中体会到编程的乐趣,使学生积极参与到课堂教学中,课堂气氛活跃、互动感强。每周布置的作业应难度合适,有基础题、拔高题和综合设计题,使得不同层次的学生都能享受到完成作业的成就感。学生应做到不旷课、不早退,上课认真听讲,积极与授课教师进行教学互动,每周课后至少花费5个小时的时间复习和预习本课程内容。学生应认真独立完成课后作业,多动手实践,初步学会从架构的角度去看待软件的设计过程。五、考核方式及要求为实现课程教学目标,本门课程考核方式及要求为:出勤率占20%,

6、点到不少于5次,其中缺席3次,按无成绩计算;随堂测验1次,测验成绩按20%折算后计入总成绩;教师随堂检查学生课堂笔记记录情况并打分,按10%计入总成绩;期末考试为卷面考试,占总成绩的50%。六、课程内容第一单元(讲、章):面向对象方法概论(授课时间:第五学期第一周)教学目标:了解传统开发方法中存在的问题,掌握面向对象的思想,理解面向对象的主要概念和基本原则,了解面向对象方法的发展史及现状,熟悉面向对象的优缺点。教学重点:功能分解法、结构化方法、信息建模方法,面向对象的基本思想,对象、类、继承、消息等概念,面向对象方法与其他类方法的对比分析。教学难点:面向对象的基本原则:抽象、分类、封装、消息通

7、信、多态性、行为分析、复杂性控制,UML2.0规范:基础结构、上层结构、对象约束语言、图交换。学 时:课堂教学2学时,课外自主学习时间不少于2学时教学方法:讲授法、演示法主要内容:传统开发方法中存在的问题面向对象的基本思想面向对象的主要概念及基本原则面向对象方法的主要优点面向对象方法的发展史及现状统一建模语言学习方法:小组讨论、实验操作课后作业:完成课堂布置的作业并在下周课前提交第二单元(讲、章):面向对象分析(授课时间:第五学期第一到二周)教学目标:了解传统分析方法在软件开发中面临的新问题,理解面向对象分析的基本概念,掌握面向对象分析的基本方法,掌握各类模型图的建立。教学重点:用况图、类图、

8、顺序图、通信图、活动图、状态机图、包图等各类模型的理解,系统边界、参与者、用况之间的关系属性与操作。教学难点:识别对象与类,类之间的关系:继承、关联、聚合、依赖,顺序图的结构化,状态机图的建立,划分和组织包。学 时:课堂教学6学时,课外自主学习时间不少于4学时教学方法:讲授法、演示法主要内容:分析面临的问题建立需求模型建立基本模型建立辅助模型面向对象方法的发展史及现状统一建模语言学习方法:小组讨论、实验操作课后作业:完成课堂布置的作业并在下周课前提交第三单元(讲、章):面向对象设计(授课时间:第五学期第三到四周)教学目标:了解面向对象设计的发展历程,理解OOA与OOD的关系,掌握面向对象设计模

9、型和过程。了解传统设计方法中存在的问题,掌握面向对象设计的思想。教学重点:问题域部分的设计,人机交互部分的设计,控制驱动部分的设计,数据管理部分的设计,构建及部署部分的设计,耦合、内聚、复用等评价准则。教学难点:转化复杂关联并决定关联的实现形式,命令的组织,人机交互部分的设计准则,控制流,进程间和线程间的通信,面向对象数据库,对构件的行为建模,对系统的部署建模。学 时:课堂教学4学时,课外自主学习时间不少于2学时教学方法:讲授法、演示法主要内容:问题域部分的设计人机交互部分的设计数据管理部分的设计控制驱动部分的设计构建及部署部分的设计OOD的评价准则学习方法:小组讨论、实验操作课后作业:完成课

10、堂布置的作业并在下周课前提交第四单元(讲、章):面向对象设计原则(授课时间:第五学期第五周)教学目标:了解面向对象设计原则的基本概念,理解软件的可维护性和可复用性的重要意义,了解传统软件复用技术,掌握面向对象设计中的七大基本原则。教学重点:单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成复用原则、迪米特法则。教学难点:类的数据职责和行为职责,里氏代换原则的定义和解析,依赖注入,类之间的耦合,黑箱复用和白箱复用,对象组合。学 时:课堂教学4学时,课外自主学习时间不少于2学时教学方法:讲授法、演示法主要内容:单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则

11、迪米特法则学习方法:小组讨论、实验操作课后作业:完成课堂布置的作业并在下周课前提交第五单元(讲、章):设计模式概述(授课时间:第五学期第六周)教学目标:了解设计模式的诞生过程与发展历程,掌握模式的定义与分类,理解设计模式的基本要素。教学重点:架构模式、分析模式、过程模式、设计模式,设计模式的3大类:创建型、结构型、行为型,设计模式的优点。教学难点:模式名称、问题、解决方案、效果,类模式与对象模式,适配器模式的两种类型。学 时:课堂教学4学时,课外自主学习时间不少于2学时教学方法:讲授法、演示法主要内容:设计模式的诞生与发展设计模式的定义与分类GoF设计模式简介设计模式的优点学习方法:小组讨论、

12、实验操作课后作业:完成课堂布置的作业并在下周课前提交第六单元(讲、章):创建型模式(授课时间:第五学期第七到八周)教学目标:了解创建型模式中对象创建的过程和对象的使用过程,理解创建型模式的定义,掌握创建型模式的模式结构和模式分析。教学重点:简单工厂模式、工厂方法模式、抽象工厂模式三者之间的关系和区别,建造者模式,原型模式,单例模式。教学难点:工厂模式中角色:Factory、Product、Concrete Product,配置文件的解析,原型克隆,深克隆、浅克隆。学 时:课堂教学8学时,课外自主学习时间不少于2学时教学方法:讲授法、演示法主要内容:简单工厂模式、工厂方法模式、抽象工厂模式建造者

13、模式、原型模式、单例模式学习方法:小组讨论、实验操作课后作业:完成课堂布置的作业并在下周课前提交第七单元(讲、章):结构型模式(授课时间:第五学期第九到十周)教学目标:了解结构型设计模式概念,理解结构型设计模式的思想,掌握结构性设计模式的实现方式,掌握对象适配器和类适配器之间的区别和联系。教学重点:7种结构型模式(适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式)的模式动机和定义,模式的结构分析,模式效果和应用。教学难点:双向适配器,抽象化、实现化、脱耦,组合模式的核心思想:递归,透明组合模式和安全组合模式,透明装饰模式和半透明装饰模式,享元。学 时:课堂教学8学时,课外

14、自主学习时间不少于4学时教学方法:讲授法、演示法主要内容:适配器模式、桥接模式、组合模式装饰模式、外观模式、享元模式、代理模式学习方法:小组讨论、实验操作课后作业:完成课堂布置的作业并在下周课前提交第八单元(讲、章):行为型模式(授课时间:第五学期第十到十二周)教学目标:了解行为型模式的基本概念,理解系统中对象之间的相互交互,研究系统在运行时对象之间的相互通信与协作,明确对象的职责,掌握行为型模式的使用方法。教学重点:行为型模式(职责链模式、命令模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式)的模式动机与结构分析。教学难点:职责链模式中发送者与接收者之间

15、的解耦,命令模式中的动作撤销,解释器模式中的终结符表达式,备忘录模式的封装,观察者模式中的一对多关系。学 时:课堂教学12学时,课外自主学习时间不少于8学时教学方法:讲授法、演示法主要内容:职责链模式、命令模式、解释器模式中介者模式、备忘录模式、观察者模式迭代器模式、状态模式、策略模式模板方法模式、访问者模式学习方法:小组讨论、实验操作课后作业:完成课堂布置的作业并在下周课前提交第九单元(讲、章):软件体系结构概述(授课时间:第五学期第十三周)教学目标:了解软件体系结构的基本概念,熟悉软件体系结构的多种定义,理解软件体系结构三大基本要素之间的关系,掌握软件体系结构的质量属性定义,理解不同软件体

16、系结构的风格区别。教学重点:软件的技术选型,软件质量,全局控制、异步处理,架构的设计,系统构成要素,高层设计,团队分工。教学难点:构件、连接件和约束三者之间的关系,可伸缩性、可用性之间的区别和联系,可重用性,软件体系的不同风格。学 时:课堂教学4学时,课外自主学习时间不少于2学时教学方法:讲授法、演示法主要内容:软件体系结构的概念软件体系结构的意义软件体系结构与软件质量属性软件体系结构的风格学习方法:小组讨论、实验操作课后作业:完成课堂布置的作业并在下周课前提交第十单元(讲、章):经典软件体系结构(授课时间:第五学期第十四到十五周)教学目标:了解经典软件体系结构的概念,理解非结构化编程与结构化

17、编程同面向对象编程之间的联系和区别,掌握经典软件体系结构的编程风格和编程思想。教学重点:调用-返回风格的分而治之策略,逻辑设计、物理设计相分离的思想,结构化设计与面向对象设计的区别,层次软件体系结构与MVC软件体系结构的联系和区别,模块调用关系。教学难点:对象的状态,封装性,动态绑定性,面向对象编程的继承机制,主动型过滤器与被动型过滤器,并发性,复用性,显示调用和隐式调用,带有独立事件分遣器的事件系统,MVC中的模型、视图、控制器。学 时:课堂教学8学时,课外自主学习时间不少于4学时教学方法:讲授法、演示法主要内容:调用-返回风格软件体系结构数据流风格软件体系结构事件系统软件体系结构层次软件体系结构MVC软件体系结构学习方法:小组讨论、实验操作课后作业:完成课堂布置的作业并在下周课前提交第十一单元(讲、章):基于网络的软件体系结构(授课时间:第五学期第十六到十七周)教学目标:了解分布式计算的基本概念,理解基于网络的软件体系结构的成因,掌握各类基于网络的软件体系结构的架构设计思想。理解网格计算的概念和定义,理解不同云计算平台的架构设计,掌握C/S体系架构的设计。教学重点:JavaEE的软件体系结构,纯P2P、计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论