基于软件工程的Web开发与应用
2022-03-29曹嵩彭王鹏宇
曹嵩彭,王鹏宇
(山西应用科技学院 山西 太原 030000)
0 引言
传统的Web形式非常简单,并且传递的信息也比较简单,通常是通过图片和超链接的方式来实现。然而,随着互联网技术的发展和人们对网络技术需求的提高,Web传播的信息量越来越大,传播方式也变得多种多样。Web和数据密不可分,因此基于软件工程的Web开发与应用越来越重要,同时Web应该处理好软件开发的完善和优化等工作。
1 软件工程技术
随着互联网技术和现代信息电子技术的快速发展,人们对软件开发技术的需求越来越高。在软件开发工程技术的发展建设过程中,具体呈现以下两个方面:(1)软件开发工程技术应用领域范围较广,其应用于系统开发、数据、测试等IT领域,所以现在许多计算机软件企业对软件开发工程专业技术人才的需求量越来越大[1]。(2)软件开发工程技术就业门槛高,所以企业在应用软件开发等相关工作方面对技术人员的专业素质水平要求相对较高,非专业技术人员往往无法真正从事此类工作[2]。
软件工程技术具有开放性和模块性。开放性是当前软件信息工程技术的资源共享性,当前软件信息工程技术慢慢走向全球化发展,实现资源共享化。模块性使软件工程技术拥有相对独立的技术框架并能进行匹配使用。随着企业的持续发展与市场竞争越来越激烈,软件技术工程体系越来越庞大。而软件工程技术专业性高,拥有独特的逻辑理论体系与技术理论研究框架[3]。计算机软件企业在进行软件开发的工作过程中可以直接结合理论,运用已有的软件理论技术框架来进行软件技术开发,这样既能大大提高企业软件开发的工作效率,也可以提高整个企业的实际技术综合竞争力[4]。
2 Web开发模式
在Web软件开发系统模式中,有两个主要的软件开发模式结构,分为开发模式一和模式二。
2.1 模式一
模式一指的是在整个软件开发工作过程中,将软件的处理层、控制层、显示层、数据层的所有模式统一数据提交发送给一个新的JSP或者一个JavaBean,然后这种模式就可以自动化地进行所有数据处理[5]。
缺点:程序的可读性差、复用性低、代码复杂,很难有效使用。
优点:开发速度快,只要写JSP就可以,JavaBean和Servlet都不用设计。小幅度修改网页上的代码方便,可以直接进行修改,编译成JSP,然后把要求页面上的代码直接交给Web这个新的容器就可以处理,不过像Servlet容器文件还要直接把它编译成class的容器文件,最后还要把它交给其他几个服务器处理。
2.1.2 使用JSP+JavaBean做开发
缺点:没有任何流程参数控制,程序请求中的JSP和每个页面都需要实时检查请求的流程参数设置是否正确和异常事件的发生。并且显示处理操作和业务处理逻辑数据等在代码中的工作会紧密联系在一起,日后进行维护会更困难[6]。
2.2 模式二
模式二中所有的开发都是以客户Servlet为开发主体进行展开的,由客户Servlet开始接收每个客户端的视频请求,然后根据每个请求结果调用所对应的程序JavaBean,同时所有的视频显示请求结果都要提交给客户JSP来完成,这就是我们俗称的MVC开发设计模式,见图1。
显示内容层(View):主要功能负责显示接受用户Servlet要求和所传递的显示内容,调用层JavaBean将传递内容通过显示层发送给其他用户。
控制处理层(controller):主要工作负责关于用户的每个请求处理参数,同时判断用户请求中的参数类型是否符合规格,根据用户请求的文件类型指定调用函数JavaBean,将最终的请求处理结果提交给用户显示控制处理层进行显示。
通过以上阐述可以看出,建筑设计的类型以及新型设计理念不断更新换代,人们对于不同文化以及设计方式的理解不断深入,建筑设计师必须把室内外设计科学结合,从而从根本上提升建筑设计的整体审美体味,促进我国建筑设计行业可持续发展。
模型管理层(mode):模型管理层主要负责整理接收数据。
3 基于CORBA组件技术的Web系统模型
在corbaWeb的多种分布式应用组合计算方法模型中,利用applet等函数来设计实现Webcorba多种集成应用计算模型是目前较为成熟和具有发展前景的一种模型。客户端向一个coWebserver发出网页管理请求时,网页客户applet实现会基于一个CORBA的网页管理客户程序的java网页来实现,并且它是与CORBA的网页客户捆绑在一起的[7-8]。浏览器在自动请求用户访问该网络对象applet时,applet作为一个基于CORBA种类的前端客户程序就会自动解释请求远程用户访问网络服务器的对象。当远程分布式应用触发对象前端直接得到模型的一个请求后,系统会对这个请求方法的结果直接作出一个返回响应,最后将方法请求后的结果发送给远程应用浏览器,从而用户可以直接实现分布式应用[9]。
一般情况下,这种设计处理方法可以直接用于处理基于abcgi等设计方法的实现,但不能直接使用复杂的设计应用程序。这样就可以有效率地实现远程客户浏览器和远程主机用户的交互,从而也就可以有效实现复杂的分布式应用处理。同时,由于软件全部使用了applet等语言作为手机软件客户端程序,使得该客户端的各类手机软件用户界面视觉设计效果非常好,直观贴近手机使用用户,使用户满意度大大提高。
4 制约Web前端优化的因素
当今Web技术发展迅速,但是仍然有很多因素限制了Web前端优化发展。
4.1 Browser/Server结构
用户在浏览网站的过程中,必须经过如下过程:输出URL解析域名IP地址,发送到Web服务器进行浏览诉求→向服务器确定,并搜索资源文本,并回复服务器向服务器发送HTML文件→向页面接受HTML文件并要求资源文本向服务器确定资源文件是否发送到页面→Web浏览器接收数据并渲染→最后,浏览通过。所以,Browser/Server架构在目前仍然是Web发展过程中所面临的一个难点。
4.2 浏览器连接的限制问题
HTTP协议中还规定,为防止服务器拥挤的问题,服务器与客户端相互之间的最大并发链接数量将面临着数量的约束,在同一个时点内,服务器、客户端相互之间的最大持续链接数为1个。但是,在Web网站的现实浏览中,许多情况下是难以避免第2次链接的问题,比如IE网站在打开第2次链接时,可能会出现一些问题。
5 Web前端优化对策
根据上述谈论的制约Web前端优化的因素可以发现,要进行Web的前端优化,必须进行以下步骤。
5.1 Browser/Server结构优化
可在服务器、HTTP请求、加载、Ajax等方面,对Browser/Server架构展开优化工作。
5.1.1 服务器方面
现在最常见的解决方案是优化网页的域名,用Gzip压缩网络资源,改变缓存的设置。常见的服务器设备类型通常包括塔式服务器、机架式服务器设备和刀片式服务器设备,而现代Web服务器设备通常使用前两种。
5.1.2 HTTP请求方面
HTTP请求优化指的是通过如何优化申请的各种资源,比如对图像做出优化管理的实例,或者通过CSS Spretes技术来提高发送效果。
5.1.3 Ajax方面
这个方案主要是指充分利用Ajax技术(cacheable)来增强功能,因为Ajax技术本身就是异步的,利用传输的异步差异可以为用户提供更快的访问体验。但是这些方法也会导致用户花费一定的时间等待JavaScript,而Ajax的优化效率主要取决于使用什么异步优化方法,使用什么访问方法。
5.2 二次链接优化
目前二级链路优化主要通过协调调度进行,而TDD (Test-Driven Development)是敏捷产品开发的核心实践和技巧。其基本原理是在创建产品功能代码之前编写单元测试用例的代码,测试代码定义产品代码。基本思路是用软件测试带动整个产品开发过程,但软件测试不是简单地测量工作,是把需求分解、产品设计以及品质管理量化的过程。当使用者在浏览页面的时候,能够通过合理安排、调整浏览Web页面的时间次序,从而协调使用错误或反复登录所导致的一些问题,最终也能够缩短使用浏览网页时用户等待的时间。浏览器在用户登录网页的时候合理介入,并做出了相应的限制动作,目的就是要使TDD、TSR最大可能地降低。由此,因二次接入所产生的拥堵问题也就得到了合理处理。
6 网页访问的控制策略
6.1 防止暴力破解
用户登录系统时,需要设置复杂的图形或Flash验证码,并记录用户尝试登录的次数。如果他们尝试太多次,应该禁止他们登录。
6.2 用户输入数据加密
使用者所填写的账号注册密码的数据安全非常关键,所以需要对所用的密码实行加密管理,登录网页的数值传递应当采取安全可靠的POST方法,而不能采取Get方法,密钥应当实现不可逆的秘密运算(如MD5加密),在数据传输流程中尽可能采取严密的HTTPS协定,以免攻击者利用抓包盗取使用者数据信息。在数据库系统中所存放的用户数据也将采取更严格的保密,并禁止明文方法存放用户密码。
7 Web技术开发平台实现
Web技术开发平台可以从以下几个环节来实现。
7.1 网页服务器实现
首先,应选用一种相对安全的服务器操作系统,在安装控制系统后,应对该控制系统设定一套足够繁琐、独特的密码设置。通过网络防火墙、入侵侦测管理系统、网络安全审计系统、服务器监测管理系统等对服务器上系统文档的授权做出限制。
7.2 传输实现
网页通常以B/S模式传输,因此数据传输的安全性非常重要。数据传输的安全性是防止服务器和客户端网页之间数据传输的数据包被窃取、修改和截获。或者自己购买并签订一个相对安全的证书,所有的数据包,尤其是敏感字段,在传输之前都必须进行加密,以确保其安全性。所以,就必须通过比较安全的HTTPS方法实现网页浏览,以防止数据信息被盗取和修改。而对各种数据截获方面的防范,则应该通过对日常行为数据分析等方法,及时发现。
8 Web的开发应用过程
在Web开发过程中,无法提前知道用户的需求,也无法很好预期开发结果。因此,有必要建立一个适合Web开发的模型。
8.1 建立Web初步模型
在Web开发之前,我们已经知道了用户的初步需求。在这一点的基础上,我们应该建立一个初步的Web模型,并且这个模型必须快速建立。而利用已有的模板并且结合用户的需求,可以快速构建初步模型。
8.2 用户试用交流意见
Web产品设计需要先了解用户的需求和细节要求,当一个初步的Web产品模型的设计建立完成后,需要让其他用户及时测试,尽快接收用户给予的反馈和一些需要改进的地方,开发者会根据测试用户的实际反馈进行一些修改。修改完成后,可以让一些用户进行试用,然后根据用户的试用结果进行改进,最终得到最优的Web产品设计。此外,开发人员和测试及试用用户之间应及时进行实时的意见交流[10]。
8.3 Web的产品设计
在设计了一个Web产品程序之后,开发者可以基于这个产品设计一个Web总体布局和应用数据库,同时完成其功能和系统性能的综合设计。在Web产品的设计开发过程中,设计的核心应该满足用户的实际体验需求,因为Web最终目标是服务于广大用户。
8.4 测试和检测过程
Web软件的主动测试是Web软件开发和应用过程中不可缺少的一个测试过程。这个测试过程不仅是为了让现有用户尽可能积极地参与测试,也是为了让软件开发人员有效地进行检测和改进。在检测过程中,开发人员不仅要仔细检查网站的软件设计需求是否与产品规格一致,同时还要仔细检查网站的软件兼容性设计是否满足用户的需求。在充分满足现有用户的基本体验需求的前提下,Web应该尽力为新用户带来更好的体验。
8.5 发布与后期的维护
Web开发应用完成上述一系列开发工作后,整个Web系统可以直接在网络上发布,但将Web系统发布上传到网络上并不一定意味着Web开发过程的完全结束,更重要的是后期对整个网站系统本身的维护和升级。并且Web的后期维护是一项长期的工作。
9 结语
综上所述,随着新时代互联网信息技术的发展,基于软件工程的Web开发与应用越来越重要,Web的开发需要建立Web原型、进行用户试用、设计和测试,最后发布与后期维护,才能做好Web的应用,使其更好地发展。