软件体系结构--复习资料
软件工程复习资料精选全文完整版

可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。
(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。
(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。
(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。
(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。
(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。
(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。
软件系统分析与设计复习资料参考答案

参考答案选择题1.D2.C3.D4.C5.B6.D7.C8.B9.D10.A11.B12.A13.B14.D15.A16.B17.A18.D19.C20.A21.D22.B23.B24.D25.D26.B27.B28.A29.A30.C31.A32.B33.A34.B35.B36.A37.B38.A39.A40.C41.A42.C43.C44.D45.A46.B47.D48.C49.D50.C51.C52.A53.D54.B55.A56.A57.D58.A59.D60.A61.B62.D63.C64.A65.A66.C67.C68.A69.D70.A71.D72.A73.C74.A75.D判断改错题1.(√)2.(×)有“泳道”概念的是活动图。
3.(×)题目中描述的是CORBA。
4.(×)水平坐标表示一组对象,垂直坐标表示时间顺序。
5.(√)6.(×)UML是建模语言,不是方法论。
7.(√)8.(√)9.(×)两者没有明显分界,需要反复迭代的进行。
10.(×)OOCASE通过外部接口可以方便的调用其它工具软件。
11.(×)定义不同。
12.(√)13.(√)14.(×)完成使命的对象可以被销毁。
15.(×)由图和文字描述组成。
16.(√)17.(×)描述的是白盒复用。
18.(√)19.(F)它不能直接调用EJB构件,而是通过使用代理来调用。
20.(F)不能有嵌套的动作或递归的动作表达式。
21.(T)22.(F)需求模型也是可复用的软件制品。
23.(F)构件图主要用于建立系统的静态实现模型。
24.(F)OOCASE通过外部接口可以方便的调用其它工具软件。
25.(F)“对象+消息”的程序设计模式。
26.(F)通过频繁使用设计样式来设计更大更复杂的系统。
27.(T)28.(T)29.(T)30.(F)协作图强调对象之间的关系,而时序图强调一组对象之间错作调用的时间顺序。
研究生-现代软件工程复习资料

1.什么叫软件,特点是什么?软件就是指令集合+数据结构+文档软件特点:1)软件是设计开发的,不是传统意义上的制造。
2)不会“磨损”。
3)多数软件是定制的。
4)无形的。
软件工程包括:过程、方法、工具。
2.软件领域三大挑战是什么?异构性:开发平台、开发语言,系统,异构系统之间如何集成的问题。
交付:软件开发周期都比较短,所有软件企业必须具备快速响应和适应需求变更的能力。
可信度:软件运行逻辑是否正确,数据结果是否正确等。
3.软件工程过程(案例分析)1、瀑布模型(Waterfall Model)瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。
当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。
优点:1)为项目提供了按阶段划分的检查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。
缺点:(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
适用:在开发时间内需求没有或很少变化;分析设计人员应对应用领域很熟悉;低风险项目;用户使用环境很稳定;用户除提出需求以外,很少参与开发工作。
2、演化(迭代)模型(原型+螺旋)根据用户的基本需求,通过快速分析构造出该软件的一个初始可运行版本,这个初始的软件通常称之为原型,然后根据用户在使用原型的过程中提出的意见和建议对原型进行改进,获得原型的新版本。
软件工程复习资料-完整版

一、选择题:1、用例图中,用来表示用例的符号为(B)。
A2、协作图中包含的元素包括(A)。
A. 对象B. 链C. 激活D. 消息3、在类图中,哪种关系表达整体与部分的关系(D)。
A.泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为(B)。
A. B. C. D.5、(A)工具在软件的详细设计中不能使用。
A.DFD B. N-S图 C. 流程图 D. PDL6、“软件危机”是指(C)。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7、快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。
A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列4个选项中属于顺序图的元素是(ABCD)。
A. 对象B. 参与者C. 消息D. 激活9、下列UML图形中,(ABCD)属于UML的动态视图。
A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(D)。
A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是(D)。
A. DFD图B. 程序图C. PAD图D. SC图12、UML中,大多数建模者把节点分为(AC)A. 设备 B. 构件 C. 处理器 D. 显示器13、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。
A.时间图 B. 流程图 C. 活动图 D. 状态图14、(A)描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。
A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是(D)。
A. 相对独立:不需要与其他用例交互,即功能是完备的B. 用例的执行结果是可观测有意义的C. 用例由参与者发起(不能自启动,或者由其他用例启动)D. 一个用例是一个单元(需求单元、分析单元、设计单元、开发单元、测试单元、部署单元)16、在图书管理系统中,读者与书籍之间的“借阅”关系的多重性是(D)A. 1:nB. n:1C. 0:1…nD. 0…n:0…n17、我希望ATM能够支持跨行业务;我插入卡片输入密码后可以让我选择是取钱还是存钱;为了方便,可以设置一些默认的存取金额按钮;我可以修改密码,可以挂失;我希望可以缴纳电话费、水费、电费等;为安全起见,ATM应该有警示小心骗子的提示条,有摄像头;如果输入三次密码错误,卡片应当可以自动吞没;下列那些是有效的用例(BCD)A. 支持跨行业务B. 取钱C. 存钱D. 选择服务18、快速原型法适用于(A)系统的开发。
软件工程复习资料参考

第一章软件危机概念:指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。
软件危机表现:1.对软件开发成本和进度的估计常常很不正确2.用户对“已完成的”软件系统不满意的现象经常发生3.软件产品的质量往往靠不住4.软件常常是不可维护的5.软件通常没有适当的文档资料6.软件成本在计算机系统总成本中所占的比例逐年上升7.软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势软件危机原因:1.与软件本身的特点有关2.与软件开发与维护的方法不正确有关①软件开发尚未完全摆脱手工开发方式。
②软件成本相当昂贵,主要依靠大量复杂的、高强度的脑力劳动。
③软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
怎样消除软件危机:1 、彻底消除“软件就是程序”的错误观念。
2 、充分认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目,不是个人独立的劳动。
3 、推广和使用在实践中总结出来的软件开发的成功技术和方法。
4 、开发和使用更好的软件工具软件工程概念:概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。
...p5软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学也称为范型。
结构化范型和面向对象范型的要点:1采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务;2把软件生命周期划分为若干个阶段,按顺序完成每个阶段的任务;3每个阶段开始和结束都有严格的标准,对任何两个相邻的阶段而言,前一个阶段的结束标准就是后一阶段的开始标准;4每一个阶段结束之前都必须进行正式严格的技术审查和管理复审传统方法学的优点:分解任务,分工合作,降低整个软件开发工程的困难;采用科学的管理技术和良好的技术方法对每个阶段成果都进行严格的审查。
保证了软件的质量。
传统方法学的缺点:把数据和操作人为地分离成两个独立的部分,增加了软件开发与维护的难度。
软件工程复习资料

一、单选题1. 为了提高测试的效率,应该( D )A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据2. 与设计测试数据无关的文档是( D ) A、需求说明书B、设计说明书C、源程序D、项目开发设计3. 结构设计是一种应用最广泛的系统设计方法,是以( B )为基础、自顶向下、逐步求精和模块化的过程A、数据流B、数据流图C、数据库D、数据结构4. 概要设计的结果是提供一份( A ) A、模块说明书B、框图C、程序D、数据结构5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出( B )A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的( D )A、1/6 B、1/5 C、1/4 D、1/37. PAD(Problem Analysis Diagram)图是一种( B )工具。
A、系统描述B、详细设计C、测试D、编程辅助8. 排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的( A )。
A、95%B、5%C、50%D、20%9.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( A ) 。
A、总貌B、细节C、抽象D、软件的作者10. 分析员是( B )。
A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导11.在软件开发中,有利于发挥集体智慧的一种做法是( A )。
A、设计评审B、模块化C、主程序员制D、进度控制12.在开发软件时,( A )可用来提高程序员的工作效率。
A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机二、多选题1. 数据流图的3种成分为①、②和③,②是数据流中①的变换,③用来存储信息,④对①、②、③进行详细说明,用⑤对③进行详细描述。
软件工程总复习资料

软件工程总复习资料
软件工程概述
- 定义:软件工程是一门研究如何通过系统化、规范化、可度量化的方法开发和维护软件的学科
- 软件工程的目标
- 提高软件开发的质量
- 提高软件开发的效率
- 降低软件开发的成本
- 软件生命周期
- 概念阶段
- 需求分析阶段
- 设计阶段
- 编码实现阶段
- 测试阶段
- 运行和维护阶段
软件生命周期模型
- 瀑布模型
- 原型模型
- 增量模型
- 螺旋模型
软件需求
- 软件需求分类- 功能需求
- 非功能需求
- 软件需求获取- 需求文档
- 需求分析
- 软件需求验证- 合法性验证
- 一致性验证
- 可行性验证
软件设计
- 面向对象设计- 结构化设计
- 数据流图设计- 状态转换图设计
软件测试
- 测试分类
- 静态测试
- 动态测试
- 测试方法
- 黑盒测试
- 白盒测试
- 测试覆盖率- 代码覆盖率- 判定覆盖率- 条件覆盖率- 路径覆盖率
软件质量
- 软件质量模型- ISO 9126模型- McCall模型- 质量保证
- 质量控制
软件项目管理
- 项目计划
- 项目跟踪
- 项目评审
- 质量保证和配置管理
- 风险管理
以上是软件工程的主要知识点总结,希望对大家的复习有所帮助!。
软件工程期末复习资料 华南农业大学版

第二章 系统工程
1.基于计算机的系统是指:通过处理信息来完成某些预定义目标而组织在一起的元素的集合或排列。 组成基于计算机系统的元素主要有:软件、硬件、人员、数据库、文档和规程 2.系统工程的任务: (1)识别用户的要求(2)系统建模和模拟:包括硬件系统模型、软件系统模型、 人机接口模型、数据模型; (3)成本估算及进度安排(4)可行性分析(5)生成系统规格说明 3.可行性分析考虑:成本、效益、货币的时间价值、投资回收期析
第四章 设计工程
1.软件设计开始于软件需求的分析和规约之后,位于软件工程过程中的技术核心位置,是把需求转化 为软件系统的最重要环节 2.软件设计是把软件需求变换成软件表示的过程,它主要包含两个阶段:软件体系结构设计阶段和部 件级设计,前者也被称为概要设计,后者被称为详细设计。软件体系结构设计将软件需求转化为数据结构 和软件的系统结构。部件级设计将软件体系结构性元素转化为软件部件的过程性描述,得到软件详细的数 据结构和算法。 3.软件设计原则:抽象、逐步求精、模块化、信息隐藏 4.模块的独立性可以由两项指标来衡量:内聚度与耦合度。内聚度衡量一个模块内部各个元素彼此结 合的紧密程度,耦合度衡量不同模块之间相互依赖的紧密程度 5.内聚:是一个模块内部各个元素彼此结合的紧密程度的度量。内聚可以分为以下 7 中类型: 1)巧合内聚(偶然内聚) :将几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的 模块称为巧合内聚模块 2)逻辑内聚 :指完成一组逻辑相关任务的模块,调用该模块时,由传送给模块的控制型参数来确定 该模块应执行哪一种功能 3)时间内聚:指一个模块中的所有任务必须在同一时间段内执行。例如初始化模块和终止模块 4)过程内聚 :指一个模块完成多个任务,这些任务必须按指定的过程(procedural)执行 5)通信内聚 :指一个模块内所有处理元素都集中在某个数据结构的一块区域中 6)顺序内聚:指一个模块完成多个功能,这些功能又必须顺序执行 7)功能内聚 :指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割的 6.耦合:是模块之间的相对独立性的度量。耦合取决于各个模块之间接口的复杂程度、调用模块的方 式以及通过接口的信息类型。耦合方式有其中类型: 1)内容耦合 :如果一个模块直接访问另一个模块的内部数据;或者一个模块不通过正常入口转到另
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15、DSSA的定义答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构16、构件:答案:构件是一个计算单元或数据存储。
也就是说,构件是计算与状态存在的场所。
17、连接件:答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。
18、体系结构配置:答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。
体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义。
31、模式答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。
42、核心资源答案:是领域工程所有结果的集合,是产品线中产品构造的基础。
33、设计模式答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。
43、软件产品线答案:软件产品线就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合45、产品线体系结构答案:产品线体系结构是一个软件体系结构和一组在一族产品中可重用的构件,为增加软件重要、为企业降低软件开发和维护的成本提供了一个重要的途径。
3、简要概产生软件危机的原因答案:1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高。
4、软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?答案:(1)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。
软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
(2)体系结构是风险承担者进行交流的手段。
它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。
同时,软件体系结构是可传递和可重用的模型。
6、体系结构的生命周期模型分为哪几个阶段?答案:1、需求分析阶段 2、建立软件体系结构阶段 3、设计阶段 4、实现阶段10、DSSA与体系结构之间有何关联?答案:1、DSSA是以问题域为出发点,而软件体系结构是以解决域为出发点的;2、DSSA只对某一个领域进行设计专家知识的提取、存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构专家知识的组织时可以扩展到多个应用领域;3、DSSA的特定领域参考体系结构通常选一个或多个体系结构风格,并设计一个专用的体系结构分析设计工具;4、体系结构风格的定义和应用领域是直交的,提取的设计知识比用DSSA提取的设计专家知识的应用要广泛18、在C2中,连接件和构件是如何工作的?答案:连接件负责构建之间消息的传递,而构件维持状态,执行操作并通过两个名字分别为top和buttom的端口和其他的构件交换信息。
每个接口包含一种可发送的消息和一组可接受的消息,构件之间的消息要么是请求其他构件执行某个操作的请求消息,要么是通知其他构件自身执行某个操作或状态发生改变的通知消息。
构件之间的消息交换不能之间进行,而只能通过连接件来完成22、动态体系结构特征有哪些?答案: 1、可构造性动态特征 2、适应性动态特征 3、智能型动态特征23、请简述基于构件的动态体系结构模型是如何支持运行系统更新的?答案:1、检测更新的范围 2、更新准备工作 3、执行更新 4、存储更新33、设计模式可以分为几类?答案:创建型、结构型、行为型。
39、所有评估方法关注的质量属性有哪几个?答:1、性能 2可靠性(容错,健壮性) 3可用性 4安全性 5可修改性 6功能性 7可变性 8集成性 9互操作性40、ATAM评估方法的基本步骤是什么?(1)描述ATAM方法(2)描述业务动机(3)描述体系结构(4)确定体系结构方法(5)生成质量属性效用树(6)分析体系结构方法(7)讨论和分级场景(8)分析体系结构方法(9)描述评估结果41、软件体系结构评估对主要方式有哪些?1.基于调查问卷或检查表的评估方式调查问卷是一系列可以应用到各种体系结构评估对相关问题,这些问题可能涉及体系结构对设计决策,文档,描述本身对细节问题等质量属性。
这一评估方法比较灵活自由,可评估多种质量属性,也可以在软件体系结构设计的多个阶段进行。
尽管此方式相对比较主观,但他仍然是进行软件体系结构评估对重要途径之一。
2.基于场景的评估方式场景是一系列有序使用或修改系统的步骤。
这种软件体系评估方式分析软件体系结构对场景也就是对系统对使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表对质量需求对满足程度。
3.基于度量的评估方式度量是指为软件产品对某一属性所赋予对数值。
此评估技术涉及3个基本活动:首先需要建立属性和质量之间的映射关系,然后从软件体系结构文档中获取度量信息,最后根据映射原则分析推导出系统对某些质量属性。
4.比较从通用性,评估者对体系结构对了解程度,评估实施阶段,评估方式的客观程度等方面对三类方式进行简单的比较1、构件CMU/SEI把构件定义为:一个不透明的功能实现;能够被第三方组装;还符合一个构件模型。
由不同的定义,可将构件理解为:构件是预先创建的;构件是黑盒的;构件是可分离的;构件能用于组装和部署;构件需要称为构件容器技术的支持。
2、软件复用:指在两次或多次不同的软件开发过程中重复使用相同或相近的软件元素的过程。
广义的理解,软件复用就是开发粒度合适的构件,然后重复使用这些构件。
3、软件构件模型构件模型是对构件本质特性的抽象描述。
具体来说,构件模型定义了什么是构件、构件的依据、如何使用其它构件提供的服务等。
将构件的规格说明和具体实现相分离,依靠构件实现的具体模式来推导出构件所提供的服务,可以构造一个构件模型。
4、领域工程:领域工程:是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用软件构件的所有活动。
其中,“领域”是指一组具有相似或相近需求的软件应用系统所覆盖的功能区域。
5、软件体系结构[1] Garlan & Shaw:软件体系结构(SA)是一个三元组:SA={components, connectors, constrains}构件(component):可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器)连接件(connector):是关系的抽象,用以表示构件之间的相互作用。
限制(constrain):用于对构件和连接件的语义说明。
[2] IEEE 610.12-1990软件工程标准词汇中的定义:SA={component,connector,environment,principle};即软件体系结构是一个四元组,是以:构件,构件之间的关系,构件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。
根据各种软件体系结构的定义,可将软件体系结构理解为:在软件密集的大规模系统中,在具有类似需求和结构的软件产品线的开发中,必须从一个较高的层次来考虑组成系统的构件、构件之间的交互,以及由构件与构件的交互形成的拓扑结构,这些要素应该满足一定的限制,遵循一定的设计原则,并且能够在一定的环境下进行演化。
6、软件产品线SEI认为,产品线是一个产品集合,这些产品共享一组相同的、可管理的特性集,这个特征集能满足一类特定的市场需求。
这些系统遵循一个预描述的方式,在公共的核心资源基础上开发。
根据SEI的定义,软件产品线主要由两部分组成:核心资源和产品集合。
核心资源是领域工程中所有结果的集合,是产品线中产品构造的基础。
通常包括:体系结构、可复用软件构件、领域模型、需求描述等。
属于同一领域的一系列应用系统构成了软件产品族。
7、SA的评估软件体系结构的评估是指对系统的某些值得关心的属性进行评价和判断。
评估的结构可用于确认潜在风险,并检查设计阶段所得到的系统的质量需求。
软件体系结构评估可以只针对一个体系结构,也可以针对一组体系结构。
8、ATMA中的敏感点与权衡点敏感点:是一个或多个构件(构件之间关系)的特性,这种特性对获得某一特定的质量属性响应有着重要意义。
如,机密性的高低可能对加密的位数是敏感的。
敏感点的某些特定值在SA实现时可能成为风险点(有无风险);如果构件或特性不存在时,就不能将它们称为敏感点。
权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。
它是SA中所做出的最重要的决策。
如:提高加密级别可能会提高安全性,但会消耗更多的时间而降低性能。
9、ADL软件体系结构描述语言黑没有完整而明确的定义,一般认为,ADL是这样一种形式化语言,他在底层语义模型的支持下,为软件系统的概念结构建模提供了具体语法和概念模型。
10、软件的属性包括了软件功能属性和软件质量属性,没有功能属性就没有质量属性。
领域工程和应用工程的区别和联系应用工程:针对一组特定的需求,产生一个特定的解决方案领域工程:针对一个领域中的所有系统,而不局限于某个特定的系统,与应用工程相比,领域工程处于一个较高的抽象级别上联系:领域工程与应用工程的资源相互使用。
通过应用工程得到的现有系统是领域工程的主要的信息来源;应用工程利用领域工程的软件进行开发时,领域工程提供的产品空间、构件/体系结构、生产计划等也是应用工程重要的资源。
领域工程的产品对本领域中新系统的应用工程提供了支持;领域工程和应用工程需要解决一些相似的问题;领域工程的步骤、行为、产品等很多方面都可以和应用工程进行类比。
区别:领域工程的主要目标是“建立基本能力和必备基础”,最终结果得到面向领域的可复用构件和体系结构。
为了满足自己的生产特性,领域工程还要建立现存构件/体系结构。
而应用工程的主要目标是使用软件资产生成新系统。
软件体系结构模式与软件体系结构风格的比较软件体系结构模式描述了在特定设计语境中重复再现的设计问题,并为之提供一个经过充分验证了的通用解决方案。
该方案提供了构件、构件的责任、构件之间的关系、以及它们之间的协作方式。
体系结构风格主要描述应用系统的总体结构框架,体系结构风格相对独立。
而模式往往依赖于它所包含的较小的模式或者与它相互作用的模式。
模式比风格更加面向问题,模式通常有问题出现的语境、解决方案和适用的场景;风格更侧重于从应用系统中抽取它们的总体结构,较少从实际设计环境来考虑设计技术软件体系结构评估的原因和益处原因:(1)质量问题是当今软件系统开发的一个主要问题;(2)问题发现的越早,解决问题的代价越小;(3)软件开发人员对软件体系结构实际上无法测试。