- 1
- 0
- 约8.47千字
- 约 8页
- 2026-02-05 发布于河北
- 举报
传统软件开发方法存在哪些问题?
在二十世纪六十年代,软件系统都是较小且相对简单的,所用的编程语言也都是十分简单的语言,时兴个人英雄注意,即崇尚程序员的个人技能。代码是面条式的,特别是代码中含有GOTO语句
随着软件复杂性的增长,随心所欲的方法就不再是可接受的了,因为这样的代码是很难维护的。高层次语言的引入有助于解决一些与复杂性有关的问题,但这些语言并不是充分的。那时,无开发方法而言。
2.面向对象方法有哪些特点?
(从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并作为系统的基本构成单位。(对象)
用对象的属性表示事物的状态特征;用对象的服务(操作)表示事物的动态特征。(属性与服务)
对象的属性与服务结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节。(封装)
对事物进行分类。把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。(分类)
通过在不同程度上运用抽象的原则可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,从而简化系统的构造过程及其文档。(继承)
复杂的对象可以用简单的对象作为其构成部分。(聚合)
对象之间通过消息进行通讯,以实现对象之间的动态联系。(消息)
通过关联表达对象之间的静态关系。(关联)
采用多态机制允许老代码调用新代码;把具有共同基类的对象组成一组,并对它们进行一致的处理(多态性))
总结:用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与服务刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系。因此,无论系统的构成成分,还是通过这些成分之间的关系而体现的系统结构,都可直接地映射问题域。
3.试比较传统方法与面向对象方法。
传统方法
数据结构+算法=程序设计
数据
操作
类型与变量
函数调用
类型与子类型
构造类型
指针
面向对象方法
以对象为中心组织数据与操作
对象的属性
对象的服务
类与对象实例
消息传送
一般类与特殊类,继承
整体-部分结构(聚合)
关联
不同点——面向对象的思想观念:从对象出发认识问题域;
构造策略:以对象作为构成系统的基本单位,将对象的数据与操作紧密结合;
保证机制:由支持封装、继承、多态的机制保证其原则的实现。
4.什么是OOA?OOA面临哪些主要问题?
面向对象的分析(OOA),就是运用面向对象方法进行系统分析。是从编程领域向分析领域发展与延伸的产物。
面临主要问题:(1)问题域和系统责任复杂性日益增长(2)交流问题(3)需求的不断变化。(4)软件复用的要求
5.OOA如何适应面临的挑战?
1).是否有利于对问题及系统责任的理解
要求分析方法采用与问题域一致的概念、术语及系统成分,产生一个较好地映射问题域、准确反映系统责任的系统模型。
2).是否有利于人员之间交流
要求分析方法使用与问题域一致的概念及术语,尽可能体现人类的日常思维方式,使各类人员具有共同语言*。
3).对需求变化的适应性
要求分析方法把系统中最容易变化的因素隔离起来,并使系统的各个单元之间接口尽可能少。即把需求变化所引起的影响局部化。
4).是否支持软件复用
系统模型的基本成分具有完整性(能完整地对应问题域中的事物)和独立性(与其它成分接口尽量少)。
6.简述OOA过程。
7.UML产生的背景及其意义。
背景:人们越来越发现非常有必要建立构建对象模型的通用和标准方法。要求用一套标准的符号和示图清晰地表达设计决策。为了这个目标,JamesRumbaugh,GradyBooch和IvarJacobson做了开创性的努力,并提供了一整套示图、符号表示法。
意义:UML是一种建模语言,它主要组成是一些用面向对象方法表达系统设计的图形符号。它是一种用于对软件密集性系统进行可视化、具体化、结构化和文档化的建模语言。UML用来建立用户、分析人员、设计者和软件开发人员之间的轻松对话。UML有效地终止了以前的方法的建模语言之间的许多不合理的差别。可能更加重要的是,它统一了很多不同类型系统(商业与软件)开发阶段(需求分析、设计、实现)以及内部概念。
8.UML有哪几种diagram?
九种。类图(classdiagram),对象图(objectdiagram),用例图(usecasediagram),顺序图(sequencediagram),协作图(collaborationdiagram),状态图(statechartdiagram),活动图(activitydiagram),组件图(Componentdiagram),部署图(deploymentdiagram)
9.简述OOP的发展。(C++→JAVA→
原创力文档

文档评论(0)