论软件开发模型及应用

2022年1月,我所在的公司,某能源集团下属的信息公司,承担该能源集团下属的化工部投资建设的化工生产综合运营管控系统,简称运营管控系统。作为公司技术骨干,我有幸担任了该系统架构师,主要负责该系统的架构设计工作。该系统主要是解决化工部已有系统信息孤岛的问题。运营管控共有5个大模块,工厂模型、工作台、通用服务、活动监测、营运管控。大家知道,如何让系统开发顺利进行,选择一种适合的开发模型组织开发显得至关重要。

当前主流的开发模型有瀑布型、演化型、螺旋型、统一过程型(UP)、敏捷型。其中瀑布型式严格遵守软件生命周期各个阶段的固定顺序,一个阶段完成再进入另一个阶段。适合于业务需求比较明确而且很少变更的项目。演化型是从初始的模型演化成为最终软件产品,是一种渐进式的原型法。适合于软件需求不明确且项目周期比较长。螺旋型是结合瀑布型和演化型的优点,最主要的特点是加入了风险分析,适合于项目规模庞大而复杂且高风险的项目。由于流程复杂、增加了大量的成本和时间消耗。敏捷方法是一种以人为本、迭代、循序渐进的开发方法。适合于小规模软件或者小团队开发。统一过程是一个通用框架,适合于各种应用领域、组织类型、性能水平、项目规模的项目。采用了强大的UML建模语言。能够再团队中形成统一的规范和模板。同时有许多的成熟商业软件提供整个开发周期的开发支持。可以极大的降低开发和管理成本。提高开发效率,因此,我们选择采用统一过程开发模型。

     基于统一过程的软件项目一般分为初始阶段、细化阶段、构建阶段、交付阶段四个阶段。本文主要着重从前三个阶段具体论述统一过程开发模型在该项目中的具体应用。

初始阶段

 在初始阶段,我们主要为整个系统建立业务模型并确定项目边界。化工部旗下一共有3家二级子公司,27个家三级生产单位。很多业务流程各不相同。通过调研分析和整理,并利用UML工具PD对业务模型进行梳理,识别出与系统交互的外部实体。比如人员、组织机构、班组、物料、设备、装置等。整理系统中所需要相关接口。包括硬件接口和软件接口。然后就是整理相关业务流程。从哪个环节开始,哪个环节结束,中间牵扯哪些部门,业务涉及哪些岗位,什么角色提交、什么角色审批等。所有工作流相关业务都给弄明白了。最后,我们利用PD建立相关的用例图和时序图,并整理相关设计文档,以备后续设计使用。同时我们也梳理一些特殊需求进行了评估。对于暂时无法实现或者成本比较高的需求,统一记录到风险列表。

细化阶段

  主要是基于初始阶段确定下来的需求流程进行补充和完善,同时,淘汰业务中风险最高的元素。识别出主要功能和一些重要的非功能需求,做出最佳的决策。我们基于初始阶段的成果,对实体进行进一步的梳理,譬如,剔除无用的实体类,抽象合并和留下真正需要的实体类,同时根据业务需要补充类之间的关系。我们对业务用例也进行进一步梳理。根据系统业务功能需要,我们评估哪些构件需要投入时间去研究开发的,哪些是需要采用第三方的。一些业务组件,基于我们原有构件库进行升级和改造,可以直接使用。这样既可以提高开发效率,又节省项目成本。而譬如一些基于视频通信的功能,由于自研的成本和本身团队能力限制,所以采用第三方的构件来实现。由于项目工期相对紧张,同时为了减少后期开发和维护的成本,对通信接口格式规范进行了统一的设计,同时,也在架构层面上降低项目的开发风险。

构建阶段

主要是开发所有剩余的构件和应用程序功能,把这些构件集成为产品。由于运营管控系统分为PC端、移动端、PAD端三部分。我们采用了基于组件的方式进行具体功能的构建,譬如,我们设计开发了通用登录模块,统一的权限管理模块,组织机构管理模块,物料管理模块,日志管理模块等。同时,我把团队又根据业务分为通用业务组、组件架构业务组、移动端业务组,通用业务组主要进行具体业务功能的开发;组件架构组,主要对通用构件进行封装和集成,移动端业务组,主要进行移动端和PAD端开发。由于采用了组件进行开发,既降低开发的风险和后续维护的成本,同时提高开发效率,项目推进过程中取得了不错的效果。由于涉及到全集团27个化工厂,同时,软件的产品质量是以一个企业生存的基础,我们在测试环境也进行充分的工作,譬如,在开发内部进行单元测试,系统模块进行功能测试;同时,由于涉及浏览器和移动端,在各种版本兼容性上也进行了充分的测试;最后,考虑到用户体验,还对系统进行充分的压力和性能测试。

整个项目历时16个月开发完成,最终于2023年4月交付,到目前运行稳定。通过在生产环境一段时间的使用,用户普遍反应良好。但是同时也存在一些不足。例如,在细化阶段,没有充分考虑到

实践证明,这种开发模型的选择有效降低了开发成本和项目风险。提高了开发团队的开发效率,运营管控系统是一个化工数据管理平台,在后续的工作中,为公司创造效益,同时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件开发模型是指在软件开发过程中,为了提高开发效率和质量而采取的一系列方法和步骤。常见的软件开发模型包括瀑布模型、迭代模型、增量模型、螺旋模型等。 其中,瀑布模型是最经典和传统的软件开发模型。它将软件开发过程划分为需求分析、设计、编码、测试和维护等阶段,严格按照各个阶段的顺序进行。瀑布模型适用于需求比较稳定且项目规模较小的情况,但缺点是对变更的适应性较差。 迭代模型和增量模型相对于瀑布模型更加灵活和可适应变更。迭代模型将开发过程分为多个迭代周期,每个迭代周期中包含需求分析、设计、编码、测试等过程,每个迭代周期都可以进行需求的调整和优化。增量模型将软件开发过程分为多个增量阶段,每个阶段都是对软件的某一部分进行开发和测试。这些模型适用于需求较为不稳定的情况,可以通过反复迭代和增量开发的方式不断改进软件。 螺旋模型是一种风险驱动的模型,将软件开发过程划分为多个循环,每个循环都包含需求分析、风险评估、开发、评审和计划等阶段。螺旋模型适用于大型和复杂的软件开发项目,通过不断评估和调整来应对风险。 在CSDN(中国软件开发者社区)上,开发者可以分享自己的软件开发经验和技术探讨,了解和学习各种软件开发模型的优缺点。CSDN上不仅提供了软件开发模型的详细介绍和解释,还提供了开发者们自己的项目实践和案例分享,帮助其他开发者更加全面地理解和应用这些模型。 总之,软件开发模型是软件开发过程中的指导方法,能够帮助开发者提高开发效率和质量。在CSDN上,开发者可以学习和分享各种软件开发模型的经验,从而提升自己的开发能力和项目管理能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值