1、系统集成:系统集成技术的概念、作用、类型和发展
2、信息系统建设:信息系统的生命周期、各阶段目标及其主要工作内容、信息系统开发的方法
3.软件工程:软件需求分析与定义、软件设计、测试与维护、软件复用、软件开发环境。
4.面向对象系统分析与设计:面向对象的基本概念、统一建模语言、可视化建模、面向对象系统分析、面向对象系统设计。
5.软件体系结构:软件体系结构定义、典型体系结构、软件体系结构设计方法、软件体系结构分析与评估、软件中间件。
6.典型应用集成技术:数据库与数据仓库技术、web services技术、j2ee架构、.net架构、工作流技术、构件及其在系统中的重要性、常用构建标准。
7.计算机网络知识:网络技术标准与协议、Internet技术及应用、网络分类、网络管理、网络服务器、网络交换技术、网络存储技术、无线网络技术、光网络技术、网络接入技术、综合布线、机房工程、网络规划、设计与实施。
软件工程是开发、运行、维护和修复软件的系统方法。
软件需求包括功能需求、非功能需求和设计约束三方面内容。
1.功能需求:是指系统需要完成哪些事,即为了向它的用户提供有用的功能,软件系统必须具有的功能。
2.非功能需求:是指产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性、扩展性等。
3.设计约束:也称为限制条件、补充规约,其通常是对解决方案的一些约束说明,例如必须采用国有自主知识版本的操作系统,必须运行在Linux擦着系统之下等。
需求分析的关键在于对问题域的研究和理解。
为了便于理解问题域,现代软件工程方法所推荐的做法是对问题域进行抽象,将其分解为若干的基本元素,然后对元素之间的关系进行建模。下午分析就是要提炼、分析和仔细审查已经收集到的需求,以确保所有的项目干系人都明白其含义并找出其中的错误、遗落或其他不足之处。
软件设计的基本原则是信息隐蔽与模块独立性。
在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素放到个别模块内部。也就是说,每个模块的实现细节对于其他模块来说是隐蔽的,模块中所包含的信息(包括数据和过程)不允许其他不需要这些信息的使用。
软件设计中的模块独立性是指软件系统中每个模块中只涉及软件系统中某项的具体功能,而软件系统中其他的模块接口是相对简单的这种特性。模块独立的概念是模块化、抽象、信息隐蔽个局部化概念的直接结果。
一般采用两个准则度量模块独立性:即模块间耦合和模块内聚。耦合是模块间的相对独立性的度量。内聚是模块功能强度的度量。一个模块独立性比较强的模块应是高内聚低耦合。
软件测试是软件质量保证的主要手段之一,也是在将软件交付给客户之前所必须完成的步骤。目前软件的正确性证明尚未得到根本性的解决,软件测试仍然是发现软件错误和缺点的主要手段。
软件测试方法一般分为两类,分别是动态测试和静态测试。动态测试是指通过运行程序发现错误,分为黑盒测试法、白盒测试法和灰盒测试法;静态测试是指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态分析中进行人工测试的主要方法有桌前检查、代码审查和代码走查。
根据测试的目的。阶段的不同,可以把测试分为单元测试。集成测试、确认测试、系统测试等种类。
1.单元测试:又称为模块测试,是针对软件设计的最小单元(程序模块)进行正确性检验的测试工作。其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现模块内部存在的各种错误。
2.集成测试:也称为组装测试、联合测试。它主要是将已经通过单元测试的模块集成在一起,主要测试模块间的协作性。集成测试计划通常是在软件概要设计阶段完成。
3.确认测试:也称为有效性测试,主要是验证软件的功能、性能以及其他特性是否与用户要求一致。确认测试计划通产在需求分析阶段完成。
4.系统测试:如果项目不知包含软件,还有硬件和网络等,则要将软件与外部支持的硬件、外设、支持软件、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行的一系列集成与确认测试。一般的,系统测试的主要内容包括功能测试。健壮性测试、性能测试、用户界面测试、安全测试、安装和反安装测试等。系统测试计划主要通常在系统分析阶段(需求分析阶段)完成。
依据软件的特点,软件可维护性主要由可理解性、可测试性、可修改性三个因素决定。软件的维护从性质上分为:纠正性维护、适应性维护、预防性维护和完善性维护。
1. 尽管经过严格的测试,但并不能保证软件中彻底没有问题,随着运行时间的延续,数据量的积累,各个应用环境的变化,仍可能会暴露出一下错误,此时就要进行纠正性的维护。
2.伴随着计算机硬件的新产品、操作系统的新版本的不断推出,为适应不同的软硬件环境,这在运行的软件必须进行适应性的维护。
3.用户熟悉软件以后,会提出一些改进需求,为了满足这些需求,就要进行完善性维护,这样的维护几乎占到维护工作量的一半以上。比如打印格式的调整、统计口径的增加、业务流程的完善。
构件是指语义完整、语法正确和有重用价值的单位软件,是软件重用工程可以明确辩识的系统。结构上,它是语义描述、通信接口和实现代码的复合体。简单德说,构件是具有一定功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发和生产无关。
构件模型是对哦构件本质特征的程序描述。目前,国际上已经形成许多构件模型,这些模型的目标和作用各不相同。其中部分模型为参考模型,部分,想属于描述模型,还有部分模型属于实现模型。近年来已经形成三个主要流派,分别是OMG(object Management Group,对象管理集团)的CORBA、sun的EJB和Microsoft的Dcom(Distributed Component Object Model,分布式构件对象模型)
客户机/服务器(client/Server,C/S)软件体系结构是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,c/s体系结构定义了工作站如何与服务器相连,以实现数据和应用分布在多个处理机上。c/s体系结构由三部分组成:数据库服务器、客户应用程序和网络。
与二层c/s结构相比,在三层c/s体系结构中,增加了一个应用服务器,可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种结构被称为“瘦客户机”。三层c/s体系结构是将应用功能分成表示层、功能层和数据层三个部分。在三层c/s体系结构中,中间件是最重要的构件。
在三层c/s体系结构中,表示层负责处理用户的输入和向客户的输出(出于效率的考虑,它可能在传输用户的输入前进行合法性验证)。功能层负责建立数据库的连接,根据用户的请求生成访问数据库的sql语句,并把结果返回给客户端。数据层负责实际的数据库存储和检索,响应功能层的数据处理请求,并将结果返回给功能层。
浏览器/服务器(b/s browser/Server)风格就是上述三层应用的一种实现方法,其具体结构为:浏览器/web服务器/数据库服务器。b/s结构主要利用不断成熟的www浏览器技术,结合浏览器的多种脚本语音,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。
中间件是在一个分布式系统的环境中处于操作系统和应用程序之间的软件,中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络资源。
中间件的任务是使应用程序的开发变得更容易,通过提供统一的程序抽象,隐蔽异构系统和分布式系统下低级别编程的复杂度。中间件分类有很多中类型。主要有底层型中间件、通用型中间件和集成型中间件三个大的层次。
1.底层型中间件的的主流技术有java虚拟机(java virtual machine,JVM),公共语音库(commonlanguage runtime,CLR),java数据库连接(javadatabase connectivity,jdbc),开放数据库互连(open database connectivity,odbc)和自适通信环境(Adaptive Communication Environment,ACE).
2.通用型中间件的主流技术有:公共对象请求代理体系结构(Common Object Request Broker Architecture,Corba)、j2ee,面向消息的中间件(message-oriented middleware,mom)和com.主要产品有:IONA orbix,BEA weblogic和IBM MQSeries.
3.集成型中间件的主流技术有:workflow和企业应用集成(enterprice application integration,EAI )等,主要有BEA WebLogic 和IBM WebSphere。
对象是系统中用来描述客观事物的一个实体,它是构件系统的一个基本单位。面向对象的软件系统是由对象组成的,复杂的对象由简单的对象组合而成。对象三要素是对象标志、属性和服务(操作)。
类是对象的抽象的定义,是一组具有相同数据结构和相同操作的对象的结合。类的定义包括一组数据属性和在数据上的一组合法操作。类的定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。
类与对象是抽象描述与具体实例的关系,一个具体的对象被称为类的一个实例。它们都可使用类中提供的函数。一个对象的状态则包含在它的实例变量中。
消息通信是面向对象方法学中的一个重要原则,它与对象的封装原则密不可分。封装是对象称为一些各司其职、互补干扰的独立单位;消息通信则为它们提供了唯一合法的动态联系途径,使它们的行为能够互相配合,构成一个有机的系统。
统一建模语音(Unified Modeling Language,UML)是用于系统的可视化建模语音。
在UML2.0中包括13种不同的图,分为表示系统静态结构的静态模型和表示系统动态模型的动态模型。
1.类图:展示了一组类、接口、协作和她们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出了系统的静态设计视图,包括主动类的类图给出系统的静态进程视图。
2.对象图:展现了一组对象以及她们之间的关系。对象图描述了在类图中所建立的事物的实例的静态快照。和类图一样,这些图给出了系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
3.构件图:展现了一个封装的类和它的接口、端口以及内嵌的构件和连接件构成的内部结构。是类图的变体。
4.组合结构图:它可以描绘结构化类的内部结构
5.用例图:实现了一组用例、参与者及他们之间的关系。
6.顺序图和通信图:两者都是交互图。交互图由一组对象或角色以及她们之间可能发送的消息构成。顺序图强调消息的时间次序的交互图,通信图强调消息的对象或角色的结构组织。顺序图强调时序,通信图强调消息流经的数据结构。
7.状态图:展现了一个状态机,它由状态、转移、事件和活动组成。有助于对反应式系统建模。
8.活动图:将进程或其他计算结构展示为计算内部一步步的控制流和数据流。
9.部署图:展示了对运行时的处理节点以及在其中生存的构件的配置。
10.包图:展现了由模型本身分解而成的组织单元以及它们的依赖关系。
11.定向图:一种交互图:它展现了消息跨越不同对象或角色的实际时间。
12.交互橄榄图:是活动图和序列图的混合物。
数据仓库是一个面向主题的、集成的、非易失的,且随时间变化的数据集合,用于支持管理决策。
1.数据仓库是面向主题的。传统的操作型系统是围绕公司应用进行组织的。
2.。数据仓库是集成的,数据仓库实现数据由面向应用的操作型环境向面向分析的数据仓库的集成。由于各个应用系统在编码、命名规范习惯、实际属性、属性度量等方面不一致,进入数据仓库时,要采用某种方法来消除这些不一致性。
3.数据仓库是非易失的。数据仓库的数据通常是一起载入与访问的,在数据仓库环境并不进行一般意义上的数据更新。
4.数据仓库随时间的变化性。数据仓库中的数据时间期限要远远长于操作系统中的数据时间期限;数据型数据库含有“当前值”的数据,这些数据的准确性在访问时是有效的,同样当前值的数据能够被更新;而数据仓库中的数据仅仅是一系列某一时刻生成的复杂的快照;操作型的数据的键码结构可能包含时间元素,如年、月、日等,而数据仓库的键码结构总是是包含时间元素。
5.利用多维的概念,OLAP提供了切片、切块、下钻、上卷和旋转等多维分析与垮维度分析功能。
OLAP系统架构主要分为基于关系数据库的Rolap(Relation OLAP)/基于多维数据库的MOLAP(Multidimensional OLAP )和基于混合数据组织的hOLAP(hybrid OLAP)。
ROLAP表示基于关系数据库的OLAP实现,它以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分成两类的表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的信息。
MOLAP表示基于多维数据组织的oLAP实现。它以多维数据组织方式为核心,使用多维数组存储数据。MOLAP查询方式采用索引搜索与直接寻址相结合的方式,比ROLAP的表索引搜索和表连接速度要快得多。
数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的,但又是潜在有用的信息和知识的过程。数据挖掘可分为描述型数据挖掘和预成型数据挖掘两种。描述型数据挖掘包括数据总结、聚类及关联分析等,预测型数据挖掘包括分类、回归及时间序列分析。
web services是解决应用程序之间相互通讯的一项技术。严格的说,web servioces 是描述一系列操作的接口。它使用标准的、规范的XML描述接口。这一描述包括与服务进行交互所需的全部细节,包括消息格式、传输协议和服务位置。而在对外的接口中隐藏了服务实现的细节,仅提供一系列可执行的操作,这些操作独立于软、硬件平台和编写程序所用的编程语音。web services 即可独立使用,也可同其他Web Services 一起,实现复杂的业务功能。
在WebServices 模型的解决方案中有三种工作角色,其中服务提供者(服务器)和服务请求者(客户端)是必须的,服务注册中心是一个可选的角色。它们之间的交互和操作构成了Web Services 的体系结构。服务提供者定义并实现Web Services,然后将服务描述发布到服务请求者或服务注册中心;服务请求者使用查找操作从本地或注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用Web Services.
j2ee是一种利用java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。j2ee技术的基础就是就、核心java平台或java2平台的标准版,j2EE不仅巩固了标准版中的许多优点,同时还提供了对EJB、java Servlet API、JSP以及XML技术的全面支持。其最终目的就是成为一个能够是企业开发大幅度投放市场时间的体系结构。
一个多层化应用能够为不同的每种服务提供一个独立的层,j2ee典型的四层结构如下:
1.运行在客户端机器上的客户层组件
2.运行在j2EE服务器上的Web层组件
3.运行在J2ee服务器上的业务逻辑层组件
4.运行在EIS服务器上的企业信息系统层软件
j2EE应用组件可以安装部署到一下几种容器当中
1.EJB容器容、容器管理所有的J2EE应用程序中EJB的执行。EJB和他们的容器运行在j2ee服务器上。
2.WEB容器管理所有j2ee应用和jsp页面和Servlet组件的执行。WEB和他们的容器运行在j2ee服务器上。
3.应用程序客户端容器管理所有j2ee应用程序中应用程序客户端组件的执行,应用程序客户端和他们的容器运行在j2ee服务器上。
Applet容器是运行在客户端机器上的Web浏览器和Java组件的组合
.net 架构包括四部分产品:
1..net开发工具(.net语音:C#/vb.NET 和一个集成的IDE:Visual Studio .net 、类库和通用语音运行时:CLR)
2..net专用服务器:可为数据存储、e-mail/b2b电子商务等专用服务器提供支持
3..net Web 服务
4..net设备
工作流就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或者任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看做是一条河,其中流过的就是工作流。
工作流管理是人与电脑共同工作的自动化协调、控制和通信,在电脑化的业务过程中,通过在网络上运行软件,使用所有命令的执行都处于受控;在工作流管理下,工作量可以被监督,分派工作到不同的用户达成平衡。
工作流管理系统通过软件定义、创建工作流并管理其执行。它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义,与工作流的参与者相互作用,并根据需要调用其他的it工具或应用。