单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2019-7-18,谢谢欣赏,*,中央广播电视大学开放教育,安徽广播电视大学试点课程,实用软件开发工具与环境,1,谢谢欣赏,2019-7-18,中央广播电视大学开放教育实用软件开发工具与环境1谢谢欣赏,第一讲,:,软件开发工具与环境概论,一、课程介绍。,二、软件和软件开发工具的概述。,三、基础知识。,四、实例。,2,谢谢欣赏,2019-7-18,第一讲:软件开发工具与环境概论一、课程介绍。2谢谢欣赏2,一、课程介绍。,1,、课程的性质和任务,“软件开发工具与环境”计算机科学与技术专业,本科生的一门重要课程。,Visual C+,是一门最好的,实用软件开发工具,它通过各种各样的方法,使,C+,语言得以实现,而且能非常方便的进行,Windows,编程。,本课程从软件开发工具开始讲起,一步一步的,把学员引导到,Visual C+,这个工具中来,然后以,理论和实践相结合的方法,介绍当今最重要的,一些编程和编程思想。,3,谢谢欣赏,2019-7-18,一、课程介绍。1、课程的性质和任务3谢谢欣赏2019,2,、教学的基本要求,1,),进一步掌握和巩固面向对象的基本概念和,使用面向对象技术进行程序设计,(OOP),的基本思想。,2,),掌握面向对象编程环境,Visual C+,软件开发,工具的使用。,3,),清楚,Windows,程序设计的编程思想,能比较,熟练的使用,C+,语言和,MFC,类库进行一般的,Windows,程序设计。,4,谢谢欣赏,2019-7-18,2、教学的基本要求4谢谢欣赏2019-7-18,3,、学时分配,课程教学,总学时数,为,72,学时,,4,学分,,其中课内,学时,48,,,实验,24,5,谢谢欣赏,2019-7-18,3、学时分配5谢谢欣赏2019-7-18,4,、考核,6,谢谢欣赏,2019-7-18,4、考核6谢谢欣赏2019-7-18,熟悉软件开发工具,VC+,的集成环境,利用向导编制,最简单的应用程序。,编写一个多线程程序,能够对线程进行操作。,熟悉多媒体编程,编写一个小型的看图程序。,练习将一个对话框资源放入,DLL,中的方法。,利用,ODBC,类,操作,Access,数据库。,练习使用,Socket,编制网络程序的一般方法。,写一个最小的,COM,程序,熟悉,COM,的基本框架。,生成一个,ActiveX,控件,并对其进行测试。,练习编写容器程序和相应的服务器程序。,10,练习自动化服务器和容器的编写方法。,11,活动模板库的编写方法。,5,、实践安排:,7,谢谢欣赏,2019-7-18,熟悉软件开发工具VC+的集成环境,利用向导编制 5、实,6,、重难点内容:,重点内容,:,多任务与多线程 数据库编程 网络编程,ActiveX,控件,难点内容,:,服务器编写 链接库,四,.,删除内容,:,混合编程 自定义,VC+,工具,介绍内容,:,概述 多媒体编程 组件对象模型 活动模板库,8,谢谢欣赏,2019-7-18,6、重难点内容:重点内容:难点内容:四.删除内容:介绍,二、软件和软件开发工具的概述。,1.1,软件及其发展过程,早期时代,(60,年代中期之前,),程序设计阶段,关键词,:,穿孔卡 第一代语言 机器语言,01,代码 效率低,程序系统阶段,(60,年代中期到,70,年代中期,),关键词语,:,硬件制造商提供程序系统 应用程序由用户自己,开发 高级语言开始出现,软件工程阶段,(70,年代中期之后,),关键词语,:,软件危机,(P2),4.,自动程序阶段,危机原因,:,软件需求大,规模大,-,客观原因,软件本身特点,-,主观原因,9,谢谢欣赏,2019-7-18,二、软件和软件开发工具的概述。1.1 软件及其发展过程危机,总结,:,程序设计时期 使用汇编及机器语言编程,程序的,设计、编写、维护是同一人。,程序系统时期 使用高级语言编程,另编有程序,说明书,.,软件开发人员不能满足软件发展的需求,出现软件危机。,软件工程时期 在集成的开发环境中按软件工程,的思想开发各种软件。有完整的开发周期,注重软件,的重用和后期的维护。有一定的进步,但根本问题,没有解决。,4.,自动程序阶段 正在研制,如,UML2,语言。,10,谢谢欣赏,2019-7-18,总结:10谢谢欣赏2019-7-18,1.2,软件工程,(,略,),1.3,软件开发工具,-,开发过程管理软件,PVCS,PVCS:,在软件开发过程中可以完善地管理软件,系统中的多个版本,;,自动创建完整的文档,保障软件,的维护,;,全面记载系统开发历史过程,包括谁做了,修改,修改了什么,为什么修改,;,管理和追踪开发过程,中危害软件质量以及影响开发周期的缺陷和变化,;,管理需求分析等,.,11,谢谢欣赏,2019-7-18,1.2 软件工程(略)11谢谢欣赏2019-7-18,2.,优点,:,规范开发过程,缩短开发所需的时间,减少,开发成本,;,完善详细地记载了开发历史过程,便于软件维护,;,通过排除开发中的错误,加强,软件一致性和可重用性,提高软件质量,.,12,谢谢欣赏,2019-7-18,2.优点:12谢谢欣赏2019-7-18,3.ISO9000,及,SEI,的,CMM,质量标准,:,ISO:,上,International Standards Organization,-,国际标准化组织,CMM:Capability Maturity Model-,能力,成熟度模型,.,分为,5,个等级,:,初始级,可重复级,已定义级,已管理级,优化级,.,其它,:IEEE,13,谢谢欣赏,2019-7-18,3.ISO9000及SEI的CMM质量标准:13谢谢欣赏20,1.4,常用工具介绍,:,VB:,划时代的产品,(Microsoft),交互式开发平台,.,优点,:,编程容易,时间短,效率高,.,VB6,已成为,32,位编程语言,.,运行速度有明显的提高,.,因采用本地代码编译器,.,缺点,:,运行速度不如,VC+.,数据类型不够灵活,.,不能灵活地使用系统资源,.,项目分发和管理困难,需运行库和控件集支持,.,14,谢谢欣赏,2019-7-18,1.4 常用工具介绍:14谢谢欣赏2019-7-18,Delphi,是,Imprise(,原来的,Borland),产品,源于,Pascal,支持硬件,操作和,API,调用,.,也是一个交互式开发平台,支持本机和服务器,编程,.,优点,:,支持面向对象编程,.,编译速度快,超过,VC+,具有本地代码编译器,执行速度,也快,.,有完善的数据处理能力,其数据库编程能力很强大,.,真正的可视化编程工具,.,提供了对标准技术的完整支持,.,如线程,同步等,.,提供对最新技术支持的能力,.,有大量第三方构件产品和工具的支持,.,缺点,:PASCAL,语言的流行范围有限,.,高版本到低版本的移植有困难,甚至不可能,.,单片机中只有汇编和,C,两种语言,.,低层开发中没有市场,.,15,谢谢欣赏,2019-7-18,Delphi是Imprise(原来的Borland)产品,源,C+Builder,是,Imprise,产品,源于,C,语言灵活,编程,效率高,易学易用,.,与,WINDOWS,系统兼容性和新技术,的使用要比,VC,差一些,有“,聪明程序员用,C+BUILDER,真正的程序员有,VC+,”,4.VC+,是,Microsoft,产品,.,特点,:VC,保持了,C,的灵活性和高效率,增加了面向对象,和利用,MFC,类库,.,充分利用,MFC,类库的代码,.,许多标准程序自动生成,.,多种工具的支持,如,APPvizard,CLASSvizard,APPstudio.,有大量的基类可供使用,如,CwinApp,CFramWnd,CMDIFramWnd,CMDIChildWnd,Cview,CDocument,CDC.,标准化的结构,移植容易,修改方便,.,VC+,与,MICROSOFT,相结合,将会更加流行和普及,.,16,谢谢欣赏,2019-7-18,C+Builder是Imprise产品,源于C,语言,1.5 windows,操作系统和程序和特点,.,操作系统的特点,:(,见,P9,10),程序设计特点,:,面向对象的程序设计思想和方法,.,事件驱动的程序设计,消息与消息循环,.,按来源分消息有三种,:,硬件产生的消息,如键盘和鼠标的输入,.,系统产生的消息,如系统时钟和,WINDOWS,产生的消息,.,用户界面产生的消息,如用户菜单和对话框产生的消息,.,4.,图形界面实现更容易,.,17,谢谢欣赏,2019-7-18,1.5 windows操作系统和程序和特点.17谢谢欣赏2,三、基础知识。,1.,程序头,:,Int WINAPI WinMain(,HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR pszCmdLine,Int nCmdShow ),hInstance,是当前程序句柄,hPrevInstance,低版本实例,在,WIN3.1,以前用到,WIN95,及,以上版中为,NULL.,pszCmdLine,传入本程序的命令行参数,.,nCmdShow,初始化显示窗口参数,值有三个,:,SW_SHOWMAXIMIZED,SW_NORMAL,SW_SHOWMININIZED,18,谢谢欣赏,2019-7-18,三、基础知识。1.程序头:hInstance,消息结构,typedef struct tagMSG,HWND hwnd;,UINT message;,WPARAM wParam;,LPARAM lParam;,DWORD time;,POINT pt,hwnd,窗口句柄,message,消息值,wParam,消息附加信息,lParam,消息附加信息,time,消息发送到队列的时间,pt,消息发送时屏幕光标的坐标,19,谢谢欣赏,2019-7-18,消息结构 hwnd 窗口句柄19谢谢欣赏2019-7-18,几个重要函数,应用程序的窗口类必须由,WINDOWS,初始化和,注册一次,在第一实例运行时,WINDOWS,调用,RegisterClass(),注册,将数据发送给,WINDOWS,并保存在,USER,堆中,.,第二步通过调用,CreateWindow(),建立应用程序窗口,.,在,WinMain(),中通过调用,ShowWindow(),和,UpdateWindow(),来显示和刷新窗口,.,20,谢谢欣赏,2019-7-18,几个重要函数20谢谢欣赏2019-7-18,2.,匈牙利命名法,A.,前缀意义,21,谢谢欣赏,2019-7-18,2.匈牙利命名法A.前缀意义21谢谢欣赏2019-7-1,B.,命名时采用英文,C.,对象用小写字母开头,D.,宏和常量都大写,E.,类的名称一般用,C,开头,F.,尽量形成自己的一套风格,22,谢谢欣赏,2019-7-18,B.命名时采用英文22谢谢欣赏2019-7-18,3.,程序结构流图,:,开始执行,初始化应用,初始化窗口,消息循环,WM_QUIT,退出循环,本应用程序处理,默认处理,处理消息,WinMain(),InitApplication(hInstance),InitInstance,(hInstance,mCmcshow),While(),WndProc(),23,谢谢欣赏,2019-7-18,3.程序结构流图:开始执行初始化应用初始化窗口消息循环WM,四、实例。,(,见,P1922),24,谢谢欣赏,2019-7-18,四、实例。(见P1922)24谢谢欣赏2019-7-18,