1.需求分析:通过对客户业务的了解和与客户对流程的讨论对需求进行基本建 模,最终形成需求规格说明书。
2.总体设计:通过分析需求信息,对系统的外部条件及内部业务需求进行抽象建模,最终形成概要设计说明文档。
3.详细设计:此部分在对需求和概要设计的基础上进行系统的详细设计(也包含部分代码说明)。
4.开发编程:对系统进行代码编写。
5.测试分析与系统整合:对所有功能模块进行模拟数据测试及其它相关性测试并整合所有模块功能。
6.现场支持:系统上线试运行进行现场问题记录、解答。
7.系统运行支持:系统正式推产后,对系统进行必要的维护和BUG修改
根据实际情况一般软件开发流程分为以下四个部分。
(1)需求分析阶段:
以用例图为主,到类分析图为止。类图是源码的来源。用例的主功能用序列图表示。用例的状态可以用状态图标识, 注意活动图要细化到与序列图相同程度。按照不同用户画出不同用例图。按照不同物理位置画出部署图;按照不同类型用户对程序进行分类,得到组件图。从序列图得到协作图,并且进行简单类分析,得到类分析图。序列图的消息变成操作,消息中的信息变成属性。
(2)总体设计
为用户所见的系统计算机层面,包括界面。 每一个用例的完整序列图,包括主功能,备用功能,异常事件,错误输入与错误处理等序列图集,每一个分支一个序列图。用一个活动图归并全部序列图,遇到分支用菱形框,得到用例的完整功能。细化用例图,比较每一个用例的活动图,得到相同的部分,分解成包含用例;对于复杂功能的用例,分解成多个包含用例。对有些功能进行模块化扩展,称为扩展用例。对用户与用例可以用继承关系。从序列图得到协作图,进行简单类分析,特别是实体类。增加类:界面类,事务管理类。画出系统状态图(有活动表达式),对重要的类画出类的状态图,从中得到新的属性与操作。对增加的类重新画序列图,活动图与协作图。分析类图。细化状态图。状态图为主,应用类图是重心,画出全部用户的细化用例图,说明与其它系统的接口。画出系统总体设计图,根据应用类图与顺序活动图。建立UML总体模型。
(3)详细设计阶段
程序的内部结构与实现方案的详细类图为主,重点是增加控制类。从类图得到程序的结构,从顺序活动图得到程序的过程(C++).重画有控制类的序列图、协作图、活动图。用协作图将操作函数化,用返回值将属性变量化.给出类状态图的活动表达式。状态图的事件是序列图的消息,是类的操作,活动表达式是转换事件的实现,因此是类的操作的实现。分解活动图,根据某一个操作。与活动表达式不同。将应用类图变成设计类图,用具体的语言,子系统的划分:类图,活动图(模块图),组件图,部署图。将类align到组件中,将组件到部署图中。建立程序设计的完整模型。
(4)实现阶段
建立并发视图。组件图:可执行文件,配置文件。部署图:进程,设置硬件,例如打印机,软件测试,产品阶段