软件体系结构--复习资料
软件工程复习资料精选全文完整版
可编辑修改精选全文完整版一、单选题(共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.软件工程的研究内容具有层次化结构,最底层是质量保证层,中问层是(C),最主.层是工具层。
A过程层 B.方法层C.过程层和方法层 D.系统层2.可行性研究的四大要素是(D)。
A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平巳经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性3.针对需求不确定的软件开发,比较好的模型是(A)。
A.快速原型化模型B.瀑布模型c.软件成熟度模型。
.系统化模型4.下面的哪个选项不是软件工程的宗旨?(D)A.开发满足用户需求的软件B.研究算法C.及时交付软件D.生产无故障软件5.瀑布模型的主要特点是(A)。
A.将开发过程严格地划分为一系列有序活动B.将开发过程分解为阶段c.提供了有效的管理模式D.缺乏灵活性6.软件结构图中没有(D)元素。
A.模块B.调用参数C.返回结果D.判断7.结构化设计方法划分模块的原则是(C)A.模块扇出小于5B.模块扇人小于5c.低搞合,高内聚 D.模块深度小于78.配置视图体现了系统的实现环境,反映系统的(B)。
A.逻辑架构B.物理架构C组成结构 D.体系结构9.角色可以有四种类型:系统的使用者,硬件设备,外部系统和(D)。
A.数据库B.接口C.对象D.时间10.功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。
在面向对象方法中,由(C)实现。
A.场景描述B.活动图和1场景描述C.用例图和场景描述D.交互图和场景描述11.在分析模型内表示协调,}I顶序、事务处理以及控制其他对象的类是(A)。
A.控制类B.组件类C.主函数D.事务类12.而信息隐藏的核心内容是(C)。
A.人把数据都放在公共的区域B.数据不能被其他模块访问C.一个模块的内部信息不允许其他模块直接访问D.把信息加密,只能让有密钥的模块访问13.面向过程的方法最关心的是过程,而过程实施的对象是作为过程(A)传递的。
02333自考 软件工程复习资料
一,第一章1.软件工程→1968年的NATO会议上提出解决“软件危机”2.倡导工程原理,原则,方法进行软件开发,以期解决“软危”3.软件工程:用计算机科学理论和技术和工程管理原则方法,按预算,进度满足用户要求的软件产品工程。
4.软工两时间:1. 60-80年代,系统规模,复杂性,关键领域应用,提出了waterfall, C, Pascal, Ada; Jackson方法,结构化方法。
2. 80年代后大量软件的实践,过程支持,软件生产技术,复用技术,生产管理。
《软件和存周期过程》,C++, Eiffel, Smalltalk5.软件=程序+文档,是逻辑实体,“无形”6.程序=处理对象+处理规则7.文档=理解程序所需的阐述性资料8.软件开发的本质:不同抽象层术语+处理逻辑之间的“映射”9.建模的方法:结构化方法,面向对象方法,诸多面向数据结构方法10.模型:待建系统的任意抽象,包括基本能力,特性,或其他方面;抽象上对物理系统的描述,系统边界,关系的主义描述。
11.软件系统模型:1,概念模型(用户)2,软件模型(开发者)a)需求→概念模型b)设计→软件模型c)实现→软件模型d)部署→软件模型12.软件开发有技术和管理上的问题二,第二章1.正确定义问题,是解决问题的基础2.需求是“要予构造”的陈述,描述了软件“能力”“性能参数”“其他性质”3.需求的性质:a)必要b)无歧义c)可测/测量d)可跟踪4.验证需求是不是歧义→需求复审5.需求分类:功能/非功能(性能,外部接口,设计约束,质量属性),6.需求发现:自悟,交谈,观察,小组会,提炼a)自悟要求高,要有想象力/需求不正确b)交谈依赖“正确提问”“揭示本意”/不能认识到合理需求→复审c)观察要有洞察力/客户抵触,客户认为熟悉了业务d)小组会人力资源,良好的需求发现能力,达成共识/客观条件限制,互相矛盾的需求e)提炼要有想像力和需求标识力熟悉技术和法规/无法验证需求是否正确7.需求规约是陈述的正式文档,表达概念模型a)重要性和稳定性程度b)可修改c)完整d)一致8. 需求规约表达:非形式化(规模小,不复杂,小型软件),半形式和形式化(主要为了验证程序正确)9. 需求规约作用:a) 技术合同,产品功能和环境体现b) 管理控制点c) 正式,受控的起点d) 初始测试计划,用户系统操作描述10. 需求规约不是一个设计文档,用于设计的文档,也不是进度和规划文档三,第三章1.软件需求中三挑战:1. 问题空间理解2. 人与人之间通信3. 需求的变化性2.20世纪70年代提出结构化方法3.基本术语1. 数据流程2. 加工3. 数据存储4. 数据源和数据潭4.数据流图DFD P375.按功能分解的设计思想:自顶向下,逐步求精6.数据字典:[=]定义为;[|]或者;[+]顺序;[{}]重复;[m.n]子界7.数据结构3种条目:数据流条目;数据存储条目;数据项条目8.结构化语言是形式化语言和自然语言之间的语言9.判定表;判定树P4311. 图元数7正负212. 15%的错误源自错误的需求13. 总体设计:模块和模块调用14. 总体设计:模块结构图/层次图/HIPO 图P4515. “高内聚,低耦合”16.数据流图分为:变换型和事务型17.模块化,软件分为简单的高内聚低耦合的模块(两部分:接口和模块体)18.耦合:依赖程度的度量。
软件需求复习资料
第1章1.需求开发可进一步细分为:获取、分析、规格说明和确认。
2.需求问题导致的主要后果是返工—重复做您认为早已做好的事情。
3.造成软件成本估算失败的最主要原因包括频繁变更需求、遗漏需求、未与用户充分沟通、需求的说明不精确,以及对需求的分析不透彻4.实现有效的需求工程过程。
减少开发后期以及整个维护过程中不必要的返工并可带来极大的回报。
第2章1.客户泛指直接或间接得益于产品的个人或组织。
2.很多组织把在需求文档上签字作为客户认可需求的标志,签字不仅仅是仪式,更重要的是建立需求协议的基线。
第3章1.需求分析包括对需求进行推敲和润色以保证所有的涉众人都能够理解需求,以及仔细检查找其中的错误、疏漏和其他缺陷。
2.分析包括将高层的需求分解成具体细节、创建开发原型,以及评估可行性和协商需求优先级。
3.需求验证可确保需求声明是正确的、具备了所需的质量属性,而且能够满足客户的需要。
第4章1.需求分析员是对项目涉众的需求进行收集、分析、记录和验证等职责的主要承担者。
第5章1.产品前景将所有涉众统一到一个方向上。
前景描述了产品用来干什么,它最终会是什么样子。
2.项目范围确定当前的项目要解决产品长远规划中哪一部分。
3.广度(breadth)指应用能完成哪些业务工作(即用例)。
而深度(depth)则说明将各项用例实现到何种程度。
4.前景与范围文档用于将业务需求收集整理到一个文档中,为后续的开发工作打好基础。
5.涉众是积极参与项目、受项目结果影响,或者能够影响项目结果的个人、团体或组织。
第6章1.开发人员开发的产品与客户期望获得的产品之间常常存在较大差距,即所谓的期望鸿沟。
第七章1.需求工程的核心任务是需求获取,即确定软件系统涉众的需要及限制条件的过程。
2.使用增量开发方法,把需求分解成低风险的更小的部分进行研究3.使用活动挂图(flipchart)来捕获以后再考虑的一些条目4.将客户的意见归类:业务需求用例或场景业务规则功能性需求质量属性外部接口需求数据定义解决思路5.用例是对用户目标或用户需要执行的业务工作的一般性描述;使用场景则是某个用例的一条特定路径。
第三章 计算机软件复习资料
第三章计算机软件【知识点1】计算机系统的概念(1) 计算机系统的基本组成:①计算机硬件:组成计算机各种物理设备的总称②计算机软件:是指示计算机完成特定任务的,以电子格式存储的程序、数据和相关的文档。
程序:计算机如何完成任务逐步执行的命令;数据:程序所处理的对象及处理过程中使用的参数;文档:程序开发、维护和使用所涉及的资料。
(2)软件的三层含义(从科学概念上讲):①个体含义:即上面所说的计算机系统中的程序、规程、规则及其文档。
②整体含义:指在特定计算机系统中所有个体含义下的软件的总体。
③学科含义:即指软件在研究、开发、维护以及使用中所涉及的理论、方法、技术所构成的学科,在这一意义上称为软件学。
【典型例题】55.计算机软件指的是能指示计算机完成特定任务的、以电子格式存储的程序、______和相关的文档的集合。
【知识点2】软件的分类从应用的角度出发,通常将软件分为:系统软件、应用软件(1) 系统软件①系统软件:是给其他程序提供服务的程序的集合.(如各种操作系统、编译程序、磁盘清理程序等)②系统软件的主要特征:与计算机硬件系统有很强的交互性,对计算机的硬件资源进行统一的控制、调度、管理。
具有通用性,任何计算机系统必不可少。
购买计算机时,厂商必须提供一些基本的系统软件(2)应用软件①应用软件:泛指专门用于解决各种具体应用问题的软件。
②应用软件分类:按软件的开发方式和适用范围分为:通用应用软件:可以在许多行业和部门共同使用如:word、excel、绘图软件、媒体播放软件定制应用软件:按照不同领域用户的特定应用要求而专门设计的软件如:某大学的教务管理系统、某超市的销售系统③主要通用应用软件类别和功能【典型例题】8.下列软件中,_____是专门的网页制作软件。
A .FrontPage 2000B .Visual BASIC 6.0 C .Excel 2000D .PowerPoint 2000 11.在计算机的软件分类中,应用软件和系统软件的相互关系是______A .前者以后者为基础B .后者以前者为基础C .每一类都不以另一方为基础D .每一类都以另一方为基础11.在计算机系统中,对计算机各类资源进行统一管理和调度的软件是_______。
软件工程复习资料
软件⼯程复习资料《软件⼯程》复习资料1.解释什么是软件⼯程?运⽤⼯程学的原理和⽅法来组织和管理软件的⽣产和管理,以保证软件产品开发、运⾏和维护的⾼质量和⾼⽣产率。
2.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重的问题。
它包含两个⽅⾯的问题:如何开发软件,以满⾜对软件⽇益增长的需求,如何维护数量不断膨胀的已有软件。
3.简述软件与硬件的区别。
硬件是计算机系统中的物理部件,⽽软件则是计算机系统中的逻辑部件。
4.简述软件⼯程专家B.W.Boehm提出的软件⼯程七条原理。
七条基本原理:(1)⽤分阶段的⽣命周期计划严格管理;(2)坚持进⾏阶段评审;(3)实⾏严格的产品控制;(4)采⽤现代程序设计技术;(5)结果应能清楚地审查;(6)开发⼩组的⼈员应该少⽽精;(7)承认不断改进软件⼯程实践的必要性。
5.软件⼯程的三个要素的是什么?⽅法、⼯具和过程(其中⽅法是完成软件开发的各项任务的技术⽅法,回答“怎样做”的问题;⼯具是为运⽤⽅法⽽提供的⾃动或半⾃动的软件⼯程⽀撑环境;过程是为了获得⾼质量的软件所需要完成的⼀系列任务的框架,它规定了完成各项任务的⼯作步骤。
)6.⼀个软件的⽣命周期分为哪⼏个阶段?软件定义,软件开发和运⾏维护7.什么是软件过程?主要有那些过程模型?1)、软件过程是为了获得⾼质量软件所需要完成的⼀些列任务的框架,它规定了完成各项任务的⼯作步骤。
2)、主要有:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。
8.简述瀑布模型的特点。
1)、阶段间具有顺序性和依赖性,2)、推迟实现的观点,3)、保证质量的观点9.简述原型法的基本思想。
所谓快速原型是快速建⽴起来的可以在计算机上运⾏的程序,它能够完成的功能往往是最终产品能完成的功能的⼀个⼦集。
10.Rational统计过程的“最佳实践”指的是什么?迭代式开发、管理需求、使⽤基本构件的体系结构、可视化建模、验证软件质量、控制软件变更。
UML复习
UML复习资料(整理)一、关于面向对象方法论OOM1. 结构化分析与设计的主要特点:A. 功能分解.以实现功能的过程为中心,而用户的需求变化主要是针对功能的。
这就使基于过程的设计不易被理解;且功能变化往往引起结构变化较大,稳定性不好B. 自顶向下.边界定义明确,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改C. 数据与操作分离,可能造成软构件对具体应用环境的依赖,可重用性(reusability)较差2. 面向对象方法与结构化方法的区别?传统结构化方法面向对象方法(UML建模工具为例)需求模型输入I、处理P、输出O的视角,面向功能的文档(用户需求规格说明书)需求变化,其功能变化,所以系统的基础不稳固从用户和整体角度出发使用系统抽象出用例图、活动图,获取需求;如需求变化,对象的性质相对功能稳定,系统基础稳定分析模型面向过程的数据流图DFD、实体—关系图ERD、数据字典DD表示分析模型功能分解,数据和功能/过程分开把问题作为一组相互作用的实体,显式表示实体间的关系数据模型和功能模型一致类、对象图表示分析模型,状态、顺序、协作、活动图细化说明设计模型功能模块(SC图),模块之间的连接/调用是模块的附属形式类和对象实现, 类/对象的关联、聚集、继承等连接、连接规范和约束作为显式定义实施模型体系结构设计构件图,配置图测试模型根据文档进行单元测试,集成测试,确认测试单元测试采用类图,集成测试用实现图和交互图,确认测试采用用例图3. 什么是面向对象方法,以及其要点?答:OO方法是基于“对象、类、封装性、继承性、多态性、消息机制等技术特征”的构造系统的软件开发方法。
它有以下一些特点:(1)客观世界由具有各种对象组成。
OO的软件系统也是由对象组成的,任何复杂的软件都是由简单的对象以及对对象的处理组合而成的。
(2)所有对象都可以划分为不同的对象类,具体的对象只是对象类中的一个实例,每个对象都有自己特定的数据和方法(对数据的操作)。
软件系统分析与设计复习资料
软件系统分析与设计复习资料一、选择题1.结构化程序设计方法的主要特征不包括A.控制结构仅由顺序、选择和重复等结构复合而成B.程序自底向上逐步抽象成一个函数块C.每个函数块都有一个入口和一个出口D.采用“消息+对象”的设计模式2.由开发者“指导”用户对软件进行的测试称为A.单元测试B.组装测试C.alpha测试D.beta测试3.系统分析和设计完成以后,开发者向用户提供的文档资料不包括A.场景/用例图和功能处理模型B.对象静态、动态模型C.体系结构模型D.测试文档资料4. UML的5种视图中对下列对象都适用是A.客户B.分析者C.开发者D.测试者5. UML中不.属于动态模型图的是A.活动图B.用例图C.状态图D.时序图6.关于UML的描述错误的是A.UML是一种可视化建模语言B.UML是完全的面向对象的软件开发方法C.UML独立于特定开发语言和开发过程D.现有的UML没有扩展机制7.在软件开发统一过程(UP)中的设计阶段应切忌的是A.全部文档描述应能明显地看到形成这些文档的基础是什么B.创建简单、完整、一致的接口,使所有构件服务都能易于理解和使用C.在早期就要过分强调性能D.保留开发过程中发生的所有事情的记录8.在系统开发的开始阶段,在确定客户需求过程中建立的用例称为A.系统用例B.业务用例C.主要用例D.关键用例9.关于用例图中的行为者描述正确的是A.一个行为者只能启动一个用例B.行为者一定是人C.行为者之间不能有继承关系D.行为者代表一种角色而不是具体某个人10.通常在UML的类图里面,符号“+”用来修饰A.公有成员B.私有成员C.保护成员D.可继承成员11.关于UML中类图的关联所使用的重数的描述中,错误的是A.“0..1”表示“0或1”。
B.“0..*”和“*”表示的意思不一样。
C.“1..*”表示“1或多”。
D.“5..11”表示“5-11”。
12.关于时序图中对象排列原则错误的是A.对象纵向排列在时序图的左边B.交互密切的对象尽可能相邻C.交互中创建的对象,应放置在其创建的时间点上D.每个对象有一个下垂的生命线13.在UML中,用来表示状态的图符是A.一个矩形框B.一个带圆角的矩形框C.一个椭圆D.一个圆14.一个结构良好的状态图应排除下面的情形A.能准确描述系统动态模型的一个侧面B.图中只包含描述该侧面相关的重要元素C.附加对于理解状态图含义必要的特征信息D.一个状态图应可以单独描述出系统的全貌15.关于构件和类具有相同点的是A.构件和类都可以有实例B.直接拥有自己的属性和操作C.可以拥有多个实例D.都是逻辑抽象16.数据流图(DFD)主要应用于A.面向对象分析方法B.结构化方法C.模块化方法D.面向数据结构方法17.以下不属于封装的特征的是A.具有唯一的标识名B.一个清楚的边界C.一个接口D.受保护的内部实现18.需求分析工作不包括A.软件功能需求B.软件性能需求C.软件运行环境约束D.定义模块接口19.UML中构件视图的作用是A.描述系统的功能需求;找出用例和行为者。
组态软件复习资料
1.典型的计算机控制系统通常可以分为:(设备层)(控制层)(监控层)(管理层)四个层次。
2.组态软件是指一些用来完成(数据采集)与(过程控制)的专用软件。
3.一般的组态软件都些由下列组件组成:(图形界面系统)(控制功能组件)(实时数据库系统)(第三方程序接口组件)4.组态软件的功能:(1)工业生产过程的动态可视化控制(2)生产过程中生产数据的采集与管理(3)生产过程的监控报警(4)报表功能(5)基于网络数据的上传和相应控制4.组态软件功能的特点:(1)功能多样,运行可靠(2)接口开放,使用灵活方便(3)丰富的画面显示组态功能(4)多任务的软件运行环境,数据库管理和资源共享5.组态软件的结构:(1)按工作阶段划分:系统开发环境,系统运行环境6.按软件体系的成员构成划分:应用程序管理器,图形界面开发程序,图形界面运行程序,实时数据库系统组态程序,实时数据库系统运行程序,I/O驱动程序6.组态软件可选的扩展组件:(1)通用数据库接口(2)通用数据库接口运行程序(3)策略编辑组态程序(4)策略运行程序(5)使用通信程序组件7.组态软件通过I/O驱动程序从现场I/O获得实时数据,对数据进行必要的加工处理后,一方面以图形方式直观地显示在计算机屏幕上;另一方面按照组态要求和操作人员的指令将控制数据送给I/O设备,并对执行机构实现控制或调整控制参数。
7.组态软件的一般步骤:(1)将所有I/O点的参数收集齐全(2)确所使用的I/O设备种类型号通信接口以及通信协议(3)将所有的I/O点的I/O标识收集全(4)根据工艺流程绘制设计画面结构或画面草图(5)按照1步统计出表格,建立实时数据库(6)根据1,3步的统计结果,在实时数据库中建立实时数据变量与I/O点对应关系(7)根据4步的画面结构或草图,组态每一幅静态操作画面(8)将操作画面中的图形对象与实时数据库变量建立动画连接关系(9)对组态内容进行分段和总体调试(10)系统投入运行8.国外监控组态软件:Intellution FIX,iFIX;西门子winCC;Wonderware Intouch; 国内:MCGS;组态王kingview;力控监控组态软件8. 组态软件发展及趋势:1.集成化。
自考_软件工程复习资料
第一章1软件生产率、软件质和量远远满足不了社会发展的需求,成为社会、经济发展的制约因素,人们通常把这一现象称为软件危机2软件工程定义:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品工程,或以此为研究对象的学科3软件开发的本质概括为:不同抽象层术语之间的“映射”,以及不同抽象层处理逻辑之间的“映射”两大类技术:过程方向、过程途径。
基本途径:系统建模4所谓模型,是待建系统的任意抽象,其中包括所有的基本能力、特性或其他一些方面,而没有任何冗余的细节。
进一步说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述5系统模型分为软件模型、概念模型软件模型分为设计模型、部署模型、实现模型第二章软件需求与软件需求规约6一个需求是有关一个“要与构造”的陈述,描述了待开发产品、系统功能上的能力、性能或者其他性质7需求性质:必要的、无歧义的、可测的、可跟踪的、可测量的8需求分类:功能需求、非功能需求(性能、外部接口、设计约束、质量属性需求)9功能需求规约了系统或系统构建必须执行的功能功能需求是整个需求的主体10接口需求分为:用户接口、硬件接口、软件接口、通信接口、内存约束、运行、地点需求11质量属性:可靠性存活性可维护性用户友好性12需求发现技术:自悟交谈观察小组会提炼13需求规约定义,是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个软件产品/系统概念模型性质:重要性和稳定性程度可修改的完整的一致的14需求规约的作用:需求规约是软件开发组和用户之间一份事实上的技术合同书,是产品功能及其环境的体现对于项目的其余大多数工作,需求规约是一个管理控制点对于产品/系统的设计,需求规约是一个正式的、受控的起始点需求规约是创建产品验收测试计划和用户指南的基础,是基于需求规约一般还会产生另外两个文档(初始测试计划和用户系统操作描述)第三章结构化方法15需求工作挑战:问题空间理解人与人之间的通信需求的变化性16好的需求技术具备特征: 提供方便的通信机制鼓励需求分析人员使用问题空间的术语思考问题,编写文档提供定义系统边界的方法提供支持抽象的基本机制为需求分析人员提供多重可供选择的方案提供天特定的技术化、适应需求变化17结构化方法:结构化分析方法结构化设计方案机构化程序设计方法18数据流加工数据存储数据源和数据潭19需求分析的首要任务是建立系统功能模型工具:数据流图DFD图是一种描述数据变化的图形工具20建模过程:建立系统环境图,确定系统语境自顶向下逐步求精,建立系统层次数据流图定义数据字典描述加工(结构化自然语言判定表判定树)21需求阶段的主要任务是完整地定义问题,确定系统的功能和能力22需求验证验证需求规格说明书的每一单一需求是否满足5个性质(必要性无歧义性可测性可跟踪型可测量性),需求沿着我难过规格说明属否满足4个性质(重要性和稳定性程度可修改型完整性一致性)23结构化设计的主要任务是在需求分析的基础上,定义满足需求所需要的结构,即针对给定的问题,给出该问题的软件解决方案,确定“怎么做”的问题24结构化设计分为总体设计(目标,建立系统的模块结构)和详细设计25模块指软件中具有特定标识的独立成分模块调用指模块之间的一种使用关系26总体设计阶段的基本任务是把系统的功能需求分配到一个特定的软件体系结构中工具(Yourdon模块结构图层次图HIPO图)步骤:将系统的DFD图转化为初始的模块结构图,再基于高内聚低耦合的原则,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图MSD27模块化模块是执行一个特殊任务的一个过程以及相关的数据结构.由两部分组成:接口、模块体28耦合:不同模块之间相互依赖程度的度量(强到弱内容耦合(直接操作修改另一模块数据)、公共耦合(共用一个全局数据项)、控制耦合(控制信号)、标记耦合(A向BC传递一个公共参数)、数据耦合(通过参数传递数据))29内聚:一个模块内部成分之间的相互关联程度的度量(偶然内聚、逻辑内聚(逻辑相关的功能放一块)、时间内聚(同一时间内执行) 、过程内聚(特定次序执行) 、通信内聚(操作同一数据集)、顺序内聚(一个成分的输出为另一个成分的输入)、功能内聚)30启发式规则:1改进软件结构,提高模块独立性2力求模块规模适中3力求深度宽度扇入扇出适中4尽力使模块的作用域在其控制域之内5尽力降低模块接口的复杂度6力求模块功能可以预测31详细设计的目标是将总体设计阶段所产生的系统高层结构映射为以这些术语所表达的低层结构,也是系统的最终结构32详细设计工具:程序流程图N—S图PAD图PDL伪码33所谓模块化,是指按照高内聚低耦合的设计原则,形成一个相互独立又有较少联系的模块结构的过程,使每个模块具有相对独立的功能/过程34逐步求精是指把要解决问题的过程分解为多个步骤或阶段,每一步是对上一步结果的精化,以接近问题的揭发。
最新版自考互联网软件应用与开发复习资料全
名词解释1.互联网软件:是指根据互联网的特点,充分发挥其作用,在互联网环境中运行的、提供某种服务或实现某种功能的系统。
2.Web:全称World Wide Web,缩写为WWW。
○1是运行在Interner之上的所有HTTP服务器软件和他们所管理的对象的集合。
○2是一种体系结构,是一种基于Internet、采用Internet协议的体系结构。
3.HTTP:超文本传输协议,是Web的核心,Web与浏览器之间的通信使用的协议就是HTTP。
4.服务器:指管理资源并为用户提供服务的计算机应用程序。
5.客户端:也称用户端,是指与服务器相对应,接受并显示服务器上传递过来的信息资源的应用程序。
6.C/S结构:即客户/服务器结果,是一种软件系统体系结构,可以充分利用两端硬件的优势,将任务合理分配到客户端和服务器端来实现,降低了系统个的通信开销。
7.B/S结构:即浏览器/服务器结构,是Web兴起后的一种网络结构模式,统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和实用。
8.软件工程:是指采用该工程的概念、原理、技术和方法指导软件的开发和维护。
9.软件生存周期:是指一个软件从定义到开发、实用和维护,直到最终被弃用,经历的一个漫长的时期。
10.软件生存期模型:是指对整个软件生存周期内的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架。
11.敏捷开发:是一种以人为核心、迭代、循序渐进的开发方法,主要是应对快速变化的需求。
12.UML:是一种通用的、标准的、可视化的建模语言,能让系统构造者用标准的、易于理解的方式建立起项目中所有的静态结构和动态行为,便于不同的人之间有效地共享和交流工作结果。
13.模型元素:是UML构造系统各种模型的元素,是UML构建模型的基本单位。
14.基元素:是指由UML定义的模型元素。
15.构造型元素:是指在基元素的基础上增加了新的定义而构造的新的模型元素。
16.关联关系:实际上是一种结构关系,主要是指两个元素之间的相互联接结构,表示整体和部分的关系。
软件工程复习资料
第一章概论1.软件工程的主要内容:为了有限的资金、资源和时间条件下开发满足客户要求的高质量软件,就需要研究与软件开发和管理相关的模型、方法、技术、过程、工具和环境等。
2.计算机软件:指的是计算机系统中的程序及其文档,3.程序:指的是计算任务的处理对象和处理规则的描述.4.计算任务:任何以计算机为处理工具的任务都是计算任务。
5.处理对象:是数据(如数字、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及相关的含义)。
6.处理规则:一般指处理的动作和步骤.7.文档:是为了便于了解程序所需的阐述性资料.8.软件工程:是应用计算机科学,数学及管理科学等原理,开发软件的工程。
软件工程借鉴传统工程的原则、方法、以提高质量、降低成本为目的。
其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
9.杨芙清院士指出软件工程的框架可概括为:目标、过程和原则。
10.软件工程目标:只生产具有正确性、可用性和开销合宜的产品。
正确性:指软件产品达到预期功能的程度。
可用性:只软件基本结构、实现及文档为用户可用的程度。
开销合宜:只软件开发,运行的整个开销满足用户要求的程度。
11.软件工程原则包括围绕工程设计、工程支持和工程管理所提出的4条基本原则:(1)选取适宜的开发模型(2)采用合适的设计方法(3)提供高质量的工程支撑(4)重视软件工程的管理。
12.软件的生存周期:软件孕育、诞生、成长、衰亡的生存过程。
软件生存周期是指软件产品或软件系统从产生、投入使用到被淘汰的全过程。
软件生存周期大致可以分为6个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护。
13.软件过程:是生产一个最终满足需求且达到工程目标的软件产品所需的步骤。
过程是活动的集合,活动是任务的集合。
14.软件过程有3层含义:(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)软件开发人员对软件体系结构实际上无法测试。