软件开发方法

软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。

包括:结构化的方法  、 Jackson方法、  面向对象开发方法、原型等等。

1.结构化方法

    指导思想是自顶向下、逐层分解,基本原则是功能的分解与抽象。

    由E.Yourdon 和L.L.Constantine提出的,即所谓SASD方法,也是可称为面向功能的软件开发方法或面向数据流的软件开发方法。

    它首先用结构化分析(SA)对软件进行需求分析,然后用结构设计(SD)方法进行总体设计,最后是结构化编程(SP)。它给出了两类典型的软件结构(变换型和事务型),使用软件开发的成功率大大提高。 

    数据处理领域的不太复杂的软件,适于用结构化方法进行开发

2.Jackson方法

 是面向数据结构的开发方法,包括JSP( Jackson Structure programming)和JSD( Jackson System Development)

    Jackson方法把问题分解为可由三种基本结构形式表示的各部分的层次结构。

    三种基本的结构形式就是顺序、选择和重复。

    三种数据结构可以进行组合,形成复杂的结构体系。

    这一方法从目标系统的输入、输出数据结构入手,到数据框架结构,再补充其它细节,就可以得到完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。该方法也可以与其他方法结合,用于模块的详细设计。

3.面向问题的分析法:PAM(problem analysis method)法     

    基本思想是考虑到输入、输出数据结构,指导系统的分解,在系统分析指导下逐步综合。

    本质上是综合的自底向上的方法,但在逐步综合之前已进行了有目的的分解,这个目的就是充分考虑系统的输入、输出数据结构。

    这一方面的具体步骤是:

    从输入、输出数据结构导出基本处理框;

    分析这些处理框之间的先后关系;

    按先后关系逐步综合处理框,直到画出整个系统的PAD图。

    PAM方法的另一个优点是使用PAD图。这是一种二维树形结构图,是到目前为止最好的详细设计的表示方法之一。但由于在输入、输出数据结构与整个系统之间存在着鸿沟,这一方法仍只适用于中小型问题

4.面向对象开发方法:

    面向对象方法是以对象为最基本的元素,对象也是分析问题和解决问题的核心。

    开发方法包括面向对象分析、面向对象设计、面向对象实现。

    面向对象开发方法有Booch方法、Coad方法和OMT方法等。为了统一各种面向对象方法的术语、概念和模型,1997年推出了统一建模语言——UML(UnifiedModeling Language),它有标准的建模语言,通过统一的语义和符号表示。 

    随着OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(object modeling technique)。

    这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构,所以OMT彻底实现了PAM没有完全实现的目标。不仅如此,OOP技术在需求分析上、可维护性和可靠性这三个软件开发的关键环节和质量指标上也有了实质性的突破,基本解决了在这方面存在的严重问题。    

    综上所述,面向对象开发采用了自底向上的归纳、自顶向下的分解的方法,它通过对对象模型的建立,能够真正基于用户的需求,而且系统的可维护性大大改善。当前业界关于面向对象建模的标准是UML(Unified Modeling Language)。

5.原型化方法 

  产生原型化方法的原因很多。主要是随着我们系统开发经验的增多,发现并非所有的需求都能够预先定义,反复修改是不可避免的。当然能够采用原型化方法也是因为开发工具的快速发展,比如用VB、Delphi等工具,我们可以迅速地开发出一个可以让用户看得见、摸得着的系统框架,这样,对于计算机不是很熟悉的用户就可以根据这个样板提出自己的需求。 

  开发原型化系统一般有以下几个阶段: 

  1.确定用户需求 

  2.开发原始模型 

  3.征求用户对初始原型的改进意见 

  4.修改原型 

  原型化开发比较适合于用户需求不清、业务理论不确定、需求经常变化的情况。当系统规模不是很大也不太复杂时,采用该方法是比较好的。 

6.可视化开发方法        

    其实可视化开发并不能单独地作为一种开发方法,更加贴切地说它是一种辅助的工具,比如用过Sybase的S-Design的人都知道,用这个工具可以进行显示图形化的数据库模式的建立,并可以导出到不同的数据库中去。当然用过S-Design的人不一定很多,但用过VB、Delphi、C++、Builder等开发工具的人一定不少,实际上这部分人就是在使用可视化开发工具。    

    当然,不可否认的是,使用这些可视化开发工具也只是在编程这个环节上用了可视化,而不是在系统分析和系统设计这个层次上用了可视化。实际上,建立系统分析和系统设计的可视化工具是一个很好的卖点,国外有很多工具开发商都在致力于这方面产品的设计。    

    可视化开发使我们的注意力集中在业务流程上,用户界面可以通过可视化工具方便地构成。通过操作界面元素,诸如菜单、按钮、对话框、编辑框、单选框、复选框、列表框和滚动条等,由可视化开发工具自动生成应用软件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Amarao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值