1试述面向对象方法的开发过程是怎样的
- 格式:pdf
- 大小:4.37 KB
- 文档页数:1
面向对象程序设计⏹结构化程序设计的基本内容:1.结构的类型:顺序、分支、循环2.结构化程序设计思想:利用过程或函数来抽象和模拟客观现实。
3.结构化程序设计方法:1)重点放在如何实现细节过程方面,将数据与函数分开。
2)形式:主模块+若干个子模块(如C:main()+子函数)。
4.特点:自顶向下,逐步求精——功能分解。
5.缺点:效率低,是手工作坊式的编程。
6.结构化程序的问题——数据与算法分离,程序数据和操作数据的函数是分离的。
⏹面向对象程序设计观点:1.自然界是由各种各样的实体(对象)所组成,每种对象都有自己的内部状态和运动规律,不同对象之间的相互联系和相互作用就构成了各种不同的系统,进而构成整个客观世界。
2.程序设计方法:使用面向对象的观点来描述模仿并处理现实问题。
3.要求:高度概括、分类和抽象。
4.目的:实现软件设计的产业化。
5.基本概念:1)对象:用来描述客观事物的一个实体,它是构成系统的一个基本单元。
一个对象具有一组属性和行为。
实体对象*一台计算机抽象对象*一项计划2)对象构成要素:对象标识符:是对象的名称,用来区别于其他对象。
属性:是用来描述对象静态特征的一个数据项。
行为:是用来描述对象动态特征和行为的操作。
3)消息(Message)用于描述事件发生的信息。
消息是对象之间发出的行为请求。
多个消息构成一个事件(Event)。
对象之间通过传递消息相互影响。
对象示例:一个“学生”对象的例子对象名:学生属性:学号:123456姓名:令狐冲年龄:18专业:信管行为:修改学号、姓名、专业、年龄等等对象示例:一个“课程”对象的例子:对象名:课程属性:课程号:123456课程名:程序设计任课教师:莫名选课要求:学时:48行为:获取并修改课程名、课程号、学时数、选课要求、任课教师等4)类:是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供统一的抽象描述,是对象集合的再抽象。
5)类和对象的关系:类(抽象定义)<->对象(实例)6)类<->对象举例学生<->学生王强课程<->C++程序设计类型<->变量,如C语言中的int和int x;7)类的实例——用类定义的类变量,即对象。
1、1962年在美国贝尔电话公司任职的霍尔发表了《系统工程方法论》一书,被认为是系统工程方法的奠基性著作。
2、WSR方法论分为7个步骤:①理解意图;②形成目标;③调查分析;④构造策略;⑤选择方案;⑥协调关系;⑦实现构想。
3、系统的特性:整体性、层次性、目的性、稳定性、突变性、自组织性和相似性。
4、系统:是由相互联系和相互制约的若干组成部分结合成的、具有特定功能的有机整体。
5、系统工程:系统的观点和方法为基础,综合地应用各种技术,分析解决复杂而困难的问题的工程方法。
6、系统方法论:是指在一定的系统哲学思想下,人们处理问题的步骤、方法、原则和工具。
7、系统的分类:(1)按系统的复杂程度分类:物理系统、生物系统、人类社会及宇宙系统。
(2)按系统的起源分类:自然系统和人工系统。
(3)按系统的抽象程度分类:实体系统、概念系统、逻辑系统。
(4)按系统与环境的关系分类:开放系统与封闭系统。
8、试述系统工程方法:(1)问题定义:系统研究首先要进行需求研究和环境研究。
(2)目标选择:是对问题定义的逻辑结果形成一个愿景,需要对系统目标的各种替代方案进行研究,并确定评价最优系统的标准,即描述一个理想系统所具有的目标及其特性。
(3)系统综合:是要综合前人知识和经验,发挥想象力和创造性,提出一组解决问题的方案。
(4)系统分析:就是依照系统目标和评价标准对系统综合提出的各种方案进行分析,通过对方案的推理、演算得出结论,并将结论与目标进行比较,从而获知不同方案对目标的实现程度,为下一阶段的最有系统选择打下基础。
(5)最优系统选择:根据系统分析的计算结果对所有可选方案进行比较后选择最优方案,这是一个系统评价决策过程。
(6)实施计划:根据最后选定的优化方案组织系统的具体实施。
霍尔德系统工程思想的贡献在于明确系统分析、系统综合、系统评价等概念及其相互关系,这些概念是系统工程的核心内容。
二、1、人进行信息处理的特点:①人需要反馈;②人需要一些多余的信息;③人们需要信息的压缩;④人们对信息需求的口味各异;⑤人需要非口语的信息输入。
第8章面向对象方法学导论哈尔滨理工大学荣成学院李胜利•结构化软件开发曾经给软件产业带来了巨大进步,部分地缓解了软件危机。
使用这种方法开发的许多中、小型软件项目大都获得了成功。
但是,把它应用于大型软件产品的开发时,却很少取得成功。
•在20世纪60年代后期出现了类和对象的概念;80年代中期起,逐步形成了面向对象方法学。
90年代,面向对象成为人们开发软件的首选方法。
总体上说,面向对象技术是当前最好的软件开发技术•面向对象方法学概述•面向对象方法学的主要优点•面向对象的概念•面向对象建模1. 面向对象方法学概述•面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(问题域)与实现解法的解空间(求解域)在结构上尽可能一致。
•面向对象方法的要点:(1)客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。
面向对象方法使用对象分解取代了传统方法的功能分解。
(2)把所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。
数据表示对象的静态属性,是对象的状态信息。
类中定义的方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。
(3)按照子类(派生类)与父类(基类)的关系,把若干个对象类组成一个层次结构的系统(类等级)。
在这种层次结构中,通常下层的派生类继承上层基类的特性(数据和方法),但如果在派生类中对某些特性做了重新描述,则以新描述为准。
即低层的特性将屏蔽高层的同名特性。
(4)对象彼此之间仅能通过传递消息互相通信。
对象与传统的数据有本质的区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体,必须发送消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。
也就是说,一切局部于该对象的私有信息,都被封装在对象的定义内,外界看不见,也不能直接操作。
管理信息系统复习题(二)一、单选题(每小题2分,共20分)1、管理信息系统是一种( B )A、自然系统B、人工系统C、信息处理系统D、抽象系统2、用户通过终端设备向系统提出服务请求,系统完成服务后通过终端即时回答用户,这样的信息处理系统属于( C )A、计算机系统B、批处理系统C、实时处理系统D、分布处理系统3、关系模型是把数据的逻辑结构归结为满足一定条件的(B )模型A、层次B、网状C、一维表D、二维表4、系统开发过程中最重要、最关键的环节是(D )A、系统分析B、系统设计C、系统实现D、A和B5、描述信息系统逻辑模型的主要工具是( A )A、数据流图B、数据字典C、数据处理功能分析表D、数据-功能格栅图6、系统调试完成后,在实施系统转换、投入试运行之前,必须做好编写(C )和人员培训工作。
A、系统说明书B、系统实施方案C、系统使用说明书D、系统测试报告7、网络上的每一个节点都有系统数据的完整拷贝,而且所有节点上的数据更新是同步的,这样的数据分布形式是(B )数据分布形式。
A、集中式B、分片式C、重复式D、混合式8、系统对提高企业科学管理水平,增强企业竞争力以及提高管理人员素质等带来的收益属于( B )A、直接经济效益B、间接经济效益C、系统收益D、投资回收效益9、在系统转换中,中间没有过渡阶段,用新系统立即替换旧的系统,这种转换方式称为(A )A、直接转换B、并行转换C、试运行转换D、分阶段转换10、层次码是一种( B )A、顺序码B、区间码C、助记码D、缩写码二、填空题(每一空1分,共30分)1、管理信息系统是以计算机为基础的及以人作为系统组成部分的(人机)系统。
2、根据系统的一般模型,系统应包括(输入)、(处理)和(输出)。
3、数据库系统的组成部分包括(数据)、(计算机系统)和(数据库管理系统)。
4、基于面向对象方法的系统开发过程分三个阶段:即(面向对象分析阶段)、(面向对象设计阶段)和(面向对象实现阶段)。
1.什么是结构化程序设计方法?这种方法有哪些优点和缺点?【解答】结构化程序设计方法是指20世纪60年代开始出现的高级语言程序设计方法,由于采用了数据结构化、语句结构化、数据抽象和过程抽象等概念,使程序设计在符合客观事物与逻辑的基础上更进了一步。
结构化程序设计的思路是:自顶向下、逐步求精。
程序结构由具有一定功能的若干独立的基本模块(单元)组成,各模块之间形成一个树状结构,模块之间的关系比较简单,其功能相对独立,模块化通过子程序的方式实现。
结构化程序设计方法使高级语言程序设计开始变得普及,并促进了计算机技术的深入应用。
虽然结构化程序设计方法采用了功能抽象、模块分解与组合,以及自顶向下、逐步求精的方法,能有效地将各种复杂的任务分解为一系列相对容易实现的子任务,有利于软件开发和维护;但与面向对象程序设计方法相比,结构化程序设计存在的主要问题是,程序的数据和对数据的操作相互分离,若数据结构改变,程序的大部分甚至所有相关的处理过程都要进行修改。
因此,对于开发大型程序具有一定的难度,软件的可重用性差,维护工作量大,不完全符合人类认识世界的客观规律。
2.面向对象程序设计有哪些重要特点?【解答】软件设计的目的是为了解决日常生活中存在的各种实际问题,面向对象程序设计与以往各种程序设计方法的根本区别是程序设计的思维方法的不同。
它主要具有如下重要特点:(1)面向对象程序设计实现了较直接地描述客观世界中存在的事物(即对象)及事物之间的相互关系,它所强调的基本原则是直接面对客观事物本身进行抽象,并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。
(2)面向对象的程序设计将客观事物看作具有属性和行为的对象,通过对客观事物进行抽象来寻找同一类对象的共同属性(静态特征)和行为(动态特征),并在此基础上形成类。
(3)面向对象的程序设计将数据和对数据的操作封装在一起,提高了数据的安全性和隐蔽性。
第1章面向对象程序设计概述3(4)面向对象的程序设计通过类的继承与派生机制以及多态性特性,提高了软件代码的可重用性,因而大大缩减了软件开发的相关费用及软件开发周期,并有效地提高了软件产品的质量。
JAVA语言与面向对象程序设计课后习题答案第1章面向对象软件开发概述1.简述面向过程问题求解和面向对象问题求解的异同。
试列举出面向对象和面向过程的编程语言各两种。
请问:面向过程问题解,以具体内容的解题过程为研究和同时实现的主体,其思维特点更吻合于计算机;面向对象的问题解,则就是以d对象‖为主体,d对象‖就是现实世界的实体或概念在计算机逻辑中的抽象化则表示,更吻合于人的思维特点。
面向过程的编程语言:c,pascal,foratn。
面向对象的编程语言:c++,java,c#。
2.详述对象、类和实体及它们之间的相互关系。
尝试从日常碰触至的人或物中抽象化出来对象的概念。
答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
类是同种对象的集合与抽象。
类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。
如果类是抽象的概念,如d电视机‖,那么对象就是某一个具体的电视机,如d我家那台电视机‖。
3.对象存有哪些属性?什么就是状态?什么就是犯罪行为?二者之间有何关系?建有对象d学生‖,精义这个对象设计状态与犯罪行为。
答:对象都具有状态和行为。
对象的状态又称作对象的静态属性,主要指对象内部所涵盖的各种信息,也就是变量。
每个对象个体都具备自己专有的内部变量,这些变量的值标明了对象所处的状态。
行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。
学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;学生的行为:自我介绍、入学注册、选课、参加比赛等。
4.对象间存有哪三种关系?对象d班级‖与对象d学生‖就是什么关系?对象d学生‖与对象d大学生‖就是什么关系?答:对象间可能存在的关系有三种:包含、继承和关联。
对象d班级‖与对象d学生‖是包含关系。
对象d学生‖与对象d大学生‖是继承关系。
国开电大本科《软件工程》期末考试试题及答案一、选择题(每题2分,共20分)1. 软件工程的三要素是:_______A. 软件开发、软件维护、软件管理B. 软件设计、软件编码、软件测试C. 软件需求分析、软件设计、软件开发D. 软件开发、软件项目管理、软件维护答案:B2. 下面哪个不是软件工程的七个基本活动之一?_______A. 软件规格说明B. 软件设计和实现C. 软件验证D. 软件部署答案:D3. 面向对象方法中,下面哪个不是三大基本特征之一?_______A. 封装B. 继承C. 多态D. 模块化答案:D4. 软件需求分析的主要目的是:_______A. 确定软件的功能和性能要求B. 设计软件的结构C. 编写软件的测试用例D. 确定软件的开发计划答案:A5. 下面哪个不属于软件测试的级别?_______A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D二、填空题(每题2分,共20分)6. 软件生命周期是指软件从_______到_______的全过程。
答案:需求分析、软件退役7. 结构化分析方法主要包括数据流图(DFD)、_______和_______。
答案:实体关系图(ER图)、状态转换图(STD)8. 在软件设计中,设计模式是一种_______的解决方案,它可以解决软件设计中的常见问题。
答案:通用9. 软件编码阶段的主要任务是编写_______和_______。
答案:源代码、文档10. 软件测试的目的是_______,而不是证明软件是正确的。
答案:发现错误三、简答题(每题5分,共25分)11. 简述软件工程的定义及其目标。
答案:软件工程是一门应用计算机科学、数学及管理科学的方法、技术和工具,来定义、开发和维护软件的学科。
软件工程的目标是提高软件的生产率、提高软件的质量、降低软件的成本。
12. 简述面向对象方法的特点。
答案:面向对象方法具有以下特点:(1)封装:将数据和操作数据的方法封装在一起,形成一个对象。
三、判断题1.信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图。
()[中国传媒大学2014研]【答案】正确【解析】信息模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。
它描述了从用户角度看到的数据。
其中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。
可使用E-R图对其包含的信息进行准确的描述。
2.用例模型的基本组成部件是用例、角色和用例之间的联系。
()[中国传媒大学2014研]【答案】正确【解析】用例模型是通过用例、角色(系统和行为者)、用例间联系来描述外部行为者所理解的系统功能。
3.面向对象的开发方法将过程作为最基本元素,是分析问题、解决问题的核心。
()[中国传媒大学2014研]【答案】错误【解析】面向对象方法是一种以数据或信息为主线,把数据和处理相结合的方法,即把对象作为由数据及可以施加在这些数据上的操作所构成的统一体,因此,面向对象的开发过程最基本的元素是对象。
4.压力测试是检测在极限环境中使用系统时施加在用户上的压力。
()[中国传媒大学2014研]【答案】错误【解析】压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。
5.若在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。
()[中国传媒大学2014研]【答案】错误【解析】在软件开发过程中,系统变更的代价呈非线性增长。
在早期早阶段发现一个错误,解决它需要的代价要比等到设计、编程、测试和维护阶段解决小非常多。
6.软件维护中大部分工作是由于用户的需求改变而引起的。
()[中国传媒大学2014研]【答案】正确【解析】为了满足用户的需求,需要进行完善性维护,完善性维护占整个维护过程的50%~60%,比重最大。
7.在白盒测试中,满足条件组合覆盖的测试用例也会满足路径覆盖的要求。
基于UML面向对象的系统分析设计方法研究1、引言UML是一种编制系统蓝图的标准化语言,可以实现大型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建立各种所需的文档,它是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
UML的发展对软件工程的发展做出了杰出的贡献。
UML支持从需求分析开始的软件开发的全过程。
UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。
URM的发展经历了以下几个阶段。
最初的阶段是专家的联合行动,由三位OO(面向对象)方法学家[8]将他们各自的方法结合在一起,形成UML 0.9。
第二阶段是公司的联合行动,由十几家公司组成的“UML 伙伴组织”将各自的意见加入UML,形成UML 1.0和1.1,并作为向OMG申请成为建模语言规范的提案。
第三阶段是在OMG控制下的修订与改进,OMG于11月正式采纳UML 1.1作为建模语言规范,然后成立任务组进行不断的修订,并产生了UML 1.2、1.3和1.4版本,其中UML 1.3是较为重要的修订版。
目前正处于UML的重大修订阶段,目标是推出UML 2.0,作为向ISO提交的标准提案。
1.1 UML的特点UML具有以下特点[1]:(1)面向对象。
UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图形和方法,能简洁明了地表达面向对象的各种概念。
(2)可视化,表示能力强。
通过UML的模型图能清晰地表示系统的逻辑模型和实现模型。
可用于各种复杂系统的建模。
(3)独立于过程。
UML是系统建模语言,独立于开发过程。
(4)独立于程序设计语言。
用UML建立的软件系统模型可以用Java、VC++、SmalltaIk等任何一种面向对象的程序设计来实现。
(5)易于掌握使用。
UML图形结构清晰,建模简洁明了,容易掌握使用。
软件工程考试题目及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件生产率B. 提高软件质量C. 提高软件的可维护性D. 降低软件成本答案:B2. 软件需求分析阶段的工作不包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 软件设计答案:D3. 在软件生命周期中,软件维护阶段通常不包括()。
A. 改正性维护B. 适应性维护C. 完善性维护D. 可行性研究答案:D4. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件无错误D. 证明软件符合需求答案:B5. 面向对象方法中,对象的基本特征不包括()。
A. 抽象B. 封装C. 继承D. 多态性答案:D6. 在面向对象的分析与设计中,类和对象的关系是()。
A. 整体与部分的关系B. 静态与动态的关系C. 抽象与具体的关系D. 继承与派生的关系答案:C7. 软件工程中的“软件危机”主要是指()。
A. 软件开发成本超支B. 软件开发进度延期C. 软件开发质量低下D. 以上都是答案:D8. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 人员管理D. 软件设计答案:D9. 软件工程中的“可维护性”是指()。
A. 软件容易理解B. 软件容易修改C. 软件容易测试D. 软件容易维护答案:B10. 软件工程中的“可重用性”是指()。
A. 软件可以被重复使用B. 软件可以被修改后使用C. 软件可以被移植到其他系统D. 软件可以被复制到其他系统答案:A二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 逐步求精D. 复用答案:ABCD12. 软件需求分析的主要任务包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD13. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD14. 面向对象方法的主要优点包括()。
简答题
1.试述面向对象方法的开发过程是怎样的?
2.简述对象、类、类结构、消息、方法的基本概念。
3.传统开发方法存在的问题是什么?
4.试述面向对象方法有哪些特征。
5.为什么说用结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差?
6.功能模型的特征有哪些?
7.继承性和多态性的好处是什么?
8.简述三种分析模型的关系。
9.简述动态建模的过程。
10.简述面向对象的要素。
11.简述功能建模的过程。
12.对象设计包含哪些内容?
13.简述对象模型的特征,并举一个现实的实例,给出它的一般化关系、聚集关系的描
14.面向对象分析模型的用途是什么?
15.简述对象建模的过程。
16.在类的实现中,如何利用既存类的途径?
17.简述动态模型的特征,说明事件、事件跟踪图、状态、状态图的含义。
18.在面向对象程序设计中,为适应面向对象方法所特有的概念(例如继承性)而必须
遵循哪些新准则?
19.简述面向对象设计的启发规则。
20.设计简单的类应该是什么?
21.保证设计结果清晰易懂的主要因素有什么?
22.面向对象设计准则是什么?
23.系统设计的内容是什么?
24.面向对象软件的测试如何进行?
25.要设计出让用户满意的人机交互界面,应遵循哪几条准则?
26.菜单系统的结构可分为哪几种?画出每种的结构图。
27.多媒体用户界面具有哪些特点?
28.试述多媒体用户界面细节设计的步骤。
29.非精确的交互方式有哪些?
30.新一代界面有哪些主要特征?
31.简单描述Seeheim模型。
32.如何理解用户界面设计中“人的因素”?