在80年代末至90年代中,对面向对象分析与设计方法的研究发展到一个高潮。但是,诸多流派在思想和术语上有很多不同的提法,在术语、概念上的运用也各不相同,需要一种统一的符号来描述面向对象的分析和设计活动。UML应运而生。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且有进一步的发展,最终成为大众所共同接受的标准建模语言。统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。它融入了软件工程领域的新思想、新方法和新技术。不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。
UML模型、视图、图
UML的概念和模型可以分成以下几个概念域:静态结构、动态行为、实现构造、模型组织、扩展机制
UML视图和图
主要的域视图图主要概念
构静态视图类图类、关联、泛化、依赖关系、实现、接口
用例视图用例图用例、参与者、关联、扩展、包括、用例泛化
实现视图构件图构件、接口、依赖关系、实现
部署视图部署图节点、构件、依赖关系、位置
动
态状态视图状态图状态、事件、转换、动作、
行活动视图活动图状态、活动、完成转换、分叉、结合
为交互视图顺序图交互、对象、消息、激活
协作图协作、交互、协作角色、消息
模型管理模型管理视图类图包、子系统、模型
扩展机制所有所有约束、构造型、标记值
静态视图
1、类元
类元是模型中的离散概念,拥有身份、状态、行为和关系。有几种类元包括类、接口和数据类型。其他几种类元是行为概念、环境事物、执行结构的具体化。这些类元中包括用例、参与者、构件、节点和子系统。图列出了几种类元和它们的功能。元模型术语类元中包括了所有这些概念。
类元功能表示法
类类代表了被建模的应用领域中的离散概念。
最重要的特性是多重性
状态类局限于某个给定状态的类
类元角色在合作中局限于某个使用的类元
构件系统的一个物理组成单元
接口刻划行为特征的操作命名集.
节点计算资源
信号对象间的异步通信
子系统作为且有规范、实现和身份的单元的包
用例与外界代理交互中的实体行为说明
2、类元之间关系
类元之间的关系有关联、泛化、各种形式的依赖关系,包括实现关系和使用关系。
关联:对象通常要和其他对象发生关联,关联可以具有多层形式。多重性问题(一对一、一对多)。在UML中关联用一条直线来表示。
泛化:一个类继承了其他类的属性和操作。在UML中泛化用“从之类画一条带空心三角形箭头的连线指向父类”来表示。
依赖:一个类使用了另一个类。在UML中依赖用“从依赖类到被依赖的带箭头的虚线”表示。
聚集是关联的一种,聚集对象由部分对象组成。也就是整体与部分关联。在UML中用“整体和部分之间用带空心菱形箭头的连线连接”来表示。
组合是一种特殊的聚集,在一个组合对象中,部分对象只能作为组合对象的一部分与组合对象同时存在。在UML中用“整体和部分之间用带实心菱形箭头的连线连接”来表示。
实现:类和接口之间的关系被称为实现。在UML中实现关系用一个带空心三角形箭头加虚线来表示,箭头指向接口。
在学习UML这门课之前,我一直心底有一个疑问,那就是我们和那些所谓的程序员速成班培训出来的程序员到底有什么差别,都是写代码,那我们在大学里学习的意义是什么呢,直到我学习了UML这门课。我才知道写代码并没有想象中的那么简单,对于同一个功能,肯定有着多种不同的实现方法,而这些方法也肯定有优劣之分。我们之所以不像外面那样的培训班一样速成,是因为我们需要锻炼自己去写出高质量的代码,我觉得这就是我们学习的意义。
其实在上UML课之前,我以为UML跟C++和java一样是一门编程语言,直到经过老师的介绍,我才知道UML的全称是UnifiedModelingLanguage,他不同于C++,java这些编程语言,他是统一建模语言。UML是一种用于可视化描述系统,具有广泛用途的建模语言。作为一种标准化的图形语言,在软件工业中被用于软件系统部件的具体化,可视化,结构化描述以及撰写文档,同样在商业模型中也得到应用。
UML虽然不是一门程序设计语言,但他的重要性是不可忽视的。他的重要性主要体现在:使复杂的软件设计更为简单,也能够实现像OOP(面向对象编程)这一类被广泛应用的概念;用理解起来可能更容易的图来描述,避免了大量的文字;使表达和交流概念或系统结构变得更容易;在一张图中就能够描绘出整个系统;程序员实用类图来描述实际需求时,可让问题更加清晰明了,实现起来更容易。
很多人或许会说直接写代码要比画图分析什么的快多了,但我认为UML在分析和设计阶段十分重要。在学完职责分配原则和了解过一些设计模式过后,我更加坚定了我的想法。或许对于一个小项目来说,实现的方式有很多种,无论是哪一种,可能会有人觉得只要能够实现功能就是可用的,就是好的。但如果是一个比较庞大的项目呢如果在具体写代码时某个类的职责过于庞杂,那么必定会给系统带来很大的压力。或者说每个类之间的关系特别复杂,那么当后续需要更改某个类的时候,必定会影响到其他的类,带来十分高昂的维护成本。而GRASP的九个原则:信息专家原则,创造者原则,低耦合原则,高内聚原则,控制器原则,多态原则,纯虚构,中介原则,受保护变量原则可以在一点程度上很有效地解决这些问题。
UML这门课程让我学会了话UML的五大类,共九种图:
用例图:从用户角度描述系统功能,并指出各功能的操作者。
行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件,状态图是对类图的补充,活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动。
实现图:包括组件图和部署图。组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。
说实话在了解GRASP,设计模式,统一过程后,我觉得UML是一门十分重要的课。但是我在知乎上看到了一个“UML现在有什么用”的问题,上面的许多高赞答案都是在说UML的用处并不大。甚至有人说UML是糊弄人的东西。但我却不这么认为,判断知识有没有不能仅凭这自己以前的经历,或许有些人用UML的地方并不多,所以他认为UML的用处并不大,但是谁又能肯定的说你以后不会用到UML的建模方法和思想呢我觉得我们学习的眼光应该长远一点。不管如何,我在UML结课后,仍然会继续学习UML,因为我认为他是十分有用的,虽然目前为止我并没有过参与大型项目的经历,但确实在UML建模后,我对一些问题和业务逻辑有了更深刻的认识,我相信他能帮助我提升我自己的能力,加油!
扩展关系:、泛化(继承)关系:、依赖关系:
聚合关系:、组成关系:、
关联关系:、实现关系:
2、UML中几种基本图及其基本功能作用:
UML的重要内容可以由哪五类图(共9种图形)来定义:
答:用例图:用例图。
静态图:类图、对象图
行为图:状态图、活动图
交互图:时序图、协作图
实现图:构件图、部署图
1)类图:类图是描述类、接口、协作以及它们之间的关系的图,用来显示系统中各个类的静态结构。
类包括:类图、属性、方法。
类图包括:类、接口、协作、关系、约束、注释以及包。
类的表示包括:名称、属性、操作、职责和约束。
类图的建模过程:确定对象与类、确定类的属性、确定类的关系。
类图在UML中的重要作用:1.为开发人员提供这种模仿现实世界的表达方式。
2.让分析员使用客户所采用的术语和客户交流,促使客户说出所要解决的问题的重要细节。
2)对象图:对象图表示在某一时刻一组对象以及他们之间的关系的图。
UML对象图的用途
◆捕获实例和连接、◆在分析和设计阶段创建、◆捕获交互的静态部分、◆举例说明数据/对象结构、◆详细描述瞬态图、◆由分析人员、设计人员和代码实现人员开发
3)用例图:表述了一组用例、参与者以及它们之间的关系的图。
用例模型包括:用例图和用例规则。
用例规则包括:基本流和备选流。
用例图的组成元素有:参与者,用例,通信关联,用例规约
建立用例模型步骤:
1)根据系统边界确定参与者
3)对每个用例写出用例规约文档,调整用例模型(优化参与者与参与者之间的关系,用例与用例之间的关系)
用例对于系统开发人员来说的价值:是用来从用户的观察角度收集系统需求的一项技术,便于分析员与客户和用户交流,使系统更符合用户的需求
顺序图是由对象、生命线、控制焦点和消息等构成。(消息表示了对象间的通信,生命线表示了对象的生存期,控制焦点表示对象正在执行一些活动)
顺序图中从左到右各对象分别为:执行者角色、控制类、用户接口、业务层、后台数据库。
顺序图的作用:顺序图常用来描述用例的实现,它表明了由哪些对象通过消息相互协作来实现用例的功能。在顺序图中,标识了消息发生的先后顺序。
5)协作图:描述了系统中对象间通过消息进行的交互,强调了对象在交互行为中承担的角色。
协作图包括对象、链(连接器)、消息。
(协作图与顺序图的比较与各自的优缺点下面有)
交互图(协作图与顺序图)的特征:交互图形主要用于对用例中的控制建模,一般情况下,一个交互图形表达单个用例的行为,它表示出该用例中若干个实例对象和对象之间所传递的消息,交互图形有效的帮助人们观察和理解系统内部的协作关系和过程行为。
6)状态图:描述了一个对象所处的可能状态以及状态之间的转换,并给出了状态变化序列的起点和终点。
状态图包括:状态、转换。
一个状态图表示一个状态机,表示从一个状态到另一个状态的控制流。
建模步骤:找出适合用模型描述其行为的类、确定对象可能存在的状态、确定引起状态转换的事件、确定转换进行时对象执行的相应动作、对建模结果进行相应的精化和细化。
作用:能帮助分析员、设计员和开发人员理解系统中对象的行为。(P87)
7)活动图:描述从活动到活动的流。
活动图包括:动作状态,活动状态,动作流、分支与合并、分关与汇合、泳道以及对象流。
8)构件图:主要用来描述各种软件构件之间的依赖关系,是描述构件与构件关系的图。
构件图包括注释、约束和包。
构件分为3种类型:配置构件、工作产品构件以及执行构件。
构件图的基本目的是:使系统人员和开发人员能够从整体上了解系统的所有物理部件;同时,也使我们知道如何对构件进行打包,以便交付给最终客户;最后,构件图显示了被开发系统所包含的构件之间的依赖关系
(构件和类的比较见下面)
9)部署图:描述系统中的硬件节点及节点之间如何连接的图。
部署图的组成元素包括节点、节点间的链接。
(活动图与状态图的比较见下面)
3、类图的表示:
4、略
5、对象间的可见性:可见性指的是一个对象能够“看到”或者引用另一个对象的能力。Public+,private-,protected#
6、类的区分:
UML将类分为边界类、实体类以及控制类。
1)边界类用于描述外部参与者与系统之间的交互。
边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。这种交互包括转换事件,并记录系统表示方式(例如接口)中的变更。
2)实体类主要是作为数据管理和业务逻辑处理层面上存在的类别。
实体类保存要放进持久存储体的信息。持久存储体就是数据库、文件等可以永久存储数据的介质。实体类可以通过事件流和交互图发现。通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。
3)控制类用于描述一个用例所具有的事件流控制行为,控制一个用例中的事件顺序。
7、面向对象开发系统是一系列对象的集合。
8、面向对象的三大机制:封装、继承、多态。
9、软件工作的有效性和可靠性。
10、面向对象之前是面向过程的结构化分析与设计方法,这种方法以功能分析为基础。
11、对象是客观实体的抽象表示,是由描述对象属性的数据和对这些数据进行的操作行为两部分组成。而类是对具有相同属性和行为一组对象的抽象描述。因此,它作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的实例。通过继承关系又可形成一种类层关系。
12、UML中静态图有:用例图、类图、对象图、构件图、部署图
动态图有:活动图、顺序图、协作图、状态图
简答题:
1、简述面向对象的三大机制:封装性、继承性以及多态性。
1)封装性。所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息的隐蔽;2)继承性。如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。前一个类成为父类,新产生的类叫做子类。通过继承关系可形成一种类层次结构,叫做继承结构;3)多态性。在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。多态即程序中同名的不同方法共存的情况,常见的两种多态方式为:①子类对父类方法的覆盖;②利用重载在同一个类中定义多个同名的不同方法。
2、叙述面向对象发展的动因:
为了超越程序复杂性障碍,克服软件危机,人们提出了面向对象软件开发方法。面向对象开发方法一改过去传统的以功能分析为基础的面向过程的结构化分析与设计方法。面向对象开发方法模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列对象的结合,其面向对象设计又将分析的结果映射到某一种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与解空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的封装、继承、多态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服软件危机。因此,它成为成熟的广为采用的软件开发方法。
3、分析顺序图和协作图之间的差别和优缺点:
协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
填空、选择:
1、2略
3、在用例图中用例与角色是关联角色。
4、顺序图中有生命线。
5、整体与局部的关系用聚集(聚合)表达的。
6、UML图中,关联角色的构造型有5种
7、略
8、UML中4大关系:依赖、泛化、实现和关联。
9、UML构造块中的事物和关系各包含哪些内容
UML的事物包含:动作事物、结构事物、分组事物、注释事物
动作事物包含:交互、状态机
结构事物包含:类、接口、用例、协作、节点、构件、活动类
分组事物包含:包
注释事物包含:注解
10、活动图中的泳道技术的作用:通过泳道不仅体现了整个活动控制流,还体现出了每个活动的实施者。
11、状态图描述从状态到状态的控制流程,常用来对系统的动态特称进行建模。
12、UML中类可分为3大类:实体类、控制类和边界类。
13、UML体系分为3大部分:UML基本构造块、UML规则和UML公共机制。
1.比较活动图与状态图:
1)活动图和状态图描述的重点不同:活动图描述的是从活动到活动的控制流,而状态图表述的是对象的状态及状态之间的转移。
2)活动图和状态图使用的场合不同:对于以下几种情况可以使用活动图:分析用例、理解涉及多个用例的工作流、处理多线程应用:对于下面的情况要使用状态图:显示一个对象在其生命周期内的行为。
2.构件和类的比较:从构件的定义来看,构件和类十分相似,如都有名称,都可以实现一组接口,都可以参与依赖,泛化和关联关系,都可以被嵌套,都可以有实例,都可以参与交互,但它们之间也存着以下明显区别:1)类是对实体的抽象,而构件是对存在于计算机中的物理部件的抽象。也就是说构件是可以部署的,而类不能部署。2)构件是属于软件模块,而非逻辑模块,与类相比,它们处于不同的抽象级别,甚至可以说,构件就是由一组类通过协作完成的;3)类可以直接拥有操作和属性,而构件仅拥有可以通过其接口访问的操作。
3、面向对象方法的基本观点:
(1)客观世界由对象组成,任何客观实体都是对象。对象是系统的基本单位。
(2)复杂的对象可以包含简单的对象。
(3)事物的静态特征用对象的属性表示;事物的动态特征用对象的操作表示。
(4)对象的属性与操作结合在一起,封装成一个独立的实体
(5)具有相同属性和操作的对象可归纳成类,对象是类的一个实例。
(6)类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性。
(7)对象之间通过消息进行通信,以实现对象之间的动态联系。
4、简述面向对象分析方法(OOA)的5个基本步骤
1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步
2)、识别对象的属性
3)、识别对象的行为
4)、识别对象所属的类
5)、定义主题词
书读的多,视野的格局大;资金(权力)集累的多,交际的平台大;历练的岁月久,洞穿事物的经验富。此三种格局的自然形成,是个人的财富,同时又可能对社会有益。
因此,人的自然格局是逐渐形成,并非法外恩赐。我们国家与西方最大的差距,是赐予个人格局的方法。如官二代,富二代多般是个人格局的方法产生的怪胎。走了急功近利的路子,破坏了“天降大任与斯人,必先苦其心志,饿其体肤”的自然规律、道德观念。再如一人得道鸡犬升天的裙带关系,官官相护的传统恶习……数不清的污垢厚土,也就别惊愕,历代中国人移民的梦魇。
还有,新年探亲,我在集镇的车站,看到乘客买了车票后,驾驶员向每位乘客索取2元的加班费;在成都火车南站,饭店向每份菜索取2元春节期间,菜不好卖的辛苦费。我想呐喊的事,这个集镇的政绩就是向每位乘客多索取2元的政绩,不少饭店的民营业主的人生价值,只值2元。尽管他们都是改革开放已来最大的受益者,然而又是他们只向社会索取,不向社会回报;他们的格局在大于社会无补益。
难怪,个别商人与权贵的格局,不就是菜市场的青蛙,蹦蹦跳跳,也不过是会亲朋好友的佳肴。
然而,社会终究要放大格局,推波助澜的前行,把格局的自然形成放在昨天、今天、明天的首选,回避格局不正当的方法,是历史的必然性。
7月~8月间,我参加了为期30天的广西大学生志愿服务万村远程教育20xx年暑期行动。活动期间,我作为河池市市级骨干,在共青团河池市委员会城乡部工作。我主要负责传达自治区项目办的工作安排及要求、联系河池市各县负责人、统计河池市各县志愿者人数及工作开展情况等。
这次大学生志愿服务万村远程教育20xx年暑期行动,是我提前进入社会的实践机会,因此,在工作中,我始终保持谦虚、踏实、真诚的品德,不断学习、行动、思考,力求尽善尽美的完成每项工作任务,在工作中收获快乐,收获友谊,收获经验。
为了更好更快的融入环境,进入状态,我对此次活动的文件、志愿者工作职能等情况进行了较系统的了解,并且经常向项目办的领导请教,同时多和各个志愿者们进行沟通,这样,让我的工作变得比较顺利。
在日常工作中,我主要接触了信息传递和联系两方面工作。下面,我就总结一下我在这两个方面上的经验。
工作期间,我曾与自治区项目办、河池市各县负责人沟通交流,对于提高我的语言表达、应变能力、与人交流的技巧都有很大的帮助。
办会,是我收获最大的一块工作。我曾参与河池市大学生志愿服务万村远程教育20xx年暑期志愿者活动启动仪式暨骨干培训会、河池市青年创业小额担保贴息贷款协调会等。关于会议筹备,我主要学习了会议的准备阶段、举办阶段、总结工作等一系列环节中应注意的问题。我着重从领导人的说话方式,思维特点等角度,感受领导人的魅力、魄力,不断思考如何提高自身能力。
当然,在工作期间我也存在一定的问题和不足。一是工作有急躁情绪,有时工作急于求成,反而影响了工作的进度和质量;二是处理一些工作关系时还不能得心应手,工作显得措手不及,无从着手。在今后的工作中,我还要继续加强学习,加强交流与沟通,为工作的良性运转打下坚实基础,努力实践。
日常工作是繁琐的,却体现着一名行政工作者的三颗心细心、耐心、责任心。除了三颗心,更需要良好的执行能力、领悟能力、组织协调能力、应变能力,使工作有的放矢,重点突出,保证效率。
一个月的志愿者工作真的令我受益匪浅,在进行角色转换的同时,我努力实践。在实践中,我体验生活,磨练意志,修炼品行,积累经验。一个月,说长不长,说短也不短。因为,有时候一个月,足以让一个人迅速地成长。这一个月,我学到了许多在学校学不到的东西,增长了才干,积累了许多宝贵的工作经验。
暑期结束后返校,我的角色又将转变为一名大学生。这些经历让我多了一份成熟,多了一份自信。我的生活重心将转移到学习。新的学期,新的追求,新的梦想。制定好目标,我将一如既往的前进,前进。
这次实训让我学到的东西太多,使我受益匪浅,它让我知道了工作上的辛苦,让我知道工作并不像在学校里学习一样轻松。不过,虽然辛苦了点,但能让我学到不同的东西,我心里还是高兴的。人非生而知之,要学得知识,一靠学习,二靠实践。...
当Apec的余热还未退去。那个熟悉而又亲切的双11就到来了。在这期间,小营营投部做为集散营投部经受住了巨大的考验。尽管进口量在安定门区域分公司最高,又是需要处理分检。...
在80年代末至90年代中,对面向对象分析与设计方法的研究发展到一个高潮。但是,诸多流派在思想和术语上有很多不同的提法,在术语、概念上的运用也各不相同,需要一种统一的符号来描述面向对象的分析和设计活动。UML应运而生。...
品质是制造出来的,非依检验而得成之,但可依靠检验而促成之,故制程检验为品质管制过程中最重要的环节,影响将是全面的,由此特设IPQC检查,籍以进行制品品质管控,提升产品品质.一.何谓制程检验:制程检验就是指依照半成品,成品检验标淮进行...
进入20xx年,支行在支行新领导班子的带领下,以分行“开门红”工作方针为指导,认真分析一季度“两节”带来的各种机遇,不断向全行员工灌输“只争朝夕”的主动拼搏精神,并以开展各种综合营销活动为契机,制定营销激励机制,紧紧围绕着“...
十一月八日,我参加了县里组织的教师写字培训活动。指导教师是灵石县唯一进入“中国书协”的杨老师,能够得到这样高水平的老师零距离的指导,真的是三生有幸。早在通知我们参加活动的时候就知道要学习的是隶书。...
大家好!今天,我能代表初一的全体同学站在这台上讲话,我感到无比的荣幸。首先,让我们先以热烈的掌声向在军训中付出辛勤劳动和汗水的各位教官们表示最诚挚的感谢!为期六天的军训是我们告别小学学习生活,走向新学校的第一课。...
随着综合医院康复医疗工作的普遍开展,康复护理工作如雨后春笋般发展起来,护理的内涵在不断延伸,已从单纯的治疗延伸到预防、保健和康复。良好的康复护理是达到患者康复目标的保证,也是提高医院康复医疗质量,推动康复医学深入发展的重...
一、认真反思,加强学习作为atm维修服务工程师,责任一直是我工作的宗旨,我严格要求自己,做到谨小慎微。在这XX年无论从技术能力,还是从思想上都存在许多的不足。...
毒水的味道很浓很浓,一座本该热闹的城市很静,很静,新年伊始,本应是举国欢庆,共度佳节,而今……却满是孤寂,压抑。这是最黯然无光的一个春节,新型肺炎肆虐于神州大地,人心惶惶,但这也是热血高昂的一个春节,炎黄子孙守望相助,高...
人出生的第一声啼哭,正如冲泡咖啡时开水进入杯中的那一阵喧闹。不是十分嘹亮,却让人难以遗忘。当你稚嫩的脸庞映入父母的眼睛,他们对你相视一笑,眼中溢出无限欢耀。当你说出第一句话,他们为你骄傲。当你走出第一句话,他们为你鼓掌。...
“蓝蓝的天空,清清的湖水,绿绿的草原,奔驰的骏马,洁白的羊群。”听着腾格尔的《天堂》我特别向往那天苍苍,野茫茫,风吹草底见牛羊的大草原。我暑假有幸来到了美丽的乌兰布统大草原。...
期末考试的前一天晚上,夜,静悄悄的,我在床上翻来复去怎么也睡不着,满脑子想的都是明天考试的事情。我轻轻打开了床头柜的台灯,那起语文书仔细地看起来,我慢慢地困起来,关了灯,开始睡觉。...