软件开发的方案 软件开发设计方案 - 电脑|办公 - 电脑办公-杀毒安全-网络-V3学习网
微商网
 
 
导航:首页 |电脑|办公|正文

软件开发的方案 软件开发设计方案

时间:2021-04-06 12:52:29
软件开发方法? 常见的软件开发方法有结构化方法、Jackson方法、维也纳开发方法(VDM)和面向对象的开发方法。1 结构化方法:指导思想:自顶向下,逐步求精;基本原则:功能的分析与抽象。优点:1、
作者:

软件开发的方案

软件开发方法?

常见的软件开发方法有结构化方法、Jackson方法、维也纳开发方法(VDM)和面向对象的开发方法。

1.结构化方法:指导思想:自顶向下,逐步求精;基本原则:功能的分析与抽象。

优点:1、 适用于数据处理领域的问题;2、支持工具较多,发展成熟。

缺点:1、不适应规模大的项目;2、不适应特别复杂的项目;3、难于解决软件重用的问题;4、难于适应需求变化的问题;5、难于彻底解决维护问题。

2.Jackson方法:这是一种面向数据结构的方法过程:JSP—>JSDJSP方法:1、以数据结构为驱动;2、首先描述问题的输入,输出数据结构,分析其对应性,然后退出相应的程序结构,从而给出问题的软件过程描述。

JSD方法:1、以事件作为驱动;2、首先建立现实世界的模型,再确定系统的功能需求,对需求的描述特别强调了操作之间的时序性。

3.维也纳开发方法(VDM):这是一种形式化的开发方法,是一个基于模型的方法。

主要思想:将软件系统当做模型来给予描述,具体说是把软件的输入,输出看做模型对象,而这些对象在计算机中的状态可看做为该模型在对象上的操作。

借助工具:描述工具语言Meta-IV。

4.面向对象的开发方法:定义:以对象作为最基本的元素,是分析问题,解决问题的核心。

对象:具体的事物,事件,概念和规则。

基本点:尽可能按照人类认识世界的方法和思维方法来分析和解决问题。

软件开发方法是什么?

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

Yourdon方法是80年代使用最广泛的软件开发方法。

它首先用结构化分析(SA)对软件进行需求分析,然后用结构化设计(SD)方法进行总体设计,最后是结构化编程(SP)。

它给出了两类典型的软件结构(变换型和事务型)使软件开发的成功率大大提高。

2、面向数据结构的软件开发方法 Jackson方法是最典型的面向数据结构的软件开发方法,Jackson方法把问题分解为可由三种基本结构形式表示的各部分的层次结构。

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

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

这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。

这一方法对输入、输出数据结构明确的中小型系统非凡有效,如商业应用中的文件表格处理。

该方法也可与其它方法结合,用于模块的具体设计。

3、 面向问题的分析法 PAM(PRoblem Analysis Method)是80年代末由日立公司提出的一种软件开发方法。

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

这一方法的具体步骤是:从输入、输出数据结构导出基本处理框;分析这些处理框之间的先后关系;按先后关系逐步综合处理框,直到画出整个系统的PAD图。

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

PAM方法的另一个优点是使用PAD图。

这是一种二维树形结构图,是到目前为止最好的具体设计表示方法之一。

当然由于在输入、输出数据结构与整个系统之间同样存在着鸿沟,这一方法仍只适用于中小型问题。

4、原型化方法 产生原型化方法的原因很多,主要随着我们系统开发经验的增多,我们也发现并非所有的需求都能够预先定义而且反复修改是不可避免的。

当然能够采用原型化方法是因为开发工具的快速发展,比如用VB,Delphi等工? 们可以迅速的开发出一个可以让用户看的见、摸的着的系统框架,这样,对于计算机不是很熟悉的用户就可以根据这个样板提出自己的需求。

开发原型化系统一般由以下几个阶段: (1) 确定用户需求 (2) 开发原始模型 (3) 征求用户对初始原型的改进意见 (4) 修改原型。

原型化开发比较适合于用户需求不清、业务理论不确定、需求经常变化的情况。

当系统规模不是很大也不太复杂时采用该方法是比较好的。

5、面向对象的软件开发方法 当前计算机业界最流行的几个单词就是分布式、并行和面向对象这几个术语。

由此可以看到面向对象这个概念在当前计算机业界的地位。

比如当前流行的两大面向对象技术DCOM和CORBA就是例子。

当然我们实际用到的还是面向对象的编程语言,比如C++。

不可否认,面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑的意义。

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

这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。

所以OMT彻底实现了PAM没有完全实现的目标。

不仅如此,OO技术在需求分析、可维护性和可靠性这三个软件开发的要害环节和质量指标上有了实质性的突破,基本地解决了在这些方面存在的严重问题。

综上所述,面向对象系统采用了自底向上的归纳、自顶向下的分解的方法,它通过对对象模型的建立,能够真正建立基于用户的需求,而且系统的可维护性大大改善。

当前业界关于面向对象建模的标准是UML(Unified Modeling Language)。

这里我们需要谈一下微软的MSF(Microsoft Solutions Framework)的框架,它简单的把系统设计分成三个阶段:概念设计、逻辑设计和物理设计。

概念设计阶段就是从用户的角度出发可以得到多少个对象,并且以对象为主体,画出业务框架。

逻辑设计阶段就是对概念设计阶段的对象进行再分析、细分、整合、删除。

并建立各个对象的方法属性以及对象之间的关系。

而物理设计实际上就是要确定我们实际需要的组件、服务和采用的框架结构、具体的编程语言等。

MCF整个结构比较清楚是基于对象开发的一个比较好的可操作的框架系统。

6、可视化开发方法 其实可视化开发并不能单独的作为一种开发方法,更加贴切的说可以认为它是一种辅助工具,比如用过SYBASE的S-Design的人都知道,用这个工具可以进行显示的图形化的数据库模式的建立,并可以导入到不同的数据库中去。

当然用过S-Design的人不一定很多,但用过VB,DELPHI,C++ Builder等开发工具的人一定不少,实际上你就是在使用可视化开发工具。

当然,不可否认的是,你只是在编程这个环节上用了可视化,而不是在系统分析和系统设计这个高层次上用了可视化的方法。

实际上,建立系统分析和系统设计的可视化工具是一个很...

软件开发方法有哪些?

在上个世纪60年代中期爆发了众所周知的软件危机。

为了克服这一危机,在1968、1969年连续召开的两次著名的NATO会议上提出了软件工程这一术语,并在以后不断发展、完善。

与此同时,软件研究人员也在不断探索新的软件开发方法。

至今已形成了八类软件开发方法。

1 Parnas方法 2 SASD方法 3 面向数据结构的软件开发方法 4 问题分析法 5 面向对象的软件开发方法 6 可视化开发方法 7 ICASE 8 软件重用和组件连接

软件开发的策略是什么?

软件开发的内容是:需求、设计、编程和测试!需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。

比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,你经常要和客户、项目经理等交流。

设计:编码前,肯定有个计划告诉你要做什么,结构是怎样等等。

你一定要按照这个来做,否则可能会一团糟。

编程:如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。

测试:目的是让你知道,什么时候算是完成了。

如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。

否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。

软件开发中,客户和开发人员都有自己的基本权利和义务。

客户:定义每个用户需求的商业优先级;制订总体计划,包括用多少投资、经过多长时间、达到什么目的;在项目开发过程中的每个工作周,都能让投资获得最大的收益;通过重复运行你所指定的功能测试,准确地掌握项目进展情况;

常用的软件开发方法有哪些

1:瀑布方法所有软件方法的祖先是瀑布方法(waterfall methodology)。

它之所以被称为瀑布方法是因为开发模块相互之间的依次流动,瀑布方法通过控制阀门的一系列活动组成。

这些控制阀门决定一个给定的活动是否已经完成并且可以进入下一个活动。

需求阶段处理决定了所有的软件需求。

设计阶段决定整个系统的设计。

代码在代码阶段编写。

代码然后被测试。

最后产品被发布。

对瀑布方法模型最基本的批评就是瀑布方法对于反馈事物发展状况耗时太长。

软件的一些内容那个很容易被理解,而另一些内容则相反。

因此,当用户对于手边出现的问题都没有很好理解的时候,开发人员试图先完成所有的需求(也就是说,将需求量化到实际的规格说明当中)是非常空难的。

更进一步来说,如果在需求中出现一个错误,它将传播到设计阶段,传播到代码中等。

同时一般不存在过程中返回的真正能力。

因此,如果进入测试并且发现设计的一部分是无法工作的,那么就会进行修改并修补问题而交差,但是这种方法将会失去设计活动的所有上下文环境——你只是有目的地对系统权宜行事!认识到这个问题后瀑布方法已经被修改成几种形式。

例如螺旋式瀑布方法它继承并使用了多个瀑布模型。

这种方法缩短了生命周期向下的时间;也就是说,为解决为题提供了迭代方案。

最终,大家无法脱离瀑布方法是因为它确实是合乎常规的方法。

首先,这种方法可以决定将要构建的内容。

接着,决定将要如何构建这些,下一步,世界构建这些内容。

可以确保自己确实构建自己所需的东西(并且可以成功运行)。

2:统一过程统一过程应用了基于处理系统首先考虑的最重要方面而实施的短期迭代开发。

开发一个寡欲各种用列(use case)的调查文档(也就是说,对用户与系统交互的简短描述),并且开始排除那些可能对整个系统成功造成风险的用列。

只要适合,就可以在开发过程中添加或者删除用列。

统一过程的4个阶段定义如下:初始(inception):系统仍然处于决定系统内容的阶段——系统将要完成什么以及系统的边界是什么。

如果系统能够很好的理解,那么这个阶段就非常短。

细化(Elaboration):正在将体系结构的风险移至系统。

一种表述该阶段的说法是,“你是否已经解决了所有难题?”或者“你知道如何完成你将要去完成的事情吗?”构造(Construction)正在完成所有相关的用列来使系统为移交做好准备,也就是说,进入Beta版本。

移交(Transition)使系统通过它的最后发布阶段以及Beta版本。

它可能包括软件的操作及维护。

这是一个关注于维护要素的敏捷过程,但是仍然采用了大量用例开发,间模等方面的传统实践。

3:极限编程:极限编程的开发过程就是以代码为中心的方法。

让用户告知你一些有关系统是如何如用转的故事描述,基于故事相互之间的重要性来定制这些系统这样就可以为自己的团队提供一个故事集合,可以在一个给定的迭代中完成他们,大约两周时间——每周工作40个小时,你将团队划分,双人应付没一个故事,在代码被编写时提供确定数量的内建对等评审。

你和你的同伴在编写自己代码的同时编写单元测试。

在完成自己负责的那段代码后,将其拿到集成的机器上,放入代码基线,运行从所有人的代码中积累而成的单元测试。

在完成iji负责的那段代码后,将会提供一个运行系统使用户可以评审来确保自己的工作满足他们的需要。

注意极限编程并没有将软件的设计设置成一个高级阶段。

相反它认为那些最前端的设计对于整个系统开发不是很有帮助,并且随着实际开发的进行它最终还是被修改。

极限编程对于需要持续提供运行系统的软件卡发来说非常适用。

当缺少用户介入或者项目规模很大时极限编程方法将会不好用,因为这时协调和设计活动实际上变得更重要了。

极限编程合理地考虑开发团体的能力,这样可以有效计划。

软件开发方法述评有哪些呢?

软件开发的过程包括:用户需求分析、系统概要设计、系统详细设计、编码、测试等环节。

但是对于一个企业解决方案而言在软件开发的每一个过程中由于项目组人员的复杂性可能会存在着较为复杂的情况。

在本文中企业解决方案是指业务部门提出了对系统的需求,通过招投标选择了一个或多个开发商,参与项目的人员包括业务部门、企业IT部门、开发商和最终用户。

此外,在这里也对企业的类型限定为功能型的组织架构,对于项目型组织架构的企业存在的问题可能相对较少一些。

大家还关注
    
阅读排行
推荐阅读