版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于UML的第三波书店在线销售系统①参与者汇总游者:查看商品信息和注册成为会员。会员:查看商品信息和购买商品,修改个人信息等。管理员:管理商品信息,管理用户信息等。②前台流程:用户登录用户登陆用户注册→用户登录→查看图书信息→添加图书到购物车→在线支付③后台流程:管理员登录→订单管理、图书管理、用户管理、图片管理→退出网上购物系统为顾客提供一个类似于超级市场的网络界面。通过网络界面,用户登录后执行各种操作,没有注册的用户可以查找商品信息,查看首页面的最受欢迎商品等信息。网上购物系统网上购物系统书籍分类列表模块书籍查找模块订单查询模块书籍详细信息模块购物车模块最新书籍推荐模块用户登陆登陆登陆未登陆图3.1第三波书店系统流程图1.系统逻辑这一阶段的主要目标是明确用户的信息需求,系统管理管理人员完成各自工作任务的信息需求。确定系统的逻辑功能,提出系统的逻辑方案,是系统分析阶段的最终成果,是系统分析的最后一项活动,也是形成系统分析结果的关键工作,这一阶段不但要利用前几个活动的工作成果,而且要在此基础上进一步调查、明确问题、进行创新。本系统的逻辑模型主要以数据流图和数据字典为描述工具。在对在线销售系统的管理方式和业务流程进行分析和研究的基础上,通过对系统的初步调查和详细调查,按信息系统中应有的数据流和数据结构来勾画系统的概貌。2.数据流图数据流图四种基本成分组成:外部项(外部实体)、加工(数据加工)、数据存储、数据流。数据流图基本图例,如图3.2所示。图3.2基本数据流图本书店在线销售系统订单审核数据流程图为例,其顶层数据流图,如图3.4所示。图3.3系统审核订单数据流程图数据流图重点在描述以处理逻辑为中心的数据的流入与流出,而对数据本身未加描述,影响了用户对数据流图的理解。数据字典是对数据流图的很好的补充,它是数据流图上所有成分的定义和解释的文字集合,它是对数据流图的各种成分起注解、说明的作用,同时它还对系统分析中其他需要说明的问题进行定义和说明。系统分析人员把不便在数据流图上注明而对于系统分析应该获得,对整个系统开发以至将来系统运行与维护是必须的信息尽可能放入数据字典。数据字典对数据流图的描述尽可能说明下列问题:①什么?(是什么或是什么)②何出?(在何处来或者来自何处,去向何处)③何时?(何时出现,时间长短)数据字典描述的主要内容有:数据流、数据元素、数据存储、加工和外部项,其中数据元素是组成数据流的基本成分。在系统分析中,数据字典起着重要的作用。它包含关于系统详细信息。一般说来,系统分析人员把不便在数据流图上注明而对于系统分析应该获得,对整个系统开发必需的信息,尽可能放入数据字典,部分数据字典如下所示。数据流系统名:提交订单编号:F1条目名:订货公司别名:来源:客户去处:P1接收订货信息数据流结构:合同编号+客户名称+签订日期+商品型号+数量+单价+总价+供货日期+付款情况+签订人员+备注简要说明:营销人员根据客户要求签订订货合同,随时了解合同付款情况。表3.4数据字典:数据流数据元素系统名:销售订货编号:F2条目名:签订日期别名:数据流:F1订货要求存储处:订货客户记录数据元素属性:代码类型:日期型取值范围:2010-2012意义:客户签订订货合同的时间简要说明:由营销人员填写订货合同。表3.5数据字典:数据元素数据存储系统名:销售订货编号:D2条目名:订货客户记录别名:存储组织:订货客户记录记录数:数据量:主键:客户编号记录组成:合同编号、客户名称、签订日期、商品型号、数量、单价、总价、供货日期、付款情况、签订人员、备注简要说明:营销人员根据订货客户记录为客户准备商品。表3.6数据字典:数据存储第四章系统数据库设计及其实现4.1系统数据库总体设计数据库设计图4.1数据路设计图4.2部分数据表的设计1、Users表包括Id、LoginId、LoginPwd、Name、Address、Phone、Mail等,主要为:用户名和密码。系统管理员根据用户名密码登陆后台系统。表名:Users字段名数据类型长度主外键字段说明备注Idvarchar50主键商品名称非空LoginIdvarchar50外键商品类别非空LoginPwdText250无商品介绍无Namevarchar50无商品品牌无Addressvarchar50无商品计数单位无Phonefloat50无商品重量无Mailvarchar50无商品图片地址无2、SearchKeyword表名:SearchKeyword字段名数据类型长度主外键字段说明备注Idvarchar50主键商品名称非空Keywordvarchar50外键商品类别非空SearchCountText250无商品介绍无3、Order表名:Order字段名数据类型长度主外键字段说明备注Idvarchar50主键商品名称非空Uservarchar50外键商品类别非空OrderDateText250无商品介绍无TotalPricevarchar50无商品品牌无4、Category表名:Category字段名数据类型长度主外键字段说明备注Idvarchar50主键商品种类ID非空Namevarchar50无商品标识图标无5、Book表名:Book字段名数据类型长度主外键字段说明备注IDvarchar50主键商品名称非空Publishervarchar50外键商品类别非空CategoryText250无商品介绍无Titlevarchar50无商品品牌无Authorvarchar50无商品计数单位无PublishDatefloat16无商品重量无ISBNvarchar50无商品图片地址无WordsCountfloat16无商品市场价格无UnitPricefloat16无商品会员价格无ContentDescriptionbool1无是否精品无AurhorDescriptionbool1无是否热销无EditorCommentdatetime32无上传日期无第五章系统总体设计及部分重要模块的实现5.1部分界面的展示⑴我的第三波书店的主界面:图5.1我的第三波书店的主界面⑵我的购物车界面:图5.2我的购物车界面⑶图书分类搜索界面:图5.3图书分类搜索界面5.2三层结构的实现5.2.1三层结构的优势搭建第三波书店的三层架构前,我们知道三层结构有如下优势:适应变化、利于维护:项目需求往往随市场的变化而发生变化,三层结构通过将各功能模块分离,提高了项目的可维护性和代码的课重用性。适用于协作开发:现在的项目往往是很多人参与开发,有人专门负责页面的设计和开发,有人负责数据库操作的相关模块,三层结构将各功能模块分离,有利于协作开发。主流趋势:越来越多的企业在开发项目时采用三层结构作为项目的基础架构。三层结果将来会有更多的市场。5.2.2三层结构的系统构建基于以上几点内容的考虑,我采用三层结构的设计方式,搭建第三波书店的系统构架。⑴模型层模型层包含所有与数据库有关的的表相对应得实体类。可以说,模型层提供了一个标准、规范,三层之间德数据传递就是通过传输实体对象来达到目的的。①模型的命名命名其实就是约定俗称的规矩。一般模型的项目名称为Model或者Models,模型层中的实体类一般和所对应的表名一致。②类结构实体类一般比较简单,根据数据库的字段编写对应的变量和属性。除了构造函数外,实体类一般没有其他方法。③注意事项序列化:实体对象作为数据的载体,常常需要在不同的途径中进行传递,为了保证数据传递的正确性,我实体类标记为可序列化。外键的处理举例来说,用户有状态之分(有效、无效),也有角色之分(普通用户、VIP或者管理员)。这些内容在数据库中表现为外键关系,如何处理这种关系?一般有两种方式:使用外键表的ID或者使用外键对象。⑵数据访问层。数据访问层封装了所有与数据交互的操作。数据交互无非就是增删查改,数据访问层就是针对每一个数据表提供增删查改操作,不做业务逻辑的操作判断。①数据访问层的命名数据访问层的项目一般命名为DAL,或解决方案名+DAL。在我的项目中,命好为MyBookShopDAL,命名空间是MyBookShop.DAL。针对模型层中的每个类,数据访问层有一个对应的数据访问类。例如针对U实体类,有一个对应的类,专门处理相关表的数据处理。②方法分析数据访问层就是处理数据的增、查、改、删,所以处理方法也围绕在这四个处理上。增(Create)一般增加的方法很简单,针对用户类的增加方法如下:publicstaticUserAddUser(Useruser)查(Rrtrieve)典型的查找如下:publicstaticIList<User>GetAllUsers()publicstaticvoidModifyUserStatusById(intuserId)publicstaticboolAdminLogin(stringloginId,stringloginPwd,outUservalidUser)改(Update)修改的方法也很单一,典型的有:publicstaticvoidModifyUser(Useruser)删(Delete)典型的删除方法有:publicstaticvoidDeleteUser(Useruser)publicstaticvoidDeleteUserById(intid)publicstaticvoidDeleteUserByLoginId(stringloginId)总的来说,数据访问层就是增、删、查、改,它不需要进行业务逻辑的判断。⑶业务逻辑层业务逻辑层是表示层与数据访问层的桥梁,负责业务处理和数据的传递。该部分的方法一般与实际的需求相关,比如用户注册,虽然它也是在数据库中添加一条记录,但一般不以AddUser作为方法名,而是使用Register。事实上,用户注册也不仅仅是添加一条记录那么简单的事,它还包含了验证登陆名是否已经存在等业务逻辑。①业务逻辑层的命名在我的项目中,命好为MyBookShopBLL,命名空间是MyBookShop.BLL②方法分析业务逻辑层应该就是提供哪些方法一般根据实际需求来确定。比如页面上有用户登陆的功能,我们就可以考虑在业务逻辑层就创建一个对应的用户登陆的方法。⑷表示层①表示层负责内容的展现和与用户的交互。它给予用户直接的体验,可以说前面的几层都是基础,表示层是最终的应用。在ASP.NET中,表示层就是整个WEB站点。具体的内容要根据需求的内容而来。比如第三波书店,有自己的用户系统,自然需要有相关的用户登陆、注册、管理等页面;图书系统,也就要有图书管理、图书列表、图书详细展示等页面;在线销售,还需要有购物车、订单管理等页面。②方法分析ASP.NET程序员来说,表示层就是控制+事件,如果仅仅是展示,可能只需要将控件绑定数据即可,不需要编写代码;如果需要和用户交互,就要编写相关的事件代码。比如登陆页面,用户单击“登录按钮”的事件可能需要编写代码验证用户的输入内容是否合法,然后通过业务逻辑层的相关方法判断用户名和密码是否匹配。5.2.3三层结构的系统图5.4第三波书店在线销售系统的三层如图所示为第三波书店在线销售系统的三层架构。我在构建此系统时分别建立三个类库,每个类库中写入相应的方法,当需要使用它们时,在合适的windows窗体下添加适当的引用,近可以实现最此的引用。5.3登陆及注册新用户的实现5.3.1用户登陆用户登陆界面:图5.5用户登录界面用户登陆的代码实现:publicstaticboolLogin(stringloginId,stringloginPwd,outUservalidUser){Useruser=UserService.GetUserByLoginId(loginId);if(user==null){//用户名不存在validUser=null;returnfalse;}if(user.LoginPwd==loginPwd){validUser=user;returntrue;}else{//密码错误validUser=null;returnfalse;}}publicstaticUserGetUserByLoginId(stringloginId){stringsql="SELECT*FROMUsersWHERELoginId=@LoginId";intuserStateId;intuserRoleId;using(SqlDataReaderreader=DBHelper.GetReader(sql,newSqlParameter("@LoginId",loginId))){if(reader.Read()){Useruser=newUser();user.Id=(int)reader["Id"];user.LoginId=(string)reader["LoginId"];user.LoginPwd=(string)reader["LoginPwd"];user.Name=(string)reader["Name"];user.Address=(string)reader["Address"];user.Phone=(string)reader["Phone"];user.Mail=(string)reader["Mail"];userStateId=(int)reader["UserStateId"];//FKuserRoleId=(int)reader["UserRoleId"];//FKreader.Close();user.UserState=UserStateService.GetUserStateById(userStateId);user.UserRole=UserRoleService.GetUserRoleById(userRoleId);returnuser;}else{reader.Close();returnnull;}}}5.3.2管理员登录管路员登录的实现:publicstaticboolAdminLogin(stringloginId,stringloginPwd,outUservalidUser){Useruser=UserService.GetAdminUserByLoginId(loginId);if(user==null){//用户名不存在validUser=null;returnfalse;}if(user.LoginPwd==loginPwd){validUser=user;returntrue;}else{//密码错误validUser=null;returntrue;}}publicstaticUserGetAdminUserByLoginId(stringloginId){stringsql="SELECT*FROMusersWHERELoginId=@LoginIdandUserRoleId=@RoleId";introleId;intuserStateId;SqlParameter[]para=newSqlParameter[]{ newSqlParameter("@LoginId",loginId), newSqlParameter("@RoleId",3) };using(SqlDataReaderreader=DBHelper.GetReader(sql,para)){if(reader.Read()){Useruser=newUser();user.Id=(int)reader["Id"];user.LoginId=(string)reader["LoginId"];user.LoginPwd=(string)reader["LoginPwd"];user.Name=(string)reader["Name"];user.Address=(string)reader["Address"];user.Phone=(string)reader["Phone"];user.Mail=(string)reader["Mail"];roleId=(int)reader["UserRoleId"];userStateId=(int)reader["UserStateId"];user.UserRole=UserRoleService.GetUserRoleById(roleId);user.UserState=UserStateService.GetUserStateById(userStateId);reader.Close();returnuser;}else{reader.Close();returnnull;}}}#endregion}}5.3.3新用户注册新用户注册界面:图5.7新用户注册界面新用户注册的实现:publicstaticboolRegister(Useruser){if(LoginIdExists(user.LoginId)){returnfalse;}else{AddUser(user);returntrue;}}其中LoginIdExists方法的实现如下:publicstaticboolLoginIdExists(stringloginId){if(UserService.GetUserByLoginId(loginId)==null)returnfalse;returntrue;}5.4图书增查改的实现图书查找界面:图5.8图书查找界面用户增查改的实现:namespaceMyBookShop.BLL{publicstaticpartialclassBookManager{#region查publicstaticIList<Book>GetOrderedSmallBooksByCategoryId(intcategoryId,stringorder){returnBookService.GetPartialBooksBySql(categoryId,order);}///搜索图书publicstaticIList<Book>SearchBooks(stringkeyword,stringorder){returnBookService.SearchBooks(keyword,order);}///返回Rss所用的图书列表publicstaticIList<Book>GetNewBooks(){returnBookService.GetNewBooks();}#endregion#region改///<summary>///更新图书分类publicstaticvoidModifyCatagory(stringids,stringcatagory){BookService.ModifyCatagory(ids,catagory);}///<summary>///专为图书修改页提供的图书更新publicstaticvoidModifyBook(stringtitle,intPublisherid,intWordsCount,stringAurhorDescription,decimalUnitPrice,stringauthor,stringTOC,DateTimePublishDate,stringContentDescription,stringeditorComment,intid){if(AurhorDescription==null)AurhorDescription="";if(ContentDescription==null)ContentDescription="";if(ContentDescription==null)ContentDescription="";if(editorComment==null)editorComment="";if(ContentDescription==null)ContentDescription="";if(editorComment==null)editorComment="";if(TOC==null)TOC="";Bookbook=BookService.GetBookById(id);book.Title=title;book.UnitPrice=UnitPrice;book.Author=author;book.TOC=TOC;book.Publisher=PublisherService.GetPublisherById(Publisherid);book.WordsCount=WordsCount;book.AurhorDescription=AurhorDescription;book.PublishDate=PublishDate;book.ContentDescription=ContentDescription;book.EditorComment=editorComment;BookService.ModifyBook(book);}#endregion#region增///<summary>///专为图书修改页提供的添加图书publicstaticvoidAddBook(stringtitle,stringisbn,intPublisherid,intWordsCount,stringAurhorDescription,decimalUnitPrice,stringauthor,stringTOC,DateTimePublishDate,stringContentDescription,stringeditorComment){Bookbook=newBook();book.Category=CategoryService.GetCategoryById(1);book.Title=title;book.ISBN=isbn;book.UnitPrice=UnitPrice;book.Author=author;book.TOC=TOC;book.Publisher=PublisherService.GetPublisherById(Publisherid);book.WordsCount=WordsCount;book.AurhorDescription=AurhorDescription;book.PublishDate=PublishDate;book.ContentDescription=ContentDescription;book.EditorComment=editorComment;book.Clicks=0;AddNewBook(book);}publicstaticBookAddNewBook(Bookbook){if(BookService.GetBookByISBN(book.ISBN)==null){returnBookService.AddBook(book);}else{returnnull;}}#endregion}}系统测试6.1系统测试工具随着新的商业挑战的日益增多以及技术复杂性的提高,很显然,测试在关键业务型应用程序的成功中起到了举足轻重的作用。所有团队成员都应将质量视作头等大事。在软件开发过程中,一方面要求我们通过测试活动验证所开发的软件在功能上满足软件需求中描述的每一条特性,性能上满足客户要求的负载压力和相应的响应时间、吞吐量要求;另一方面,面向市场和客户,开发团队还要满足在预算范围内尽快发布软件的要求。传统的软件测试流程一般是先在软件开发过程中进行少量的单元测试,然后在整个软件开发结束阶段,集中进行大量的测试,包括功能和性能的集成测试和系统测试。随着开发的软件项目越来越复杂,传统的软件测试流程不可避免地给我们的工作带来以下问题:问题一:项目进度难于控制,项目管理难度加大如图一所示,大量的软件错误往往只有到了项目后期系统测试时才能够被发现,解决问题所花的时间很难预料,经常导致项目进度无法控制,同时在整个软件开发过程中,项目管理人员缺乏对软件质量状况的了解和控制,加大了项目管理难度。问题二:对于项目风险的控制能力较弱项目风险在项目开发较晚的时候才能够真正降低。往往是经过系统测试之后,才真正确定该设计是否能够满足系统功能、性能和可靠性方面的需求。问题三:软件项目开发费用超出预算6.2简单的系统测试为了验证通过采用基于MVC框架结合的.NET三层结构来架构可以提高企业级应用系统业务效率和开发效率的目的。本人对实现后的本系统进行了以下几个方面的测试:对系统性能的测试。采用压力测试方法,通过多台工作站同时并发地对部署了该系统的服务器进行数据访问和业务操作。记录服务器响应各台工作站业务要求的时间,完全符合性能需求,单条数据请求响应时间不超过3秒。测试结果符合要求,同时采用该种模式设计软件的性能远高于传统设计模式的性能。对系统业务能力的测试。同样采用压力测试,通过多台工作站不停访问服务器,可以在一台工作站上打开多个线程来进行不同的业务请求,从而来检测系统最大可承受的业务能力。测试显示,采用分层模式构架应用的业务能力比传统模式构架应用的业务能力要强,尤其是在大型企业级应用中作用表现更为突出。对系统健壮性的测试。采用黑盒测试方法,通过其他非开发人员的使用操作来检测系统bug,开发人员进行修改完善。通过测试分析,该系统目前基本符合用户需求。对系统维护以及开发人员工作效率的检测。通常是工作人员进行的白盒测试方法,通过项目实践验证,采用ASP.NET分层结构可以实现业务功能模块的高聚合,大大减少了开发人员的系统维护工作。提高了开发人员的工作效率。PAGE5第七章总结通过这次毕业设计的工作,紧张的时间和繁重的工作任务使我认识到自身的许多不足之处。本次论文,从总体架构的构思,到最后的完成都投入了我大量的时间和精力,此次设计工作,除了让我巩固了三年来学的知识,使理论知识与实践相结短合,同时也让我学到了更多的知识,为以后的工作学习打下良好的基础。本次设计,从课题的选取到最后功能的实现,中间遇到了很多的问题,面对难题,我勇往之前,不断的翻阅书籍,从中我学到了许多原来没有接触到的知识,例如:我更加深入的了解了基于UML建模语言的强大功能,知道数字水印效果是如何实现的,更清楚的了解购物车的实现原理及工作过程等,从而进一步加深了自己对ASP.NET的了解和应用。同时,此次论文的大部分工作是由我自己完成的,在一定程度上提高了自己的动手能力,锻炼了自己独立解决问题和解决问题的能力,有一部分难题我请教了老师和同学,在他们的帮助下,我学到了更多,设计的进展相对提高。当然,由于时间和技术上的原因,该系统还是存在一些问题和不足的地方,比如在数据容量方面,由于没有经过大量数据的测试,数据库能承受多大负荷还不能确定,在美工方面,由于缺少美工经验,所以很多页面看起来可能会不那么漂亮美观,在一些细小的处理上可能还缺少进一步的考虑。本次毕业设计,仍存在着许多的问题,仍有许多需要的改进的地方,例如书评部分并没有很好的完成,管理员后台的管理也不是非常的完善等,总之,在今后的工作学习中,我会继续努力,使它的功能更加的完善,使之成为一个令自己比较满意的作品。通过本次毕业设计,让我能够更好的锻炼自己,为走上社会实际工作岗位做好了充足的准备,为今后的职业发展打下良好的基础。面对今后的各项挑战,我将会更好的付诸于行动!我相信自己明天会更加的美好!致谢首先,在毕业设计的过程中,由于出现了很多意想不到的问题,才知道在平时学习中有太多的问题遗漏,多亏了老师和同学的热心帮忙,使我重拾信心,在此,我要向我的指导老师张老师致以深深敬意和衷心感谢!在课程学习和论文撰写工作中,我及时与老师沟通,经常打扰老师的工作和学习,在此我深感抱歉;同时从开始论文的选题、撰写报告、论文最后定稿无不倾注了张老师的心血。在此我深深感谢张老师对我帮助,对我论文的多次修改,才有了最终我的论文。其次,感谢学校全体老师和同学们在各个方面给予的教导、支持和帮助,三年来在你们的教导、支持和帮助下,我在求学的道路上又迈上了一个新台阶,这将使我受益终生,并对我今后的工作和学习都有很大的帮助。最后,感谢国家!辛辛苦苦培养了我!感谢老师和领导对我的培养!感谢我的家人,对我学习的支持!参考文献[1]徐袛祥.使用ASP.NET技术开发网上书店,科学技术文献出版社,
2010[2]徐袛祥.使用Ajax和WebService重构网上书店,科学技术文献出版社,2010[3]《ASP.NET从入门到精通》张跃廷、顾彦玲清华大学出版社[4]
洪著财,史金飞,张志胜.基于XML的动态质量信息表达方法的研究.制造业自动化,2004,26(1):5-8[5]翟建金,冒东奎.UML和RationalRose在企业级软件开发中的应用.宁夏工程技术,2005,4(3):230-232[6]吴伟敏.UML建模工具的比较——ROSE,Visio,和PowerDesigner.现代计算机,2003,6(下半月版):32-35,56[7]蔡敏,徐慧慧,黄炳强.UML基础与Rose建模教程.北京:人民邮电出版社,2006,294-312[8]石海燕.使用RationalRose快速建立软件的原型模型.绍兴文理学院学报:自然科学版,2006,26(4):31-35[9]邓景毅.在ERP实施中用MicrosoftVisio创建企业的业务流程图.电脑学习,2005,5:39-40[10]牛俊慧,张红光,牛会丽.基于MVC模式的电子商务平台构造技术研究.计算机工程与设计,2006,27(23):4479-4481[11]尤澜涛,韩月娟,孔芳.基于B/S的统一基础数据表管理模块的设计与实现.计算机与现代化,2006,12:31-33,37[12]罗会波.Struts原理与实践./eako.2004[13]TedN.Husted,CedricDumoulin,GeorgeFranciscus,DavidWinterfeldt.StrutsinAction-BuildingwebapplicationswiththeleadingJavaframework.GreenwichCTUS:ManningPublications,2002:120-350[14]/cxy521/archive/2008/08/02/1258491.html[15]LanSommerville.SoftwareEngineering(SeventhEdition).England:PearsonEducationLimited,2004:266-192[16]/view/192935.htm?fr=ala0_[17]/question/13386948.html?fr=ala0[18]张向芳,李华,姜英伟.软件测试自动化的实施方案.山西科技,2006,4:40-42[19]MarkPruett.AjaxandWebServices.NewYork:O'Reilly,2006,52-120[20]MichaelMahemoff.AjaxDesignPatterns.NewYork:O'Reilly,2006,212-326[21]BruceW.Perry.AjaxHacks.NewYork:O'Reilly,2006,160-214[22]/p-27781043.html#[23]/p-27781043.html#[24]游丽贞,郭宇春,李纯喜.Ajax引擎的原理和应用.微计算机信息,2006,02X:205-207[25]张英奇,郭希娟,张毅,张利辉.Struts框架控制器及其进化的模式分析.计算机工程与设计,2006,27(22):4322-4324[26]GeorgeFranciscus,DaniloGurovich.StrutsRecipes.GreenwichCTUS:ManningPublications,2004:230-420[27]ErikHatcher,SteveLoughran.JavaDevelopmentwithAnt.GreenwichCTUS:ManningPublications,2002:210-372[28]贺平.软件测试教程.北京:电子工业出版社,2005:37-60附录AGettingToKnowHTML——TheLanguageoftheWebTheonlythingthatisstandingbetweenyouandgettingyourselfontheWebislearningtospeakthelingo:HyperTextMarkupLanguage,orHTMLforshort.So,getreadyforsomelanguagelessons.Afterthischapter,notonlyareyougoingtounderstandsomebasicelementsofHTML,butyou’llalsobeabletospeakHTMLwithalittlestyle.Heck,bytheendofthisbookyou’llbetalkingHTMLlikeyougrewupinWebville.1.TheWebVideokilledtheradiostarWanttogetanideaoutthere?Sellsomething?Justneedacreativeoutlet?TurntotheWeb–wedon’tneedtotellyouithasbecometheuniversalformofcommunication.Evenbetter,it’saformofcommunicationyoucanparticipatein.But,ifyoureallywanttousetheWebeffectively,you’vegottoknowafewthingsaboutHTML,nottomentionhowtheWebworks.Let’stakealookfrom30,000feet。2.WhatdoestheWebserverdo?WebservershaveafulltimejobontheInternet,tirelesslywaitingforrequestsfromWebbrowsers.Whatkindsofrequests?RequestsforWebpages,images,sounds,ormaybeevenamovie.Whenaservergetsarequestforanyoftheseresources,theserverfindstheresource,andthensendsitbacktothebrowser.3.WhatdoestheWebbrowserdo?Youalreadyknowhowabrowserworks:you’resurfingaroundtheWebandyouclickonalinktovisitapage.ThatclickcausesyourbrowsertorequestanHTMLpagefromaWebserver,retrieveit,anddisplaythepageinyourbrowserwindow.4.Whatyouwrite(theHTML)...So,youknowHTMListhekeytogettingabrowsertodisplayyourpages,but,whatexactlydoesHTMLlooklike?And,whatdoesitdo?Let’shavealookatalittleHTML...imagineyou’regoingtocreateaWebpagetoadvertisetheHeadFirstLounge,alocalhangoutwithsomegoodtunes,refreshingelixirs,andwirelessaccess.5.Whatthebrowsercreates...WhenthebrowserreadsyourHTML,itinterpretsallthetagsthatsurrou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烧烤制作卫生管理制度培训
- 工程质量通病的防治措施与解决方案
- 2025年区块链节点通信信号优化
- 刚毕业海员签外包合同
- 软件技术人员外包合同
- 赣州销售团队外包合同
- 第五单元(A卷基础巩固卷)-《思政 心理健康与职业生涯》(高教版) 单元过关卷
- 安徽省合肥市瑶海区2024-2025学年七年级上学期语文期末试卷(含答案)
- 伊宁人力资源管理2025年全真卷
- 2026年高级卫生专业技术资格考试(副高级职称)复习题库及答案
- 煤炭企业组织结构的创新
- 装配式建筑装饰装修技术 课件 模块三 装配式吊顶
- 新青岛版-二年级下册数学-口算题
- 2024年福建省莆田市初中毕业班质量检查二模英语试卷
- 十大零容忍培训
- 药物不良反应培训讲义
- 汉语写作与百科知识样题
- 提高喷射混凝土施工一次验收合格率QC成果
- 2018年山东德州中考英语试卷真题含答案
- 小白船叶圣陶读后感
- 新通用设备经济寿命参考年限表
评论
0/150
提交评论