面向对象软件开发方法的思路(面向对象的软件开发方法的特点)

软件开发 1248
今天给各位分享面向对象软件开发方法的思路的知识,其中也会对面向对象的软件开发方法的特点进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、如何进行面向对象的软件开发过程

今天给各位分享面向对象软件开发方法的思路的知识,其中也会对面向对象的软件开发方法的特点进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何进行面向对象的软件开发过程

1. 用例

软件开发的流程有很多,目前主要流行以下两种

1.1 面向对象开发流程

使用方向:主要用于开发一些比较复杂和业务逻辑容易变动的系统,如互联网,ERP系统等.

开发流程主要在于确定,细化类的概念,设计.

开发流程比较符合人的思维习惯.开发效率比较高.

面向对象的开发语言目前比较流行的有Java,C#等.

1.2 面向过程开发流程

使用方向:开发比较稳定的功能,如操作系统,驱动程序,数据库程序等.

整个流程在确定,分解 "功能".

面向过程的开发语言中特别突出的当属C语言.

软件开发一般流程是,需求-设计-测试-发布.我们主要讨论下需求和设计两部分.

2. 流程

2.1 需求模型

通过和客户或产品沟通,结合行业经验和知识,明确系统的需求.

在本阶段各个开发流程都一样,目的就是搞清楚系统需要具有的功能.

2. 2 领域模型

在需求模型的基础上,提炼出系统涉及到的相关概念.

在本阶段,面向对象开发流程要求提炼出系统涉及的各个"领域类",面向过程流程要求提炼出各个功能的处理过程.

2.3 设计模型

以领域模型为基础,面向对象流程要逐步细化完善类的熟悉和功能.面向过程流程要求分解各个子功能.

2.4 实现模型

以设计模型为基础,将设计模型翻译成具体的编程语言,完成编码.

在本阶段,面向对象开发流程以"类"来组建系统.面向过程流程以"功能函数"来组建系统.

什么是面向对象的开发方法 面向对象的开发方法的解释

1、面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

2、随着计算机技术的不断提高,计算机被用于解决越来越复杂的问题。一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同时,面向对象能有效提高编程的效率,通过封装技术,消息机制可以像搭积木的一样快速开发出一个全新的系统。面向对象是指一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的集合。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。

3、面向对象的程序设计方法与编程技术不同于标准的过程化程序设计。程序设计人员在进行面向对象的程序设计时,不再是单纯地从代码的第一行一直编到最后一行,而是考虑如何创建对象,利用对象来简化程序设计,提供代码的可重用性。对象可以是应用程序的一个自包含组件,一方面具有私有的功能,供自己使用;另一方面又提供公用的功能,供其他用户使用。

4、面向对象编程的一个优点是代码重用;重用对象比起复制源代码来要容易的多,而且如果使用的是强健的、封装的代码,则会更安全些。

软件开发方法的面向对象的软件开发方法

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

随着OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(Object Modelling Technique)。这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。所以OMT彻底实现了PAM没有完全实现的目标。不仅如此,OO技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破,彻底地解决了在这些方面存在的严重问题,从而宣告了软件危机末日的来临。 需求分析不彻底是软件失败的主要原因之一。即使在目前,这一危险依然存在。传统的软件开发方法不允许在开发过程中用户的需求发生变化,从而导致种种问题。正是由于这一原因,人们提出了原型化方法,推出探索原型、实验原型和进化原型,积极鼓励用户改进需求。在每次改进需求后又形成新的进化原型供用户试用,直到用户基本满意,大大提高了软件的成功率。但是它要求软件开发人员能迅速生成这些原型,这就要求有自动生成代码的工具的支持。

OMT彻底解决了这一问题。因为需求分析过程已与系统模型的形成过程一致,开发人员与用户的讨论是从用户熟悉的具体实例(实体)开始的。开发人员必须搞清现实系统才能导出系统模型,这就使用户与开发人员之间有了共同的语言,避免了传统需求分析中可能产生的种种问题。 在OMT之前的软件开发方法都是基于功能分解的。尽管软件工程学在可维护方面作出了极大的努力,使软件的可维护性有较大的改进。但从本质上讲,基于功能分解的软件是不易维护的。因为功能一旦有变化都会使开发的软件系统产生较大的变化,甚至推倒重来。更严重的是,在这种软件系统中,修改是困难的。由于种种原因,即使是微小的修改也可能引入新的错误。所以传统开发方法很可能会引起软件成本增长失控、软件质量得不到保证等一系列严重问题。正是OMT才使软件的可维护性有了质的改善。

OMT的基础是目标系统的对象模型,而不是功能的分解。功能是对象的使用,它依赖于应用的细节,并在开发过程中不断变化。由于对象是客观存在的,因此当需求变化时对象的性质要比对象的使用更为稳定,从而使建立在对象结构上的软件系统也更为稳定。

更重要的是OMT彻底解决了软件的可维护性。在OO语言中,子类不仅可以继承父类的属性和行为,而且也可以重载父类的某个行为(虚函数)。利用这一特点,我们可以方便地进行功能修改:引入某类的一个子类,对要修改的一些行为(即虚函数或虚方法)进行重载,也就是对它们重新定义。由于不再在原来的程序模块中引入修改,所以彻底解决了软件的可修改性,从而也彻底解决了软件的可维护性。OO技术还提高了软件的可靠性和健壮性。

面向对象开发方法的特点有哪些?

面向对象开发方法的特点主要有一下三点:

1、可重用性

可重用性是面向对象软件开发的一个核心思路,事实上前面所介绍的面向对象程序设的四大特点,无一例外地,都或多或少地在围绕着可重用性这个核心并为之服务。

我们知道,应用软件是由模块组成的。可重用性就是指一个软件项目中所开发的模块,能够不仅限于在这个项目中使用,而是可以重复地使用在其他项目中,从而在多个不同的系统中发挥作用。

可重用模块必须是结构完整、逻辑严谨、功能明确的独立软件结构;其次,可重用模块必须具有良好的可移植性,可以使用在各种不同的软硬件环境和不同的程序框架里;最后,可重用模块应该具有与外界交互、通信的功能。

2、可扩展性

可扩展性是对现代应用软件提出的又一个重要要求,即要求应用软件能够很方便、容易地进行扩充和修改,

这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形进和工作机制。现代应用软件的修改更新频率越来越快,究其原因,即有用户业务发展、更迭引起

的相应的软件内容的修改和扩充,也有因计算机技术本身发展造成的软件的升级换代,如现在呼声很迫切的把原客户机/服务器模式下的应用移植到因特网上的工

作,就是这样一种软件升级。

使用面向对象技术开发的应用程序,具有较好的可扩展性。

面向对象技术的可扩展性,首先体现在它特别适合于使用在快速原型的软件开发方法中。快速原型法是研究软件生命周期的研究人员提出的一种开发步骤,相对

于传统的瀑布式的开发方法,它在某些程度上来说更加灵活和实用。快速原型法的开发过程是这样的(参看图4.9),首先在了解了用户的需求之后,开发人员利

用开发工具先做一个系统的雏形,称为原型,这个原型尽管粗糙,但却应该是完整的、可工作的。开发人员带着这个原型征求用户的意见,再根据用户的改进意见在

第一个原型的基础上修改和进一步开发,形成第二个原型,再带着第二个原型去征求用户的意见……如此循环往复,不断地在已有工作的基础上修改、细化、完善,

直到把最初粗陋的雏形精雕细琢成最终的功能完整、结构严谨的应用系统。

3、可管理性

以往面向过程的开发方法是以过程或函数为基本单元来构建整个系统的,当开发项目的规模变大时,需要的过程和函数数量成倍增多,不利于管理和控制。而面向对象的开发方法采用内涵比过程和函数丰富、复杂得多的类作为构建系统的部件,使整个项目的组织更加合理、方便。

例如一个系统,如采用面向过程的开发方法来实现,可能需要3000个过程或函数,要管理好这3000个过程或函数,它们在系统各种可能状态下的行为,

它们之间错综复杂的关系,显然是一件非常麻烦的工作,也容易出现失误和遗漏。如果这个系统采用面向对象开发方法来实现,则可能仅用100个类,平均每个类

包含30个方法,就可以完成同样的功能。100相对于3000,大大降低了管理、控制的工作量,从开发效率和质量保证等各个方面,都有很大的优越性。

另外,面向对象开发方法中的类,把数据和基上的操作封装在一起,使得仅本类的有限个方法才可以操纵、改变这些数据。这样,仍以上面的例子为例,当出现

数据的错误时,只需要检查与该据相关的在同一个类中的30个方法即可,而在面向过程开发方法中处理相同的问题,则可能需要把所有的3000个过程或函数统

统检查一遍,两者在工作量、效率和难易程度方面的差别是不信而喻的。

什么是面向对象的软件开发方法?

结构化系统开发方法主要特点:

(一)自顶向下整体性的分析与设计和自底向上逐步实施的系统开发过程。即在系统分析与设计时要从整体全局考虑,要自顶向下地工作(从全局到局部,从领导到普通管理者)。而在系统实现时,则要根据设计的要求先编制一个个具体的功能模块,然后自底向上逐步实现整个系统。

(二)用户至上。用户对系统开发的成败是至关重要的,故在系统开发过程中要面向用户,充分了解用户的需求和愿望。

(三)深入调查研究。即强调在设计系统之前,深入实际单位,详细地调查研究,努力弄清实际业务处理过程的每一个细节,然后分析研究,制定出科学合理的新系统设计方案。

(四)严格区分工作阶段。把整个系统开发过程划分为若干个工作阶段,每个阶段都有其明确的任务和目标。在实际开发过程中要求严格按照划分的工作阶段,一步步地展开工作,如遇到较小、较简单的问题,可跳过某些步骤,但不可打乱或颠倒之。

(五)充分预料可能发生的变化。系统开发是一项耗费人力、财力、物力且周期很长的工作,一旦周围环境(组织的内、外部环境、信息处理模式、用户需求等等)发生变化,都会直接影响到系统的开发工作,所以结构化开发方法强调在系统调查和分析时对将来可能发生的变化给予充分的重视,强调所设计的系统对环境的变化具有一定的适应能力。

( 六)开发过程工程化。要求开发过程的每一步都按工程标准规范化,文档资料标准化。

什么是面向对象的程序设计思想

一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。

面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。

面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。

扩展资料

面向对象程序设计的优点:

1、数据抽象的概念可以在保持外部接口不变的情况下改变内部实现,从而减少甚至避免对外界的干扰。

2、通过继承大幅减少冗余的代码,并可以方便地扩展现有代码,提高编码效率,也减低了出错概率,降低软件维护的难度。

3、结合面向对象分析、面向对象设计,允许将问题域中的对象直接映射到程序中,减少软件开发过程中中间环节的转换过程。

4、通过对对象的辨别、划分可以将软件系统分割为若干相对为独立的部分,在一定程度上更便于控制软件复杂度。

5、以对象为中心的设计可以帮助开发人员从静态(属性)和动态(方法)两个方面把握问题,从而更好地实现系统。

6、通过对象的聚合、联合可以在保证封装与抽象的原则下实现对象在内在结构以及外在功能上的扩充,从而实现对象由低到高的升级。

参考资料来源:百度百科-面向对象程序设计

参考资料来源:百度百科-面向对象的程序设计

关于面向对象软件开发方法的思路和面向对象的软件开发方法的特点的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码