当前位置: 主页 > 解决方案 > 软件定制开发 >
1.软件开发方案
所有的项目软件开发过程都应遵循一个生命周期模型,在软件的开发策划期间,需要仔细考虑项目的特征和目标,然后选择生命周期模型。下面介绍常用的瀑布型生命周期模型。
瀑布模型的主要特点是:只有当一个阶段的文档已编制好,且该阶段的产品得到质量保证人员(SQA)认可后,该阶段才算完成。测试或验证在每个阶段都必须执行;一旦产品完成提交用户,其后的任何修改均属于维护阶段。

在瀑布型模型中,主要定义的过程包括:需求分析、系统分析、代码实现、测试。
  • 需求分析
  • 需求分析的目的是通过调查和分析,获取用户需求并定义产品需求。需求分析的输出文档是《需求分析说明书》(RAS)。
    《需求分析说明书》(RAS)将用客户语言来描述系统需求,其主要的目的是作为与用户沟通并达成一致的基础。这些需求需要用户参与进行评审,并得到用户的确认。然后对用户需求进行细化,对比较复杂的用户需求进行建模分析,最终形成面向软件产品的软件需求说明。
    需求分析的主要任务包括:
  • 确定需求调查的方式,例如问卷式、面对面谈等;
  • 调查与记录;
  • 分析需求信息;
  • 编写《需求分析说明书》(RAS);
  • 组织《需求分析说明书》(RAS)评审。
  • 主要的角色与职责为:
  • 系统分析员,调查和分析用户需求;
  • 客户与最终用户提供必要的需求信息,并确认客户需求;
  • 系统分析员定义产品软件需求;
  • 客户与最终用户提供必要的信息,并确认产品需求。
  • 系统设计
  • 系统设计是指设计软件系统的体系架构、用户界面、数据库、模块等,从而在需求和代码实现之间建立桥梁,指导开发人员去实现能满足用户需求的软件产品。系统设计可分为两个阶段:概要设计和详细设计。概要设计的要点是体系架构的设计,详细设计的重点是用户界面设计、数据库设计以及模块的设计。主要的输出文档包括:《系统总体设计报告》。
       主要的参与人员包括:
  • 项目经理指定具备相关经验的开发人员进行软件系统架构的设计,这些开发人员又称为体系架构设计人员;
  • 在用户界面的设计中,常常需要美工和用户的参与;
  • 项目经理指定开发人员进行数据库、模块的设计。
  • 系统设计的主要任务包括:
  • 设计准备,包括阅读前一阶段的文档等;
  • 设计,不同的设计内容所采用的方法有所不同,例如对于用户界面的设计,一般采用“原型创作----原型评估----细化”的步骤或方法;
  • 编写相关的设计文档;
  • 组织设计评审。
  • 开发(代码实现)
  •      开发也称为代码实现,其主要的任务为编写整个系统的代码,并进行单元的测试。本过程的输入是个设计文档,输出是源代码、单元测试记录以及代码审查记录。其主要工作任务包括:
  • 准备----确定代码规范等标准、准备软件开发环境等;
  • 代码实现----代码的编写;
  • 代码审查----依据代码规范,进行代码的审查,包括开发人员的互查项目经理的同行评审;
  • 单元测试----采用互测方式进行。
  • 测试
  • 测试包括集成测试、系统测试和用户验收测试。集成测试侧重于模块的集成,是子系统/模块一级的测试。系统测试是针对最终软件系统进行,是一次全面的测试,需要确保软件系统满足产品需求并遵循系统设计。所以系统测试控制的一个关键点是测试的覆盖率。验收测试一般由用户组织,属于用户对系统的符合性、正确性进行验证的测试。
    测试的主要任务包括:
  • 制定测试计划----当产品需求和系统设计文档完成之后,测试小组就可以开始制定测试计划和测试用例了。测试计划的主要内容包括:测试完成准则、测试范围、测试方法、人员、测试环境与辅助工具、进度;
  • 设计测试用例----有测试人员完成其设计和编写工作,并需要通过评审;
  • 测试实施----依据计划和测试用例进行测试,测试中发现的错误,要求及时记录,将错误及时通知开发人员并使测试人员可以跟踪错误直到错误问题解决关闭;
  • 错误管理与改错----任何人发现的错误,将被记录,开发人员及时消除错误,在开发人员消除错误之后立即进行回归测试,以确保不会引入新的错误;
  • 测试报告----对于系统测试盒验收测试,在测试完毕后需要进行总结并形成报告。
  • 的产品测试独立于产品的开发,在产品单元测试完成之后,即交付专门的测试部门进行后续测试,独立开发的测试机制进一步保证了测试的有效性和完整性。
  • 版本控制
  • 控制的目的是保存产品的所有版本,避免发生版本的丢失混淆等现象。并且可以快速准确地查找到任何产品的任何版本。控制的范围是项目中的所有产品,从需求文档、设计文档、测试文档、用户手册到源代码。在人员参与度方面,将是所有的项目成员都必须遵照版本控制规程操作文档库。
    控制的要点包括:
  • 在项目的策划阶段,编写配置管理计划。在计划中将指定人员作为配置管理员,负责整个项目的版本控制,变更控制等。计划中还需要标识配置项作为版本控制的基本对象;
  • 配置服务器作为配置库服务器,集中存放项目的所有已完成产品;
  • 使用配置管理工具实施管理控制;
  • 针对产品的不同状态,实施不同的控制策略,例如基线状态的产品,其变更要求有严格的申请、评估、审批、实施、验证、提交过程;
  • 2.软件实施安排

    为保证项目在规定的时间内顺利完成,软件项目管理工作对本系统的实施极其重要。将在软件项目管理总体上贯彻工程的思想,并在项目组织实施中抓住关键工序,采用一系列措施和办法。
  • 软件管理总体框架

  •  

  • 软件管理的阶段
  • 基于GIS系统是一个包括软件和部分硬件相结合的系统集成类工作,从系统集成的角度,我们对该部分项目管理主要分为如下6个阶段:
     

  • 工程的准备;
  • 工程的确定;
  • 工程设备采购、软件开发;
  • 工程设备安装、单项调试和验收;
  • 联合测试、试运行阶段;
  • 项目验收;
  • 各个阶段的主要工作
  • 以下是各个阶段的工作时间内容具体说明。
    1)系统工程的准备阶段:该阶段主要工作是对系统工程进行系统分析和深化设计、准备系统接口技术要求文件。具体包括如下内容:按照相关标准规范,根据系统项目的实际情况确定系统需求,完成并提交相关文档;明确系统工程的信息流程和管理模式;确定系统相关的数据、界面接口协议,包括采用的操作系统、硬件接口、连接方式、通讯方式、网络协议、数据记录格式、应答方式、网络故障时的自救方法、进度安排、测试标准等;利用最精简的设备,搭建模拟环境,为系统检测和发布相关设备的初步验收和测试做好实验准备;从技术角度,对主要设备供应商的技术要求提出明确意见或建议;对系统工程进行深化设计并提出详细的技术实施方案;制定行之有效的《工程实施计划》;与设备供应商等进行总进度计划协调。
    2)系统工程的确定阶段:该阶段主要是根据系统工程的总体安排,确定设备供应商等的工作范围、责任、相互关系等。从技术角度,确定设备供应商的工作内容;业主、系统集成商、设备供应商一起确定系统各子系统之间的接口标准、规范、实施方法以及相互责任。包括各自相关的工作内容、质量控制、变更管理、各方责任、工程进度安排、测试标准、联调开通等。
    3)系统工程的设备采购、软件开发阶段:该阶段、设备供应商等按照合同要求进行设备采购供应、软件开发项目实施等工作。所有主要设备都需要在货物到达后由进行测试,符合标准和规范,才能送往现场安装,并提交相应的设备测试报告。通过确定阶段对系统软件总体需求的理解,进行软件实际开发阶段。
    4)系统设备安装、单项调试和验收、模拟联合测试阶段:该阶段有、设备供应商等按照有关要求进行设备的安装、单项调试和验收,模拟联合测试。设备安装工程中,将根据需要向业主提出工程实施阶段性验收。将按照规定的实施进度,确认个部分工程系统的进度,提交合格的各项验收测试报告给业主,对存在的问题,与业主技术协调处理。建立系统集成模拟联合测试环境,组织设备的模拟联合测试。设备供应商提供有关测试、验收的工作程序及方式给业主、,经批准后进行有关工作。设备在测试验收时,和设备供应商提供所需的、标准的测试仪器、仪表。
    5)联合测试、试运行阶段:该阶段由负责,业主统一协调、进行功能集成、联合测试,通过后进入试运行阶段。将协调、组织相关设备供应商,负责建立功能完善的集成系统。将制定整个系统运行的方案和工作程序(包括调试运行周期),并成交业主。将提供《试运行方案》给业主,协调、组织有关方面,开始试运行工作。
    6)系统验收阶段:该阶段由业主和统一协调,组织进行验收。验收包括:预验、初验和最终验收。在系统试运行和联网运行验收通过后,将向业主提出正式验收申请。验收标准将依据有关国际标准、中国国家标准规范、系统设计和招标文件的要求。