信息技术知识
信息系统建设与开发
信息系统建设的基本概念
信息系统建设的总体目标
信息系统的生命周期、各阶段目标及其主要工作内容
信息系统常用的开发方法
信息系统设计
方案设计
系统架构
软件工程
软件需求分析与定义
软件设计、测试与维护
软件设计是需求分析的延伸与拓展。需求分析阶段解决“做什么”的问题,而软件设计阶段解决“怎么做”的问题。
1. 结构化设计(SD)
SD方法的基本思想是将软件设计成由相对独立且具有单一功能的模块组成的结构,分为概要设计和详细设计两个阶段。
在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,而为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。根据任务的不同,详细设计又可分为多种,例如,输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。
2、面向对象设计(OOD)
OOD 是 OOA 方法的延续,其基本思想包括抽象、封装和可扩展性,其中可扩展性主要通过继承和多态来实现。
3、设计模式
根据处理范围不同,设计模式可分为类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态关系;对象模式处理对象之间的关系,这些关系在运行时刻变化,更具动态性。
根据目的和用途不同,设计模式可分为创建型模式、结构型模式和行为型模式三种。
软件测试方法可分为静态测试和动态测试。静态测试是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检侧。对文档的静态测试主要以检查单的形式进行,而对代码的静态测试一般采用桌前检查(Desk Checking)、代码走查和代码审查。
动态测试是指在计算机上实际运行程序进行软件测试,一般采用白盒测试和黑盒测试方法。
白盒测试也称为结构测试,主要用于软件单元测试中。
黑盒测试也称为功能测试,主要用于集成测试、确认测试和系统测试中。
根据国家标准 GB/T 15532-2008, 软件测试可分为单元测试、集成测试、确认测试、系统测试、配置项测试和回归测试等类别。
软件质量保证及质量评价
软件配置管理
软件过程管理
软件过程是软件生命周期中的一系列相关活动,即用于开发和维护软件及相关产品的一系列活动。软件产品的质量取决于软件过程,具有良好软件过程的组织能够开发出高质量的软件产品。
软件开发工具
软件复用
面向对象的系统分析与设计
面向对象的基本概念
统一建模语言 UML 与可视化建模
UML 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
从总体上来看,UML 的结构包括构造块、规则和公共机制三个部分。
UML 中的事物
(1)结构事物:结构事物在模型中属于最静态的部分,代表概念上或物理上的元素。
(2)行为事物:行为事物是 UML 模型中的动态部分,代表时间和空间上的动作。
(3)分组事物:分组事物是 UML 模型中组织的部分
(4)注释事物:注释事物是 UML 模型的解释部分。
UML 中的关系
UML 用关系把事物结合在一起,主要有下列四种关系:
(1)依赖(dependency):依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
(2)关联(association): 关联描述一组对象之间连接的结构关系。
(3)泛化(generalization): 泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。 (4)实现(realization): 实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
UML 视图
UML 对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。具体来说,就是指以下 5 个系统视图:
(1)逻辑视图:逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
(2)进程视图:进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
(3)实现视图:实现视图对组成基于系统的物理代码的文件和构件进行建模。
(4)部署视图:部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
(5)用例视图:用例视图是最基本的需求分析模型。
面向对象的系统分析
类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等,它们在 UML 中的表示方式如下图所示:
(1)关联关系。关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。关联体现的是对象实例之间的关系,而不表示两个类之间的关系。
(2)依赖关系。两个类 A 和 B, 如果 B 的变化可能会引起 A 的变化,则称类 A 依赖于类 B。
(3)泛化关系。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说,子类继承了父类,而父类则是子类的泛化。
(4)共享聚集。共享聚集关系通常简称为聚合关系,它表示类之间的整体与部分的关系,其含义是“部分”可能同时属于多个“整体","部分”与“整体”的生命周期可以不相同。
(5)组合聚集。组合聚集关系通常简称为组合关系,它也是表示类之间的整体与部分的关系。与聚合关系的区别在于,组合关系中的”部分”只能属于一个“整体", "部分”与“整体”的生命周期相同,“部分”随着“整体”的创建而创建,也随着“整体”的消亡而消亡。
(6)实现关系。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。
面向对象的系统设计
软件架构
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。
1. 软件架构风格
软件架构设计的一个核心问题是能否达到架构级的软件复用,也就是说,能否在不同的系统中,使用同一个软件架构。
将软件架构分为数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格。
2. 软件架构评估
在架构评估过程中,评估人员所关注的是系统的质量属性。
从目前已有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于调查问卷(或检查表)的方式、基于场景的方式和基于度量的方式。这三种评估方式中,基于场景的评估方式最为常用。
基本信息系统集成技术
EAI 所连接的应用包括各种电子商务系统、ERP、CRM、SCM、OA、数据库系统和数据仓库等。从单个企业的角度来说,EAI 可以包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。当然,也可以在多个企业之间进行应用集成。
表示集成是黑盒集成,无须了解程序与数据库的内部构造。常用的集成技术主要有屏幕截取和输入模拟技术。
为了完成控制集成和业务流程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型,保证数据在数据库系统中分布和共享。因此,数据集成是白盒集成。
控制集成也称为功能集成或应用集成,是在业务逻辑层上对应用系统进行集成的。
业务流程集成也称为过程集成,这种集成超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。
EAI 技术可以适用于大多数要实施电子商务的企业,以及企业之间的应用集成。EAI使得应用集成架构里的客户和业务伙伴,都可以通过焦成供应链内的所有应用和数据库实现信息共享。