技术开发 频道

软件过程的改进计划

    2.软件过程实践

    下面就一个开发零售百货业ERP项目的公司作为例子来研究一下软件过程的实践,包括分析企业开发过程的现状,制定改进计划,实施和评估。

    2.1.分析企业现有软件过程的现状

    2.1.1.业务分析及企业背景

    . 这个开发零售百货业ERP系统的公司是一个由35人组成的小型企业,是隶属于某大型卖场的开发团队。
    . 拥有一批对零售业务具备多年经验的需求,开发和测试人员。
    . 公司内部组织分成四个独立项目组:需求组、开发组、测试组、系统组。
    . 各个项目组职责明确。
    . 使用J2EE架构,JAVA、JSP语言进行WEB页面开发。
    . 使用SYBASE数据库/数据仓库产品进行数据存储及处理,可支持大数据量。
    . 在开发过程中使用CVS、Bugzilla Bug追踪系统及自主研发的更新工具支持项目开发。
    . 行业领域比较专业,有很多公式、业务规则、合同规则来指导开发工作。
    . 具有稳定的客户群,分布全国都有客户分店,但是零售业客户的需求不断变化、新需求层出不穷。
    . 整个软件产品对客户的管理工作起到决定性作用。客户的订单、进退货、财务、付款、合同等管理流程全部需要由软件来完成,因此直接关系到客户的经济效益。
    . 软件质量和开发效率极其重要,直接影响公司的命运。
    . 已经有成功发布并运行正常的软件产品。

    2.1.2.项目风险分析


    . 客户需求不断变化,给开发过程的进度控制带来很大困难
    . 业务范围广、流程复杂、专业程度高(例如财务方面的业务分析及建模),需要具备一定的行业知识。
    . 客户的数据安全性、完整性、可靠性、正确性需要得到百分百保证。
    . 系统分为总部和全国各分店系统,需要通过网络交换数据,网络安全需要考虑。
    . 服务器访问量大,需要硬件支持。

    2.1.3.内部环境

    . 内部组织结构
        。 公司内部分成四个项目组:需求组、开发组、测试组、系统组。
           根据开发的模块大小从需求组、开发组、测试组抽调部分组员组成模块开发小组。
           系统组负责环境架设、程序更新等工作。
        。 公司拥有一批业务经验、行业知识丰富的人员。
        。 公司拥有多名开发经验超过5年的开发人员。
    . 开发过程
        。 使用比较传统的开发过程:需求分析—》设计开发—》系统测试—》发布新版本。
        。 基本类似于瀑布式开发过程,其中会使用些增量式开发。
        。 测试方面依据业务流程做黑盒测试,主要依靠业务经验来测试产品,无自动测试工具。
        。 需求阶段有详细的需求文档作为开发依据,
        。 开发过程中没有规范的设计文档,很多情况下仅仅是根据需求文档直接做开发。
        。 有些设计文档是开发项目结束后才补写的。
        。 没有固定去做测试计划,有时仅仅是开发完成后就开始分工测试。
        。 有做测试案例但没有固定的规范约束,测试案例交由开发和需求人员确认。
        。 有BUG系统追踪需求变更及BUG处理情况,但无系统的测试报告给开发人员参考,大部分情况下是口头和开发/需求人员沟通BUG的问题点。

    . 支持工具
        。 WINCVS
        。 Bugzilla Bug追踪系统
        。 自主研发的更新工具

    2.1.4.产品特点

    项目比较庞大,一般拆分成模块进行开发。一个模块的开发人员为3~5人左右。

    项目开发完成的软件是作为商业应用的一个ERP系统,包括零售百货业的所有流程管理、物流管理、财务管理等。

    软件的使用周期一般可以在10~20年,维护周期长,需要有高可靠性的质量保证。涉及到有很多商业及财务数据需要保存,安全性很重要。访问用户比较多,响应速度要快。

    技术复杂程度参差不齐,有些模块比较简单技术要求不高,有些模块比较复杂,需要不断更新新技术。总体来说由于对于行业的业务分析要求严谨,又是使用比较新的开发技术,所以技术复杂程度和管理程度相对都要高一点。下图给出了一个技术与管理程度的比较:

    Technical vs. Management Complexity

    2.1.5.分析总结

    通过以上四节对该公司的一个现状分析可以得出以下一些结论。

0
相关文章