background image

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

    【摘 要】随着计算机科学技术的迅速发展,软件系统越来越复杂,功能越来越强大,若还采用
原来旧的方法开发软件

,则无法满足软件系统的要求,这就需要有一种更新,更符合系统工程

要求的方法来指导软件系统的开发。
  【关键词】软件系统;模型;软件开发方法
  软件开发一个复杂的活动

,它包含了需求调研,系统设计,开发, 部署,维护等活动。而且现

有规范和流程目的并不是让你去完成文档

, 而是通过这些文档,让软件的质量更能得到保证。

开发方法是不是实用有效,一般取决于它是否具备三个要素:简单、可视化和精确。也就是
说,该方法必须用起来简单,其表现形式要有效地发挥图形语言的可视化效果,同时所表
达的内容必须精确以确保其意思能被准确理解。
  

1、软件系统的开发过程

  

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

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

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

  (

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

  (

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

  

Watts Humphrey 曾经说过,“软件工程过程就是将客户需求转化为软件产品的所有必须

活动的集合

”。在整个解决方案中首当其冲而且也是最重要的要素是过程。

  

1.2 软件过程的特点

  软件过程中的所谓

“过程”是创建一个产品或完成某些任务的一种系统化的方法和工作

过程,它异于通常计算机领域所特指的可运行的软件的过程,其执行者不再仅仅是计算机
而经常是由具体承担任务的软件开发人员使用给定的开发工具来执行,其意义更为广泛,
描述了以某种有条理的方法进行工作或实现一个目标的任何一种机制,它甚至可以是一个
无法在计算机上运行的过程

[2],完全由人工或人工借助计算机领域以外的其它工具来完成。

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

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

  开发过程模型首先要对外部过程模型进行提取和抽象,产生一个非正式的过程模型,