基于模型的软件开发方法研究

时间:2022-04-14 05:54:48

基于模型的软件开发方法研究

【摘 要】随着计算机科学技术的迅速发展,软件系统越来越复杂,功能越来越强大,若还采用原来旧的方法开发软件,则无法满足软件系统的要求,这就需要有一种更新,更符合系统工程要求的方法来指导软件系统的开发。

【关键词】软件系统;模型;软件开发方法

软件开发一个复杂的活动,它包含了需求调研,系统设计,开发, 部署,维护等活动。而且现有规范和流程目的并不是让你去完成文档, 而是通过这些文档,让软件的质量更能得到保证。开发方法是不是实用有效,一般取决于它是否具备三个要素:简单、可视化和精确。也就是说,该方法必须用起来简单,其表现形式要有效地发挥图形语言的可视化效果,同时所表达的内容必须精确以确保其意思能被准确理解。

1、软件系统的开发过程

1.1软件过程领域的基本概念

软件可划分为智能软件、系统软件和应用软件三个领域。由于不同的软件采用的开发知识不同,从而构成各自相应的方法。尽管,智能软件和应用软件分属不同的领域,但智能软件和应用软件都是计算机软件。建造软件系统的解决方案由三个关键的相互关联的基本要素组成:

(1)软件工程过程(SEP)。

(2)软件工程过程支持环境(SEPSE,如开发工具和建模语言等)。

(3)培训、指导和咨询服务。

Watts Humphrey曾经说过,“软件工程过程就是将客户需求转化为软件产品的所有必须活动的集合”。在整个解决方案中首当其冲而且也是最重要的要素是过程。

1.2软件过程的特点

软件过程中的所谓“过程”是创建一个产品或完成某些任务的一种系统化的方法和工作过程,它异于通常计算机领域所特指的可运行的软件的过程,其执行者不再仅仅是计算机,而经常是由具体承担任务的软件开发人员使用给定的开发工具来执行,其意义更为广泛,描述了以某种有条理的方法进行工作或实现一个目标的任何一种机制,它甚至可以是一个无法在计算机上运行的过程[2],完全由人工或人工借助计算机领域以外的其它工具来完成。

软件过程是关系错综复杂的各种活动的集合,各活动之间有时有严格的时序关系,有时是异步并行的,有时互为条件,有时互为反馈,因此实际的软件过程中的活动存在一种复杂的网状关系。软件开发是一个高度动态的过程,动态变化渗透到了软件过程的各个方面:需求说明、任务分配、调试、开发策略。工具集、支持环境等,这些变化的出现通常不可预料,造成的影响也无法确定。同时,软件过程是一个面向人的系统,而软件本身又是一种无形的产品,这就导致了工作进度难以控制,工作质量难以评估,产品质量难以把握,使整个过程具有极大的模糊性。随着计算机应用在各领域越来越广,软件项目规模愈来愈大,许多由分布在不同地区不同国家的大量工作人员合作的跨国际合作项目也纷纷出现,在此情况下,正确有效地进行管理的迫切要求使得软件过程的研究成为热点。

2、建立过程模型的基本过程

开发过程模型首先要对外部过程模型进行提取和抽象,产生一个非正式的过程模型,包括执行过程所接收到的反馈。随后对过程的活动顺序以及所涉及的产品进行抽象描述,它可用于许多相似的项目和组织之中,共享某些信息。这样的模型意味着是一个非常高层的过程体系结构,可以满足一般的原则和需求,可以将其视为一个通用的原模型。在此基础上,用户可以根据具体情况详细而又严格地描述过程中的各种任务类型,这时可以从管理人员的角度来精细化所有的子模型,如对特定领域内的任务和角色进行分类和施加约束。在将软件模块交付集成测试组时,可以说明这是某个特定过程模型所产生的结果。同时这个过程模型还需要进一步实例化以适应项目的各种约束和条件,因而实例化的过程模型是一个可执行的过程描述,它将实例化的活动(即任务类型实例化为具体的任务)与具体的产品和项目资源联系起来,并遵循一定的调度时间表。一旦过程模型为相应的项目进行了实例化,该模型就可以进行模拟和运作。在过程模拟期间,需要工具来帮助分析、评价和模拟过程模型,并得到许多反馈信息,包括资源使用情况、资源瓶颈、活动完成时间、活动等待时间、人员等待时间等等。有了这些信息就可以对实例化过程进行修改,使之趋于合理化。在模拟之后就可以对过程模型进行实际运作,生产有关的产品。

3、当前主流的软件开发方法

3.1结构化方法

所谓软件构件化,就是要让软件开发像机械制造工业一样,可以用各种标准和非标准的零件来进行组装。软件的构件化和集成技术的目标是:软件系统可以由不同厂商提供的,用不同语言开发的,在不同硬件平台上实现的软件构件,方便地、动态地集成。这些构件要求能互操作,它们可以放在本地的计算机上,也可以分布式地放置在网上异构环境下的不同结点上。

(1)结构化程序设计方法

20世纪60年代,围绕是否应取消goto语句,人们展开了一场激烈的争论。最终人们认识到,软件开发中的问题的解决不仅仅是简单的取消goto语句,而是应该改变传统软件开发思维观念,在此基础上创建新的程序设计方法。围绕goto语句争论的结果使人们形成了新的思维观念:编写程序时,在正确地实现了软件功能的前提下,必须考虑到程序的可维护性,重视程序的可读性、清晰性和可理解性,而不能随心所欲地去过分追求程序编写技巧。

由于使用三种基本程序结构(顺序、选择、循环)组成的程序具有良好的可读性、清晰性和可理解性,容易维护,所以逐渐成为主流的程序结构标准。按照这样的新思维观念,形成了一个新的程序设计方法———结构化程序设计方法,结构化程序设计是根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。

(2)结构化分析方法和结构化设计方法

结构化程序设计方法的巨大成功推动了结构化分析方法和结构化设计方法的发展。1974年,Stevens、Myers 和Constantine发表文章《Structured Analysis》,提出了结构化分析和结构化设计的概念。

上一篇:商业银行档案管理集中化、电子化与编研深化的... 下一篇:城市10KV线路无功补偿降低线损情况分析