首页范文项目管理的底层逻辑十篇项目管理的底层逻辑十篇

项目管理的底层逻辑十篇

发布时间:2024-04-25 20:10:36

项目管理的底层逻辑篇1

关键词:成本预算;信息系统;B/S;三层架构

1技术应用分析

在软件体系架构设计中,分层式体系架构最为常见,也是最重要的一种结构[1]。微软公司推荐的分层式体系架构一般分为三层[2],依次为数据访问层(DaL)、业务逻辑层(BLL)、表示层(pRL),这样有利于系统的开发、维护、部署和扩展。如图1所示。

B/S系统三层架构是一种松散耦合结构[3],层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。

数据访问层:也被称作持久层,主要负责数据库的访问,即实现对数据表的Select,insert,Update,Delete的操作。数据访问层使得业务逻辑脱离了与具体数据库的依赖,使得整个数据访问层利于数据库迁移。

业务逻辑层:是整个系统的核心,它与整个系统的业务(领域)有关。它包含了整个系统的核心业务。业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。

表示层:是系统的Ui部分,负责使用者与整个系统之间的交互。在这一层中,理想的状态是不应包括系统的业务逻辑。表示层中的逻辑代码,仅与界面元素有关。

2系统设计

本系统的核心是成本预算管理,需要建立成本考核指标,逐级汇总各级单位部门成本支出情况,经审核确定整体预算。我们针对整个管理系统所要完成的目的,作出基本工作流程设计,如图2所示。

预算编制是成本预算管理信息系统的核心功能之一,负责进行年度预算的编制及相关的数据字典维护。经过对成本项目上报形式的分类,实现了对各项成本的分级管理,灵活、有效的控制主要成本的编制、运行过程,使得主要的成本支出项目不仅仅体现在数额,还能与实际生产联系起来,便于预算控制、领导决策。

预算控制负责对成整理本支出情况进行跟踪、控制,采集并记录实际生产经营过程中的成本支出数据,记录每笔业务的结算数据,为财务人员提供汇总、考核、分析的数据依据;对于生产经营过程中的某些业务,根据成本预算的实际消耗情况,对超支的成本项目进行预警,采取相应的措施进行控制、处理。

成本分析模块根据系统设计好的相关表格计算生成分析用报表,然后主管会计根据成本分析报表进行成本分析。

成本考核主要涉及生产任务执行情况、成本使用情况、管理效率等多方面指标,其数据来源于所有管理流程。

系统管理负责维护单位组织结构、系统功能模块、注册用户、岗位权限、电子印章等信息;负责管理资产设备、成本科目等基本数据字典。

3系统实现

系统后台使用oracle数据库进行数据存储管理,使用JaVa作为开发语言,采用B/S三层架构,划分出清晰的数据访问层、业务逻辑层以及表示层,层与层之间尽量实现弱耦合,降低它们之间的依赖关系。整个系统共划分成如表1所示项目进行编程实现。

数据访问层采用了“面向接口”的编程思想,并应用了工厂模式策略,首先以iDaL抽象出数据访问逻辑,脱离了与具体数据库的依赖。通过DaLFactory作为数据访问层对象的工厂,专门管理DaL对象的创建,便于业务逻辑层访问,使得业务逻辑层的访问模糊了底层数据库的类型,便于数据库的迁移。iDaL支持oracle数据库的oracleDaL具体实现,即oracleDaL模块实现了iDaL模块的接口,其包含的逻辑是对数据库的Select,insert,Update和Delete操作。同时iDaL为其他类型数据库如SQLServer、DB2预留了接口。model模块提供了数据访问层的数据对象,只包含了数据实体对象,并不包含任何的业务逻辑方法。

系统业务逻辑层的核心是BLL模块,它包含了成本预算系统的核心业务。在业务逻辑层中,不能直接访问数据库,而是通过数据访问层的iDaL来完成业务逻辑层与数据访问层的通信,并达到访问数据库的目的。在业务逻辑层中,涉及到数据访问层中数据对象的调用,采用了多态原理定义了抽象的接口类型,然后利用工厂对象的工厂方法创建具体的数据对象。为了适应业务扩展与需求变更,在业务逻辑层建立一个专门的接口模块iBLL,用以定义业务对象的接口。通过“依赖注入”方式,解除与具体领域对象类的依赖,使得表示层仅依赖于业务逻辑层的接口程序集以及工厂模块。通过引入接口模块iBLL,解除了与具体模块BLL的依赖关系,为与表示层的通信提供了弱依赖的基础。

表示层的实现全部在web包下,通过引入接口模块iBLL工厂模块BLLFactory,解除了与具体模块BLL的强依赖关系。

4测试

根据实际的系统使用场景制定本次测试的性能目标:对胜采集团成本预算管理系统在30分钟内完成2000次用户系统登录,选择对系统预算控制测试,最后退出系统,在对系统的业务操作过程中页面的响应时间小于3秒,并且服务器的CpU与内存使用率不超过75%。

我们从并发数、响应时间、每秒点击数、业务成功率、系统资源、等几个方面对系统的性能加以测试分析,测试步骤如图3所示:

根据测试结果,本系统的性能达到了预期的目标,最新的测试结果记录表如表2所示:

5结束语

项目管理的底层逻辑篇2

关键词:层;对象;架构;LinQ

中图分类号:tp393文献标识码:a文章编号:1009-3044(2012)20-4912-03

DesignandStudyofwebsiteBasedonthreeLayerarchitecture

ZHanGwei,wanGYi-tian,wanGJia-bing

(ShenyangUniversityofChemicaltechnology,Shenyang110142,China)

abstract:thispaperintroduceshowtodesignwebsitebasedonthreelayerarchitecture,illuminatesfeatureandadvantageoflayerarchitecture,demonstratesmainpointsanddifficultiesofeverylayerdesignindetail.websitedesignmodelcanbereusedbyapplicatingobjectdesignconcepttowebsitedesign.

Keywords:layer;object;architecture;LinQ

架构是指将应用系统的每个功能部分分解到独立的组件中,并将各种组件划分到各个逻辑层中去[1]。

层架构是一种弱耦合结构,层和层之间是向下依赖的,底层对于上层是毫无所知的,上层的修改不会影响到对底层的调用。

所谓三层体系结构,是在客户端与数据库之间加入了一个"中间层",也叫组件层。不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即这三个层放置到一台机器上[2]。

传统两层架构网站设计是通常将用户的界面显示与数据库逻辑(SQL语句)都集中到用户页面中,用户界面直接与数据库连接。缺陷就是用户界面中包含数据库的查询或更新语句。三层架构是将用户界面与数据的逻辑完全分开在不同的层面中,用户界面不是直接与数据库连接的,而是与业务逻辑层连接,业务逻辑层再与数据访问层连接,这样就实现了用户界面与SQL语句的分离,便于系统的扩展。当系统数据库更换时,只需修改数据访问层即可,前台显示相关页面不需要任何修改,从而方便网站的维护和修改[3]。

该文所做的工作是基金项目“网络环境下高校图书馆特色资源库的建设与研究”的一部分,特色资源是科研期刊论文和科研著作资源。网络环境下高校图书馆特色资源库是以三层架构网站为技术核心建设的,即数据访问层、业务逻辑层和界面表示层,在特色资源库平台上表现为特色资源的结果显示、逻辑查询和调用以及数据访问,具体关系图如下图所示。

1三层架构设计

按三层架构模式设计网站是目前网站设计的普遍方法,三层即数据访问层、业务逻辑层和界面表示层,数据访问层是对数据请求进行响应,执行sql语句,返回数据记录或数据表;业务逻辑层是拟要设计的网站所涉及的业务领域,该领域的业务逻辑操作以计算机程序或算法的方式实现;界面表示层是直接面向用户的,向用户展现网站的功能和布局及其美感。

特色资源库平台网站按三层架构设计,特色资源库是学校老师科研论文和著作的资源总库,对数据访问层的数据请求基本是查询和搜索,即按作者、篇名和关键词等查询;业务逻辑层是查询条件的逻辑操作,即高级检索按多个限定条件检索;界面表示层是对查询结果排列显示及论文或著作的摘要简介等。

数据库是三层架构之外的最底层,它是按照某种数据模型组织数据并存放于存储器中的具有一定联系的数据集合。将所有数据集中存放在数据库中,不但便于对其进行统一管理(如增加、删除、修改和检索数据等),而且便于提炼出对决策更有用的数据和信息[4]。

数据库可以是微软的SQLServer或者oRaCLe,以SQLServer数据库为例,目前SQLServer最新版本是2008,但是运行稳定且广泛应用的是SQLServer2005版本,该版本扩展了SQLServer2000的性能、可靠性、可用性、可编程性和易用性。SQLServer2005包含了多项新功能,尤其在安全性方面有着较高要求,对某些操作权限有严格限制。它成为大规模联机事务处理(oLtp)、数据仓库的电子商务应用程序的优秀数据库平台。

1.1数据访问层

数据访问层是对最底层数据库操作,对数据库进行增加、删除、修改、查找记录等操作。数据访问层执行增加、删除、修改、查找等sql语句,sql语句中的参数是从业务逻辑层中传来的,该参数是以对象的方式传递的,即在用户界面层获得一系列数据,把这些数据以对象属性的方式进行封装,然后仅将对象传递给业务逻辑层即可,业务逻辑层将对象的属性进行业务操作,最后将对象传递给数据访问层。数据访问层将对象的各个属性作为sql参数参与执行。该层将执行结果返回给业务逻辑层,执行结果是某条或多条数据记录或者一个或多个数据表。

特色资源库平台的数据访问层包括科研论文、科研著作等数据库表对应的类及连接数据库的类,全文采用文件上传方式传到文件夹中,数据库里放该全文的相对链接地址。

数据访问层的两种设计方法:

项目管理的底层逻辑篇3

关键词商业银行数据仓库数据模型

中图分类号:tp311.13文献标识码:a

1实施策略

2003年中国建设银行制定了《中国建设银行科技应用总体规划》,确定了项目群实施规划、数据仓库和管理信息系统实施规划。规划中明确了建设银行的目标应用体系架构、技术架构以及项目实施路径等,规划出未来5-10年建设银行信息化发展战略。规划旨在为建设银行业务新一轮改革发展提供有力支撑,不断提高建设银行的盈利能力。

为实现这一战略目标,建设银行以数据集中为前提,通过数据仓库为基础,通过信息管理平台持续开发客户分析管理、资产负债管理等应用,使建设银行信息化水平和内部管理水平走上新台阶。其中数据集中和数据仓库的建设是关键步骤。

2teradataFSLDm客户化

2.1FSLDm简介

teradataFSLDm是预先构建的逻辑数据模型,利用它可以直接开始数据仓库模型设计。它是一个纯粹的逻辑数据模型,可以运行在任何数据库和平台上,与teradata数据库无关。

2.2客户化策略

客户化方法论可以概括为自底向上、从顶至下以及自底向上和从顶至下的联合使用。下面我们简要对这几种方法进行一下对比和分析,主要从策略、过程等方面的特点来决定到底采用何种方法进行开发。

首先,自底向上法是指先从较下层设计开始,也就是说去解决问题的各个不同的小部分,然后把这些部分组合成为完整的应用。这种设计方法主要是要根据系统功能要求,从具体的逻辑部件或者相似系统开始,凭借设计者熟练的技巧和丰富的经验,通过对其进行相互连接、修改和扩大,构成所要求的系统并保证系统功能的实现。从设计成本和开发周期来讲,自底向上法一般优于自顶向下法,但是由于其设计是从最底层开始的,所以也存在难以保证总体设计的最佳性的问题,一般适用于探索性的开发项目。在银行建设数据仓库,自底向上策略一般是从某个数据仓库原型开始,选择一些特定的为企业管理人员所熟知的管理问题作为数据仓库建设目标。该策略的主要优点在于能够以较小的投入在短时间内取得局部成果。

结合银行业务特点,一般来讲,按照数据仓库的思路建设信息决策系统已经有一定的先例和成功经验可以借鉴,不应该算作探索性尝试,而是目标明确、长期规划的建设过程,所以应该采用从顶至下的方法进行。也就是说,在开发前就已经具备数据仓库的系统定位、实现目标、应用范围等内容,这种策略对开发人员的开发经验要求和管理层、建设者的预期目标明确程度都有非常高的要求。

实际上,在许多数据仓库设计过程中,是混合使用从顶至下法和自底向上法的,因为这样可能会取得更好的效果。从银行来讲,主体策略采用从顶至下法,在一些局部的、不熟悉的领域,采用自底向上的方法进行一些探索性的尝试,以积累经验、规避风险,这样的组合应该是理想而明智的选择。

2.3FS-LDm主体结构

teradataFS-LDm在某银行客户化改造覆盖了11大主题区域,包括团队、资产、财务、营销活动、协议、渠道、事件、内部结构、产品和地域等。

3具体实施策略

在某银行teradataFS-LDm客户化的具体实施过程中,采取的是分重点设计主题、自主设计主题、简化设计主题等不同类别,根据每种类别的特点和目标来分别制定有针对性实施策略的原则。

4在某银行的BanK-LDm管理界面

某银行建立了专门的平台管理LDm,在这个平台界面上可以对LDm进行词法分析、关联实体分析、父子实体分析等操作,LDm的开发和维护人员可以通过ie浏览器改元数据管理平台,对自己负责的相关模型进行查询和分析。

数据仓库在初期建设时还没有到考虑模式优化问题的时候,因为此时不仅数据量少,而且加载的应用也少。但是,随着应用的推广,数据量不断加大,应用不断增多,不断会爆出空间效率等问题,必须后期进行调整优化,可以优化逻辑模型,也可以针对物理模型优化。在实践中,我们发现充分事前的设计和实施中的不断改进,逻辑模型在项目完成时可优化的范围小,通常集中于协议、事件等主体。后期我们已物理模型优化为主。

物理模型优化的原则主要是一要结构层次一致性、二要结合具体运行环境、三要针对teradata的特点。

逻辑模型设计是基于三范式的分层结构,这样可以保证模型的灵活性和稳定性,但与此同时可能产生大量关联表,优化时需要考虑精简。另外通过脚本相关算法的优化以及调度机制的优化,提高运行效率,从整体上缩短仓库运行的时间窗口。

据上述目标原则,物理模型优化主要通过数据冗余和数据清理、拆分以及针对teradata性能优化来实现。在进行脚本优化时要先优化关键脚本,脚本优化要注意与物理表结合。优化完成后需要进行测试工作,保证优化不改变应用正常应用,也可以验证优化效果。优化尽量选择在仓库的非主要运行日进行,避免资源紧张对正常运行造成干扰。

参考文献

[1]郑承满.数据仓库技术在商业银行中的应用与发展趋势[J].中国金融电脑,2012(07).

[2]冯健文,林璇.基于oDS的数据仓库模型研究[J].微计算机应用,2012(04).

项目管理的底层逻辑篇4

关键词:三层结构;web应用;Java/Jsp技术

中图分类号:tp311文献标识码:a文章编号:1009-3044(2013)07-1567-03

一般企业级web应用软件的开发都会涉及较多且较复杂的业务逻辑,而且客户的业务需求也会经常发生变化,这就对此类软件的开发提出了更高的要求。为适应这种要求,一般软件开发企业会采用一定的软件设计模式来提高开发效率,而分层模式是最常见的一种架构模式,而且分层模式是很多更为复杂的架构模式的基础。分层模式的特点是:将解决方案的组件分隔到不同的层中;在同一个层中组件之间保持内聚性;层与层之间保持松耦合。

三层模式可以说既是web应用软件开发中最简单地一种分层模式,也是较为实用的一种分层模式。它是将整个系统自上而下分为表示层、业务逻辑层、数据库访问层。表示层用于将信息展示给用户或接受用户输入信息,一般是由web页面组成;业务逻辑层负责实现系统主要涉及到的业务逻辑功能,一般封装了业务逻辑的类组成;数据库访问层主要实现对数据库的增、删改查操作,不涉及业务逻辑,一般由数据操作对象(Dao)类组成。三层之间的关系是:表示层依赖于业务逻辑层,业务逻辑层依赖,即高层依赖于底层,底层不依赖于高层,一般不能跨层调用方法。同时,对于系统封装好的实体类,三层都可以访问。

1三层结构的具体应用

1.1“新闻系统”的总体设计

“新闻系统”是许多企业级web应用系统的子模块,这里就以此为例来说明三层结构的具体应用。“新闻系统”分为前台用户模块和后台管理模块两大部分。

前台用户模块包括以下功能:1)用户登录、注册;2)新闻列表展示;3)新闻详细内容展示;4)按关键词查询新闻。

后台管理模块包括以下功能:1)用户管理(普通用户的增、删、改、查);2)新闻管理(新闻信息的增、删、改、查)。

1.2数据库设计

1.3三层结构设计

2三层结构web应用的编程思路

2.1编写实体类

编写web应用程序一般都会对数据库表进行增、删、改、查操作,所以一般对数据库表的设计是第一步,也可以称为定义数据字典。这一步做的主要工作是创建表、定义表字段名、类型、约束条件,确定表之间的关系,另外为了方便后期开发还要输入少量的测试数据。

数据表定义好以后我们就可以编写实体类了,不涉及到业务逻辑的实体类一般一个实体类对应一个数据表,业务逻辑实体类到需要编写业务逻辑时再定义。

在编写实体类过程中总结了一下经验:

1)将实体类字段名定义成和表字段名一致的名称可以减少错误,另外借助工具(如pLSQLDeveloper、Hibernate)可以加快编码速度。

2)尽可能地使用字符串类型作为所定义的属性的类型,这样可以比较方便后期对数据库的操作;

3)给所有的属性都添加上getter/setter方法,便于后期对属性的操作;

2.2三层结构的编写步骤

一般教科书或参考书上讲的编写三层结构代码的顺序都是按照业务功能模块先编写此模块的数据访问层,再编写业务逻辑层,最后编写表示层。但我们在教学实践过程中发现使用这样的编码顺序做项目教学效果并不理想,学生往往在编写的过程中没有一个清晰的思路,或者是写某一功能时无从下手,或者是写着写着就不知道下一步该做什么了。

这里我们根据教学实践采用一种“需求驱动”的方式编码,取得了较好的教学效果。这一编程思路就是首先从表示层,也就是页面开始编码,由于页面上很多内容都是静态显示的,所以我们先把静态部分写好,然后再写逻辑脚本部分,根据客户具体需求要显示哪些内容,我们就在页面上合适的地方添加相应的jsp脚本或el/jstl表达式。其次,还是根据需求看是否需要去调用业务逻辑层的功能代码,如果这时业务逻辑层还没有需要的方法,我们就到业务逻辑对应的类去添加相应的方法,并在页面上传递相应的参数进行调用。最后,如果在编写业务逻辑层方法的过程中需要访问数据库,则再去调用数据访问层的相应方法,如果没有需要的方法同样到数据访问层对应的类中添加方法。这样有上层开始,逐步向下的编码顺序可以使我们有很清晰的编码思路,最后再由低层将结果逐步返回上层,最后再回到页面上验证我们编写代码的输出结果是否正确,这样每一层的功能十分清晰,有利于程序调试。

下面以“新闻系统”中显示新闻标题列表的功能模块为例说明这种编码步骤在实践中的具体应用。

1)创建newstitleList.jsp页面,页面将静态部分设计编写好,包括页面头部,尾部,导航等固定部分,还有显示标题列表部分,我们这里采用简单地table显示。

2)编写jsp脚本部分,这里我们做了简化,显示包括所有主题的新闻标题和创建时间(实际项目中需要按主题显示列表并进行列表分页),具体代码如下:

3)编写业务逻辑层方法,在以上的页面上要调用findallnews_item()方法,这个方法现在还没有,所以需要在业务逻辑层newsitemBiz类中编写如下具体代码:

4)编写数据访问层方法,在以上的业务逻辑方法中要调用getallnews_item()方法,这个方法现在还没有,所以需要在数据访问层news_itemDao类中编写如下具体代码:

5)最后再回到页面层调试程序,显示出正确的新闻列表标题数据。

2.3程序代码优化

掌握了以上编码思路,其他逻辑功能模块的编写完全按照这一步骤和顺序来实现。在平时教学过程中我们还积累了一些对程序代码优化非常有用的方法,现总结如下。

1)对数据库操作表基本的连接、关闭、增、删、改、查操作应该作为公共方法提取出来,放到一个工具类中,并尽量写成静态方法,以方便其他类调用。

2)对用户经常要反复访问的页面(如首页index.jsp),如果其中有对数据库操作的代码,则应该对其进行优化,可以放到Servlet的init()方法中只执行一次,然后放到session或application中,这样可以避免频繁查询数据库。

3)为了便于程序的后期维护和扩展,页面应主要使用el/jstl标签来代替jsp脚本,使表示层只用于展示内容,将业务逻辑与页面显示尽量分开,降低层与层之间的耦合度。

4)将程序中编写的js脚本和css样式放到单独的文件中,这样有利于代码的复用和程序的修改维护。

5)在使用jndi方式配置数据库连接信息时,最好不要在tomcat下的context.xml文件中进行配置,而更好的办法是在项目的meta-inF目录下单独建立一个context.xml文件并写入配置信息,这样在项目进行迁移时不需要重新配置数据库连接信息。

3结束语

本文主要结合在教学过程中使用的“新闻系统”这一项目案例说明三层结构在web应用程序开发过程中的具体运用,重点论述了编程思路和方法对提高项目开发效率的重要性,其中对使用三层结构编写web应用程序过程中的编程思路提出了自己的观点,并在教学实践中取得了较好得教学效果,另外文中还总结了几条程序代码优化的技巧。

参考文献:

[1]林信良.JSp&Servlet学习笔记[m].2版.北京:清华大学出版社,2012.

项目管理的底层逻辑篇5

关键词:测绘成果检验;系统设计;信息管理

引言:传统项目管理办法存在着信息采集与管理不规范、问题追溯不易、过程控制有法不依、效率低下、决策与分析信息不全等缺点。随着我站检验项目的逐年增加,项目负责人交换更替也日益频繁,项目验收的人员、设备、验收合同、验收报告等环节的合理安排和有序管理就显得越来越重要了。而实现完整全面的项目管理的基础是有效地实行数字化管理系统。

测绘成果检验项目管理信息系统依据我站项目检验与项目管理的特点,以系统工程学、控制论和信息论为理论基础,以高度专业化、科学化的手段,对项目实施的进度、质量、合同、设备、财务、安全等检验全过程实行动态、量化管理和有效控制。

一、系统总体设计

1、系统功能结构图

本系统的主要任务是实现对项目验收管理、客户管理、成员管理及相关查询。其主要功能包括:

1.1、成员用户管理

提供对系统成员用户的新增、查询、删除、修改功能。

1.2、角色管理

提供对角色的增、删、改、查管理及角色成员的管理。

1.3、权限管理

提供系统模块菜单信息的管理、控制,角色权限的配置。

1.4、客户管理

提供系统客户的新增、查询、删除、修改功能。

1.5、项目验收单入库

提供项目验收单的新增入库功能。

1.6、项目验收单查询

通过条件组合实现项目验收单查询功能,查询出指定条目以便后续操作。

1.7、检验报告出具

提供检验报告的出具功能。

1.8、项目验收单修改

此功能依赖项目验收单查询功能。

二、系统实现

1、开发环境

硬件配置:

CpU:intelCore(tm)i3-2350m2.30GHz

内存:2G

显示器:14寸

硬盘空间:400G以上

软件配置:

操作系统:windows7

开发工具:VisualStudio2012

数据库:access2010

开发平台:.netFramework2.0

2、三层架构介绍

在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。

三层结构原理:

3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。

所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。

三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过Com/DCom通讯与中间层建立连接,再经由中间层与数据库进行交互。

3、业务逻辑层

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。

4、数据层

数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XmL文档。

简单的说法就是实现对数据表的Select,insert,Update,Delete的操作。如果要加入oRm的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。

三、系统测试

1、软件测试方法

软件测试是软件开发过程中的一个重要环节。软件测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。

测试任何产品都有两种方法:

黑盒测试:黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求。黑盒测试是在程序接口进行的测试,又称为功能测试。

白盒测试:白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程。所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作。白盒测试又称为结构测试。

从是否执行程序的角度分为静态测试和动态测试。从软件开发的过程按阶段划分有单元测试,集成测试,确认测试和系统测试验收测试。测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。

不论采用何种测试方法,只要对每一种可能的情况都进行测试,就可以得到完全正确的程序。包含所有可能情况的测试成为穷尽测试。但对于实际程序而然,穷尽测试是不可能的。

2、模块测试

模块测试是针对概要设计中的一个一个模块来进行测试的,他的重点就是测module与module之间的关系。moduletesting属于integrationtesting(集成测试)的范围,测试内容是被集成部分之间的关系。模块测试的目的是保证每个模块作为一个单元能正确运行,所以模块测试通常又被称为单元测试。在这个测试步骤中所发现的往往是编码和详细设计的错误。在设计得好的软件系统中,每个模块完成一个清晰定义的子功能,而且这个子功能和同其他模块的功能之间没有相互依赖关系。因此,可以把每个模块作为一个单独的实体来测试,而且通常比较容易设计检验模块正确性的测试方案。模块测试的目的是保证每一个模块作为一个单元能正确运行。

3、测试内容

用户登录测试:检查干扰码是否能生成,密码输入框是否有做遮蔽处理,sql注入测试,输入正确用户名密码及干扰码后是否能正常登录。

权限管理测试:测试加载权限树功能是否起作用,受控页面载入是否有遗漏,权限配置是否能保存及生效。

其他功能页面:检查是否能按表单要求进行数据的增、删、改、查操作。

4测试结果

经过对各个模块的功能测试,已经实现了各个功能,达到了任务书中的各种要求,软件功能完整,错误处理正确,且能正确提示错误种类。用户能流畅的使用程序中的各项服务,系统运行正常。

四、结束语

测绘成果检验项目管理信息系统是测绘成果检验项目信息为基础建立的管理系统,是管理测绘成果检验项目业务的重要方法、手段、技术和操作过程的集合。本系统有以下特点:系统中模块划分明确,模块功能设计有较强的针对性。系统操作界面简单,灵活性好、响应时间短,系统安全性高,运行稳定。设计完全符合软件工程中的各个阶段的要求,模块间具有高内聚,低耦合的良好性能。

参考文献:

[1]刘明皓;袁正午;;GiS学科与人才培养体系建设对策[J];计算机教育;2006年10期.

项目管理的底层逻辑篇6

引进咨询公司把关不严是后续项目问题的根源

咨询市场是一个严重信息不对称的市场,人力资源部很难判断咨询公司是否适合自己的公司。而所有的人力资源项目都必须是带实施的项目,最后所有人力资源咨询项目的效果都不是体现在人力资源部门,而是体现在业务部门。

帮助客户界定初始需求本身就是咨询顾问该做的工作,也应该是必备的能力。如果需求界定不清楚,真给客户做了个薪酬咨询,结果可能给客户的人力资源部带来很大的包袱。但由于咨询公司内部各个模块过于细分,使得大多数顾问难以从更高的层面上看待客户的问题。发展顾问综合能力是有效界定客户需求问题的关键。

所以,人力资源部在选择咨询顾问的时候,要注意以下几点:

1、

驻场项目经理是否有足够的实施经验,项目经理的水平就是项目本身的水平。考核对方很简单:一是看洞察力,我方没有提到的问题是否看到了;二是看其有没有变革实施的措施,对实施阻力分析是否到位。

2、

当咨询公司提到按人头付费的时候就要小心一点,因为请顾问公司是来解决问题。应该尽量描述清楚项目结束后要达到的效果,而不是关注来几个顾问。

3、

不用太关注前期沟通时的项目建议书漂亮与否,试想一个从来没有深入企业的顾问仅仅靠漂亮的项目建议书就打动了你,他们进场后还有足够的动力深入企业吗?

4、

看看合约中提到的成果是什么,如果是一大堆文档,而不是自己起初想要的效果,恐怕在未来项目结束时,除了一堆漂亮的垃圾,什么也没有得到。

合同偏文案而不是效果将带来落地的麻烦

正如上面第四条所分析的,大多数咨询公司都把提供文案作为项目的最终成果,每到项目要结款的时候,顾问们提供的是厚厚的文档,公司付出的是厚厚的钞票。项目经理常教导顾问:没有结果,有过程,看不到过程,有文档。一般咨询公司所谓的显性成果就是厚厚的文档。其中逻辑性是说服客户的关键,但逻辑的前提是信息对称。经常看到管理咨询主管们在骂下属顾问的文案缺乏逻辑。想起冯友兰先生的一句话:“有人以为凡是依逻辑讲的彻底的学问,都是科学。”问题是,科学真的对管理咨询那么重要吗?实际上,只在一种情况下答案是肯定的,就是管理的对象——人不再有自主的思考,并且所有人对同样的刺激表现出同样的反应。在管理咨询项目中,要想在没有主观设定目标的情况下找出合乎逻辑的方案几乎是不可能的。而主观设定目标的荒谬之处就在于管理中人的主观因素的复杂性及人的多目标特征。大多数管理咨询顾问不敢把决定着个人行为的主观观念作为起点,他们系统地以支配个人行为的观念,而不是他们对自己行为的理论结论作为起点。即他们自己的行为本身很可能就是方案的起点和结论。所以某著名管理咨询公司在描述其管理咨询奥秘的著作中,提出了预期性假设的做法,并奉为法宝。只要有了假设,就不愁没有逻辑,因为自此一切资料的收集都是按照这个假设的方向进行的。虽然表面上说的原因是为了避免“不必要”的资料干扰精力。至于基于行业分析的战略,是否是先有了战略导向,再收集相关行业资料就很难说了。

所以说,对项目成果的检验,仅仅看文档是否合逻辑是不够的,还要看顾问能否真正给客户带来变化,哪怕这种变化是不好衡量的,如:员工行为习惯,心理架构等发生的变化。管理咨询卖的是服务,产品是通过“人”来体现的,产品的效果也是通过“人”来体现的。虽然管理咨询公司极力将产品标准化、可衡量化,客户付款拿到的是量化的方案。但是客户得到的价值是多少,却不是由方案的多少来决定的。而是咨询内在的东西:对问题的看法是否正确?解决问题的思路是否正确?实施是否简便到位?企业家观念是否已经跟上变革内容?等等。

另一方面,咨询的价值因顾问与客户的关系不同而不同:对方案的认可,对方法论的认可以及充分信任基础上的关于认识论的交流。高层次咨询的价值正如老子所说:少即是多。或者应俗语所说:假传传万卷,真传一句话。

对老板的咨询不可或缺

当我们发现企业的问题全都是人的问题,当我们知道人的问题主要在老板的问题,而老板本人是最难改变的时候。于是对于企业最有效的企业家咨询“死了”。

这种咨询只能走向“秀肌肉”:“科学”的大部头文案。“秀肌肉”对中国的老板很有效,因为他们大部分出身营养缺乏的年代,科学学得不够。而中国有十分迷信教育的传统。于是打着科学的牌子,拎着比教科书还漂亮还厚的文案。再加上神秘的服务器和电脑中吐出的眼花缭乱的报表。足以让哪些只受过中等以下教育的老板臣服,并献上自认误打误撞赚来的银子。

咨询顾问“肌肉男”来到企业,与老板(大脑)们打个招呼,就和部门经理们开始练摊。老板羞于对科学的无知,不愿与“肌肉男”多谈。“肌肉男”正好落得自在。“肌肉男”们熟练而毫不羞耻地运用去掉“大脑”的“系统思维”,搭起没有大脑的机械怪兽。机械怪兽举起远轻于自己的杠铃。“肌肉男”收钱,走人。项目的结果如果不是把老板原有的思想理论化,科学化,就是事后被老板一手插到底,彻底毁掉,原因就是大家都理解了,只有老板还没有完全理解,因为项目中他很少见到顾问。

项目管理的底层逻辑篇7

关键词:电子金融系统;数据流程图;数据字典

中图分类号:F830.33文献标识码:a

文章编号:1005-913X(2012)03-0073-01

无论电子金融系统的建设采取何种开发方法,对其系统进行分析都是必要的环节,大量的实践证明。系统分析工作的好坏,业务人员和技术人员的配合情况在一定甚至是很大程度上都决定了系统的成败。

一个电子金融系统的项目,在分析阶段的任务是:先对原有的应用系统进行充分的了解,在了解的基础上,对问题进行识别、可行性分析和详细的调查,最后要完成并提交多个新的系统的逻辑方案,真正的做到将解决什么问题,如何去解决问题移交给系统去实现。

一、数据流程图

作为一种全面描述信息系统逻辑模型的工具——数据流程图,其可以使用少数几种符合综合的反映出信息在系统中的流动、处理和存储情况。

(一)数据流程调查

在对数据流程图进行设计之前,需要对现有的业务系统进行数据流程的调研工作,调研的重要内容就是收集各种资料,这个过程包括以下步骤:一是收集原系统全部输入单据和凭证、输出报表和数据存储介质(如账本、清单)的典型格式;二是各个环节的处理方法和计算方法要弄清楚;三是无论是单据样品还是其他各种资料上面都要对其相关信息进行备注,比如发生的频率、制作单位等;四是在上述各种单据和资料样品上注明各项数据的类型、长度、取值范围,利用调查收集到的各种信息资料就可以绘制出原系统的数据流程图。

(二)数据流程图的构成

1.数据流。数据流可以是一项数据也可以是一组数据,总之就是流动着的数据,也可以表示对数据文件额存储操作,其不仅要描述各个组成系统部分之间的数据传递关系,还需要在数据流符号的上方表明数据流的名称。

2.数据存储。它又称之为文件,指通过数据文件、文件夹或账本等存储数据,数据存储是与处理有关的数据集合。

3.数据处理。处理是对注入的数据进行操作,因此若给数据处理起名,它一般应为一个动词,在一个数据流图中应至少有一个处理,它是数据流图中的核心部分。

4.外部实体。指本系统之外的人或单位,它们和本系统有信息传递关系。在绘制某一子系统的数据流程图时,凡属本子系统之外的人或单位,也都被列为外部实体。

(三)数据流程图的思想

1.自顶向下、逐步求精的方法。对于一个复杂的系统,需要用自顶向下,逐层分解的方法来绘制流程图,通常一个数据流程图的层次不超过三个。(1)顶层图的绘制:顶层图是DFD的第一张图,它描述了系统的范围和边界。(2)底层图的绘制:底层图是系统最后的分解图,在底层图中每个处理应描述一个简单的独立功能。(3)中间图:描述系统中间层的分解过程。即描述了上一层的某一个处理,分解成几个独立的处理。逐层分解的关键在于对系统的描述不要很快地陷入更多的细节,而应提纲挈领地先从系统顶层的总体功能开始并有控制地逐步增加细节,实现从抽象到具体、从总体到局部的过渡。这大大有助于理解和描述一个复杂系统,使复杂性降低到可描述的地步。

2.由外向里的原则。“由外向里”地绘制每层流程图是一种易于掌握且比较自然而且有条理的思考过程。即在绘制顶层图时,先考虑整个系统的输入和输出数据流,这样可以先定义出该系统的范围,然后再考虑系统内部的其他元素。

二、数据字典

(一)概念

数据字典是描述和说明数据流程图中各元素的内容的集合。从上面可以知道,数据流程图描述了系统的分解,即描述了系统由哪几个部分组成,各部分之间有什么联系,但并没有说明系统中各个成分的内容,这就需要用数据字典对电子金融系统中涉及的每个数据流、存储数据的文件以及与它们有关的数据项进行详细的描述和确认。一般而言,数据字典需要对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储以及外部实体等方面进行具体的定义。数据流程图加上数据字典,就可以从图形和文字两方面对金融系统的逻辑模型进行完整的描述。

(二)内容

一是数据流条目:包括数据项名、别名、组成的数据项、注释等;二是文件条目:包括文件名、别名、组成的数据项、文件的组织结构、注释等;三是数据项条目:包括数据项名、别名、类型、长度、取值范围、是否允许为空、初始值、注释等。

三、处理逻辑说明

结构分析方法的基本思路是将一个大型的复杂的系统进行逐层的分解,分解成足够简单的最为基本的处理,然后再进行理解,每个处理用“做什么”来进行描述。通常来讲,数据流程图中较简单的计算性的处理逻辑可以在数据字典中做出定义,但对于一些较为复杂的业务处理,还需要用一些描述处理的工具进行说明,比如判断表和决策等。处理逻辑说明描述的逻辑模型是下一阶段系统设计与编程的基础和技术说明书。因此,它只要说明系统“做什么”,即明确表达最终用户的需求,而不需要具体表达系统是如何实现的。

四、实例说明

运用结构化方法中的数据流程图分析一个电子银行系统,其重要的内容就是分析并规范表达该系统的交易处理过程。下面仅以我们大家都比较熟悉的atm联网系统(后方交换型的网络结构)的交易处理过程为例,说明数据流程图在电子金融系统中的应用。数据流程图是分层次的,绘制时采取自顶向下逐层分解的办法,首先画出顶层,即第一层的数据流程图。顶层数据流程图只有一张,它说明了系统所涉及的所有处理对象、主干业务处理以及重要的数据存储文件。后方交换型的atm共享系统所涉及的交易处理对象主要有:持卡人、atm终端、行、交换中心、发卡行、央行清算中心等。

(一)第一层的数据流程图

后方交换型的atm共享系统的顶层数据流程图反映了atm共享系统处理跨行取款交易的情况:持卡人属非本行客户要求提款;作为行,在信息发出前要先将其转换成系统规定的标准格式,然后将信息发送到交换中心,经交换中心识别信息并存储备份后发往相应的行,并在日终于央行清算中心清算;atm内必须有足够的现金;若发卡行同意事后清算资金,则行应支付款项给持卡人;为保障资金安全,各项信息传送必须在控制的时间段内完成才有效;要符合系统规定的所有安全规则。

(二)业务处理

逻辑说明atm共享系统的处理过程比较复杂,它由三向传输处理流程构成。这三项处理是请求处理、响应处理和确认处理。与此相应,在系统中传输着三种信息流,即请求信息、响应信息和确认信息。

(三)数据字典说明

数据字典主要是有关数据流程图的信息处理内容的详细说明。因此,完成流程设计后,还需要对在atm系统中传输的各种信息的内容和格式进行设计,以保证各个结点接收到的信息是没有二义性的标准信息。为简化信息长度,还需要进行各种编码设计。

(四)数据流程图的细化

流程图的细化也就是对上一层流程图各个结点的分解处理,就是将结点作为研究对象,依据结点同环境之间的输入/输出关系,根据自顶至底的设计方法,逐步细化各层设计,直到能让软件人员进行编程为止。atm系统在完成上述设计后,要对系统中各个结点应完成的主要处理内容进行设计和说明。结点的处理数量与上层的输入信号有关,一般有多少种输入信号,结点就应有多少项处理内容。下面仅就atm系统中第一层以及第一个处理结点的内容作概要分解说明。

1.atm终端机处理。终端机要同持卡人和银行主机交换信息,因此,终端机同环境的关系,就是同持卡人和银行主机的关系。这样,终端机的输入信号,包括来自持卡人的插卡信号、持卡人输入的pin信号和交易信息,以及银行主机的响应信号。因此,终端机应有读卡处理、读键盘处理和支付处理;此外,终端机还可能接收管理人员从终端机或从银行主机发来的管理信号,因此终端机还有管理功能。

2.读卡处理。处理过程为:终端机根据不同的读卡结果,进行相应的读卡处理。检查银行卡规格时,若发现插卡方向错误,或非本系统的银行卡,则退卡,显示相应信息,结束服务;若检查通过,则向客户发出输入pin指令从而进入读键盘处理。

终端机读卡处理顶层的其他结点类似终端机处理的逐层分解细化,通常分解到第三层数据流程图,通过处理说明就可以移交给软件人员进行系统设计和程序设计了。

项目管理的底层逻辑篇8

晋城市气象灾害预警公共服务系统的总体结构包括逻辑结构和物理结构。其中,逻辑结构表示软件的整体结构;物理结构表示软件部署时的总体结构。网站设计采用web四层结构,自顶部向下依次为表示层、逻辑层、数据持久化层和数据库层。上述各个层级的功能和作用具体表现在以下4方面:①表示层。表示层是指网站用户和管理员在浏览器中能看到的所有页面,包括网站所有的页面展示部分,且与逻辑层分离,这有利于网站的制作、维护和扩展。②逻辑层。逻辑层包括用户和管理员的业务逻辑,定义了业务流程和用户交互的过程。单独划分逻辑层有利于重新定义网站和升级业务逻辑,且不会影响其他层次。③数据持久化层。数据持久化层负责所有信息集和信息项的数据持久化操作和增删改查,可接受其他模块的调用和逻辑组织,并具有执行相应的持久化功能。④数据库层。数据库层负责管理系统中的oracle数据库或其他数据库。晋城市气象灾害预警公共服务系统采用了当下比较流行的四层用户/服务器模式。这种模式在逻辑上将应用功能分为用户显示层、业务逻辑层、数据持久化层和数据层。用户显示层可为用户提供应用服务的图形界面,有助于用户理解和高效定位应用服务;业务逻辑层位于显示层与数据持久化层之间,是专门为实现气象局提供明确的业务逻辑的层次,该层次封装了与系统关联的应用模型,主要负责业务逻辑的封装,并分离用户表示层与数据库持久化代码;数据持久化层可确保用户应用程序和数据服务之间的联系,主要功能是执行用户数据的持久化工作,将封装的模式呈现给用户应用的程序,并提供固定的持久化接口;数据层是上述模式中最底层也是最关键的一层,用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。晋城市气象灾害预警公共服务系统四层结构具有以下4个特点:①任何系统都须具有良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能达到适应环境的目的。②增强了气象对象的重复可用性。气象对象是指封装了企业逻辑程序代码、能够执行特定功能的对象。③随着组件技术的发展,这种可重用的组件模式会被越来越多的网站开发商接受。④该系统的四层模式具备很高的稳定性、延展性,可集中管理服务,并将服务统一于用户端。网站在web设计四层结构中各个模块的部署位置。其中,包括1台数据库服务器、2台应用服务器和1台流媒体服务器。数据库服务器用于部署数据库管理系统,比如mySql和oracle;1台应用服务器分别部署管理员功能模块和普通用户模块;流媒体服务器可播放视频天气预报。web四层结构中的表示层、逻辑层和数据持久化层均部署在应用服务器上,数据层部署在数据库服务器上。采用数据库服务器和应用服务器分离的方式可提高数据库的安全性,同时还能提高网站的性能。此外,采用2台应用服务器分离管理员和普通用户有助于提高网站的整体性能。

2关键技术

该系统中的关键技术有以下6种:①信息中插入图片。采用FCKeditor中的html编辑器,在信息中插入图片后可直接看到效果,从而简化了图片信息的录入过程。②系统安全性。建立了严格的用户校验机制,采用基于角色的访问控制模型实现了对后台管理系统用户访问权限的管理,以保证系统的安全性;建立了日志管理机制,可记录系统的登录、退出、编辑和删除等行为。③并发访问。选择了性能较好的web服务器tomcat,并采用静态页面等方式减少并发访问时数据库连接对资源的消耗。在信息时,可生成静态页面,用户访问时直接读取静态页面,无需从数据库中动态读取数据,大大减少了数据库的连接次数,解决了并发访问时数据库连接耗尽的问题。④气象站与地理信息的结合。选择了webGiS提供的mapaBC,可将气象信息与地理信息有机结合,并展示于互联网中,使相关用户能自主获得更多的气象信息,且具有良好的并发性。⑤气象探测信息的互联网展示通过统一的编程接口发出,整合了零散的气象探测信息,且能够有效地在互联网上展示,使相关用户能够在气象产品中获取更多的收益,进而给人们的日常生活、农业活动和广大科研机构提供了更有效的信息展示方式。⑥在流媒体气象视频展示中,采用了视频压缩技术和多种流媒体服务方式,可向相关用户展示立体的图像和音频信息。

3安全防范措施

3.1数据的安全保护措施

在业务内网的数据收发过程中,需要在数据收发、身份识别和网络系统等方面具备特别的保护措施,具体可以采用以下4种措施保护数据的安全:①全套接层协议(SSL)是在internet的基础上提供的一种保证私密性的安全协议,它能使用户与服务器应用之间的通信不被攻击者窃听,并始终对服务器和用户进行认证。因此,采用SSL协议可有效加密和认证网络服务。②采用SSH协议实现internet的加密访问。③后台数据文件的安全是该系统最为关键的部分。因此,应采用信息加密工具pGpi实现窗口信息加密、签名文件加密、传统档案加密、文件和磁盘的安全清除等功能。④应独立为系统安装硬件身份识别工具,可保证与第三方Ca认证机构单位认证和数字签名系统的良好连接,以确保终端用户身份的真实性。

3.2病毒和恶意代码的防范措施

应安装先进的病毒防治软件。晋城市气象局从2008年起,购买了正版的卡巴斯基杀毒软件,并实现了业务内网病毒库的自动更新,实施监视和判断系统中是否有病毒存在,从而阻止了计算机病毒的进入。杀毒软件可识别计算机病毒具有的特征,并提出处理策略,比如删除可疑病毒、恶意代码和恢复文件。

3.3黑客的防范措施

黑客的防范措施由以下3部分组成:①安全检测网络、系统、数据库和前台应用程序;②对网络、系统和数据库、前台应用程序进行安全漏洞修补服务;③全天候实时扫描和监控入侵行为。

3.4系统的备份和恢复

近年来,晋城市气象局为拓展气象服务领域,新增了5套应用服务系统,根据这些系统的运行状况,任何应用系统随着时间的推移,难免出现整体或部分的异常情况。因此,系统软、硬件的备份和恢复是十分关键的。晋城市气象实施了不同的备份和恢复措施,目的是尽可能快地恢复运行计算机系统所需的数据和系统信息。备份不仅在硬件故障或人为失误时可起到保护作用,还能在入侵者非法访问或对网络攻击时起到保护作用。根据系统中不同信息的安全需求,采用的备份机制为场地内高速度、大容量、全自动的数据存储、备份和恢复;场地外的数据存储、备份和恢复;系统设备的备份和恢复。为了备份该系统,采用了2套完全相同的服务器备份数据。如果系统出现异常,则启动另一台备份服务器即可。

4结束语

项目管理的底层逻辑篇9

论文摘要:本文通过介绍框架技术特点,提出了基于五层web应用的框架整合结构。并在此结构上实现了城市公共信息服务平台的应用,为类似的电子政务应用提供了参考。

随着网络技术、信息技术的发展,各类信息充斥我们生活、工作及学习周围,但这些信息之间重复严重,数据准确度不高,社会公众很难准确获取与个人生活、工作、学习密切相关的本地数据和信息,进而影响人们的网络生活,因而各类专业的本地信息服务已成为当前互联网应用的一种趋势。由政府牵头整合政府、市场、企业等多方面资源,共同构建一个统一、开放、跨平台、系统结构层次清晰的城市公共信息服务平台,并以灵活多样的形式为本地公众提供准确、权威的信息服务已经成为当地互联网应用的一种重要需求。

基于j2ee技术标准体系的框架技术能够快速、有效地支持大中型web应用项目的开发,但是在大中型web应用中,可能存在几个层次,需要使用几个不同的框架。那么如何整合各层框架以让每个层在一种松耦合的方式互相协作,这是一个在软件工程领域实践性很强的课题。本文介绍了一个以spring框架为核心,结合struts、hibernate框架的一种快速有效构建web应用的框架整合策略,并在此整合策略基础上阐述了城市公共信息服务平台应用的设计思想和实现技术。

1j2ee框架技术特点

目前随着软件开发技术的发展,可重用、易扩展,而且是经过良好测试的软件组件,越来越为人们所青睐。这意味着人们可有充裕的时间用来分析、构建业务逻辑,而不是繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。

1.1spring框架

spirng框架是一个以控制反转(ioc)模式和面向方面编程(aop)思想为核心的轻量级框架,主要用于对中间层业务组件的管理。常用的中间件解决方案ejb是一种重量级的容器,主要有以下缺点:必须实现ejb的接口,对业务逻辑组件侵人性很大;应用依赖于ejb容器,不能单独运行,另外启动时间长,测试复杂、配置很困难。

首先,spring是一种轻量级的框架,是基于组件化、模块化的结构。它有分层的体系结构,因而针对spirng开发的组件不需要任何外部库,也可以选择某个模块独立使用,从而避免了ejb复杂、启动时间长的缺点。

其次,spring也是一个ioc容器。ioc模式是spring的核心,它的本质是由容器控制业务对象的协作关系,而非传统的用程序编码在业务对象直接控制,控制权由程序代码转移到外部容器。通过ioc模式可以很容易地管理和替换业务对象。

另外,spring又是比较全面的框架,它并没有象ejb一样从底层开始全面实现j2ee的功能模块。spring提供了大多数的层次功能模块,但它并不是从头开始实现的,它通过对其它框架技术的支持来实现各层功能。它包括springcore核心层、mvc模块、springdao、springorm、上下文控制、web表示层、面向方面编程7个功能模块。

1.2hibernate框架

hibernate是一种专业的对象关系映射(o/r)工具,通过hibernate的o/r映射,可以以对象化的方式处理数据库表中的记录。hibernate通过properties文件建立数据库连接,通过映射文件(.hbm.xm1)将数据库表映射为java类,表中的每条记录对应为类的实例,而数据列值映射为实例的属性。hiber—nate将这些实例以持久对象(persistentobject)形式向中间业务层提供服务。

1.3struts框架

sturts框架很好地实现了mvc设计模式的概念。它通过actionservlet对象实现集中控制,并利用struts—conifg.xml文件,很好地实现了视图、控制、模型层次之间的分离,使得页面设计与改变真正做到与代码无关。

2整合框架的web应用架构

如果以上述任何一个框架技术来实现大中型的web应用,会存在效率不高,解决问题不彻底等问题,通过以轻量级框架spring为核心,充分利用spring框架的开放性、模块化以及对业务对象、事务管理等强大的功能,整合sturts、hibernate框架,可以构造出五层web应用架构,分别为:客户层、web层、业务层、持久层、企业资源层5个层次。整合框架的web应用架构如图1所示:

在客户层,通过jsp页面实现交互,负责传送请求(request)和接受响应(response)。在web层,sturts根据actionservlet接受到的请求,委派相应的action。action对象中的execute方法调用模型中的业务组件,决定“做什么”。在业务层,管理业务组件的springioc容器负责向action提供业务模型(mode1)组件,决定“怎么做”和该组件的协作对象数据处理(dao)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件提升系统性能和保证数据完整性。业务层通过dao数据访问对象,向持久层请求数据处理。在持久层,依赖于hibernate的对象关系映射和对象化的查询语言操作,通过hibernate的会话,处理dao组件请求的数据,并返回处理结果。

对照基于ejb的一般web应用结构,整合框架的web应用架构中通过spring提供的轻量级业务组件的管理和ioc容器,实现了对ejb技术的替代和更好的组件重用性,使业务组件间的协作更加松耦合。同时利用spirng的开放性、模块化以及对hibernate良好支持的特点,通过引入专门的o/r映射框架hibernate实现了对关系数据库的对象化,隐藏了数据库的底层细节,便于开发者以统一的面向对象思想来开发应用。另外通过sturts的mvc模式,开发清晰明确的业务流程和用户交互,实现表现逻辑和业务逻辑的解耦,摆脱了原有的开发模式带来的高耦合性。通过框架的整合不仅集成了各种框架的优势,同时也构造了层次清晰,结构合理的5层web应用架构。

3应用实例

3.1项目概述

“宁波市城市公共信息服务平台”是由宁波市信息产业局牵头,以政府投资形式建设的一个公益性地信息服务平台。平台整合本地各类专业的信息服务企业和机构的信息资源,以合作的方式共同打一个宁波市本地的信息资源集聚中心和本地的信息门户,进而既增值开发利用了政府信息资源,也提了信息服务业的核心竞争能力,同时也为社会公众提供了一个权威的、统一的信息渠道,达到了政府、业、公众共赢的局面。

本平台整合了与社会公众有关的衣、食、住、行等政府、企业信息。信息分基本信息和市场商业信息两类。对于基本信息,平台的管理员及加盟企业所有成员都能进行信息的维护和更新,并有专门的信息员进行审核和管理,保持平台基本信息的准确与及时性。对于商业信息,基本上由者负责为原则,平台提供一种免费的平台,同时对这些的信息给予地图定位以及与其它频道信息等关联的增值服务,进一步提升第三方网站的信息价值。根据本平台的用户角色区分,主要有:前端普通用户和后台管理用户。后台管理用户有4种,分别是系统管理员、频道运作单位、加盟企业、信息员,主要负责对信息的采集与。前端用户是指一般的网站浏览用户,前端普通用户可以按分类信息查询,也可以按搜索引擎方式查询,在查到文本信息的同时给出对应的gis信息,进而可以获得行车路线等有关地图位置信息。另外,如用户根据本平台查到的信息,想进一步进行电子商务操作,如网上购物、电子订票等,本平台可以负责直接转向,起了一个信息门户的作用。

3.3主要实现技术

本平台采用tomcat5.0作为web服务器,struts框架为1.2版本,spring框架为1.2.5版,hiber—nate框架为3.0版,根据上述整合框架的web应用架构来实现平台的结构。

3.3.1视图层页面设计:根据前端用户灵活的信息浏览需求,同时又要适应频道运作单位自己管理频道模块的需求,因此,页面设计改动不能影响到其它业务逻辑。在实现中通过sturts的自定义标签,结合mvc模式,实现页面与业务逻辑分离,做到jsp页面不包含java代码。另外,利用jsp技术在显示页面嵌入地图内容,实现图文并茂的显示方式。

3.3.2web层请求响应控制:通过struts—conifg.xml配置文件把后台用户管理页面或前台用户浏览页面都对应到每个action,当页面发出请求后,根据struts—config.xml的配置文件中对应的action部署,由action对象调用本平台内的业务层组件。如果此时请求的是地图信息那么action对象中以ap/方式向市规划局的gis平俞调用地图位置信息,并把结果返回给客户端。如果此时请求是进一步需要第方电子商务服务,那么直接重定向到第方电子商务服务网站。

3.3.3业务对象的ioc方式管理:web层的action只是决定“做什么”,并没有实现“怎么做”,具体的业务逻辑由业务层的业务组件来完成。平龠中包括信息查询、会员注册、积分管理等功能模块都需要有一个业务组件来实现该功能。在项目实现中,把每一个业务组件包按接口类和实现类分开编码,当需要互相协作时,在代码层只要直接引用协作对象的接口类就可以了。协作对象的实现类统一南spring容器根据配置文件的说明进行注入。如:在本项目中,普通会员信息的业务需要信息员审核,审核通过后要把该信息的状态记录到某个频道运作单位下。那就可以分为i个服务组件:信息组件、信息审核组件、信息状态记录组件,在spring的ioc机制下,利用配置文件和基于接口与实现分离的编码方式可以很好地实现这个组件之间的松耦合协作,减轻了应用对容器的依赖。

3.3.4利用spring框架实现事务管理及与持久层会话:在本项目中对于会员注册,积分管理等操作需要进行事务管理,同时所有的操作数据保存需要与持久层进行连接,这些都可利用spring框架本身的功能来实现。如:通过spring配置文件可以直接实现数据源、会话工厂、事务管理和数据访问对象的配置,数据访问对象根据上述spring配置可以直接和持久层连接.这样在实现有中不用考虑这些功能的具体实现。hibernate通过转换工具把各类信息保存表转换成相应的对象文件和.xml映射文件,spring中的数据访问对象,直接对对象文件进行操作,由hibernate完成数据的持久化。

项目管理的底层逻辑篇10

关键词:web3.0;网站;应用开发

中图分类号:tp393文献标识码:a文章编号:1009-3044(2009)24-6695-02

web3.0applicationDevelopmentwebSite

CHenwei-feng

(Chien-shiunginstituteoftechnology,taicang215411,China)

abstract:thearticlefirstdescribedthedevelopmenttrendofweb3.0,web3.0andthenbyanalyzingtheinternalwebsite,describesthetechnicalfeaturesofweb3.0,theendusersiteintheweb3.0waytobuildpersonalwebsites.

Keywords:web3.0;websites;applicationdevelopment

1web3.0的发展趋势

1.1什么是web3.0

GoogleCeo埃里克施密特定义:web3.0是一系列组合在一起的应用,对于个人用户来讲互联网将更具有可管理性,也意味着,互联网将由一系列的标准化web组件拼装起来。

谷歌中国的总裁李开复定义:web3.0将以网络化和个性化为特征。谷歌正越来越热衷于把微软的桌面软件移植到网上,例如,谷歌已开始做web3.0概念,已推出了在线办公软件,还正在计划推在线操作系统。

1.2web3.0与web1.0、web2.0的区别

从互联网的发展进程来看,web1.0的特点是联合,出现了网站与网站之间的广泛链接。web2.0的特点是互动,出现了社区、论坛、博客等等,用户在网站系统内拥有自己的数据。web3.0的特点是能通过第三方信息平台同时对多家网站的信息进行整合使用。相对于web1.0时期信息通过超级连接跳转互通。web2.0时期信息通过程序中的标识代码在页面内容里互通.web3.0所实现的是信息可以直接从底层数据库之间进行通讯.底层数据库具备完整的信息交换机制。

现有的web2.0只能通过pC终端应用在互联网这一单一的平台上,面临现在层出不穷的新的移动终端的开发与应用都需要新的技术层面和理念层面的支持。而web3.0将打破这一僵局,使得各种终端的用户群体都可以享受到在互联网上冲浪的便捷。

1.3典型的国内web3.0网站

2007年创建阔地网络()和雅蛙网(http//:),都是目前国内基于web3.0概念的个人门户网站。用户可以根据自己的喜好和使用习惯来聚合网络信息、创造个人门户,展示了“RSS聚合+搜索定制聚合+个性化平台”的模式,在自己的个人门户就可以浏览网页和下载软件,体现高度的个性化。这两家网站为web3.0在我国的发展提供了一个风向标和示范。

2web3.0的技术特点

web2.0以Blog、BBS,taG、SnS、RSS、wiKi等应用为核心,改变了传统的互联网阅读模式,向主动创造信息迈进,把内容制作开放给用户,实现人与人交互,共同创造内容。web3.0则引智能搜索、智能网络、和虚拟现实技术等,将对现有互联网应用模式带来新的挑战。继承web2.0,广泛采用ajax技术,广泛采用RSS内容聚合,表现为博客大行其道,互联网上涌现大量的个人原创日志。

2.1源数据的分析

是web3.0的源数据分析应用于大规模关键词的搜索技术及衍生服务。新一代的标记语言如oDw、RDF、SpaRQL等会在原始数据内容之上注解,使之具备“生命力”,不但可以搜索,还可以向每个用户提供个性化的服务。这个实现的技术难点在于一个通用的数据标准,不过随着开放源代码计划的逐步实施和多层协议的完善,在可预见的将来,所有的网络数据都可以被不同的应用和服务所理解和执行。举个简单例子,当你在网上搜索商品时,网站会自动弹出相关性极高的相关商品,购买、评价、推介和其他很多你可能想不到的信息,这个过程包括了服务程序对商品的Dna分析(源数据的提炼、产生、归类、注释),调用客户行为信息数据库,发出搜索指令,高效率抓取数据,用友好界面呈现等等,这个过程在用户界面上和web2.0没什么区别,但依靠后台的大规模运算,可提供非常舒服的用户经验,这就是网络Dna。

2.2智能网络

这是一个以整个互联网为基础,聚合了所有知识的平台,开发人员甚至普通用户可以透过web3.0的技术非常高效地抓取所需要的知识(注意是“知识”而不是简单的“信息”),拼凑出自己所需要的信息和电子商务服务平台,比如说你要计划一个大型的时装表演活动而你又几乎是个门外汉,在web1.0时代是在网络广告里找公关公司、设计公司承包这个项目,在web2.0时代是可以通过搜索引擎自我学习一番,而在web3.0时代可以通过很多可以彼此智能化相通的网络服务器,发出一系列的外包指令,以最低的成本得到最好的服务,同时还可以用非常多的可视化工具帮助你理解业务逻辑,跟踪项目进度。所以智能化的核心是虚拟化和可视化。

2.3虚拟现实技术

首先是继承web2.0中应用的核心技术,如XmL、Soa、aJaX等,实现了信息的推送、订阅、主动筛选。web3.0所要使用的技术就是一些带有解析功能的数据交换协议和注解语言,使得知识共享真正成为可能。企业可以根据自己的需要搭建商用软件,传统媒体重振雄风,有专长的人可以做个完全的自由职业者。web3.0的核心软件技术是人工智能,模仿补充人类思维行为的软件技术,具备学习能力、界面友好、视觉化,包含了本地端的视觉化工具和远程的高性能分析工具。以后的应用不但是模块化的,而且是多线程、高度图像化、可自我治愈的,例如,网络虚拟人的出现就是虚拟现实技术的综合运用。

3web3.0网站的开发

3.1web3.0框架

相对传统软件及web开发来讲,web3.0引入了全新的软件开发架构及四层语义软件开发架构:数据层、语义逻辑层、业务逻辑层、业务视图层。相对传统软件开发框架做大的变化为语义逻辑层:传统软件的开发是从对业务需求开始的。而web3.0框架下的软件开发时,从底层构建并不针对需求,而是针对语义。把传统三层框架中的业务逻辑划分了两层,一层是语义逻辑,即支撑业务逻辑的代码层。所以在传统开发思想和模式下无法实现web3.0。web3.0技术开发原理:针对应用分析业务涉及的语义元素、然后根据语义元素建立支撑业务的类表、然后根据类表对应数据表并开发基于数据表的语义逻辑层代码。同时还可以根据业务需求开发业务逻辑层和视图层代码。并实现缝合。web3.0会推动计算机语言从面向对象开发,升级到面向对象的语义开发。任何一个人遵循此标准开发程序,都可以彼此替换和互联。并最终会推动产业出现新的下一代计算机开发语言。

3.2用户在web3.0网站的搭建个人网站的方法

web3.0网站既是平台又是工具,给用户节约了大量的时间,而且它所提供的各种个性化工具组件将大大的提高用户的工作和学习效率;在web3.0时代,一切操作都将在网页上完成,这将很大程度的便利了用户的使用;在个人门户上用户可以合理的统筹安排自己的学习、工作和娱乐休闲生活。

4结束语

web3.0跟web2.0一样,不仅仅是技术的创新,更是思想的创新,web3.0是基于互联网应用层面的理念。在技术上是在原来web2.0电子公告的技术原理上推进了更多的应用。web3.0将建立可信的SnS(社会网络服务系统),可管理的Voip与im,可控的Blog/Vlog/wiki,web3.0是通过更加个性化的技术革新丰富着互联网的表现形式,实现数字通信与信息处理、网络与计算、媒体内容与业务智能的有效结合。

参考文献: