当前位置:文档之家› Chap1 面向对象与软件建模概述

Chap1 面向对象与软件建模概述

JAVA语言与面向对象程序设计课后习题答案

第1章面向对象软件开发概述 1.简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。 答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。 面向过程的编程语言:C,Pascal,Foratn。 面向对象的编程语言:C++,Java,C#。 2.简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。 答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。 3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。 答:对象都具有状态和行为。 对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。 行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。 学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等; 学生的行为:自我介绍、入学注册、选课、参加比赛等。 4.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系? 答:对象间可能存在的关系有三种:包含、继承和关联。 对象“班级”与对象“学生”是包含关系。 对象“学生”与对象“大学生”是继承关系。 5.有人说“父母”和“子女”之间是继承的关系。这种说法是否正确?为什么? 答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。因为这里的继承关系是“is a”的关系,“男人”与“人”之间可以说是继承关系。 6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作? 答:面向对象的软件开发过程可以大体划分为面向对象的分析(Object Oriented analysis,OOA)、面向对象的设计(Object oriented design,OOD)、面向对象的实现(Object oriented programming,OOP)三个阶段。 面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。 面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。 7.面向对象的程序设计方法有哪些优点? 答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,使得上述“分析—设计—实现”的开发过程也更加高效、快捷。

各类三维设计软件介绍讲课教案

各类三维设计软件介 绍

三维设计软件现在有好多的,不过目前用的最多的是SolidWorks软件。SolidWorks的设计思路十分清晰,设计理念容易理解,模型采用参数化驱动,用数值参数和几何约束来控制三维几何体建模过程,生成三维零件和装配体模型;再根据工程实际需要做出不同的二维视图和各种标注,完成零件工程图和装配工程图。从几何体模型直至工程图的全部设计环节,实现全方位的实时编辑修改,能够应对频繁的设计变更。 PRO/E, 还有MAYA,caxa,sketch up(参数很少,小巧)Auto CAD (三维功能太弱,算不上三维设计软件,平面才是它的天下),SolidWorks,草图大 师,3ds(三维渲染很强) 目前常用三维软件很多,不同行业有不同的软件,各种三维软件各有所长可根据工作需要选择。比较流行的三维软件如:Rhino(Rhinoceros犀牛)、Maya、3ds Max、Softimage/XSI、Lightwave 3D、Cinema 4D、PRO-E等 Maya 是一个包含了许多各种内容的巨大的软件程序。对于一个没有任何使用三维软件程序经验的新用户来说,可能会因为它的内容广泛、复杂而受到打击。对于有一些三维制作经验的用户来说,则可以毫无问题地搞定一切。Maya的工作流程非常得直截了当,与其它的三维程序也没有太大的区别。只需要熟悉一至两个星期,你就会适应Maya的工作环境,因而可以更深一步的探究Maya的各种高级功能,比如节点结构和Mel脚本等。 Softimage/XSI 是一款巨型软件。它的目标是那些企业用户,也就是说,它更适合那些团队合作式的制作环境,而不是那些个人艺术家。籍此原因,我个人认为,这个软件并不特别适合初学者。XSI将电脑的三维动画虚拟能力推向了极至。是最佳的动画工具,除了新的非线性动画功能之外,比之前更容易设定Keyframe的传统动画。是制作电影,广告,3D,建筑表现等方面的强力工具。 Lightwave 对于一个三维领域的新手来说,Lightwave非常容易掌握。因为它所提供的功能更容易使人认为它主要是一个建模软件。对于一个从其它软件转来的初学者,在工具的组织形式上和命名机制上会有一些问题。在Lightwave中,建模工作就像雕刻一样,只需要几天的适应时间,初学者就会对这些工具感到非常地舒服。Lightwave有些特别,它将建模(Modeling:负责建模和贴图)和布局(Layout:动画和特效)分成两大模块来组织,也正是因为这点,丢掉了许多用户。 广泛应用在电影、电视、游戏、网页、广告、印刷、动画等各领域。它的操作简便,易学易用,在生物建模和角色动画方面功能异常强大;基于光线跟踪、光能传递等技术的渲染模块,令它的渲染品质几尽完美。它以其优异性能倍受影视特效制作公司和游戏开发商的青睐。火爆一时的好莱坞大片《TITANIC》中细致逼真的船体模型、《RED PLANET》中的电影特效以及《恐龙危机2》、《生化危机-代号维洛尼卡》等许多经典游戏均由LightWave 3D开发制作完成。 Rhinoceros(Rhino) 是一套专为工业产品及场景设计师所发展的概念设计与模型建构工具,它是第一套将 AGLib NURBS 模型建构技术之强大且完整的能力引进Windows 操作系统的软件,不管您要建构的是汽机车、消费性产品的外型设计或是船壳、机械外装或齿轮、甚至是生物或怪物的外形,Rhino 稳固的技术所提供给使用者的是容易学习与使用、极具弹性及高精确度的模型建构工具。从设计稿、手绘到实际产品,或是只是一个简单的构思,Rhino所提供的曲面工具可以精确地制作所有用来作为彩现、动画、工程图、分析评估以及生产用的模型。Rhino 可以在Windows 的环境下创造、编排或是转译NURBS曲线、表面与实体。在复杂度与尺寸上并没有限制。此外,Rhino并可支持多边网格的制作。 Vue 5 Infinite e-on software公司出品。作为一款为专业艺术家设计的自然景观创作软件,Vue 5 Infinite 提供了强大的性能,整合了所有 Vue 4 Pro 的技术,并新增了超过 110 项的新功能,尤其是 EcoSystem 技术更为创造精细的3D环境提供了无限的可能。Vue 5 Infinite 是几个版本中最有效率,也是在建模、动画、渲染等3D自然环境设计中最高级的解决方案.目前国际界内很多大型电影公司,游戏公司或与景观设计相关的行业都用此软件进行3D自然景观开发. Bryce Bryce是由DAZ推出的一款超强3D自然场景和动画创作软件,它包合了大量自然纹理和物质材质,通过设计与制作能产生极其独特的自然景观。这个革命性的软件在强大和易用中间取得了最优化的平衡,是一个理想的将三维技术融合进您的创作程序的方法,流畅的网络渲染、新的光源效果和树木造型库为您开拓创意的新天堂。全新的网络渲染 - 在网络中渲染一系列动画图像或是单张图片,大大节省时间和金钱。 对于机械行业哪种三维设计软件被最多公司应用。是SolidWorks,UG,PRO-E还是什么。

2014软件建模技术大作业

2014软件建模技术大作业 1、实验的目的和意义 通过综合性实验的设计,使计算机科学与技术专业的学生综合训练自己的分析问题、解决问题的能力,积累软件建模开发的工作经验,结合所学的统一建模语言开发理论,指导综合性应用系统的开发实践,提高学生专业开发所需具备的专业素质以及团队协作能力。为以后完成毕业设计和从事软件系统开发工作打下坚实的基础。 2、实验类型 本课程涉及到的实验类型主要是综合型设计实验。本课程综合实验的推荐方法: ●充分理解题目内容,明确题目需求,从题目介绍和实际情况出发,找出一些隐含 条件或者隐含的需求。 ●查阅有关资料,按照统一建模语言的思路和方法来解决问题。 ●着重从建模的角度和实际应用去考虑问题,从反复的动手做中积累经验。 ●按照建模语言具体的要求,训练软件文档的书写能力,多画图、多分析,从图表 中分析,把分析设计的结果用图表表示出来。和同组的同学充分合作,利用团队 精神进行软件开发。 3、实验的设计题目及内容要求 公开信息管理系统设计 本设计目的在于面向外界介绍学院的公共信息,达到宣传学院的目的。介绍的信息包括:学院历史、专业介绍、部门介绍、实验室介绍、教师信息、学生信息、认证培训等信息,具体的信息在设计的实际调研过程中收集获得。显示页面美观大方,页面操作方便简易,维护工作动态方便。 论文信息管理系统设计 本设计实现论文信息的管理工作。教师网上填写论文信息,管理人员审核信息,教师可网上查询通过审核的科研信息,学院可以统计整个学院的科研情况以及各教研室的科研情况。 科研项目信息管理系统设计 本设计实现科研信息的管理工作。教师网上填写科研信息,管理人员审核信息,教师可网上查询通过审核的科研信息,学院可以统计整个学院的科研情况以及各教研室的科研情况。 课程设计题目信息管理系统设计 本设计实现课程设计题目的管理工作。教师网上提交申报信息;学生可以网上查看、选报题目;教师审核学生的申请,确定学生的申报请求;能记录学生设计过程的信息,并提供相应的查询功能。 资料信息管理系统设计 本设计实现资料信息管理工作。管理员网上维护这些信息,教师可查询相关资料,并实现借阅等功能。 党建信息管理系统设计 本设计实现党建信息管理工作。通过该系统可网上查询人员的基本情况,共青团推优人员、先进积极分子、预备党员情况;可网上审核共青团推优人员、先进积极分子、预备党员;可查询党员党费交费情况等。 学生评教信息管理系统设计

你不可错过的25款3D建模常用软件

你不可错过的25款免费3D建模常用软件 技术上,三维指的是在三种平面( X ,Y和Z )上构造对象。创造三维图形的过程可分为三个基本阶段:三维造型,三维动画和三维渲染。 三维( 3D )电脑绘图得到广泛使用,它们在任何地方都可看见,几乎是司空见惯,应用于电影,产品设计,广告,电子等等。虽然它们常见到,但并不意味着它们容易创建。为了交互式控制三维物体,创建3D模型必须使用那些非专业用户少用的3D专业创作工具。 三维模型通常是来源于计算机工程师使用某种工具创建的三维建模。因此创建三维模型是不容易的,而且软件的成本可能要花费一笔资金。另外我们应该去尝试一些实用性的开源三维建模工具。通过网站之间的推广和阅读最终用户的意见和反馈之后,我们为你带来你不应该错过的25个免费3D建模应用程序。清单如下: 1.Blender 一个自由和开放源码的三维建模和动画应用程序,可用于建模,紫外线展开,纹理操纵,水模拟,蒙皮,动画,渲染,粒子和其他仿真,非线性编辑,合成,并建立互动的3D应用程序。 2.K-3D K-3D是免费自由的三维建模和动画软件。其所有内容以采用插件为导向的程序引擎为物色,使K-3D变成一个用途很广,功能强大的软件包。

3.Art of Illusion Art of Illusion 是免费的、开源的3D建模和渲染工作室。一些亮点包括基于细分曲面建模工具,根据骨骼动画,图形和设计语言程序结构和材料。 4.SOFTIMAGE|XSI Mod Tool 一款为那些有志于游戏开发商和模型制作者作出贡献的免费三维建模和动画软件。这款模型工具是一个非商业游戏制作的XSI免费版本。它是每个人游戏、模型、3D等应用的一个必备工具。这款模型工具可插入所有主要的游戏引擎和下一代游戏的开发框架,休闲游戏,现时著称的三维建模,甚至基于Flash 的3D游戏。

《面向对象程序设计》教学大纲资料

面向对象程序设计教学大纲西北民族大学数学与计算机科学学院 制定的时间:二〇一二年五月

面向对象程序设计教学大纲 一、课程基本资料 主讲教师:曹永春、蔡正琦、顿毅杰 主教材:《C++面向对象程序设计》中国铁道出版社,陈维兴、林小茶编著,第2版,2009 辅助教材: 1.《C++编程思想》机械工业出版社,美Bruce Eckel,Chuck Alliso著,刘宗田,袁兆山,潘秋菱等译; 第1版,2011年 2. 《C++程序设计教程》机械工业出版社,美H.M.Deitel P.J.deitel 薛万鹏等译,2000年 3.《C++程序设计语言》,机械工业出版社,美Bjarne Stroustrup 著,裘宗燕译,2005年 4.《C++面向对象程序设计习题解析与上机指导》清华大学出版社,陈维兴主编,第2版,2009年 实验教材及参考书: 同上 课程性质:学科选修课 学分:4分 课时:72学时,其中理论课54学时,上机实验18学时 先修课程:计算机导论、C语言程序设计 课程结构:多媒体教学,课堂讨论、课内实验、课后作业 评价方案:(考核依据、评分的办法、权重的分布) ?平时成绩:10% 课堂表现(课堂提问、考勤、作业等) ?实验成绩:20%(实验报告、实验考试)

?期中成绩:20%(闭卷考试) .期末成绩:50%(闭卷考试) 参考书目: 名称编著者出版社出版年月《C++编程思想》刘宗田,袁兆山,潘 机械工业出版社2011年 秋菱等译 机械工业出版社2000年 《C++程序设计教程》H.M.Deitel, P.J.deitel 著,薛万鹏等译 《C++程序设计语言》Bjarne Stroustrup 机械工业出版社2005年 著,裘宗燕译 陈维兴主编清华大学出版社2009年 《C++面向对象程序设计 习题解析与上机指导》 推荐刊物: 1、《计算机学报》 2.《软件学报》 3.《程序员杂志》 4.《码农周刊》 5.《快乐码农》 相关网站: 1. 中国计算机学会https://www.doczj.com/doc/dc3821693.html,/sites/ccf/ 2. 计算机爱好者协会https://www.doczj.com/doc/dc3821693.html,/forum.php 3.C语言中文网https://www.doczj.com/doc/dc3821693.html,/cpp 5.中国悠悠期刊网https://www.doczj.com/doc/dc3821693.html,/ 6. 中国知网https://www.doczj.com/doc/dc3821693.html,/ 文献 1.谭浩强.C程序设计.第4版.北京:清华大学出版社,2010

软件建模和设计试题

一.名词解释: 1.在软件工程中,对客观世界的问题领域进行抽象,并用某描述方法表示的结果称为模型。模型是现实系统的简化,它是抓住现实系统的主要方面而忽略次要方面的一种抽象,是对问题的书面上的、图形或文字的、无歧义的描述。人们常常在正式构造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质,抓住问题的要害。在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握。 https://www.doczj.com/doc/dc3821693.html,e Case(用例):在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。一个Use Case表达了用户对系统的一项需求,也就是系统的一项责任或功能。 3.架构风格指一组原则。可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。软件体系架构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系架构风格定义了一个系统家族,即一个体系架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。 4.类(Class)是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。类通过接口与外界发生关系。 5.软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。 二、 1.面向对象建模的大致过程如下: 用UML进行面向对象建模首先要描述总体需求。在这一阶段中主要是建立用例模型和静态模型,以搭建系统体系结构。用例图是系统的高级视图,要求按照面向对象的原则,站在功能划分的角度将系统要实现的行为划分为用例;以用例之间的动态交互及交互时间为依据产生顺序图;接下来就在用例图的基础上抽象出系统的类,明确各模块之间的关系以适当的粒度画出类图,其中也包括了与用例图的相互迭代修改在分析完模块的静态交互关系后继而要绘制出构件图。以上这些过程中均不考虑系统的具体实现,如建立什么样的数据库或采用什么语言编码等,最好是以使用者的眼光去分析系统功能。为建立完整的系统模型,还要对模块交互和构件细节做进一步分析,补充状态图、活动图、协作图和实施图等,从尽可能多的角度对复杂系统进行描述。在模型确定后就可以借助相应的支撑软件将模型导出为

面向对象软件开发教程

软件是在代码之外发生的一切事情。 如何继续学习过程 你将从本章学到什么? 两千年后(P2K)的软件环境是什么样的? P2K软件环境中的技术和技能是什么?有关P2K技能和技术有哪些概述性的资源?软件专家在面向对象项目中充当什么角色/职位? 如何继续面向对象的学习过程? 为什么需要阅读本章? 你的技能,以及如何使用它们,是能否成为成功的软件专家的重要决定性因素。通过阅读本书,你会获得学习对象技术和技巧所需的基本知识,本章也给你提供了继续进一步学习过程的建议。 至此,你已经了解了面向对象的全部内容,现在你已经是一名准备开发大型、关键性任务软件的对象专家。好吧,现在你还不全是。实际上,你已经掌握了一些有用的概念和技能,也明白了它们如何一起使用,在浏览复习题以及案例学习的过程中,你已经使用了它们。目前你正处在有利地位,可以继续你的学习过程,这个过程将很可能贯穿你的整个职业生涯。本章给出了对软件业目前的状况以及将来的发展方向的见解,在接下来的几年中将会需要什么样的技能,要如何才能获得这些技能。 11.1 P2K 环境 在你的整个职业生涯中一直要学习新的技能。 软件业在20世纪90年代后半期被Y2K危机严重影响了,新的开发被耽搁下来或者干脆取消,以转移资源解决Y2K危机,结果,许多企业都推迟了对采用新的技术和技能的投资。现在 Y2K危机已经过去了,我们正面对着两千年后(P2K)的软件环境,一个使用本书中描述的技术支配的环境。 在P2K环境中,你将会应用新的方法,例如面向对象的和基于组件的方法,采用迭代和增 量方法的新的开发过程,像Java和CORBA这样新的技术,以及像用况建模这样新的技术。本 书概述了对象开发技术,本节也总结了用于P2K环境的关键技术和技能。要理解P2K环境, 必需考虑下面几项内容:

软件建模技术理论考试试卷C卷

软件建模技术理论考试试卷C卷 1、以下关于模型的说法,错误的是( ) A、模型是对现实的简化,虽然模型对现实进行了简化,但不能改变或歪曲任何重要细节。 B、模型可以是一个对象的微缩表示、是一种用于生产某事物的模式,也可以是一种设计或一个类型,还可以是一个待模仿或仿真的样例。 C、不管项目是简单还是复杂,都应该建造模型描述它。 D、对一个复杂的或是重要的系统,有时需要用多种模型对系统分别进行研究和描述。 2、以下( )不是UML的基本关系。 A、依赖关系 B、泛化关系 C、协作关系 D、实现关系 3、在进行( )相关领域的应用开发时,不推荐使用UML建模。 A、数值计算 B、工业系统 C、信息系统 D、软件系统 4、以下( ),不是软件开发过程中可以尽量避免或可以着力改进的问题。 A、软件开发无计划性,进度的执行和实际情况有很大差距。 B、软件需求分析阶段工作做得不充分。 C、软件开发过程中没有统一的规范指导,参与软件开发的人员各行其事。 D、软件的开发过程中,必须投入大量的高强度的脑力劳动。 5、以下( )不属于软件的生存期。 A、需求分析 B、软件设计 C、测试 D、升级 6、关于下图,说法错误的是( ) A、Reader是类名 B、borrowBook是类的方法 C、name是类的属性 D、name是公有的 7、以下图中,表示“接口”这种事物的是( ) A、B、

C、D、 8、以下图中,表示“泛化”这种关系的是( ) A、B、 C、D、 9、( )图可以用来对需求建模。 A、用例图 B、类图 C、部署图 D、组件图 10、以下说法错误的是( ) A、用例既可以描述系统做什么,也可以描述系统是如何被实现的。 B、应该从参与者如何使用系统的角度出发定义用例,而不是从系统自身的角度。 C、基本流描述的是该用例最正常的一种场景,在基本流中系统执行一系列活动步骤来响应参与者提出的服务请求。 D、备选流负责描述用例执行过程中异常的或偶尔发生的一些情况。 11、下面哪个不是UML中的静态视图( ) A、状态图 B、用例图 C、对象图 D、类图 12、下面哪个选项中有不是活动图中的基本元素( ) A、状态、分支 B、状态、汇合 C、泳道、转移 D、信号、转移 13、事件表示对一个在时间和空间上占据一定位置的有意义的事情的规格说明,下面哪个不是事件的类型( ) A、信号 B、调用事件 C、变化事件 D、源事件 14、以下是图书管理系统中的相关类,属于控制类的是( ) A、书类 B、借书操作界面类 C、书籍管理类 D、读者类 15、通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定符( ) A、公有的 B、受保护的 C、友员的 D、私有的

面向对象程序设计概述

1.什么是结构化程序设计方法?这种方法有哪些优点和缺点? 【解答】结构化程序设计方法是指20世纪60年代开始出现的高级语言程序设计方法,由于采用了数据结构化、语句结构化、数据抽象和过程抽象等概念,使程序设计在符合客观事物与逻辑的基础上更进了一步。结构化程序设计的思路是:自顶向下、逐步求精。程序结构由具有一定功能的若干独立的基本模块(单元)组成,各模块之间形成一个树状结构,模块之间的关系比较简单,其功能相对独立,模块化通过子程序的方式实现。结构化程序设计方法使高级语言程序设计开始变得普及,并促进了计算机技术的深入应用。 虽然结构化程序设计方法采用了功能抽象、模块分解与组合,以及自顶向下、逐步求精的方法,能有效地将各种复杂的任务分解为一系列相对容易实现的子任务,有利于软件开发和维护;但与面向对象程序设计方法相比,结构化程序设计存在的主要问题是,程序的数据和对数据的操作相互分离,若数据结构改变,程序的大部分甚至所有相关的处理过程都要进行修改。因此,对于开发大型程序具有一定的难度,软件的可重用性差,维护工作量大,不完全符合人类认识世界的客观规律。 2.面向对象程序设计有哪些重要特点? 【解答】软件设计的目的是为了解决日常生活中存在的各种实际问题,面向对象程序设计与以往各种程序设计方法的根本区别是程序设计的思维方法的不同。它主要具有如下重要特点: (1)面向对象程序设计实现了较直接地描述客观世界中存在的事物(即对象)及事物之间的相互关系,它所强调的基本原则是直接面对客观事物本身进行抽象,并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。 (2)面向对象的程序设计将客观事物看作具有属性和行为的对象,通过对客观事物进行抽象来寻找同一类对象的共同属性(静态特征)和行为(动态特征),并在此基础上形成类。 (3)面向对象的程序设计将数据和对数据的操作封装在一起,提高了数据的安全性和隐蔽性。

面向对象程序设计C++课后题答案

第一章:面向对象程序设计概述 [1_1]什么是面向对象程序设计? 面向对象程序设计是一种新型的程序设计范型。这种范型的主要特征是: 程序=对象+消息。 面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。 面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。 [1_2]什么是类?什么是对象?对象与类的关系是什么? 在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。对象可以认为是:数据+操作 在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。 类和对象之间的关系是抽象和具体的关系。类是多个对象进行综合抽象的结果,一个对象是类的一个实例。 在面向对象程序设计中,总是先声明类,再由类生成对象。类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。 [1_3]现实世界中的对象有哪些特征?请举例说明。 对象是现实世界中的一个实体,其具有以下一些特征: (1)每一个对象必须有一个名字以区别于其他对象。

(2)需要用属性来描述它的某些特性。 (3)有一组操作,每一个操作决定了对象的一种行为。 (4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。例如:雇员刘名是一个对象 对象名:刘名 对象的属性: 年龄:36 生日:1966.10.1 工资:2000 部门:人事部 对象的操作:吃饭开车 [1_4]什么是消息?消息具有什么性质? 在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。当对象接收到发向它的消息时,就调用有关的方法,执行相应的操作。消息是一个对象要求另一个对象执行某个操作的规格的说明,通过消息传递才能完成对象之间的相互请求或相互协作。消息具有以下3个性质: (1)同一个对象可以接收不同形式的多个消息,做出不同的响应。 (2)相同形式的消息可以传递给不同的对象,所做出的响应可以是不同的。(3)消息的发送可以不考虑具体的接收者,对象可以响应消息,也可以不响应。[1_5]什么是方法?消息和方法的关系是什么? 在面向对象程序设计中,要求某一对象作某一操作时,就向该对象发送一个响应的消息,当对象接收到发向它的消息时,就调用有关的方法,执行响应的操作。方法就是对象所能执行的操作。方法包括界面和方法体两部分。方法的界面也就是消息的模式,它给出了方法的调用协议;方法体则是实现某种操作的一系列计算步骤,也就是一段程序。在C++语言中方法是通过函数来实现的,称为成员函数。消息和方法的关系是:对象根据接收到的消息,调用相应的方法;反过来,有了方法,对象才能响应相应的消息。 [1_6]什么是封装和抽象?请举例说明。

各类三维设计软件介绍

. 三维设计软件现在有好多的,不过目前用的最多的是SolidWorks软件。SolidWorks的设计思路十分清晰,设计理念容易理解,模型采用参数化驱动,用数值参数和几何约束来控制三维几何体建模过程,生成三维零件和装配体模型;再根据工程实际需要做出不同的二维视图和各种标注,完成零件工程图和装配工程图。从几何体模型直至工程图的全部设计环节,实现全方位的实时编辑修改,能够应对频繁的设计变更。 PRO/E, 还有MAYA,caxa,sketch up(参数很少,小巧)Auto CAD (三维功能太弱,算不上三维设计软件,平面才是它的天下),SolidWorks,草图大 师,3ds(三维渲染很强) 目前常用三维软件很多,不同行业有不同的软件,各种三维软件各有所长可根据工作需要选择。比较流行的三维软件如:Rhino(Rhinoceros犀牛)、Maya、3ds Max、Softimage/XSI、Lightwave 3D、Cinema 4D、PRO-E等 Maya 是一个包含了许多各种内容的巨大的软件程序。对于一个没有任何使用三维软件程序经验的新用户来说,可能会因为它的内容广泛、复杂而受到打击。对于有一些三维制作经验的用户来说,则可以毫无问题地搞定一切。Maya的工作流程非常得直截了当,与其它的三维程序也没有太大的区别。只需要熟悉一至两个星期,你就会适应Maya的工作环境,因而可以更深一步的探究Maya的各种高级功能,比如节点结构和Mel脚本等。 Softimage/XSI 是一款巨型软件。它的目标是那些企业用户,也就是说,它更适合那些团队合作式的制作环境,而不是那些个人艺术家。籍此原因,我个人认为,这个软件并不特别适合初学者。XSI将电脑的三维动画虚拟能力推向了极至。是最佳的动画工具,除了新的非线性动画功能之外,比之前更容易设定Keyframe的传统动画。是制作电影,广告,3D,建筑表现等方面的强力工具。 Lightwave 对于一个三维领域的新手来说,Lightwave非常容易掌握。因为它所提供的功能更容易使人认为它主要是一个建模软件。对于一个从其它软件转来的初学者,在工具的组织形式上和命名机制上会有一些问题。在Lightwave中,建模工作就像雕刻一样,只需要几天的适应时间,初学者就会对这些工具感到非常地舒服。Lightwave有些特别,它将建模(Modeling:负责建模和贴图)和布局(Layout:动画和特效)分成两大模块来组织,也正是因为这点,丢掉了许多用户。 广泛应用在电影、电视、游戏、网页、广告、印刷、动画等各领域。它的操作简便,易学易用,在生物建模和角色动画方面功能异常强大;基于光线跟踪、光能传递等技术的渲染模块,令它的渲染品质几尽完美。它以其优异性能倍受影视特效制作公司和游戏开发商的青睐。火爆一时的好莱坞大片《TITANIC》中细致逼真的船体模型、《RED PLANET》中的电影特效以及《恐龙危机2》、《生化危机-代号维洛尼卡》等许多经典游戏均由LightWave 3D开发制作完成。 Rhinoceros(Rhino) 是一套专为工业产品及场景设计师所发展的概念设计与模型建构工具,它是第一套将AGLib NURBS 模型建构技术之强大且完整的能力引进Windows 操作系统的软件,不管您要建构的是汽机车、消费性产品的外型设计或是船壳、机械外装或齿轮、甚至是生物或怪物的外形,Rhino 稳固的技术所提供给使用者的是容易学习与使用、极具弹性及高精确度的模型建构工具。从设计稿、手绘到实际产品,或是只是一个简单的构思,Rhino所提供的曲面工具可以精确地制作所有用来作为彩现、动画、工程图、分析评估以及生产用的模型。Rhino 可以在Windows 的环境下创造、编排或是转译NURBS曲线、表面与实体。在复杂度与尺寸上并没有限制。此外,Rhino并可支持多边网格的制作。 Vue 5 Infinite e-on software公司出品。作为一款为专业艺术家设计的自然景观创作软件,Vue 5 Infinite 提供了强大的性能,整合了所有Vue 4 Pro 的技术,并新增了超过110 项的新功能,尤其是EcoSystem 技术更为创造精细的3D环境提供了无限的可能。Vue 5 Infinite 是几个版本中最有效率,也是在建模、动画、渲染等3D自然环境设计中最高级的解决方案.目前国际界内很多大型电影公司,游戏公司或与景观设计相关的行业都用此软件进行3D自然景观开发. Bryce Bryce是由DAZ推出的一款超强3D自然场景和动画创作软件,它包合了大量自然纹理和物质材质,通过设计与制作能产生极其独特的自然景观。这个革命性的软件在强大和易用中间取得了最优化的平衡,是一个理想的将三维技术融合进您的创作程序的方法,流畅的网络渲染、新的光源效果和树木造型库为您开拓创意的新天堂。全新的网络渲染- 在网络中渲染一系列动画图像或是单张图片,大大节省时间和金钱。 对于机械行业哪种三维设计软件被最多公司应用。是SolidWorks,UG,PRO-E还是什么。 NXUG在工业产品中应用广泛,包括汽车、模具、机箱机柜、等等,钣金模块强大,设产品计、开模、数控一条进行 PROE在家用产品行业应用广泛,包括冰箱、洗衣机、电视机等等,软件产品视觉效果很好,产品设计者情有独钟 cait在流体领域应用较多,如飞机、潜艇等,曲面模块强大 SolidWorks贵在综合, AUTOCAD主要用于二维出图。 SolidWorks Pro/E UG同为三维设计软件学哪个最好? Solidworks简单易学,Windows操作界面,很容易上手,但感觉用的时候占内存较多,对电脑配置要求高,它的工程图功能相当强大。 Pro/e相对内存占用稍少,运行较快,功能齐全,便没有前者好学,它也在不断改进操作界面,现在比之前应该好操作一点儿,不过用熟了的话,是感觉不到区别的,主要是对新学者来说。 UG;Solidworks与之是一个内核,没学过,不过看到界面也很友好,应该不难。 最后,其实这些工业设计软件,个人觉得,只要学会一个,其它的可无师自通,有很强的相似性。 SolidWorks易学易用,性价比高,在中国及国外,越来越多的人在学习。好学不代表功能不好。 proe功能比较不错,但汉化不彻底,学起来很费劲。 ug模具方面不错,学起来也超级费劲。价格昂贵, 3D机械模具设计:CATIA,UG,CERO(Proe),Solidedge,Solidworks,inventor 3D工业设计:3ds Max, Maya,Softimage,Solidthinking ;.

软件建模,图书管理系统

西安科技大学 《软件建模与UML》 实验报告 题目:图书管理系统 学院:计算机科学与技术学院 专业及班级:软件工程1203班 姓名:宋小波 学号: 12080103021 日期: 2015/6/7

目录 一.实验目 (1) 二.实验内容 (1) 三.系统需求建模 (1) 五.系统静态建模 (3) 5.1系统用例图 (4) 5.2类图 (6) 六.系统动态建模 (8) 6.1状态图 (8) 6.2时序图 (9) 七.系统物理建模 (9) 7.1组件图及部署图 (9) 八.总结 (10)

一、实验目的 了解UML的基本原理和面向对象的分析设计方法,初步掌握Rational Rose 2003建模工具的使用方法,进一步巩固软件工程的理论知识。 二、实验内容 1、初步掌握Rational Rose 2003开发工具的使用,包括建立用例、活动者、用例图、顺序图、协作图、类图、对象图、包、状态图、活动图、构件图、配置图等。 2、了解面向对象的基本概念,初步掌握Rose环境下用UML进行分析和设计的技术;基本学会在Rose环境下用UML语言为系统建模。 3、为一个图书管理系统的需求分析阶段建立模型。(需求建模) 三.图书管理系统的功能需求: 1、馆员管理:维护馆员信息,有查询、添加、修改、删除功能。馆员身份不同,分别对应不同的操作权限。超级管理员拥有系统维护、数据库维护的权限;一般管理员负责不同的日常工作模块;馆长拥有一切权限。馆员类别划分加强系统安全性。 2、码表维护:维护各种码表,包括:国家码表、语种码表、出版商码表、丛书码表、编辑类型码表、版本码表、图书大小码表。对码可进行添加、修改、删除操作。 3、修改密码:输入当前馆员旧密码、新密码,检查输入完整性,如果旧密码输入不正确,则不能修改。密码录入时以符号(*)显示,密码加密后保存到数据库,以保证数据安全性。 4、编目设定:编目操作过程中,需要设定一定参数,以保证系统正常运行。可以选择设定里的"是否自动产生索书号、流通号"等,如果选择为真,则由系统按一定的算法得出索书号、流通号,并且保证数据唯一性;如果为假,则由操作馆员录入。虽然系统能自动判断号码的唯一性,但有可能进行多次修改才能保证不重复,增加了数据输入量。保留字段和加载默认值可以在录入信息时,自动加载某些数据,以减少人工录入的工作量。编目设定就是保留这些设定,并且在系统配置文件中保留最近一次设置,下次进入系统时自动加载各项设定。 5、编目管理:编目管理是系统最主要的组成部分之一,主要是维护书目基本信息和部分流通信息。提供图书编目信息的添加、修改功能,以及图书副本的初始流通信息的添加、修改、删除。 6、流通设定:流通操作过程中,需要设定一定参数,以保证系统正常运行。如在"通用设定"里设定操作方式(快速借还操作[光笔扫描条形码输入]、手工借还操作[键盘输入]),过期罚款、图书损坏丢失罚款参数,过期催还时间,办卡手续费等,为整个流通操作流程顺利进行提供依据。借书参数设定实际是读者类型的维护,操作馆员可以根据实际情况设定不同读者类型以及相应的借书

面向对象方法学概述资料

9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型 9.6 功能模型 9.7 3种模型之间的关系 传统的软件工程方法学曾经给软件产业带来巨大进步,部分地缓解了软件危机,使用这种方法学开发的许多中、小规模软件项目都获得了成功。但是,人们也注意到当把这种方法学应用于大型软件产品的开发时,似乎很少取得成功。 在20世纪60年代后期出现的面向对象编程语言Simula-67中首次引入了类和对象的概念,自20世纪80年代中期起,人们开始注重面向对象分析和设计的研究,逐步形成了面向对象方法学。到了20世纪90年代,面向对象方法学已经成为人们在开发软件时首选的范型。面向对象技术已成为当前最好的软件开发技术。 9.1 面向对象方法学概述 9.1.1 面向对象方法学的要点 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 面向对象方法学所提供的“对象”概念,是让软件开发者自己定义或选取解空间对象,然后把软件系统作为一系列离散的解空间对象的集合。应该使这些解空间对象与问题空间对象尽可能一致。这些解空间对象彼此间通过发送消息而相互作用,从而得出问题的解。也就是说,面向对象方法是一种新的思维方法,它是把程序看作是相互协作而又彼此独立的对象的集合。

概括地说,面向对象方法具有下述4个要点: (1) 认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。按照这种观点,可以认为整个世界就是一个最复杂的对象。因此,面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。 由此可见,面向对象方法用对象分解取代了传统方法的功能分解。 (2) 把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。数据用于表示对象的静态属性,是对象的状态信息。因此,每当建立该对象类的一个新实例时,就按照类中对数据的定义为这个新对象生成一组专用的数据,以便描述该对象独特的属性值。 (3) 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。在这种层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承(inheritance)。 (4) 对象彼此之间仅能通过传递消息互相联系。对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体,必须发消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。 重点:如果仅使用对象和消息,则这种方法可以称为基于对象的(object-based)方法,而不能称为面向对象的方法;如果进一步要求把所有对象都划分为类,则这种方法可称为基于类的(class-based)方法,但仍然不是面向对象的方法。只有同时使用对象、类、继承和消息的方法,才是真正面向对象的方法。 9.1.2 面向对象方法学的优点 1. 与人类习惯的思维方法一致 2. 稳定性好 3. 可重用性好(重点) 用已有的零部件装配新的产品,是典型的重用技术,例如,可以用已有的预制件建筑一幢结构和外形都不同于从前的新大楼。重用是提高生产率的最主要的方法。

软件建模报告

《软件建模技术》报告

第1章引言: 1.1问题提出的背景: 二十一世纪是信息高度交流与发展的时代,面计算机系统则在信息时代扮演着极为重要的脚色。然而,人工管理图书馆存在大量问题,比如,图书馆信息量过于庞大,包括图书信息,借书人信息等。图书管理系统的出现是为了解决图书的系统管理和借书人的系统管理,使图书馆的运作更加系统化、结构化,将人力解放出来。好的图书管理系统拥有着广泛的市场前景。 1.2现状和意义: 现今,有很多的图书馆尚未使用计算机进行信息管理。图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。为了提高日常的图书管理效率,必须开发满足大多数中小型的图书管理要求的图书管理系统。本系统针对通常的图书管理流程,深入分析了图书管理系统的需求和功能,为图书管理系统程序开发提供了现实理论基础。

第2章需求分析: 2.1功能分析: 图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。因此,本系统需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。 2.2图书馆管理信息系统需要完成主要功能: 1)录入读者基本信息,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。 2)查询、修改读者基本信息,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等等。 3)制定书籍类别标准及录入信息,包括类别编号、类别名称、关键词、备注信息等。 4)书籍信息的输入,包括书籍编号、书籍名称、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页书、关键词、登记日期、备注信息等。 5)借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。 6)借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。

相关主题
文本预览
相关文档 最新文档