(已读)第十四章 单文档界面的程序

(已读)第十四章 单文档界面的程序
(已读)第十四章 单文档界面的程序

第十四章单文档界面的程序

用VC++的AppWizard生成的程序有三种样式的界面,它们是单文档、多文档和对话框界面。前面各章我们都生成对话框样式的界面,这可以方便我们学习各种常用控件的设计,本章要学习如何生成一个单文档界面的应用程序,以及文档类和视图类的概念和相互关系。

本章要点

1 用AppWizard生成单文档界面的操作方法

2 文档类和视图类的概念

3 如何保持文档和视图的同步关联。

14.1 生成单文档界面的文本编辑器

用AppWizard生成单文档界面的操作方法和生成对话框界面的操作方法稍有不同,我们通过建立一个“文本编辑器”应用程序MyNote.exe来演示,具体过程如下:

1 打开应用程序向导,在d:\myVC\CH14创建应用程序MyNote。

2 在Step1中选择“单文档”和“文档/视图支持”,如图chap14-01.

图chap14-01

3 在step2和step3对话框中都用默认的。在step4中如图chap14-02选择前五项,当然也可以按你的需要选择。

图chap14-02

4 在Step5中选择MFC标准、加备注和静态连接库。图chap14-03

图chap14-03

5 在step6中选择视图的基类(base class),因为我们需要的是文本编辑器,所以要选类CEditView作为基类。点击[完成]按纽,应用程序的框架就创建好了。

14.2 文档类和视图类的概念

向导工作完成以后马上编译和连接,运行后就可以看到一个已经能够使用的文本编辑器,它不仅可以输入文字,还可以保存或打开文件,与Windows的记事本差不多了,只是没有设置字体的功能。图chap14-04是它运行时的窗口。

chap14-04

菜单和工具栏的响应函数都已经生成了相应的代码,我们没有做任何编写工作就得到了一个“完整”的应用程序,甚至还创建了一个帮助文件呢。这就是VC++开发环境的巨大威力!我们从上图中可以看到,编辑菜单中的复制和剪切都已经有效了。

图中的窗口是主框架,对应于类CMainFrame,而其中的“编辑区域”叫用户区,对应于视图类CMyNoteView,而被编辑的文本对应于一个文档类CMyNoteDoc。另外,每个程序还有一个对应于应用程序本身的类,本例中是CMyNoteApp。这四个类就是向导自动生成的应用程序框架类,打开工作区的类classView页区,就可以看到,如图chap14-05。

展开视图类,可以找到一个函数GetDocument(),它是使视图(的内容)和文档保持同步关联的纽带。它返回一个CMyNoteDoc类型的对象指针m_pDocument。使用它在视图中访问文档的内容。

在文档类中有一个OnNewDocument()函数,在“新建文件”和程序第一次运行时被调用,它打开一个新文档供用户编辑。我们来看一下它的代码:

BOOL CMyNoteDoc::OnNewDocument()

{

if (!CDocument::OnNewDocument())

return FALSE;

((CEditView*)m_viewList.GetHead())->SetWindowText(NULL);

return TRUE;

}

if语句调用其父类的同名函数,第二个语句设置编辑区的文本为空白。你试着用“这是一个新文档”来代替NULL,重新编译和运行,那每次打开时编辑区会出现这句话。

文档类中还有一个叫Serialize,把它系列化对象CArchive& ar设置为按行系列化,这是纯文本文件存取时所需要的。下面是它的代码。

void CMyNoteDoc::Serialize(CArchive& ar)

{

// CEditView contains an edit control which handles all serialization

((CEditView*)m_viewList.GetHead())->SerializeRaw(ar);

}

在下一节中,我们将通过一个例程来演示,如何在文档对象和视图对象之间互相访问和交换数据。

14.3 Circle程序的界面和功能

Circle程序的功能是:用鼠标左键在用户区域任意的点一下,就以这一点为圆心画一个半径为50的圆。程序的界面和上例一样,都是单文档程序的基本形式么。但是其客户区年输入文字,是画图形式的。

图chap14-06

下面我们就来制作这一程序。

1 创建工程

打开应用程序向导,在d:\myVC\CH14创建应用程序Circle。选择“单文档”,后面的应答与上例一样。不同的是最后一步视图基类的选择,不是选CEditView而是选CView。CEditView 类是CView类的子类,适合于需要文字编辑的场合。

2 添加变量

画圆需要与圆心和半径,为了文档和视图的同步,我们需要给两者都引进三个变量m_PosX、m_PosY和m_Reduse。定义要写在他们的构造函数中:

public:

int m_PosX, m_PosY;

int m_Reduse ;

3 编写代码

(1)函数OnDraw(CDC* pDC)的功能是在客户区画图,我们用它以试图中的变量值来画圆,代码如下:

void CCircleView::OnDraw(CDC* pDC)

{

CCircleDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

//Draw a circle

RECT rect;

rect.left= m_PosX - m_Reduse ;

rect.top = m_PosY - m_Reduse ;

rect.right = m_PosX + m_Reduse ;

rect.bottom= m_PosY + m_Reduse ;

pDC->Ellipse(&rect);

}

其中pDC是由参数表传递过来的屏幕设备对象,可以画图。RECT是表示举行的数据结构。是画图圆需要的参数。

(2)变量m_PosX等的值在初始更新函数OnInitialUpdate()中给定,而值是从文档的同名函数中传递过来的。???

CCircleDoc* pDoc = GetDocument();

m_PosX = pDoc->m_PosX ;

m_PosY = pDoc->m_PosY ;

m_Reduse = pDoc->m_Reduse ;

(3)要求当“按下鼠标时画圆”,就要添加OnLButtonDown函数,其中使用Invalidate(),它会调用函数OnDraw重新画客户区,其代码如下:

void CCircleView::OnLButtonDown(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

m_PosX = point.x ;

m_PosY = point.y ;

Invalidate();

CCircleDoc* pDoc = GetDocument();

pDoc->m_PosX = m_PosX;

pDoc->m_PosY = m_PosY;

pDoc->SetModifiedFlag(TRUE);

CView::OnLButtonDown(nFlags, point);

}

变量point对应的是鼠标当前点的位置,传递给视图的变量,然后画圆;再把它传递给文档,这就保证视图和文档数据的一致性。语句

pDoc->SetModifiedFlag(TRUE);

设置文档已经被修改的标志,这使得程序在退出时会询问“是否要保存?”。

(4)在文档类中有一个函数OnNewDocument(),它是在按“文件/新建”时被调用的。我们用它给出圆的初始值:

m_PosX = 100;

m_PosY = 100;

m_Reduse = 50 ;

需要的代码就这些了,现在可以编译和运行之。

思考和练习

1 文档类应用程序是如何保持视图和文档数据的一致性的?

2 在MyNote程序中添加菜单及其代码,扩展它的功能。例如,增加文字的大小和颜色等。

3 在Circle程序中添加菜单及其代码,扩展它的功能。例如,可变的半径,画不同的图形等。

(已读)第十四章 单文档界面的程序

第十四章单文档界面的程序 用VC++的AppWizard生成的程序有三种样式的界面,它们是单文档、多文档和对话框界面。前面各章我们都生成对话框样式的界面,这可以方便我们学习各种常用控件的设计,本章要学习如何生成一个单文档界面的应用程序,以及文档类和视图类的概念和相互关系。 本章要点 1 用AppWizard生成单文档界面的操作方法 2 文档类和视图类的概念 3 如何保持文档和视图的同步关联。 14.1 生成单文档界面的文本编辑器 用AppWizard生成单文档界面的操作方法和生成对话框界面的操作方法稍有不同,我们通过建立一个“文本编辑器”应用程序MyNote.exe来演示,具体过程如下: 1 打开应用程序向导,在d:\myVC\CH14创建应用程序MyNote。 2 在Step1中选择“单文档”和“文档/视图支持”,如图chap14-01. 图chap14-01 3 在step2和step3对话框中都用默认的。在step4中如图chap14-02选择前五项,当然也可以按你的需要选择。 图chap14-02

4 在Step5中选择MFC标准、加备注和静态连接库。图chap14-03 图chap14-03 5 在step6中选择视图的基类(base class),因为我们需要的是文本编辑器,所以要选类CEditView作为基类。点击[完成]按纽,应用程序的框架就创建好了。 14.2 文档类和视图类的概念 向导工作完成以后马上编译和连接,运行后就可以看到一个已经能够使用的文本编辑器,它不仅可以输入文字,还可以保存或打开文件,与Windows的记事本差不多了,只是没有设置字体的功能。图chap14-04是它运行时的窗口。 chap14-04 菜单和工具栏的响应函数都已经生成了相应的代码,我们没有做任何编写工作就得到了一个“完整”的应用程序,甚至还创建了一个帮助文件呢。这就是VC++开发环境的巨大威力!我们从上图中可以看到,编辑菜单中的复制和剪切都已经有效了。 图中的窗口是主框架,对应于类CMainFrame,而其中的“编辑区域”叫用户区,对应于视图类CMyNoteView,而被编辑的文本对应于一个文档类CMyNoteDoc。另外,每个程序还有一个对应于应用程序本身的类,本例中是CMyNoteApp。这四个类就是向导自动生成的应用程序框架类,打开工作区的类classView页区,就可以看到,如图chap14-05。 展开视图类,可以找到一个函数GetDocument(),它是使视图(的内容)和文档保持同步关联的纽带。它返回一个CMyNoteDoc类型的对象指针m_pDocument。使用它在视图中访问文档的内容。

最新软件界面设计复习题

一、名词解释 1、人机界面:在人与机器的交互过程中,有一个界面充当信息传递的媒介,即人们所说的人机界面。 2、最大最小原则:即人承担的工作量应尽量少或最少,机器承担的工作量应最大,在最大限度利用机器的同时,充分发挥人的积极因素。 3、认知心理学:就是关于认识的心理学,研究人的认识心理过程,如注意、知觉、表象、记忆、思维和语言等,从心理学的观点研究人体交互的原理。 4、人机工程学:是运用生理学、心理学和医学等有关知识,研究人、机器、环境相互间的合理关系,以保证人民安全、健康、舒适地工作。 5、软件界面:也叫软件人机界面,是人与机器之间的信息界面,用户与机器的交互主要是通过软件界面完成。 6、人机交互(人机对话):是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。 7、人机交互系统:是指实际完成人机交互的系统,可以认为它是由参与交互的各方所组成,如包括人和计算机双方的人机交互系统。 8、人机交互方式:是指人机之间交换信息的组织形式或语言方式,又称对话方式、交互技术等。 9、交互介质:是指用户和计算机完成人机交互的媒体。 二、填空题 1、美国人类工程学会(Human Factors and Ergonomics Society)曾定义可用性的五大属性为:效率、可学习性、可记忆性、容错性、满意程度。 2、目前常用的人机交互方式有:问答式对话;菜单技术;命令语言;填表技术;查询语言;图形方式及直接操纵;自然语言等。 3、交互介质一般分为:输入介质;输出介质。 4、在进行界面设计时,都要考虑这些人文因素。人文因素主要包括以下内容:人机匹配性;人的固有技能;人的固有弱点;用户的知识经验和受教育程度;用户对系统的期望和态度。 5、设计界面是以功能性界面为基础,以环境性界面为前提,以情感性界面为重心而构成的,它们之间形成有机和系统的联系。 6、删除文件的DOS命令语法为:DEL[/P][/F][/S][/Q][/A[[:]attributes]]names。 7、命令语言目标:准确、紧凑、易于读写、加快学习速度、简单、减少差错、易于长期记忆。 8、命令语言的形式有:简单命令表、命令加变量、命令加选项和变量、层次式命令结构。 9、图形用户界面设计的艺术原则:①对比原则;②协调原则;③平衡原则;④趣味性原则。 10、窗口可分为:①滚动式窗口;②开关式窗口;③分裂式窗口;④瓦片式窗口;⑤重叠式窗口;⑥弹出式窗口。 11、辅助窗口分为:有模式和无模式两种。无模式辅助窗口允许用户与辅助窗口或主窗口进行交互,就像在主窗口之间进行切换;有模式辅助窗口要求用户在该辅助窗口内完成交互,然后,必须关闭辅助窗口才能与其他窗口进行交互。 12、帮助信息可分为概念帮助信息和过程帮助信息。 13、人性化的设计是Web界面设计的核心。 14、网页设计要求主题鲜明、形式和内容相统一,强调整体为设计原则,并具有交互性与持续性、多维性、综合性、版式的不可控性以及艺术与技术结合的紧密性等特点。 15、Web网站设计的3C原则:Concise(简洁)、Consistent(一致性)、Contrast(对比度)。

微机原理实验五输入与输出程序设计

实验六输入与输出程序设计 一、实验目的 1.掌握常用DOS中断调用的功能以及在应用程序中的使用方法。 2.学习键盘输入和屏幕输出的基本方法。 3.宏指令、子程序在应用程序中的使用。 4.汇编语言程序设计的调试与完善。 二、设计指标与实验要求 1.设计内容 本实验要求设计完成:①屏幕输出提示(如“Want input(Y/N)?”),若键入N 则结束程序返回操作系统;键入Y则转2步;键入的是其它字母则回①步。②换行后输出提示(如“please input a strings:”),且在该提示后键入一字符串(输入到输入缓冲区)。 ③换行后输出提示(如“your inputting is:”),在该提示后输出由②步输入的字符串。 ④换行后输出提示“Want continue(Y/N)? ”,若键入Y则转②步;键入N则结束程序返回操作系统;其它字母则回第④步。 2.设计要求 ①按屏幕提示要求输入,从屏幕上获得正确结果。 ②把程序中常用的中断调用定义成宏指令(至少定义2个)。 ③字符串回显部分设计成子程序,可以选择用21H中断的2号或9号功能来实现,应 能显示由主程序指定的任一字符串。要注意这两种方法实现的设计过程是不同的。 采用2号功能的,子程序输入参数为“回显字符串地址”和“回显字符数”;采用 9号功能的,子程序输入参数为“回显字符串地址”。 ④屏幕的提示信息显示格式尽量做到兼顾美观。 3.实验步骤 ①.选用合适的程序文本编辑软件编辑源程序,并为文件取以.ASM为扩展名的文件存盘。 ②.用宏汇编软件MASM对源程序文件进行汇编,若有错误,根据提示(行号,错误类型)回源程序文件中修改。 ③.用LINK对由MASM汇编后产生的目标文件做连接,生成可执行文件;若有错误(同

系统界面设计规范

B/S 系统界面设计规范 1.引言 界面美观、操作易用性、维护成本低是评价B/S系统的关键。本规范参考了一些成熟产品科学的开发方法,将开发过程中的方式、规则等强行的约束。希望藉此来提高用户操作感受,提升B/S产品的质量。 1.1. 编写目的 广义的界面概念包含了除页面布局设计之外,交互性的设计,及人体工程学方面的研究。本规范制订的依据从广义概念出发,总结以往项目的成败经验,目的是从整体上提升公司B/S类产品的质量、开发效率。从以技术为中心发展为以客户为中心,将类似项目成功的经验继承和积累下来,将B/S系统与C/S系统开发过程上的区别降低到仅显示控制的极小的层面。新的开发方式强调分层,规范出界面设计人员做什么,服务器编程人员做什么,这样就把页面和控制代码两个层面清晰的分开。 1.2. 背景 B/S模式系统以其易部署、易扩展、能够高度集成各种技术的特点,在公司产品线中占越来越大的比重,.Net、J2ee等技术的发展更是将B/S系统的开发和桌面应用程序开发的工程方法统一起来,突出服务器端技术,这些变革要求界面设计人员和服务器端编程人员可以应用更加科学的方法合作,团队的合作方式甚至决定了一个系统开发的成败。目前公司较多的服务器端编程人员仍然处于“后ASP 时代”的开发方式,表现为前台页面仍然与服务器代码高度的关联,带来的后果是重复建设、高昂的维护成本或失去控制的项目,没有充分的发挥出集成开发工具的优势。在以往的开发方式下界面设计侧重在静态页面的建设上,每个页面作为一个独立的模块来处理,在页面交互中则是程序员根据自己的习惯来控制,程序对个人的编程风格的依赖很强,这些在以往开发WEB站点的方式扩展到B/S系统有时是不正确的,甚至是背道而弛的,当然也不利于规模化的团队合作。 1.3. 定义 术语定义: 效果图:由界面设计人员设计的页面效果图,综合了概要设计的业务需要和整个站点的风格,它规定了页面布局上的每个细节。 容器:即HTML 标记的嵌套结构,如在表格->行->单元格内放置图片,那么可以认为单元格是放置图片的容器。 样式表:即级联式样式表CSS,它是W3C机构在HTML标记语言上扩展的格式语言。 非标准交互控件:是通过标准控件组合、扩展等方法以提高特定业务执行效率而进行封装的控件,或概括为用户根据以往的操作经验不能够直接领会出操作方式的交互控件。 2. 界面设计规范细则 总体目标 以规范作为基本原则,在此框架内进行合理的扩展和变化,将站点内的每个模块服从于整个站点,模块页面与“高内聚”的控制代码紧密的结合在一起,同时对应于应用程序基于系统的架构分析。 2.1. 通用原则 1 界面色彩要求:计算机屏幕的发光成像和普通视觉成像有很大的不同,应该注意这种

第三章 单文档应用程序

第三章单文档应用程序 在本学习情境中主要学习: (1)单文档应用框架 (2)文档与视图 3.1 MFC消息处理 3.1.1事件驱动程序设计 事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。对于需要用户交互的应用程序来说,事件驱动的程序设计有着过程驱动方法无法替代的优点。它是一种面向用户的程序设计方法,它在程序设计过程中除了完成所需功能之外,更多的考虑了用户可能的各种输入,并针对性的设计相应的处理程序。它是一种“被动”式程序设计方法,程序开始运行时,处于等待用户输入事件状态,然后取得事件并作出相应反应,处理完毕又返回并处于等待事件状态。它的框图如图1所示: 图1事件驱动程序模型 3.1.2 MFC的消息处理 在DOS应用程序下,可以通过getchar()、getch()等函数直接等待键盘输入,并直接向屏幕输出。而在Windows下,由于允许多个任务同时运行,应用程序的输入输出是由Windows 来统一管理的。 Windows操作系统包括三个内核基本元件:GDI, KERNEL ,USER。其中GDI(图形设备接口)负责在屏幕上绘制像素、打印硬拷贝输出,绘制用户界面包括窗口、菜单、对话框等。系统内核KERNEL支持与操作系统密切相关的功能:如进程加载,文本切换、文件I/O,以及内存管理、线程管理等。USER为所有的用户界面对象提供支持,它用于接收和管理所有输入消息、系统消息并把它们发给相应的窗口的消息队列。消息队列是一个系统定义的内存块,用于临时存储消息;或是把消息直接发给窗口过程。每个窗口维护自己的消息队列,并从中取出消息,利用窗口函数进行处理。框图2如下:

软件界面设计复习题

软件界面设计复习题

————————————————————————————————作者: ————————————————————————————————日期:

一、名词解释 1、人机界面:在人与机器的交互过程中,有一个界面充当信息传递的媒介,即人们所说的人机界面。 2、最大最小原则:即人承担的工作量应尽量少或最少,机器承担的工作量应最大,在最大限度利用机器的同时,充分发挥人的积极因素。 3、认知心理学:就是关于认识的心理学,研究人的认识心理过程,如注意、知觉、表象、记忆、思维和语言等,从心理学的观点研究人体交互的原理。 4、人机工程学:是运用生理学、心理学和医学等有关知识,研究人、机器、环境相互间的合理关系,以保证人民安全、健康、舒适地工作。 5、软件界面:也叫软件人机界面,是人与机器之间的信息界面,用户与机器的交互主要是通过软件界面完成。 6、人机交互(人机对话):是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。 7、人机交互系统:是指实际完成人机交互的系统,可以认为它是由参与交互的各方所组成,如包括人和计算机双方的人机交互系统。 8、人机交互方式:是指人机之间交换信息的组织形式或语言方式,又称对话方式、交互技术等。 9、交互介质:是指用户和计算机完成人机交互的媒体。 二、填空题 1、美国人类工程学会(HumanFactors and Ergonomics Society)曾定义可用性的五大属性为:效率、可学习性、可记忆性、容错性、满意程度。 2、目前常用的人机交互方式有:问答式对话; 菜单技术;命令语言;填表技术;查询语言;图形方式及直接操纵;自然语言等。 3、交互介质一般分为:输入介质;输出介质。 4、在进行界面设计时,都要考虑这些人文因素。人文因素主要包括以下内容:人机匹配性;人的固有技能;人的固有弱点;用户的知识经验和受教育程度;用户对系统的期望和态度。5、设计界面是以功能性界面为基础,以环境性界面为前提,以情感性界面为重心而构成的,它们之间形成有机和系统的联系。 6、删除文件的DOS命令语法为:DEL[/P][/F][/S][/Q][/A[[:]attributes]]names。 7、命令语言目标:准确、紧凑、易于读写、加快学习速度、简单、减少差错、易于长期记忆。 8、命令语言的形式有:简单命令表、命令加变量、命令加选项和变量、层次式命令结构。 9、图形用户界面设计的艺术原则:①对比原则;②协调原则;③平衡原则;④趣味性原则。 10、窗口可分为:①滚动式窗口;②开关式窗口;③分裂式窗口;④瓦片式窗口;⑤重叠式窗口; ⑥弹出式窗口。 11、辅助窗口分为:有模式和无模式两种。无模式辅助窗口允许用户与辅助窗口或主窗口进行交互,就像在主窗口之间进行切换;有模式辅助窗口要求用户在该辅助窗口内完成交互,然后,必须关闭辅助窗口才能与其他窗口进行交互。 12、帮助信息可分为概念帮助信息和过程帮助信息。 13、人性化的设计是Web界面设计的核心。 14、网页设计要求主题鲜明、形式和内容相统一,强调整体为设计原则,并具有交互性与持续性、多维性、综合性、版式的不可控性以及艺术与技术结合的紧密性等特点。 15、Web网站设计的3C原则:Concise(简洁)、Consistent(一致性)、Contrast(对

控制台窗口界面控制设计

摘要:文本界面的控制台应用程序开发是深入学习C++、掌握交互系统的实现方法的最简单的一种手段。然而,Visual C++的C++专用库却没有TC所支持的文本(字符)屏幕控制函数,为此本系列文章从一般控制步骤、控制台窗口操作、文本(字符)控制、滚动和移动、光标、键盘和鼠标等几个方面讨论控制台窗口界面的编程控制方法。 在众多C++开发工具中,由于Microsoft本身的独特优势,选用Visual C++已越来越被众多学习者所接受。显然,现今如果还再把TC作为开发环境的话,不仅没有必要,而且也不利于向Windows应用程序开发的过渡。然而,Visual C++的C++专用库却没有TC所支持的文本屏幕(控制台窗口)控制函数(相应的头文件是conio.h)。这必然给C++学习者在文本界面设计和编程上带来诸多不便。要知道,文本界面设计是一种深入学习C++、掌握交互系统的实现方法的最简单的一种手段,它不像C++的Windows图形界面应用程序,涉及知识过多。为此,本系列文章来讨论在Visual C++ 6.0开发环境中,如何编写具有美观清晰的控制台窗口界面的C++应用程序。 一、概述 所谓控制台应用程序,就是指那些需要与传统DOS操作系统保持某种程序的兼容,同时又不需要为用户提供完善界面的程序。简单地讲,就是指在Windows环境下运行的DOS程序。一旦C++控制台应用程序在Windows 9x/NT/2000操作系统中运行后,就会弹出一个窗口。例如下列过程: 单击Visual C++标准工具栏上的“New Text File”按钮,打开一个新的文档窗口。 选择File | Save菜单或按快捷键Ctrl+S或单击标准工具栏的Save按钮,弹出“保存为”文件对话框。将文件名为“Hello.cpp” (注意扩展名.cpp不能省略)。 在文档窗口中输入下列代码: #include void main() { cout<<"Hello, Console!"< } 单击小型编译工具栏中的“Build”按钮或按F7键,系统出现一个对话框,询问是否将此项目的工作文件夹设定源文件所在的文件夹,单击[是]按钮,系统开始编译。 单击小型编译工具栏中的“Execute Program”按钮或按Ctrl+F5键,运行刚才的程序。 程序运行后,弹出下图的窗口。

软件详细设计文档模板(最全面)

研发生产中心文档编号版本A1 密级商密A 项目名称Xx系统 项目来源 Xxx系统 详细设计说明书 (内部资料请勿外传) 编写:日期:检查:日期:审核:日期:批准:日期: XX公司 版权所有不得复制 文档变更记录

序号变更(+/-)说明作者版本号日期批准1 2

目录 1. 引言 (5) 1.1 编写目的和范围 (5) 1.2 术语表 (5) 1.3 参考资料 (5) 1.4 使用的文字处理和绘图工具 (5) 2. 全局数据结构说明 (7) 2.1 常量 (7) 2.2 变量 (8) 2.3 数据结构 (8) 3. 模块设计 (9) 3.1 用例图 (9) 3.2 功能设计说明 (10) 3.2.1 模块1 (10) 3.2.2 模块2 (11) 4. 接口设计 (12) 4.1 内部接口 (12) 4.2 外部接口 (12) 4.2.1 接口说明 (12) 4.2.2 调用方式 (12) 5. 数据库设计 (12) 6. 系统安全保密设计 (12) 6.1 说明 (12) 6.2 设计 (12) 6.2.1 数据传输部分 (12) 6.2.2 IP过滤分部 (13) 6.2.3 身份验证部分 (13) 7. 系统性能设计 (13) 8. 系统出错处理 (13)

1.引言 1.1背景 此文档的背景 1.2编写目的和范围 说明写这份详细设计说明书的目的。 本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。 1.3术语表 定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。 序号术语或缩略语说明性定义 1 PM Project Manager,项目经理 2 1.4参考资料 列出有关资料的名称、作者、文件编号或版本等。参考资料包括: a.需求说明书、架构设计说明书等; b.本项目的其他已发表的文件; c.引用文件、资料、软件开发标准等。 资料名称作者文件编号、版本资料存放地点 1.5使用的文字处理和绘图工具 文字处理软件:[编写设计文档使用的文字处理软件,如RedOffice ] 绘图工具:[使用的UML工具,如Rose、Jude、Visio]

c语言程序设计基本输入输出和简单程序设计

实验3 基本输入输出和简单程序设计 实验目的 1.掌握常用的C语言语句,熟练应用赋值、输入、输出语句。 2.理解C语言程序的顺序结构,掌握顺序结构设计的基本方法。 3.进一步熟悉C程序的编辑、编译、连接和运行以及调试跟踪的过程。 实验内容 1.准备实验环境: (1)启动Visual Studio 201X 或者Codeblocker等C程序开发的IDE (2)如果保留了实验1的工程项目,则可以直接双击工程项目文件夹中的.sln 文件打开它即可。否则,按实验1的做法,创建一个Win32控制台应用程序(即ConsoleApplication)工程,以自己的姓名全拼音为工程名称。可能有些同学已经忘记了,我们再指导一遍: 首先新建项目:

2.理解分析程序,熟悉基本的C程序输入输出。 1)给工程新建一个源程序文件,取名为"你的姓名全拼_3_1.c",并将以下程序编写进该源程序保存: #include int main() { int a=25; double d = 4321.123456789012345; char c = 'T'; printf("你的姓名_3_1:理解输出!\n");/* 改姓名哦*/ printf("a = :%d;%5d;%-5d;%+05d!\n",a,a,a,-a); printf("a = :%5x;%o!\n",a,a); printf("d = :%f;%15f;%8.3f;%20.15f;%.2f!\n",d,d,d,d,d); printf("c = :%c;%5c;%-5c!\n",c,c,c); } 运行该程序,将运行的结果截图放在下面: 程序运行的结果图:

一个Web系统的界面设计和开发

一个Web系统的界面设计和开发1.工作流程(下图,是整个开发过程中与界面设计相关的主要流程工作) 从最初需求分析开始,我就加入项目,自始自终参加整个开发过程。 在需求分析阶段,参与了对客户的访问和调研; 在概要设计阶段,参与了部分系统设计分析工作; 在详细设计阶段,完成了整个系统界面设计和Demo制作,并提交用户反馈; 在代码开发阶段,参与了系统表现层的设计开发。

2.需求分析 在需求分析阶段,主要针对界面交互相关问题,对用户进行若干调研。 主要包括以下内容 ·受众用户群调查 ·系统使用环境调查 ·受众用户使用习惯调查 ·用户对旧版本软件使用情况调查 这一阶段,由于成本原因,我并没有直接访问客户进行调查。工作主要是提出某些具体问题,由需求调研人员,以问卷或口头问答方式,对客户进行调研。另外,公司经验丰富的客服人员和市场人员,也是非常重要的需求来源之一。 本系统的客户群主要为国家省市下属质检单位,最终受众年龄从年轻到较高龄都有。对于普通国家机关人员,一般对计算机系统和网络不够熟悉,计算机环境一般,甚至比较差,少有配置优良的环境。在这种环境下,用户对计算机使用一般没有使用倾向,大多更适应手工操作。对本系统的前代使用,最主要意见是使用困难,不方便。 还有其他具体调查反馈,如用户基本不使用鼠标右键,年龄较大的用户难以看清密集的较小文字等等。 3.界面设计原则 在概要设计阶段,根据需求阶段的调研结果,我整理了系统界面设计的基本原则。因为在代码开发阶段,很多时候界面的具体制作是由开发人员直接写代码,因此必须确定一定的原则和规范,以保证系统界面的统一。 一般适用原则 ·简单明了原则:用户的操作要尽可能以最直接最形象最易于理解的方式呈现在用户面前。对操作接口,直接点击高于右键操作,文字表示高于图标示意,尽可能的符合用户对类似系统的识别习惯。 ·方便使用原则:符合用户习惯为方便使用的第一原则。其它还包括,实现目标功能的最少操作数原则,鼠标最短距离移动原则等。 ·用户导向原则:为了方便用户尽快熟悉系统,简化操作,应该尽可能的提供向导性质的操作流程。 ·实时帮助原则:用户需要能随时响应问题的用户帮助。 ·提供高级自定义功能:为熟悉计算机及软件系统的高级用户设置自定义功能,可以对已经确定的常规操作以及系统的方方面面进行符合自身习惯的自定义设置。包括常规操作、界面排版、界面样式等种种自定义。 ·界面色彩要求:计算机屏幕的发光成像和普通视觉成像有很大的不同,应该注意这种差别作出恰当的色彩搭配。对于需用户长时间使用的系统,应当使用户在较长时间使用后不至于过于感到视觉疲劳为宜。例

汇编语言_输入输出程序设计

《汇编语言程序设计教程》之 输入输出程序设计 指导老师:XXX 制作人: XXX 一、实验目的 通过学习《汇编语言程序设计教程》的相关知识完成输入输出程序的相关操作,理解有关改程序的理论知识,掌握设计报告的流程以及解决问题的方法,并且提高利用计算机分析解决综合性实际问题的基本能力,将理论与实践相结合,实现对知识的升华以及灵活运用,具体步骤如下:

1)掌握输入输出指令的使用; 2)了解对CMOS RAM的读写 3)访问CMOS RAM,编程,以“年/月/日时:分:秒”的格式,显示当前的 日期、时间。 观察并记录运行结果。 二、实验原理及基本技术路线图(方框原理图) 程序源代码: assume cs:code,ds:data data segment time db 'yy/mm/dd hh:mm:ss',0dh,0ah,'$' cmos db 9,8,7,4,2,0 data ends code segment start:mov ax,data mov ds,ax mov bx,0 mov si,0 mov cx,6 a: push cx mov al,cmos[bx] out 70h,al in al,71h mov ah,al mov cl,4 shr al,cl and ah,0fh add ax,3030h mov word ptr time[si],ax inc bx add si,3 pop cx loop a mov ah,6 mov al,0 mov bh,1fh mov cx,0 mov dx,184fh

int 10h mov ah,2 mov bh,0 mov dh,13 mov dl,32 int 10h mov dx,offset time mov ah,9 int 21h mov ax,4c00h int 21h code ends end start 三、所用仪器、材料(设备名称、型号、规格等) Masm 6.0,debug。 四、实验方法、步骤 1.使用masm6.0将所写的程序进行编译,生成exe文件,运行。 2.使用debug调试生成的exe文件,使用t命令进行单步调试。 3.记录下关键位置的调试截图。 五、实验过程原始记录(数据、图表、计算等) 1.经过masm编译的程序b6.exe,得到程序运行结果 2.r命令查看寄存器初始状态

用户界面设计与答案

1.用户满意度=功能+___人机界面_____+响应时间+可靠性+易安装性+____信息____+可维护性+其他因素 2. ____人机交互(人机对话)____是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。 3.软件界面设计分为____功能性设计界面____、____情感性设计界面____、____环境性设计界面____。 4.进行系统分析和设计的第一步是___用户分析_____。 5.使用较早,也是使用最广泛的人机交互方式是____交互方式____。 6.软件界面开发流程包括____系统分析____、____系统设计____、____系统实施____三个阶段 7.设计阶段包括界面的____概念设计____、____详细设计____、____原型建立____与界面实现以及综合测试与评估等8.VB 是以结构化___Basic_____语言为基础、以____事件驱动作____为运行机制的可视化程序设计语言。 9.菜单使用形式主要有____菜单操作____和____Tba控件操作____两种。 10.随着计算机图形技术的发展,以直接操纵、桌面隐喻以及所见即所得为特征的____图形用户界面____技术广泛被计算机系统采用。 11.在用VB 开发应用程序时,一般要布置窗体、设置控件的属性、___编写代码___。 12. 假定在窗体上有一个通用对话框,其名称为CommonDialog1,为建立一个保存文件对话框,则需要把Action 属性设置为__value__。 13. 计时器事件之间的间隔通过__interval__属性设置。 14. 语句“Print “5+65=”;5+65”的输出结果为__5+65=70__。 15. 设有下列循环体,要进行4次循环操作,请填空。 x = 1 Do x = x * 2 Print x Loop Until__x<=32__ 16. 下列程序段的执行结果为__2 3 5__。 x = 1 y = 1 For I = 1 To 3 F= x + y x = y y = F Print F; Next I 17. 以下为3个列表框联动的程序,试补充完整。 Private Sub Dir1_Change() File1.Path=Dir1.Path End Sub Private Sub Drive1_Change() Drivel.Path=File1.Path;Dir1.Path=Drivel.Path__[7]__ End Sub 18. 在下列事件过程中则响应该过程的对象名是cmdl,事件过程名是__窗口标题事件__。 Private Sub cmd1_Click() Form1.Caption=“VisualBasic Example” End Sub 19. 当将文本框的SelStar 属性设置为0时,表示选择第开始位置在第一个字符之前,设置为1时表示__[9]__。 20. 以下程序代码实现单击命令按钮Command1 时形成并输出一个主对角线上元素值为“-”,其他元素值为“+”第6*6 阶方阵。 Privas Sub Command1_Click() DimA(6,6) For I = 1 To 6 For J = 1 To 6 If I = J Then Print “-” Else __[10]__ End If Print A (I,J); Next J Print Next I End Sub 21. 字母B的KeyAscii 码值为65,其KeyCode码值___[11]__。 22. Visual Basic 中的控件分为3类:__[12]_、ActioveX 控件和可插入对象。

图书管理系统界面设计

软件工程(课程设计)题目:图书管理系统—界面设计 学院河北大学工商学院 学科门类工学 专业软件工程 学号 2012484331 姓名梁雪山 指导教师王思乐 2014年12月7日

河北大学学年论文(课程设计)任务书 (指导教师用表)

河北大学学年论文(课程设计)成绩评定表学院:河北大学工商学院

一、引言 1、编写目的 编写本文档的目的是根据系统分析工程师和客户沟通的结果,对用户需求进行了全面细致的分析,深入描述《图书管理系统》软件的功能,确定该软件设计的限制和定义软件的其他有效性需求。该需求规格说明书的读者对象为本图书管理系统软件小组的研发工程师、测试工程师、销售工程师,版权归XXX所有,严禁外传。 2、背景 随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。 图书管理系统软件LMS V1.0是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用。除此以外,LMS V1.0可通过访问权限控制以及数据备份功能,确保数据的安全性。 3、定义 LMS:Library Management System 图书交流系统 4、参考资料 《软件工程导论》(第五版)作者:张海藩清华大学出版社 《软件界面设计》杨培添电子工业出版社 二、项目概述 1、面向的用户 该系统主要面向的是学生、教师等读者,图书管理员和超级管理员。 2、实现目标 对已经设计出的功能在界面上形成对应的物理按键。确保界面美观,程序

单文档视图结构ActiveX控件

单文档/视图模式是MFC编程里比较强大的一种编程模式,如果ActiveX控件能够用这种模式的话,将可以做出非常强大的Web在线应用。 下面我们就介绍一种把单文档/视图模式的程序改造成ActiveX控件的方法。 做起来很难,但是完成了会很有成就感,本方法来源于15Seconds。在VC6.0和https://www.360docs.net/doc/0c8169751.html,下都已证明可行。我用这个方法做了一个Web上的在线服装设计软件,Client 端支持NT4.0,客户公司有上千台NT4.0。据美国同事说在投标中击败了Altium公司(电路设计软件Protel的开发商)的方案,哈。 需要要两个文件: // ActivDoc.cpp : implementation file // #include "stdafx.h" #include "ActivDoc.h" CActiveXDocTemplate::CActiveXDocTemplate(CRuntimeClass* pDocClass, CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass) : CSingleDocTemplate(IDR_NOTUSED, pDocClass, pFrameClass, pViewClass) { ASSERT(pFrameClass); } CFrameWnd* CActiveXDocTemplate::CreateDocViewFrame(CWnd* pParen tWnd) { CWaitCursor cursor; TRY { ASSERT(pParentWnd && IsWindow(*pParentWnd)); ASSERT_KINDOF(CActiveXDocControl, pParentWnd); m_pParentWnd = pParentWnd; m_pFrameWnd = NULL; // OpenDocumentFile is a virtual method (implemented in

系统界面设计

系统界面设计实例 姓名:曹爽班级:9班学号:201208240901 设计的系统名称:个人日常事务管理系统 针对用户群是:广大电脑用户(有一定的电脑操作基础),officer和广大学生。 一、系统需求分析(The system requirement) 针对officer和学生们的需求分析,从我自身分析:对于我日常的安排我平时会用专门的记事本记录和更改,对于日常各种事务可能会冲突或不变携带,现在针对这些需求,设计出符合此人群适合的一款系统来帮助人们更好的安排日程和完成工作。此系统是要面向个人的,同企业系统相比,此软件要力求操作简单,效率要高效,由于针对的人群是officer和大学生,这些人都是年轻的一代人,对计算机和系统都比较了解,而且倾向于华丽的界面,但是该系统同时要解决高效,较少的操作较快地达到用户的需求。由于工作原因或计算机系统崩溃等用户在本机保存的日程安排等数据可能丢失的情况,同时,有些情况下可能无法连接网络,此系统应支持 1.、本机数据保存。2、可以上传到服务器数据库,用户注册可获得免费的空间,用户注册后,只要登录就能在随时随地获得自己的日程安排等信息。 二、系统功能定义(The function definitions) 个人日常事务管理系统 用户注册登录 主要功能实现 软件设置、帮助 用户登录界面 主界面(导航) 用户注册登录 子界面(功能)

实现功能(主界面导航): 一、工作台(主要功能): 1、待办事件 2、日程安排 3、效率评估 4、通讯录 5、定时提醒 二、通行路线: 可以和平时安排联系起来,可以提前安排好行车路线 三、天气情况 和日程安排联系起来,提醒用户天气状况,便于用户及时修改自己的日程安排。 四、桌面图标 将桌面快捷方式整理到这里,这是方便用户的一个小工具,此功能为了挽留用户,功能太单一,用户可能会流失。 三、界面设计和标准(The Principles) 风格设计分析:针对用户年轻,更加偏好色彩丰富,但是针对于此软件要求的功能应符合操作简单。则主要用鼠标点击操作就可以方便的查看用户的日程安排信息。虽然要追求界面的时尚和华丽,但是界面过于艳丽,容易导致用户视觉疲劳。则轻松的淡彩色为主配色,灰色系为主。 用户导航显示:简单明了,文字描述要明了,通过文字和图标配合示意,用户看到按钮,可以快速的明白此按钮功能。布局应该满足用户习惯,结合广大软件按钮布局方式。 为了保持界面在设计过程中,要求各个界面的风格的统一,先做出表格,列出界面制作统一的原则和规范。 框体颜色外边框输入框按钮登陆界面蓝色,淡色,40% 灰色,淡色,30% 线条,淡色,50% 灰白色,80% 主界面线条,淡色,50%灰色,淡色,30%线条,淡色,50%灰白色,80% 子界面线条,淡色,50%灰色,淡色,30%线条,淡色,50%灰白色,80%文字部分标题文字输入框文字菜单文字帮助文字 字体微软雅黑加粗微软雅黑微软雅黑微软雅黑 大小小四五号五号五号 颜色黑色灰色,50% 黑色黑色

用户界面设计实例

用户界面设计实例 ● 设计的系统名称:个人日常事务管理系统 ● 针对用户群是:广大电脑用户(有一定的电脑操作基础),officer 和广大学 生。 一、系统需求分析(The system requirement ) 针对officer 和学生们的需求分析,从我自身分析:对于我日常的安排我平 时会用专门的记事本记录和更改,对于日常各种事务可能会冲突或不变携带,现在针对这些需求,设计出符合此人群适合的一款系统来帮助人们更好的安排日程和完成工作。此系统是要面向个人的,同企业系统相比,此软件要力求操作简单,效率要高效,由于针对的人群是officer 和大学生,这些人都是年轻的一代人,对计算机和系统都比较了解,而且倾向于华丽的界面,但是该系统同时要解决高效,较少的操作较快地达到用户的需求。由于工作原因或计算机系统崩溃等用户在本机保存的日程安排等数据可能丢失的情况,同时,有些情况下可能无法连接网络,此系统应支持 1.、本机数据保存。2、可以上传到服务器数据库,用户注册可获得免费的空间,用户注册后,只要登录就能在随时随地获得自己的日程安排等信息。 二、系统功能定义(The function definitions ) 个人日程管理系统主要是提供个人时间日程安排系统软件,它具有相当方便的操作接口,让用户能够对所安排的行程一目了然,除去主要功能还附带了更多功能和小工具,安排的行程可以生成通行路线,并会根据天气预报提醒当天安排是否影响。而且用户可以注册,注册后用户有更多的服务,安排的日程数据可以保存到本地同时可以更新到服务器,这样用户就算到外地也可以随时查看自己的日程安排,同时其他功能有:时钟提醒、通讯录、效率评估等。 实现功能(主界面导航): 个人日常事 务管理系统

对输入、输出模拟量的PLC编程实例解析汇报

对输入、输出模拟量的PLC编程的探讨及编程实例解析 对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。比如有3个温度传感变送器: (1)、测温围为0~200,变送器输出信号为4~20ma (2)、测温围为0~200,变送器输出信号为0~5V (3)、测温围为-100 ~500,变送器输出信号为4~20ma (1)和(2)二个温度传感变送器,测温围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。 一、转换公式的推导 下面选用S7-200的模拟量输入输出模块EM235的参数为依据对上述的3个温度传感器进行转换公式的推导: 对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma电流信号,20ma 对应数子量=32000,4 ma对应数字量=6400; 对于(2)传感变送器用的模块,其模拟量输入设置为0~5V电压信号,5V对应数字量=32000,0V对应数字量=0; 这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:

上面推导出的(2-1)、(2-2)、(2-3)三式就是对应(1)、(2)、(3)三种温度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。编程者依据正确的转换公式进行编程,就会获得满意的效果。 二、变送器与模块的连接

程序结构

5.1.1用户登记表设计 表5-2用户登记表 用户登记表(ds—data) 包含与用户登记描述要求相匹配的字段 字段名字段类型字段长度主键索引备注 Id 自动编号长整型是有id Xue If) 文本8 否有职工工号 Name 文本20 否无姓名 Tel 文本20 否无电话 Fang_ID 文本6 否有房间号 DANWEI 文本10 否有单位 IP 文本15 否无lp MAC 文本14 否无maC qs—ny 文本20 否无起始年月 ZZ nV 文本20 否无终止年月 ren 1C 文本18 否无哪个管理员录入 ru date 时间/日期长否无登记日期 ru time 时间/日期长否无登记时间 Shouf bz 文本l 否无登记标志 kaitong_bz 文本1 否无开通标志 5.1。2管理员注册表设计 表5-3管理员注册表 管理员注册表(register) 包含要求配置系统管理员相匹配的字段 字段名字段类型字段长度主键索引备注 IC 文本18 是有身份证号 Name 文本20 否无姓名 Password 文本18 否无口令 Sex 文本2 否无性别 Age 数字整型否无年龄 Createt.ime 时间/日期长否无注册时间 Lastvisittime 时间/日期长否无最后登陆时间 regi sted—count 数字长整型否无已经注册人数 Visittimes 文本50 否无登陆次数 5.1.3交换机数据表设计 表5-4交换机数据表 交换机数据表(switch) 包含与交换机信息以及网络运行相匹配的字段字段名字段类型字段长度主键索引备注 Xuhao 数字整型是有序号 Name 文本50 否无安放位置 SW nO 文本6 否无交换机编号 Ipdz 文本15 否无IP地址 USer name 文本50 否无登陆用户名 USer mlma 文本50 否无登陆用户密码 sw__xinghao 文本12 否无交换机型号 Ipduan 文本3 否无可管理的ip段

相关文档
最新文档