软工《软件系统架构》教学大纲
《软件体系结构》教学大纲
《软件体系结构》教学大纲一、课程概述《软件体系结构》是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和实践的主要领域。
体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为相同设计的抽象,为实现框架和构件的重用、基于体系结构的软件开发提供了有力的支持。
作为计算机科学与技术专业软件工程方向的重要专业课程,本课程主要系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展。
既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。
本课程的先修课程为“软件工程”。
二、课程目标1.知道《软件体系结构》这门学科的性质、地位、研究范围、学科进展和未来方向等。
2.理解该门学科的主要概念、基本原理和策略等。
3.掌握软件体系结构的建模方法、描述方法,通过对不同软件体系结构风格的掌握,能够采用正确的基于体系结构的软件开发。
4.能够把所学的原理应用到具体的实践中去,培养学生发现、分析和解决问题的能力等。
三、课程内容与教学要求这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。
这四个层次的一般涵义表述如下:知道———是指对这门学科和教学现象的认知。
理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。
掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。
学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。
教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。
本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。
教学内容及教学要求表四、课程实施《软件体系结构》是计算机软件专业类必选课。
一般情况下周课时为3课时,共54课时。
软件体系结构_陈长清_《软件体系结构》课程教学大纲.doc
《软件体系结构》课程教学大纲一、课程名称:软件体系结构Sof tware Architecture二、课程编码:0810711三、学时与学分:48/3其中课堂教学32学时,实践教学16学时。
四、先修课程:软件工程五、课程教学目标1.帮助学生了解软件体系结构的基本概念,初步掌握中大型软件体系结构的分析与设计方法;2.使学生了解构建系统的目的是为了满足组织的需求,认识软件行业和开发组织在系统设计及其最终成败所起的作用,提高软件设计的基本素养;3.引导学生认识系统的性能、可用性、安全性等质量属性都是受软件构架制约的,或者说这些属性的实现影响着设计师的设计选择。
六、适用学科专业软件工程七、基本教学内容与学时安排•构架商业周期(2学时)构架的产生软件过程和构架商业周期什么样的构架才算好•什么是软件构架(2学时)软件构架概念的澄清软件构架的其他观点构架模式、参考模型和参考构架软件构架的重要性•A-7E案例分析(2学时)与构架商业周期的关系需求与质量A-7E航空电子系统的构架•理解质量属性(6学时)功能性和构架构架和质量属性系统的质量属性质量属性场景其他系统质量属性商业质量属性构架的质量属性•实现质量属性(6学时)战术介绍可用性战术可修改性战术性能战术安全性战术可测试性战术易用性战术战术与构架模式的关系构架模式和样式•设计构架(6学时)生命期中的构架设计构架形成团队结构创建骨架系统•飞行模拟:构架可集成性案例分析(2学时)与构架商业周期的关系需求与质量构架解决方案•构架编档(2学时)构架编档的使用视图选择相关视图视图编档跨视图文档统一建模语言• AT AM:一种进行构架评估的综合方法(4学时)ATAM的参与人员ATAM的结果ATAM的阶段Nightingale系统:应用ATAM的案例分析八、实践教学(16学时)•上机操作内容及要求:从网上选课系统、文本编辑系统、票务查询系统或正文关键字索引系统这四个系统中任选一个,根据不同的质量属性驱动,运用ADD方法设计两个或多个构架方案,再用ATAM 方法进行评价,然后选择最优方案加以实现,编程语言自选。
软考系统架构大纲
软考系统架构大纲 1.系统架构概述
1.1 系统架构的定义和作用
1.2 系统架构的分类及特点
1.3 系统架构设计流程
2.架构设计原则与方法
2.1 分层架构设计原则
2.2 模块化设计原则
2.3 高内聚低耦合设计原则
2.4 框架化设计原则
2.5 可扩展性设计原则
2.6 服务化设计原则
2.7 基于架构风格的设计方法
3.常用的系统架构风格
3.1 分层架构
3.2 客户端-服务器架构
3.3 基于消息的架构
3.4 微服务架构
3.5 RESTful架构
3.6 事件驱动架构
4.常用的系统架构模式
4.1 MVC模式
4.2 MVP模式
4.3 MVVM模式
4.4 责任链模式
4.5 代理模式
4.6 观察者模式
5.系统架构技术与工具
5.1 设计模式
5.2 UML建模
5.3 面向服务的架构(SOA)
5.4 云计算
5.5 容器化技术
5.6 DevOps
6.实战案例分析
6.1 银行核心系统架构
6.2 电商系统架构
6.3 医疗信息系统架构
6.4 大型企业应用系统架构
7.系统架构优化与评估
7.1 系统架构优化的原则和方法 7.2 系统架构评估的指标和方法
7.3 优化案例分析
8.系统架构与业务发展趋势
8.1 人工智能与系统架构 8.2 物联网与系统架构
8.3 区块链与系统架构
8.4 5G与系统架构
8.5 未来系统架构趋势展望
9.总结与展望。
《软件系统架构》课程大纲
《软件系统架构》理论课教学大纲一、课程基本信息二、课程目标与任务软件系统架构是计算机科学与技术专业的选修课程,主要强调及兼顾理论体系的体系性及技术题材的实用性。
将全部课程时间讲解实际案例分析,案例代表性强、大型案例丰富,多为实践一线的实际案例。
在完成本课程后,使学生达到:(1)掌握软件架构的原理, 方法及技巧;(2)了解常见的架构模式以及它们在企业应用;(3)能够对软件架构进行分析,撰写软件架构文档;(4)在实际工作中胜任软件设计师及初级软件架构师的工作。
三、课程主要内容、要求及学时分配四、主要教学组织形式与方法手段注重理论联系实际,培养学生正确的思维方式和动手能力,培养学生的分析和解决问题的能力,激发学生对软件系统架构学习和研究的兴趣。
重点讲解背景知识,引导为主,涉及具体模型结构,合理安排实验教学作品的内容,激发学生对本课程的学习兴趣。
采用多媒体教学手段、任务驱动式教学方法教学。
五、课程考核和成绩评定《软件系统架构》实验课教学大纲一、课程基本信息二、课程目标与任务《软件系统架构》的实验是本课程教学的极其重要的实践环节。
通过实验使学生加深对理论知识和基本原理的理解;更重要的是训练了针对实际问题进行软件开发的能力。
通过《软件系统架构》实验设计,使学生熟悉软件设计工作规范,掌握常见的体系结构风格和体系结构设计方法,培养科学作风,真正具备利用计算机解决实际问题的能力。
课程以软件设计知识为主线,包括:软件设计的要素、软件设计的支持与评价、软件设计方法、体系结构设计、详细设计、基于中间件的设计、基于复用的设计和设计演化。
该课程强调案例教学,培养学生综合运用设计知识为实际问题设计和选择解决方案的能力。
三、实验教学的组织和安排(见附表)1.实验项目的设置、要求软件系统架构实验课与理论课同步进行,每个实验学生都必须提前预习。
实验课以学生自己动手为主,教师辅助指导。
软件系统架构实验课的类型有:验证性、综合性实验,通过实验课的训练,学生应达到下列要求:①理解软件设计的要素,掌握常用的软件设计方法、技术与手段,能够为复杂系统创建成功的设计方案,能够完成复杂系统的设计的演化;②理解软件设计要素、过程和方法,能够识别复杂应用的关键设计要素,并进行分析、折中和设计解决;③理解体系结构的概念,掌握常见的体系结构风格和体系结构设计方法,能够为简单的应用完成体系结构设计;④掌握详细设计常用的方法、技术与手段,能够为应用系统的复杂组件完成详细设计;⑤理解软件设计的建模与描述方法,能够正确的描述复杂系统的设计方案,能够为简单系统的设计方案进行准确的评价。
《软件体系结构》教学大纲
《软件体系结构》教学大纲课程英文名称: Software Architecture课程编号:050302一、课程说明1.课程性质《软件体系结构》课程,是软件工程专业硕士研究生的主干课程。
2.课程的目的和任务软件体系结构主要介绍软件体系结构和中间件的基本概念,使学生对软件体系结构有比较深入的了解。
通过学习,使得学生在软件工程思想的基础上,更进一步掌握软件分析和软件开发的方法和思想,并能在实际中应用。
培养学生成为一名合格的软件分析师或软件工程师,并为其在该领域进一步深造打下坚实的基础。
3.适用专业软件工程,计算机科学与技术专业4.学时与学分学分:3 学时:45 讲授学时:45 实践学时:05.先修课程软件工程,数据结构与算法,操作系统,程序设计6.推荐教材或参考书目教材名称:《软件体系结构》张友生编著清华大学出版社ISBN:7302078106 2004版主要参考书目:《软件体系结构理论与实践》冯冲,江贺,冯静芳编著人民邮电出版社2004版7.主要教学方法与多媒体要求主要教学方法:理论和技术教学,案例驱动教学多媒体要求:多媒体教学占80%8.考核方式1、平时成绩(书面作业+上机实验+考勤)2、课程大作业3、期末闭卷笔试4、总成绩 = 笔试成绩(60/100)+ 平时成绩(20/100)+ 大作业成绩(20/100)9.课外自学要求书本上没讲过的内容,让学生自学。
推荐的教材,学有余力的学生可以自学。
二、教学基本要求和能力培养要求1.通过本课程的教学环节,达到以下基本要求1)、应使学生全面了解软件体系结构的概念。
2)、使学生对软件体系结构有比较深入的了解,掌握软件体系结构的思想,了解软件体系结构的设计过程。
3)、使学生在了解软件体系结构的基础上,能用之于软件开发的实践过动中去。
2.通过学习本课程应具备以下能力培养学生成为一名合格的软件分析师或软件工程师,并为其在该领域进一步深造打下坚实的基础。
三、课程教学内容第一章软件体系结构概论重点:了解软件危机的概念、产生以及表现。
软件体系结构教学大纲
软件体系结构教学大纲课程概述软件体系结构的主题是针对复杂软件系统的高层结构、组织单元之间的相互关系的描述,以及围绕这种描述开展的各项活动,如设计、评估、实现、管理等。
《软件体系结构》课程是软件工程专业核心课程,在该课程的学习中,同学们将学习软件体系结构的基本概念、原则和方法。
同时,通过实际软件项目设计任务驱动学生运用理论知识主动思考架构方案,引导学生应用辅助工具完成系统架构设计、评估和实现。
体验软件架构师在软件项目全生命周期的任务、角色,搭建软件体系结构“学与用”的桥梁。
课程大纲01绪论课时1.1 绪论02软件体系结构风格课时2.1 数据流体系结构风格2.2 调用/返回体系结构风格2.3 数据中心体系结构fengge2.4 虚拟机体系结构风格2.5 事件系统体系结构风格03软件体系结构建模及文档化课时3.1 软件体系结构建模及文档化04质量属性及其提升策略课时4.1 Availability and its Tactics4.2 Modifiability and its Tactics4.3 Performance and its Tactics4.4 Security and its Tactics4.5 Testability and its Tactics4.6 Usability and its Tactics05软件体系结构评估课时5.1 软件体系结构评估06综合应用案例课时6.1 综合应用案例07课程总结课时7.1 课程总结。
软件体系结构教学大纲
《软件体系结构》教学大纲一、课程概述《软件体系结构》是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和实践的主要领域。
体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为相同设计的抽象,为实现框架和构件的重用、基于体系结构的软件开发提供了有力的支持。
作为计算机科学与技术专业软件工程方向的重要专业课程,本课程主要系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展。
既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。
本课程的先修课程为“软件工程”。
二、课程目标1.知道《软件体系结构》这门学科的性质、地位、研究范围、学科进展和未来方向等。
2.理解该门学科的主要概念、基本原理和策略等。
3.掌握软件体系结构的建模方法、描述方法,通过对不同软件体系结构风格的掌握,能够采用正确的基于体系结构的软件开发。
4.能够把所学的原理应用到具体的实践中去,培养学生发现、分析和解决问题的能力等。
三、课程内容与教学要求这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。
这四个层次的一般涵义表述如下:知道———是指对这门学科和教学现象的认知。
理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。
掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。
学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。
教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。
本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。
教学内容及教学要求表四、课程实施《软件体系结构》是计算机软件专业类必选课。
一般情况下周课时为3课时,共54课时。
(完整版)《软件设计与体系结构》教学大纲-2014-2月版
《软件设计与体系结构》教学大纲一、课程基本信息二、课程目的和任务软件体系结构是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和实践的主要领域。
专门和广泛地研究软件体系结构是从20世纪90年代才开始的,1993-1995年之间,卡耐基梅隆大学的Mary Shaw与David Garlan,贝尔实验室的Perry,南加州大学的Barry Boehm,斯坦福大学的David Luckham等人开始将注意力投向软件体系结构的研究和学科建设。
三、本课程与其它课程的关系。
体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享和重用、基于体系结构的软件开发提供了有力的支持。
鉴于体系结构的重要性,Dewayne Perry将软件体系结构视为软件开发中第一类重要的设计对象,Barry Boehm也明确指出:“在没有设计出体系结构及其规则时,整个项目不能继续下去,而且体系结构应该看做是软件开发中可交付的中间产品”。
四、教学内容、重点、教学进度、学时分配第一章软件体系结构概论1.1 从软件危机谈起1.1.1 软件危机的表现1.1.2 软件危机的原因1.1.3 如何克服软件危机1.2 构件与软件重用1.2.1 构件模型及实现1.2.2构件获取1.2.3 构件管理1.2.4构件重用1.2.5 软件重用实例1.3 软件体系结构的兴起和发展1.3.1 软件体系结构的定义1.3.2 软件体系结构的意义1.3.3 软件体系结构的发展史1.4 软件体系结构的应用现状第二章软件体系结构建模2.1 软件体系结构建模概述2.2 "4+1"视图模型2.2.1 逻辑视图2.2.2 开发视图2.2.3 进程视图2.2.4 物理视图2.2.5 场景2.3 软件体系结构的核心模型2.4 软件体系结构的生命周期模型2.5 软件体系结构抽象模型2.5.1 构件2.5.2 连接件2.5.3 软件体系结构2.5.4 软件体系结构关系2.5.5 软件体系结构范式第三章软件体系结构风格3.1 软件体系结构风格概述3.2 经典软件体系结构风格3.2.1 管道和过滤器3.2.2 数据抽象和面向对象组织3.2.3 基于事件的隐式调用3.2.4 分层系统3.2.5 仓库系统及知识库3.2.6 C2风格3.3 客户朋艮务器风格3.4 三层C/S结构风格3.4.1 三层C/S结构的概念3.4.2 三层C/S结构应用实例3.4.3 三层C/S结构的优点3.5 浏览器朋艮务器风格3.6 公共对象请求代理体系结构3.7 正交软件体系结构3.7.1 正交软件体系结构的概念3.7.2 正交软件体系结构的实例3.7.3 正交软件体系结构的优点3.8 基于层次消息总线的体系结构风格3.8.1 构件模型3.8.2 构件接口3.8.3 消息总线3.8.4 构件静态结构3.8.5 构件动态行为3.8.6 运行时刻的系统演化3.9 异构结构风格3.9.1 为什么要使用异构结构3.9.2 异构结构的实例3.9.3 异构组合匹配问题3.10 连系统构成的系统及其体系结构3.10.1 连系统构成的系统3.10.2 基于SASIS的软件过程3.10.3 应用范围3.11 特定领域软件体系结构。
软件架构师课程大纲
〔5〕软件约束条件与架构的影响(业务,运行环境,开发团队,实现技术等约束)
〔6〕如何使功能性需求,非功能性需求和平台细节在架构中能保持别离,从而改善可维护性和可扩展性
〔7〕处理功能需求,非功能性需求,平台细节.制定架构目标
〔8〕典型案例分析:结合工程,因为分析驱动因素的错误,导致工程不能如期验收的失败案例
〔4〕软件架构的评估方式
〔5〕软件详细设计和实现时期,架构师的职责和架构的监控
〔6〕典型案例分析:结合工程实例,分析如何进行验证架构和架构设计的后期重构技巧
二、架构设计重构和复用
〔1〕软件架构重构概述
〔2〕软件架构常见的坏病症
〔4〕软件架构的重构手段
〔5〕软件架构的复用
〔6〕结合某著名公司全球架构师团队架构实例,分析架构重构和架构复用技巧
3、数据存取〔持久性〕架构
〔1〕数据存取架构策略(对象和关系数据库的映射)
〔2〕对象关系阻抗/ORM技术/数据映射SQLMapper
〔3〕缓存技术在存取层的应用/缓存数据和数据库数据一致性
〔4〕分布式数据存取策略(读写别离/分布数据/异构数据存取)
〔5〕数据同步和一致性策略
〔6〕数据访问层的性能考虑
二、软件架构的文档编写
〔1〕软件架构文档的意义
〔2〕软件架构模板(根据实际工程情况选择适宜内容)
〔3〕软件架构文档的结构(防止出现不必要的重复和缺少关键信息)
〔4〕软件架构文档必须包含的内容(通过多个工程,分析不同系统包含系统内容不同)
〔5〕文档的后期管理(使文档保持更新)
〔6〕软件架构文档的评审
〔7〕典型案例分析:结合多个电信工程案例,进行分析和评审软件架构文档
软件体系结构-研究生教学大纲
课程名称:软件体系结构(Software Architecture)课程编码:课程学分:适用学科:软件工程、计算机应用、系统结构软件体系结构Software Architecture教学大纲一、课程性质本课程是硕士研究生专业基础课程之一。
软件体系结构(也称软件架构)的理论与实践近几年已经形成成熟的体系,成为软件工程中的一个新的及独立的领域,在大型复杂软件系统的开发过程中起着越来越重要的作用。
二、课程教学目的本课程强调及兼顾理论体系的体系性及技术题材的实用性。
将全部课程时间讲解实际案例分析,案例代表性强、大型案例丰富,多为实践一线的实际案例。
在完成本课程后,使学生能够掌握软件架构的原理, 方法及技巧,了解常见的架构模式以及它们在企业应用,能够对软件架构进行分析,撰写软件架构文档。
完成本课程的学员可以在实际工作中胜任软件设计师及初级软件架构师的工作。
三、教学基本内容及基本要求本课程分为三部分内容。
第一部分将在软件工程基本原理基础上,讨论软件架构及软件架构师在软件工程中的作用,分析软件架构所要解决的软件工程中的问题,以及软件架构师应当具备的知识及技能体系。
第二部分以架构设计的过程为主线,有序展开相应的方法论与实践:如何从需求向架构设计过渡、概念性架构设计、细化架构设计。
并强调非功能需求设计的方法与设计思想。
第三部分介绍常见的架构模式以及它们在企业应用,设计模式如何合理用于架构设计实践,如何设计Framework。
第一章引言6学时1.1 软件体系结构的概念1.2 软件的工程规范1.3 软件体系结构概况第二章体系结构模式 6学时2.1 体系结构模式2.2 管道和滤波器2.3 数据抽象和面向对象2.4 基于事件与隐含调用2.5 层次系统2.6 存储库2.7 中断2.8 过程控制2.9 其它类似结构2.10 不同种类的体系结构(多机系统)第三章用例研究 6学时3.1 文本中的关键字3.2 仪表化软件3.3 移动机器人3.4 巡回控制3.5 混合系统第四章共享信息系统 6学时4.1 共享信息系统4.2 数据库集成4.3 集成式软件开发环境4.4 集成构件设计4.5 共享信息系统的体系结构4.6 一些结论第五章软件体系结构设计 6学时5.1 用户界面体系结构5.2 限制设计空间第六章形式模式和规范 6学时6.1 体系结构形式化价值6.2 规范系统的形式化体系结构6.3 形式化体系结构模式6.4 形式化体系结构设计空间四、本课程与其他课程的联系与分工先修课程:软件工程、设计模式和计算机网络。
《软件设计与体系结构》课程教学大纲
《软件设计与体系结构》课程教学大纲课程编号:20421106总学时数:32总学分数:2课程性质:选修课程适用专业:计算机科学与技术一、课程的任务和基本教学要求:软件设计与体系结构是计算机科学与技术专业的一门专业课。
本课程主要介绍面向对象的各种软件体系结构,从软件体系结构的角度,介绍在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。
使学生可以简单方便地复用成功的设计和体系结构。
二、基本内容和教学要求:1、软件设计概述教学内容:(1) 软件过程概述;(2) 软件设计的含义;(3)软件系统的设计原则,各种原则的关系以及在设计模式中的应用;(4)这些原则主要有:开闭原则、依赖倒转原则、里氏代换原则、合成/聚合复用原则、迪米特原则和接口隔离原则。
教学要求:(1) 了解软件系统的设计原则;(2) 了解各种原则的关系及其应用。
2、设计模式导论教学内容:(1)设计模式的基本概念、设计模式历史;(2)软件复用技术的基本概念和实现原理。
教学要求:(1)掌握设计模式的基本概念;(2)了解设计模式的发展历史;(3)熟悉软件复用技术的基本概念;(4)了解软件复用技术的实现原理。
3、创建型模式教学内容:(1)创建型模式的基本概念;(2)创建型模式的使用方法,包括下列模式:简单工厂模式、工厂模式、抽象工厂模式、单实例模式、建造模式、原型模式。
教学要求:(1) 了解创建型模式的基本原理;(2) 熟悉创建型模式的使用方法。
4、结构型模式教学内容:(1)结构型模式的基本概念;(2)结构型模式的使用方法,包括下列模式:适配器模式、桥模式、组合模式、外观模式、享元模式、代理模式。
教学要求:(1) 掌握结构型模式的基本原理;(2) 熟悉结构型模式的使用方法。
5、行为模式教学内容:(1)行为型模式的基本概念;(2)行为型模式的使用方法,包括下列模式:责任链模式、命令模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法、解析器模式。
《软件设计与体系结构》教学大纲
《软件设计与体系结构》课程教学大纲一、教学大纲说明(一)课程的性质、地位、作用和任务《软件设计与体系结构》是计算机软件工程专业选修课程,主要研究结构良好的软件体系结构及所包含的设计模式、有价值的经验和针对特定问题的解决方案,能培养和提高学生的洞察力和分析能力,为今后能设计出灵活可复用的软件打下基础。
本课程的主要任务是掌握软件体系结构相关知识、原理和各种类型设计模式的基本结构,对软件体系结构有比较深入的理解,能够从系统结构角度分析现有的软件系统,在设计实际的特定问题是懂得运用具体相关的设计模式,并能利用所学到的有关软件体系结构的知识高效地设计软件系统。
(二)教学目的和要求本课程介绍软件体系结构的基本概念和基本原理,明确提出软件体系结构的动态性和适应性的理念,通过学习本课程使学生了解当今优秀编程人员如何灵活运用面向对象的技术进行可复用程序设计,同时使他们对面向对象技术和原理有更加深刻的认识理解,并能使用这些设计模式于实际的应用当中,另外还可以培养学生具有分析和解决问题的基本思路,以及面向对象程序设计中的可复用的思想,为日后从事大型复杂软件开发打下良好的基础。
(三)课程教学方法与手段采用理论与案例讨论相结合的教学方法,手段拟采用PowerPoint多媒体教学及分组讨论。
(四)课程与其它课程的联系《面向对象程序设计》是本课程的先修课,通过该课程掌握面向对象方法与技术的基本概念、特点和原理,并能运用该技术设计简单的面向对象系统,是本课程的基础。
同时,本课程与《软件工程》等相关专业课程有密切联系。
(五)教材与教学参考书教材:张春祥等编《软件体系结构理论与实践》,中国电力出版社,2011参考书:[1]Alan Shalloway、James R.Trott著、熊节译,《设计模式精解》,清华大学出版社,2005.1[2] Erich Gamma等著、李英军等译,《设计模式——可复用面向对象软件的基础》,机械工业出版社,2004.9二、课程的教学内容、重点和难点本课程有两个主要部分:一、介绍常用的体系结构风格,软件体系结构的组成与常用的描述方法,基于体系结构的软件开发方法;二、实际设计模式的分类描述,主要包括:创建型、结构型和行为型3类共23个设计模式。
《软件设计与体系结构》教学大纲
《软件设计与体系结构》教学大纲01.课程的性质、目的与任务《软件设计与体系结构》课程是为软件工程专业开设的必修课,也是计算机科学与技术软件开发方向课程。
本课程运用工程的思想、原理、技术、工具,来对软件设计以及软件体系结构的相关思想、理论与方法进行系统介绍,包括软件模型和描述、软件体系结构建模和UML、软件设计过程、软件体系结构风格、面向对象的软件设计方法、面向数据流的软件设计方法、用户界面设计、设计模式、Web服务体系结构、基于分布构件的体系结构、软件体系结构评估、软件设计的进化、云计算的体系结构等内容。
本课程的具体任务包括:1.让学生建立构建软件系统架构一般方法的感性认识,理解并掌握软件系统架构分析、体系结构建模与架构设计的相关理论知识,培养学生软件架构设计的基本能力,能从内部模块规划设计、系统层次结构的构建开始,了解构建系统结构的一般技术和方法。
2.在构建软件系统的过程中,理解软件系统构建的一些关键问题,学习应对不同需求的系统对策和设计实现技术,使学生初步具备一定的系统架构分析与设计能力,同时,深入理解各种典型框架技术及原理,并初步具备运用模式设计思想开展软件详细设计的能力。
3.一方面,让学生理解并掌握软件体系结构的重要概念、术语和系统化方法,建立软件架构设计的理念,了解当前流行的框架技术,并理解其原理。
另一方面,以加深知识理解和培养初步架构设计能力为目的,并在项目开发中加以实践;在实践环节中重点培养运用典型框架进行项目构建的能力和使用设计模式进行细化设计的能力。
02.课程教学基本要求及基本内容第1章引言(一)基本教学内容1.1 软件1.2 软件工程1.3 软件设计1.4 软件体系结构(二)基本要求教学目的:理解软件的本质、软件神话、软件工程,了解软件过程和软件工程实践的相关内容,了解网络环境带来的各类问题。
教学重点:软件工程中的设计、设计过程和设计质量、软件设计原则。
教学难点:什么是软件体系结构、软件体系结构的内容、设计阶段的软件体系结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件系统架构》课程教学大纲
1、课程代码:06043
2、课程名称:软件系统架构
3、课程名称:Software Architecture
4、课程类别:专业选修课
5、课程学分数:2
6、课程学时数:36
7、授课对象:计算机及相关专业本科
8、本课程的前导课程:软件工程
一、教学目的
随着软件系统规模越来越大,越来越复杂,整个系统的结构和规格说明都显得越来越重要。
对于大规模的复杂软件系统来说,总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择变得明显重要。
软件系统架构可以大大提高软件生产率和解决软件维护的问题。
作为计算机软件工程专业的学生,要深入了解软件系统架构在整个软件开发过程中的作用,掌握相关的软件系统架构风格,并能够在基于体系结构的基础上进行软件的开发,为今后的实际工作中所需要的软件系统架构的形成打下基础。
二、教学要求
要求学生通过学习本课程,熟悉“软件系统架构的现状与未来的发展趋势。
”
掌握“构件和软件重用;4+1视图模型;各种经典的软件系统架构风格、各种典型的软件系统架构描述语言;Web 服务体系结构;软件系统架构的分析、测试和评估等。
”
重点掌握“构件的管理和重用;软件系统架构抽象模型里面的构件,连接件,结构关系等;客户/服务器风格,三层C/S 结构风格;典型的软件系统架构描述语言C2等;基于体系结构的软件设计和开发;进行软件系统架构的分析和测试等。
”
三、课程内容与学时分配
课程内容:
1、软件系统架构概论。
主要介绍软件系统架构的兴起,构建与软件重用,以及软件系统架构的应用现状。
重点掌握构建与软件重用的相关内容:构建模型及其实现,构建获取,构建管理以及构建的重用及其实例等。
2、软件系统架构建模。
主要介绍常见的“4+1”视图模型,包括逻辑视图,开发视图,进程视图,物理视图及场景等。
同时介绍了软件系统架构的核心模型,软件系统架构的生命周期模型和几种抽象的软件系统架构模型。
重点把握“4+1”视图模型的各个视图,以及相关的核心模型等。
3、软件系统架构风格。
主要介绍了经典的软件系统架构风格,客户/服务器风格,三层C/S结构风格,浏览器/服务器风格,正交软件系统架构以及基于层次消息总线的体系结构风格,异构结构风格,特定领域软件系统架构。
主要掌握经典的软件系统架构风格,客户/服
务器风格,三层C/S结构风格,浏览器/服务器风格及其应用。
4、软件系统架构描述。
主要介绍体系结构的描述框架标准,体系结构描述语言及其典型的体系结构描述语言及简单介绍了UML和XML。
重点把握几种典型的软件系统架构描述语言。
5、动态软件系统架构。
主要介绍软件系统架构动态模型及对动态体系结构的描述和相关特征的描述。
了解软件系统架构动态模型。
6、WEB服务体系结构。
主要介绍WEB服务体系结构模型,WEB服务的相关核心技术以及面向服务的软件系统架构。
重点把握WEB服务的相关核心技术以及面向服务的软件系统架构。
7、基于体系结构的软件开发。
主要介绍基于体系结构的设计方法,体系结构的设计与演化,基于体系结构的软件开发模型,以及应用开发实例和基于软件系统架构的软件过程。
重点把握基于体系结构的设计方法以及基于体系结构的软件开发模型。
8、软件系统架构的分析与测试。
主要介绍软件系统架构的可靠性风险分析以及基于体系结构描述的软件测试。
重点掌握基于体系结构描述的软件测试。
9、软件系统架构评估。
主要介绍软件系统架构评估的主要方法,ATAM评估方法,SAAM 评估方法等。
重点掌握ATAM评估方法,SAAM评估方法。
10、软件产品线体系结构。
主要介绍软件产品线概述,软件产品线体系结构的设计以及软件产品线体系结构的演化等。
重点掌握软件产品线体系结构的设计。
课程内容与学时分配表
四、教材与参考书
教材:软件系统架构(第2版),清华大学出版社,张友生,2006
参考书:
1.实用软件系统架构,电子工业出版社,(美)霍夫曼著王千祥等译,2004
2.软件系统架构理论与实践,人民邮电出版社,马冲,江贺,冯静芳编著,2004
五、考核方式
练习(作为平时成绩占30%),期末考试(占70%)。