3-面向对象软件开发技术(OOA-OOD-OOP)
- 格式:ppt
- 大小:451.50 KB
- 文档页数:36
判断题:1.软件就是程序,编写软件的关键是编写程序。
2.可行性研究阶段要进行一次大大压缩简化了的系统分析和设计的过程。
3.需求管理主要是对需求变化的管理,及如何有效控制和适应需求的变化。
4.数据流图表示了软件系统对数据的算法处理过程,即系统的物理模型。
5.需求分析的主要方法有SD法、OOA法及HIPO法等。
6.没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了程序的运行效率。
7.用面向对象方法分析、设计、实现软件,仍属线性的瀑布开发模型。
8.文档是影响软件可维护性的决定因素。
9.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
10. 软件模块之间的耦合性越弱越好。
11. 软件开发小组的组成人员的素质应该好,而人数则不宜过多。
12. 总体设计的基本目的就是回答:"概括地说,系统应该如何实现?"这个问题。
13. 文档只起备忘录的作用,可以在软件开发完成后再整理生成。
14. 结构化软件开发的方法的工作模型是螺旋模型。
15. 总体设计的基本目的就是回答:"概括地说,系统应该如何实现?"这个问题。
16. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
1.N 2.Y 3. Y 4.N 5.N 6.Y 7.N 8.Y9.N 10.Y 11.Y 12. Y 13. N 14.N 15.Y 16.Y判断题:1.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。
2.过程描述语言可以用于描述软件的系统结构。
3.继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。
4.快速原型模型可以有效地适应用户需求的动态变化。
5.在面向对象的需求分析方法中,建立动态模型是最主要的任务。
6.集成测试主要由用户来完成。
7.确认测试计划应该在可行性研究阶段制定8.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
浅谈OOA,OOD,OOP的理解OOA(⾯向对象分析)、OOD(⾯向对象设计)、OOP(⾯向对象编程),这3个概念,对于我们JAVA程序员来讲,或多或少应该都有所了解,或者说⾄少都听说过。
但是要谈到对其理解,可能对于多数⼊⾏不深的从业者来说,确实不是那么容易做到。
特别是对于绝⼤多数的3年以内的低中级软件⼯程师⽽⾔。
因为他们的⼯作更多是需要按照项⽬经理分配的任务来编写功能代码,很少有多余的时间去阅读或者思考⼀些概念性的东西。
说起这个问题,我也在⽹络上也搜索过很多的资料,⼤多摘录⾄书籍,⽐较官⽅化。
让初学者⽆从理解。
为了⼴⼤的新从业者或者应聘者,在这⾥,我们以⼀种实例的⽅式来对这3个概念进⾏重新的阐述:业务场景:建⾏卡持有者,张三与李四两⼈,现在需要张三给李四转账⼈民币5000元整。
按照业务分析后的流程图如下:对于分析业务流程,常见的2种:⾯向过程分析(POA),⾯向对象分析(OOA)⾯向过程分析(Procedure Oriented Analysis):是⼀种以过程为中⼼的编程思想,以数据流向为主要导向。
为了解决问题,将解决问题的业务过程,按照⼀定的顺序划分成为⼀个⼜⼀个的事件,然后再封装成⼀个⼜⼀个的函数,最后由⼀个函数统⼀的按照顺序⼀步⼀步的调⽤即可。
在⾯向过程分析中,顺序很重要,要实现功能只需要按照⼀定的顺序相互调⽤函数即可。
上述业务场景按照⾯向过程分析出来的结果就是:1. 程序检查张三卡中余额是否⾜够5000元⼈民币(事件1,满⾜则调⽤事件2)2. 程序从张三卡中扣除5000元⼈民币(事件2)3. 程序向李四卡中加⼊5000元⼈民币(事件3)4. 程序检测李四卡中是否正常⼊账(事件4,满⾜则结束整个业务)5. 程序向张三卡中加⼊5000元⼈民币(事件5)在上述过程中,我们将这个业务过程,分成了5个步骤,也叫做5个事件,那么如果需要在程序中完成该转账业务的话,那么我们只需要按照1-2-3-4-5这样的顺序依次调⽤函数⽅法即可。
面向对象程序设计是什么面向对象程序设计(Object-Oriented Programming,简称OOP)是一种编程范式,它使用“对象”来设计软件。
对象可以包含数据(通常称为属性或字段)和代码(通常称为方法或功能)。
面向对象程序设计的核心概念包括封装、继承、多态和抽象。
封装封装是将数据(属性)和操作数据的代码(方法)组合在一起的过程。
这样做的好处是,它允许开发者隐藏对象的内部状态,只暴露必要的接口。
封装提高了代码的安全性和可维护性,因为外部代码不能直接访问对象的内部状态,只能通过对象提供的方法进行交互。
继承继承是一种机制,允许新创建的类(子类)继承现有类(父类)的属性和方法。
这使得代码重用变得可能,同时保持了代码的组织性和清晰性。
继承还可以支持多态性,因为子类可以重写父类的方法,提供特定的实现。
多态多态性是指允许不同类的对象对同一消息做出响应的能力,但具体的行为会根据对象的实际类型而有所不同。
这通常通过方法重写实现,即子类可以提供一个与父类具有相同名称和参数的方法,但具有不同的实现。
抽象抽象是简化复杂的现实世界问题的过程,只关注对于当前问题相关的方面。
在面向对象程序设计中,抽象通常通过创建抽象类和接口来实现。
抽象类不能被实例化,但可以被继承,而接口则定义了一组方法规范,具体的类可以实现这些接口。
面向对象程序设计的优点包括:- 代码重用:通过继承和多态,可以减少代码的重复编写。
- 模块化:封装使得每个对象都是独立的模块,易于管理和维护。
- 易于扩展:新的功能可以通过添加新的类或扩展现有类来实现,而不影响现有的代码。
- 易于理解:面向对象的方法模仿现实世界中的对象和行为,使得代码更易于理解和学习。
面向对象程序设计的缺点可能包括:- 性能开销:由于面向对象的特性,如动态绑定和继承,可能会引入额外的性能开销。
- 过度设计:开发者可能会过度使用面向对象的特性,导致设计过于复杂。
- 学习曲线:对于初学者来说,理解和掌握面向对象的概念可能需要一定的时间和实践。
面向对象分析方法名词解释
面向对象分析(Object-Oriented Analysis, 简称OOA),是一种基于软件工程中面向对象思
想的软件分析方法,旨在搭建软件需求分析基础模型,以识别、分析和实现客户软件需求,制定出对软件研发工作与设计有效的管理模型。
OOA 是拔高软件开发进程中最重要的步骤,它旨在满足客户对于软件的要求,使客户能够在满意的时间,满意的经费以及满意的套大成果得到期望的软件。
OOA 的拥有者一般是由软件项目经理控制的全职专职软件分析师,他们会使用OOA 快速获取软件要求信息,这
些信息是从客户的说明开始的形式,因此将比研发者在识别需求时所需要的时间更少。
OOA 的主要任务就是使软件发展过程更加高效。
Face-to-face(面对面)会谈,讲解,文
档研究以及运用建模工具等方法将客户提出的需求进行阐明,并把客户的大部分需求变成
客观的功能和属性的可操作的模型,因此OOA 的设计方法也称为可重用组件的设计(Reusable Components Design)。
OOA 的模型通常有以下几种:系统架构,逻辑和物理;在实现系统架构中,把客户提出的需求变成给定的抽象模型即为系统拓扑。
在逻辑模型中,将系统拓扑拆分为不同的构件,
以表达客户关心的系统服务和非功能性要求,而在物理模型中,关于客观和完整的描述系统结构,有细粒度的描述和定义每个构件的不同的属性。
面向对象分析也可以用于检验软件开发过程中的系统是否符合预期的情况,也可以用于发现并实施软件系统的改进与更新。
只要对OOA 方法有正确的运用,软件开发项目就容易
得到客户的满意和顺利实施。
《软件工程》填空题二、填空题(请把答案写在相应的横线上,每小题分)1、软件是数据、计算机程序及其说明程序的各种文档。
2、概要设计主要是把各项功能需求转换成系统的体系结构。
3、面向对象开发方法包括 OOA 、OOD 、 OOP 三部分。
4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。
5、在单元测试时,需要为被测模块设计驱动模块和桩模块。
6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。
7.子类自动共享父类的属性和操作的机制称为继承。
8. 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。
9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。
10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__。
11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。
12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。
13. 对象的抽象是___类___。
14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。
因此,基线可以作为项目的一个___检查点__。
15. 包括软件开发技术和__软件工程管理__两大部分内容。
16、开发过程管理包括项目计划、控制和___任务管理__等。
17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物。
18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工。
19、用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树_。
20、子类只继承一个父类的属性和操作,这称为__单重继承__。
21、 McCabe复杂性度量又称__环路度量_。
22、喷泉模型是一种以用户需求为动力,以__对象__为驱动的模型。
面向对象编程(Object-Oriented Programming, OOP)是一种程序设计范式,它将现实世界中的事物抽象为程序中的对象,并通过对象之间的交互来实现各种功能。
在面向对象编程中,对象可以是具体的实体,也可以是抽象的概念,它们都可以拥有属性和方法,通过这些属性和方法可以描述和操作对象的特性和行为。
面向对象编程是现代软件开发中最常用的编程范式之一,它具有高内聚、低耦合的特点,能够提高代码的复用性、可维护性和可扩展性。
面向对象编程的核心思想包括封装、继承和多态。
1. 封装(Encapsulation)封装是面向对象编程的重要特性之一,它通过将数据和方法封装在对象内部,隐藏对象内部的实现细节,只暴露特定的接口给外部使用,从而保护数据的安全性和完整性。
封装可以使对象的内部状态只能通过指定的方法进行访问和修改,提高了程序的安全性和稳定性。
2. 继承(Inheritance)继承是面向对象编程中的另一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法,并且可以对其进行扩展或修改。
通过继承,可以减少重复的代码,提高代码的复用性和可维护性,同时也能够构建出更加抽象和通用的数据模型。
3. 多态(Polymorphism)多态是面向对象编程的另一个重要特性,它允许不同的对象对同一个消息做出不同的响应,即同一操作作用于不同的对象上可以有不同的结果。
通过多态,可以实现更加灵活的程序设计,减少代码的复杂度,提高程序的可扩展性和可维护性。
面向对象编程是软件开发中非常重要的一部分,它已经广泛应用于各种编程语言和评台上。
通过面向对象编程,可以更加方便地描述和模拟现实世界中的问题,提高程序的抽象能力和可扩展性,减少程序设计和开发的复杂度,从而提高软件开发的效率和质量。
面向对象编程是一种强大而灵活的编程范式,它通过封装、继承和多态等特性,使代码更加具有可读性、可维护性和可重用性,是现代软件开发不可或缺的一部分。
第25卷 第5期2009年10月 忻州师范学院学报JOURNAL OF X I N ZHOU TE ACHERS UN I V ERSI TY Vol.25 No.5 Oct.2009 面向对象的OOA、OOD软件开发技术分析任胜兰(太原师范学院,山西太原030012)摘 要:面向对象是当前计算机界关心的重点,是上个世纪90年代软件发展的主流,实际上,面向对象的概念和应用已经超越程序设计和软件开发,而且已经渗透到了系统模拟、数据库、多媒体、图形技术、网络管理系统、CAD技术、人工智能等多个领域。
文章主要讨论面向对象的开发方法OOA和OOD,并且对面向过程与面向对象加以比较,阐述了面向对象的OOA、OOD之不足及适用范围,同时也分析了发展中存在的争论问题。
关键词:面向对象;OOA;OOD;软件开发中图分类号:TP311 文献标识码:A 文章编号:1671-1491(2009)05-0039-04 面向对象(Object-O riented,简称OO)技术是一种以对象为中心的分析和解决问题的新方法,它克服了传统方法中对象与行为之间联系松散的缺点,更能体现软件开发中的三个重要概念,即抽象、信息隐蔽和模块化。
因此面向对象技术已广泛应用于软件开发的各个阶段,从而产生了面向对象的分析方法OOA(Object-O riented Analysis),面向对象的设计方法OOD(Object-O riented Design)等面向对象的技术。
面向对象(OO:Object-O riented)是当前计算机界关心的重点,是90年代软件发展的主流,实际上,面向对象的概念和应用已经超越程序设计和软件开发,而且已经渗透到了系统模拟、数据库、多媒体、图形技术、网络管理系统、CAD 技术、人工智能等多个领域。
一些新的工程概念及其实现,如并发工程、综合集成工程等,也需要面向对象的支持。
实践证明,采用面向对象的方法在提高软件的可靠性、可理解性和可维护性,提高软件质量和生产效率,降低生产成本等方面都具有重要的意义。