实用文档
用。按抽象程度的高低,可以划分为代码的复用、分析的复用、测试信息的复用。 3.3.4 软件质量保证及质量评价
软件质量包括部质量、外部质量和使用质量三部分。软件质量管理过程包括:质量保证过程、验证过程、确认过程、评审过程、审计过程等。
软件质量保证过程通过计划制订、实施和完成一组活动提供保证,这些活动保证项目生命周期中的软件产品和过程符合其规定的要求。
验证与确认过程使用能够定位缺陷并便于以后改正的测试技术直接处理软件产品的质量问题。
评审与审计的过程包括:管理评审、技术评审、检查、走查、审计等。 3.3.5 软件配置管理
软件配置的管理活动有:软件配置管理过程的管理和计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付。 3.3.6 软件开发环境
软件开发环境包括以下工具:
(1)软件需求工具(2)软件设计工具(3)软件构造工具(4)软件测试工具(5)软件维护工具(6)软件配置管理工具(7)软件工程管理工具(8)软件工程过程工具(9)软件质量工具
3.3.7 软件过程管理
软件工程管理集成了过程管理和项目管理,包括以下六个方面。
(1)启动和围的定义(2)软件项目计划(3)软件项目的实施(4)评审和评价(5)关闭(6)软件工程度量
3.4 面向对象系统分析与设计 3.4.1 面向对象的基本概念
面向对象的基本概念有对象、类、抽象、封装、继承、多态、接口、消息、组件、模式和复用等。
对象:由一组属性和对这组属性进行操作的一组服务构成。对象包含三个基本要素,分别是对象的标识、对象状态和对象行为。
类:是现实世界中的实体的形式化描述,类将该实体的数据和函数封装在一起。包含静态的属性和动态的行为。 类和对象的关系:(1)每一个对象都是某一个类的实例。(2)每一个类在某一时刻都有零或更多的实例(3)类是静态的,它们的存在、语义和关系在程序执行前就已经定义好了,对象是动态的,他们在程序执行时是可以被创建和删除的。
抽象:是通过特定的实例抽取共同特征以后形成概念的过程。他强调主要特征,忽略次要特征。
封装:封装时将相关的概念组成一个单元,然后通过一个名称来引用他。 继承:表示类之间的层次关系,这种关系使得某类对象可以继承另一类对象的特征和能力,继承可分为但继承和多继承。
多态:多态性是一种方法这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。 接口:就是对操作规的说明。 消息:是对象间的交互手段。
组件:组件是软件系统可以替换的、物理的组成部分,它封装了实现体(实现某个职能)。并提供了一组接口的实现方法。
模式:是一条有三个部分组成的规则,他表示了一个特定环境、一个问题和一个解决方案
实用文档
之间的关系。每一个模式描述了一个不断重复发生的问题,以及该问题的解决方案。设计模式使得人们可以更加简单和方便的去复用成功的软件设计和体系结构。
复用:是指将已有的软件及其有效成分用于构造新的软件和系统。组件技术是软件复用的关键。
3.4.2 可视化建模与统一建模语言
UML定义:是一个通用的可视化建模语言,它是面向对象分析和设计的一种标准化表示,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。 UML的特征:
(1)不是一种可视化的程序设计语言,而是一种可视化的建模语言。 (2)是一种建模语言规说明,是面向对象分析设计的一种标准表示。 (3)不是过程,也不是方法,但是允许任何一种过程和方法使用它。
(4)简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改。 (5)为面向对象的设计和开发中涌现出的高级概念(如协作、框架、模式和组件)提供支持,强调在软件开发中,对架构、框架模式和组件的重用。 (6)与最好的软件工程实践经验集成。
UML由视图、图、模型元素和公用机制等几个部分组成。 UML图:
用例图:描述系统功能。 类图:描述系统的静态结构。
对象图:描述系统在某个时刻的静态结构。 序列图:按时间顺序描述系统元素之间的交互。
协作图:按照时间和空间顺序描述系统元素间的交互和他们之间的关系。 状态图:描述了系统元素的状态和响应。 活动图:描述了系统元素的活动。 组件图:描述了实现系统的元素组织。
部署图:描述了环境元素的配置,并把实现系统的元素映射到配置上。 3.4.3 RUP
RUP使软件工程的过程。其6个基本最佳实践经验如下: (1)迭代式开发 (2)需求管理
(3)使用以组件为中心的软件架构 (4)可视化软件建模 (5)验证软件质量 (6)控制软件变更
3.4.4 面向对象系统分析
面向对象的系统分析阶段将运用面向对象的方法分析问题域,建立基于对象、消息的业务模型,形成对客观世界和业务本身的正确认识。
面向对象的分析模型由用例模型、类-对象模型、对象-关系模型、对象-行为模型组成。 面向对象的分析的目的:(1)描述用户需要(2)建立创建软件设计的基础(3)定义软件完成后可被确认的一组需求。 面向对象的分析步骤:(1)发现角色/参与者(2)发现用例(3)建立用例模型(4)进行领域分析(5)建立对象-关系模型(6)建立对象-行为模型(7)建立功能模型 3.4.5 面向对象系统设计
面向对象系统设计阶段对分析阶段给出的问题域模型,用面向对象方法设计出软件基础架
实用文档
构(概要设计)和完整的类结构(详细设计),以实现业务功能。设计阶段主要包括用例设计、类设计和子系统设计。 3.5 软件架构
3.5.1 软件架构定义 软件架构的基本原则: (1)软件架构是一个程序或系统的构件结构、构件间的关系以及控制构件设计演化的原则和方针。 (2)一个系统的软件架构有一组构件、构件间的连接件的配置以及如何结合在一起的约束限制的描述。
构件:一个系统可标识的片段。 连接件:构件间可标识的连接关系。
约束:一个系统的构件和连接件所必须遵守的法则。
(3)在计算的算法和数据结构之外,设计并确定系统整体结构成立新的问题。结构问题包括总体组织结构和全局控制结构、通信、同步和数据访问协议、设计元素的功能分配、物理分布、设计元素的组成、可扩展性与性能、备选设计的选择等。
(4)软件架构所关心的是软件构件及软件构件间的组织结构、约束和关系,是对系统的组成、系统结构及系统如何工作的较为宏观的描述。 3.5.2 典型架构 1、管道/过滤器模式
在管道/过滤器架构中,每个构件都有一组输入输出,构件读取输入的数据流,经过部的处理后,产生输出数据流,该过程主要完成输入流的变换及增量计算。 2、面向对象模式
抽象数据类型概念对软件系统有着重要作用,面向对象模式建立在数据抽象和面向对象的基础上,将数据的表示方法及其相应的操作封装在一个抽象数据类型或对象中。 3、事件驱动模式
事件驱动模式的基本原理是构件并不直接调用过程,而是触发一个或多个事件。 4、分层模式
分层模式采用层次优化的组织方式,每一层都是为上一层提供服务,并使用下一层提供的功能。
5、知识库模式
知识库模式采用两种不同的构件:中央数据结构构件说明当前状态,独立构件在中央数据存储上执行,中央数据构件与独立的外部构件间的相互作用是系统中的主要问题。
两种控制策略:输入流触发进程的选择,则为传统知识库型的知识库模式;中央数据结构的当前状态触发进程执行的选择,则为基于黑板系统的知识库模式。 6、客户机/服务器模式(C/S模式)
客户机/服务器模式(C/S模式)是基于资源不对等,为实现共享而提出的。C/S模式将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。C/S模式具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。
为了解决C/S模式中客户端的问题,发展形成了浏览器/服务器(B/S)模式;为了解决C/S模式中服务器的问题,发展形成了三层(多层)C/S模式,即多层应用架构。 3.5.3 软件架构设计方法
软件架构设计的总体目标可以概括如下:
(1)最大化复用:包括构件的复用和设计模式的复用等多个方面。 (2)复杂问题简单化:是中间件或多层技术的根本目标。
实用文档
(3)灵活扩展性:具备灵活的扩展性使得用户可以在架构上进行二次开发或更具体的开发。 3.5.4 软件架构分析与评估 (1)应尽量选择关系数据库。 (2)用户界面选择使用HTML。 (3)平衡灵活性和性能。
(4)选择成熟的技术以规避风险。
(5)聘请经验丰富的架构设计师,可以有效的保证项目的成功。 3.5.5 软件的中间件
定义:中间件是为了解决分布系统的异构问题而提出的,是位于硬件、操作系统等平台和应用之间的通用服务,这些服务具有标准的程序接口和协议。
作用:中间件是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源,它位于客户机/服务器的操作系统之上,管理计算机资源和网络通信。
应用程序1 应用程序2 应用程序3 中间件(系统服务) 操作系统/硬件平台1 操作系统/硬件平台2
分类:(1)数据库访问中间件(2)远程过程调用中间件(3)面向消息中间件(4)事务中间件(5)分布式对象中间件 3.6 典型应用集成技术
3.6.1 数据库与数据仓库技术
传统数据库:以单一的数据资源即数据库为中心,进行事务处理、批处理、决策分析等各种数据处理工作,主要有操作性处理和分析性处理。 数据仓库(Data warehouse):是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持决策管理。 3.6.2 Web 技术
Web服务的典型技术:用于传递信息的简单对象访问协议(SOAP)、用于描述服务的Web服务描述语言(WSDL)、用于Web服务的注册的同意描述、发现及集成(UDDI)、用于数据交换的XML。
3.6.3 J2EE架构、.NET架构 J2EE是由SUN公司主导、各厂商共同制订并得到广泛认可的工业标准。J2EE应用将开发工作分为两类:业务逻辑开发和表示逻辑开发,其余的系统资源则由应用服务器自动处理,不必为中间层的资源和运行管理进行编码。
.NET是基于一组开放的互联网协议而推出的一系列的产品、技术和服务。
J2EE和.NET都可以用来设计和开发企业级应用,J2EE平台实业界标准,.NET是微软自己的产品系列,而非业界标准。
实用文档
3.6.4 工作流技术
工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型技术进行表示并对其实施计算。 3.6.5 构件及其在系统集成项目中的重要性
构件技术就是利用某种编程手段,将一些人们所关心的,但又不便于让最终用户去直接操作的细节进行了封装,同时对各种业务逻辑规则进行了实现,用于处理用户的部操作细节。对我们而言,他就是实现了某些功能的、有输入输出的黑匣子。 3.6.6 常用构件标准 1、/dcom/+(微软) 2、CORBA(OMG) 3、EJB(SUN)
3.7 计算机网络知识
3.7.1 网络技术标准与协议 1、NETBEUI 2、IPX/SPX 3、TCP/IP
3.7.2 Internet技术及应用
3.7.3 网络分类
网络分类标准有两种:分布围和网络拓扑结构。 按分布围分:
(1)局域网:以太网(Ethernet)、令牌网(Token King)、光纤分布式接口网络(FDDI)异步传输模式网(ATM)、无线局域网(WLAN)
(2)城域网:SDH多业务平台、弹性分组环多业务平台、电信级多业务以太网平台 (3)广域网 (4)因特网 按网络拓扑分 (1)总线型拓扑 (2)星型拓扑 (3)环型拓扑 (4)混合型拓扑 3.7.4 网络管理
网络管理工作主要包含4个方面:
(1) 网络设备的管理:路由器、交换机、网关及线路等。
(2) 服务器的管理:Web服务器、服务器、FTP服务器、DNS服务器、代理(procy)服
务器和数据库服务器。
(3) 资源的管理:IP地址资源、域名资源和磁盘资源等。 (4) 用户的管理:添加和删除用户,授予访问权限等。 网络管理的功能:(1)配置管理(2)故障管理(3)性能管理(4)安全管理(5)计费管理(6)桌面管理 3.7.5 网络服务器 1、 文件服务器 2、 数据库服务器
3、 Internet/intranet通用服务器