本发明属于软件开发技术领域,特别是涉及一种基于Fountain模型的面向对象软件开发方法。
背景技术:
软件过程是措为了获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。通常使用模型描述软件过程,称为软件过程模型。
自上个世纪70年代以来,随着软件工程思想的广泛应用,逐渐出现了很多软件过程模型,例如瀑布模型、增量换切和螺旋模型等。这些模型的出现规范了软件的开发过程,有效的提高软件开发的质量与效率。但随着面向对象技术的普及,传统的软件过程模型已径不再适用。
Fountain模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象软件的开发发过程。该模型将软件开发过程从下向上分为面向对象分析、面向对象设计、编码、集成测试、运行和维护几个阶段。
技术实现要素:
本发明的目的在于提供一种基于Fountain模型的面向对象软件开发方法,通过基于Fountain模型进行并行开发,在开发过程中直接修改其他阶段中的遗漏问题,不仅降低了开发工作的技术难度,而且也使得对开发工作的管理变得更加容易。
本发明是通过以下技术方案实现的:
本发明为一种基于Fountain模型的面向对象软件开发方法,包括如下步骤:
步骤一,面向对象分析:先识别出系统中所涉及的类和对象,并分析它们相互间的关系,建立该系统的对象模型、动态模型和功能模型;
步骤二,面向对象设计:将步骤一得到的需求转换成系统实现的方案,包括问题域、人机交互、任务管理和数据管理;
步骤三,面向对象的编码和测试:通过程序设计语言将面向对象设计的结果转变成面向对象程序,还包括面向对象的单元测试、面向对象的集成测试和面向对象的系统测试。
优选地,所述步骤一,面向对象分析:先识别出系统中所涉及的类和对象,并分析它们相互间的关系,建立该系统的对象模型、动态模型和功能模型中,所述对象模型表示系统的静态结构,描述组成系统对象以及对象之间的关系;所述动态模型描述系统的动态行为,显示对象在系统运行期间的动态交互情况的模型;所述功能模型描述系统实现的功能,反应用户对目标系统的需求。
优选地,所述步骤二,面向对象设计:将步骤一得到的需求转换成系统实现的方案,包括问题域、人机交互、任务管理和数据管理中,所述问题域以分析阶段建立对象模型,对对象模型做一些补充和修改,具体为增添、合并、分类解、对象、属性和服务。
本发明具有以下有益效果:
本发明适用于开发一些大型软件产品,开发人员可以进行并行开发,在开发过程中直接修改其他阶段中的遗漏问题,不仅降低了开发工作的技术难度,而且也使得对开发工作的管理变得更加容易。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种基于Fountain模型的面向对象软件开发方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种基于Fountain模型的面向对象软件开发方法,包括如下步骤:
步骤一,面向对象分析:先识别出系统中所涉及的类和对象,并分析它们相互间的关系,建立该系统的对象模型、动态模型和功能模型;
步骤二,面向对象设计:将步骤一得到的需求转换成系统实现的方案,包括问题域、人机交互、任务管理和数据管理;
步骤三,面向对象的编码和测试:通过程序设计语言将面向对象设计的结果转变成面向对象程序,还包括面向对象的单元测试、面向对象的集成测试和面向对象的系统测试。
其中,步骤一,面向对象分析:先识别出系统中所涉及的类和对象,并分析它们相互间的关系,建立该系统的对象模型、动态模型和功能模型中,所述对象模型表示系统的静态结构,描述组成系统对象以及对象之间的关系;所述动态模型描述系统的动态行为,显示对象在系统运行期间的动态交互情况的模型;所述功能模型描述系统实现的功能,反应用户对目标系统的需求。
其中,步骤二,面向对象设计:将步骤一得到的需求转换成系统实现的方案,包括问题域、人机交互、任务管理和数据管理中,所述问题域以分析阶段建立对象模型,对对象模型做一些补充和修改,具体为增添、合并、分类解、对象、属性和服务;人机交互:考虑具体的实现环境对系统的人机交了系统逬行详细设计,确记人机交互的细节,采用用户界面的设计;任务管理:就是对系统中各种任务进行选择和调整;数据管理:如果软件中涉及单独存储的数据,则需要在该部分给出数据存放方法的设计和相应操作的设计。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。