精华内容
下载资源
问答
  • 结构化方法面向对象方法的比较分析
  • 博主选的是老师给出的第一个议题“面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?”,首先来讨论一下二者的定义。 结构化方法的基本思想是将待解决的问题看作一个系统从而用系统科学的思想...

    博主选的是老师给出的第一个议题“面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?”,首先来讨论一下二者的定义。

    结构化方法的基本思想是将待解决的问题看作一个系统从而用系统科学的思想方法来分析和解决问题。

    而面向对象方法是在设计中要映射现实世界中指定问题域中的对象和实体。

    结构化方法所需遵从的原则:1.抽象原则;2.分解原则;3.模块化原则

    面向对象方法所需遵从的原则:1.抽象原则;2.模块化原则;3.封装原则;4.层次原则

    结构化系统分析方法的特点:
    (1)面向用户,用户自始至终参与系统的分析工作;
    (2)强调调查工作的重要性;
    (3)对管理业务中的各种数据进行分解;
    (4)采用了层次分解的系统思想;
    (5)用图形工具来分析和构建新方案。
    结构化分析的图表工具主要由数据流程图、数据字典和数据处理说明组成。

    面向对象系统分析方法的特点:
    (1) 强调系统开发的整体性和全局性
    (2) 侧重于数据转换的过程而不是数据本身
    (3) 系统的开发周期长
    (4) 封装性
    (5) 继承性
    (6) 多态性
    (7) 易维护性

    转载于:https://www.cnblogs.com/rabbit1996/p/5282076.html

    展开全文
  •  面向对象则是运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的方法。  面向过程着重于解决问题的从粗略到详尽的方法,二面向对象则关注点是问题本身。好比渔夫捕鱼,使用什么样的网子用什么...

     

      面向过程是从问题的总体目标开始,抽象底层的细节,先专心构造高层的结构,然后再一层一层地分解合细化。

      面向对象则是运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的方法。

      面向过程着重于解决问题的从粗略到详尽的方法,二面向对象则关注点是问题本身。好比渔夫捕鱼,使用什么样的网子用什么样的方式撒网收网即是面向过程,而抓到鱼这件事则是面向对象。二者区别在于侧重点不同。

    转载于:https://www.cnblogs.com/TaketoriHishou/p/5280443.html

    展开全文
  • 简单地说结构化分析方法主要用来分析系统的功能,依据系统内部的逻辑关系将复杂的系统分解为易于理解分析的子系统,是一种直接根据数据流划分功能层次的分析方法,而面向对象分析方法则是根据获得的需求信息从中...

    简单地说结构化分析方法主要用来分析系统的功能,依据系统内部的逻辑关系将复杂的系统分解为易于理解和分析的子系统,是一种直接根据数据流划分功能层次的分析方法,而面向对象分析方法则是根据获得的需求信息从中抽象出类与对象并分析他们之间的静态关系,再结合实际问题,确定对象的动态行为以及对象间的信息传递,以此建立需求模型。

    结构化的分析方法较为传统,主要适用于数据处理,其主要以非专业人士也易于理解的图形符号来表示系统的基本功能;若遇到大型复杂的系统则根据其系统内部的逻辑关系将其划分为简单易懂的子系统,然后根据具体的实际情况确定系统内部的数据流以及交换关系,并用数据流图表示出来,以此更好的理解整个系统。

    描述手段:

    1、 一套分层的数据流图:表示系统的各部分,以及各部分之间的关系;

    2、  数据词典:为数据流图中出现的每个元素进行说明;

    3、  其他的补充材料

       面向对象分析方法主要分为问题分析和应用分析两个方面。问题分析主要是通过对需求信息的分析,从中将信息中的实体标识为问题域中的对象类,并定义出对象类之间的关系。应用分析则是描述对象之间的消息传递和协同工作的动态信息。由此可见面向对象的分析过程实质就是创建模型的过程。在解决一个问题的时候,首先将实际问题中所涉及到的实体以及实体之间的相互关系抽象为静态的对象模型,若问题中还涉及到用户与系统的交互过程,则需要构建动态模型。

    描述手段:

    1、  构建对象模型:根据实际问题确定对象与类,以及他们之间的静态关系;

    2、  构建动态模型:在实际问题中免不了存在时序关系和状态变化,通过构建动态模型来表示这种变化;

    3、  构建功能模型:以此来表示系统内部数据流的传递和处理。

    4、  定义类和对象中的操作:依据功能模型和动态模型来确定类中应提供的服务;

    综上所述:我觉得结构化分析注重于将问题分解,“化整为零,各个击破”;而面向对象分析则注重于创建模型,将实际问题抽象化以此来解决问题。

    转载于:https://www.cnblogs.com/Axiao1995A/p/5277967.html

    展开全文
  • 结构化方法和面向对象方法的比较 ...文章通过介绍编程世界的这两种主要编程方法结构化方法和面向对象方法分析、设计应用。并在最后对两种方法进行比较分析,比较结构化方法和面向对象方法编程思想的异...

    结构化方法和面向对象方法的比较

    翁松秀

    北京航空航天大学

        摘要:编程之精髓在于编程思想,而不同的编程方法有不同的编程思想。结构化程序设计方法一直以来都是编程人员基本的编程方法,而近年来流行的面向对象方法也备受人们青睐。文章通过介绍编程世界的这两种主要编程方法,结构化方法和面向对象方法的分析、设计和应用。并在最后对两种方法进行比较分析,比较结构化方法和面向对象方法编程思想的异同和两种方法的应用。

    关键词:结构化方法;面向对象方法;编程思想;再抽象;再模块化;

       前言

      结构化方法和面向对象方法是当前软件开发最常用的方法。基于“瀑布模型”的软件开发方法中,以软件架构为核心,采用结构化设计和分析方法将软件开发的生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护六个基本阶段。而在通过迭代式和增量式进行开发的敏捷软件开发方法中,主要采用面向对象的设计和分析方法。结构化方法与面向对象方法的使用,与具体的开发环境和开发方法有关,如传统软件工程中更适合用结构化方法,而敏捷软件开发方法中面向对象开发方法更受青睐。

      1   结构化方法

      结构化编程思想由艾慈格·迪杰斯特拉在1976年在《GOTO陈述有害论》中提出,1975年赖瑞·康斯坦丁和爱德华·尤登提出结构化设计,1978年汤姆·迪马克和爱德华·尤登等在1975年提出结构化分析,后来逐渐被完善,形成现在软件开发方法中主要采用的结构化方法。结构化方法从功能上对系统进行划分,将系统按功能划分成各个模块,将子模块编写成子程序,通过子程序之间的结构和层次之间的耦合来解决复杂的问题。结构化方法按软件周期可划分为结构化分析、结构化设计和结构化实现,这里主要讨论SA和SD。

      1.1 结构化分析(Structured Analysis)

      结构化分析是通过数据来对需求进行分析,功能模块之间通过数据进行联系,采用的建模技术有:数据流图DFD(Data Flow Diagram)、ERD(Entity Relation Diagram)和数据字典DD(Data Dictionary)等。数据在结构化分析方法中举足轻重,就相当于血管之于人体,系统的各个模块通过数据的传递进行沟通和联系,导致了功能模块的强耦合性,模块之间的耦合性降低了结构化程序的可重用性和可维护性。主要分析步骤如下:

      ①  分析当前的情况,做出反映当前物理模型的DFD;

      ②  推导出等价的逻辑模型的DFD;

      ③  设计新的逻辑系统,生成数据字典和基元描述;

      ④  建立人机接口,提出可供选择的目标系统物理模型的DFD;

      1.2 结构化设计(Structured Design)

      结构化设计阶段将分析阶段得到的目标系统物理模型的DFD表示的具体信息转化成程序结构的设计描述,过渡成软件结构。在这个过程中采用的建模技术有:系统结构图SSD(System Struct Diagram)。这个过程分两步完成,第一步是从分析得到的结果出发,构造一个设计方案,决定系统功能模块的结构。第二步进行详细设计,确定每个功能模块的内部控制结构和算法,最终产生每个功能模块的程序流程图。具体步骤如下:

      ①   评审和细化数据流图;

      ②   确定数据流图的类型;

      ③   把数据流图映射到软件模块结构;

      ④   基于数据流图逐层分解高层模块,设计中下层模块;

      ⑤   对模块的控制结构和算法进行优化;

      ⑥   描述模块接口;

      1.3 结构化方法的应用

      结构化方法对需求变化的适应能力比较弱,功能的改变甚至会牵一发而动全身,但由于结构化分析和设计对系统进行完整的架构和具体功能的分析以及实现的各个阶段严谨的测试,所以结构化程序可靠性高。基于结构化分析、设计和实现中的这些主要优点和缺点,结构化比较适合于像操作系统、实时处理系统等这样以功能为主的系统。比如绝大多数操作系统都是以结构化语言C语言写的。

      2   面向对象方法

      面向对象OO(Object Oriented)方法把面向对象的思想应用于软件开发,将系统中的数据和相关操作进行分类和封装,抽象成一种新的数据结构——类,并在系统的实现过程中实例化,实例化的对象与客观实体有直接对应关系,通过对象的属性和行为,以及对象之间的关系来解决实际问题。面向对象方法吸收了结构化的基本思想和优点,在数据抽象的基础上添加对操作的抽象,使面向对象程序具有高重用性。面向对象方法其实就是结构化的再抽象和再模块化。

      2.1 面向对象分析(Object Oriented Analysis)

      面向对象分析阶段通过分析,确定问题空间和解空间中所有对象及其属性,进而确定每个对象的操作,即对事务的处理能力,然后通过对象之间的行为来确定对象之间的关系。具体步骤如下:

      ①   确定问题域和解空间;

      ②   区分类和对象;

      ③   区分整体对象以及组成部分,确定类的关系以及内部结构;

      ④   定义类的数据(属性)和操作(处理事务的行为);

      ⑤   确定附加的系统约束

      2.2 面向对象设计(Object Oriented Design)

      面向对象设计阶段主要对分析阶段的结果进行进一步的规范化整理,以便后面的具体实现。OOA阶段和OOD阶段没有明显的划分界限,两者相互衔接,最能体现出这种关系的是近年来出现的新的软件生命周期模型——喷泉模型。如图(1)

                                                                                               图(1)

      面向对象设计阶段的主要步骤如下:

      ①   改进和完善分析阶段对系统的分析结果;

      ②   设计交互过程和用户接口;

      ③   设计任务管理、子系统以及任务之间的协调方式;

      ④   设计全局资源,确定任务或者子系统的资源分配;

      ⑤   设计对象;

      2.3 面向对象方法的应用

      面向对象方法从问题的模型开始,模拟人对事物的认识对事物进行分类,进而识别对象,通过整理对象的内部结构和对象之间的关系不断细化问题,它的本质就是敏捷开发方法中的迭代和递增。开发过程通过不断地对功能进行反复的迭代,使系统的功能不断完善。所以面向对象方法适用于SCRUM、XP(极限编程)、CRYSTAL(水晶编程)、PDD(特性驱动开发)等敏捷软件开发。

      3   结构化方法和面向对象方法的比较

      3.1 编程思想的比较

      软件开发的过程就是人们使用各种计算机语言将现实世界的问题翻译到计算机世界,可描述为图(2):

    图(2)

      结构化方法的编程思想是自上而下,逐步求精,按系统的功能进行模块化设计,将一个复杂和完整的系统按功能分解成小的模块,模块内由顺序、分支和循环等基本控制结构组成,各模块的功能由子程序进行实现。如图(3)

    图(3)

      而面向对象方法通过模拟人类日常的逻辑思维中经常采用的思想方法和原则,将系统中的事物进行抽象、分类、继承和封装。通过抽象出来的类之间的行为关系来确定整个系统的联系,并在系统中实例化需要的对象,在系统的设计中尽可能地运用人类的思维方式。与结构化相比面向对象更符合人们对事物和解决问题的过程和思维方法。如图(4)

    图(4)

      3.2 应用的比较分析

      结构化开发方法开发前期对系统的功能需求和非功能需求进行完整的架构,使软件具有高可靠性。开发过程自上而下,按照严谨的软件开发生命周期:计划、分析、设计、编码、测试和维护逐个阶段进行开发,各个阶段相互衔接,每一个阶段都要通过严格的审查,测试通过才能进入下一个阶段,保证了软件的高质量。所以比较适合于像操作系统、实时处理系统等这样以功能为主的系统。而由于面向对象方法迭代和递增的本质,所以面向对象方法更适合于在敏捷软件开发中使用。如SCRUM、XP(极限编程)、CRYSTAL(水晶编程)、PDD(特性驱动开发)等。

    参考文献:

    [1]雷西玲,谢天保,何文娟. 面向对象方法与结构化方法的比较. 2001

    [2]邵维忠,杨芙清. 面向对象的系统分析. 1998

    [3]蔡希尧. 面向对象技术. 2001

    [4]翁松秀. 敏捷软件开发与传统软件工程概述比较. 2016

    [5]张莉,裘国永. 结构化方法与面向对象方法的比较分析. 陕西师范大学学报. 2001

     

    https://www.cnblogs.com/maya389069192/p/6166238.html

    转载于:https://www.cnblogs.com/feng9exe/p/9884180.html

    展开全文
  • 剖析了结构化方法和面向对象方法这两种软件开发方法具体的分析设计过程,讨论了各自在不同软件开发中的应用及局限性,提出了在选用面向对象方法开发大型软件系统的同时可结合结构化方法.
  • 结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计结构化程序设计三部分有机组合而成的。结构化设计方法是以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化...
  • 结构化和面向对象的系统分析设计方法的对比
  • 系统的分析、设计必然要为技术管理提供方便,而且从程序的设计方法不断演化(过程式程序设计-〉模块的程序设计-〉面向对象程序设计)的过程来看,先进的分析和设计方法为技术管理提供更大的便利。我认为反之亦然。...
  • 一、结构化方法和面向对象方法的地位 在系统建模中占主导地位。 二、结构化方法(Structure Analysis,SA) 软件工程中, 结构化方法是较为经典的设计与开发方式之一, 侧重于对系统进行功能 分解,它使用图表文字在...
  •  结构化思想和面向对象思想虽都产生于20世纪60年代,但它们却存在根本差别。结构化方法承袭了传统的编程思想与编程方法,以计算机的计算功能为前提。编写程序的主要目的是数值计算、问题求解。模块是结构化编程的...
  • 结构化开发方法面向对象开发方法的比较 我们百度软件开发方法,在百科中...结构化方法(SD方法)是一种传统的软件开发方法,它是由结构化分析、结构化设计结构化程序设计三部分有机组合而成的。它的基本思想...
  • 开始找了一堆类,可是类间关系与协作一直搞不清,最近用结构化分析方法,从数据流图出发,从上而下,逐步细化,然后从数据流图经过转换,通过变换分析结合事务分析,形成系统结构图,划分到各个模块,同时还考虑模块的耦合,内...
  • 面向对象PK结构化分析,有一些这两种方法的比较,可能有点不是太全,大家作参考使用啊
  • 结构化分析面向对象分析的区别

    千次阅读 2020-12-17 16:39:55
    结构化分析方法(Structured Method,结构化方法)是面向过程的程序设计的方法,是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。...
  • 前言:本篇博客主要为了记录结构化方法和面向对象方法的基本内容他们之间的比较。同时,在完成了软件工程的三篇文档之后,我对面向对象方法也有了一定了解,因此本文中的一些例子将结合我们文档中的真实案例来进行...
  • 结构化方法结构化分析(SA)、结构化设计(SD)结构化编程技术(SP)的组合。 1.1 结构化分析 结构化分析(Structed)的精髓在于抽象、求精信息隐藏。通过对系统行为的自顶向下的分析,用...
  • 结构化方法和面向对象方法是计算机软件设计中最常用的两种方法结构化方法在一定程度上解决了软件的可靠性、可维护性和可理解性等问题,而20世纪80年代中期以后,面向对象方法开始风靡全球,被广泛应用于计算机软件...
  • 面向对象方法学与结构化方法学的异同 面向对象方法结构化方法都是软件开发过程中的方法。在传统的软件开发过程中多采用结构化技术完成软件开发的一系列工作,但这种方法并不适应发型软件产品的开发,而随着硬件...
  • 结构化方法面向对象方法的区别

    千次阅读 2016-06-22 09:32:16
    结构化方法面向对象方法的区别 1.结构化方法遵循的基本原则 结构化方法的基本思想就是将待解决的问题看作一个系统从而用系统科学的思想方法分析和解决问题结构化方法遵循以下基本原则 (1)抽象...
  •   在目前的软件开发领域中有两种主流的开发方法结构化开发方法和面向对象开发方法。早期编程语言如C、Basic、Pascal等都是结构化编程语言。而随着软件开发技术的发展,也产生了很多面向对象的编程语言,比如:...
  • 软件的开发对于整个软件产业的发展,起着至关重要的作用,在开发过程中,需要有各种开发工具、开发方法和开发过程的...其中,结构化方法和面向对象方法是两种应用十分广泛的软件开发方法,未来的软件开发过程中,可...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 182,461
精华内容 72,984
关键字:

结构化分析方法和面向对象分析方法