您好, 访客   登录/注册

应用方法论的软件开发过程

来源:用户上传      作者:

  通过采用适当的方法,将要研究的复杂问题,分解成多阶段,多个相对简单的小问题,逐个地分阶段进行解决。
  在软件开发的整个过程中,要经历这样几个阶段:需求分析→提出总体方案→系统规划→概要设计→详细设计→代码设计→测试→用户培训→试运行→用户意见反馈→产品完善→正式运行→用户意见反馈→产品升级,最终成为完善的软件产品。
  
  其中最重要的是需求分析阶段。只有明确需求,并满足软件设计人员和用户在对同一问题的理解完全一致的前提下,才能确保一个软件开发工作的顺利进行,该阶段是项目能否成功的关键。这个阶段需要和用户反复沟通,明确用户要实现的功能、达到的效果以及其现有硬件设备和网络环境等情况。一个大的项目有时需要进行几十次需求沟通,每次形成一个简单的需求说明书,当需求说明书得到用户的认可后,才可以进入下一阶段。也有人说,完成需求,就已经完成了项目的一半。该阶段需要介入的人员有项目经理、系统分析师、软件设计师、美工。其中,项目经理负责整个项目的协调工作;系统分析师和软件设计师负责根据用户提出的需求,判断该需求根据现有人员、技术是否可以实现,如果不可以,协商用户以可以实现的方式解决问题;美工负责理解用户对软件产品展现形式的需求,并以此来设计软件的外观(包括内容展现形式、色调、风格等)。该阶段形成的书面材料:《需求分析说明书》。
  明确需求后,由系统分析师和软件设计师严格按照《需求分析说明书》为用户设计总体方案,该方案是面向用户的,内容尽量少地涉及技术层面内容,主要侧重功能描述。包括该软件有多少功能模块,具体功能描述,辅助手段说明,最终达到的使用效果,以及对一些用户关心的特性(如安全性、可靠性等)方面的描述,同时,为客户提供一些硬件设备选择方案。该阶段形成的书面材料:《项目总体方案》。
  系统分析师和软件设计师根据《项目总体方案》,做系统规划和概要设计。从该步骤开始,以下的各步都将面向开发人员,形成的文字材料均以专业术语和列表等形式展现,尽量少用或不用描述性语言,力求言简意赅地表达。该阶段按软件模块提取功能点,不同模块间有交叉或相似内容的进行合并,并详细说明每个模块下包含的具体功能点,如增加、删除、修改、检索、分类、排序等,即对功能模块进行细化。形成的书面材料:《概要设计说明书》。
  在概要设计基础上,系统分析师和软件设计师进行详细设计。该阶段将搭建软件系统的整体框架,框架搭建一般有两种方式:一种从技术角度,按功能点搭建;另一种按内容,即按模块来组织。其中第二种用的居多,即按内容分成若干模块,在每个模块下,确定需要开发的功能函数(在面向对象的设计方法中我们称其为方法),把这些函数或方法要实现的功能都确定下来,并设计数据库的结构,包括有多少表,每个表有哪些字段,主键,外键,字段长度,是否需要索引,表与表间是否有关联,是否需要建立触发器等内容。形成的书面材料:《功能设计说明书》、《数据库设计说明书》。
  代码设计,即逐行编写代码的过程,也是从无到有建立该软件的过程。很多人通常所说的开发,都狭义地指这部分。实际开发中,这部分在前面各项设计完成的基础上,仅仅是一个实施过程,难度很小。该阶段主要介入的人员是软件设计师和程序员。形成的书面材料:《项目实施计划》、《软件安装手册》、《客户端配置说明书》、《性能优化配置参考》、《系统常见问题帮助文档》、《用户使用手册》、《管理员使用手册》、《软件验收确认单》、《培训计划》等。
  完成代码设计的软件产品,要经过测试才能拿给用户。测试种类很多,根据软件产品的规模和每个开发团队的实际情况选择最适合自己的方法。常用的小规模软件测试一般按下面流程进行:首先是自测,谁写的程序由谁来测试;如果没有发现问题,再由本组的软件设计师进行测试,称这部分为组内测试;之后由非开发组的成员,但仍然是开发人员进行测试,称为组间测试;前面的这些测试,都是针对软件的代码、可靠性、安全性、稳定性等方面进行的,完成的是集成、系统、环境等方面的测试,是面向技术层面的。之后由用户测试,这部分主要对软件功能进行测试,看能否满足用户的需求,与他们要达到的效果是否一致。形成的书面材料:《测试用例说明》、《系统测试报告》。
  完成测试的软件产品,到现场给用户安装、调试,之后进行用户培训。培训分两个层次:一层是针对系统管理员,一层是针对普通用户。之后进入试运行阶段,时间通常是3到6个月,视软件规模、复杂性而定,这个阶段及以后的正式运行阶段,用户将不停地提出反馈意见,软件设计人员根据意见反复修改,之后完成产品的升级,形成最终的软件产品。

转载注明来源:https://www.xzbu.com/8/view-8737038.htm