软件体系结构教学大纲

软件体系结构教学大纲
软件体系结构教学大纲

《软件体系结构》教学大纲

一、课程概述

《软件体系结构》是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和实践的主要领域。体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为相同设计的抽象,为实现框架和构件的重用、基于体系结构的软件开发提供了有力的支持。

作为计算机科学与技术专业软件工程方向的重要专业课程,本课程主要系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展。既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。

本课程的先修课程为“软件工程”。

二、课程目标

1.知道《软件体系结构》这门学科的性质、地位、研究范围、学科进展和未来方向等。2.理解该门学科的主要概念、基本原理和策略等。

3.掌握软件体系结构的建模方法、描述方法,通过对不同软件体系结构风格的掌握,能够采用正确的基于体系结构的软件开发。

4.能够把所学的原理应用到具体的实践中去,培养学生发现、分析和解决问题的能力等。

三、课程内容与教学要求

这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下:

知道———是指对这门学科和教学现象的认知。

理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。

掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。

学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。

教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。

本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。

教学内容及教学要求表

四、课程实施

《软件体系结构》是计算机软件专业类必选课。一般情况下周课时为3课时,共54课时。其中讲授42课时、实验12课时。函授生及公选课视具体情况而定,一般为30课时,其中讲授26课时、实验4课时。具体课时安排如下:

课时安排及教学方法表

五、教材和参考书目

1. 等《软件体系结构(第2版)》,,2006年版;

2. 蔡敏等,《UML基础与Rose建模教程》,人民邮电出版社,2006年版。

六、课程评价

1.这门学科的评价依据是本课程标准规定的课程目标、教学内容和要求。

2.考试时间:120分钟。

3.考试方式、分制与分数解释。采用开卷的期终考试+实验考核和平时成绩(主要为作业和实验报告)相结合方式评定学生成绩。以百分制评分,60分为及格,满分为100分。其中,平时成绩为10分,实验报告为20分,期终考试为70分。

4.题型:简答题、论述题、综合分析题和设计题等。

A. 简答题:(着重考查学生对软件体系结构的理解与掌握程度)

例:引入软件体系结构后,传统软件过程发生了哪些变化?这种变化有什么好处?

B. 论述题:(着重考查学生对软件体系结构知识的掌握与学会程度)

例:请论述面向服务的软件体系结构的设计原则。

C. 综合分析题:(着重考查学生对软件体系结构理论知识的掌握与学会程度)

例:请把基于体系结构的软件开发模型与其他软件开发模型进行比较。

D. 设计题:(着重考查学生对软件体系结构设计技术掌握与学会程度)

例:选择一个规模适中的系统,使用UML为其建模。

制定该课程标准小组成员

审核者:

软件开发项目配置管理工具的选择

软件开发项目配置管理工具的选择 通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。并对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报…… 每一个软件项目,无论是工程类项目,还是产品类项目,都必须经历需求分析、系统设计、编码实现、集成测试、部署、交付、维护和支持的过程。在这个过程中,将生成各种各样不同的工件,包括文档、源程序、可执行代码、支持库。更可怕的是,频繁出现的变更是不可避免的,因此面向如此庞大且不断变动的信息集,如何使其有序、高效地存放、查找和利用就成为了一个突出的问题。 针对这一问题,最早的开发人员尝试过的解决办法是通过手工来实现: 1)文档:每次修改时都另存为一个新的文件,然后通过文件名进行区分,例如"XXX 软件需求说明书V1.0,XXX软件需求说明书V1.1,XXX 软件需求说明书V2.0.",并且在文件中注明每次版本变化的内容; 2) 源代码:每次要修改时就将整个工程目录复制一份,将原来的文件夹进行改名,例如"XX 项目V1.0、XX 项目1.01、.",然后在新的目录中进行修改; 但是这种方法,不仅十分繁琐,容易出错,而且会带来大量的垃圾数据。如果是团队协同开发或者是项目规模较大时,还是会造成很大的混乱。很显然,这样简陋的方法是无法应对这一问题的。后来,有人尝试从制造工业领域引入了"配置管理"这一概念,通过不懈的研究与实践,最终形成了一套管理办法和活动原则,这也就是软件配置管理。 通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。并对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报。 常见的配置管理工具 正如前面所述,由于软件配置管理过程十分繁杂,管理对象错综复杂,如果是采用人工的办法不仅费时费力,还容易出错,产生大量的废品。因此,引入一些自动化工具是十分有裨益的,这也是做好配置管理的必要条件。 正是因为如此,市场上出现了大量的自动化配置管理工具,这些工具的实现原理与基本机制

软件配置管理过程指导说明书(超级实用)

软件配置管理过程指导说明书

目录 1 前言 (2) 1.1 目的 (2) 1.2 适用范围 (2) 1.3 术语名词解释 (2) 2 角色和职责说明 (3) 3 输入 (4) 4 入口准则 (4) 5 配置管理实施 (4) 5.1 配置库结构 (4) 5.1.1 配置库 (4) 5.1.2 配置管理库系统 (6) 5.2 配置管理流程 (6) 5.2.1 配置管理流程图 (6) 5.2.2 配置变更流程图 (7) 5.3 配置标识 (8) 5.3.1 配置库划分 (8) 5.3.2 配置库结构 (8) 5.3.3 配置项命名 (11) 5.3.4 版本编号规范 (11) 5.4 配置管理活动 (12) 5.4.1 制定配置管理计划 (12) 5.4.2 建立配置库 (12) 5.4.3 建立配置项 (12) 5.4.4 基线建立及发布过程 (12) 5.4.5 配置变更 (13) 5.4.6 配置审计 (15) 5.4.7 备份 (16) 6 输出 (16) 7 出口准则 (16) 8 本过程裁剪规定 (16)

1 前言 1.1 目的 用于描述配置管理作用和过程,规范配置管理的实施过程、活动和操作。 1.2 适用范围 适用于在软件生命周期中对各类软件项目的配置管理活动。 1.3 术语名词解释 CCB:Configuration Control Board,配置管理委员会,每个项目组需要建立项目级的CCB作为变更控制权威。CCB由质量工程师、项目经理、测试经理、配置管理员构成,有时也可以包括客户代表、上级质量部门主管。CCB组长可以是质量工程师或质量部领导,但不能是项目经理。 软件配置项:是指软件工程过程中所生产或使用的任何元素,或者是纳入软件产品的元素。它可以是说明书、计算机程序、数据结构或者开发软件产品所使用的工具等,包括:项目文档,源代码,执行程序,相关设备及资料。 软件配置管理:对软件配置项的管理称为软件配置管理。软件配置管理的目的是建立和维护软件项目整个生命周期中工作产品的完整性和可追溯性。 软件工作产品:由定义、维护和使用一个软件过程所产生的任何人工制品,包括过程描述、计划、规程、计算机程序和相关文档,无论是否打算将它们交给客户或最终用户。 软件产品:可交付给客户或最终用户的软件工作产品的子集称作软件产品 基线:基线,是开发过程中标识出的里程碑所交付的一个或多个配置项,也即指一个(或一组)配置项在项目生命周期的不同时间点上通过正式评审而进入正式受控的一种状态它有如下特征:(1)已经过正式的评审和批准;(2)作为项目发展和产品升级的基础。(3)基线变更必须经过CCB审批。 变更控制:对配置项的更改进行评价、协调、认可或不认可以及执行更改的过程。 版本发布:指从项目的配置库中将需交付给客户的所有配置项组装成一个完整的软件产品。即交付给客户的一个包括可执行程序和文档的发布基线称为发布(release)。 配置审计:可以分为物理审计和功能审计。物理审计审查配置项的外在特征的正确性与一致性,主要考查软件受控库的结构、内容及其它相关信息,以验证基线和描述它的文档的一致性;功能审计审查配置项内容的正确性与一致性,主要考核配置项在实现功能上的一致性,功能审计主要通过评审和测试报告体现。 物理审计的内容包括: ? 确认配置项标识的正确性; ? 确认已受控配置项的更改是受到控制的; ? 验证配置库内容与相应记录之间的一致性; ? 验证配置管理活动与相应记录之间的一致性; ? 验证配置管理工作是否符合适用的标准和规程; ? 验证配置管理系统与系统备份的有效性、一致性等。 功能审计的内容包括: ? 验证当前基线所含配置项对前一基线所含配置项的追溯性; ? 确认当前基线所含配置项均正确反映了项目需求; ? 评估基线的完整性; ? 验证当前基线和各基线间所含配置项的一致性; 验证配置库内容的完备性和正确性等。

软件建模和设计试题

一.名词解释: 1.在软件工程中,对客观世界的问题领域进行抽象,并用某描述方法表示的结果称为模型。模型是现实系统的简化,它是抓住现实系统的主要方面而忽略次要方面的一种抽象,是对问题的书面上的、图形或文字的、无歧义的描述。人们常常在正式构造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质,抓住问题的要害。在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握。 https://www.360docs.net/doc/5516118191.html,e Case(用例):在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。一个Use Case表达了用户对系统的一项需求,也就是系统的一项责任或功能。 3.架构风格指一组原则。可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。软件体系架构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系架构风格定义了一个系统家族,即一个体系架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。 4.类(Class)是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。类通过接口与外界发生关系。 5.软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。 二、 1.面向对象建模的大致过程如下: 用UML进行面向对象建模首先要描述总体需求。在这一阶段中主要是建立用例模型和静态模型,以搭建系统体系结构。用例图是系统的高级视图,要求按照面向对象的原则,站在功能划分的角度将系统要实现的行为划分为用例;以用例之间的动态交互及交互时间为依据产生顺序图;接下来就在用例图的基础上抽象出系统的类,明确各模块之间的关系以适当的粒度画出类图,其中也包括了与用例图的相互迭代修改在分析完模块的静态交互关系后继而要绘制出构件图。以上这些过程中均不考虑系统的具体实现,如建立什么样的数据库或采用什么语言编码等,最好是以使用者的眼光去分析系统功能。为建立完整的系统模型,还要对模块交互和构件细节做进一步分析,补充状态图、活动图、协作图和实施图等,从尽可能多的角度对复杂系统进行描述。在模型确定后就可以借助相应的支撑软件将模型导出为

软件体系结构期末考试

北京工业大学2014 - 2015学年 第二学期模拟试题 考试课程:软件体系结构I 考试日期:2015年5 月20日 学院:软件学院专业:软件工程 学号:姓名:成绩: 一填空题(共30 空,每空 1 分) 1. 软件或程序是由软件工程人员设计与开发,使计算设备发挥计算潜能,________ 的逻辑层次组织。 2. 软件体系结构(Software Architecture)-- 是软件产品设计的思想和系统的蓝图;是 对软件产品_______的规划和_______的设置;是定义软件系统组件(Components)或构建块(Building Blocks)的重要工具;用于 -- 实现对一个软件系统的构成进行_________的划分 -- 所形成和采用的工程化规范,是指导软件后续过程方方面面组成的模型。 3.软件开发中的面临若干问题:1)软件固有的复杂性;2)软件开发的随意性;3)周期 长,代价高,质量低的问题;软件体系结构设计是软件产品及大型信息系统工程实现中最重要的环节和关键技术之一,解决从软件的__________到系统实现(代码)的有效和平坦过渡。 4.软件产品的工业化生产:是指建立流水线型的软件产品生产线,是指按_____、标准 化的规范和规则(软件生产规范)来编写和实现各种各样的适应于多环境的软件___,通过软件体系结构来确定各个软件组件如何部署到开发架构模式中,组装成达到期望的软件产品。 5.体系结构设计方法的发展中,软件程序开发经历了如下的阶段 -- 功能分解法 (计算任务) -- 结构化程序设计 (以数据为中心) -- _________________ -- _________________ -- 基于 SOA 的程序设计 (以服务为中心)。 6. 一个现代软件产品生产过程如下图表示,请在带___________的方框中,填上相应的组 件名称

软件配置管理报告

份号:001密级: XXXXXXX项目 软件配置管理报告 XXXX-RPB-R01.00 XXXXXXXX 公司 XXXX 年XX月XX日

辑要页

摘要: 主题词:

文档修改记录

1范围............................................................................................... 1.1标识.......................................................................................... 1.2系统概述...................................................................................... 1.3文档概述......................................................................... 1........... 2引用文挡........................................................................................... 3软件配置管理情况综述............................................................................. 4软件配置管理基本信息............................................................................. 5专业组划分及权限分酉己.......................................................................... 6配置项记录......................................................................................... 7变更记录........................................................................................... 8基线记录........................................................................................... 9入库记录...........................................................................................

软件配置管理流程

配置管理流程规定 (Ver1.0) 拟制:___________________ 审核:___________________ 签发:___________________

目录 1.配置管理流程 (3) 1.1概述 (3) 1.2总体流程图 (3) 1.3软件需求分析阶段 (4) 1.4软件设计阶段 (4) 1.5制定配置管理计划 (4) 1.6配置库管理 (4) 1.6.1相关人员分配权限 (4) 1.6.2配置项 (5) 1.7版本控制 (6) 1.8变更控制 (6) 1.9配置审计 (8) 1.9.1配置审核的类别 (8) 1.9.2配置审核执行的时机 (8) 1.9.3不符合项的处理 (8) 2.0.0配置状态报告 (8) 2.0.1配置状态报告的目的 (8) 2.0.2配置状态报告记录的内容 (8) 2.0.3配置状态报告的生成 (9) 2.1.0发行管理 (9) 2.1.1交付管理 (9) 2.软件基线化规范 (10) 2.1正常开发期 (10) 2.2版本发布期 (11) 2.3项目发布期 (13) 3.Jira配置管理 (14)

1.配置管理流程 1.1概述 规范配置管理活动,确保配置项正确地唯一标识并易于存取,保证基准配置项的更改受控,明确基线状态,在贯穿整个软件生命周期中建立和维护项目产品的完整性和可追溯性。 1.2总体流程图

1.3软件需求分析阶段 参加需求分析会议,配置管理负责人记录,有关文档提交归档。如《需求分析》。 1.4软件设计阶段 参加设计阶段,为了详细制定配置管理计划。针对需求分析报告进行系统设计,配置时应说明系统设计的版本与需求分析报告版本的对应关系。设计书评审通过后,建立设计基线。 1.5制定配置管理计划 配置管理员制定配置管理计划,主要内容包括配置管理软硬件资源、配置项计划、备份计划等,审批该计划。 1.6配置库管理 配置管理员为项目创建配置库,并给每个项目成员分配权限。各项目成员根据自己的权限操作配置库。 1.6.1相关人员分配权限 项目经理: 1)与(有关负责人员)协商确定项目起始基线 2)接受配置管理计划,并按相关规定贯彻执行; 3)接受配置控制委员会的报告。 4)提出配置管理计划的修改要求; 5)提出管理管理的建议和要求。 配置管理员 1)编制配置管理计划; 2)执行配置项管理; 3)执行版本控制和变更控制方案; 4)编制配置状态报告; 5)配置库的建立和权限分配; 6)配置管理工具的日常管理与维护; 7)配置库的日常操作和维护 开发人员

16软件配置管理报告

份号:001 密级: XXXXXXXX项目 软件配置管理报告 XXXX-RPB-R01.00 XXXXXXXX公司 XXXX年XX月XX日

辑要页

文档修改记录

目次 1 范围 (1) 1.1标识 (1) 1.2系统概述 (1) 1.3文档概述 (1) 2 引用文挡 (1) 3 软件配置管理情况综述 (1) 4 软件配置管理基本信息 (1) 5 专业组划分及权限分配 (1) 6 配置项记录 (1) 7 变更记录 (2) 8 基线记录 (2) 9 入库记录 (2) 10 出库记录 (2) 11 审核记录 (2) 12 备份记录 (2) 13 测量 (2) 14 主释 (2)

1 范围 1.1 标识 本条应描述本文档所适用的系统和软件的完整标识,适用时,包括其标识号、名称、缩略名、版本号和发布号。 1.2 系统概述 本条应概述本文档所适用的系统和软件的用途。它还应描述系统与软件的一般特性;概述系统开发、运行和维护的历史;标识项目的需方、用户、开发方和保障机构等;标识当前和计划的运行现场;列出其他有关文档。 1.3 文档概述 本条应概括本文档的用途和内容,并描述与其使用有关的保密性考虑。 2 引用文挡 本章应列出引用文档的编号、标题、编写单位、修订版及日期,还应标识不能通过正常采购活动得到的文档的来源。 3 软件配置管理情况综述 本章应描述软件配置管理活动进展,与软件配置管理计划的偏差;软件配置管理活动与规程是否相符;对不符合项所采取的措施;完成软件配置管理工作的工作量等。 4 软件配置管理基本信息 本章应概述软件配置管理的基本信息,包括项目负责人、各级软件配置管理机构组成人员和负责人、软件配置管理所用的资源(如计算机、软件和工具)等。 5 专业组划分及权限分配 本章应列出项目专业组的划分、各专业组的成员以及各成员的权限分配,如专业组可分为项目负责人、开发组、测试组、质量保证组、配置管理组等,权限可分为读出、增加、替换、删除等。 6 配置项记录 本章所列出项目的所有配置项,包括配置项名称、配置项最后发布日期、配置项控制力度(控制力度可分为基线管理、非基线管理(受到管理和控制))、配置项版本变更历史、配置项变更累计次数等内容。

软件体系结构试题免费版本

软件体系结构考试试题 1、设计模式一般用来解决什么样的问题( a) A.同一问题的不同表相 B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2、下列属于面向对象基本原则的是( c ) A.继承 B.封装 C.里氏代换 D都不是 3、Open-Close原则的含义是一个软件实体( a ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。 A.创建型 B.结构型 C行为型 D.以上都可以 5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( d )的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。 A, 委派 B.继承 C创建 D.以上都不对 复用方式:继承和组合聚合(组合委派) 7、设计模式的两大主题是( d ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 8、单子模式中,两个基本要点( a b )和单子类自己提供单例 A .构造函数私有 B.唯一实例 C.静态工厂方法 D.以上都不对 9、下列模式中,属于行为模式的是( b ) A.工厂模式 B观察者 C适配器以上都是

10、“不要和陌生人说话” 是( d )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解 11、构造者的的退化模式是通过合并( c )角色完成退化的。 A.抽象产品 B产品 C创建者 D使用者 12、单子(单例,单态)模式类图结构如下: 下列论述中,关于”0..1”表述的不正确的是( d ) A.1表示,一个单例类中,最多可以有一个实例. B.”0..1”表示单例类中有不多于一个的实例 C.0表示单例类中可以没有任何实例 D.0表示单例类可以提供其他非自身的实例 13、对象适配器模式是( a )原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 14、静态工厂的核心角色是(a) A.抽象产品 B.具体产品 C.静态工厂 D.消费者 15、下列关于静态工厂与工厂方法表述错误的是:( a ) A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码 B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中 C.不能形成静态工厂的继承结构 D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。 16、在观察者模式中,表述错误的是( c ) A.观察者角色的更新是被动的。 B.被观察者可以通知观察者进行更新 C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。 D.以上表述全部错误。 17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:( d ) A.创建一个新的抽象类C,作为两个具体类的超类,将A 和B 共同的行为移动到C 中,从而解决A和B 行为不完全一致的问题。 B.将B到A的继承关系改组成委派关系。 C.区分是“IS-a”还是”Has-a”。如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系

软件体系结构期末大题

软件体系结构-期末大题

————————————————————————————————作者:————————————————————————————————日期: ?

1.基于构件的软件开发的优势是什么? 基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。 Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。

3.在希赛公司的一个财务管理系统,财务部要客户提供………… 4.不同的体系结构风格具有各自的特点、优劣和用途。试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。P52-56 (1)管道和过滤器 特点: @使得软构件具有良好的隐蔽性和高内聚、低耦合的特点; @允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;

@支持软件重用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来; @系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉; @允许对一些如吞吐量、死锁等属性的分析; @支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行?缺点:①通常导致进程成为批处理的结构。 ②不适合处理交互的应用。 ③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。 (2)

软件项目配置管理系统计划清单指导应用清单

中国核电集团 CHINA GUANGDONG NUCLEAR POWER GROUP 记录文件 项目编号 项目名称 CGN-IT-C3-A12-01 软件项目配置管理计划 版本编写审核审定批准生效时间A/0 注:如无受控文件标识(蓝色印章)则为非有效版本,以受控文件规定为准。 此文件属中国核电集团所有,未经许可,不得以任何方式外传。

修改记录页

目录 (一)基本信息 (4) (二)角色与职责 (4) (三)配置管理资源 (5) (四)权限分配 (5) (五)配置项计划 (6) (六)配置库基线 (7) (七)配置库备份计划 (8) (八)配置库状态报告 (8) (九)配置审核 (9) (十)审批意见 (9)

配置管理计划(一)基本信息 项目名称: 项目代号: 立项时间: 预计主要项目阶段有: 配置项目命名规则依据: (二)角色与职责

(三)配置管理资源 本项目使用配置管理工具对各配置项进行存储、版本管理,并提供更新、检索和历史版本的恢复。 提示: (1)配置管理员确定本项目的配置管理软件。例如采用Microsoft公司的TFS或者IBM公司的clearecase。 (2)配置管理员根据所采用的配置管理软件,确定计算机资源(考虑存、外存、CPU等)。 预计建库申请日期: 预计建库日期: 预计工作库需空间: (四)权限分配 项目成员访问配置库的ID及PASSWORD默认设置为与域的设置相同。 若个人要求另行设置的,由项目组配置管理员负责汇总后,提交给高级配置管理员调整设置。

(五)配置项计划 填写上面表格过程中,需要对照成果物列表逐项填写。

SCMS软件配置管理过程

C M M文件软件配置管理过程 XXXXXXXXXXXX (版权所有,翻版必究)

文档变更请求(DCR)

文档变更记录

目录 1 概述 (1) 1.1 目的 (1) 1.2 范围 (1) 1.3 术语与定义 (1) 1.4 参考文档 (1) 1.5 引用文档 (2) 2 过程目标 (2) 3 过程定义 (2) 3.1 责任人 (2) 3.2 输入 (3) 3.3 入口准则 (3) 3.4 过程活动 (3) 3.5 出口准则 (6) 3.6 输出 (6) 附录 A :软件配置项/产品包标识 (8) A.1 文档的编号 (8) A.2 程序的名称 (9) A.3 软件产品包的标识 (9) A.4 系统、数据库、开发与支持软件工具的编号 (9) 附录 B :配置项状态报告 (10) B.1 系统软件、数据库、开发与支持软件工具列表 (10) B.2 软件基线/配置项状态报告 (10) B.3 软件基线软件基线变更报告 (10) 附录 C :软件配置管理测量报告 (11)

1概述 1.1目的 软件配置管理(简写为SCM)是维护项目软件整个生命周期产品完整性的重要活动,本文档明确规定了公司软件配置管理活动的目标和过程定义,为公司软件配置管理提供所遵循的过程、程序和指导方针。 1.2范围 本文档适用于管理公司所有软件项目在各阶段标识的软件配置。软件配置管理的大部分活动用“软件配置管理工具”实现。 1.3术语与定义 1.3.1软件工作产品:作为定义、维护或应用软件过程的一部分所生成的任何人工制品,包括过程描述、 计划、规程、计算机程序和相关文档,这些可能交付也可能不交付给顾客或最终用户。 1.3.2软件基线:软件配置项经软件验证、确认、评审和认定后,形成了软件基线,也就成了该阶段的一 个基准。下一个阶段只能在这个基准上进行开发活动。 1.3.3软件配置项:是指一个软件产品在软件生存周期各个阶段所产生或应用的各种形式(机器可读或人 工可读)和各种版本的文档、程序及其数据。 1.3.4SCCB:软件配置管理委员会(Software Configuration Control Board)(关于责任,参见“责任 人”)。 1.3.5SCM:软件配置管理(Software Configuration Management) 包括了标识软件工作产品、控制对 软件工作产品的更改、和维护在整个软件生存周期中的软件工作产品的完整性和可跟踪性。 1.4参考文档 1.4.1Mark C. Paulk,Bill Curtis,Mary Beth Chrissis,Charles V. Weber,Capability Maturity Model for Software (Version 1.1) 1.4.2Roger S. Pressman,Software Engineering –A Practitioner’s Approach (Fourth Edition) 1.4.3《计算机软件配置管理计划规范》GB/T 12505-90

软件体系结构期末复习题概述

《软件体系结构》期末复习题 简答题: 1、软件体系结构建模的种类有: 结构模型、框架模型、动态模型、过程模型、功能模型。 2、“4+1”视图模型从5个不同的视角包括: 逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。 连接件:表示构件之间的交互。 配置:表示构件和连接件的拓扑逻辑和约束。 端口:表示构件和外部环境的交互点。 角色:定义了该连接交互的参与者。 4、画出“4+1”视图模型图,分析各部分的原理和功能。 5、软件体系结构风格: 是描述某一特定应用领域中系统组织方式的惯用模式。 6、软件体系结构 (Software Architecture) 软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。软件体系结构由组件、连接件和属性组成。 7、分层系统的优点有: 1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解; 2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层; 3)支持重用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。这样,就可

以定义一组标准的接口,而允许各种不同的实现方法。 8、分层系统的缺点有: 1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来; 2)很难找到一个合适的、正确的层次抽象方法。 9、 B/S体系结构的优点有什么? 答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。 2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。 10、B/S体系结构的缺点有什么? 答:1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。 2)B/S体系结构的系统扩展能力差,安全性难以控制。 3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。 4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。 11、DSSA 答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构 11、软件体系结构的动态性主要分为: 交互式动态性、结构化动态性、体系结构动态性等三类。 12、请画出基于构件的动态系统结构模型画。 13、软件产品线 产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的 14、SOA 即service-oriented architecture,面向服务架构。它是一个组件模型,它 将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接 口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于 实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的 系统中的服务可以以一种统一和通用的方式进行交互。 14、RIA

软件体系结构考试参考试题

壹 . 名词解释(参考斯佳分享的名词解释文档) 1.ADL(Architecture Description Language) 体系结构描述语言 2. SOA(Service-Oriented Architecture) 面向服务架构 3. DSSA (Domain Specific Software Architecture) 特定领域软件体系结构 4.CORBA(Common Object Request Broker Architecture) 公共对象请求代理体系结构 5. UML(Unified Modeling Language) 统一建模语言 6.XML(Extensible Markup Language ) 可扩展标记语言 7.B/S(Browser/Server) 浏览器/服务器C/S(Client/Server) 客户端/服务器 8.HMB(Hierarchical [?ha??'rɑ:k?kl] message bus) 层次消息总线 9.SA (Software Architecture) 软件体系结构 10.OMG(Object Management Group) 对象管理组织 11.SOAP(Simple Object Access Protocol) 简单对象访问协议 12.WSDL(Web Services Description Language) web服务描述语言 13.SOAD(Service Oriented Analysis And Design) 面向服务的分析与设计 14.DCOM(Distributed Component Object Model) 分布式对象组件模型 https://www.360docs.net/doc/5516118191.html, (Module Interconnection Language) 模块内连接语言 贰 . 判断题 1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。答案:√ 依据页码:P4 2、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。 答案:√ 依据页码:P28 5、构件可以由其他复合构建和原子构件通过连接而成。() 答案:√ 依据页码:P37 6、体系的核心模型由5种元素组成:构件、连接体、配置、端口和角色() 答案:√ 依据页码:P37 7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其中,构件、连接件和配置是最基本的元素() 答案:√ 依据页码:P37 8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务() 答案:X 依据页码:P32、33 9、构件、连接件以及配置是体系结构的核心模型最基本的元素() 答案:√ 根据页码:P37

配置管理系统

配置管理系统(北大软件 010 - 61137666) 配置管理系统,采用基于构件等先进思想和技术,支持软件全生命周期的资源管理需求,确保软件工作产品的完整性、可追溯性。 配置管理系统支持对软件的配置标识、变更控制、状态纪实、配置审核、产品发布管理等功能,实现核心知识产权的积累和开发成果的复用。 1.1.1 组成结构(北大软件 010 - 61137666) 配置管理系统支持建立和维护三库:开发库、受控库、产品库。 根据企业安全管理策略设定分级控制方式,支持建立多级库,并建立相关控制关系;每级可设置若干个库;配置库可集中部署或分布式部署,即多库可以部署在一台服务器上,也可以部署在单独的多个服务器上。 1. 典型的三库管理,支持独立设置产品库、受控库、开发库,如下图所示。 图表1三库结构 2. 典型的四库管理,支持独立设置部门开发库、部门受控库、所级受控库、所级产品库等,如下图所示。

图表2四级库结构配置管理各库功能描述如下:

以“三库”结构为例,系统覆盖配置管理计划、配置标识、基线建立、入库、产品交付、配置变更、配置审核等环节,其演进及控制关系如下图。 图表3 配置管理工作流程 1.1.2主要特点(北大软件010 - 61137666) 3.独立灵活的多级库配置 支持国军标要求的独立设置产品库、受控库、开发库的要求,满足对配置资源的分级控制要求,支持软件开发库、受控库和产品库三库的独立管理,实现对受控库和产品库的入库、出库、变更控制和版本管理。

系统具有三库无限级联合与分布部署特性,可根据企业管理策略建立多控制级别的配置库,设定每级配置库的数量和上下级库间的控制关系,并支持开发库、受控库和产品库的统一管理。 4.产品生存全过程管理 支持软件配置管理全研发过程的活动和产品控制,即支持“用户严格按照配置管理计划实施配置管理—基于配置库的实际状况客观报告配置状态”的全过程的活动。 5.灵活的流程定制 可根据用户实际情况定制流程及表单。 6.支持线上线下审批方式 支持配置控制表单的网上在线审批(网上流转审批)和网下脱机审批两种工作模式,两种模式可以在同一项目中由配置管理人员根据实际情况灵活选用。 7.文档管理功能 实现软件文档的全生命周期管理,包括创建、审签、归档、发布、打印、作废等,能够按照项目策划的软件文档清单和归档计划实施自动检查,并产生定期报表。 8.丰富的统计查询功能,支持过程的测量和监控 支持相关人员对配置管理状态的查询和追溯。能够为领导层的管理和决策提供准确一致的决策支持信息,包括配置项和基线提交偏差情况、基线状态、一致性关系、产品出入库状况、变更状况、问题追踪、配置记实、配置审核的等重要信息; 9.配置库资源的安全控制 1)系统采用三员管理机制,分权管理系统的用户管理、权限分配、系统操 作日志管理。 2)系统基于角色的授权机制,支持权限最小化的策略; 3)系统可采用多种数据备份机制,提高系统的数据的抗毁性。 10.支持并行开发 系统采用文件共享锁机制实现多人对相同配置资源的并行开发控制。在系统共享文件修改控制机制的基础上,采用三种配置资源锁以实现对并行开发的

软件配置管理流程

软件配置管理流程

目录 1.配置管理流程 (3) 1.1 概述 (3) 1.2 总体流程图 (3) 1.3 软件需求分析阶段 (4) 1.4 软件设计阶段 (4) 1.5 制定配置管理计划 (4) 1.6 配置库管理 (4) 1.6.1 相关人员分配权限 (4) 1.6.2 配置项 (5) 1.7 版本控制 (6) 1.8 变更控制 (6) 1.9 配置审计 (7) 1.9.1 配置审核的类别 (7) 1.9.2 配置审核执行的时机 (7) 1.9.3 不符合项的处理 (7) 2.0.0 配置状态报告 (7) 2.0.1 配置状态报告的目的 (7) 2.0.2 配置状态报告记录的内容 (7) 2.0.3 配置状态报告的生成 (7) 2.1.0 发行管理 (8) 2.1.1 交付管理 (8) 2.1.1 软件配置管理员的处理规范 (8) 2.1.1.1 现阶段使用的版本配置服务器 (8) 2.1.1.2 主要操作流程 (8) 2.1.1.3 版本规范化处理 (8) 2.1.1.4 客户反馈问题处理 (8) 2.软件基线化规范 (9) 2.1 正常开发期 (9) 2.2 版本发布期 (9) 2.3 项目发布期 (9) 2.4 项目维护期 (9)

1.配置管理流程 概述 规范配置管理活动,明确配置项正确的唯一标识并易于存取,保证基准配置项的更改受控,明确基线状态,在贯穿整个软件生命周期中建立和维护项目产品的完整性和可追溯性。 总体流程图

软件需求分析阶段 参加需求分析会议,配置管理负责人记录,有关文档提交归档。如《需求分析》。 软件设计阶段 参加涉及阶段,为了详细制定配置管理计划。针对需求分析报告进行系统设计,配置时应说明系统设计的版本于需求分析报告版本的对应关系。设计书评审通过后,建立设计基线。 制定配置管理计划 配置管理员制定配置管理计划,主要内容包括配置管理软硬件资源、配置项计划、备份计划等,审批该计划。 配置库管理 配置管理员为项目创建配置库,并给每个项目成员分配权限。各项目成员根据自己的权限操作配置库。 相关人员分配权限 项目经理: 1)与(有关负责人员)协商确定项目起始基线; 2)接受配置管理计划,并按相关规定贯彻执行; 3)接受配置控制委员会的报告; 4)提出配置管理计划的修改要求; 5)提出管理的建议和要求。 配置管理员 1)编制配置管理计划; 2)执行配置项管理; 3)执行版本控制和变更控制方案; 4)编制配置状态报告; 5)配置库的建立和权限分配; 6)配置管理工具的日常管理与维护; 7)配置库的日常操作和维护; 开发人员 1)根据确定的配置管理计划和相关规定,提交配置项

软件配置管理计划示例

软件配置管理计划示例 作者:赵文锋计划名CADCSC软件配置管理计划 项目名中国控制系统CAD工程化软件系统 项目委托单位 代表签名年月日 项目承办单位 代表签名年月日 1 引言 1.1 目的 本计划的目的在于对所开发的CADCSC软件规定各种必要的配置管理条款,以保证所交付的CADCSC软件能够满足项目委托书中规定的各种原则需求,能够满足本项目总体组制定的且经领导小组批准的软件系统需求规格说明书中规定的各项具体需求。 软件开发单位在开发本项目所属的各子系统(其中包括为本项目研制或选用的各种支持软件)时,都应该执行本计划中的有关规定,但可以根据各自的情况对本计划作适当的剪裁,以满足特定的配置管理需求。剪裁后的计划必须经总体组批准。 1.2 定义 本计划中用到的一些术语的定义按GB/T 11457 和GB/T 12504。 1.3 参考资料 ◆GB/T 11457 软件工程术语 ◆GB 8566 计算机软件开发规范 ◆GB 8567 计算机软件产品开发文件编制指南 ◆GB/T 12504 计算机软件质量保证计划规范 ◆GB/T 12505 计算机软件配置管理计划规范 ◆CADCSC 软件质量保证计划 2 管理

2.1 机构 在本软件系统整个开发期间,必须成立软件配置管理小组负责配置管理工作。软件配置管理小组属项目总体组领导,由总体组代表、软件工程小组代表、项目的专职配置管理人员、项目的专职质量保证人员以及各个子系统软件配置管理人员等方面的人员组成,由总体组代表任组长。各子系统的软件配置管理人员在业务上受软件配置管理小组领导,在行政上受子系统负责人领导。软件配置管理小组和软件配置管理人员必须检查和督促本计划的实施。各子系统的软件配置管理人员有权直接向软件配置管理小组报告子项目的软件配置管理情况。各子系统的软件配置管理人员应该根据对子项目的具体要求,制订必要的规程和规定,以确保完全遵守本计划规定的所有要求。 2.2 任务 在软件工程化生产的各个阶段中,与本阶段的阶段产品有关的全部信息在软件开发库存放,与前面各个阶段的阶段产品有关的信息则在软件受控库存放。在研制与开发阶段的阶段产品的过程中,开发者和开发小组长有权对本阶段的阶段产品作必要的修改;但是如果开发者或开发小组长认为有必要个性前面有关阶段的阶段产品时,就必须通过项目的配置管理小组办理正规的审批手续。因此,软件开发库属开发这个阶段产品的开发者管理,而软件受控库由项目的配置管理小组管理。软件经过组装与系统测试后,应该送入软件产品库,如欲对其修改,必须经软件配置管理小组研究同意,然后报项目总体组组长批准。关于软件配置要进行修改时的具体审批手续,将在第条中详细规定。 2.3 职责 在软件配置管理小组中,各类人员要互相配合、分工协作,共同担负起整个项目的软件配置管理工作。其中各类人员的分工如下: A.组长是总体组代表,他对有关软件配置管理的各项工作全面负责,特别要对更改建议的审批和评审负责; B.软件工程小组组长负责监督在软件配置管理工作中认真执行软件工程规范; C.项目的专职配置管理人员检查在作配置更改时的质量保证措施; D.各子系统的配置管理人员具体负责实施各自的配置管理工作,并参与各子系统的功能配置检查和物理配置检查;

相关文档
最新文档