热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大型企事业信息管理系统非功能性需求&软件架构技术参考(转)

大型企事业信息管理系统非功能性需求&软件架构技术参考骆金松      管理信息系统总结起来一般有三种典型的架构模式,现取主要的几个非功能性指标比较如
大型企事业信息管理系统非功能性需求&软件架构技术参考
骆金松
  
     管理信息系统总结起来一般有三种典型的架构模式,现取主要的几个非功能性指标比较如下:
大型企事业信息管理系统非功能性需求&软件架构技术参考 (转)
  图:三种典型的架构模式
      一般产品模式比较适合有一大批功能需求极为相似的客户群,软件开发商所追求的是软件的边际效益,例如杀毒软件、办公软件、绘图软件等一般都具有很强的通用性,适合采用产品模式,在企业战略方面一般注重占有率,打造品牌,通过大量销售来降低单位成本。大型企事业单位的管理信息系统一般具有较多的个性需求,显然大多数情况下不适合。
      项目模式是另外一个极端,完全按企业的需求量体裁衣,但是也存在许多缺点:一般受限于开发团队的能力、投入财力等原因不按高扩展性和灵活性设计,影响系统的维护;一般实施周期很长,超过6个月很常见,有的甚至持续数年;需要保持一个较大的团队持续维护,总体投入较大;统计数据表明定制开发项目有超过50%的失败率,风险高。当然有时只能选择此模式,比如极个性的需求,找不到类似产品或平台。
     一个中间的模式是“平台”+“服务”模式,这种模式能够兼顾前两种模式的优势,公共平台以及大多数标准模块选配就可以了,在其之上通过二次开发、建模等手段进行个性化定制扩展,满足企业个性需求,是大多数大型企事业单位最合理的选择。大型企事业单位选型时,选择一个好的架构可能比功能齐全更加重要,因为这种模式下,个性需求可以通过“服务”加以满足,在满足个性化需求、降低总体拥有成本(非一次性投资)、提升未来的扩展和调整、与现有系统集成等方面可以良好平衡。 这里所说的服务是指专业的服务,与通常所说的安装、配置、培训和少量的二次开发是不样的,需要建立按行业分工的专业服务体系。
 
     现在许多企事业管理信息系统提供商都声称其软件是平台化架构的(鱼目混珠),可以满足大型集团性企业的需求,实际上这些产品的平台化水平参差不齐(大多数产品很差)。许多集团大型企事业单位在选型方面经验不足,重视功能性需求而忽视非功能性需求(我感觉十分明显),这是极端错误的。越是大型的企事业单位,在管理信息类系统选型时应该加大非功能性需求在整个选型评价体系中的比重,对关键指标一票否决。
    国内许多大型企业在信息化方面的投入惊人。有的企业就CAPP方面的项目就有17个,涉及到四次重新选型。有的企业规模不算大,就PDM产品就有3套,而且互相不集成,大多数都用的不好。其中许多是非功能原因导致的,我见过太多因为非功能性的原因导致系统最终失败的案例,其原因举例如下
(1) 采用了传统的C/S架构,不支持Internet,当企业规模扩展之后,只有更换系统,重复投资倒在其次,数据(知识)迁移和继承问题多多。如果每个地点分别实施几套C/S系统,则面临集成问题。
(2) 由于采用传统C/S结构,如未采用可降低数据库负载的集群和缓存的中间层服务器,企业数据量和用户数上升以后数据库服务器不堪重负,系统性能日益下降却无能为力。
(3) 系统的扩展性和灵活性不够,比如有局限性的工作流建模、非可插拔模块架构等,难以满足企业个性化需求扩展以及业务调整以后的随需而变,无法支撑IT战略,而今影响到企业战略的调整。有些企业是两层皮,企业完全没有按IT系统运行。
(4) 一些企业完全定制开发自己的信息系统,有全套的源代码,自认为系统就容易扩展和调整,其实这样的系统一般都未按扩展性和灵活性来设计架构,一旦核心成员离职、文档不齐全造成的后果更严重。
      
    一般而言,大型企事业单位对管理信息系统选型时应考虑如下非功能性需求: 
(1) 海量数据高并发:一般集团性、大型企事业单位的用户为数千和数万甚至更多,而涉及的数据量也可能数TB甚至数十TB,应明确提出应用条件下的性能要求。
(2) 基于Internet分布式应用:一般大型企事业存在多个分支结构,跨越城市、省甚至国家,一般需要基于Internet,传统的C/S模式无法满足需求,必须处理好集中管理与分布管理的关系。
(3) 异构系统的集成:一般大型企业存在较多的各类信息管理系统,而且可能是异构的,不同的操作系统,不同的架构技术等,所以如何实现与诸多信息系统的集成是一个挑战。
(4) 业务流程自定义:为了开展新业务或对现有业务进行优化,系统应该提供强大的业务流程自定义功能,必须与表单、权限、任务管理、email等进行紧密的集成。
(5) 全面的个性化定制能力:除了考虑业务流程自定义外,还应该考虑数据结构自定义、功能模块自定义、表单自定义、报表自定义、主菜单和主页自定义、权限自定义等。
(6) 架构的随需而变:对于大型集团性企业而言, IT必须快速适应IT战略,IT战略必须快速适应企业战略。除了全面的个性化定制之外,系统的架构设计必须具备随需而变的能力,否则IT会***企业。
(7) 安全性:略
 
    我将大型企事业单位的非功能性需求简单图示化总结为如下几点:
大型企事业信息管理系统非功能性需求&软件架构技术参考 (转)
图:大型企事业单位的主要非功能性需求
    要给出一个最合理的大型企事业信息管理系统的软件参考架构技术是不可能的,事实上不存在所谓的最优参考架构,基于成本、进度、功能需求、非功能需求、技术条件、人力条件、外部条件等综合最优的架构是最好的架构。基于我们的经验,虽然不存在最优参考架构,但是存在一些最佳实践,具有参考价值,欢迎讨论
指标
建议
部署
建议采用B/S(浏览器/服务器)模式,或Smart Client(智能客户端)模式。比如XBAP就是Smart Client的一种,对于企业应用可以相对B/S模式提升交互式体验。Silverlight也是一种智能客户端技术。
高并发、海量数据、性能
建议三层及以上架构:中间层采用集群、负载均衡、缓存等技术。表示层采用延迟加载、多线程、异步、分页等性能优化技术。数据库采用SQL性能优化、索引、分区表、物化视图、磁盘阵列、集群、数据仓库等技术。低带宽还可以采用压缩传输。
高可用性
看是否有高可用性要求。比如建立高可用性集群,在整个服务不中断的情况下对服务器软硬件进行维护,可以将集群中某台服务器暂停使用,进行临时性维护,比如可动态向高可用性集群中添加和移除硬件等。
安全性
加密传输、加密存储、电子签名、身份认证、访问控制、备份恢复、分级管理、审计管理等。
安全性对于大型集团型企业的重要性不言而喻。
分布式、集成
系统自身基于SOA(面向服务的体系结构),SOA提供分布式通信编程框架,这对于集团性和大中型企业,复杂的应用环境和集成的需要是非常重要的。
另外提供良好的集中式管理与分布式管理的支持。一般小型系统采用集中式管理,对大型企业而言集中管理是无法实现的。而缺少集中管理则会加大管理的难度,提高管理成本。
扩展性、灵活性
基于平台和插件体系构建。
平台上提供较多的标准可选模块(可按领域或行业细分),而不是完全定制。
采用主流的二次开发环境和语言进行开发。
提供工作流建模能力,最好是成熟商用工作流引擎。
最好提供数据模型的扩展能力(往往被忽视),最好是面向对象的。
提供各种表单的定制能力。
状态模型(或生命周期模型)与权限、流程、数据等紧密相关,最好也可以定制。
主菜单和主页(类似Web part)、菜单等UI界面可以定制。
最好权限模块也具有扩展能力(不同数据类型不同)。
集成开放的商用报表引擎(比如水晶报表)。
 

推荐阅读
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • 河北省工业和信息化厅公文收发管理系统
    河北省工业和信息化厅及其下属各地市工信管理部门之间的文件传输主要依赖于纸质或电子邮件方式,这种方式存在效率低下、安全性差等问题。为了解决这些问题,省工信厅计划开发一套公文收发管理系统,实现文件的电子化和统一管理。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 本文深入探讨了如何选择适合业务需求的MySQL存储引擎,详细解析了不同存储引擎的特点、适用场景及其在数据存储和管理中的优势。通过对比InnoDB、MyISAM等主流引擎,为读者提供了全面的技术指导和专业建议,帮助开发者在实际应用中做出明智的选择。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • B站服务器故障影响豆瓣评分?别担心,阿里巴巴架构师分享预防策略与技术方案
    13日晚上,在视频观看高峰时段,B站出现了服务器故障,引发网友在各大平台上的广泛吐槽。这一事件导致了连锁反应,大量用户纷纷涌入A站、豆瓣和晋江等平台,给这些网站带来了突如其来的流量压力。为了防止类似问题的发生,阿里巴巴架构师分享了一系列预防策略和技术方案,包括负载均衡、弹性伸缩和容灾备份等措施,以确保系统的稳定性和可靠性。 ... [详细]
  • MySQL数据库安装图文教程
    本文详细介绍了MySQL数据库的安装步骤。首先,用户需要打开已下载的MySQL安装文件,例如 `mysql-5.5.40-win32.msi`,并双击运行。接下来,在安装向导中选择安装类型,通常推荐选择“典型”安装选项,以确保大多数常用功能都能被正确安装。此外,文章还提供了详细的图文说明,帮助用户顺利完成整个安装过程,确保数据库系统能够稳定运行。 ... [详细]
  • (1)前期知识:1. 单机架构:单一服务器计算机——其处理能力和存储容量有限。2. 集群架构(负载均衡器与多节点服务器)——通过增加节点数量来提升系统性能和可靠性,实现高效的任务分配和资源利用。 ... [详细]
author-avatar
淑敏惟雄988
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有