还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
系统集成项目软件工程知识题库本章按照需求.可研.设计.测试、维护的顺序展开
1.1软件需求(讲了2个问题需求内容和需求过程)软件工程是开发、运行、维护和修复软件的系统方法
1、软件需求内容主要包括(必会)功能需求、非功能需求、设计约束;业务需求、用户需求、系统需求
(1)功能需求指系统必须完成的那些事(订票网站必须完成订票功能)(必会)
(2)非系统功能是指产品必须具有的属性和品质,如可靠性(如网站多人访问不能崩溃)、性能、响应时间(网页打开时间一般不超过10S)、容错性、扩展性等(必会)()3设计约束也成为限制条件,补充规约,通常是对解决方案的一些约束说明,例如必须采用国有自主知识版权的数据库系统,必须运行在UNIX操作系统之下等(必会)1可理解性2可测试性3可修改性
2.软件维护的步骤1建立维护组织2提出维护要求3实施维护作业4记录维护要素5评价维护活动
1.5软件的复用
1.概念:软件复用是指利用自己已有软件的各种有关知识构造新的软件以缩减软件开发和维护的费用把以前有的东西竟可能的拿来去用必会
2.软件复用的内容了解1代码的复用2测试文档的复用3设计思想的复用4模块的复用
(5)软件的复用
(6)组件的复用
3.软件复用的主要思想将软件看成是由不同功能的〃组件〃所组成的有机体(组件的概念在软件设计编写时可以被设计成完成同类工作的一个通用的产品工具)(了解)
1.软件再生的6个步骤筛选、文档重构、逆向工程(功能反编译)、代码重构、数据重构、重新开发(了解)(逆向工程)的概念分析一个程序的过程,最大程度的建立比源代码更加抽象的高级表达,它也是一个恢复设计结果的过程,逆向工程工具可以从现有的软件代码中抽取有关数据、体系结构和处理过程的设计信息(选择给解释考名词)
1.6软件质量保证及质量评价
1.软件质量管理过程包括软件质量保证过程、验证过程、确认过程、评审过程、审计过程
(1)软件质量保证通过计划制定、实施和完成一组活动提供保证,这些活动保证项目生命周期中的软件产品和过程符合其规定的需求()2验证与确认过程:使用能够定位缺陷并便于以后改正的测试技术直接处理软件产品质量问题验证与确认的区别(重点)1)验证过程试图确保活动的输出产品已经被正确的制造,即活动的输出产品满足前面活动施加的规范说明;2)确认过程试图确保建造了正确的产品,即产品满足其特定的目的)3评审与审计过程(具体几个概念请百度下)包括管理评审、技术评审、检查(正式的)、走查(随即的)、审计(事后进行的一个审计)
2.相关名词
(1)SQA:软件质量保证()2QC:质量控制
1.7软件配置管理(考过15分的案例答题)(了解)
(1)软件配置管理配置与配置项、基线与基线管理、版本、配置控制
(2)变更控制功能变更、错误修复变更1)功能变更就是根据客户要求增加或者修改功能引发的变更2)错误变更修改漏洞()3配置库),)1开发库(开发人员用的库是经常变化的2)受控库(有一定的限度,存放半成品)3)产品库(存放产品)
1.9软件过程管理
1.CMM模型分级标准()1初始级——软件过程的特点是无秩序的,有时候甚至是混乱的)(2可重复级——已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪()3已定义级——软件过程均已文档化、标准化、并形成整软件组织的标准软件过程(初步标准)4已管理级——软件过程和产品的质量有详细的度量标准比定义级别深化,有文档,有管理数据5优化级——来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地进行过程改进
2.CMMI软件能成熟度模型集成必会CMM和CMMI的区别lCMMI结构更加形式化和精致,更复杂;2CMMI强调需求的管理需求管理和需求开发CMM为需求管理3CMMI加强对于工程过程的重视;CMMI强调度量;CMMI强调对风险的管理
1.10常用构件标准必会几个概念性名词选择题经常出选项判断1COM是个开放的组件标准2DCOM是COM的进一步发展3COM+并不是COM的新版本,我们可以把它理解为COM的新发展4CORBA公共对象请求代理构架是由OMG组织制定的一种标准的面向对象的应用程序体系规范5EJB由SUN定制
1.11面向对象系统分析与设计
1.面向对象的基本概念面向对象=对象+类+继承+消息通信1对象对象标志供系统内部唯一的识别对象;属性状态、数据、用来描述对象的静态特征服务操作、行为或方法,用来描述对象的动态特征2类和类库类是对象的抽象定义,是一组具有相同数据结构和相同操作的对象的集合3继承和多态过载多态和强制多态统称为专用多态特定多态包含多态、参数多态称为通用多态4消息通信消息是指对象发出的服务请求包括对象标识、消息名、输入信息、回答信息
2.对象和封装对象object是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位
3.对象三要素1对象标志object identifier--是对象的名字,供系统内部唯一地识别对象2属性attribute也称状态state活数据data用来描述对象的静态特征3服务service—也称操作operation、行为behavior或方法method,用来描述对象的动态特征也称为函数4圭寸装encapsulation对象圭寸闭装存
1.类和类库看一下这段文字有个了解
5.继承与多态1继承inheritance:是使用已存在的定义作为基础建立新定义的而技术,继承是面向对象方法学中的一个十分重要的概念2多态:是指类中具有相似功能的不同函数是用同一个名称来实现,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数类与类之间的关系一组合、泛化、聚合、关联消息message一是指对象发出的服务请求面向对象常考的知识点面向对象的基本概念
1.对象由数据及操作所构成的封装体,是系统中用来描述客观事物的一个封装是构成系统的一个基本单位对象三要素对象标识、对象状态、对象行为
2.类是现实世界实体化的描述类将实体的数据和函数封装在一起类的数据也叫状态、属性或特征它表示静态的一面;类的函数也叫功能、操作或服务,表现类的动态一面
3.类和对象的关系对象是类的实例
1.抽象通过特定的实例抽取共同特征以后形成概念的过程它强调主要特征,忽略次要特征
5.封装讲相关概念组成一个单元,然后通过一个名称来引用它
6.继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的属性和能力,继承又分为单继承和多继承,JAVA是单继承语言,C++是允许多继承的
7.多态是一种方法,这种方法使得多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的体现
8.接口对操作规范的说明
9.消息对象间交互手段
10.组件是软件系统可代替的、物理的组成部分,它封装了实现体,并提供了一组接口的实现方法
11.模式表示了一个特定环境、一个问题和一个解决方法之间的关系
12.软件复用是指将已有的软件及其有效成分用于构造新的软件和系统组件技术是软件复用的关键技术软件的中间件(必考)中间件位于硬件、操作系统等平台和应用之间的通信服务(常见的中间件数据库访问中间件WIN平台的)ODBC与JAVA平台的JDBC、远程过程调用、面向消息的(中间件IBM的MSQeries)、分布式对象中间件(OMG的)CORBA、SUN的RMI/EJB.Microsoft的DCOM、事务中间件
1.13典型体系结构常见的架构模式管道/过滤器模式;面向对象模式;事件驱动模式;分层模式;知识库模式;C/S模式;()1管道/过滤器模式
(4)业务需求(BR):指反应组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求(了解)()5用户需求(贝)(了解)()(6系统需求(5了解)
2.需求过程(讲了2个问题需求开发和需求管理)需求过程是一个包括创建和维护系统需求文档所必需的一切活动的过程通常包括需求开发和需求管理两大工作(必会)()(1需求开发包括(需求捕获)、需求分析)、编写(规格说明书)、和(需求验证)四个阶段(必会)1)需求捕获常用的需求捕获手段包括a.用户访谈b.用户调查表格、问卷调查等方式,与用户访谈相比最大缺点是缺乏灵活性c.现场观摩d.文档考古管道/过滤器模式的优点
1、体现了各功能模块的〃黑盒〃特性及高内聚、低耦合的特点
2、可以将整个系统的输入/输出行为看成是多个过滤器行为的简单合成
3、支持软件功能模块的重用
4、便于系统维护新的过滤器可以添加到现有系统中来,旧的可以由改进的过滤器替换
5、支持某些特定的分析,如吞吐量计算、死锁检测等
6、支持并行操作,每个过滤器可以作为一个单独的任务完成管道/过滤器模式的缺点
1、通常导致系统处理过程的成批操作
2、需要设计者协调两个相对独立但又存在关系的数据流
3、可能需要每个过滤器自己完成数据解析和合成工作(如加密和解密),从而导致系统性能下降,并增加了过滤器具体实现的复杂性2面向对象模式面向对象模式的优点L高度模块化
2、封装功能实现了数据隐藏
3、继承性提供了一种实现代码共享的手段
4、提供了系统的灵活性,便于维护及扩充面向对象模式的缺点对象之间的调用需要知道所调用对象的标识如果对象的标识发生改变,就必须通知所有调用该对象的对象否则系统将可能无法正常运行3客户机与服务器模式客户机与服务器模式的优点
1、客户机与服务器分离,允许网络分布操作;二者的开发也可分开同时进行;
2、一个服务器可以服务于多个客户机;客户机与服务器模式的缺点
1、客户机与服务器的通讯依赖于网络,可能成为整个系统运作的瓶颈;服务器的负荷过重,难以管理大量的客户机,系统的性能受到很大影响
2、如果服务器及其界面定义有改变,则客户机也要做相应改变
3、二层C/S模式采用单一服务器且以局域网为中心,难以扩展至广域网或internet.
4、数据安全性不好客户端程序可以直接访问数据库服务器,使数据库的安全性受到威胁C/S适用于分布式系统,为了解决C/S模式中客户端的问题,发展形成了浏览器/服务器Browser/Server,B/S模式;为了解决C/S模式中服务器端的问题,发展形成了三层多层C/S模式,即多层应用架构
1.14统一建模语言UMLUML具有如下的语言特征必考lUML不是一种可视化的程序设计语言,是一种可视化的建模语言2UML是一种建模语言规范,是面向对象分析与设计的一种标准表示3UML不是过程,也不是方法,但允许任何一种过程和方法使用它4UML简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改5UML为面向对象的设计与开发中涌现出的高级概念如协作、框架、模式和组件提供支持,强调在软件开发中,对架构、框架、模式和组件的重用6与最好的软件工程实践经验集成UML没有定义一种标准的开发过程,但它比较适用于迭代式的开发过程,是为支持面向对象的开发过程设计的
1.15统一建模语言UML常考的知识点主要的域视主要概念■静态视图类图类、关联、泛化、依赖关系、实现、接口用例、~55用例视图用例参与者、关联、扩展、包括、用例泛化构件、接口、依萩关系、实现实现视构件图部节点、构件、依赖关系、位置署图状态部署视状态、事件、转换、动件动态状态机视图机图活动状态、活动、完成转换、分叉、结合活动视图交图顺序图交互、对象、消息、激活互视图协作图类协作、交互、协作角色、消息图所有模型管理模型管理视图包、子系统、模型,约束、构造型、标记值可扩展性所有袤的视图34UML
1.16典型应用集成技术
1.
16.1Web Services技术(必考)Web Services服务的典型技术包括用于传递信息的简单对象访问协议SOAP,用于描述服务的Web服务描述语言WSDL,用于Web服务注册的统一描述,发现及集成UDDI,用于数据交换的XMLO
1.18集成技术常考的知识点
1、数据库与数据仓库技术数据仓库Data Warehouse是一个面向主题的SubjectOriented,集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策数据仓库和传统操作型数据库的对比的优点,1面向主题操作型数据库的数据面向事务处理各个业务系统间各自分离;数据仓库的数据按主题进行组织;2集成面向事务处理的操作型数据库通常和某些特定库的数据是对原有分散数据库数据通过抽E清理然后经系的应用相关,数据库之间相互独立,往往是异构的;数据仓统加工、汇总、整理得到,消除了源数据中的不一致性3相对稳定操作型数据库中的数据是实时更新的;数据仓库的数据用来查询,只有少量的修改和删除操作,通常只需定期加载、刷新4反映历史变化操作型数据库主要关心当前某一个时间段内的数据;数据仓库的数据通常包含历史信息
2、Web服务的主要目标是跨平台的互操作性适用于使用Web Services的情况跨越防火墙、应用程序集成、B2B集成、软件复用(重用)不适合Web Services的情况单机应用程序、局域网上的同构应用程序
3、J2EE结构(工业标准)J2EE是由sun公司主导、各厂家共同制定并得到广泛认可的工业标注业界各主要中间件厂商如IBM、Oracle都在响应J2EE应用将开发工作分为两类业务逻辑开发和表示逻辑开发,其余的系统资源由应用服务器自动处理,不必为中间层的资源和运行管理进行编码这样就可以将更多的开发精力集中在应用程序的业务逻辑和表示逻辑上,从而缩短企业应用开发周期,有效的保护企业投资J2EE技术规范由4个部分组成:J2EE平台、J2EE应用编程模型、J2EE兼容测试套件、J2EE参考实现1J2EE平台运行J2EE应用的环境标准,由一组J2EE规范组成2J2EE应用编程模型用于开发多层瘦客户应用程序的标准设计模型,由SUN提供应用蓝图Blue Printso3J2EE兼容测试套件用来检测产品是否同J2EE平台兼容4J2EE参考实现与平台规范同时提供的、实现J2EE平台基本功能的J2EE服务器运行环境J2EE应用服务器运行环境包括构件Component、容器Container及服务Services三部分.构件是表示应用逻辑的代码;容器是构件的运行环境;服务则是应用服务器提供的各种功能接口,可以同系统资源进行交互J2EE规范包含了一系列构件及服务技术规范lJNDI:Java命名的目录服务,提供了统
一、无缝的标准化名字服务2Servlet:Java Servlet是运行在服务器上的一个小程序,用于提供以构件为基础、独立于平台的Web应用3JSP:Java Servlet的一种扩展,使创建静态模板和动态内容相结合的HTML和XML页面更加容易4EJB:实现应用中关犍的业务逻辑,创建基于构件的企业级应用程序5JCA:J2EE连接器架构,提供一种连接不同企业信息平台的标准接口6JDBC:Java数据库连接技术,提供访问数据库的标准接口7JMS:Java消息服务,提供企业级消息服务的标准接□o8JTA:Java事物编程接口,提供分布事务的高级管理规范9JavaMail:提供与邮件系统的接口10RMI-IIOP:提供应用程序的通信接口
4、NET结构微软标准微软的.net是基于一组开放的互联网协议而推出的一系列产品、技术、服务.net开发框架在通用语言运行环境基础上,给开发人员提供了完善的基础类库、数据库访问技术、网络开发技术,开发者可以使用多种语言快速构建网络应用通用语言运彳亍环境Common LanguageRuntime处于.NET开发框架的最底层,提供统一的运行环境、统一的编程模型基础类库Base ClassLibrary给开发人员提供一个统一的、面向对象的、层次化的、可扩展的编程接口ADO.NET技术用于访问数据库,提供了一组用来连接到数据库、运行命令、返回记录集的类库传统的基于Windows的因公,仍然是.net中不可或缺的一部分ASP.NET是.NET中网络编程结构,可以方便、高效地构建、运行和发布网络应用,.NET支持使用多种语言进行开发目前已经支持VB、C++、C#、Jscript等语言以及他们之间的深层次交互e.联合讨论会)2需求分析)()3需求规格说明书SRS:是一个软件文档,说明软件功能和约束4)需求验证需求验证和规格说明书的关系二者是一个双向的过程,规格说明书中提到的功能在最终的系统中必须全部得到实现,同时软件说明书也可看到最终需求,一句话概括就是既不能少也不能多
(2)需求管理通常包括定义(需求基线人(处理需求变更).(需求跟踪)等方面的工作基线的定义正式评审、确认的标准(必会)
1.2可行性研究(可能考案例题)
1.可行性研究的主要任务包括(技术可行性)、(经济可行性)和(社会可行性)(必会)
2.可行性研究的工作步骤(了解,每个问题都读一下,通Visual Studio.NET作为微软的下一代开发工具,和.NET开发框架紧密结合,提供几乎所有市场上的编程语言都有可能应用于微软的.NET开发框架J2EE.NET都可以用来设计.开发企业级应用J2EE平台是业界标准,有超过50家厂商实现了这些标准工具、应用服务器等.NET是微软自己的产品系列,而非业界标准
5、工作流技术工作流workflow是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型进行表示并实施计算工作流依靠工作流管理系统的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互工作流需要依靠工作流管理来实现读一下这几点,有印象1核实问题定义与目标2研究分析现有系统3为新系统建模4客户复核5提出并评价解决方案6确定最终推荐的解决方案进行成本/效益分析进行成本/效益分析可分两部分进行以后具体会讲现在只做了解1成本估计常用的有功能点分析、OCCOMO分析等2效益分析a.货币的时间价值b.投资回收期c.投资回报率7草拟开发计划8以书面方式提交《可行性分析报告》
1.3需求分析(了解)需求分析包括绘制系统上下文范围关系图、创建用户接口原型、分析需求的可行性、确定需求的优先级、为需求建立模型、创建数据字典、使用质量功能调配)质量功能调配(QFD)数据流图(DFD需求分析的主要方法包括结构化分析方法、软系统方法、面向对象分析方法、面向问题域的分析
1.4软件设计测试和维护
1.
1.1软件设计(了解)()1软件设计的基本原则信息隐蔽、模块独立性、(模块内部高内聚(功能、信息、通信、过程、时间、逻辑);模块间低耦合)
(2)系统结构图模块、模块间的调用关系、模块间的通信、辅助控制符号()3常用系统结构图变量型、事务型、混合型()4用户界面可使用性、灵活性、复杂性和可靠性(
1.
1.2软件测试方法必会)软件测试的方法分为(白盒测试)和(黑盒测试);单元测试、系统测试、验收测试(请自己百度下专业名词比如黑盒子测试、白盒测试)
1.黑盒测试()1概念黑盒测试吧测试对象看成一个空盒子,不考虑程序内部的逻辑结构和内部特性,只是依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,又称为功能测试或数据驱动测试()2黑盒测试的方法1)等价类根据某种规则,划分为几个类型,从中选拔出几个测试代表2)边界值3)错误推测4)因果图和综合分析法
2.白盒测试()1概念白盒测试吧测试看成一个透明的盒子,它允许测试人员利用程序内部的逻辑结构和有关信息设计或选择测试用例又称为结构测试或逻辑驱动测试(考虑内部逻辑结构,用覆盖的方式实现)()2白盒测试对程序模块进行如下检查(理解)))1对程序模块的所有独立的执行路径至少测试一次2对所有的逻辑判定,取〃真〃与取〃假〃的两种情况的测试至少测试一次3)在循环的边界和运行界限内执行循环体)4测试内部数据结构的有效性等
(3)逻辑覆盖是以程序内部的逻辑结构为基础的设计用例的技术它属于白盒测试,包括,语句覆盖、判定覆盖、条件覆盖、判定一条件覆盖、条件组合覆盖、路径覆盖等软件测试的分类
1.单元测试单元测试也成为模块测试,是针对每个模块进行的测试
2.集成测试在单元测试的基础上,将所有的模块按照设计要求组装成系统,必须精心计划,应提交集成测试计划、集成测试规格说明和集成测试分析报告
3.确认测试确认测试验证软件的功能、性能及其他特性是否与用户要求一致
1.系统测试讲整个软件放在整个计算机环境下,包括软硬件平台、某些支持软件数据和人员等,在实际运行环境下进行的一系列测试
5.a测试和B测试在软件交付使用后,用户将如何实际使用程序,对于开发者来说是不知道的通常在软件发布上市之前需要进行a测试和B测试1a测试由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试2B测试由软件的多个用户在实际使用环境下进行的测试软件测试从不同的角度,又可分为一下几大类了解,读一下具体概念)
(1)功能测试
(2)可靠性测试
(3)强度测试())4性能测试5恢复测试(
(6)启动停止测试7)匹配测试
(8)安全性测试()9可使用性测试(
(10)安装测试
(11)过程测试
(12)容量测试13))文档测试(14兼容性测试软件测试的步骤(PDCA过程)(必会)
1.制定软件测试计划
2.编写软件测试说明
3.执行软件测试
1.编写软件测试报告
5.修正软件测试过程中出现的问题
6.软件测试阶段评审软件维护(必会)
1.软件的可维护性的主要由以下三个因素决定。