智能配置软件开发与分布式管理系统演进

需积分: 0 4 下载量 9 浏览量 更新于2024-08-04 收藏 273KB DOCX 举报
"项目经历1" 该项目主要涉及软件工程领域的多个方面,包括软件/插件开发、网络技术、测试策略以及分布式系统的构建。在这个项目中,开发者面临的主要挑战是解决老平台的维护问题以及适应快速变化的终端应用需求。 首先,针对老平台代码难以维护的问题,项目团队设计并实现了一个新的智能配置软件开发平台。这个平台采用了“引擎+数据”的模式,将应用核心(引擎)与发行包(数据)分离,有效减少了频繁的平台发布,从而减轻了测试和工作量。这种解耦设计对于支持不同终端类型的兼容性和版本后向兼容至关重要,因为它允许团队专注于更新发行包,而不是整个平台。 接下来,为了满足智能终端的统一管理和批量编程需求,团队构建了一个分布式智能终端管理系统。该系统采用客户端-服务器(CS)架构,并利用开源技术栈(如JAVA、Tomcat、Hibernate和PostgreSQL)降低成本。随着用户需求的变化,系统逐渐演进,支持公共网络、移动端、AWS部署以及虚拟化,甚至引入MongoDB进行数据挖掘。 在项目管理层面,作为主管系统架构师,负责人不仅负责系统架构设计和演进,还担任产品负责人(PO),规划需求。同时,协助部门经理安排项目计划和人员分配,推动敏捷实践,如持续集成,使用Hyper-V等工具。此外,项目团队建立了首个部门专利,反映了团队在人才梯队建设、组织转型和团队文化建设上的努力。 项目遵循了一套完整的产品生命周期管理流程,包括计划阶段、需求分析、设计、测试、审计报告和经验教训总结,这些都是基于CMMI5和ISO9001质量管理体系的标准。项目团队认识到,由于软件产品的复杂性和需求的动态性,很难制定长期计划,因此倾向于采用敏捷方法,将合同视为购买团队生产力的方式,功能需求在项目执行过程中逐步明确。 这个项目体现了软件工程中的最佳实践,包括模块化设计、分布式系统构建、敏捷开发方法以及严格的项目管理。通过这些方法,团队能够有效地应对软件开发过程中的挑战,如质量控制、进度管理、成本控制,并适应不断变化的市场需求。同时,项目也展示了CMMI、ISO和敏捷开发在解决软件生产问题时的不同侧重点,强调了理论与实践的结合。