工程对象范文

2024-05-31

工程对象范文(精选12篇)

工程对象 第1篇

软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术、方法来开发与维护软件, 把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方面结合起来, 经济地开发出高质量的软件并有效地维护它, 这就是软件工程。

软件工程运用计算机科学、数学及管理科学等原理, 借鉴传统工程的原则、方法, 创建软件以达到提高质量、降低成本的目的。其中, 计算机科学、数学用于构造模型与算法, 工程科学用于制造规范、评估成本及确定权衡, 管理科学用于计划、资源质量、成本等管理。

2 软件工程方法的流程

2.1 软件计划

在设计任务确立前, 首先要进行调研和可行性研究, 理解工作范围和所花费的代价, 然后做出软件计划。

2.2 软件需求分析

对用户要求进行具体分析, 确定用户要求软件系统做什么, 并用软件需求规格说明书表达出来, 作为用户和软件人员之间共同的约定。

2.3 软件设计

根据需求说明建立软件系统的“结构”, 包括数据结构和模块结构。这部分又分为总体设计和详细设计两个阶段。

2.4 软件编码

按软件设计的要求为每个模块编写程序。

2.5 软件测试

发现和排除程序中留存的错误, 经过测试排错, 得到可交付运行的软件。软件测试又分为单元测试和综合测试两个阶段。

2.6 软件维护

经过测试的软件仍然可能有错, 另外, 用户的需求和系统的操作环境也可能发生变化, 因此, 交付运行的软件仍然需要继续排错、修改和扩充, 这就是软件的维护。

3 面向对象的软件工程方法

3.1 面向对象的软件工程方法的定义

面向对象技术 (OO) 是一个非常实用而强有力的开发方法。它是为了提高软件系统的稳定性、可修改性和可重用性创造出来的一种软件工具, 具有方法的唯一性、高度连续性等特性, 并把面向对象分析、面向对象设计和面向对象编程集成到软件生存周期的相应阶段。

面向对象的软件工程 (OOSE) 自上至下、自始至终地贯彻面向对象思路, 可以用于系统分析、系统设计、程序设计, 也可以用于其他环境的开发, 如数据结构设计、数据库设计等。

3.2 面向对象的软件工程方法的特征和要点

面向对象软件工程方法的出发点和基本原则, 是尽可能模拟人类习惯的思维方式, 使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程, 也就是使描述问题的问题空间 (也称为问题域) 与实现解法的空间 (也称为求解域) 在结构上尽可能一致, 因此, 面向对象方法有以下的基本特征:

(1) 封装性:对象是数据和有关操作的封装体。

(2) 继承性和类比性:在对象继承结构上, 下层对象继承上层对象的特征属性和操作。不同的对象具有某些相同的属性时, 常常把它们归并成一类。

(3) 动态连接性:对象和对象之间所具有的一种统一、方便、动态地连接和传递消息的能力与机制。动态连接性便于在概念上体现并行和分布式结构。

(4) 易维护性:任何一个对象都是把如何实现对本对象功能的细节隐藏在该对象的内部, 这就增强了对象和整个系统的易维护性。

概括地说, 面向对象方法具有下述四个要点:

(1) 把对象作为融合了数据及在数据上的操作行为的统一的软件构件。面向对象程序是由对象组成的, 程序中任何元素都是对象, 复杂对象由比较简单的对象组合而成。

(2) 把所有对象都划分成类。每个类都定义了一组数据和一组操作, 类是对具有相同数据和相同操作的一组相似对象的定义。数据用于表示对象的静态属性, 是对象的状态信息, 而施加于数据上的操作用于实现对象的动态行为。

(3) 按照父类 (或称基类) 与子类 (或称派生类) 的关系, 把若干个相关类组成一个层次结构的系统 (也称类等级) 。在类等级中, 下层派生类自动拥有上层基类中定义的数据和操作, 这种现象称为继承。

(4) 对象彼此之间仅能通过发送消息互相联系。对象与传统数据有本质的区别, 它不是被动地等待外界对它施加操作, 相反, 它是进行处理的主体, 必须向它发消息, 请求它执行它的某个操作以处理它的数据, 而不是从外界直接对它的数据进行处理。

3.3 面向对象建模

为了更好地理解问题, 人们常常采用建立问题模型的方法。通常, 模型由一组图示符号和组织这些符号的规则组成, 利用它们来定义和描述问题域中的术语和概念。更进一步讲, 模型是一种思考工具, 利用这种工具可以把知识规范地表示出来。

用面向对象方法开发软件, 通常需要建立三种形式的

模型, 它们分别是描述系统数据结构的对象模型, 描述系统控制结构的动态模型和描述系统功能的功能模型、这三种模型都涉及数据, 控制和操作等共同的概念, 只不过每种模型描述的侧重点不同。这三种模型从三个不同但又密切相关的角度模拟目标系统, 它们各自从不同侧面反映了系统的实质性内容, 综合起来则全面地反映了对目标系统的需求。

3.4 面向对象软件开发方法的几个阶段

实际上, 用面向对象方法开发软件时, 阶段的划分是十分模糊的, 通常在分析、设计、实现等阶段间多次迭代。

(1) 面向对象分析。

面向对象分析 (通常缩写为OOA) , 就是抽取和整理用户需求并建立问题域精确模型的过程。

面向对象分析的关键, 是识别出问题域内的对象, 并分析它们相互间的关系, 最终建立起问题域的简洁、精确、可理解的正确模型。在面向对象分析中, 主要由对象模型、动态模型和功能模型组成。在用面向对象观点建立起的三种模型中, 对象模型是最基本、最重要、最内核的。

(2) 面向对象设计。

从面向对象分析到面向对象设计 (通常缩写为OOD) 是一个逐渐扩充的过程。或者说, 面向对象设计就是用面向对象观点建立求解域模型的过程。

面向对象设计可再细分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构。对象设计确定解空间中的类、关联、接口形式及实现服务的算法。

(3) 面向对象实现。

面向对象实现主要包括两项工作:第一项工作是把面向对象设计结果, 翻译成用某种程序设计语言书写的面向对象程序 (通常此阶段缩写为OOP) ;第二项工作是测试并调试面向对象的程序。

面向对象程序的质量基本上由面向对象设计的质量决定, 但是, 所采用的程序设计语言的特点和程序设计风格也将对程序的可靠性、可重用性和可维护性产生深远的影响。

综上所述, 面向对象软件工程方法可概括为如下的过程:分析用户需求, 从问题中抽取对象模型;将模型细化, 设计类, 包括类的属性和类间相互关系, 同时考察是否有可以直接引用的已有类或部件, 选定一种面向对象的编程语言, 具体编码实现上一阶段的设计, 并在开发过程中引入测试, 完善整个解决方案。

4 未来发展趋势预测

面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。以面向对象的观点来看, 所有的面向对象的程序都是由对象来组成, 这些对象首先是自治、自怡的, 同时它们还可以互相通信、协调配合, 共同完成整个程序的任务和功能。

对象概念对软件解决方案也具有莫大的好处, 在设计优秀合理的情况下尤其如此。你可以只编写一次代码而在今后反复重用, 而在非OOP的情况下, 你则多半要在应用程序内部各个部分反复多次编写同样的功能代码。OOP的另一优点是对代码结构的影响。像继承之类的面向对象概念通过简化变量和函数的方式而便利了软件的开发过程。OOP可以更容易地在团队之间划分编码任务。同时, 由于采用OOP, 辨别子类代码的依附关系也变得更简单了 (比如说继承对象的代码) 。此外, 软件的测试和调试也得以大大简化。面向对象方法普遍进行的对象分类过程, 支持从特殊到一般的归纳思维过程, 通过建立等级而获得的继承性, 支持从一般到特殊的演绎思维过程。

参考文献

[1]张海藩著.软件工程导论 (第三版) [M].北京:清华大学出版社, 1998.

银发工程服务对象发言稿 第2篇

我叫安培修,今年75岁,是区人大退休的老干部。我和老伴刘玉英居住在汇才街6号院。子女们都有工作,居住在其它小区,节假日时孩子们都到家中和我们团聚,平时只有我们老俩口相互照应。

今天我怀着无比激动的心情来参加我们中心路街道办事处创办的“银发工程”启动仪式。我是老年人,想借此机会谈谈我的感受和不成熟的看法。我居住的小区内老年人较多,每天看到退休后的老年人,在院内晒晒太阳,聊聊天,无所事事。有时社区需要时,我就到社区帮帮忙,回来后,一天心情都很愉快,我就感觉到:人老了能为社会做点贡献尽点绵薄之力,心里感到无比的欣慰,再加上大家都对我们老年人很尊敬,做一点儿小事都能得到社会的认可,似呼我们又找到乐子,特别是社区成立老年大学以后,我感觉到生活充实多了。于是我就想:如果社区成立老年协会的组织,我一定会义不容辞地加入服务者的行列中。现在不谋而合,我们办事处启动了“银发工程”,做为老年人,在我的有生之年,能享受到社会大家庭的关爱,从内心深处体会到社会大家庭的温暖,那是我们福份。

刑法中的行为对象与犯罪对象分析 第3篇

关键词:刑法;行为对象;犯罪对象

一、犯罪对象

出现的问题:在以往的认识中,刑法理论界较有代表性和权威性。在它看来,犯罪对象是构成犯罪客体的一部分,是犯罪行为直接产生作用的客观存在的人或物,人主要是指社会关系主体,而物指的是反映这种关系的一种客观体现。犯罪分子对犯罪对象施加的违法行为,其实就是借助实际存在的人或物对社会关系构成侵害的。但若是根据此说法做进一步的推论,结果就变成了:由于犯罪的行为要对犯罪的客体构成一定的侵害,必须依靠犯罪对象来完成,所以,犯罪对象和犯罪客体是彼此统一的。

不同于这种传统的观点,还有一种观点:犯罪对象是构成犯罪客观要件的因素,但不属于构成犯罪客体的一部分。他们还认为,犯罪对象和犯罪客体之间的关系可借本质和现象来体现。将其以本质现象来做理解有一定的道理,但问题是,并非在所有场合之下,这一观点都能得以成立,就拿受贿罪来说,虽作为行为指向,但贿赂并不是犯罪客体在实际中的具体体现。从这一点来看讲,如果贸然把犯罪对象和犯罪客体转化为现象与本质的关系,就意味着在不同的条件下,犯罪对象可能不是行为直接指向的东西。

二、行为对象

在我国,刑法理论中很少涉及与行为对象有关的内容,尽管行为对象一词曾被使用,而且只是用来代替以往意义上的犯罪对象。通常来讲,在刑法理论中,行为对象常被称做行为客体,指的是被危害行为威胁的人或物。

还拿前面提过的伪造货币罪来说,依据刑法理论的相关规定,货币管理制度是受该罪侵犯的客体,而对犯罪客体和犯罪对象的关系进行分析可知,真币才受法律保护,只有真币才能真正体现货币管理制度,只有真币才能充当国家货币管理制度的承担者,所以不可能是假币,而犯罪分子所实施的违法一切行为的目的也是用假币冒充真币。但是当前刑法理论界的主要观点是,伪造货币的犯罪对象是假币。从上述分析可见,此观点明显不符合。连其专业人士也说:行为人伪造货币的最终企图是将假币冒充为真币使用,即以假货币作用于真货币。所以,真货币才是该罪的犯罪对象,才能体现国家货币制度。

我国刑法对假币在犯罪构成理论中所占的位置规定如下:客观说来,伪造货币就是对目前流通的货币的颜色、式样、防伪标记以及图案、质地、票面等进行伪造,借助影印、复印、扫描、印刷和描绘等途径以假币充当真币的各种行为。此罪之所以能够成立,假币是其中一个必不可少的客观条件,然而假币却不是犯罪对象,也不能用来体现犯罪客体。本文将其暂定为行为对象,行为对象属于犯罪构成中不可或缺的客观因素,客观事物是其行为的直接指向,它主要用来界定行为,使其成为某种行为之所以成为特定行为的标志。感官直接感知是行为对象必须具备的条件,如此才能直接把握,以方便认定犯罪。在确定行为对象时,只要对行为的认定没有影响,就无需一定要找出行为对象,如逃脱罪等,从认定行为的角度上讲,也可以说不存在行为对象。此外,作用于假币的这个“行为”是一种中性行为,没有经过主客观地综合评价所以还不能称得上犯罪行为。只有主客观条件相结合,才能对其是否犯罪进行最终认定。而此罪的犯罪对象被认为是犯罪行为作用的对象,这种“行为”是经过了主观客观评价的行为。两者的“对象”是不一样的,前者是客观方面行为的对象,后者属于犯罪对象。

三、犯罪对象与行为对象的区别联系

1.性质不同

犯罪对象主要是对经过主客观综合评价的犯罪行为进行说明的,对犯罪行为是否侵害到刑法保护下的客体做更深一步地认识,即犯罪对象是受犯罪行为侵害的,能夠对社会关系进行具体体现的事物。需注意的是,此处的犯罪行为除了包括客观行为,还包括受综合犯罪行为所侵害的对象。从行为对象的角度来看,它只是犯罪行为认识中的一个时期,要想对犯罪行为做全面的认识,就必须充分了解行为对象,全面掌握犯罪的各个方面,行为对象仅仅是犯罪行为直接作用下的事物,主要用来对某些行为客观上与刑法规定是否保持一致进行界定。因此,犯罪对象主要是对犯罪行为做进一步阐释,而行为对象主要负责犯罪的客观方面和刑法规定是否相符的辨别工作。

2.存在范围不同

综上分析,任何犯罪都存在有犯罪对象,作为犯罪客体的客观表现,犯罪对象是构成犯罪不可缺少的因素,但对于任何犯罪是否都存在行为对象就莫衷一是了。本文对此的态度是否定的,以脱逃罪为例,从客观看,脱逃行为作用的对象的确难以找出,导致理论界大都认为逃脱罪。另外,也有人将高墙电网当成该罪的犯罪对象,但若是发生在押解车上逃跑又该如何对犯罪对象做解释。而且,在犯罪客体被侵犯时,这些犯罪行为都没有变化。任何犯罪的犯罪客体都会有相应的客观表现,逃脱罪也是一样。其监管秩序要求犯罪嫌疑人和被告需保持既定状态,一旦有所违背,就被认为构成犯罪。

3.存在一定程度的重合性

行为对象只是犯罪行为指向的具体人具体物,犯罪对象则是经过主观评价之后才认识的,是体现犯罪客体的具体事物。二者的范围略有差异,对不同的犯罪,其体现也不同。但也有二者的情况不一之时,如伪造货币罪,从客观看,假币是其行为的直接指向,若能更好地把握该犯罪行为,可得知实际上是真币受到了侵害。由此可知,行为对象和犯罪对象的范围虽不完全一致,但也会重合的。

四、结语

综上论述,在犯罪的构成中,犯罪对象和行为对象两个概念应该同时存在,二者存在着密切的关系,虽然有时候会重合,但是由于功能各异,两者在性质、范围以及作用等方面又存在着不同的地方,所以不能将两者其混淆,更不得互相替代。

参考文献:

[1]韩成军.行为对象理论述评及其实践意义.《学术界》,2012年6期

面向对象的软件工程应用研究 第4篇

关键词:面向对象,软件工程,应用,研究

1 面向对象的软件工程概述

1.1 面向对象的软件工程定义

面向对象技术是一种软件开发方法, 非常便于沟通和修改, 面向对象技术可以提高软件的修改性、稳定性、可重用性。面向对象方法要对系统进行分解, 形成对象, 通过对象之间的消息传递完成各种系统的功能, 是当下软件工程中的主流技术。

1.2 面向对象的软件工程方法的要点

面向对象软件工程方法是尽可能对人类的思维方式进行模拟, 把程序当做是离散的相互通信的对象集合, 使得对世界认识的方式和思维的方式与计算机去处理问题的方式相近。当前, 针对对象方式的主要也都有以下几点:

(1) 对象是面向对象技术的核心概念。对象定义为任何一个客体的行为方法和属性的封装。

(2) 继承性和类比性。下层对象会对上层对象的操作和特征属性进行继承, 如果不同的对象的属性相同, 那么就可以将其进行归为一类。

(3) 动态连接性。对象和对象之间具有统一、动态连接和传递消息的能力和机制。面向对象会对对象进行动态的链接, 在这个过程中会使用到消息。面向对象技术和传统的模块调用是不同的, 其主要使用了灵活的消息传递方法, 因此在概念方面可以体现分布式和并行结构。

(4) 易维护性。任何一个对象都会将对象功能的细节隐藏在对象的内部, 因此整个系统的可维护性就得到了增强。

1.3 针对对象软件工程的内容

针对对象软件工程主要包含:对象建模的技术OMT以及针对对象的实现, 针对的对象分析OOA和针对对象的软件工程OOSE与针对对象的设计OOD, 嫌疑构成了一个完善的体系, 有着特别多样的技术资源, 维护以及扩展工作的展开变得十分顺利, 软件工程的有着非常好的效率。

(1) 针对对象的分析OOA。主要是去对问题域中的对象进行识别, 同时对相关的接线分析, 分类总结构建准确的模型。

(2) 针对对象的设计OOD。就是针对对象的观点建设求解域的模型, 主要是对象设计以及系统设计两种。

(3) 针对对象的实现 (OOP) 。是对针对对象设计结果去进行翻译, 把用户的思想转换成计算机的语言, 构成用一些程序设计语言表现的针对的对象程序, 然后测试并且调试, 交给用户。

(4) 类。把方法与属性一致的对象进行组合, 这样就会构成一个类。其中, 任意一个对象都可以成为所属类的例子。全部类能够构成带根的有向的无环图, 有着结构层次。任何的类都能够对层次里的其他基类的全部方法以及属性去进行继承。

2 针对对象设计过程

2.1 系统设计

系统设计确认实现系统的策略还有目标系统拥有的高层结构, 要将系统分为很多系统, 在定义和对子系统去设计的时候就应该让其拥有极其稳定的接口, 通过接口和系统去进行通信。主要是:进行子系统的划分, 确认需要并发使用的子系统并分配处理器, 对子系统之间的通信进行描述, 确认系统资源的管理以及控制, 确保人机交换构件, 拥有能够进行数据管理以及任务管理的基础方式。

2.2 对象设计

面向对象设计阶段是扩充还是健全与细化对象模型的过程, 设计类里面的服务以及实现服务的算法主要是针对与对象设计的关键任务, 同时还应该设计类的关联与借口形式和去进行设计的改良。

2.3 领域对象设计

OOD阶段的一个关键的内容是实现角度对领域模型进行补充或者是修改。比如, 增添或者是对分解类的对象进行合并, 调整继承的关系等。领域对象设计通常为:对需求进行调整, 使用现有的组建, 引入父类和分组管理领域类, 添加一般化类以建设协议并且调整OOA的模型, 进行设计审核。

3 针对对象设计的原则

3.1 单一职责的原则

就一个类来说, 应该只有一个能够引发其进行变化的原因。最有效类的职责简单并且集中, 减少相同的职责分散到不同的类里面, 减少一个类承担太多的职责并且避免类之间耦合当需求转变的时候, 只修改一处即可。

3.2 开放封闭的原则

包含两个要点:一种可变性不需要散落在代码的角落中, 而需要被装进一个对象中。同一种可变性的不同表象代表着同一个继承等级结构里面的具体子类。换句话说, 也就是需求改变的时候设计人员扩展模块添加新的功能, 而不对原来的代码进行改变。

3.3 Liskov替换原则LSP

LSP是针对继承的一种设计原则, 所有衍生的行为功能一定要同客户程序对这类所期望的相互一致。也就是说, 介入一个软件实体应用的是基类那么它也应该适用于子类, 可是相反的话可能就不会成立。

3.4 依赖倒置的原则DIP

IDP原则规定:

(1) 高层模块不应该只是依靠于底层的模块, 两者都需要依赖于抽象;

(2) 抽象不需要依赖细节, 可是细节需要依赖抽象。

3.5 接口隔离原则——ISP

从客户的角度上讲:一个类针对另一个类的依赖性主要是建设在最小的接口之上的。假如客户端只需要其中一些方法, 那么就需要为客户端提供他所需要的方法, 而避开那些用户不需要的方法。提供接口代表着向客户端进行承诺, 过多的承诺其实还是会给系统的维护产生负担。

4 针对对象的软件工程的实现

本文对针对对象的设计过程归纳为:第一点, 选择针对的对象进行分析, 完善开发对象的数据的结构模型以及动态的模型还有功能模型。第二点, 对模型的功能进行区分, 完善类的定义;对类的属性进行细化, 并且对类的关系进行区分。第三点, 挑选适合的编程语言, 实现设计的规划。第四点, 对代码进行测试。

经过上述的设计过程我们能够看出, 设计的时候建立三种对象模型, 最主要的是数据对象的结构模型。对于类的属性以及类的关系一定要设计好, 并且对系统的可靠性以及扩展性进行保障。最后, 会对象的程序的编写产生影响的还有语言的选择。所以, 利用于编程界面友好以及控件多样还有编程语言大众的设计语言能够极大的提升软件开发的效率以及稳定。

5 结束语

通过对面向对象的软件工程应用的相关研究, 我们可以发现, 该项工作的顺利进行有赖于对其多项影响因素的有力掌控, 有关人员应该从软件工程的客观实际要求出发, 研究制定最为符合实际的应用实施策略。

参考文献

工程对象 第5篇

地下工程有限元图形系统的面向对象开发

应用面向对象技术有效地组织地下结构有限元分析图形系统的复杂数据,提出了有限元后处理图形系统面向对象的数据结构和基本算法,并用VC++完成了该系统的开发.系统可以方便地显示地下结构的应力、位移等物理量的.空间等值线、矢量图、塑性区、开裂区等分布特征,最后还给出了系统的应用实例.

作 者:作者单位:刊 名:岩石力学与工程学报 ISTIC EI PKU英文刊名:CHINESE JOURNAL OF ROCK MECHANICS AND ENGINEERING年,卷(期):21(z1)分类号:O241.82关键词:面向对象设计 地下工程 有限元后处理 图形系统

让“对象”说话 第6篇

地点:北京农业展览馆 “艺术北京”

主持人:顾铮

对话人:希拉·贝歇、曾力、刘铮

文字整合:秦霈、毛明超

编者按:

二○一二年四月,应北京德国文化中心·歌德学院(中国)盛情邀请,德国摄影大师希拉·贝歇首次访问中国。通过电影放映、对话以及展示等系列活动,希拉·贝歇怀着极大的兴趣与中国摄影界交流,分享她的个人经验和艺术理念。

顾铮(以下简称“顾”):非常高兴有机会在歌德学院的组织下,进行这次与贝歇夫人的对话。北京现在已经是春天了,但是这次贝歇夫人的到来引起了一阵漩涡。贝歇夫人这次在北京和中国的美术院校的老师、学生,以及和中国的艺术界进行了广泛的接触,产生了很大的影响。其实,中国的艺术界包括美术创作、摄影创作的许多艺术家,在很早以前通过很多的方式就接触到了贝歇夫妇的摄影艺术创作,大家从他们的工作中受到了一些启发和影响。我首先简单介绍一下贝歇夫妇的工作。

从1959年开始,伯恩·贝歇和希拉·贝歇开始合作,进行他们的艺术创作。贝歇夫妇的工作应该可以说是在一种比较困难的情景下,经过艰苦的努力,最终取得了巨大的成功,他们的工作其实是对现代工业文明进行了一种精确的记录,同时又把它们带到了一个美学的高度。经过他们的努力,1976年贝歇成为了德国艺术院校历史上第一位摄影教授,1976年也是中国历史上毛泽东去世的年份,大约在这个时候他们的工作也进入了当代艺术的领域,引起了世界性的关注。他们不仅是优秀的艺术家,同时也是伟大的教育家,我们知道在当代艺术中,“杜塞尔多夫学派”已经有至少三代的艺术家受到了国际社会、国际艺术界的广泛承认。在这先是对贝歇夫妇工作的一个简单的介绍,同时我也很高兴向大家介绍中国两位摄影家作为我们这次的嘉宾。这一位是曾力,曾力先生是1961年出生,他的工作是记录中国社会变动中的空间的变化,稍后我们也会请曾力谈谈他受到的贝歇夫妇的影响;这一位是刘铮先生,他是1969年出生,从某种意义上来说,我觉得曾力和刘铮代表了中国的两代摄影家。当然,八年这样一个代际的间隔可能小一点。刘铮有一部作品叫《中国人》,其实是对中国文化进行的一个深入反思的作品。

今天的两位嘉宾,曾力先生和刘铮先生的工作,从某种意义上来说和贝歇夫妇的工作有一种相通的地方,我觉得从一种文化批判和反思的角度看,他们都以各种不同的方式,展开对自己所处其中的一种文化的反思和批判。我暂时把话筒交给两位嘉宾,看他们有什么问题向贝歇夫人提问。

曾力(以下简称“曾”):今天很荣幸能够参加这个对话,我自己买的贝歇夫妇的画册,今天能请她给我签名觉得非常高兴,我出去拍片子的时候,经常会带了画册去,比如说我拍一个工厂的话,跟贝歇夫人的画册里呈现的东西有种相似感,我觉得她是一个经典,是一个榜样,拍一个项目的时候能够从全面来记录。

希拉·贝歇(以下简称“希”):这个方法其实是摄影当中最基础的方法,对每一个人都适用,也可以说是最能理解的,最容易取得成功的一种方式,帮助你来获得一些标准式的成像效果,当然了事先你要有一个精确的构思你要拍摄的角度,然后再碰上非常适宜的光线条件,当然了本身你要非常有耐心地去做好准备,下次重新来拍摄,在这样一个非常慢、非常有耐心的心情下去创作,这样拍出来的作品肯定是可以延续百年的作品。

刘铮(以下简称“刘”):今天我来到这里非常高兴,这应该是我摄影生涯里面比较宝贵的一次机会,跟这样的一位,在我的摄影创作里面发挥过重大作用的伟大的摄影家、艺术家,有这样一个近距离的交谈,我感觉到非常荣幸。

前几天在美院看了贝歇夫人的一部电影,看电影的过程中我有很多的问题已经基本上迎刃而解了,因为有详细的回答。记得当时,我的一个艺术家朋友史国瑞先生曾偷偷地问我,说他们俩拍照片都是阴天吗?真的都是阴天吗?我当时也是非常地拿不准,因为我觉得有很多东西有各种的处理方法,一种是用阴天的这种合适的光线去拍摄,另外一种可能是去处理、去控制胶片,达到完美的层次和影像,然后在电影里我都得到了一些印证,应该是怎么样去拍摄。应该说一些技术上的问题都已经得到了一些解决,今天我觉得技术的问题我不想谈太多,大家有问题的话可以一会儿再谈,我更想谈的是摄影本身的一些问题。

我在看电影的时候,最想得到的答案是他们为什么要拍这样的照片,电影中已非常清晰地告诉了大家,也告诉了我。首先它是一个非常漂亮、非常完美的作品,这一点构成了他们夫妇一种强烈冲动和兴趣,其次他们的摄影强调了对社会记录的一些贡献、特征,这一点印证了我当年的一些猜测,他们为什么要拍这样的照片?我拍照片有我自己非常明确的动机,这两位前辈到底是什么样的动机决定了他们去拍这样的照片,因为这一点就决定了这样的作品给谁看的,它的性质是什么?他们的回答让我更加地坚信他们更是艺术家,而不仅仅是纪实摄影家。在电影里,包括之前的摄影评论里,多次说他们是新纪实的代表人物,或者是为纪实摄影开辟了一条道路,而在我心里他们更应该是一个当代的艺术家,之前评论中提到的另外一点是他们拍摄的作品所带来的一些客观效果,而不是他们真正本身的目的。我想这一点亲自得到了他们的印证:他们是不是也有这样的感受,即他们更是艺术家,而非纪实摄影家。

希:从一个方面讲,我们其实是从历史的发展中面对这些建筑是非常清楚的,就像是动植物带有典型的地域特征一样,这些建筑也代表着当地的特有的一种风格,而且在风格上来讲主要是凸显了对工业流程的一种功能性,而不是像金字塔一样,本身让它永恒存在而修建的。作为工业发展的一个重要组成部分,不断地进行了调整和改变,而且它的存在也不可能持久,甚至有可能连一代人的寿命都不能够相比,而且就是在发展的过程当中,也没有人注意过它的外观是美还是丑,只是考虑到它的功能性,但是这些功能相似的建筑却在外观和形状上表现出一种令人惊讶的、未经任何视觉处理的多样性。

刘:那我想问,您更感兴趣的是视觉上的多样性还是建筑本身所呈现出的优美的构成,还是建筑本身所留下的这些档案的记录,哪个您最感兴趣,在您的创作里面占有多大的比例?

希:如果仅仅是考虑到这种档案性的记录的话,过程是非常快的,而且也不用考虑到呈现出的效果到底是不是美,档案性的记录并不意味着那种不假思索、也压根不考虑到呈现出的效果是美或丑的快速拍摄。这样的拍摄并不能使人快乐。我们试图以能使我们的拍摄对象满意的方式来拍摄。我们对于这些建筑是怀一种敬意的,就是不论你拍摄的对象是工业建筑、蜘蛛、还是人,本身摄影师对它们是心怀敬意,一定要以最好的状态让它们呈现出来,就好像是他们也会对此感到满意一样,要达到这样的一种效果。

刘:我非常明确地想知道他们是更艺术,还是更记录?

希:我认为,区分艺术创作和纪录的功能是完全不重要的。对我而言,这两重功能互相交织、密不可分。因为无论拍摄的是什么,摄影本身是一种记录的行动,而这种行动又是艺术性的—虽然人们几乎不能使用这个词,因为“艺术性”这个词的内涵实际上并不存在—严格区分记录性和艺术性是没有必要的。至少我是这样认为的。在摄影时,人们不必像绘画一样作某种艺术性的虚构或独创,而是可以让照片、让对象自己言说。人们可以将对象置于图像之中,使之清晰、可被理解,其所处的时代也得以呈现。而另一方面,人们也可以为了乐趣去摄影,通过摄影使双眼得以愉悦。我实在难以对纪实性和艺术性作任何区分。

nlc202309031022

我甚至相信,有一些摄影家在拍摄时,因为担心自己的照片被人评论为是简单的记录而非艺术性的创作,反而会犯一个错误,即拍摄的照片并不清晰。照片本身的用意并不明确,效果和构图上都比较模糊,似乎很神秘而又情感丰富。但观众却无法找到一个适合的切入点。许多信息实际上是无法传达的。并且因为担忧自己成为纪实而非艺术,摄影就去盲目地模仿绘画。

在摄影史的历史上,有很多这样的例子。比如说法国摄影师阿特热也曾以纪录的方式拍摄了巴黎的照片。但是同时这种照片又美轮美奂,也记载了这个城市的发展历史,呈现出了城市独一无二的特性,并展现出了他所处的特定的时段。所以说实际上无法进行纪录的或艺术的这样一个区分。

刘:我再问一个,让摄影区别于其他的艺术摄影而独立存在的,最本质的东西是什么?

希:最重要的是让我们有这样一种可能性,非常精确地呈现所拍摄的物体,这个是美术和绘画所不能达到的一个状态,比如说我的丈夫一开始的时候,希望能够用素描或者是绘画记录这些即

将被拆毁的建筑,但是后来他发现他根本就做不到,本来应该呈现出来的精致性,比如说画素描的笔,如果太粗的话也可能有一些小的细节上是没有办法呈现出来,还有一个就是创作的速度太慢,就不如用相机来记录得快。

其实在所有的艺术形式当中,现在摄影是经历了一个非常好的时期,它被单拎出来,也就是说成了一个独立的、一个非常自由的艺术领域,也许失去了很多原来它所要执行的一些任务,就是随着所有的一些影像记录手段和设备仪器的发展,它的任务范畴发生了一些很大的变化,现在可能更多的是我们在很多商业性的广告中用到了摄影,另外就是记者在记录社会生活的时候也会用到摄影,也脱离了很多原来模糊不清的领域,比如说跟绘画也做出了很多的区分,再有就是现在的媒体发展也让它成为了一种自由的艺术形式,比如说我们现在这种全新的设备可以让我们拍摄很多大型的事件或者是记录一些交通状况,或者是战争的情况,还有在体育当中快速移动的画面,我们都可以摄影的形式来进行展现,可能以后的发展趋势这种全球性的展览会越来越少,而更多的是大家可以通过互联网来展示自己的作品。现在新技术的发展所带来的新方法是另人赞叹的,这些新技术产生是特别的好,正好也符合现在这种社会或者是我们人类的需求。我是希特勒上台的那一年出生的,二次大战爆发的那一年5岁,现在是77岁,我在一生当中经历了各种的摄影方法,可以说经历了摄影从最古老到现在现代化的所有过程。我最早13岁开始学习专业摄影的时候是跟一个摄影的师傅,这个师傅自己有一个摄影工作室,是用最古老的相机来拍照,我当时也是学的这种非常陈旧、非常古典的方法,后来就有了禄莱相机,之后又有了小的相机,可以更快的拍照的相机,这样就可以很方便的带在路上在旅途当中来拍照。但最终我们还是退回到最早的这种大画幅的相机上来,因为觉得呈现出来的效果更具有魔力,而且更能够非常细致入微地表现出来这种拍摄对象,而且拍的照片也很漂亮,另外的作用就是在教育方面,尤其是在培养学生的方面,我认为用这种古老的相机可能能够让学生在他们拍摄做出决定的时候,能够更用心、更严肃。

顾:谢谢,刘铮是思考了很多,贝歇夫人也给了非常充实的回答,非常感谢两位。

我是做摄影史研究的,刚才贝歇夫人从她个人的角度,也给出了对摄影艺术本身变化的一个描述,我想就德国的摄影历史说一下自己对他们工作的意义的一些认识。其实我想从文明批判的角度来理解贝歇夫妇的工作。我们知道,德国在20世纪经历了两场世界大战,而在两场世界大战结束之后都出现过在我看来对这场战争带来的灾难进行反思的伟大的艺术家。我们说到德国摄影的时候,经常会说到奥古斯特·桑德(August Sander)、兰格-帕齐(Alber Renger-Patzsch)、布劳斯菲尔德(Karl Blossfeldt)等等,但是其实还有一位我个人非常重视的艺术家,叫汉娜·赫希(Hannah Höch)。她是一位女艺术家,她用照片蒙太奇的手法创作了非常多的文明批判的作品。她的作品主要是对第一次世界大战进行反思。其实当时人类的科技和文明已经达到了相当高的水准,但是第一次世界大战给人们带来了巨大的灾难,而她用这种照片蒙太奇的方式向我们展现了一个分崩离析的世界。汉娜·赫希用这样的方式提出来一个问题:人类的理性是可靠的吗?就赫希的这个问题,贝歇夫妇在第二次世界大战之后以他们的摄影继续进行探索。而他们正好用的是和汉娜·赫希相反的方式进行探索:他们用这么理性、这么精确、这么客观、这么密集的方式去呈现了人类理性和工业文明的成就。但是如果我们了解历史的话,就会从他们的影像中发现一个问题:为什么文明程度这么高的民族,竟然给人类自身带来如此大的灾害?他们的照片呈现的越精细、越精密,我们的疑问就越强烈。人怎么会成为非人?这使我想到德国的思想家蒂奥多·阿多诺,他曾经说过,在奥斯维辛之后,写诗是野蛮的。所以说,我从贝歇夫妇的摄影作品中感受出了一种反美学的美学。也就是说,他们的工作其实是对人类、人性、人类理性所进行的一种反思和批判。这是我作为摄影史和摄影理论研究者的角度得到的一个看法。另外从摄影美学的角度来看,其实汉娜·赫希和贝歇夫妇对摄影发展的贡献也非常重要。因为他们都打破了自文艺复兴以来透视法给我们带来的关于现实的三维幻觉。汉娜·赫希的世界是片断的、分崩离析的世界,贝歇夫妇的摄影是没有深度的、平面的现实的切面。

虽然我们时间有限,但是我还想到一个问题,即他们的工作是关于艺术家的神话的反思和批判。在他们的工作中我们可以看到劳动和合作,但是我们的大众媒介太热衷于宣传“艺术家全是天才”的这种神话。这也是对中国当代艺术带来了一个非常重要的启示:我们现在有太多的艺术家迷信所谓的天才,但是真正以辛勤的劳动作为艺术起步的坚实基础,这样的人实际上是越来越少。

希:我可能有一些地方的意见与你不太一致。汉娜没有通过她的作品改变世界,也没有办法去阻止二战的到来,即使她对一战作出了这样深刻的反思。其实,没有一战的话希特勒就不可能这样煽动群众的情绪,从而引发了第二次世界大战,从根本上不可能令我们的世界变得更好,只不过摄影家用我们非常好奇的眼光来观察这个世界,来解释这个世界,来研究、来描写,是通过不同的方式,我们的工作是来展示工业发展的进程,都希望能够获得一个清晰的状态或者是答案,但是要尽量避免陷入到政治和社会上的一种非理性的状态。

我还有另外的观点,就是因为我们摄影记录的是某一个特定的历史时期的状态,可能二十年之后这个状态会发生彻底的变化,可能经历过的人自己本身都已经忘掉了它,但是通过我们摄影师的工作可以重新的唤醒这些记忆,不管是经历过人生很好的事件,或者是对整个社会上来说都已经是重要的时刻,我们都能够通过创作然后重新的塑造这样的记忆。

经常有人会问我们这样的问题,在拍照的时候是不是自己也有这样的感受和感触,有的时候也许会有,我们在面对这种拍摄的对象时,当然是出于兴趣去拍,但不要过多地展示出个人的这种情绪,要跟这种情绪保持一定的距离。

顾:谢谢贝歇夫人,我觉得她的回答已经包括了一个艺术家对历史的责任和对现实的作用,应该是什么样的,有了非常清晰的思考。

听众:贝歇夫人您好,很荣幸这次能见到您。其实我对您的作品原本没有一个系统的了解,这次是看了您的电影之后,才从创作思想和根源理解了您的作品。但对我来说,您之前的创作一直有一些神话色彩。我这个人一直不太懂理论的东西。我曾在纽约生活过一段时间,在那读书,而也正是在那个阶段,我意识到当代摄影的一个倾向性,特别是德国艺术和摄影艺术创作对当代摄影艺术家的影响。例如说从您的学校中毕业的学生,他们对下一代从事摄影艺术创作的年轻人产生了很大的影响。我突然意识到这种类型学的摄影方式,似乎成为了一种主导的模式。我观察到,在纽约的这所学校里面,学生们的作品、特别是欧洲年轻人的作品,类型学的方式似乎成为了一种流行。所以反过来我想要追问:这种教学方式是否成为了学院派?

希:对我而言,这种类型学方式并非倾向,而是一种态度或者是一种理念。我们的第一代学生正处于一个可以自由决定摄影方式、而不必顾忌作品是否能卖个好价钱的时代。他们可以自由地选择他们特别感兴趣主题来进行拍摄,也可以在拍摄的过程中不断地发展和扩充自己的兴趣。我们一直都要求这些学生要用大画幅的相机来拍摄,虽然这种相机大而笨重,在拍摄的过程中很费时间,但是它们却起到了很好的教学效果。这些学生后来在使用其他的相机来拍摄彩色照片的时候,就可以在大画幅的黑白相片基础上掌握许多的画面处理技巧,取得许多新的发明和发现,例如安德烈斯·古斯基(Andreas Gursky)、鲁夫(Thomas Ruff)或斯特鲁斯(Thomas Struth),就是通过在学院里面的学习掌握了摄影的基础,才得以更好地利用摄影的材质,拍出大幅的彩色作品并举办展览。这样的作品实际上敲开了绘画的大门:他们的作品和现代绘画有许多共通之处,而正是这种相似性在展览的过程中让观众感觉到非常惊异。

其实,他们主要的创作方式和理念是对传统的回归。因为在当代,大家都在追求更高的功效,对于高速的事物常有一种狂热的追求,对于相机也总是要求能够高速拍摄、且要有高感光度的材质。而古斯基、鲁夫或斯特鲁斯这批学生实际上是转向了一种固有传统,即缓慢而耐心的工作过程,内心带有平静去拍摄景物。可能有很多的摄影师希望通过照片来表达自己的感情,但事实上却常常事与愿违。

曾:我的问题也是大家想知道的问题,就是贝歇夫人第一次来中国,我想听听她来中国的印象怎么样?

希:这个说起来话长了,我是特别的惊讶,好多方面的震惊,特别高兴,也享受在这里生活的一切,但对中国整个的社会还没有特别深入的了解。我现在所经历到的是特别的喜欢,而且打算在中国停留的时间再延长一周。

[此文录音、图片由伯恩和希拉·贝歇、北京德国文化中心 · 歌德学院

(中国)提供,本刊编辑整理,略有删减。]

希拉·贝歇,著名德国摄影艺术家,教育家。

顾铮,复旦大学新闻学院教授,摄影评论家。

曾力,中国当代实验摄影艺术家、著名舞台设计师。

刘铮,中国当代摄影艺术家。

基于面向对象设计的软件再工程实践 第7篇

本文以一个结构化设计的医疗费用管理系统为例探讨基于面向对象的软件再工程的实践过程。

一、原系统介绍

原医疗费用管理系统开发于2001年, 以PB6.5为应用开发平台和Visual Foxpro6.0为数据库数据管理平台, 采用C/S模式部署。经过多年运行, 系统已无法满足业务部门日益增长的工作需要, 问题主要有以下3个方面:VF6.0数据库不支持多线程编程, 数据处理能力较差, 不适应数据日益增大的系统处理要求;PB6.5开发平台老旧, 研发技术不够先进;系统新增功能与原系统进行对接难度较高。

二、软件再工程实施过程

(一) 业务需求再分析

采用软件再工程方法要对原系统的规模、体系结构、功能、内部算法、复杂度功能进行分析, 同时与业务人员沟通, 将系统目前欠缺的功能及缺陷进行汇总, 确定软件再工程涉及的范围。

1. 更改系统界面, 将原系统的客户端程序用Web代替, 实现B/S模式访问。

2. 更换系统数据结构。更换系统数据库, 采用Oracle数据库替换VF6.0, 同时对原系统数据库表进行高范式重构。

3. 更换系统平台, 采用MVC设计模式和Java语言进行系统编码, 优化功能模块设计, 增加部分系统功能, 如身份验证和报表生成等。

(二) 软件系统再设计

原医疗费用管理系统C/S模式部署, 客户端为单用户使用, 数据库和应用都部署在单机上。逻辑功能结构如图1所示。

通过对原系统的逻辑分析以及系统用户的需求再调研, 软件再工程过程可以从3个层次开展, 即系统的表示层、逻辑层和数据层。用既存系统的3个层次去分别对应从逻辑上得到对应每个层次的输入和输出, 然后为每一层寻找能够实现最大程度重用的重构方法。具体过程如下。

1. 重构系统部署模式和访问模式。集中设立应用服务器和数据库服务器, 客户端通过IE浏览器访问系统, 简化系统维护工作。基于服务器端的网络应用需要重新开发界面, 这种方法看上去没有重用既存界面代码, 其实不然。首先, 界面设计完全可以重用, 从而节省设计时间;其次, 可以重用已有的网络系统界面 (如系统身份验证界面、各类统计分析报表界面等) , 这样也会减少工作量。

本次系统重构将C/S模式改变为B/S模式, 增加系统登陆界面及对原有系统界面的Web化处理, 仿照原系统界面, 利用JSP技术设计新系统Web界面, 有利于原系统用户更快适应新系统的使用方法。

2.重构系统逻辑功能和运行平台。由于新旧系统逻辑功能基本不变, 因此原系统中逻辑功能部分代码重用率高。通过对系统逻辑层的分解可得到可重用和不可重用的2部分代码。对可重用部分可直接引用, 对不可重用部分则应尽量通过对象包装法将其改造成可重用构件, 用于新系统的功能实现。

本次系统重构主要将系统开发平台转换为Java平台, 设计模式采用MVC模式, 将逻辑功能封装到Java Bean中, 最大可能将业务处理逻辑与数据处理逻辑及展现逻辑分离。将原系统中人员信息封装为Person类, 将管理员封装为admin类, 将收入处理封装为in类, 将支出处理封装为out类, 将数据处理封装为data类。将所有的数据及功能全部封装到各个类的方法中, 便于今后进行功能修改和维护。如图2所示。

面向对象的封装实现了新系统各个类重用原系统得功能模块, 利用JAVA语言对原系统功能模块进行重写, 内部处理逻辑及算法都可以重用, 极大加快了系统开发进度, 降低了系统开发成本。

3. 重构系统数据结构。更改系统数据库管理平台, 采用Oracle数据库替换VF6.0。对原系统数据库表进行高范式重构, 将人员信息表及明细表拆分, 设计数据表为人员信息表、收入表、支出表、历史数据表、管理员信息表。通过表范式提升, 将实体基本信息和业务数据分离, 有效解决了数据处理中统计报表、年终处理以及年度数据历史备份问题。

数据层通常要求更高的重用率, 此次实践将数据结构进行了较大程度修改, 势必使逻辑不能正常运行, 因此, 在进行数据层重构时要提供新数据结构与原数据结构对应关系。在逻辑功能实现时, 特别重用部分原系统逻辑功能模块时, 利用这种对应关系修订原系统部分代码, 尽量提高系统重用功能的研发效率。

(三) 系统重构再部署

完成系统研发并经过测试后, 系统部署主要包括:一是原系统历史数据的导入, 由于数据层结构已经改变, 因此在数据导入前需对元系统数据进行清理分割, 按照新系统数据结构导入;二是新系统Java及Oracle数据库的安装调试, 准备好服务器基本环境和网络环境。

本次实践中, 系统重构后采用网络系统进行部署, 需对业务部门用户进行培训及技术支持。

三、软件再工程实践总结

(一) 提升系统研发效率可采用软件再工程方法

软件再工程能够重用原系统大部分功能, 并且改造后的软件系统能提供更多功能的软件重用构件, 为其他系统的再工程改造继续提供支持。软件再工程周期越长, 可用构件越多, 那么效率就越高。因此, 软件再工程与系统新建是一个互为补充的关系, 经过再工程改造的软件系统就如同一个新系统使用, 但是这种再工程研发效率明显高于新建系统。

(二) 延续系统生命周期可采用软件再工程方法

通过新技术、新架构的采用, 软件再工程方法能够延续软件系统的生命周期。软件再工程方法就是针对用户需求不断变化、软件系统复杂性不断提高和软件维护日趋困难而提出的。早期的软件系统经过软件再工程实施后仍能够提供相应的业务功能, 而且系统架构和IT技术都较为领先, 因此延长了系统生命周期, 降低了系统重新研发的成本。

基于面向对象的软件工程开发探讨 第8篇

软件工程的设计在于对工程学的相关理论进行利用, 并由此作为立足点来进行软件开发与维护。 作为软件工程方法中的一大主流方向, 面向对象的方法在近年来得到了较为广泛的应用。 在该方法中,对象的主要特征属性在于数据与操作,其中数据对应于对象的内部属性特征, 操作对应于对象的外部运动规律,通过利用面向对象的方法,软件开发与维护的便捷性可得到根本提升。 本文特针对基于面向对象的软件工程开发进行了相关探究,现总结如下。

1面向对象的分析与设计概述

面向对象的分析过程主要包含以下两个阶段:(1)对用户需求进行提取与抽象概括;(2)建立模型。面向对象的设计过程主要是将用户的实际要求进行转换与设计,使其成为一个最优的方案。面向对象的方法在由分析到设计的过程中,所有已知条件处于不断扩充的状态,在对其进行优化与完善后,最终使其成为模型。分析与设计虽属于两个不同的阶段,但两者不仅相互联系、相互影响,甚至可相互产生制约。一方面,分析的准确性可对所建立模型的实际意义产生直接影响,同时也是设计结果的折射;另一方面,设计阶段并非可脱离分析阶段独立运行,反之,在这一阶段中需对分析的结果进行反复的理解,由此对其进行完善。

2面对对象的开发方法研究

2.1 Booch方法

Booch这一方法主要分为微观与宏观两个过程,两个过程之间存在一定联合,同时相互区别,笔者在此进行区别概述。 微观的过程可概括为以下几个方面:1将类和对象抽象化,在问题中进行类和对象的挖掘,同时确定实现对象功能的行为;2对抽象出来的类的状态及行为进行建立,主要对类图进行利用,由此建立起识别对象与类的关系,对类对象的边界进行确认,并对相互协同作用的类对象进行辨别; 3对算法与数据结构进行优化设计,以实现对象类与对象。 与微观过程不同的是,宏观过程对于风险与结构更为侧重。 进行宏观软件工程开发时,一些相应的成果及活动随之得以确定, 为风险评估工作与修改工作提供了便利条件。 在宏观过程中, 结构与完整性两个因素得到了重点强调, 对概念化和需求的建立提出了新的要求。 在概念化的过程中,对于创造性具有较高的要求,且无固定模式与框架,建立核心的需求是该过程中的根本任务。 另外,在分析过程中,需对软件开发所需的模型进行提供,并充分对系统的行为引起重视,由此作为立足点,对系统的功能特点进行区分;设计过程中,主要侧重于系统结构的实现。

2.2 OMT方法

OMT方法是一种在数据库的关系设计中具有广泛应用范围的方法,且在不断发展的过程中,在面向对象的分析与设计领域中也逐渐得到了应用。在实体与关系模型的基础上,OMT方法又做出了进一步拓展,主要包括类、行为、继承等。 该方法的模型主要分为如下三种:1对象的模型。 该模型主要对对象静态的结构进行表述, 并对其相互之间的作用关系进行表达; 2动态的模型。 该模型主要对系统动态的变化特点进行描述,如随时间的变化等,状态与活动是其重要概念;3功能的模型。 该模型主要将不同的数据值在系统内进行转换,如数据存储、数据流、控制流的概念等。 总而言之,OMT方法对于分析数据密集型的信息系统具有重要的意义,同时具有较为广阔的发展前景。

2.3 UML方法

UML这一建模语言的特点在于易于表达、思路清晰、功能强大,包含着静态、动态、系统环境模型等。 在这一方法中,可通过可视化建模工具所提供的代码来对模型进行转换, 使其成为一种编程语言, 不仅如此, 还可通过对相应的工具与方法进行利用,使其产生逆向转换,使其成为UML。 在UML方法中,基于例图、对象图、类图的模型可划分为静态模型;基于状态图、活动图的模型可划分为动态类型。 这一方法的优势在于对先前各种建模技术的经验与特点做出了综合与总结, 并对其中的有利条件进行了吸收,形成一种标准的建模语言。 例如,Web系统、数据的模型等新的思想均在UML技术中得到了充分体现,为其提供了深厚的内在支持。

3面向对象的软件工程开发的特点及优势

经实践研究表明, 面向对象进行设计的软件工程在当前的计算机软件工程中具有较强的优势。 第一,该方法与人类的思维方式更为贴近;第二,该方法具有较强的稳定性;第三,具有更强的可复用性;第四,在大型产品的开发与维护工作中可提供更为良好的便利条件。 该方法的特点主要可概括如下:1对象属于基本元素, 不同的基本元素之间可进行组合, 形成复杂的软件对象,并由软件对象构成整体的系统;2在对不同的对象类进行划分时,可各自对应的数据与方法;3层次结构可通过子类与父类来进行设定;4不同对象之间可进行相互联系。

4结语

工程对象 第9篇

1 DXF文件格式

1.1 DXF文件格式说明

DXF是Autodesk公司开发的用于AutoCAD与其他软件之间进行CAD数据交换的CAD数据文件格式,是一种基于矢量的ASCII文本格式[1]。DXF文件的结构如表1所示。

1.2 DXF实体段及分析处理

实体段记录了每个几何元素的名称、所在图层名、线型名及有关的几何数据,其中实体类型有直线(LINE)、圆(CIRCLE)、文本(TEXT)等几十种。图元实体信息存放着相应图元实体所必须含有的各种信息。因此,通过DXF文件实体段的数据分析,可以得到所需要的对应图元实体。在读取DXF文件时应考虑:(1)由于某一实体的定义数据顺序不固定。在编写DXF文件处理程序时应该按组码的出现来记录数据。(2)必须全面考虑图元信息的各种可能结构,避免出现图形读不出来或者缺少的现象发生。(3)读出来的图形出现多线或与原图不符的情况,主要是读取中把其他的类读入到自己的类造成的。(4)读出来的图形边界不完整,主要是在编程中没有考虑数据范围,导致只能读取部分图形。因此要使图形读入完整,采用导出前光滑后炸开,图形都变成小块后,降低读入错误。建立电气构件的图元信息规则,如某线图元信息表明其长度超过电气构件的最大长度或小于某个阈值,则舍弃该线图元信息,其处理流程如图1所示。

2 电气构件形状特征计算

2.1 不变矩

形状不变矩是基于区域的物体形状表示方法。基于区域形状的中心矩和归一化中心矩原理,Hu提出了一系列具有旋转、缩放和平移无关的7个矩特征用于表征图像的形状[2,3,4,5]。

设一幅M×N的图像用二维离散函数f(x,y)表示,其p+q阶矩的定义为:

相应的(p+q)阶中心矩为:

对于二维图像,x0,y0表示图像灰度在水平和垂直方向上的灰度重心。若一般矩已知,则中心矩可按式(3)计算得到,中心矩具有平移不变性。

由于μ00=m00为区域面积,利用零阶中心矩对其余各阶中心矩进行归一化得到归一化的中心矩:

再利用2阶和3阶归一化中心矩导出7个具有平移、尺寸、旋转不变矩组:

某些图像在计算不变矩时可能会出现极小值和负值或矩值之间差距较小的现象,对相似度距离计算有很大影响。为了避免这种情况,本文通过取对数加绝对值的方法修正矩值:

2.2 矩特征RTS不变性

从矩的物理意义上分析[6,7],图像的灰度分布函数可以看成是图像的密度函数。由3阶以下的矩构成的7个矩特征具有旋转、平移不变性。当密度函数发生变化时,图像的实质没有发生变化,此时改变的只是各阶矩的值,计算得到的各阶矩仍具有旋转、平移不变性。在工程图绘制中,电气构件的位置往往需要根据实际情况进行旋转。基于面矩灰度不变矩特征的计算包含了图像较多的信息,因此得到的图像特征具有较强的鲁棒性。本文对三极暗插座进行旋转、缩放如图2所示,计算得到不变矩特征值如表2所示。

3 实验仿真

3.1 实验仿真流程设计

本文实验仿真在MATLAB R2007a上实现,实验仿真步骤如下:

(1)读入CAD工程图,转换为DXF文件,根据规则删除冗余信息;

(2)将DXF文件转换成图像文件;

(3)图像分割,计算分割后每个区域的不变矩;

(4)计算各区域不变矩与电气构件不变矩距离,分类统计电气构件。

3.2 DXF文件冗余图形信息删除实验仿真结果

读取原始建筑安装工程图纸并转换为DXF文件,然后导出为图像,结果如图3所示。对DXF文件实体段图元信息分析,删除与电气构件无关的冗余图元信息,再导出为图像则可获得如图4所示的分割的电气构件区域图像。

通过对图3、图4对比可作如下分析:(1)图3中的墙体、楼梯、文字标注、门等与电气构件无关的图形元素在图4中已经完全被删除了,图4只保留电气构件相关图形信息,如配电箱、插座等。(2)图4中的电气构件图形保留在原来图纸中的位置信息。(3)保留了各电气构件图形之间的拓扑关系,有利于将来进一步处理。

3.3 图像分割及目标表达

对DXF文件导出的图像文件进行图像分割,颜色空间由RGB转为灰度,则图像背景的白色与有意义的电气构件的灰度分割阈值θ很容易确定。通过像素8连通标记确定不同电气构件区域,满足分割区域互不交叉及特定区域的一致性[8]。

特殊情况考虑:如电话出线座,由“H”和外包圆构成,在8连通计算下会被识别成两个区域,一个为外包圆,另一个是“H”,这时应采用像素位置包含的方法将这两个区域合并成一个区域,这样就可以将图4分割成多个单独的电气构件区域并进行编号,然后再进行不变矩的计算和图像识别。

3.4 电气构件特征识别

3.4.1 部分安装工程图标准电气构件图不变矩

本文对构成建筑安装工程图的电气构件标准图像进行不变矩计算,部分电气构件的不变矩特征值如表3所示。表3中的电气构件来自工程图纸图例说明中标准电气构件图例。

3.4.2 相似度距离计算

(1)特征值归一和欧氏距离

同一特征的不同分量可能具有完全不同的物理意义,各自变化的幅度也可能存在较大的差异,如果不进行归一化操作直接进行相似度计算就可能引起较大偏差。通过计算每一个电气构件特征值向量的均值μ和标准差σ,进行特征归一化,数值落在[-1,1]区间的概率为99%[9],将超出-1或1的数值赋值为-1或1。然后根据欧氏距离公式计算两个电气构件不变矩特征值的距离。

(2)电气构件距离计算归类结果示例

如图4经分割后的电气构件区域,计算该区域图像不变矩为t(7.105 6,16.093 4,25.589 5,25.229 2,50.388 0,33.305 6,51.017 1),计算各标准电气构件图像的不变矩特征值的欧氏距离得到与三极暗插座图的距离d=0.951 7;与白炽灯图的距离d=0.875 8;与电视出线板图的距离d=0.742 1;与单位单极开关图的距离d=0.795 0;与两位单极开关图的距离d=0.808 8;与两极加三极暗插座图的距离d=0.771 2;与单管日光灯图的距离d=0.702 9,与其他电气构件的欧氏距离均小于0.951 7。因此判断该区域图像为三极暗插座,实验显示该区域图像为,其他分割区域图像验算的结果也是准确的,由此可证明实验结果的准确性。

3.5 实验结论

通过上述实验,可得出以下结论:

(1)原始的安装工程图像包含墙体、楼梯、门窗、标注等多种构件图元,电气构件区域不易分割。本文通过读取安装工程图的DXF文件,根据自定义规则删除与电气构件无关的墙体、门窗等图元信息,能较好地得到独立的电气构件区域,如图4所示。

(2)对分割区域进行修正的不变矩特征计算,并将特征值归一处理,再与所有的标准电气构件特征值计算相似度距离。根据相似度距离大小可判断该区域图像属于哪一类电气构件,实验结果证明该方法准确无误。

(3)本文示例获得的分割区域的图像存储空间为1.25 KB、尺寸为43×67像素,由此得到特征值;采用标准电气构件图像存储空间为37.8 KB、尺寸为238×343像素,计算得到修正不变矩特征与本文方法得到的特征值差距很小,其他区域图像大小尺寸也相类似。显然本方法使计算成本得到有效控制。实验证明本文的方法能准确、有效地识别安装工程图纸中的不同电气构件。

建筑工程图纸自动识别综合了建筑、计算机图形图像、人工智能等多学科内容,是建筑行业信息化一个重要的发展方向。本文通过分析DXF文件实体段图元实体信息的构成及表示,并根据实际应用的建立删除冗余信息规则,设计了一个计算机自动识别系统,对图像中的电气构件区域进行分割、识别、分类统计,目的是利用计算机自动为工程计价相关软件提供相应的数据信息。实验仿真表明该方法快速、有效。

摘要:针对当前主要依靠人工进行识别的现状,提出一种计算机自动识别建筑安装工程图纸中电气构件的方法。首先利用DXF文件读取图形信息,根据电气构件图形特征,删除DXF文件中的冗余图形信息,并将DXF文件转为图像格式,在图像中利用图像分割技术读取全部的电气构件数据。实验仿真结果表明该方法快速、有效。

关键词:图形交换文件,图像特征,形状不变矩,图像识别,区域分割

参考文献

[1]龚清洪,常智勇,莫蓉,等.基于DXF文件的图元优化排序[J].计算机应用,2006,26(1):169-171.

[2]HU M K.Visual pattern recognition by moment invariants[J].IRE Trans.IT,1962(8):179-187.

[3]张伟,何金国.Hu不变矩的构造与推广[J].计算机应用,2010,30(9):2449-2452.

[4]刘进,张天序.不变矩构造方法的研究[J].华中科技大学学报,2003,31(3):115-118.

[5]张坤华,王敬儒,张启衡.基于扩展目标的不变矩跟踪算法[J].强激光与粒子束,2002,14(1):6-10.

[6]董卫军,周明全.基于纹理-形状特征的图像检索技术[J].计算机工程与应用,2004(24):12-14.

[7]杨杰,陈晓云,徐荣聪.利用小波进行基于形状和纹理的图像分类[J].计算机应用,2007,27(2):373-375.

[8]章毓晋.图像分割[M].北京:科学出版社,2001

工程对象 第10篇

1课程现状

《面向对象程序设计》是我院自动化专业“卓越计划”下的一门重要专业课,同时也是一门实践性较强的课程,尤为强调学生的实际动手能力。目前高校工科专业的《面向对象程序设计》课程大多分为两类,一类以C++程序设计语言自身的体系为脉络展开教学,即注重编程语言的基本语句、语法以及类和对象、继承和派生、多态性等有关面向对象程序设计的基本概念。但由于此类教学模式不是以解决工程实际问题为目的展开,学生创新潜能得不到很好的挖掘,难以在学习中提高实践创新能力[3]。另一类以Java语言为载体,讲解面向对象程序设计的思想及设计方法,但Java的体系十分庞大,涉及的知识点多且繁杂,不适合自动化专业的学生学习。因此,本文就如何更好的通过《面向对象程序设计》课程这个平台,培养自动化专业卓越班学生的工程能力和实践创新能力,进行了教学改革与实践。

2教学改革具体举措

2.1选择合适的编程语言

将单纯讲解C++语言,变为讲解一门开发工具。考虑到自动化专业的学生具有C语言基础,选定Borland C++ Builder 6.0作为授课内容。C++ Builder是面向对象的,可视化编程语言, 开发者可以采用“所见即所得”的可视化方式,来设计应用程序的界面,不必编写大量的代码来实现界面功能。因此,相比其他同类面向对象语言具有“易上手,入门快”的特点。同时由于C++ Builder功能强大,应用领域广泛,更能满足培养学生实践创新能力的需求。

2.2运用全方位的教学手段

自动化卓越班人数一般为40人,采用实验室授课,每位同学都配有一台计算机。教师讲授完实例以后,学生可以马上上机操作。同时为了使每位同学能够清楚地看到老师的操作过程,实验室电脑中安装了Net Meeting软件工具,教师的电脑设置为主机,每次上课前,学生打开各自电脑上的Net Meeting软件,教师选择主持会议的功能,呼叫各从机,连接成功后,每个学生都能看到主机电脑上教师的每一步操作演示,十分快捷且高效。而且教师还能利用Net Meeting软件中的文件传送功能, 将每次课的PPT、实验指导书、示例程序等文件直接传送给学生,学生可以自行下载保存,作为复习资料。除此之外,教师还可以适时配合多媒体、板书等教学手段,最终达到板书、多媒体、先进软件、学生上机操作相结合的全方位教学手段[4]。

2.3采用先进的教学理念

2.3.1项目教学法

项目教学法最早见于美国教育家凯兹和加拿大教育家查德合著的《项目教学法》[5]。“项目教学法”最显著的特点是“以项目为主线、教师为引导、学生为主体”,改变了以往“教师讲,学生听”被动的教学模式,创造了学生主动参与、自主协作、探索创新的新型教学模式[6]。

基于项目教学法的基本思想,将《面向对象程序设计》每次课的教学内容设置成为一个具体的实训项目。整个教学过程相当于进行一个项目的开发,从信息的收集、到方案的设计,直至项目的实现,充分发挥学生的主观能动性,教师以引导为主、 讲授为辅,给学生预留充分地思考空间,最大限度的培养学生的创新思维能力。

2.3.2启发式教学法

启发式教学的关键在于设置问题情境,强调激发学生内在的学习动力及智力的充分发展[7]。教师在授课过程中应多注重设置问题的情境,多提出启发性较强的问题。比如在讲授一对多数据表的关联时,可以提问现实生活中有哪些实例与之相关。在课后还可以布置与专业相关的思考题,如:找出电厂中一对多数据表的实例,并编程实现。

2.3.3因材施教教学法

考虑到每个学生的学习能力和认知水平的不同,在每堂课结束时都设置巩固提高部分,为学习能力较强的同学提供更广阔的平台,使其接受更多任务和挑战,进一步提升实践创新能力。

2.4建立阶段式的考评体系

考评体系分为四个阶段:第一阶段在完成简单应用程序设计的学习之后进行,主要考核学生常用组件的使用方法。考核形式为课上上机测验,测验时间为60分钟,分数占总成绩的15%,考核题目中涉及各种常用组件如Label、Edit、Bit Button、 Memo、Radio Button、Check Box、List Box、Menu、Open Dialog等。

第二阶段在完成数据库应用程序设计的学习之后进行,主要考核学生设计数据库应用程序的一般步骤、常用数据库组件的用法、数据的编辑与查询及报表的设计等内容。考核形式为课上上机测验,测验时间为60分钟,分数占总成绩的15%。

第三阶段为上机考试,设置在结课之后进行,分数占总成绩的20%,考试时间为90分钟,考试内容一般为管理信息系统的设计,如:学生信息管理系统。

第四阶段为理论考试,一般在上机考试一周后进行。考试形式为开卷,综合考察学生对课程的掌握情况,分数占总成绩的50%。

2.5更新后续课程设计的内容

在课程的全部授课学时结束后,安排为期两周的软件类设计实训。以往的实训内容大多是管理信息系统的设计,如:大学生社团管理信息系统设计、高校实验设备管理信息系统设计等。此类题目的缺点是专业特色得不到体现,更不能满足“卓越计划”的培养目标。

鉴于自动化专业“软硬相结合,两手都要硬”的培养目标, 现将单片机硬件内容引入到课程设计的设置中来,并拓展学习利用C++ Builder编写PC机与单片机之间串口通信的程序代码,同时将课程设计地点选在微机原理实验室,便于学生操作单片机等硬件设备。课程设计的具体内容为:要求采用C++Builder 6.0编写上位机软件程序,采用DVCC-5286JH单片机仿真实验系统作为下位机硬件连接设备,设计模块化的测控系统软件平台,实现PC机与单片机之间的通信,同时还要求为用户提供数据保存、实时曲线绘制及历史数据查询与打印等功能[8]。更新了课程设计内容后,使学生将所学的编程工具与专业知识相结合,达到了“学以致用”的目的,“卓越计划”培养目标得到了很好的体现。

3结束语

《面向对象程序设计》是一门理论和实践结合得较为紧密的课程,为实施“卓越计划”提供了一个有效的平台。随着课程教学改革的不断深入,学生的实践创新能力得到不断提升,必然会对教育部“卓越工程师教育培养计划”的实施起到一定的推进作用。

摘要:根据教育部“卓越工程师教育培养计划”的培养目标,分析面向对象程序设计课程现状,通过选择合适的编程语言,运用全方位的教学手段,采用先进的教学理念,建立阶段式的考评体系及更新后续课程设计的内容等多种举措提升学生的实践创新能力。

找对象的测验 第11篇

八个方面是:事业心强,随和友善,重情爱家,自信乐观,相貌仪表,不慕虚荣,成熟稳重,善解人意,处事周到。

哪个最重要? 第一选什么?我觉得没有统一答案。不同的性别,不同的年龄,不同的性格,有不同的选择。

先看女孩子,软弱的姑娘可能喜欢男人重情爱家。好强的女孩可能会选择男人事业心强。中年妇女可能把成熟稳重放第一位。独立的女人希望对象随和友善。男生喜欢女人相貌儀表好。男人也很在乎善解人意的女人。女方重情爱家在男人眼里最重要,也有男人喜欢女人事业心强,大把钞票赚回来。

如果要我选,八个方面的秩序是:1自信乐观,2成熟稳重,3随和友善,4重情爱家,5善解人意,6事业心强,7相貌仪表, 8处事周到。

为什么把自信乐观放在第一?我觉得快乐是人生的第一需要,也是择偶的第一标准。相处不开心,就该分手了。乐观和自信相互依存。自信的人不骄不躁,不折不挠,不会浪费生命。这样的人,不论男女,值得爱。

第二选成熟稳重。对于年轻人来说,可能不太重要,因为他们正在成长,还有时间学习。然而中年人已经定型,很少有改变和提高的希望,这个条件不可缺少。

我把随和友善放在善解人意和重情爱家前面,因为我认为随和友善是一个人的脾气和习性,拥有宽大的胸怀。这种习性注定了对所有的人还包括对动物植物都善待。

工程对象 第12篇

当前软件开发过程在技术和方法上有多种选择。传统的结构化方法和信息建模方法,是从功能和数据的角度来分析与构造系统。这种方法最大的缺点就是概念抽象性高,客观世界中不能直接找到与之对应的事物。对象建模技术(OMT)是目前最为成熟和实用的面向对象建模方法之一,它从系统中涉及到的对象出发构建系统,解决了传统方法面临的抽象性问题。本文深入研究了OMT的建模方法及对象之间关系的描述策略,在该方法的指导下设计了自动售货机模型,最后进行了原型实现。可以得出结论:OMT是一种高效、规范的面向对象建模工具,利用OMT技术可以使开发过程更规范、可视性更强、开发人员与用户的沟通更直观,可以在开发阶段之间实现无缝链接、平滑过渡,较好地提高了系统设计与实现的效率。

1 问题描述

根据与客户沟通,本文要设计的自动售货机主要用于销售饮料、香烟等日常商品,需满足以下功能要求:

(1)货贺上放置若干不同品种的饮料、啤酒、香烟,每种商品最多能够放50件。投币口可以接收的货币面值为0.5元、1元、2元、5元、10元。即时地向用户显示已投币总金额,若某种商品已售完能及时提示顾客,能够给顾客提供友好的使用指导。

(2)顾客投入钱后,首先经累加器累加,若投币总金额大于或等于某种商品的售价,则顾客可以购买该商品,待顾客选择某种商品,并确认购买后,商品由取物口掉处,同时自动进行该笔交易结算找零,顾客可以继续购买售价小于或等于余额的物品,或者取走找零结束交易。

(3)顾客投入货币后,在确认购买商品之前可以拉退币杆取消交易,收回已投入的货币。

2 OMT方法研究

2.1 OMT的三种模型

OMT方法用三种类型的模型刻画一个系统:对象模型、动态模型和功能模型。对象模型描述系统中的对象和它们之间的联系;动态模型描述系统对象间的相互作用;功能模型描述系统中数据的变化。每种模型应用于开发的不同阶段,以几种不同的观点来刻画不同的模型,一个软件系统的完全描述要求包含所有这三种模型。

(1)对象模型。

对象模型是三种模型中最重要的,通过描述系统中的对象、对象之间的联系、属性以及刻画每个对象类的属性和操作来表示系统的静态结构。系统建模围绕对象来构造系统而不是围绕功能来构造系统,对象模型更接近实际应用,而且容易修改,能快速地对变化做出反应。对象模型提供一种直观的图形表示,并且文档化系统结构有利于与用户之间进行有针对性的交流,从而有利于系统模型的修改和完善。

(2)动态模型。

动态模型描述了系统时间空间内对象的变化和对象之间关系的变迁,即系统所关注的时序关系。动态模型的主要概念是表示外部触发的事件和表示对象值的状态,它采用状态图来描述一个特定类的事件、状态和状态变迁的模式。状态图就是状态和事件的网络,动态模型由多个状态图组成,从而显示了整个系统活动的模式。

(3)功能模型。

功能模型描述系统内的计算。功能模型由多个数据流图组成,这些数据流图描述数据流从外部输入值,经过计算和内部数据存储,再向外部输出的全过程。功能模型也包含了对象模型中值之间的约束。三种模型的关系如图1所示。

2.2 OMT模型中对象之间的关系

(1)链接和关联。

链接(Link)和关联(Association)是建立对象之间、类之间以及对象和类之间的联系。链接是在对象实例之间的一种物理或概念连接。在数学上,一个链接是一个元组,即一个对象实例的有序列表。一个链接是一个关联的实例。关联描述了具有公共结构和共同语义的链接的组合。所有在关联中的链接都与相同类的对象组连接。关联和链接经常在问题叙述中以动词身份出现,一个关联描述了用相同方式的可能的链接的集合,这种方式就是一个类描述所有可能的对象的一个集合。在类图中每个关联相对应于实例图的链接集合,就好像每个类相对应于对象集合一样。一个关联的OMT表示是在类与类之间画一条线,连接是在对象与对象之间画一条线,关联名用斜体字。如果类与类之间只有一种关联(单一关联),则关联名可以省略。

(2)概括和继承。

概括(Generalization)和继承(Inheri-tance)是在类与类之间相似与共享的强有力的抽象,并保留它们自己的不同之处。概括是描述在一个类和提取该类的一个或更多版本之间的关系。这个被提取的类称为“超类”(Super Class),而每个被提取的版本称为子类(Sub Class)。把子类的公共属性和操作放在超类,可以被每个子类共享;每个子类则继承它所属超类的特征。因为子类的一个实例同时也是超类的一个实例,因此概括也称为“is-a”关系。

概括和继承可以蕴含在任意层次之中,术语祖先和子孙涉及多层次的一类概括,子类的一个实例同时也是所有它的祖先类的一个实例,一个实例的状态包含了每个祖先类的每个属性的一个值。在任一祖先类上的任一操作可用于一个实例,每个子类不仅继承所有祖先的特征,而且还可以加入它自己本身的属性和操作。

3 基于OMT的系统模型设计

3.1 识别对象模型

目标是找出系统中所有对象及其关联,抽取对象的方法是从问题描述中找出名词或名词词组。从上述问题描述中可以抽取自动售货机的对象有:顾客(用户)、售货机、金额累加器、商品、按钮、退币杆、存料计算器。具体如下:

(1)顾客:

消费者,持有钱,拥有货物及交易成交与否的选择权。

(2)售货机:

顾客投入钱时判断所投钱面值是否有效,若有效进行累加,显示总投钱金额,待顾客确认购买后,掉出货物。

(3)选择按钮:

不同的货物有不同的价格,待顾客投币总金额达到货物售价后,按钮可用,等待顾客选择,顾客摁下按钮后,把选择传给售货机。

(4)退币杆:

在顾客摁下选择键前或单笔交易成交后,可以拉动退币杆,把收回。

(5)金额计算器:

把投入的钱进行累加,并及时地把结果付给售货机显示。

(6)存量计算器:

售货机掉出物品后,对该货物存量递减,同时判断存量是否为零,如果为零则售完灯亮,对应的货物选择按钮不可用。

(7)货物:

顾客购买的对象,不同的货物有不同的价格,每种货物都有相应的存量。

系统对象模型图如图2所示。

3.2 建立动态模型

动态模型显示了整个系统活动的模式。建立系统动态模型的前提是对系统中可能发生的事件进行全面的梳理。根据系统功能要求,我们得到系统中事件有:投钱、计算并显示总额、金额足够、选择按钮可用、顾客选择某货物、掉出货物、顾客取货、结算、找零、扣除存量、选择按钮不可用。具体描述如下:

(1)投入钱:

货物已事先存放完毕,顾客投入钱,售货机判断面值正确后,进行累加并显示总金额;售货机持续要求投钱,直到总金额达到足够的金额;

(2)选择货物:

选择按钮可用,顾客要选择货物,按选择按钮并确认购买后,掉出货物,提示顾客取货,并进行单笔交易结算、找零;同时货物存量递减;

(3)归零回到运营状态:

如果被选择的物品存量大于0,则回到初始状态,等待继续购买;否则,该货物选择按钮不可用,回到初始状态。

根据上述事件描述,最终得到系统的事件追踪图(如图3)和整个系统事件状态图(如图4)。

3.3 建立功能模型

功能模型描述系统内的计算,描述系统中数据流从外部输入值,经过计算和内部数据存储,再向外部输出的全过程。根据系统功能设计,得到系统功能模型如图5、图6、图7所示。

4 原型实现

在深入研究对象建模技术(OMT),并以此为指导完成了自动售货机系统对象模型、动态模型和功能模型之后,实现了系统原型,对整个研究进行了验证(如图8)。

5 结论

本文深入研究了OMT的建模方法及对象之间关系的描述策略,在该方法的指导下设计了自动售货机系统的对象模型、动态模型和功能模型,并进行了原型实现。研究结论如下:OMT是一种高效、规范的面向对象建模工具,利用OMT技术可以使开发过程更规范、可视性更强、开发人员与用户的沟通更直观,可以在开发阶段之间实现无缝链接、平滑过渡,较好地提高了软件系统设计与实现的效率。

摘要:面向对象的软件开发方法的关键是对问题域的理解,对象建模技术(OMT)在面向对象的软件系统建模中具有较好的性能。本文研究了OMT的三种模型、对象之间关系的描述策略,以OMT方法为指导设计了一个自动售货机模型,并进行了原型实现。研究结果表明:基于对象建模技术的系统构建过程更直观、开发人员易沟通,各开发阶段使用统一的概念模型,减少了相互转换过程中的错误和冗余。

关键词:面向对象程序设计,软件建模,对象建模技术,自动售货机

参考文献

[1] 石彦芳, 石建国, 周檬. 基于OMT技术的简历收集与就业跟踪系统设计与实现[J]. 煤炭技术, 2010(03) : 235-237.

[2] 龚佑华, 于永利, 张柳. 基于HLAOMT设计军用仓库模型[J].科学技术与工程, 2006(23) : 4792-4794.

[3] 张浩. 基于OMT和软构件技术的作物生产潜力系统研究[D]. 解放军信息工程大学, 2009.

[4] 王又军. 基于OMT的师资培训管理系统分析[J]. 企业技术开发, 2008(11) : 57-59.

[5] 田宝杰, 卓斌, 张赛娜. 基于面向对象建模技术构建服装企业管理信息系统[J]. 电脑知识与技术, 2008(29) : 280-282.

[6] 王力群. 面向对象建模技术的研究与应用[J]. 电脑知识与技术, 2009(32) : 8935-8936.

[7] 蒋俊. 基于UML的面向对象建模技术的研究[J]. 信息与电脑(理论版), 2010(04) : 148.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

【工程对象】相关文章:

9、软件工程面向对象方法学引论总结07-06

刑法中的行为对象与犯罪对象的若干研究09-11

对象构建05-22

实践对象05-22

对象关系06-30

发展对象07-03

比较对象07-10

数据对象07-17

业务对象07-25

对象内容07-25

上一篇:长距离顶管施工技术下一篇:巴西政府的世界杯公关