软件体系结构_陈长清_《软件体系结构》课程教学大纲
《软件体系结构》教学大纲
《软件体系结构》教学大纲一、课程概述《软件体系结构》是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和实践的主要领域。
体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为相同设计的抽象,为实现框架和构件的重用、基于体系结构的软件开发提供了有力的支持。
作为计算机科学与技术专业软件工程方向的重要专业课程,本课程主要系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展。
既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。
本课程的先修课程为“软件工程”。
二、课程目标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 方法进行评价,然后选择最优方案加以实现,编程语言自选。
软件体系结构课件第4章软件体系结构描述
能上的多种推理分析。
第4章 软件体系结构描述 ADL与其他语言的比较
第4章 软件体系结构描述 ADL与其他语言的比较
➢ 每个接口包含一种可发送的消息和一组可接收的消息。构件之间的消息要么是请求 其它构件执行某个操作的请求消息,要么是通知其他构件自身执行了某个操作或状 态发生改变的通知消息。
➢ 构件之间的消息交换不能直接进行,而只能通过连接件来完成。每个构件接口最多 只能和一个连接件相连,而连接件可以和任意数目的构件或连接件相连。
第4章 软件体系结构描述
C2 – 概述
➢ C2和其提供的设计环境(Argo)支持采用基于时间的风格来描述用户界面系统,并 支持使用可替换、可重用的构件开发GUI的体系结构。
➢ 在C2中,连接件负责构件之间消息的传递,而构件维持状态、执行操作并通过两个 名字分别为“top”和“bottom”的端口和其它的构件交换信息。
bottom_domain_interface ::= bottom_domain is out interface_notifications in interface_requests
interface_requests ::= {request;} | null;
interface_notifications ::= {notification;} | null;
➢ MIL方式对模块化的程序设计和分段编译等程序设计与开发技术确实发挥了 很大的作用。但是由于这些语言处理和描述的软件设计开发层次过于依赖程 序设计语言,因此限制了它们处理和描述比程序设计语言元素更为抽象的高 层次软件体系结构元素的能力。
《软件系统架构》课程大纲
《软件系统架构》理论课教学大纲一、课程基本信息二、课程目标与任务软件系统架构是计算机科学与技术专业的选修课程,主要强调及兼顾理论体系的体系性及技术题材的实用性。
将全部课程时间讲解实际案例分析,案例代表性强、大型案例丰富,多为实践一线的实际案例。
在完成本课程后,使学生达到:(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课时。
《软件体系结构》实验教学大纲
《软件体系结构》实验教学大纲
课程名称:软件体系结构
英文名称:Software Architecture
课程编号:
课程性质:课程类型:专业选修是否为独立设课的实验课:否
适用专业:软件工程、计算机
学时与学分:总学时:72 总学分: 3.5 实验学时: 18 实验学分:0.5
执笔人:尹剑飞
制定时间: 2012年3月修订
一、实验课的任务、性质与目的:
开设实验课的任务是使学生熟悉软件体系结构的设计过程和重构方法,培养产品特征分析、模式设计、原型构建的能力。
实验性质主要为设计型软件构造,需要通过UML等设计语言描述软件体系结构、设计模式分析、产品特征映射、设计重构等,以达到设计与开发较大型软件的目的。
实验课按指定的上机题目,要求学生提交调试好的程序和运行结果,记入平时成绩。
二、主要仪器设备及环境:
实验在学校微机房完成,需要保证实验课时每人一台微机。
所需软件Win2000 XP,Linux, Visual Studio, UML等。
三、实验项目的设置与实验内容
四、教材、实验教材(指导书):
[1] 罗剑锋.Boost程序库完全开发指南,电子工业出版社
[2] 软件体系结构—理论与实践,冯冲,人民邮电出版社
[3] 软件体系结构及实例分析,余雪丽,科学出版社
五、考核方式与评分办法:
考核内容包括实验报告内容的确完整性、实验设计的清晰程度、实验数据的准确性、实验结果及分析的正确性、和实验态度。
六、大纲审核人:。
(完整版)《软件设计与体系结构》教学大纲-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 特定领域软件体系结构。
软件体系结构-研究生教学大纲
课程名称:软件体系结构(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 形式化体系结构设计空间四、本课程与其他课程的联系与分工先修课程:软件工程、设计模式和计算机网络。
《软件设计与体系结构》教学大纲
《软件设计与体系结构》课程教学大纲一、教学大纲说明(一)课程的性质、地位、作用和任务《软件设计与体系结构》是计算机软件工程专业选修课程,主要研究结构良好的软件体系结构及所包含的设计模式、有价值的经验和针对特定问题的解决方案,能培养和提高学生的洞察力和分析能力,为今后能设计出灵活可复用的软件打下基础。
本课程的主要任务是掌握软件体系结构相关知识、原理和各种类型设计模式的基本结构,对软件体系结构有比较深入的理解,能够从系统结构角度分析现有的软件系统,在设计实际的特定问题是懂得运用具体相关的设计模式,并能利用所学到的有关软件体系结构的知识高效地设计软件系统。
(二)教学目的和要求本课程介绍软件体系结构的基本概念和基本原理,明确提出软件体系结构的动态性和适应性的理念,通过学习本课程使学生了解当今优秀编程人员如何灵活运用面向对象的技术进行可复用程序设计,同时使他们对面向对象技术和原理有更加深刻的认识理解,并能使用这些设计模式于实际的应用当中,另外还可以培养学生具有分析和解决问题的基本思路,以及面向对象程序设计中的可复用的思想,为日后从事大型复杂软件开发打下良好的基础。
(三)课程教学方法与手段采用理论与案例讨论相结合的教学方法,手段拟采用PowerPoint多媒体教学及分组讨论。
(四)课程与其它课程的联系《面向对象程序设计》是本课程的先修课,通过该课程掌握面向对象方法与技术的基本概念、特点和原理,并能运用该技术设计简单的面向对象系统,是本课程的基础。
同时,本课程与《软件工程》等相关专业课程有密切联系。
(五)教材与教学参考书教材:张春祥等编《软件体系结构理论与实践》,中国电力出版社,2011参考书:[1]Alan Shalloway、James R.Trott著、熊节译,《设计模式精解》,清华大学出版社,2005.1[2] Erich Gamma等著、李英军等译,《设计模式——可复用面向对象软件的基础》,机械工业出版社,2004.9二、课程的教学内容、重点和难点本课程有两个主要部分:一、介绍常用的体系结构风格,软件体系结构的组成与常用的描述方法,基于体系结构的软件开发方法;二、实际设计模式的分类描述,主要包括:创建型、结构型和行为型3类共23个设计模式。
软件体系结构讲义(华中科技大学)
1.1 软件架构的概念
控制处理 (CP)
特征损失模型
回声模型
噪音模型
你从这个图中可以知道什么?
1.1.1 软件架构的定义
软件架构—在一定的设计原则基础上,从不同角度对组成系统 的各部分进行搭配和安排,形成系统的多个结构而组成架构, 它包括该系统的各个组件、组件的外部可见属性及组件之间的 相互关系。 组件的外部可见属性是指其它组件可对该组件所做的假设,如 该组件提供的服务、具备的质量特征、错误处理、共享资源的 使用。 为什么设计原则是架构的一部分?
春节刚过,我就被提拔为项目经理。
设计师必须明白对业务需求的理解程度往往不如涉众。
2 姿态放低一点
案例2:逗狗师的故事 富人喜欢养很名贵的狗,但狗往往不听主人的话,只好请 逗狗师帮忙训练狗并参加比赛。逗狗师可以让一条陌生的狗在 几分钟内听他的话,询问原因,乃逗狗师看狗的眼光会让狗觉 得他比它低点。 我们都喜欢平易近人的领导,愿意和他们沟通。 有些领导担心姿态放低了,别人不把他当领导,其实这样 的人是很少的。就像逗狗师一样,姿态虽然低点,但最终的结 果是狗听他的话。
6. 控制流—程序、模块或系统状态之间的“之后激活”的关系, 适合于对系统功能行为和时序关系的验证。
7. 使用结构—描述过程或模块之间的联系,这种联系是“假设 正确存在”的关系,用于设计可轻松扩展的系统。 如果过程A的运行必须以过程B的正确运行为前提,则说过 程A使用过程B。 8. 调用结构--(子)过程之间调用和被调用的关系,可用来跟 踪系统的执行过程。 9. 层次结构—是一种特殊的使用结构,层就是相关功能的一致 集合,在严格的分层结构中,第n层仅能使用第n-1层提供的 服务。 部署的角度: 10. 物理结构—软件与硬件之间的映射关系,在分布式或并行系 统中有重要意义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件体系结构》课程教学大纲
一、课程名称:软件体系结构 Software Architecture
二、课程编码:0810711
三、学时与学分:48/3
其中课堂教学32学时,实践教学16学时。
四、先修课程:软件工程
五、课程教学目标
1.帮助学生了解软件体系结构的基本概念,初步掌握中大型软件体系结构的分析与设计方法;
2.使学生了解构建系统的目的是为了满足组织的需求,认识软件行业和开发组织在系统设计及其最终成败所起的作用,提高软件设计的基本素养;
3.引导学生认识系统的性能、可用性、安全性等质量属性都是受软件构架制约的,或者说这些属性的实现影响着设计师的设计选择。
六、适用学科专业
软件工程
七、基本教学内容与学时安排
●构架商业周期(2学时)
构架的产生
软件过程和构架商业周期
什么样的构架才算好
●什么是软件构架(2学时)
软件构架概念的澄清
软件构架的其他观点
构架模式、参考模型和参考构架
软件构架的重要性
●A-7E案例分析(2学时)与构架商业周期的关系
需求与质量
A-7E航空电子系统的构架●理解质量属性(6学时)功能性和构架
构架和质量属性
系统的质量属性
质量属性场景
其他系统质量属性
商业质量属性
构架的质量属性
●实现质量属性(6学时)战术介绍
可用性战术
可修改性战术
性能战术
安全性战术
可测试性战术
易用性战术
战术与构架模式的关系
构架模式和样式
●设计构架(6学时)
生命期中的构架
设计构架
形成团队结构
创建骨架系统
●飞行模拟:构架可集成性案例分析(2学时)
与构架商业周期的关系
需求与质量
构架解决方案
●构架编档(2学时)
构架编档的使用
视图
选择相关视图
视图编档
跨视图文档
统一建模语言
●ATAM:一种进行构架评估的综合方法(4学时)
ATAM的参与人员
ATAM的结果
ATAM的阶段
Nightingale系统:应用ATAM的案例分析
八、实践教学(16学时)
●上机操作内容及要求:
从网上选课系统、文本编辑系统、票务查询系统或正文关键字索引系统这四个系统中任选一个,根据不同的质量属性驱动,运用ADD方法设计两个或多个构架方案,再用ATAM 方法进行评价,然后选择最优方案加以实现,编程语言自选。
●上机操作考核办法
提供构架文档等各类文档。
源程序和可执行文件。
进行课堂演示。
九、教材及参考书
●教材
书名:软件构架实践
作者:Len Bass, Paul Clements, Rick Kazman
译者:车立红
出版社:清华大学出版社
版本号:2004年6月第2版
●参考教材
(1)书名:《Software Architecture in Practice》作者:Len Bass, Paul Clements, Rick Kazman
出版社:清华大学出版社
版本号:2004年6月第2版(影印版)
(2)书名:Software Architecture
作者:Mary Shaw, David Garlan
出版社:清华大学出版社
版本号:2001年9月第4版
十、考核方式
书面考试+讨论、作业+实践表现。