当前位置:文档之家› 设计 所见即所得编辑器 例程库过程详解

设计 所见即所得编辑器 例程库过程详解

设计 所见即所得编辑器 例程库过程详解
设计 所见即所得编辑器 例程库过程详解

设计所见即所得编辑器例程库过程详

设计"所见即所得编辑器"例程库过程详解2011-04-06 12:11设计"所见即所得编辑器"例程库过程详解

发表于2007,January 18,5:14 PM

也许你已经习惯于使用Word进行文档的编写和编辑,因为它提供了强大的"所见即所得"类型的编辑器,使得对文档的编排更容易进行,但是Word毕竟是只能在单机使用,如果也想在Web上使用类似Word的功能怎么办呢?这个问题

其实很多的论坛程序已经给出了答案:集成Web形式的"所见即所得"编辑器控

件(这里说的控件并不是指微软的ActiveX)。目前比较成熟的Web形式的"所见

即所得"编辑器有两个:TinyMCE和FCKEditor。

其中的TinyMCE,从名字中就可以看出,Tiny本来就有小的意思,其实它

并不小,而是轻量级的,集成它特别简单,简单到只需两行代码(当然其它的图片资源文件是要首先放在合适的位置),然而轻量级并不意味着简单,TinyMCE

能实现Word的许多基本功能,并且程序支持自定义,可以简易的对其进行扩展。

FCKEditor可以说是Web形式的"所见即所得"编辑器的大哥大,从其网站

上面的演示即可看出,它提供了许多的工具栏,并且加入了Web中经常使用的

一些元素的直接操作(按钮),可完全定制的样式和工具栏按钮显示,多种语言

的自动检测并显示,等等等等,要查看关于它的更多信息,请访问它的网站。

值得一提的还有另外一件事:上面提到的两个Web形式的"所见即所得"编

辑器都是OpenSource的,不必担心侵权:-)

本文将以集成TinyMCE为例进行讲解,毕竟集成它还是比较简单的:-)

本文将按照真实项目的方式来讲解,其中涉及到需求报告的形成、概要设计、详细设计、编码、测试、发布、维护等等阶段。

^_^看了上面的介绍是不是很兴奋?本文作者也想那样写,不过毕竟这是个人作品,没有太多的条条框框的束缚,能省的就省了:-)

本文将按照下面的步骤进行讲解:

程序界面构思及界面区域划分,根据界面区域划分,确定每个区域需要实现的功能

设计第二点中的功能(编写各种数据库元素,比如表单、视图、子表单、代理等)

集成TinyMCE

测试并发布

第一节程序界面构思及界面区域划分

为了能更好的表现完成后的作品,以及对其进行介绍,例库使用三个页面来表现:本数据库简介、编辑器演示和所有演示文档。

其中"本数据库简介"页面主要用来对本数据库进行介绍以及对TinyMCE进行一些简单的介绍,让使用者首先了解一些基本的内容;"编辑器演示"页面就是集成TinyMCE之后的页面,用以对其功能进行演示;"所有演示文档"页面用来显示所有保存的演示文档,任何人都可以对其进行编辑和删除。

界面基本上就是这三个页面,但是为了让例库更美观,需要加入网页设计中常用的Banner和Footer。Banner使用作者设计的图片,图中显示了编辑器一部分,可以直观的看出本数据库的用途,Footer部分主要是版权的显示。

构思好的界面以及区域划分见下图。

第二节子表单设计

经过规划好的界面,需要使用一种设计元素来表现出来,在DreamWeaver 等工具中,这个过程就是创建"页面",而在Domino中,页面的作用已经不是很大,表单承担起了几乎全部界面的表现和动态执行等工作,其实也可以理解,

因为在DreamWeaver中,页面里面是需要嵌入一个或者多个表单,这样的页面

才是"有生命"的页面。

在第一节中,已经将界面规划好了,共三个表单,每个表单分为三个部分:顶部的Banner,中间的内容部分、底部的Copyright部分。由于每个表单都有

顶部的Banner和底部的Copyright部分,所以这两部分可以做成一种通用的元素,在Domino中已经考虑到了这个需求,那就是:子表单。子表单可以在数据库标签里面的"共享代码"里面找到。

下面讲解建立子表单的过程。

要建立子表单,需要在数据库标签中展开"共享代码",然后单击其中的"子表单"项,之后在Designer右侧的视图中就显示出此数据库中已经存在的子表单,如果是新建的数据库,列表就是空的,单击列表上方的"新建子表单"按钮,Designer打开一个空白的子表单设计界面,我们可以在其中进行设计工作,下

面我们以建立用于表现顶部Banner部分的子表单为例来讲解。

顶部的Banner为了取得比较好的视觉效果,我们用图片来表现它,这时就需要使用我们掌握的HTML知识了,表现图片的HTML方式的代码如下:

上面代码中的jpg只是图片的一种类型,当然也可以换成其它类型,为了

让图片路径更简单,我们可以直接将图片放到数据库的资源里面,然后在需要

使用的地方就可以用"/数据库名/图片名"的方式来调用图片了,设计好的顶部Banner子表单(命名为"TopBanner")的界面如下图所示

图中的"ThisDB"域是一个"显示时计算"的域,计算公式为:

@WebDbName

就是取当前数据库的名称(带路径),然后加上斜线和图片名字,最后还要

将这行代码内置为HTML(选中要内置的行,然后选择菜单中的"文本"-"内置HTML"),都设计好之后,将子表单保存,然后关闭。

底部Footer部分的设计过程和Banner部分的类似,只不过使用了更复杂的HTML代码,用表格的形式来表现,设计好的footer部分的子表单如下图所示:

这样一来,表现顶部的Banner部分和底部的Footer部分的子表单就设计好了,如何在设计过程中使用子表单,请查看本文的"表单设计"一节(第三节)

第三节表单设计

上面第二节中讲过,在Domino的Web开发中,主要是使用表单来表现用户界面,本节就讲述表单的设计过程。

经过第二节的子表单的设计,一些通用的元素已经设计出来了,为了在表单中取得当前服务器的CGI信息,本例库中还设计了一个"CGI"子表单,用来取得CGI的值,首先将CGI子表单加入到表单中。

注意:某些域的放置顺序(表单的上面和下面)都有关系,注意将下面用到其值的域放在上面。

要建立表单,需要在左侧的数据库书签中找到表单分类,然后在右侧的表单列表中单击"新建表单"按钮,一个空白的表单就显示在Designer中,要将CGI子表单加入到表单中,需要单击菜单:创建--资源-插入子表单,然后在弹出的对话框中选择"CGI"子表单,如下图所示:

单击"确定"按钮,即可将子表单插入到表单中的光标位置,如果为了在设计界面中显示更多的其它元素,还可以将子表单做成计算类型的,那样就需要在"插入子表单"对话框中,选中对话框底部的"根据公式插入子表单"复选框,这样就不能用鼠标选定子表单来插入,而要先单击对话框中的"确定"按钮,然后在表单中显示的"计算子表单"上面单击一下,在下面的代码框中填写要插入的子表单的名字,如下图所示:

插入子表单后,还要进行表单功能以及界面的设计,这就需要用到基本的Web页面语言HTML了,还有就是要使用Domino本身的的设计元素来实现所需要的功能(比如用按钮来触发某个事件),为了让Domino服务器能正确解释我们输入的HTML代码,我们需要将输入的HTML代码内置为HTML(选中需要内置的

部分,选择菜单:文本--内HTML),这样Domino服务器就能正确按照我们所写

的代码来显示表单,下图为设计好的"HTMLFormAdv"表单(此表单用来实现"所见即所得"编辑器的功能)。

图中的HTML代码在此不做解释,因为在任何一本讲解Web开发的入门书籍中都有对它们的解释,下面主要讲解其中的Domino特有的设计元素:域和按钮。

Domino中的域有两种,一种是域名的域,还有另外一种域是用来输入或者

显示内容的域,也就是HTML语言中的input类型为文本的元素,本文主要讲解后一种域。

Domino中的域比HTML中的简单的文本输入框要复杂的多,它可以被设置

成各种类型(比如文本、密码、RTF、数值、单选按钮、复选按钮等等,可以通

过域的属性窗口进行调整),上图所示表单中的"Subject"域的属性窗口如下图

所示:

从图中可以看到,Domino的域可以设置将近20种类型,并且可以通过类

型右侧的下拉列表选择域是否可以输入还是使用计算方式显示。

本例库中的Subject域只是用来输入文档的标题,所以就只设置为"文本"

类型,并且可以编辑(也就是可以输入内容),并且默认值为空,也就是在用这

个表单新建文档的时候,这个域是空白的,如下图所示:

在标题域的下面,还有一个"yimingstudio"域,类型为RTF,可编辑类型,由于集成"所见即所得"编辑器需要一个HTML Area元素,而在Domino中只有RTF类型的域在Web中能自动转换成这种类型,所以我们把它作为"所见即所得"编辑器的载体,关于集成TinyMCE的讲解将在后面详细阐述,这个域的属性如下图所示:

HTML属性如下图所示:

按钮

Domino中的按钮和HTML中的功能相同,都是用来触发某些事件。不过Domino中的按钮使用起来更灵活一些,可以自由设定其显示效果,可以通过CSS来进行效果的调整等等。

本例库中的按钮分为两类:一类是在Web页面中能看到的按钮,一类是在Web页面中看不到的按钮。

[blockquote style="margin-right:0px;"dir="ltr"]

在Web中能看到的按钮

此类按钮用来在Web页面中来实现各种功能的提示以及执行事件之前的确认,比如在删除之前的确认,可见按钮的图片如下:

此表单共有三个可见按钮,用来实现对文档的操作(保存、编辑和删除),并且每个按钮都有不同的隐藏条件,因为按钮需要在文档的不同状态下显示(编辑状态和读状态);另外还需要为每个按钮编写相应的代码,才能让它在界面中显示出来,如果没有为按钮编写任何代码,在浏览器中将不会显示按钮。要设置按钮的隐藏条件,需要打开按钮属性对话框,并选择相应的标签,如下图所示:

上图是"编辑文档"按钮的属性窗口中的隐藏条件标签,从图中可以看出,只是勾选了几个复选框,就可以实现简单的隐藏,如果需要隐藏的元素有很多需要满足的条件,那就需要在下面的公式窗口中编写隐藏公式了,本文不对隐藏公式做介绍。图中勾选的意思就是当文档处于编辑状态时,隐藏编辑文档按钮,另外两个可见按钮的隐藏属性设置类似,不再赘述。

功能复杂的可见按钮有时需要得到用户确认才能继续执行,执行时一般是调用后台代理,而JavaScript代码调用代理很麻烦(要用到微软的XHTTP),所以就去调用页面中的不可见按钮,来达到执行代理的目的;功能简单的可见按钮就可以直接执行相关的公式来达到简化代码设计的目的("编辑文档"按钮就是直接使用公式来使文档转换到编辑状态),下图是"删除文档"按钮的代码,从中可以看到,要执行删除操作,需要先得到用户确认,然后才能继续执行删除。

代码中的document.all("deldoc").click();就是调用不可见按钮的代码,不可见按钮有个名称,在其属性窗口的最后一个标签中可以进行设置。

Web中看不到的按钮

在Web中看不到的按钮一般用来执行后台代理,达到操作文档的目的。可

见按钮将会调用相应的不可见按钮,来执行相关的代理,而在执行代理之前,

可以取得用户的确认(JavaScript代码就是设计用来在客户端执行确认操作的),由于不可见按钮都是通过DOM中的名称来调用的,所以需要设置其名称,要设

置其名称,需要打开其属性窗口,选择最后的一个HTML标签,如下图所示:

从图中可以看到,按钮执行的是"deldocument"代理,设置的名称为"deldoc"。

[/blockquote]

表单中其它内容

表单中的其它内容都是配合上面介绍的域和按钮而编写的HTML代码,主要作用是使表单中的各种元素显示的更美观一些,可以参照讲解HTML的书籍进行查看。

表单作为Domino的Web开发中的主要表现元素,其中的元素不外乎上面介绍的几种:域、按钮和HTML代码等,复杂的Web应用中,表单中的元素可能更多一些,但是对于入门的程序员来说,这些元素足够来构建常见的应用程序了。

下面的章节将介绍配合表单运行的"视图"、"代理"等元素,由于代理中要

使用相关的视图,所以视图和代理将放在一个章节中进行介绍。

第四节代理和视图设计

上一节中介绍的表单设计中,还有一部分没有介绍,因为涉及到了表单执

行动作所用的代码部分,本节进行介绍。

要保存录入的内容,只要单击页面中的"保存文档"按钮,为了让"保存按钮"能够在Web页面中显示出来并且执行正确的功能,需要为其编写代码,上一节

中看到的"删除文档"按钮的代码是JavaScript,保存按钮需要验证的内容更多,所以也用JavaScript来编写,查看脚本时会发现,只有一句话:

doSubmit();

这是什么意思呢?其实它执行的是一个函数,这个函数在表单的"JS Header"中编写,代码如下:

function doSubmit()

{

var objForm=document.forms[0];

if(objForm.Subject.value=="")

{

alert("请输入标题")

objForm.Subject.focus();

return false;

}

tinyMCE.triggerSave(true);

if(objForm.yimingstudio.value=="")

{

alert("请输入内容");

return false;

}

objForm.runagent.click();

}

这段代码的作用就是验证表单中的某些需要录入文字的地方是否为空,如

果为空,就提示用户录入,中间的tinyMCE.triggerSave(true);作用是调用TinyMCE的函数,来保存内容;最后的objForm.runagent.click();是执行保

存Domino文档的代码,它去执行了表单中一个不可见按钮的单击事件,按钮再去执行后台的代理。

我们来看看那个按钮的单击事件中的代码:

@Command([ToolsRunMacro];"savethis")

这个公式就是去执行本数据库中的"savethis"代理,要查看代理,需要打

开数据库的"共享代码"分类,然后单击其中的"代理"标签,右侧的视图中就会

显示出当前数据库中所有的代理。我们找到"savethis"代理,双击可以打开它,打开它的时候,Designer会自动打开代理属性对话框,如下图所示:

注意图片最下面的Runtime分类里的"Target"下拉列表,在新建代理的时候,默认是"All Selected Documents",需要修改成"none",否则执行代理的

时候会报告一个运行时错误。

如果代理被设计用来定时或定期执行,就需要在"Trigger"(触发)单选框中选择"On schedule"选项,然后在下面选择对应的选项,在此不再做深入介绍,有兴趣的可以自行试验。

代理属性窗口中还有一个"Security"标签(就是一个小钥匙的那个),可以

用来设置运行代理的权限,如下图所示:

为了能使代理为很多登录Domino服务器的用户服务,我们可以勾选"Run

as web user"复选框,这样就不只是签名代理的用户能运行此代理了,这个代

理设计时允许所有用户都可以运行它(包括匿名用户:Anonymous),所以不必勾选此项;下面还有一个下拉列表框:Set runtime security level:",这个选项用来控制当前用户是否可以执行某些限制性的操作,比如删除文档和编辑文

档,共分为三个等级,第一级是最安全的,但是在使用的时候有些不太方便,第三个级别权限最大,相应来说也最不安全,但是在局域网的条件下,可以选用第三个选项来获得更多的易操作性。

下面分析一下代理的代码,看看代理都执行了哪些操作来保存文档,代码如下:

(Options)部分:

Option Public Option Declare

此部分代码的第一行是新建代理时Designer自动创建的,第二行是自行添加的,作用是:在编写程序时必须先声明变量,然后才能使用变量,否则编译时报错。

Initialize部分:

Sub Initialize On Error Goto handle_error Dim vWebSession As New notessession Dim vThisDatabase As notesdatabase Dim vThisDocument As notesdocument Dim vRichStyle As NotesRichTextStyle Dim vRTItem As Variant Dim vHTMLCode As Variant Set

vThisDatabase=vWebSession.CurrentDatabase Set

vThisDocument=vWebSession.DocumentContext Set

vRichStyle=vWebSession.CreateRichTextStyle

vRichStyle.PassThruHTML=True Set

vRTItem=vThisDocument.GetFirstItem("yimingstudio")

If(vRTItem.Type=RICHTEXT)Then

vHTMLCode=vRTItem.GetUnFormattedText()

Call vThisDocument.RemoveItem("yimingstudio")

Set vRTItem=vThisDocument.CreateRichTextItem("yimingstudio")

Call vRTitem.AppendStyle(vRichStyle)

Call vRTitem.AppendText(vHTMLCode)

End If vThisDocument.form="HTMLFormAdv"

Call vThisDocument.Save(True,True)

Print|[script

language="javascript"]|[br/]Print|window.location="[a

href="color="#808000"]color="#808000"]|+vThisDocument.WebDBName(0)+|/ all/|+Cstr(vThisDocument.Universa

lID)+|?opendocument"|[br/]Print|[/script]|

Exit Sub handle_error:

Exit Sub End Sub

此部分是整个代理的主体部分,几乎所有的功能都要在这里实现,这段代

码的主要功能是保存当前用户录入的内容,将其保存为一个Domino文档,并且保留了编辑器中的各种格式。

要实现上述功能,其实只需要对当前表单中的一个RTF类型的域进行操作

即可实现,从代码中可以看出,主要就是围绕着那个名字为"yimingstudio"的RTF域来进行操作:

1.从当前表单中找到这个域,然后判断其是否为RTF类型

2.如果是RTF类型,就先把其中的内容和格式先赋到变量中,然后将其删

3.再新建一个同名的RTF域,再把变量中保存的内容和格式赋给此域

至于RTF域为何进行如此复杂的操作,笔者也不太清楚(板砖的不要:-)),只是从邮件模板中看到了此种方法,并且屡试不爽,于是借鉴了一下(看来需要好好研究一下邮件模板了)。

在操作完RTF域之后,就需要把当前表单保存为一个文档了,调用了document的save函数来完成保存。

后面的print部分是将浏览器页面转到刚刚保存的文档的页面,并使其在只读状态下打开;最后的"handle_error:"标签是错误处理部分。

这个代理的内容比较简单,涉及到的操作也不是很多,我们来看看"删除文档"按钮所执行的代理,这个代理更具有代表性。

之所以说删除文档的代理具有代表性,是因为它涉及到了代理的安全性,还有针对视图和文档的操作,这些内容在一个稍微复杂一些的应用中是很常见的操作,删除文档代理的属性窗口的"Security"标签如下图所示:

为了能让Anonymous(匿名用户)删除文档,我们就需要对"deldocument"代理进行安全性设置,并且调整其安全级别为2级,这样一来,在删除文档的时候就不会提示"无权进行此操作"了,代理的"Initialize"部分的代码如下:

Sub Initialize Dim session As New NotesSession Dim db As NotesDatabase Dim note As NotesDocument Dim view As NotesView Dim docunid As String Dim doc4del As NotesDocument Set

db=session.CurrentDatabase Set note=session.DocumentContext Set

view=db.GetView("all4del")

docunid=note.UniversalID Set

doc4del=view.GetDocumentByKey(docunid)

If Not(doc4del Is Nothing)Then Call doc4del.Remove(True)

End If Print|[script language="javascript"]|

Print|window.location="+note.Server_Name(0)+|:

|+note.Server_Port(0)+|/|+note.WebDBName(0)+|/AllDoc?openform";|

Print|[/script]|

End Sub

为了删除当前文档,需要在后台找到它来删除,如果直接删除当前文档(documentcontext)的话,会得到一个运行时错误:不能删除当前文档。这样一来,只能从后台来执行删除操作。要找到这个文档,还需要了解一下Domino各种元素的包含关系:数据库中包含视图,视图中包含文档。这也就给我们指明了找到文档的方法,需要先找到包含文档的数据库(当前session的当前数据库),当前数据库中包含当前文档的视图(此视图的选择条件需要包含创建此文档的表单的名字,稍后进行讲解),然后就能找到文档了。

对应到上面的代码里面,大家可以依次看到上述的包含关系,找到当前文档的方法使用了N种方法中的一种:Set

doc4del=view.GetDocumentByKey(docunid),通过文档的UNID来搜索文档,由于每个文档有一个唯一的UNID,所以找到它并不困难,找到文档后,就对其进行删除操作:Call doc4del.Remove(True),使用了文档的Remove函数。

最后的print部分和上面的保存代理类似,还是将浏览器的页面转到另外的URL。

在使用上面的GetDocumentByKey(docunid)函数的时候,需要注意一个问题,那就是对视图的要求,在GetDocumentByKey(docunid)函数的帮助文档的描述中,可以知道:为了让这个函数正常工作,需要视图满足下列要求:

第一列为函数参数所要求的内容

第一列为排序列,升序降序随意

所以在设计视图时,就需要根据上面的两个条件进行设计,设计好的视图如下图所示:

由图中可以看出,第一列的值是一个公式:@Text(@DocumentUniqueID),将文档的UNID转换为普通文本(如果只是文档的UNID,将不会显示任何文字,需要特别注意),并且此列设置了升序排序,这样就符合了代理中的GetDocumentByKey(docunid)函数的要求,可以直接用当前文档的UNID来找到文档了。

本节简要介绍了例库中的两个代理及其属性设置,可见还是比较简单的,

在复杂的应用中,代理的代码量可能很大,但是基本操作不过如此,只是逻辑

更加复杂而已,只要业务精通,几乎可以实现任何逻辑。

下一节将介绍此例库的重点:集成"所见即所得"编辑器,以TinyMCE为例

进行讲解。

第五节集成TinyMCE

本文前面介绍过TinyMCE,还有另外一种方案是使用FCKEditor,但由于FCKEditor的"体积"比TinyMCE庞大很多,并且TinyMCE的功能也在逐步完善,故而本文采用集成TinyMCE的方式来实现web上的"所见即所得"编辑器。

TinyMCE是一个软件包,其中包含了界面显示所需的图片以及JavaScript

和HTML文件等,可以从https://www.doczj.com/doc/4518571739.html,上找到TinyMCE项目并下载,下载的是一个压缩包,将压缩包解压缩之后,就可以看到其目录结构了,如下图所示:

其中有一个"examples"目录,里面有三个.htm文件,打开任意一个,就可

以看到TinyMCE的庐山真面目了。在页面顶端还有其它集成方式的链接,单击

后可看到相应的效果。由各种效果中可以看到,Advanced方式提供的功能更多,并且可以对其工具条中的按钮进行定制,所以本例库就采用Advanced方式来集成它。

要将其集成到Domino中,还要看一下HTML页面中的实现方式,因为最后

在Domino中实现后也是要在浏览器中显示。用记事本打开Advanced方式的那个.htm文件,查看它的HTML代码,可以看到代码并不复杂,开始处引用了TinyMCE的一个JavaScript文件,紧接着是一段脚本,脚本中定义了几个JS

函数,最开始的tinyMCE.init就是初始化TinyMCE编辑器的代码,后面的函数以备表单载入后使用,JS脚本如下图所示:

余下的代码是标准的HTML代码,主要作用是在页面中构建textarea,以

备TinyMCE使用,代码如下图所示:

由上面的代码可以看到,要使TinyMCE编辑器工作,需要引入它的JavaScript文件,并编写对其初始化的代码,然后在页面中准备好TinyMCE要

使用的textarea元素就可以了。那么在Domino中如何实现引入文件和进行初

始化呢?这需要对Domino中使用文件的方式有一定了解。

要在Domino的表单中引入文件,有两种方式可以选择:

将文件放在Domino服务器的data目录中的domino目录里面的html目录

将文件直接存放在Domino数据库中

两种方式各有优缺点:放在html目录中的方式,可有效减小Domino数据

库的大小,但是在发布时,需要注意将html目录中相应的文件也拷贝到发布到的服务器的html目录中,如果忘记了拷贝,应用将不会正常运行;将文件直接存放在Domino数据库中,会减少发布时的繁琐,但是相应增加了Domino数据

库的大小。

权衡两种方式,为了发布时方便一些,本例库采用直接存放到Domino数据库中的方式。要将文件存放到Domino数据库中,需要用Designer打开数据库,找到Shared Resources分类中的Files分类,选择它之后,右侧的视图将显示当前数据库中已经存在的文件资源。要将文件添加到Files分类下面,需要单

击列表上面的New File Resource按钮,之后会弹出一个用来选择文件的对话框,可以选择多个文件,找到要添加的文件后,单击对话框中的Open按钮,稍候文件就保存到了Domino数据库中。

在集成TinyMCE时,需要注意一点:要保持存放到Domino数据库中的相关文件的"目录"结构不变,要做到保持原目录不变,需要将已经添加到Domino数据库中的文件改名,要给文件改名,可双击文件列表中需要修改名称的文件,

弹出文件属性窗口,在其名称前加上相应的目录名即可,如果要把a.htm文件

改动到相应的bb目录下面,则可将文件名称修改成这样:

bb/a.htm

当然在修改时还需要细心一点,不要搞错了名称,在使用的时候也要注意

添加文件的文件的"目录",否则将不会正常工作。将文件保存到Domino数据库中之后的列表如下图所示:

并不是所有的文件都要放到Files分类下面,比如CSS文件就可以直接放

到Style Sheets分类下面,图片放到Images分类下面,具体的操作方法和文

件类似,可以试验一下。还要强调的一点是所有的文件都要更改一下名字,以

便适应原目录层次。

将所有文件存放到Domino数据库中之后,就可以开始在要使用它们的页面中进行设计了。

前面介绍过,在Domino中,在Web中执行各种功能的主要设计元素是表单,接下来就拿前面介绍的表单为例来讲解如何使用TinyMCE。

前面的Advanced方式的那个演示页面中已经非常清楚的写出了实现方法:

*引入JavaScript文件

*初始化TinyMCE

在表单中要引入JavaScript文件,有两种方式:

*在表单的HTML Header Content中写下面的公式:

*直接在表单中写相应的HTML代码,就和Advanced方式的演示页面中的代码那样

以上两种方式所达到的效果完全一样,可根据个人喜好进行选择,本例库

采用了第一种方法,在表单的HTML Header Content中编写公式。

上面的代码中也同样要注意目录问题,如果目录写错,文件不被引入,并

且没有错误提示,相应的功能也不会正常工作。接下来的就是TinyMCE的初始

化了,具体的初始化代码可参考TinyMCE的说明文件,其中详细讲解了使用TinyMCE的方式及方法,本例库使用替换textarea的方式,并且对工具条中的

按钮进行定制,从而只显示常用的按钮,初始化TinyMCE的代码如下图所示:

上述代码放在表单的JS Header中,每次打开表单都会将相应的textarea

转换成所见即所得编辑器。关于定制工具条中的按钮的方法,可参考TinyMCE

的说明文件,本文不再赘述。

为了配合TinyMCE替换textarea的方式,还需要在表单中创建一个RTF域,Domino中的RTF域在浏览器中显示时就变成了HTML代码中的textarea了。

至此,所有准备工作均已完成,在浏览器中打开此表单时,就可以在其中

显示一个"所见即所得"的编辑器了,效果如下图所示:

上图是经过美化过的页面,比如将编辑器置于表格中,使用CSS等。具体

到各种元素使用了何种效果请打开表单逐一查看。

上面所示的过程已经将TinyMCE集成到了Domino的表单中,如何去保存所录入的内容呢?签名的"表单设计(加链接)"一节中的可见按钮(保存文档)就是用来保存所录入及修改的内容的按钮,其中有一句关于TinyMCE的代码:

注意词句代码应放在处理RTF域的代码之前,否则内容将不会保存,另外

一个需要注意的是triggerSave函数的参数,没有参数的triggerSave函数也

是可以使用的,不过存在一个问题,那就是在编辑器中文字的所有格式(如字体大小等)都丢失,在TinyMCE的说明文件中可以找到解决办法,那就是加true

参数,经过试验,使用true参数后,所有的格式都保留了下来。

至此,web上的所见即所得编辑器就制作完成了,为保证应用的美观,还

要对需要在浏览器中"抛头露面"的设计元素进行修饰(比如使用CSS,表格等);同时为了保证应用在发布的时候不产生问题,还需要对其在开发服务器环境中

进行测试,经过美化及测试后的应用,就可以发布到应用服务器中供用户使用了。

/

后记

本文讲解了如何使用Domino数据库构建web上的所见即所得编辑器的全过程,由文可知,只要对Domino平台稍加熟悉,再仔细研究一下所要实现的功能,并找出实现的最佳方案(比如集成一种成熟的产品),就可以设计出较好的应用了。

最后说一句,也是一句古话:师父领进门,修行在个人。只要自己多动手,多思考,就可以一步步向高手迈进。

欢迎各位进入Domino精彩的世界,祝愿各位读者早日成为Notes高手。

特别声明:

1:资料来源于互联网,版权归属原作者

2:资料内容属于网络意见,与本账号立场无关

3:如有侵权,请告知,立即删除。

数据库课程设计完整版

数据库课程设计完 整版

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统姓名: 学号: 专业:信息与计算科学指导教师:

20年 12月1日 目录 引言3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要5 1.4软件处理对象 6 1.5系统可行性分析6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7

1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20 引言

学生宿舍管理系统对于一个学校来说是必不可少的组成部分。当前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强能够接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,而且具备修改功能,能够快速的查询学校所需的住宿信息。 面对当前学校发展的实际状况,我们经过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

数据库设计说明书(文档格式)

数据库设计说明书 1. 引言 1.1 编写目的 阐明编写本数据库设计说明书的目的,指出读者对象。 1.2 项目背景 列出本项目的委托单位、开发单位和主管部门,说明该数据库系统与其他系统的关系。 1.3 定义 列出本文档中所用到的专门术语的定义和缩写词的原意。 1.4 参考资料 列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源。包括本项目经核准的计划任务书、合同或上级机关的批文,项目开发计划,需求规格说明书,本文档需要引用的论文、著作,需要采用的标准、规范。 2. 外部设计 2.1 标识 列出用于标识该数据库的编码、名称、标识符或标号,并给出附加的描述性信息。如果该数据库是在实验中的或是暂时性的,则要说明其暂时性和有效期。 2.2 约定 叙述使用该数据库所必须了解的建立标号、标识的有关约定。例如用于标识库内各个文卷、记录、数据项的命名约定等。

2.3 使用该数据库的软件 列出将要使用或访问该数据库的所有软件。 2.4 支撑软件 叙述与此数据库有关的支撑软件,如数据库管理系统、存储定位程序等。概要说明这些支撑软件的名称、功能及为使用这些支撑软件所需的操作命令。列出这些支撑软件的有关资料。 2.5 专门说明 为此数据库的生成、测试、操作和维护的相关人员提供专门的说明。 3. 结构设计 3.1 概念结构设计 说明数据库的用户视图,即反映现实世界中的实体、属性和它们之间关系的原始数据形式,包括各数据项、记录、文卷的标识符、定义、类型、度量单位和值域。可使用ER图。 3.2 逻辑结构设计 说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括记录、段的编排,记录、段之间的关系及存取方法等,形成本数据库的管理员视图。 3.3 物理结构设计 建立系统程序员视图,包括: (1) 数据在内存中的安排,包括索引区、缓冲区的设计。 (2) 所使用的外存设备及外存之间的组织,包括索引区、数据块的组织 与划分。 (3) 访问数据的方式方法。

数据库课程设计完整版

HUNAN CITY UNIVERSITY 数据库系统课程设计设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日 目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7

1.7系统业务流程及具体功能 7 8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20 参考文献 20 引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了

数据库设计参考实例

需求分析 (2) 1功能需求 (2) 2数据字典 (2) 3数据流图构建 (5) 系统数据库的逻辑结构设计 (6) 根据该网上书店的具体情况,调查管理业务流程是顺着系统信息流动的过程逐步地进行,内容包括各环节的业务处理、信息来源、处理方法、计算方法、信息流经去向、信息提供的时间和形态(报告、单据等)。本系统的最大特色,数据挖掘在业务流程中清晰可见。我们可以通过对数据库中用户购买信息的关联分析。进行数据挖掘。这是数据挖掘技术在网上书店中最有价值的体现之一。 系统业务流图描述如下: (1)用户在线更新购物车:用户在登陆成功后,通过图书查询,添加图书到购物车后,根据图书编号自动在数据仓库中的图书挖掘信息中寻找与图书关联的图书编号。 (2)用户在线下达图书订单:用户在添加购物车后,确定购物车的书籍及数量后,填写相应的订单信息,确定所填写的订单信息无误后,系统将产生此次订单的编号,完成在线下达订单。 (3)管理员订单处理:管理登陆成功后,会对未处理订单进行处理,处理成功后,向顾客发货。 (4)销售分析处理:通过对图书信息查询,统计图书销售情况。 (5)图书数据挖掘处理:通过对订单处理,创建图书数据仓库,进行图书数据挖掘找出图书之间的潜在关联。 本网站可分为前台管理和后台管理两部分:前台系统功能模块分为:商品展示模块、用户登录、购物车、自服务等模块。后台管理主要包括:商品管理、订单管理、会员管理、类别管理、用户留言管理,产品销售分析等。网上书店功能模块如图3-1所示: 图3-1网上书店功能模块图 前台各主模块的详细功能如下: (1)最新上架模块:展示出最新上市的图书供用户选择。 (2)特价书展示模块:展示出了一些特价图书。 (3)商品查询模块:包括模糊查询模块,和书的类别查询模块。 (4)用户登录\注册模块:用户登录、注册。 (5)商品详细信息展示模块:包括图书详细信息模块。 (6)购物车展示模块:包括已选购商品模块、推荐商品模块。当添加商品到购物车时,会在推荐商品模块中看到本系统为购物者推荐的商品。 (7)自服务展示模块:我的订单模块、个人信息模块。订单模块可以查看订单的状态,和订单的信息。通过个人信息模块可以修改自己信息。 (8)用户评论模块:用户对图书的评论。 后台主模块的功能如下: (1)类别管理:该模块对图书的类别进行添加、删除、修改 (2)商品管理:该模块主要对书籍进行增加、删除、修改管理 (3)订单管理:该模块对客户的订单进行管理,如出库订单。 (4)用户管理:该模块对会员信息进行增加、删除、修改。 (5)销售情况查询:该模块可以查询排行前十的图书信息。 (6)图书挖掘分析:通过对订单的分析,得出最优的匹配方案和相应的决

计算机科学与技术毕业论文

毕业设计(论文) 课题名称在线考试系统的设计与研发 姓名XXX 学号XXXXXXX 专业计算机科学与技术 摘要 随着计算机网络技术及相关技术的不断发展,考试的手段和媒介也在发生着巨大的变化,传统的考试方式和手段正面临着强烈的冲击。计算机网络技术应用于教育领域,经历了从传统的纸笔考试到计算机辅助考试,再到实现了真正的无纸化考试。在线式考试不仅可以节省大量的人力、物力,还可以提高考试的效率和质量,降低考试成本,使得网络考试不受时间和空间的限制,并且评测结果更为准确和客观。 将“在线考试系统”作为设计题目主要是为了把教师从传统的卷纸考试的工作中解脱出来,把学生从传统的学习方式中解脱出来。 “考试系统”主要由两个部分组成,分别是:“前台的网页设计”和“后台的题库系统服务”。该系统所能实现的主要模块功能,包括学生信息管理、管理员信息管理、考试科目管理、题库管理、自动组卷、在线考试、自动阅卷、学生成绩管理等功能。 本系统采用ASP语言进行开发,集题库管理,在线考试,实时评判于一体,本文分析了计算机考试系统的关键技术以及存在的问题。提出了实现该系统的体系结

构,软件功能模块等,系统通过提高考试的效率,增强测试的反馈效果,使教师的教与学生的学更有针对性。 本系统速度快、稳定性强,为学生课程学习、个性化学习提供了灵活、方便、科学的检测手段,经过测试,该系统达到了预期的设计目标,非常适合于学校的考试工作。 关键词:在线考试; ASP技术; 数据库开发和应用; 随机生成试卷; 目录 摘要................................................................ 关键词: ............................................................ 绪论 ................................................................ 1系统实现的关键技术................................................. 1.1ASP技术......................................................... 1.2数据库技术....................................................... 1.2.1数据库技术概述................................................. 1.2.2ADO与数据库的交互技术......................................... 2系统分析........................................................... 2.1分析.............................................................

学校专业数据库设计说明书

××××学院 ××专业数据库设计报告 题目:数据库设计说明书

目录 一、需求分析 (2) 二、概念设计 (3) 三、逻辑结构设计................................................................ 4-12 3-1表设计 ...................................................................... 4-7 3-2建表语句................................................................. 7-12 3-3关系图 .. (13) 四、数据导入 ............................................................... 13-14 五、数据库应用 (13) 5-1登陆模块 (14) 5-2排课模块 (14) 5-3选课模块 (14) 5-4信息查询模块 (14) 5-5功能结构图 (14) 六、总结 (15)

一、需求分析 本数据库为教务管理系统,主要是针对学校教学管理方面而设计的。学校教务处因为工作需要,必须对每个班的信息,学生的信息,教师的信息,专业信息有一定的了解,并以此为基础来安排课程。安排课程必须根据学校的软硬件设施来安排,所以要考虑到每门课程的上课时间、地点、人数,避免上课地点的冲突,还要安排特定的老师上课。学期结束后,还要记录学生的分数,以此作为下个学期的教学安排依据。 根据上述的初始条件和对本学校的调研考察,设计一个教务管理的数据库:记录教师和学生的基本信息,选课,课程安排等信息,方便老师,同学等用户对数据库的查询,修改等操作。尽量使数据库高效,存储简单。 以下为所附数据流图:

数据库设计的基本步骤

数据库设计的基本步骤 一、数据库设计的生存期 按照规范设计的方法,考虑到数据库及其应用系统开发的全过程,将数据库 设计分为六个阶段。如下图。 ① 需求分析 需求收集和分析, 需求。 ② 概念结构设计 对需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型(用 E-R 图表示)。 ③ 逻辑结构设计 将概念结构转换为某个DBMS 所支持的数据模型(例如关系模型),并对其 进行优化。 ④ 物理结构设计 为逻辑数据模型选取一个最适合应用环境的物理结构 (包括存储结构和存取 方法)。 ⑤ 数据库实施 需求A 祈断段 T 1 概念设计阶段 i 逻辑 q 丰计阶段 1 物理. 1 殳计阶段 j 数据E L 支实施阶段 数据库运荷? 维护阶段 得到用数据字典描述的数据需求,用数据流图描述的处理

运用DBMS 提供的数据语言(例如 SQL )及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 ⑥数据库运行和维护 数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。 说明:设计一个完善的数据库应用系统是不可能一蹴而就的,它往往是上述 六个阶段的不断反复。 二、数据库设计阶段的内容 设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程。下面针对各阶段的设计内容给出各阶段的设计描述。如下图。 阶段 濮块结构) 三、数据库设计阶段的模式 数据库结构设计的不同阶段形成数据库的各级模式,如下图 需求数据字睦、全系统中数据项、 分析數据證、数据存储的描述 数1E流图和判定我(利宦 闕)、数据字典中处理过程的 描述 设计 概念模型〔E?兄图) 模块设计 IPO表 编写模武装入 数JE 实施数揭库试 运行阶段 Create … L o豆恋■?. 程序编码 编译联结 测试 Tlain () * ■ A if???then ■■ i HUl 数据宇典 系窥说朋书包括: ①新系统要求、 方案和概图 ②反映新系统信息 流的数据流图 方法选择物理 存取路径建立设计

学生数据库设计实例

学生成绩管理系统 目录一:需求分析 二:系统功能描述 三:E-R图 四:数据库逻辑结构设计 五:数据库物理设计 六:代码设计 七:SQL代码 八:界面截图 一:需求分析: 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,对学生成绩信息的管理难度随之增大。面队如此庞大的信息量,这就需要学生成绩管理信息系统来提高学生管理工作的效率。通过这样的系统,做到信

息的规范管理、科学统计以及快速的查询和修改,从而减少管理方面的工作量。总体任务是要实现学生成绩信息关系的系统化、规范化和自动化。根据总体任务的要求进行需求分析得出,学生成绩管理信息系统需要完成的功能主要如下:学生基本信息的输入,其中包括学生学号、姓名、性别、所属学院,所属系别,所属班级、出生年月、籍贯、宿舍、联系方式等。 学校基本课程信息的输入,包括课程编号、课程名称、课程属性、课程描述以及完成该课程所得的学分。 教师基本信息的输入,其中包括教师编号,教师姓名,教师职称,所教课程,所教班级等情况 学生信息,教师信息,课程信息,学生考试成绩的插入,删除,修改、查询和统计。 识别每个用户的身份和密码,从而保证信息的安全性,防止信息的外泄和盗用。 还有,涉及到信息的增,删,改的,主要都是面向教务管理员,教师只能录入成绩,查询成绩,修改成绩,和查询个人信息,而学生只能登录查看自己的信息,查询成绩等。 二:系统功能描述 教务处(管理员) 教师学生

三:E-R图(概念结构建立)1)学生查询系统的分E-R图

2)教师查询更新系统的分E-R图 3)管理员分E-R图

C++课程设计简易文本编辑器

目录 第一章课程设计目的和要求 (1) 1.1课程设计的目 (1) 1.2基本要求 (1) 第二章课程设计任务内容 (2) 2.1设计背景 (2) 2.2简易文本编辑器设计内容 (2) 第三章详细设计 (3) 3.1总体结构图 (3) 3.2函数分析 (3) 3.3主函数程序流程图 (4) 3.4子函数流程图 (5) 第四章程序编码与调试 (7) 4.1程序编码 (7) 4.2编码调试 (8) 4.3运行结果 (9) 第五章课程设计心得与体会 (11) 附录1 参考文献 (12) 附录2 源程序代码 (13)

第一章课程设计目的和要求 C语言课程设计是一门实践性非常强的课程,不但要注重c语言程序设计基本知识的学习,更要注重程序设计技能的培养,使学生能够允许渐进地把握c语言程序设计的技能。通过课程设计,培养学生阅读和编写程序的能力,培养计算机程序设计的能力和素质,以及思维方法。初步积累编程经验,打下良好的计算机应用基础。 1.1课程设计的目 1.通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力, 能更好的巩固《c语言程序设计》课程学习的内容 2.掌握工程软件设计的基本方法,强化上级动手编程能力,闯过理论与实践相 结合的难关!更加了解了c语言的好处和其可用性。 3.掌握基本的程序设计过程和技巧,掌握基本的分析问题合理性,通过计算机 求解问题的能力,具备初步的高级语言程设计能力。为后续个门计算机课程 的学习和毕业设计打下结实基础。 4.通过c语言课程设计,使学生了解高级程序设计语言的结构。 1.2 基本要求 1.基本要求: ①要求用VC中的MFC控件打开和保存文件。 ②要求在设计的程序中至少能完成六种编辑功能。 ③完成的程序界面要美观,能够完成六种编辑的全过程。 2.创新要求: ①在记事本中增加工具栏,工具栏中应有常使用的工具按钮; ②在记事本中增加状态栏;

数据库设计说明书-完整版

数据库设计说明书-完整版

目录 第一章引言 (1) 1.1编写目的 1 1.2背景 1 1.3参考资料 2 第二章外部设计 (3) 2.1标识符和状态 3 2.2命名约定 3 2.3设计约定 3 第三章结构设计 (4) 3.1概念结构设计 4 3.1.1实体和属性的定义 4 3.1.2设计局部ER模式

13 3.1.3设计全局ER模式 20 3.2逻辑结构设计 21 3.2.1模式 21 3.2.2外模式 32 3.3物理结构设计 32 第四章运用设计 (34) 4.1数据字典设计 34 4.2安全保密设计 34 4.3数据库实施 34 4.3.1创建数据库 34 4.3.2创建表 34

第一章引言 1.1编写目的 1、本数据库设计说明书是关于寝室管理系统数据库设计,主要包括数据逻辑结构设计、数据字典以及运行环境、安全设计等。 2、本数据库设计说明书读者:用户、系统设计人员、系统测试人员、系统维护 人员。 3、本数据库设计说明书是根据系统需求分析设计所编写的。 4、本系统说明书为开发软件提供了一定基础。 1.2背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,然而在计算机应用普及以前我国大部分高校的学生信息管理仅靠人工进行管理和操作,这种管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。正因为如此,学生宿舍管理系统成为了学生管理不可缺少的部分,它的内容对于学校的管理者来说都至关重要,所以学生宿舍管理系统应该能

完整word版,数据库课程设计总结,推荐文档

数据库课程设计总结 数据库课程设计个人总结 姓名:邢王秀学号:201624101215 班级:09计本班 一个月的时间非常快就过去了,这一个月我不敢说自 己有多大的进步,获得了多少知识,但起码是了解了项目开 发的部分过程。虽说上过数据库相关的课程,但是没有亲身 经历过相关的设计工作细节。这次课程设计给我提供了一个 很好的机会。 通过这次课程设计发现这其中需要的很多知识我们没 有接触过,上网查找资料的时候发现我们以前所学到的仅仅 是皮毛,还有很多需要我们掌握的东西我们根本不知道。同 时也发现有很多已经学过的东西我们没有理解到位,不能灵 活运用于实际,不能很好的用来解决问题,这就需要自己不 断的大量的实践,通过不断的自学,不断地发现问题,思考 问题,进而解决问题。在这个过程中我们将深刻理解所学知 识,同时也可以学到不少很实用的东西。 这次的数据库课程设计,我们组负责的企业信息文档 管理系统的设计。这课题是自拟的。我们组实行的分工合作。我主要是负责数据库功能模块设计这部分。 从各种文档的阅读到需求分析、概要设计、数据库总 体设计、代码编写与调试,我们都准备了好长时间。组内分

工合作的整个过程,我亲身体验了一回系统的设计开发过 程,分工合作的好处。很多东西书上写的很清楚,貌似看着 也很简单,思路非常清晰。但真正需要自己想办法去设计一 个系统的时候才发现其中的难度。经常做到后面突 然就发现自己一开始的设计有问题,然后又回去翻工, 在各种反复中不断完善自己的想法。 我想有这样的问题不止我一个,事后想想是一开始着 手做的时候下手过于轻快,或者说是根本不了解自己要做的 这个系统是给谁用的。因为没有事先做过仔细的用户调查, 不知道整个业务的流程,也不知道用户需要什么功能就忙着 开发,这是作为设计开发人员需要特别警惕避免的,不然会 给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重 来。所以以后的课程设计要特别注意这一块的设计。 经过组内讨论,我们确定的课题是企业信息文档管理 系统。说实话,我对这个系统不是很了解。通过上网查找资 料、相关文献的阅读,我对该系统有了大体的了解。 在需求分析过程中,我们通过上网查资料,去图书馆 查阅相关资料,结合我们的生活经验,根据可行性研究的结 果和用户的需要,分析现有情况及问题。在一个月的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间 遇到很多问题,经过组内讨论。最终把它解决了。通过这次 课程设计,我对数据库的设计更加熟练了。

在线考试系统毕业论文

在线考试系统 摘要 随着计算机网络技术及相关技术的不断发展,考试的手段和媒介也在发生着巨大的变化,传统的考试方式和手段正面临着强烈的冲击。计算机网络技术应用于教育领域,经历了从传统的纸笔考试到计算机辅助考试,再到实现了真正的无纸化考试。在线式考试不仅可以节省大量的人力、物力,还可以提高考试的效率和质量,降低考试成本,使得网络考试不受时间和空间的限制,并且评测结果更为准确和客观。 将“在线考试系统”作为设计题目主要是为了把教师从传统的卷纸考试的工作中解脱出来,把学生从传统的学习方式中解脱出来。 “考试系统”主要由两个部分组成,分别是:“前台的网页设计”和“后台的题库系统服务”。该系统所能实现的主要模块功能,包括学生信息管理、管理员信息管理、考试科目管理、题库管理、自动组卷、在线考试、自动阅卷、学生成绩管理等功能。 本系统采用ASP语言进行开发,集题库管理,在线考试,实时评判于一体,本文分析了计算机考试系统的关键技术以及存在的问题。提出了实现该系统的体系结构,软件功能模块等,系统通过提高考试的效率,增强测试的反馈效果,使教师的教与学生的学更有针对性。 本系统速度快、稳定性强,为学生课程学习、个性化学习提供了灵活、方便、科学的检测手段,经过测试,该系统达到了预期的设计目标,非常适合于学校的考试工作。 关键词:在线考试; ASP技术; 数据库开发和应用; 随机生成试卷; 目录 摘要1 关键词:1 绪论2

1系统实现的关键技术3 1.1ASP技术3 1.2数据库技术4 1.2.1数据库技术概述4 1.2.2ADO与数据库的交互技术5 2系统分析6 2.1分析6 2.1.1条件的可行性6 2.1.2技术的可行性6 2.1.3经济上的可行性6 2.1.4考试系统的实用性6 2.2系统构架与开发环境6 2.2.1确定系统的构架6 2.2.2选择开发环境7 2.3系统需求分析7 3数据库分析与设计8 3.1数据流程分析8 3.2数据库概念设计9 3.3数据库逻辑设计9 4系统设计与实现10 4.1总体设计10 4.2模块的详细设计11 4.2.1管理员子系统11 4.2.2学生管理子系统13 5系统测试14 5.1测试内容14 5.3测试总结15 6结论15 参考文献15 致谢错误!未定义书签。 绪论 随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,其中之一是教师如何通过网络了解学生的学习状况。为此,配合传统课堂教学而建立的在线考试系统就显得相当必要。传统的考试都是采用纸、笔为介质的手工考试方式,即使在目前的高等学校,这种方式仍然被广泛使用。随着考试类型的不断增加和考试要求的不断提高,教师的工作量将随之增大。同时,一次考试的反馈能力弱,试题选择随意性大,人为因素明显,且考试时间地点必须固定。因此,传统的考试方式己经不能完全适应现代考试的需要。 随着人们对网络的科学性和广泛性的理解与加深,人们越来越重视考试系统的重要

数据库设计说明书.doc

四川省山桐子能源科技有限责任公司 数 据库设计说明书 2013-5-20 第六小组成员 数据库设计说明书 1 引言 1.1 目的 为了有效指导山桐子能源网站系统数据库的设计,特设计此概要设计说明该网站数据库所含有的各数据表及其机构,以作为系统开发实现的依据,本说明书主要阅读对象为业主方、承建方、监理方相关技术人员和项目责任人。 1.2 背景 说明: a.数据库名称shantz 开发软件sql2005 b.任务提出者:山桐子科技能源有限责任公司 c.目负责人:张林鹏 d.者:赵霞、杨露、陈齐瑜、冯明华、张林鹏、胡芸儿 本系统将使用sql server 2005作为数据库存储系统,sql server 2000企业版将由山桐子公司自行购买。 1.3 定义 该文档也需要将本文档中所涉及的所有术语、缩略语进行详细的定义。还有一种可简明的做法,就是维护在一个项目词汇表中,这样就可以避免在每个文档中都重复很多内容。 id编号,u_name 名称,u_pwd 密码, u_realname 确认密码,u_papert 证件,u_address 家庭住址,u_phone 电话号码,u_news 新闻, 1.4 参考资料 a.山桐子网站设计项目分析会议记录。 b.《桐子网站需求分析说明书》 c.国家标准《数据库设计说明书(gb8567----88)》 2 外部设计 2.1 标识符和状态 要求:详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。若该数据库属于尚在实验中、尚在测试中或是暂时使用的,则要说明这一特点及其有效时间范围。 1)数据库标示符:shuantongzi 用户名:admin 密码:123 权限:全部有效时间:开发阶段 说明:系统正式发布后,可能更改数据库用户/密码,请在统一位置编写数据库连接字符串,在发行前请予以改正。 2) 数据库标示符:hyzc 用户名:user 密码:456 权限:会员有效时间:开发阶段 说明:系统正式发布后,可能更改数据库用户/密码,请在统一位置编写数据库连接字符串,在发行前请予以改正。 2.2 使用它的程序 dreamweaver8、https://www.doczj.com/doc/4518571739.html,、sql 2005、ps、 2.3 约定 (1) 字符集采用 utf-8,请注意字符的转换。 (2) 所有数据表第一个字段都是系统内部使用主键列,自增字段,不可空,名称为:id,确保不把此字段暴露给最终用户。 (3) 除特别说明外,所有字符串字段都采用varchar(50) 类型,(无论汉字还是英文,都算一个字符)。 (4) 除特别说明外,所有小数的字段都采用 decimal(13,3) 的形式表达。 (5) 除特别说明外,所有日期格式都采用 date 格式,无时间值。 (6) 除特别说明外,所有整形都采用int 格式。 (7) 除特别说明外,所有字段默认都设置为 null 。 2.4 支持软件

数据库课后题答案 第7章 数据库设计

第7章数据库设计 1.试述数据库设计过程。 答:这里只概要列出数据库设计过程的六个阶段:( l )需求分析;( 2 )概念结构设计;( 3 )逻辑结构设计;( 4 )数据库物理设计;( 5 )数据库实施;( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 2 .试述数据库设计过程各个阶段上的设计描述。 答:各阶段的设计要点如下:( l )需求分析:准确了解与分析用户需求(包括数据与处理)。( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。( 3 )逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化。( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。( 5 )数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 3 .试述数据库设计过程中结构设计部分形成的数据库模式。 答:数据库结构设计的不同阶段形成数据库的各级模式,即:( l )在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是 E 一R 图;( 2 )在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图( Vi 娜),形成数据的外模式;( 3 )在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 4 .试述数据库设计的特点。 答:数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:( l )数据库建设是硬件、软件和干件(技术与管理的界面)的结合。( 2 )从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。 5 .需求分析阶段的设计目标是什么?调查的内容是什么? 答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据’夕和“处理”,即获得用户对数据库的如下要求:( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;( 3 )安全性与完整性要求。 6 .数据字典的内容和作用是什么? 答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:( l )数据项;( 2 )数据结构;( 3 )数据流;( 4 )数据存储;( 5 )处理过程五个部分。其中数据项是数

动态网页制作的设计论文

毕业论文动态网页的设计制作 前言 在Internet 得到广泛应用的今天,网页已经成为一种不可替代的信息交流工具,他以交互式的特点开创了人们进行信息交流的新方式。 以往的静态网页大多不能与数据库连接,交互能力有限,不能很好的实现人们交流的愿望。今天,我们可以使用各种动态网页来弥补这个缺陷,使得这种新兴的、为大家广泛接受的交流方式焕发出更强的生命力,为实现人们“沟通无界线”的理想向前迈进一步。 网页内容的新颖也是吸引访问者的重要因素之一,但纯粹的文字,只会让网页枯燥、乏味,使访问者不能为之心动,而如果加入一些图片或修饰,使之图文并貌,必定会为网站增色不少。而且网站的整体框架的形式和色调也很重要,不同的内容要配以适合的框架和色调,给访问者视觉和感觉上的协调和舒适,如果给一个内容清新的网站配以拘谨的框架和暗色调,那回使访问者心绪凝重,不想再继续浏览此网页。可见这些美工设计对于一个网站来说不可缺少的。 本篇报告将详细说明一个成功建立起来的动态网页的一些方面,包括:发布平台、软件工具、语言、连接数据库和动态效果。 1

摘要 本论文主要介绍了我在西安交大科技处所研究的一些关于Web网 站图象存储与制作的问题。 图象的设计与制作在Web网站中是一个具体问题,也是必不可 少的一部分。因为图象设计的构思、制作是反映一个网站的风格与主题, 也是吸引访问者的一种手段。而如果网站规模大,图象内容势必也会多, 所以网站的图象存储管理尤为重要。 论文中重点阐述了网站图象存储问题,详细说明了存储的两种方 式--存在硬盘上与存入数据库中,以及这两种方式的具体实现和优缺 点。 2

目录 第一章科技处动态网页分析与描述 一. 开发基于数据库的动态网页的必要性 二. 当前静态网页的弊病 三. 网页系统的发展趋势 第二章使用的软硬件介绍 一. 发布平台的选取 二. 应用软件的选取 第三章图象制作 一. 创意构思 二. 创意步骤 第四章图象存储的具体实现 一.图象存储简介 二. 两种存储方法的具体实现 1) 图象存储在数据库中 2) 图象存储在硬盘上 第五章小结 一. 当前应用 二. 心得体会 致谢 参考文献 3

数据库设计说明书_完整版

目录 第一章引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3参考资料 (2) 第二章外部设计 (3) 2.1标识符和状态 (3) 2.2命名约定 (3) 2.3设计约定 (3) 第三章结构设计 (4) 3.1概念结构设计 (4) 3.1.1实体和属性的定义 (4) 3.1.2设计局部ER模式 (13) 3.1.3设计全局ER模式 (20) 3.2逻辑结构设计 (21) 3.2.1模式 (21) 3.2.2外模式 (32) 3.3物理结构设计 (32) 第四章运用设计 (34) 4.1数据字典设计 (34) 4.2安全保密设计 (34) 4.3数据库实施 (34) 4.3.1创建数据库 (34) 4.3.2创建表 (34)

第一章引言 1.1编写目的 1、本数据库设计说明书是关于寝室管理系统数据库设计,主要包括数据逻辑结构设计、数据字典以及运行环境、安全设计等。 2、本数据库设计说明书读者:用户、系统设计人员、系统测试人员、系统维护人员。 3、本数据库设计说明书是根据系统需求分析设计所编写的。 4、本系统说明书为开发软件提供了一定基础。 1.2背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,然而在计算机应用普及以前我国大部分高校的学生信息管理仅靠人工进行管理和操作,这种管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。正因为如此,学生宿舍管理系统成为了学生管理不可缺少的部分,它的内容对于学校的管理者来说都至关重要,所以学生宿舍管理系统应该能

数据库课程设计 教务管理系统

洛阳理工学院 课程设计报告 课程名称数据库课程设计 设计题目教务管理系统 专业计算机科学与技术 班级B120505 学号 姓名 完成日期2015-1-4

课程设计任务书 设计题目:教务管理系统 设计内容与要求: 设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。一个教师可以教授多个班的多门课程,每门课由多位老师讲授。课程分两类,必修课和选修课。系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。 要求: 1.完成本系统的需求分析,写出功能需求和数据需求描述; 2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计; 3.完成本系统的部分功能模块的程序界面设计。 指导教师:高春玲 2014 年12 月28 日 课程设计评语 成绩: 指导教师:_______________ 年月日

目录 一、概述 2 1.1、本设计的目的与意义 2 1.2、数据库开发工具和应用程序开发工具 2 二、需求分析 2 2.1功能需求 2 2.2数据需求 2 三、概念结构设计 2 3.1、E-R模型设计 2 3.2、总体E-R图描述 4 四、逻辑结构设计 4 4.1、关系模型 4 4.2、关系模式的优化与说明 4 五、物理结构设计 5 5.1建立数据库 5 5.2表与表结构 5 六、应用程序设计 6 6.1、系统总体结构 6 6.2、系统界面与源代码7 6.2.1、界面7 6.2.2、功能描述9 6.2.3、程序源代码9 七、设计总结23 八、体会与收获24 九、参考文献24

数据库课程设计题目16个经典实例学习资料.doc

数据库课程设计题目16个经典实例 1.机票预定信息系统 系统功能的基本要求: 航班基本信息的录入,包括航班的编号、飞机名称、机舱等级等。机票信息,包括票价、折扣、当前预售状态及经手业务员等。客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。按照一定条件查询、统计符合条件的航班、机票等;对结果打印输出。 2.长途汽车信息管理系统 系统功能的基本要求: 线路信息,包括出发地、目的地、出发时间、所需时间等。汽车信息:包括汽车的种类及相应的票价、最大载客量等。票价信息:包括售票情况、查询、打印相应的信息。 3.人事信息管理系统 系统功能基本要求: 员工各种信息:包括员工的基本信息,如编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等;员工各种信息的修改;对转出、辞退、退休员工信息的删除;按照一定条件,查询、统计符合条件的员工信息;教师教学信息的录入:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等。科研信息的录入:教师编号、研究方向、课题研究情况、专利、论文及著作发表情况等。按条件查询、统计,结果打印输出。 4.超市会员管理系统 系统功能的基本要求: 加入会员的基本信息,包括:成为会员的基本条件、优惠政策、优惠时间等。会员的基本信息,包括姓名、性别、年龄、工作单位、联系方式等。会员购物信息:购买物品编号、物品名称、所属种类,数量,价格等。会员返利信息,包括会员积分的情况,享受优惠的等级等。对货物流量及消费人群进行统计输出。 5.客房管理系统 系统功能的基本要求: 客房各种信息,包括客房的类别、当前的状态、负责人等;客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。以及退房、订房、换房等信息的修改。对查询、统计结果打印输出。 6.药品存销信息管理系统 系统功能基本要求 药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。入库和出库信息,包括当前库存信息、药品存放位置、入库数量和出库数量的统计。

4_毕业设计(论文)文献综述

毕业设计(论文) 文献综述 设计(论文)题目:基于Python的飞机大战游戏 设计与开发 学院名称:电子与信息工程学院 专业:计算机科学与技术 班级:计科12-4 姓名:刘佳炜学号12401010410 指导教师:苏日娜职称副教授 企业导师:杨高峰职称工程师 定稿日期:年月日

页面设置:A4纸,页边距:上下各2.54厘米,左:3.5厘米,右:2.5厘米。 页码:居中,首页(封面)不加页码 文献综述例: 基于Python下的飞机大战游戏设计与开发(题目四号黑体居中,段前段后各空 30磅) 摘要:本文主要以飞机大战为例,研究Python语言下的游戏设计和开发。通过pygame模块对游戏的事件响应、碰撞检测和程序优化完成设计和开发工作。通过具体实例的开发,探讨Python开发游戏的基本思路和市场前瞻。(“摘要”两个字五号黑体) 关键词:Python、pygame、游戏(五号宋体)(“关键词”三个字五号黑体) 1. 序言(一级标题:左起顶格打印,小四号黑体,段前段后各空18磅) 1.1 游戏市场的趋势(二级标题:左起顶格五号黑体打印, 段前空12磅,上面一行是一级标题的话,就不空) 在互联网和移动终端蓬勃发展的今天,游戏拥有的市场是难以预估的。而如今热门的游戏诸如:flappy bird、愤怒的小鸟和植物大战僵尸等,都偏向于简单,规模小。笔者主要从以下几个方面进行分析: (1)层出不穷的唯美界面游戏,导致玩家出现审美疲劳。 (2)偏小型、简单的游戏对于时间不充裕的白领、上班族更具备吸引力。 (3)大型的游戏开发需要消耗相当的人力、物力和财力。 (4)游戏依托的平台从电脑端逐渐转移到手机端。手机的配置差异和屏幕的尺寸都不支持游戏程序过大。 1.2 Python开发游戏的优势 Python作为一门面向对象、解释型计算机设计语言。其丰富和强大的库使之能够很轻松地和其他语言制作的模块联结起来。而其优秀的可移植性,也使得其能够在当下众多平台所支持。同时,作为Python游戏开发的首选、主要模块,pygame是专门为电子游戏设计的。其建立在SDL基础上,允许实时电子游戏研发而无需被低级语言束缚。所有需要的游戏功能和理念都完全简化为游戏逻辑本身。 综上,Python是一款完全符合游戏市场趋向的开发语言。应链管理首先在西方提出,它是过去30年中逐渐发展而形成的。在20世纪70年代,主要集中于供应链中某一特定职能企业,生产厂家、零售商、配送中心,注重的是企业内部自身的发展[1]。随着20世纪80年代的到来,企业竞争转到如何全面提高T.Q.C.S赢得竞争,T指产品的交货时间或新产品上市时间;Q是从全面质量管理到零次品率最终发展到全面满足用户要求;C是从单一产品制造成本,发展到包括运行成本、维护成本及报废后的处理成本在内的全成本尽可能最低;S是指提供优质的售前咨询服务及售后维护、增值服务。(五号宋体,1.25倍行距) 文献综述2500字以上,文献综述内容要全面,应包括对设计课题

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