前言:中文期刊网精心挑选了软件架构师范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
软件架构师范文1
关键词:分层模式;架构;三层
中图分类号:F49 文献标识码:A
一、分层设计的概念
分层描述是这样一种架构设计过程:从最低级别的抽象开始,称为第1层,这是系统的基础。通过将第J层放置在第J-1层的上面逐步向上完成抽象阶梯,直到到达功能的最高级别,称为第N层。因而分层模式可以定义为:将解决方案的组件分割到不同的层中。每一层中的组件应保持内聚性,并且应大致在同一抽象级别,每一层都与它下面的各层保持松散耦合。
架构这个词从它出现后,就有许许多多的程序员、架构师们激烈地讨论着它的发展,但是架构一词的出现,却是随着三层架构的出现才出现的。当然,目前应用三层架构开发也正是业界最关注的主题。那么,这里我们来看看单层、双层、三层甚至多层架构到底是怎么一回事。单层结构是20世纪八十年代以来小型应用的结构,在那个结构化编程充斥的时代,还没有出现架构的概念,典型的是基于Dbase、Foxbase等小型数据库的应用。双层结构的同义词可以理解为传统的客户/服务器结构,尽管是目前占统治地位的结构,但其封装移植等方面的缺陷,已使它步入暮年,典型是基于Oracle、Infomix等大型数据库的C/S应用。三层结构是传统的客户/服务器结构的发展,代表了企业级应用的未来,典型的有Web下的应用。多层结构和三层结构的含义是一样的,只是细节有所不同。之所以会有双层、三层这些提法,是因为应用程序要解决三个层面的问题。
二、三层架构的划分
三层架构是一种“客户端-服务器”架构,在此架构中,用户接口、商业逻辑、数据保存以及数据访问被设计为独立的模块。主要有三个层面:第一层,表现层,GUI层;第二层,商业对象,商业逻辑层;第三层,数据访问层。这些层可以单独开发,单独测试。
为什么要把程序代码分为三层?把用户接口层、商业逻辑层、数据访问层分离有许多的优点:
1、系统比较容易迁移。商业逻辑层与数据访问层是分离的,修改数据访问层不会影响到商业逻辑层。系统如果从用SQL Server存储数据迁移到用Oracle存储数据,并不需要修改商业逻辑层组件和GUI组件。
2、系统容易修改。假如在商业层有一个小小的修改,我们不需要在用户的机器上重装整个系统,只需要更新商业逻辑组件就可以了。
3、应用程序开发人员可以并行,独立的开发单独的层。
在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。
事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为响应工作站所发出客户请求的服务器,而相对于处于大型机的第三层它是作为客户端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写以及访问数据库的程序,然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。
这种应用程序的设计使用客户/服务器模式,各层可以同时开发,并且可以由不同的程序员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。
有时候 “三层”编起来比较麻烦,在 2.0里,访问数据和显示出来只要拖两个控件就可以了(AccessDataSource/SQLDatasource和GridView),几分钟一个页面就出来了,而且还具备了修改中、删除、分页、排序等功能,而用三层架构就麻烦多了,先要写数据访问层的代码,接着写业务逻辑层的代码(要调用数据层的方法),最后才是表示层,也就是页面的设计,还要调用业务逻辑层的代码读取数据。(注意:表示层是绝对不会访问数据层的内容,只能通过业务层。业务层在这里是连接它们的桥梁,所以说业务层是最重要的一层)既然这样,为什么还要用三层呢?前面提到的一层架构的一个很大的问题就是前台和后台代码没有很好地分开,不利于分工,并且不利于日后的维护和升级。如果是个人主页或者是一些一个人完成的小系统,用一层还是挺方便的。如果是一些比较大的系统,特别是企业级的应用,就非用三层甚至n层不可了。一般三层就够了,再划分更多只会增加设计和编码的难度。
三、如何分层
怎么样分层符合三层架构原则呢?主要有以下三种分层方式:
1、数据层不包含任何代码,只有数据库,还有相关的存储过程。这种模式下,数据层看起来就变得很简单了。只包含所建立的数据库和一些存储过程(注意是存储过程)。其实这些存储过程的建立也是相当复杂的,因为它们可以完成除数据访问外的其他一些很强大的功能,如分页、实现搜索算法等。数据访问的逻辑就都放在业务层,当然业务层还包含其他一些逻辑代码。我们来看一个示例,假设数据库里有一个表BOOKS(书),建立一个存储过程GetAllBooks,用来读取书的信息,这样在业务层里编一个方法GetBookS()和一个公用数据库访问类,GetBooks()就通过数据库访问类打开连接,执行在存储过程,返回数据(返回类型可以是DataTable,DataSet,DataReader或者实体类)。业务层单独编译成一个或者几个DLL文件。接着就是表示层了,表示层通过调用GetBookS()返回数据绑定在相关的控件里。业务层的方法都是在表示层调用。一般来说book.aspx和book.aspx.cs都是表示层的内容,所有前台的设计、相关控件、数据缓存都是属于表示层。
2、数据层还包含所有公共数据访问代码。这种模式和前一种差别不大,主要是把数据访问代码留到数据层。这样可以很方便地实现对多数据库的支持。业务逻辑层直接调用数据层的相关访问数据的代码,完全不必了解底层是什么数据库。其他和前一种没什么分别。
3、所有数据读取都放在数据层。这种模式下像前面所述的GetBooks()方法都是放在数据层,在业务层再定义一个GetBookS()方法以供表示层调用。这种模式下业务层不但不必了解底层是什么数据库,而且连数据库的结构都不必了解了,这是最标准的三层架构了,在Microsoft的PetShop 4.0里就是这种模式。
四、结束语
本文三层架构主要向大家展示的实际上就是一种程序设计的思想,不管是三层架构还是设计模式,它们都是软件工程面向对象思想的完全体现。目前,我国家软件业相对来说是很落后的,关键问题是软件企业的急功近利和程序员还停留在结构化思想上,不能说你在程序中用的是类就说你的思想是面向对象,也不是说你会使用java编写程序,就说自己懂得面向对象,希望大家能一起进步,直正理解面向对象。
(作者单位:唐山学院)
参考文献:
[1]伽玛等著,李英军等译,设计模式――可复用面向对象软件的基础,第1版,机械工业出版社,2005.
软件架构师范文2
【关键词】嵌入式软件;自动化测试;平台框架
进入二十一世纪之后,硬件元器件得到了飞速发展,从而也是的嵌入式软件的功能更加强大和复杂。随之而来的也是嵌入式软件测试工作的加重,传统的软件测试技术已经难以满足嵌入式软件越来越复杂的需求。而目前,市场上已经有较多的传统软件自动化测试技术,如何在这些技术的基础上进行改进,从而能够适应嵌入式软件环境,从而实现嵌入式软件的自动化测试,是嵌入式软件发展的重要方向。
1.嵌入式软件自动化测试平台分析
嵌入式软件的自动化测试即利用脚本来自动化驱动嵌入式软件的运行,并且自动收集相关数据进行分析,最终生成相应的测试报告。虽然,嵌入式软件的自动化测试流程与一般PC机应用软件的自动化测试流程相同。但是,由于嵌入式软件软件对电子设备的高度依赖性,以及电子设备收周围环境影响较重,从而导致嵌入式软件的自动化测试平台存在如下的问题。
(1)由于电子元器件受到周围环境的影响,无论在宿主机上所进行的动态测试多充分,也无法保证嵌入式软件在实际的硬件环境中通过。
(2)硬件系统非常复杂,难以对测试过程中所发现的问题进行排查。
(3)植入桩点会影响系统的实时性。
(4)上位机的测试环境中,由于上位机与下位机的通信量较大,测试结果数据较多,容易导致通信的堵塞。
2.嵌入式软件自动化测试平台概要设计
通过对嵌入式自动化测试框架的分析,本文提出一种由脚本驱动器、接口映射表、数据驱动器和支持函数库所组成的,针对嵌入式自动化软件测试的组合型测试框架。
如图1所示,高层脚本调用执行下层脚本;底层运行脚本通过查询接口映射表调用待测试系统接口进行驱动和通信;测试脚本从数据文件调用数据执行测试。
(1)脚本驱动器
脚本驱动器调用高层脚本,高层脚本调用下层脚本。底层脚本包括待测试系统具体的测试步骤。
(2)接口映射表
接口映射表借鉴了关键字驱动测试框架中的组件映射表思想。测试人员根据待测试系统的实际需求,设计接口名称和参数,从而实现待测试系统的抽象化。在运行测试脚本是,首先通过映射表匹配接口名称和参数,当系统接口改变时,只需要改变映射表即可,从而实现测试系统与待测试系统的松耦合。
(3)数据驱动器
数据启动器是测试脚本与数据文件的连接器,通常采用文本文件、XML文件等来实现。在测试过程中,需要数据时,有数据驱动器读取数据。数据驱动器是脚本与测试数据分离,当测试数据变更时,只需要修改数据驱动器,而不需要对脚本进行改动。
(4)支持函数库
包含了数据缓存、文件操作、字符串处理等测试框架中所用到的通用处理函数。
3.嵌入式软件自动化测试平台详细设计
3.1 测试框架设计
嵌入式软件自动化测试平台的卡框架,采用嵌入式软件通用的Host/Target测试策略。
如图2所示,本文所设计的嵌入式软件自动化测试平台采用测试管理工具和测试双层结构。
3.2 测试流程设计
在进行嵌入式软件自动化测试时,测试人员的工作包括:编写配置文件、编写脚本、生成数据文件、测试报告分析等工作。嵌入式软件的自动化测试流程如图3所示。
当建立了管理工具和测试自检的通信之后,向测试发送测试请求,并且将脚本和数据传送到测试上。测试将测试脚本存放到特定的区域执行,并且将测试结果返回给宿主端。当宿主端接收到测试所发送脚本执行完毕信号后,发送新的测试脚本和数据给测试,直到所有的脚本测试完成之后,对测试所返回的测试结果进行分析,得出最终的测试报告。
3.3 功能设计
3.3.1 管理工具功能
为了不占用宿主段过多资源,将一些协助测试模块都放在宿主端中。管理工具的功能结构如图4所示。
(1)脚本配置管理模块
在进行嵌入式软件自动化测试之前,需要设计一份配置文件。在配置文件中定义好了脚本位置、宿主机与测试之间的通信、脚本执行时间间隔、通信桩点个数等内容。测试管理工具先对脚本配置文件进行解析,并且将解析的信息传送给目标机。
(2)插桩模块
通过插桩对待测试软件的功能进行细分,并且根据执行的情况,来分析待测试软件的测试覆盖情况。
(3)日志分析生成模块
测试日志文件中主要包含了待测试软件的测试结果,以及测试覆盖信息。其中测试报告中包括了测试跟踪信息、测试用例、测试用例的期望和实际结果、测试用例的执行情况及汇总等。测试覆盖信息包括:测试和未测试的代码段、功能的覆盖标记及汇总等信息。
(4)数据通信模块
主要负责宿主机与测试之间的消息通信。
3.3.2 测试功能
测试运行在目标机上,是整个嵌入式软件自动化测试平台的核心,测试的整体结构如图5所示。
(1)测试驱动模块
根据配置管理,对管理工具发送的测试脚本进行解析,并且调用工具库中的通用函数来完成测试。同时,将测试结果和桩点覆盖信息存入到特定区域。
(2)数据驱动模块
在数据文件主要包含了测试脚本文件、测试数据文件和测试结果文件。当测试需要数据是,可以通过数据驱动模块完成数据表查找和数据批量处理等操作。对于测试数据量大,测试步骤类似的测试过程,可以极大的减少测试的复杂度。
(3)数据通信模块
主要负责与管理工具的数据通信模块进行数据交互。主要负责接收管理工具所发送的配置信息、脚本信息和数据文件信息;同时将测试结果和测试覆盖信息返回给管理工具。
4.结束语
软件测试是对软件质量进行评估的重要方法,自动化测试技术可以降低软件测试成本,缩短软件测试时间。特别是对于测试环境更加复杂的嵌入式软件而言,自动化测试具有更加重要的意义。
参考文献
[1]邓勇,曾建光.嵌入式软件系统及其自动测试技术的发展与现状[J].科技咨询导报,2007,21:5-6.
[2]凌永发,张云生,郭秀萍.软件测试自动化中的脚本技术[J].云南民族学院学报(自然科学版),2002,11(1):544-548.
[3]郑世伟.嵌入式软件的测试方法和工具[J].单片机与嵌入式系统应用,2001,4:26-28..
软件架构师范文3
【关键词】 SCA4.0 自适应 软件无线电 小型化设备软件架构
一、引言
SCA规范的制定实现了软件无线电[1]的思想,提高了波形的可移植性、可重用性和互操作性,降低波形的开发成本。从1999年推出的最初版本到目前为止已有多个版本,SCA4.0[2-3]是2012年推出的。
SCA规范软件架构包含了操作系统、核心框架、分布式处理中间件和应用层软件。由于功能完备的软件架构,往往需要占用比较多的资源,这对于一些小型设备来说并不适合。因此,JTRS提出了一种自适应的软件无线电体系结构,相较之前的版本增加了轻量级组件,功能单元,轻量级AEP,选择性继承以及Push Model等机制,支持不同的传输机制,由此来提高框架的灵活性,便于在不同量级的平台上实施。以小型化设备的软件架构为例,采用轻量级核心框架、轻量级中间件以及轻量级应用环境架构能极大地提高设备的运行性能,降低资源的占用率。
二、SCA4.0规范特性
2.1 PUSH MODEL
在SCA4.0之前的版本,核心框架通过Pull Model获取注册资源的各项信息,SCA4.0中通过采用Push Model[4],一方面可以进行直接的信息交换,减少了调用的总次数,从而减少启动和初始化的时间,另一方面,交换信息的属性和操作是可选的,可以减少不必要的实现。图1,对比了Pull Model和Push Model的注册操作。为了适用Push Model,SCA4.0新制定了一个ComponentRegister接口用于设备和波形组件的注册。
为了实现Push Model,SCA4.0对端口连接方式进行了改进。SCA4.0提供了Registered和Obtainable两种类型的端口提供方式,对应于旧版本的静态和动态两种形式的端口提供方式。新的端口连接方式采用推送所有信息的方式,用单次的调用取代了多次连接。图2对比了SCA2.2.2[5]和SCA4.0中obtainable 端口的连接序列图。
2.2轻量级组件
轻量级组件和功能单元(UOFs)是SCA4.0的两个机制,用于调整框架以适应不同产品和任务的需求。之前的SCA版本接口功能齐全,要求实现的功能往往比实际需要的大,决定实现一个接口时,即使是一个虚拟的实现,它会增加额外的成本,如需求分析、设计决策、开发时间、软件集成和测试和遵从性测试。SCA4.0采用了新的接口继承方式――选择性继承,开发人员可以通过预编译和IDL指令定义特定的组件选择性继承需要实现的接口功能,这使得组件更小、更注重实现。
对于轻量级组件的实现,可参考SCA规范中各组件的继承关系,以ResourceComponent为例,如图3所示,通过IDL指令和预编译配置接口继承,只有在定义了标识符时,接口才被继承,例如只有在定义了TESTABLE时TestableObject接口才需要被实现,因此通过控制Resource接口的继承方式就能控制ResourceComponent的大小。
2.3功能单元
UOFs用以提供一个标准化的方法,允许从一个组件规范省略不必要的接口和需求。通过选择不同的组件和UOFs可以构建不同量级的SCA架构。SCA4.0推荐了三种量级的架构[5]:轻量级架构、中量级架构和全功能架构。轻量级架构适用于硬件模块静态配置的无线电台,提供的是一组最低功能的实现,往往应用在资源受限的平台环境。中量级架构适用于硬件模块支持即插即用,但不支持注销的无线电台,相对于轻量级架构,它引入了可动态配置的功能。全功能架构适用于支持硬件模块的即插即用和可注销的无线电台。图4展示了SCA不同架构的UOFs,针对实际情况可以选择不同量级架构。
三、软件架构
3.1核心框架
SCA4.0定制核心框架,去除了一些冗余接口,通过选择性继承实现轻量级组件。SCA4.0规范中将CF组件分为五类:基本构件组件,用于提供SCA软件产品的一些共同特征、约束和关联的抽象;基本应用组件为应用开发者提供应用结构定义;框架控制组件为组件在平台上执行部署提供结构定义;基本设备组件提供的结构定义将被用于实现和管理域内的物理设备,如对设备进行加载、执行和聚合操作;框架服务组件为平台开发者提供与逻辑设备不直接相关的通用软件功能。在此针对处理器能力有限,系统硬件模块固定,不存在分布式结构的小型化设备提出轻量级核心框架[6]的设计建议:移除文件服务由于小型化设备中其它专用处理器一般不向CF提供文件服务,可转由GPP操作系统来提供文件服务,不需要专门的文件服务管理。在不需要使用嵌套应用时可移除集合操作组件。尽量少的继承接口,使用轻量级组件。例如当不需要测试时,可不继承TestableObject接口。先制定要求,再定制组件。在设备资源已知,设备信息基本不变时使用静态部署提高系统运行效率。
3.2 中间件
SCA4.0支持不同的传输机制,SCA2.2中指定CORBA这种传输机制作为中间件,但是由于CORBA常采用TCP/IP作为 底层传输机制,引入的延时较大,对于一些产品并不适用。在此针对小型化设备的轻量级中间件设计建议:1)使用小型化的CORBA产品。CORBA/e是一种嵌入式CORBA规范,用于开发分布式嵌入式系统。CORBA/e定义的三种量级的架构:完全量级CORBA 架构、轻量级CORBA架构)、超轻量级CORBA 架构。其中,完全量级适用于一般的GPP;轻量级适用于资源受限的处理器(如DSPs);超轻量级适用于资源高度受限的处理器(如应用程序同时分布在DSPs和FPGAs上)。2)使用其他传输机制,如数据分发服务(DDS),简单对象访问协议(SOAP)等。DDS信息分发中间件是一种轻便、能够提供实时信息传送的中间件技术,应用于分布式实时系统中,能可靠实时的交换分配群体数据。SOAP用于在分布式环境中发送消息,并执行远程过程调用。SOAP基于XML的轻量级协议,使不同操作系统平台和不同编写语言的应用程序可以进行相互通信。
3.3 应用程序环境架构
AEP是基于POSIX实时应用程序支持标准。SCA操作环境中的操作系统应是满足POSIX兼容的实时操作系统,并且提供AFP指定的功能和选项。在SCA4.0规范附录B中详细的说明了与AEP相关的标准。附录中定义的实时描述文件,只需在包括了这项标准的UOF使用即可。需要注意的是一旦引入约束,每个使用该功能的程序都必须遵守该项约束。SCA4.0包括了AEP和轻量级AEP(LwAEP)两种描述。在小型化设备中建议使用LwAEP,它既能满足资源受限的操作系统上的可移植性,还能保证系统的性能,减少集成和重用代码的开发,减少代码的修改量,提高代码的可移植性。
四、结束语
在软件无线电项目的实施过程中,SCA规范本身的语义不清、重复定义和不完整往往给软件无线电架构的实现带来了诸多挑战。然而JTRS最新提出的SCA4.0是一种自适应的软件无线电体系结构,为解决这些问题提出了很多优化机制,使框架具有更灵活、轻量级,更易实现新技术的特点,这让它在未来的软件无线电发展中将占有不可或缺的位置。本文分析了SCA4.0规范的各类优化机制,适用于多种平台,并提出将各类特征机制应用于轻量级软件架构,从而使得SCA的自适应性能够在资源受限的小型化设备中体现。
参 考 文 献
[1] 范建华, 王晓波, 李云洲. 基于软件通信体系结构的软件定义无线电系统[J]. 清华大学学报: 自然科学版, 2011, 51(8): 1031-1037.
[2] JTRS JPEO. SCA Specification Version 4.0 (2012-02-28),Software Communications Architecture Specification [S].
[3] JTNC. Software Communications Architecture Specification 4.0 User’s Guide [EB/OL]. (2010-11-30) [2014-12-11]. http://jtnc.mil/Pages/ StandardsAndAssessments.aspx, 2012.
[4] 蔡卓, 张小琼. SCA 4.0 规范概述[J]. 通信技术, 2013, 7: 041.
软件架构师范文4
[摘 要]以城市文化软实力传播与传播效果建构为主要研究对象,分析核心价值观对文化软实力传播与效果建构的作用,利用大众
>> 践行核心价值观 增强文化软实力 价值观建构视域下城市文化的影像建构与传播效果分析 当代革命军人核心价值观与军队文化软实力关系刍议 社会主义核心价值观与国家文化软实力建设研究 社会主义核心价值观与高校文化软实力的对接研究 社会主义核心价值观对中国软实力的提升与影响 认同塑造与承认获取:核心价值观与中国文化软实力建设 浅论国家文化软实力与社会主义核心价值观的协同发展 影视文化的价值观导向与国家文化软实力的提升 全球化背景下国家文化软实力与社会主义核心价值观的协同发展 文化软实力与核心价值 社会主义核心价值观是我国软实力最核心要素 多元文化背景下高校辅导员核心价值观建构思路分析 实用主义价值观对中职生就业软实力培育的影响 助力企业价值观建设和软实力提升 城市精神与核心价值观 孝道文化与社会主义核心价值观建构的新思路 审计文化核心价值观思考 乡贤文化与核心价值观 社会主义核心价值观牵引下城市文化建设的路径分析 常见问题解答 当前所在位置:.〔责任编辑:张 港〕
[收稿日期]2015 ― 01 ― 11
[基金项目]本文为齐齐哈尔市哲学社会科学研究规划项目“大众传媒视域下核心价值观对我市文化软实力提升引领作用研究”成果,项目编号:QSX2014-24QN,齐齐哈尔大学青年教师科研启动支持计划项目“嫩江流域非物质文化遗产媒体传播策略研究”成果,项目编号2012W-M21。
[作者简介]孙宇科(1983―),男,黑龙江齐齐哈尔人,讲师,硕士,研究方向:新闻传播学。
软件架构师范文5
关键词:可靠性分析 嵌入式软件 软件架构 故障树
中图分类号:TG659 文献标识码:A 文章编号:1672-3791(2014)04(b)-0001-01
在嵌入式软件开发中,一个很重要的质量因素是可靠性[1]。为了降低风险,需要有合适的可靠性分析和设计技术以便于及时预测潜在的失效。目前,工程领域普遍认为可靠性分析不应该仅仅在代码级而还应该在系统开发的早期进行。因此,在软件架构分析中预测系统的质量和潜在的风险也很必要。
1 故障树集合
为了描述嵌入式软件架构[2]中相关的失效因素,定义如下概念:
定义1:失效场景:失效场景是潜在的失效,它在特定的背景下可由外因或者内因引发软件的失效。
定义2:故障树:一个故障树是一个模型,它表示了故障和失效的因果关系。故障树的树根表示失效,叶子结点表示故障。
定义3:故障树集合:故障树集合是一个由故障树集合组成的图G(V,E)。G据有如下的性质:
(1)V=F∪A。
(2)F是失效场景的集合,其中的每个场景都是和架构元素相关的。Fu为F的子集,它是组成失效的失效场景的集合,该失效能被用户感知(例如系统失效),Fu中的顶点构成故障树的根节点。
(3)A是表示逻辑连接的逻辑门集合。A=AAND∪AOR,对于任意AAND或者AOR,其出度等于1并且其入度大于等于1。
(4)E是有向边(u,v)的集合,u,v∈A。
图1所示即为一个故障树集合。这里,故障树集合有两个故障树组成,Fu={F1,F5}。左边的故障树表示F1由F2或F3引起,右边一个表示F5由F4和F6共同引起。
2 定义严重性级别值
本文以一个多媒体播放系统为例,分析的主要是对用户的感知产生重大影响的失效。例如完全黑屏要比瞬间的图像扭曲的严重性级别要高。在计算某个单独的叶子结点的失效概率之前,首先根据失效对用户的影响给根节点失效赋予一个严重性级别值。本例中严重性级别为:1-非常低;2-低;3-中等;4-高;5-非常高。
严重性程度级别值的范围为1~5。值越大表示它对用户感知的影响程度越高。根失效的严重性级别通常用来决定故障树集合中低层结点的严重性级别值。这些值由如下所示公式计算:
(1)
(2)
公式(1)定义了根失效的严重性级别的分配。公式(2)定义了低层结点f的严重性级别值分配。在此,P(v|f)代表f发生导致v发生的概率。把这个值乘以v的严重性级别计算出f的严重性级别值。
3 软件架构的分析
架构分析[3]主要针对架构中与可靠性相关的关键元素[4]。在此,考虑两种类型的关键元素:(1)不可靠元素;(2)敏感元素。在架构层次分析中,主要从用户感知的角度,识别出和大多数关键失效相关的敏感元素。之后,在架构元素层次的分析中,故障,错误类型和实际的失效源被识别出来。用这种方式,就把分析的目标定位到用户可以直接感知到的失效的可靠性分析上了。
本文采用和元素相关的失效百分比(PF)作为衡量指标,对于每一个元素c,其失效百分比由下式计算:
(3)
据此,WPF值高的就是主要的失效元素。
4 结论
本文提出了一个基于软件架构可靠性分析方法,在软件架构的设计阶段,对敏感的失效元素进行分析,以便在嵌入式软件的设计阶段提高其可靠性。该方法比以往仅仅在硬件级水平和软件的代码实现级别实现可靠性的分析的水平上更进一步,具有一定的科学性和实用性。
参考文献
[1] McAllister, D.F., Vouk, M.A., 1996. Handbook of software reliability engineering. In: Lyu, M.R. (Ed.), Fault-Tolerant Software Reliability Engineering[M]. McGraw-Hill, New York, pp. 567-613, Chapter 14.
[2] Dobrica, L., Niemela, E., 2002. A survey on software architecture analysis methods[M]. IEEE Transactions on Software Engineering,28(7),638-654.
软件架构师范文6
一、美国幼儿教育软件评价机构概述
美国幼儿教育软件评价机构的发展主要归因于技术的突飞猛进和教育软件评价领域的分化。技术的革新促进教育软件评价的深化,推动了幼儿教育软件评价领域的开拓和评价机构的形成完善,始于20世纪90年代的美国教育信息化评估工作更是催化了幼儿教育软件评价机构的蓬勃发展,其发展路径如同学科体系发展的脉络一样,遵循由上位及下位的逐级分化,显现出教育软件评价领域发展的自我建构。美国幼儿教育软件评价机构对软件评价措施、方案和量表的研究比较全面和成熟,对评价项、评价证据和信息收集的要求精度高,对应用软件的教育过程评价以及对基于软件的教学过程也在不断的研究中。总体上看,美国幼儿教育软件评价机构的发展大体经历了三个时期:
雏形期。20世纪80年代以前,计算机作为教学辅助工具引入课堂,计算机软件功能较为简单,软件评价主要关注软件的技术设计。教育软件评价机构一般为实体形式,主要是一些政府资助机构和非营利组织,如Micro SIFT软件交流中心和EPIE协会等。此时的教育软件评价机构主要是帮助教育者鉴别有效的教学软件,其提供的软件评价服务涵盖多个教育阶段,没有专门针对幼儿教育领域,且数量相对甚少,即幼儿教育软件评价还未形成一个专门的领域。 兴起期。20世纪80代初至90年代末,技术在幼儿教育领域的广泛应用和个人计算机的普及,促进了幼儿教育软件的蓬勃发展,随之而来的软件质量成为教师和家长最为关注的问题。据EPIE协会报道,当时仅有5%的教育软件是标准的,因此开发有效和标准的教育软件评价工具显得尤为迫切。作为最早的标准化幼儿教育软件评价工具,High/Scope教育研究基金会的软件评价量表和Haugland/Shade发展性软件标准量表就诞生在这个时期。这些评价列表是对软件产品有效性的相关设计因素进行量化分析的一种尝试,标志着幼儿教育软件评价研究开始走向标准化和系统化。90年代中后期,商业公司、软件开发者行业联盟等幼儿教育软件评价机构相继涌现,杂志、书籍和手册是这些机构在早期软件评价信息的主要平台和载体,随后一些软件公司以及非营利组织协会建立了一系列诸如儿童软件工作室等包含幼儿教育软件评价在内的主题网站。同80年代的教育软件相比,新型幼儿教育软件通常以不同的教学理论为基础,这为幼儿教育软件评价机构的评价工作带来挑战,奠定了幼儿教育软件评价机构的评价实践与教育理论研究一体化的基础。
专业深化期。21世纪以来,网络技术勾勒了获取软件评价信息途径的蓝图。电脑网络的快速升级为教师和家长通过电脑寻找幼儿教育软件评价信息以及参与非正规的评价过程提供了机会,因而作为媒介机构的在线网站评价成为一种广泛采用的评价方式,方便快捷、资源共享性和成本经济性的网络数据库成为幼儿教育软件评价机构评价信息的有效平台。网络技术的应用促使幼儿教育软件评价机构提供的评价服务趋向于网络化、专业化和系统化,幼儿教育软件评价机构也逐渐形成了以主体多元、渠道多元、价值多元等为特点的格局。
二、美国幼儿教育软件评价机构解析
为保证教师与家长选择软件的适当性,美国一些研究者开展了评价组织机构的分类研究与特点研究。如有研究者提出由政府机构、大学、私人营利性出版社、非营利性消费者团体、教育会议和贸易组织来评价软件产品的质量和适宜性。还有研究者将幼儿教育软件评价机构视为一个拥有哲学方法的,认为教师选择幼儿教育软件的路径之一是采用某个评价系统自己来进行评价选择。过,也有研究者认为应由非营利性、合作性系统和私人公司等组织来承担软件评价的任务。以上表述对幼儿教育软件评价机构的认识略有差异,但异曲同工之处是将商业公司、科研机构和协会组织等视为评价幼儿教育软件的主要机构。在此基础上,本文从开展评价的组织形式出发,将美国幼儿教育软件评价机构划分为四个主要类型:政府资助机构、软件开发者行业联盟、软件使用单位和第三方机构,并对这些机构进行分析。
(一)政府资助机构
西北教育的前身是西北地区教育实验室,1966年受特许建立,是一个提供跨地区的教育服务的独立性非营利机构,其经费由美国教育部的教育科学协会提供,总部设在波特兰市。该实验室致力于为(幼儿园到高中)年级学生提供教育资源、学习标准及软件评价服务,每年进行200多项研究计划,涉及教师培训、课程开发、学校重建、软件程序评价等领域。Micro SIFT软件交流中心隶属于西北地区教育实验室,在1980年了第一个评价表课件评价,主要从软件内容特征、教学特征和技术特征三方面评价软件。与之匹配的还有一个识别评价所需实际信息和程序包使用方法的课件描述,其分析内容包括软件来源、能力水平、主题、教学模式、所需硬件和软件、教学目标和准备条件。Micro SIFT设计的课件评价体现了儿童发展理论,其评价方法的目标是通过减少评价的主观性获得软件评价的信度和效度,评价结果虽不能明显区分软件的优劣和不同软件程序的差异,但却是第一个试图为教育者提供深度收集数据的评价列表。其他受政府资助的机构还有明尼苏达州教育计算机联盟(Minnesota Educational Computing Consortium)和爱荷华大学的CONDUIT等。
(二)软件开发者行业联盟
软件与信息产业联盟(Software Information Industry Association,简称原名为软件者联盟,于1999年与信息产业联盟合并,包含公共政策部门、反盗版部门、软件部门、编辑部门、教育部门和财务信息服务部门六个部门。SIIA主要致力于推广与软件产品所有权保护有关的知识,提供涉及政府、商业发展、社团教育和智力财产保护的全球,是软件和数字产品产业的主要联盟,其成员包括全美的上千家软件开发公司。SIIA在1986年为杰出的编码和目录产品设立奖,以提高软件产品和服务的质量,表彰商业软件、数字资讯和教育技术产业所取得的杰出成就,评价所有教育阶段使用的软件产品。评奖过程包含五个步骤,评审员由教育技术领域资深专家担任,评审员不得与被提名产品商有任何联系或利益关系,软件评奖相对公平。参与评奖的软件产品可以申请1-3个奖项,奖项涵盖内容类别、软件类别、教育类别三个方面的75个项目。参与评奖的软件企业需缴纳定额会费,这使一些小型企业考虑到会费问题而没有参与评奖,由此影响了评奖的有效性。
(三)软件使用单位
基于个体需求,幼儿教育软件用户也会自主开发软件评价标准或体系,如哥伦比亚公立学校就是一个典型代表。哥伦比亚公立学校(Columbus Public Schools)建于1845年,2007年改为原官方名哥伦比亚城市学校(Columbus City Schools),现为美国俄亥俄州最大的特区学校,教学对象为1-12年级的学生。学校重视技术和软件在教学中的应用,为确认购买的教学软件是否符合特区标准,于2008年在发展适宜性实践的哲学方法基础上制定了教学软件大纲评价。评价人员一般是教师,评价内容主要涉及课程大纲、软件设计和技术兼容性三方面。评价过程如下: 由委托人提出申请,填写需求分析表和产品信息表;接着,课程专家和教育技术专家评价课程大纲;然后,这些专家从技术质量、易用性、内容和学习风格四方面对软件设计进行评价,每个方面有4-10个子标准,对应的评价等级为优秀、好、很差、不适用最后,教学信息或管理信息服务部门对技术需求进行评价,主要包括安装启动程序、产品与网络以及浏览器的兼容性、是否建议购买软件等。软件使用单位自主开发的软件评价标准或体系有很强的针对性,但不具有普适性,其他学校或区域可对该评价指标体系进行移植,依据实际情况制定符合自己学校或区域的软件评价指标体系。
(四)第三方机构
除上述几种类型外,还存在很多第三方机构,如科研机构、媒介机构、商业公司及协会组织等,他们从各自的角度对幼儿教育软件开展评价。
1.科研机构。
早期幼儿教育最佳实践中心(Center for Best Practices in Early Childhood Education)建于1999年,隶属于西伊利诺伊大学人文学院,其任务是开发设计教育资源,以增加所有幼儿接受教育的机会,提供幼儿教育软件产品评价和培训资源,召开相关会议和研讨会。该中心将教育软件分为商业软件、共享软件和免费软件,除提供自主开发的在线评价资源外,还提供其他幼儿教育软件评价机构的信息,并开发了多个在线研讨工作室,其中儿童软件工作室提供适宜性使用软件的方法框架和评价指导。早期幼儿教育最佳实践中心认为,家长和教师为幼儿选择软件时需要考虑软件的目的、花费以及儿童使用软件的能力水平,并在发展适宜性实践的哲学方法基础上制定了一个包含16项指标的软件评价列表,以检验幼儿教育软件的适宜性。此外,该中心还开发了一个软件评价表,以检验软件的内容或教育价值、教学设计、软件可用性。每项内容含有5-11个子标准,用差一般优秀和不适用来标示软件的适宜性程度。与前者相比,后者标准较为详细具体,主要强调幼儿操作的独立性、教师的及时指导、软件的个体适应性以及对幼儿早期读写能力发展的帮助,并在发展适宜性的评价内容上做了较细致的划分,如软件内容没有性别、伦理或种族的偏见等。
2.媒介机构。
一是杂志。《儿童技术评价》Children s Technology Review,简称,由主动学习联合公司,编辑是著名的幼儿教育专家; 1993年,该刊物以Children s Software Revue为名出版了第一期。2005年4月,杂志标题中加入了New Media一词,之后改名为CTR坚持的哲学理论思想是儿童是主动的学习者,旨在让家长、教师和图书管理员及时获悉和更新最新的儿童互动性多媒体产品,每月评价概括出约50个新的适用于各种平台的儿童产品,包括儿童网站、视频游戏、玩具和教育软件,评价软件产品的年龄段为3-12岁。CTR为用户推荐了两个评价工具:一个是杂志自主开发的儿童软件评价工具,其设计应用了儿童发展理论和固有动机理论(intrinsic motivation theories)儿童和富有经验的教育者担任评价者,评价内容包括易使用、儿童控制、教育性、娱乐性、设计特征和价值六部分;另一个是媒体技术基金会开发的测试家庭软件的可靠游戏测试者评价表,主要适用于选择视频游戏。软件评价工作由评价者信赖的其他评价者安排,评价者在评价过程中要考虑学校和家庭的反馈,当评价者出现分歧时可咨询第三个评价者,同时还进行儿童使用软件的测试,直到所有评价者达成共识。
二是在线网站。超级儿童教育软件评价是公司建立的完全独立的网站,其任务是提供教育软件的评价和评级、在线或离线的实用性和趣味性的教育工具、苹果产品的应用程序、重要教育问题的新闻、政策制定者的观点。网站评价软件产品的年龄段为0-9岁,不接受所评价产品的任何广告,以保证软件评价的公正性。评价结果由来自全美的教育者、家长和儿童组成的小组撰写。评价尽可能模拟幼儿使用软件的真实情境,以帮助用户选择最适宜的幼儿教育软件。该网站开发了家长评价表、教师评价表、儿童评价表三种类型的幼儿教育软件评价量表,其内容设计运用了发展适宜性实践的哲学方法。家长评价表主要关注幼儿使用软件时的学习兴趣、兴趣保持的时间及软件的适用年龄。教师评价表主要从教育价值、软件内容、技术特征、互动性、年龄适宜性等方面对软件的教育性和技术性进行评价。儿童评价表主要关注软件的趣味性和娱乐性。每个评价表先对评价者信息、硬件配置以及软件质量予以描述,之后对每项指标打分:5分表示优秀、4分表示很好、3分表示一般、2分表示差、1分表示不适用。与该网站类似的,还有娱教性儿童网站等其他专注为幼儿提供教育资源和软件评价服务的网站。
3.商业公司。
儿童与计算机公司由Susan于1997年在KIDS计划的基础上创建,提供教师、咨询、专业性发展模块、幼儿软件和网站的评价、有关幼儿和技术研究的文章或网址链接等方面的服务,资助每年的发展性软件评定,开发管理儿童网站。该公司评价3-8岁幼儿使用的教育软件,其使用的评价工具发展性软件标准量表于1985年在儿童发展理论和发展适宜性实践的哲学方法基础上设计开发,历经两次修订:1991年整合进反偏见论(anti-prejudice deduction),以确保幼儿教育软件能够反映社会文化的国际性和差异性;1996年将无暴力性纳入其中,以保证幼儿接触积极的社会价值。修订后的量表核心内容是年龄适宜性、儿童控制、清晰的指导、可延伸的复杂性、操作的独立性、无暴力性、过程导向性、技术特征、模拟真实性和可变换性,每项标准对应2-9个子标准,其中10项标准的分值为2-9.5分,反偏见论的分值为0-1分,总分高于7分(满分为10分)的幼儿教育软件被认为是发展适应性的。发展性软件标准量表已获得美国幼儿教育协会(NA-EYC)的认可,成为美国目前较权威的幼儿教育软件评价标准。
4.协会组织。
一是家长选择基金会(Parents Choice Foundation,简称PCF)。该基金会成立于1978年,是美国最早指导家长和教育者选择高质量儿童媒体产品和玩具的非营利机构,其事务委员会由教育者、科学家、表演艺术家、图书管理者、家长及儿童组成。PCF旨在为不同背景、年龄、技能及发展水平的儿童推荐最好的文化产品。评选的产品包括电视、书籍、DVD、杂志、电脑软件、玩具及电脑游戏等。PCF设立的家长选择评奖Parents Choice Awards)有儿童产品届的奥斯卡之称,旨在评选优秀的教育软件,帮助家长和教育者及时了解最新和最优的教育产品,评价过程客观专业且富有幽默感。家长选择评奖评审考虑的评价要素包括:学习价值、玩乐价值、吸引性和花费。被评价的软件产品不能带有任何偏见和暴力内容,软件产品的原创性在很大程度上左右了评价结果。家长选择评奖分为六个等级:金奖、银奖、推荐奖、认可奖、经典奖、有趣奖。每个奖项都有授奖说明,金奖和银奖关注软件的质量和普遍性人类价值;卓越、能达到认可奖等级、基本符合评价标准和有吸引性的软件获得推荐奖认可奖表明软件能够在体质、情感、社交和学术能力上促进儿童的发展;经典奖表明软件能在5年内保持独特性和优异性;无暴力内容、设计良好、有趣和年龄适宜的教育性或非教育性软件可获得有趣奖。PCF能够对软件市场提供综合客观的评价报道,家长选择评奖很好地淦释了发展适宜性实践,但过于依赖外部资金的支持将影响每年评价报道的综合性程度。
二是EPIE协会。教育产品信息交流协会(Educational Products Information Exchange Institute,简称EPIE协会),1967年由受纽约州立大学校务委员会的特许建立,是第一个和规模最大的致力于系统性评价软件的组织,也是最早应用数据库帮助教育者获取详细软件产品信息的组织之一其活动涉及开发整体课程方案、资助LINCT联盟(Learning and Information Networking for Com-munities via Technology)和评价课程软件等。EPIE协会在80年代开始评价软件,并将评价信息保存在TESS( The Educational Software selector)数据库中。软件评价的服务对象从幼儿(3-8岁)到大学生,幼儿占服务对象比例的30%左右。1983年至1993年期间,用户可通过纸版形式获得TESS信息,之后以CD-ROM形式获得。
EPIE协会于1981年和哥伦比亚大学师范学院微机资源中心开始了一项系统性分析学校微机课程软件的计划,其开发的微机课件评价表被应用于这项分析。评价表包含软件信息、评价内容、样本程序、描述与评价、总结和微评价六个部分。第二部分为客观性评价,最后三部分为主观性评价。评价内容包含16项指标:适宜性、准确性/公正性、清晰性、技术质量、接触软件内容的方法、文件材料(documentation,如教师指导等)、支持材料、用户控制、反馈、图表、音频、随机生成、易使用、测试、向下分级、记录管理。每项指标列举了2}9个问题,用Yes和No回答或1,2,3进行等级评定。描述与评价和总结分别从7个方面和5个方面对软件程序的教育价值和技术特征进行描述性评价。微评价则从教学设计和软件设计两方面对软件程序进行打分。该评价表从开发者的基本原理(developer s rationale)、学习目标、内容、方法或方案、测试和评价方法对课程软件进行系统性分析,这对教育计算机领域的改变和发展起到了关键的促进作用。该评价表的设计应用了发展适宜性实践的哲学方法,主要关注软件的教育价值和技术特征,但量表可能过于专业性,而排除了一些家长和幼儿参与软件评价的可能性,这在一定程度上降低了软件评价的有效性。