4软件技术基础第三版课后习题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四章VisualC++环境及其应用软件开发一般是在某个操作系统平台之上进行的,平台提供了大量应用工具,这些工具为编程提供了极大的便利,使得编出的应用系统大为丰富。有使用方便、清新悦目的用户界面;有计算结果的各种表达:表格、表单、图符、图像、图形、动画,甚至音频、视频等。几十年来,各种支持应用的工具软件形成了当今计算机的应用文化。对应用开发者而言,开发的应用程序也必须适应这种文化,而不单是编写核心计算的程序。进行人机界面的设计时,要充分利用平台提供的测试、部署、通信、安装工具加速应用开发,并使开发的应用(程序)系统与各厂商提供的应用软件风格相似。本章主要介绍程序开发环境。4.1应用(程序)系统的体系结构一个应用(程序)系统总是由多个程序模块组成。过程式编程是函数/子例程、数据块;面向对象是类、包;基于构件编程是接口类、构件、连接件。为了功能全、少编程,它们往往是共享的,能重用就重用。而且大量重用经过实用考验的模块,应用程序更可靠。模块的相互联系就形成体系结构(Architecture),就如同一个房子规定了它各个构件的位置,它们共同表现出这个房子的使用性能。一般应用(程序)系统的体系结构如图4.1所示。从逻辑上讲现代应用程序必须有为用户服务的模块,图中以小方块表示交互的用户输入和输出显示、报表软硬拷贝、保存文件、入库、安装等。第二部分是业务服务模块,图中以小三角表示,即常说的这个(软件)程序该做什么核心计算。可以是实现某个业务流程的各个模块,如民航订票系统的查询、订票、收费、出票各功能模块。也可以是解决科学计算的高阶微分方程数值解的程序模块。第三部分是数据服务的模块,图中以小圆圈表示。它是与数据库交互的模块。这里的数据库是广义的,包括文件库。有些专用的科学计算的数据并不一定与其他应用有共享需求,作为文件保存为永久性数据,也叫入数据库。但此时数据服务十分简单。图中两个应用Application1和Application2共享若干模块,也有为自己开发的模块。在这三层的应用模型中,用户服务、数据服务比较规范。软件制造商提供大量工具,用户只需在给定的模块框架中设置选项,输入数据,程序就开发完了。而业务服务一般是要新开发的,当然,可以用到已有的模块。对于简单的应用,软件制造商提供大量应用软件,第二层也可不必“开发”,或作少量定制连接,应用程序就“开发”完成了。4.2图形用户界面图形用户界面(GUI)是用户使用终端键盘、鼠标操纵计算机的工作界面,是基于行编辑器的正文界面的后继,最早在面向对象系统Smalltalk-80(1980)中出现,1984年苹果公司引入超正文(Hypertext)连接技术在Macintosh的操作系统上实现。随着多媒体技术在面向对象系统的推动下大力发展,各个公司都提供了大致相同的图形界面。随着Windows操作系统的出现,微软公司把GUI做成集成开发环境(IDE)的一部分。以面向对象的观点来看待各种计算资源(包括图形用户界面),系统内部以面向对象编程实现。所以,一些面向对象的术语自然成为GUI使用者必备的知识。4.2.1GUI的诸元素及其实现GUI就是让用户通过鼠标方便地使用各种资源,各种资源以窗口(Window)、图符、图标(icon)、正文的形式展现在屏幕上。本节无意重复在《计算机文化》课中已学过的GUI的简单概念,而是在学过面向对象之后,再用对象重新解释它。从面向对象的观点来看,GUI中的所有元素均为对象。每类对象均有自己的属性和方法,其中的一些方法是事件。事件是对象与外界的偶发的交互。一旦交互响应了事件,也可能触发另一些事件。鼠标鼠标器与光标相对应,鼠标器的移动与光标在屏幕上移动对应。鼠标器上有左键、右键、滚轮,可做的操作是:Point移光标到某点Click单击(表示要使用光标当前位置上的对象)Double-click双击(使用较大对象或按规定)Drag拖拽光标通常有以下四种形状:一般的连接的正忙的不可用软件开发商和用户可以自定义光标。键盘键盘用于向图形用户界面输入正文信息。键盘利用快捷键、组合键可以操纵光标代替鼠标的工作。按钮屏幕上显示出的矩形按钮。它上面一般有文字和图标。按钮对象可以产生一些事件,这些事件一般是由用户通过操作键盘或鼠标来触发的。常用的事件有:LButtonDown(用户在鼠标光标在按钮上时按下了鼠标左键)、KeyDown(当按钮处于可捕获用户输入状态时,用户敲下了键盘上的某键)等。按钮总在某一窗口中,这些事件可以被这个窗口对应的窗口对象捕获。如果窗口对象对这些事件感兴趣,可以“告诉”按钮,并提供响应事件的方法。这些方法是窗口对象的方法,但在事件发生时由按钮调用。图符与图标以形象化的微小图形代表某个操作、某个对象、某个子系统、某个项目。和按钮类似,图符和图标也能产生事件,如LButtonDown、DoubleClick(用户移动鼠标光标到其上并双击左键)。图符和图标所在的窗口对应的窗口对象可以响应这些事件,在事件发生时可以执行一些操作。窗体窗体是屏幕上的一个矩形区域。为了操作窗体本身,在顶上设有标题(Title)栏,显示窗体名(通常是该窗体代表的程序或程序块名)和类型。标题栏左端是该窗体的控制菜单图标,右端是最大化(还原)、最小化、关闭窗体的按钮(button)。标题栏下是菜单栏。菜单栏中列表的菜单名是本窗体允许的操作,这些菜单名中的一个一旦被选中,立即弹出其下拉菜单(如果有的话),让用户选择更具体的操作。下拉菜单也对应着对象,显示下拉菜单时实际上是菜单栏对象调用下拉菜单对象显示自己的方法。菜单栏下是工具栏。工具栏中图标按钮是对应于该应用程序的常用命令的快捷访问方式。一个工具栏上可以有多个按钮,因此一个工具栏对象可以对应多个按钮对象。工具栏下是工作空间。在工作空间中,程序员可以在打开的窗口中显示文档、编程、测试……工作空间的最下方是状态栏,显示该窗体信息的各种按钮(因应用不同显示的信息各不相同,按钮的语义也不同)。窗体的最外侧(上或下,左或右)设有滚动条,可以使工作空间中的内容上、下或左右滚动。菜单菜单是一矩形列表。列出对菜单所属窗体的操作,因此菜单也是方法集。一旦选定某项,菜单对象将调用窗体对象响应这个选中事件的方法,即执行某操作。每个选项又可以有子菜单,子菜单也是对象。当选项后有‘…’时,选定此项则会在屏幕上弹出对话框。各种框(box)不同用途的子窗口,根据需要弹出。一般有标题和窗口的关闭按钮。有正文框、检查框、对话框或用户设计的各种功能框。一般在窗体的工作空间中定义数据类型与编写操作这些数据的子例程或函数,就是为所打开的窗体类添加属性和方法。打开的窗体有一些已有的属性和方法,是父类的成员。在窗体中添加属性和方法实际上是在写派生类。还可以设置GUI元素的属性值,这就相当于GUI元素所对应的类进行实例化。例如CommandButton(命令按钮类)有属性Name、Caption,设置为cmdClose,Close之后得到CommandButton的一个实例对象cmdClose。Name的值实际上就是这个实例对象的变量名,以后就可以通过cmdClose来引用这个对象。上述的窗体中有标题栏、菜单栏、工具栏、滚动条、图标等,都是被嵌入的对象。4.2.2VC++平台界面启动VC++6.0中文版以后,屏幕上显示如图4.2所示的开发环境。开发环境界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口及状态栏组成。每个窗口左上角均有最小化、最大化(还原)和关闭按钮。各类窗口相互独立,可进行打开、关闭、移动、极大、极小化控制以及改变窗口大小。标题栏:项目名称及一些功能按钮。图4.3标题栏菜单栏:菜单栏包括了开发环境中几乎所有的命令图4.4菜单栏工具栏:工具栏包括一些菜单栏上的命令,可以更方便快捷地使用图4.5工具栏项目工作区窗口:项目工作区窗口包含用户项目的一些信息:类、资源以及文档等。它是VC++开发环境的最主要组成部分,编程的大部分工作都在项目工作区完成。项目工作区用来组织项目、文件和项目信息,它可以处理一个或多个工程所包含的文件及其子工程。一个项目工作区可以包含由不同的开发软件生成的工程,它以窗口的方式组织项目,文件和项目设置。用户可以双击相关项目打开相应的编辑器进行编辑。如:打开文本编辑器编辑类和源程序;打开对话框编辑器编辑对话框。项目工作区包含三种视图:类视图,资源视图,文件视图(1)类视图(ClassView):该视图显示项目中定义的C++类,VC++可以自动从项目工作区报好的源程序中提取出类。类视图可以察看工程中定义的所有类,以及类的数据成员和成员函数。双击相应的项目可以进入该类的代码编辑。右键单击某个类名或成员选择快捷菜单可以对该类数据成员或成员函数进行浏览、添加、删除等操作。(2)资源视图(ResourceView):资源视图可以显示项目包含的所有资源文件。在VC++中资源一共有七类:快捷键列表(Accelerator)、对话框(Dialog)、图标(Icon)、菜单(Menu)、字符串列表(StringTable)、工具栏(Toolbar)、版本(Version)。双击相应的资源即可打开相应的资源编辑器进行编辑。(3)文件视图(FileView):文件视图显示了所创建的工程中所有的文件。使用文件视图可以查看管理工程中的文件。但在文件视图中文件是以其逻辑关系组织起来的。其中VC的主要文件类型有:*.dsw(工作区文件)、*.dsp(项目文件)、*.CLW(含有ClassWizard编辑现有类或增加类的信息文件)、*.h(工程的头文件)、*.ccp(工程的源文件)、*.rc(项目的资源文件)。打开一个工程只需打开该工程的*.dsp文件即可。文档窗口:文档窗口显示源文件、资源文件、文档文件的程序代码。图4.9文档窗口输出窗口:输出窗口包括了编译、连接、调试等输出信息。图4.10输出窗口4.3Windows编程环境构件与控件编程环境广义上要包括硬件和软件。在这里要讨论的是操作系统之上的与编程有关的软件,如编辑器、编译器、链接器、代码执行器、调试器,直接支持编程的程序包(类库)、图形多媒体包、网络编程接口包等,以及各种支持应用程序开发的工具(如项目管理、各种GUI元素生成、数据交换与共享、线程管理等)。这些软件可以分为三类。第一类是支持从编写程序源代码开始到调试运行完毕的工具,这是历来就有的。但在早期,这些工具是孤立的命令,程序员只能是执行完一个后再执行下一个,如先调用编译命令编译源程序,然后调用链接命令链接目标代码……如果想中途切换(如调试器发现错误后调用编辑器让程序员修改后再编译)是不可能的。而集成开发环境(IDE)就可以做到在需要时切换,这提高了程序的开发效率。第二类在早期是函数包、链接库等,可重用性弱,而在当今是构件,可以高度重用,构件将对外提供的功能封装成接口(Interface)。在编程使用构件时只要知道构件的接口,知道构件提供的功能并通过接口使用构件,而无需关心构件的具体实现(如构件由什么语言开发,构件是处于本地还是远端等),因此,构件具有高度可重用性。目前VC和许多厂商提供了大量的能提供各种功能的构件,这为编写程序提供了很大的方便。当大量使用现成的构件时,实际上是在构造程序,而不是传统编程方法中的从头到尾地编写代码了。由于构件数量极大,快速查找和正确引用是IDE的重要问题。第三类是多媒体技术,图形工作界面出现之后的产物——在用户界面上的作为GUI元素的工作软件。微软把在窗体上和用户交互的GUI元素对应的软件叫控件(Control)。控件也是构件的一种,在编程时也是通过控件的接口来操纵控件。集成的开发环境(IDE)一个操作系统上支持编程的工具(第一类软件)越多,编程就越方便。但如果这些工具之间是孤立的,程序员要忙死,不是丢三落四就是搭配错误。因此,必须把它们集成起来,统一管理、正确使用。一个工具就是一个程序块,加工输入数据和输出结果数据。所以,首先要数据集成,即工具要识别数据类型、格式和存放在什么地方。第二是控制集成。工具是由IDE调用的,因此,它必须

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功