|



摘 要
随着网络时代的飞速发展与前进,切身感受到了它在生活中占据着越来越重要的地位,计算机软件硬件的快速跳跃式的发展,计算机广泛的应用于各行各业,包括医学,金融,教育,建筑等。但众所周知,单机的电脑并不能带来多大的益处,充其量不过是一台庞大存储设备或者说是一台快速计算的设备而已,只有能够联网的计算机才能发挥它的巨大优势,达到程序共享,资源共享,共同协作的目的。 谈到联网的计算机,就能想到它百纳海川的资讯,可以在网络的世界里找到自己想了解到的,自己想探索到的新知识,但是要想了解到这些资讯我们需要借助到一个工具,这就是我们每一个人都熟悉的----浏览器。 IE浏览器(3.0)起作为微软Windows系统捆绑销售的一个浏览工具,用来浏览千姿百态的网页,目前它已经占据了浏览器市场的半壁江山,成为Windows用户不可或缺的工具。首先,它的界面设计的很漂亮,如扁平按纽(按钮上的图像为灰色,当鼠标放在按钮上时,按钮突起,这种状态称为手柄,并且其上的图像变得鲜艳醒目)、按钮上的文字说明以及按钮边上的小黑三角形状的下拉箭头(单击时显示下拉菜单)、工具条上的地址输入栏等,都体现了Windows的风格;其次,它的收藏栏可以收藏用户喜爱的网络地址,这一切都为IE的流行打下了坚实的基础。
关键词: 开发环境,浏览器,MFC设计框架,IE内核,用户体验,简易
ABSTRACT With the rapid development of Internet, we can feel it is more and more important in our daily life. In the same way, hardware has got a impressive development, it provide us to share program, data, and more corporation. When we are talking about the WWW Internet, we will have a picture with very much information coming to us, how you to got such information, we have to get a tool called-----Web Browser. Internet Explorer 3.0 brought the Microsoft browser MUCH closer to the bar that had been set by Netscape than ever before (integrating frames, plug-ins technology and a reverse-engineered version of Javascript) while also innovating in new areas (CSS and VBScript.) But, when the companies released their fourth generation browsers, it marked a decided turning point in the so-called "war." Internet Explorer 4.0 was a tremendous leapfrog ahead of Microsoft's previous browser version. Most importantly, IE 4.0 finally met (or exceeded) most of the capabilities of its rival's browser. In the long intervening years since IE 4.0's release, Netscape took a long time to answer the challenge posed by IE. It took the Mozilla project more than 4 years to release its "1.0" version. Meanwhile, the market share for the Internet Explorer browser has finally succeeded in its goal of having dominant market share. It now commands (by many reports) approximately 80% of the browser market or more, with Netscape trailing far behind.
Keyword:IDE, Browser,MFC Framwork, IE based, User Expression
目 录 摘 要 I ABSTRACT II 绪 论 1 一. 课题背景 1 二. 系统开发相关技术介绍 1 三. 本文的章节结构 7 第1章 系统分析 8 1.1 系统可行性分析 8 1.2 系统需求分析 9 1.3 系统的开发环境 9 1.4 数据流图 10 1.5 数据字典 10 1.6 本章小结 10 第2章 系统设计 11 2.1 程序流程图 11 2.2 功能模块图 12 2.3本章小结 14 第3章 设计实现 15 3.1 浏览器的UI界面设计 15 3.2浏览器的功能实现 19 3.3浏览器的部分核心代码 24 3.4本章小结 24 第4章 测试维护 25 4.1系统测试概述 25 4.2 功能测试 26 4.3 系统测试 27 4.4 系统维护 28 第5章 设计心得 29 5.1 需求分析与系统设计阶段心得 29 5.2 测试阶段心得 29 5.3 系统实施和维护阶段心得 30 结 束 语 31 致 谢 32 参考文献 33 附录A 程序中的核心代码 34 1.’智能地址栏’功能实现代码: 34 2.’组合地址栏’ 类实现代码: 35 3.获取指定窗口名句柄类实现:(参考) 39 4.收藏夹技术实现代码:(参考) 41
第1章 系统分析 浏览器是上网必须的工具,在以前大部分使用Windows系统的人,都会选择系统绑定的IE(Internet Explorer)来浏览网络,只有少数的人会选择Netscape浏览器或者其他的产品。IE一直占领这超大份额的市场,市场上也出现了各种基于IE核心的浏览器,我们称之为IE流,但是现在用户有了更多的选择,Netscape有了新的技术突破,Mozilla的开源Firefox和Opera的新版本不断推出,一起冲击IE的统治地位,尤其是这两年很火的Firefox。但是作为用户还是期望能拥有一个更具个性的浏览器,能为其提供更丰富体验的浏览器。 1.1 系统可行性分析 任何一个课题在开始系统设计前,进行可行性研究是必不可少的一个环节。可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 针对本次毕业设计课题,我从下面几个角度进行了可行性分析:
(1) 技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。 该系统采用了当前流行的VC++6.0工具开发平台,借助MFC框架向导生成Windows应用程序,并结合数据结构中图的应用共同完成,因此,系统的软件开发平台已成熟可行。 硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
(2) 经济可行性 本浏览器完全继承IE内核,对于用户使用上无论是硬件还是软件都无需再投入,即可获得比系统自带IE来的更加个性的浏览器,在经济上不会给用户增加任何负担;对于开发者,由于使用IE内核,无需再对浏览器内核进行再次开发,有相对较多的开源项目可以参考,开发者无需付出多余的版权费用,即可进行程序开发,故本程序的经济上是可行的.
(3) 操作可行性 本浏览器的操作界面完全考虑用户的使用习惯,进可能多的模仿了IE的界面,但又不完全的模仿,增加了相当多的个性化操作特性,如智能地址栏等。
(4) 运行可行性 本浏览器精巧紧凑,程序为单文件绿色版大小仅为400多K,只要是Windows系统,带有IE浏览器即可使用本程序,这也是为何本程序摒弃.NET框架的主要原因,毕竟不是所有用户都愿意为了使用一个浏览器而安装一个.NET Framework安装包,这无论在系统资源成本上,还是用户操作成本上,本程序的运行都是可行的。 1.2 系统需求分析 随着互联网技术的发展,更多浏览器用户选择了第三方程序,给很多第三方开发商提供了契机。 不可否认,浏览器这些年已经取得了日新月异的发展, 涌现出了许多不同内核优秀浏览器,但是IE内核的浏览器还是占据着主流地位.这次也选择以IE为内核的浏览器开发.操作方面尽量模仿原著IE,但是功能以及界面上,都将进行重新设计,以稳定,简约为主题,尽力挖掘IE内核的设计资源. 本浏览器设计的最终目的就在于给浏览器用户提供更个性,更深刻,更实用的用户体验。
第5章 设计心得 通过这次简易WEB浏览器设计与开发项目,充分检验了过去所学的专业知识,同时,积累了相当的开发经验,对软件过程有了更深刻的理解和体会。 5.1 需求分析与系统设计阶段心得 系统分析在任何一个开发过程中都起到举足轻重的作用,系统分析也是软件设计过程中必不可少的一个阶段。需求分析寄托设用户的期望,设计者的工作要求,正确、完善的需求分析,可以大大降低系统的风险,提高系统的开发效率.在设计过程中,我们深知这一点,所以我大量观察同学的日常使用习惯,对常用功能进行统计,使浏览器的功能尽可能的满足需求。 系统设计的重要性不言而喻,它是整个设计过程中最重要的一个环节,它是构架合理、正确的系统框架必不可少的一个阶段,当然设计中也遇到了不少问题,有些功能并不是那么实用,实现过程也不是那么一帆风顺,这也就要,在实现阶段灵活应变了,比如,原先的专门用来搜索的工具条就被后来的智能地址栏所取代。 正如上面提到的那样,深入需求分析,加上模块化的细致系统设计,还有老师同学的鼎力支持与帮助,大量的参考相关资料,很快许多原本复杂的问题,就得到了简化,最终得以解决。 5.2 测试阶段心得 软件的测试,是确保软件得以安全稳定运行的必要过程。当然在刚开始设计,这一点被就充分认识到,测试的重要性,所有,在设计的每个阶段,我们都进行了认真的单元测试,功能测试。虽然,在测试过程中遇到了不少的问题,但是,通过认真的排查、收集资料、寻求老师同学帮助,最终得以让程序在尽量多的Windows版本中进行实际操作运行测试,尽量减少因为系统版本以及IE版本差别带来的软件兼容性问题,最终完满的结束了所有测试项目。 程序设计接近尾声的时候,出现了一些问题,不过,由于在单元测试过程中,积累了相当的经验,问题最终得到了高效的解决。测试是一定程度上依赖于你对程序的了解程度,也就是说你应该具有比较好的实践经验.我想只要肯脚踏实地的实践与练习,就能有效的提高测试技巧与能力。
Abstract
With the rapid development of the Internet age forward, personally felt that it occupies in the life of an increasingly important role, computer software and hardware development of the rapid jump, the computer used in a wide range of industries, including medicine, finance, education, construction and so on. But we all know, stand-alone computer and can not bring much benefit, at best, but a large storage device, or said to be a fast computing device only, and only be able to play networked computer to its great advantage, to programs to share resources, sharing, collaboration purposes. On networked computers, will be able to think of it 100 Nahai Chuan information can be found in the network they want the world learned, she wanted to explore new knowledge, however, to understand that this information into a tool that we need help This is every one of us are familiar with ---- your browser. IE browser (3.0) onwards, as Microsoft's bundling of the Windows system, a browser tool that strange things used to browse Web pages, currently it has accounted for half of the browser market has become an indispensable tool for Windows users. First of all, its interface design is very beautiful, such as flat buttons (the button on the image to gray, when the mouse button, the button is protruding, this state is called the handle, and its eye-catching on the image becomes bright) the button on the text description as well as the small black button on the edge of the triangular shape of the drop-down arrow (click to display the drop-down menu), the toolbar's address input field, have reflected the style of Windows; Second, it's collection column can be your favorite collection network address, all of IE's popularity has laid a solid foundation.
Keywords: development environment, browser, MFC design framework, IE kernel, user experience, easy
ABSTRACT With the rapid development of Internet, we can feel it is more and more important in our daily life. In the same way, hardware has got a impressive development, it provide us to share program, data, and more corporation. When we are talking about the WWW Internet, we will have a picture with very much information coming to us, how you to got such information, we have to get a tool called ----- Web Browser. Internet Explorer 3.0 brought the Microsoft browser MUCH closer to the bar that had been set by Netscape than ever before (integrating frames, plug-ins technology and a reverse-engineered version of Javascript) while also innovating in new areas (CSS and VBScript.) But, when the companies released their fourth generation browsers, it marked a decided turning point in the so-called "war." Internet Explorer 4.0 was a tremendous leapfrog ahead of Microsoft's previous browser version. Most importantly, IE 4.0 finally met (or exceeded ) most of the capabilities of its rival's browser. In the long intervening years since IE 4.0 's release, Netscape took a long time to answer the challenge posed by IE. It took the Mozilla project more than 4 years to release its "1.0" version. Meanwhile, the market share for the Internet Explorer browser has finally succeeded in its goal of having dominant market share. It now commands (by many reports) approximately 80% of the browser market or more, with Netscape trailing far behind.
Keyword: IDE, Browser, MFC Framwork, IE based, User Expression
Directory Summary I ABSTRACT II Introduction 1 1. Topic Background 1 2. System Development Related Technology 1 3. 7 chapters of this article Chapter 1 Analysis 8 1.1 System Feasibility Analysis 8 1.2 System Requirements Analysis 9 1.3 System Development Environment 9 1.4 Data Flow Graph 10 1.5 Data Dictionary 10 1.6 Chapter Summary 10 Chapter 2 System Design 11 2.1 The program flow diagram 11 2.2 Functional Block Diagram 12 2.3 Chapter Summary 14 Chapter 3 Design and Implementation 15 UI Browser 3.1 Interface Design 15 3.2 The functions of the browser implementation 19 3.3 browser part of the core code 24 3.4 Chapter Summary 24 Chapter 4 test and maintenance 25 4.1 System Testing Overview 25 4.2 Functional Testing 26 4.3 System Test 27 4.4 System Maintenance 28 Chapter 5 Design experience 29 5.1 Requirements analysis and system design phase of experience 29 5.2 The testing phase experience 29 5.3 system implementation and maintenance stages of experience 30 Conclusion 31 Thanks 32 References 33 Appendix A core program code 34 1. 'Smart Address Bar' function realization Code: 34 2. 'Combination of the address bar' class implements the code: 35 3. Access to the specified window handle classes were achieved: (Reference) 39 4. Favorite technology to achieve code: (Reference) 41
Chapter 1 System Analysis Browser is Internet access to the tools used in the previous Windows system, the majority of people would choose the system binding IE (Internet Explorer) to browse the network, only a minority of people will choose Netscape browser or other products. IE has occupied the large share of the market, the market has also witnessed various browsers based on IE core, which we call IE flow, but now customers have more choices, Netscape has a new technological breakthrough, Mozilla's open-source Firefox, and Opera has introduced a new version, along with the impact of IE's dominance, particularly in the past two years a very fire Firefox. However, as the user is still expected to have a more personalized browser could provide a richer experience for their browser. 1.1 System Feasibility Analysis Any one subject at the beginning of system design prior to conducting a feasibility study is an essential part. Feasibility Study (Feasibility Analysis), also known as a feasibility study is based on surveys in the system for the development of the new system is with necessity and possibility of the development of the new system from the technical, economic and social aspects of the analysis and research, in order to avoid investment mistakes, to ensure the successful development of the new system. The purpose of the feasibility study is to use the smallest cost in the shortest possible time to determine whether the problem be solved. The design issues for the graduation, I have a few angles from the following feasibility analysis:
(1) technical feasibility Analysis of the technical feasibility analysis is mainly technical conditions for the smooth completion of development work, hardware and software can meet the needs of developers. The system uses the current popular tool for VC + +6.0 development platform, using the wizard-generated MFC framework for Windows applications, data structure diagram in combination with the application of the common complete, the system software development platform has matured feasible. The hardware side, the rapid development of science and technology today, the hardware update at an increasing rate, increasing the capacity, reliability, getting higher and higher, the price getting lower and lower, their hardware platform that is fully able to meet the system requirements.
(2) the economic viability The complete succession of IE browser kernel, the user use either hardware or software no longer need to invest, you can get to than the system comes with more personality IE browser to users in the economy will not add any burden; for the developers, due to the use IE core, no longer need to carry out re-development of the browser kernel, there are relatively more open source projects can reference, developers do not need to pay extra copyright fees, they can be program development, so this program economically is feasible.
(3) Operating Feasibility The browser user interface into full consideration the user's habits may be more into the imitation of the IE interface, but not a complete imitation, an increase of a considerable number of individual operating characteristics, such as smart address bar and so on.
(4) Run the feasibility of This sophisticated compact browser, the program as a single file size of just over 400 green version of K, as long as Windows systems, with the IE browser to use this program, which is why this procedure abandoned. NET framework, the main reason, after all, is not a All users are willing to use a browser to install a. NET Framework installation package, which cost in terms of system resources, or the user operating costs, on the operation of this program are feasible. 1.2 System Requirements Analysis With the development of Internet technology, more browser, the user selects a third-party program, to many third-party developers an opportunity. It is undeniable that the browser has been made in recent years rapid development, and emerged a number of different kernel excellent browser, but IE browser, the kernel is still occupy the mainstream position. On this occasion I choose to IE browser for the kernel development. Operation as far as possible to imitate original IE, but the functionality and interface, will be re-designed to stability and simplicity as the theme, try to tap the IE core design resources. The browser, designed for the ultimate goal is that the browser provide users with more personality, more profound, more useful user experience.
Chapter 5 Design experience Through this simple WEB browser design and development projects, fully tested the expertise learned in the past, while the development has accumulated considerable experience in the software process have a deeper understanding and experience. 5.1 Requirements analysis and system design phase of experience Systems analysis in any development process have played a decisive role in the process of software design, systems analysis is an essential stage. Needs analysis sustenance-based user expectations, the designer's job requirements, correct and complete needs analysis, we can greatly reduce system risks and enhance the efficiency of system development. In the design process, we know this, so I observed a large number of students the daily habits of the commonly used statistical functions, so that the browser's capabilities as much as possible to meet demand. The importance of system design is self-evident, it is the most important throughout the design process of a part, it is a reasonable framework, the correct framework for an essential phase of the system, of course, the design also encountered many problems, some features is not so practical, the implementation process is not so smooth, it is also necessary in achieving the flexibility of the stage, for example, originally designed to search toolbar was later replaced by the smart address bar. As mentioned above, as in-depth needs analysis, coupled with the modular system design detail, as well as the teacher students for support and help, a lot of reference to relevant information, and soon many of the original complex problem, it has been simplified, the final can be resolved. 5.2 The testing phase experience Software testing is to ensure that the software necessary to ensure the safe and stable operation of the process. Of course, in the beginning of the design, it has been on the fully recognizes the importance of testing, all in the design of each stage, we have carried out a careful unit testing, functional testing. While in the testing process has encountered many problems, but through careful investigation, gather information, to find teachers to help students and eventually able to make the program as many as possible of the Windows version of the actual operation carried out running tests to minimize because the system version of the as well as the IE version of the software compatibility problems caused by differences in the final perfect end to all the test items. Towards the end of program design, there are some problems, however, because the unit testing process, he accumulated considerable experience, the problem has finally been efficiently solved. Test is to some extent depends on your level of understanding of the program, which means you should have a good experience. I think as long as the down to earth willing to practice and practice, can effectively improve testing skills and abilities.
|