信创软件的架构、设计、推进实施策略等参考

随着软硬件基础设施的推进和完善,各类信创生态的软件应用可能会成为新的热点。

产品型软件VS项目型软件

一、产品型开发

产品型软件开发是以开发和销售可复制的标准化软件产品为目标,通常面向广泛的市场用户。开发完成后,产品可以被多个客户购买和使用。

特点:

通用性:产品设计追求广泛适用性,能够满足多个客户的共性需求。

可复用性:一次开发,重复销售。

市场驱动:以市场调研和用户反馈为主要驱动,持续改进。

版本管理:定期发布更新版本,支持长期维护和功能迭代。

开发流程一般为:

市场调研:分析目标用户需求和市场竞争情况。

需求定义:根据用户共性需求,制定功能列表和优先级。

架构设计:设计通用且灵活的架构,支持后续功能扩展。

开发与测试:以敏捷开发或迭代开发为主,确保产品质量。

发布与维护:上线后通过版本迭代不断优化功能和修复问题。

适用场景:

通用软件,如ERP、CRM、办公软件等。

消费级软件,如手机APP(微信、支付宝)和桌面工具软件。

软件产品厂商,如微软、Adobe等。


二、项目型开发

项目型开发是根据特定客户的需求,为其量身定制开发软件系统,通常是一次性开发,虽然达不到产品级水平,但是底层平台通常会从项目型转为平台型,由于同行业的应用场景相似性,逐步应用到同行业。

特点

客户驱动:以客户的具体需求为导向,开发专用功能。

个性化强:高度定制化,满足特定场景和业务流程。

周期性:项目开发完成后,可能会进入维护阶段,也可能结束合作。

风险高:由于客户需求变更和沟通不畅,项目可能面临延迟或超出成本预期。

开发流程一般是:

需求调研:与客户深入沟通,梳理具体需求。

需求分析:输出需求文档和功能定义,确认双方一致性。

架构设计:针对客户需求设计系统架构,确保高效实现功能。

开发与测试:按照需求定制开发,并通过验收测试。

交付与运维:交付系统后提供技术支持和维护服务。

适用场景

政府部门或企事业单位的定制系统开发,如OA、财务系统、ERP定制版等。

大型企业的内部业务系统开发,如物流管理系统、供应链管理系统等。

招标类项目,如智慧城市、信创定制化项目。

三、两者的区别

对比维度产品型开发项目型开发
目标开发标准化产品,适合广泛用户使用为特定客户量身定制软件系统
适用范围通用需求个性化需求
开发驱动市场需求与用户反馈客户需求与合同约定
开发周期持续迭代,生命周期长开发周期短,可能无长期维护
架构设计灵活、通用高度针对性
交付模式多版本发布一次性交付
商业模式一次开发,多次销售一次开发,一次销售,可能会分期。
风险功能满足面广,市场风险较大客户需求变更导致项目管理难度较大

四、从0到1开发的过程比较

1. 产品型软件开发的从0到1过程

第一阶段:调研和市场分析

确定目标市场、分析竞品、提炼用户共性需求。

第二阶段:MVP(最小可行产品)开发

快速开发核心功能,验证市场接受度。

第三阶段:产品迭代

根据用户反馈不断优化功能,扩展生态。

第四阶段:市场推广

通过多渠道推广,实现用户规模化增长。

2. 项目型软件开发的从0到1过程

第一阶段:需求梳理与合同签订

通过需求调研、文档撰写和原型设计,明确交付范围和标准。

第二阶段:架构与详细设计

针对客户需求设计适配架构,确保功能满足和性能优化。

第三阶段:开发与交付

按照需求完成开发,并通过客户验收。

第四阶段:维护与升级

根据客户反馈和新增需求,进行系统维护或升级。

五、结合信创的开发特点

在信创环境下,产品型软件开发项目型软件开发的目标更加明确:

产品型开发需适配国产生态,支持多操作系统、国产硬件、开发者生态、数据库、云平台等,强调通用性和兼容性

项目型开发需根据客户具体要求深度定制,重点满足安全性、可靠性和合规性要求。

从战略规划到架构设计

1. 理解信创战略和政策背景

信创的核心目标是通过推动信息技术应用创新,减少对外部技术依赖,支持国产软硬件生态。因此,产品和项目需要在以下几个方面满足信创要求:

操作系统与硬件生态的自主可控:保证系统能够运行在国产操作系统上,并支持国产处理器(如飞腾龙芯兆芯)。

安全合规性:遵循《网络安全法》和《信息安全等级保护法》,实现数据保护、身份认证、访问控制等安全功能。

合规认证与测试:通过信创合规测试,包括国家标准的兼容性测试、性能测试、安全测试等。

2. 架构设计

架构设计是确保系统符合信创要求的核心步骤。在设计架构时,架构师需要从以下几方面进行规划:

平台适配性:设计时需要考虑不同的操作系统(如麒麟统信中科方德等)和处理器(如飞腾、龙芯等)架构,确保系统在这些平台上的高效运行。

可扩展性与模块化:无论是产品级系统还是定制项目,采用微服务架构或模块化设计能够提高系统的可扩展性和灵活性。

安全性与合规性:设计时就要集成安全框架,确保数据加密、访问控制和身份认证符合网络安全要求。

中间件与数据库选择:确保中间件和数据库支持国产化。对于国产数据库和中间件,需要提前选择并进行兼容性验证。

3. 技术栈选择

操作系统:选择国产操作系统,如麒麟、统信、中科方德等。

处理器:选择支持国产处理器(如飞腾、龙芯、兆芯)的架构。

数据库:考虑使用国产数据库,如达梦数据库、人大金仓等。

中间件:使用国产的中间件(如东方通、中创等)。

架构落地

1. 操作系统与硬件适配

操作系统兼容性:在国产操作系统(如麒麟、统信、中科方德等)上进行全面测试,确保应用程序能够顺利运行。

需要做操作系统的兼容性处理,如调用接口的适配,处理文件系统、网络通信、进程管理等方面的差异。

通过对操作系统的底层调试和测试,确保在国内环境下的稳定性和性能。

硬件适配:

对国产CPU(如飞腾、龙芯、兆芯)的指令集进行优化,确保软件能够高效运行。适配时,要考虑到与x86架构的差异。

进行硬件驱动的开发或适配,确保硬件设备(如网卡、显示卡等)能够在国产操作系统上运行。

2. 数据库与中间件适配

数据库适配:调整SQL语句,优化查询性能,特别是在处理大规模数据时。

对数据库的底层调优,如存储引擎、缓存机制等,确保在国产数据库上能够高效运行。

在产品级系统中,必须支持国产数据库(如人大金仓、达梦数据库等)。对于SQL兼容性和性能调优方面,需要进行必要的调整:

3.中间件适配

选择适合国产操作系统和处理器的中间件,确保消息队列、缓存、负载均衡等中间件的国产化适配。

4. 安全性设计与合规性

数据加密:使用国产加密算法(如SM2、SM3、SM4)进行数据的加密存储和传输,确保符合商用密码管理的要求。

在通信层使用国产的安全协议,如商用密码的SSL/TLS协议,确保网络传输的安全性。

身份验证与权限管理:集成基于国产密码算法的身份认证和权限管理机制,保证系统能够实现用户身份验证、权限控制等安全功能。

合规性:确保系统符合《网络安全法》《数据安全法》《个人信息保护法》《密码法》等相关法规的要求,并通过相关的安全合规性认证。进行定期的安全评估,确保系统不会受到外部攻击。

进行系统的等级保护测评,特别是在涉及金融、政务等行业时,必须确保数据保护符合国家的规定。

5. 性能优化与测试:

兼容性测试:

进行全面的兼容性测试,确保在国产操作系统、数据库和硬件环境中,系统能够稳定运行。

对于不同的国产CPU(如飞腾、龙芯),要进行性能基准测试,确保系统在这些架构上的性能不低于传统架构。

压力测试与优化:

在产品级系统中,进行高并发、高负载的压力测试,确保系统在极限条件下也能稳定运行。

对系统进行代码优化,减少资源消耗,优化数据库查询,提高系统响应速度。

设计原则: 安全性、保密性、可靠性

安全与保密设计原则

自主可控

使用国产自主研发的软硬件产品,确保核心技术、数据与操作可控,避免依赖国外技术。

强制使用国产加密算法(如SM2、SM3、SM4)和国产密码模块。

分层防护

从物理安全、网络安全、主机安全、应用安全到数据安全,构建多层次防护体系,形成立体化安全保障。

最小权限原则

所有用户、服务和进程仅被授予完成任务所需的最低权限,降低因权限过大导致的安全风险。

安全与性能平衡

在设计中权衡安全性和系统性能,确保安全措施不会对系统的可用性和用户体验造成严重影响。

可审计性

系统需提供全面的安全审计功能,能够记录关键操作,便于事件溯源与责任划分。

可靠性设计的基本原则

系统可靠性是指信息系统在一定时间内,在规定条件下能够稳定运行、执行预定功能的能力。信创系统的可靠性设计强调国产软硬件在复杂业务场景下的稳定性和可用性。

冗余与备份

通过多副本冗余和实时备份,防止单点故障。

分布式架构

采用分布式设计,提升系统的扩展性和容错能力。

故障隔离

实现故障隔离,防止问题扩散到其他系统组件。

动态扩展

支持按需扩展和动态调整,满足业务增长的需求。

监控与预警

通过实时监控和自动化预警,提前发现并处理潜在问题。

推进实施策略

(一)顶层设计与规划

需求分析与目标设定

现状评估

全面评估现有系统、设备、业务流程的国产化现状,梳理技术架构、软硬件依赖、数据安全风险。

业务需求

明确信创化改造的核心目标,包括提升网络安全等级、支持国家政策、降低供应链风险等。

可行性分析

评估信创化的技术可行性与实施难度,为后续方案设计提供决策依据。

制定信创化实施规划

短期目标:完成基础软硬件平台以及管理类等非核心业务系统的信创替代(如操作系统、数据库、办公套件等)。

中期目标:实现核心业务系统的信创改造和优化。

长期目标:构建全技术栈,形成稳定、高效、自主可控的技术生态。


(二)技术实现策略

分阶段分步骤推进信创化

阶段目标工作内容
基础替代阶段建立国产软硬件运行环境。替换基础软硬件(如操作系统、数据库、办公软件)。
适配优化阶段提升系统兼容性与性能进行业务系统与国产平台的适配与性能调优。
生态构建阶段构建稳定的国产技术生态深化上下游生态协同,开发国产化专属解决方案。

(三)组织实施策略

建立信创项目组

成立由技术、业务、管理等多部门组成的专门团队,协调推进信创化工作,确保方案设计、实施、评估的有序进行。

试点示范与逐步推广

选取业务相对独立、影响面较小的系统进行信创试点,验证方案的可行性和适用性。

根据试点结果优化实施方案,逐步扩大国产化替代的范围,直至覆盖全业务。

合作与生态协同

与国内软硬件厂商建立战略合作关系,共同解决技术难点,推动产品创新。

加强与行业协会、机构等的协作,争取政策支持和资源倾斜。

声明:部分内容参考自网络,仅供参考、学习和交流之用,不构成任何建议。

软件安全测试主要使用代码审计、渗透测试和漏洞扫描技术,软件测试人员能够深入挖掘并识别出软件中的安全漏洞,从而在黑客攻击之前进行修复。

软件安全测试不仅局限于发现问题,重要的是用访问控制、身份验证和数据加密等关键技术,确保数据信息的安全性和完整性。

渗透测试服务

主要是模拟黑客的攻击方法对系统和网络进行非破坏性质的攻击性测试,目的是验证系统安全性,过程和细节产生报告给用户,由此证实用户系统所存在的安全威胁和风险,并能及时提醒完善安全策略。

源代码审计

通过阅读应用系统的源代码(java、python等)来发现潜在的安全漏洞及隐患的技术手段;代码审计的技术手段,可以弥补黑盒渗透测试的未能完全覆盖的漏洞环节与安全隐患,是一种可靠性、安全性最高的修补漏洞的方法。

APP安全评估

移动应用个人信息安全检测、个人信息保护合规评估、Android移动应用安全加固、移动应用安全检测、iOS移动应用安全加固、H5移动应用安全加固、SDK加固、SO加固。

安全培训服务

按照客户要求,提供相应的安全培训,比如供应链安全培训、安全加固培训、安全体系政策培训、安全风险意识培训等。

自研率检测

帮助企业识别软件源代码的自主研发程度,从而提升项目的验收质量。

信创测试

信创兼容性认证、信创产品认证、信创认证、信创产品评估证书、信创产品适配认证、信创测试、信创评估