艺龙网数据库上线系统设计与开发_第1页
艺龙网数据库上线系统设计与开发_第2页
艺龙网数据库上线系统设计与开发_第3页
艺龙网数据库上线系统设计与开发_第4页
艺龙网数据库上线系统设计与开发_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

艺龙网数据库上线系统设计与开发LVI1需求调研1.1单位简介艺龙旅游网(NASDAQ:LONG)是中国在线旅游服务提供商的领先者之一,通过手机端艺龙网、ios客户端、Andriod客户端、web网站、online预订热线、微信入口这几个平台,同程艺龙为消费者提供酒店、机票预订服务和度假等全方位的旅游产品。艺龙旅游网通过提供强大的国内外热点旅游目的地指南,地图搜索,酒店360度全景,用户对在线服务、旅游产品的真实评论,帮助用户可以在大量信息的基础上进行旅游决策,开启一段轻松而又愉快的旅程。同程旅游集团也是在线旅游服务提供商的领先者,为广大用户提供一站式的旅游预订平台,是一个多样性的旅游集团,是“中国500强民营企业”和“中国20强旅游集团”企业,拥有与同程网络和同程控股两个板块,同程网络下设有国内外酒店预定,火车票购买、汽车票购买、机票购买等等多个项目。在2017年底,这两家公司合并成为同程艺龙,并将两个公司的资源合并,为用户提供更优质的服务体验。1.2单位主要工作及职责同程艺龙致力于为用户打造一个一站式的在线旅游平台,其中包括在线住宿预订,包括国内外酒店、民宿等,以及交通票务的预订,包括门票,火车票,机票,渡轮票等,以及多种旅游出行方案的附属增值业务。截止至2017年12月31日,同程艺龙机票预订业务线涵盖了国内航线6400条,国际航线59.4万条。住宿预订业务覆盖全球超过100万家酒店及民宿等非标准住宿。汽车票、船票服务涵盖了全国大约45万条汽车线路和300多条航线。目前,同程艺龙在微信钱包中也提供了酒店入口和机票火车票入口,方便用户使用,不用打开其他应用App就可以直接预订。2017年,同城艺龙月活跃用户平均达到1.21亿。1.3单位组织机构设置公司采用扁平化管理方式,平行设有公司高管,职业发展委员会,住宿事业群,机票事业群,交通事业群,客户服务中心,研发中心,市场中心,文旅事业部,创新工场,策略与资本中心,财务中心,人力行政中心,服务支持中心十四个部门之下又设立了很多个分部门。我所在的研发中心主要职责包括对线上业务的运维,基础服务组件,存储中间件的研发,对风险的控制,公司内部系统的研发,信息安全的把控,公司信息化的支持。公司高管公司高管同程艺龙职业发展委员会住宿事业群机票事业群 交通事业群客户服务中心研发中心市场中心文旅事业部战略与资本中心创新工场服务支持中心人力行政中心财务中心图1-1组织结构图Fig1-1Organizationchart1.4单位工作现状及存在的问题在艺龙网信息技术有限公司进行毕业实习的过程中,我总结了北京数据库运维组在日常工作中的一些问题:(1)轮值的同事需花费大量时间处理上线需求出于对数据库安全性的考虑,开发是没有权限做DML和部分DDL操作的权限的,所以开发需要新建表,对表结构做修改或是新建索引等操作时需要与值班的DBA沟通他们的需求,当DBA评估过开发提交的SQL语句后还需要与开发的上级进行沟通,再经过DBA经理审核,以确认此操作是否可以执行,这一过程浪费了值班DBA大量的时间。(2)对于开发的上线需求DBA需登入数据库执行当经过上述的流程确认一条SQL语句可执行后,DBA需登入数据库进行执行,而DBA的数据库权限是root权限,可以做任何操作,所以导致这一动作有非常大的风险,DBA有可能不留神就做了误操作,这对于线上环境是十分危险的。(3)缺少上线统计信息与历史上线记录当DBA执行完上线需求后,并没有记录,不利于之后对于工单的统计以及存档,开发后续询问时也查不到相关记录,不利于管理。1.5系统可行性分析系统可行性分析(系统可行性研究)决定了系统是否能按照预期设定好的目标如期保质的完成,以及是否能产生预期的实用价值。系统可行性分析是指在系统正式开发之前,在需求分析阶段按照一定行业标准,从各方面对系统的技术可行性,经济可行性,管理可行性,以及系统所面临的一些风险进行评估,最后得到该系统的可行性调查结果。可行性研究的基本任务是从技术和经济的角度对新建或重建项目的主要问题逐一进行排查并综合分析以及研究,预测系统投入使用后带来的直接或间接经济效益。在既定范围内,最合理地利用资源来实现预定的社会和经济效益。可行性分析的主要功能是:确定系统开发的要求,规模和功能要求。以下对各点进行进一步论述。1.5.1技术可行性艺龙网数据库上线系统的后台数据库采用MySQL。审核SQL语句以及自动化执行使用的是小米开源的Inception。Inception是一个基于MySQL源码进行二次开发的开源的自动化运维系统。AdminLTE是一个基于bootstrap3的开源的前端框架,自带丰富的插件、样式,能够为数据库提供非常契合的载体,直观展示平台数据,比如表格、统计图。后端的开发使用的是Python语言,后端服务使用的是Django框架,使用PyCharm作为开发软件,以上所提到的技术以及语言全部是非常成熟的,经过大众检验的,通过以上的分析,得出本系统在技术角度来说是可行的。1.5.2经济可行性经济可行性是分析开发这个系统时可以使用到的资源,包括有人力、自然资源和资金资源。在对系统进行经济可行性分析时,其实可以说是在分析完成这个系统所需要花费的所有成本,以及此项目能够带来的收益。经济收益分为直接和间接受收益,而收益也并不只是资金方面带来的收益,在系统投入使用之后,直接收益会很直观的让人看见,间接收益却不然,它会在系统运行一段时间之后,以不明显的方式显现出来。艺龙网数据库上线系统作为一个供企业内部使用的系统,其直接收益可能并不明显,更多的会体现在间接收益方面,本系统可以大大节省开发人员与DBA之间的沟通成本,以及DBA工作上的时间成本以及人力成本,减少操作失误为线上带来的风险,提高稳定性。艺龙网数据库上线系统是由本人独立完成,人工成本可忽略不计。开发过程中使用到的工具以及软件皆可以在网上免费下载。Django以及AdminLTE等皆为开源的组件框架,Inception也是开源的,综合来看,本系统的开发投入极少而产生的直接、间接经济价值很高。所以本系统具有经济开发价值。1.5.3管理可行性从法律法规角度来说,此系统与现行法规并不冲突,从用户的使用可行性来说,网站的使用者是企业内部的开发人员,不与公司外部产生关系,不涉及经济往来,本系统操作界面简单大方,同时能够满足用户的提工单查看工单的需求,使用者皆具备专业知识,所以从用户使用上来看,是可行的。本系统的管理员也皆为具有数据库运维知识的DBA,所以从管理角度上来说,也是可行的。2面向对象分析2.1面向对象分析概述面向对象分析(object-orientedanalysis)是建立问题域精确模型,抽样和归纳用户需求的过程。面向对象分析往往是从分析用户的实际使用需求开始。可以是由用户自己书写需求,也可以由分析员同用户一起书写需求。用户的需求往往是不够完整,不准确,且不是正式的需求。面向对象分析是继结构化分析后发明的一种新的系统分析方法。它采用了面向对象的风格来对系统进行分析和需求定义。其关键在于将理解的问题空间进行抽象化。面向对象分析方法是现在最主流的分析方法之一,它有其独有的特点及优势,首先,面向对象方法可以把问题和系统拆分成各个对象,用对象划分,增加了软件的复用性,降低了系统耦合度,同时也能够对系统账号涉及的各个人员之间的交流进行强化和改进,是系统具有灵活性,从而能够根据客户需求的变化进行及时修改。2.2UML简介UML(UnifiedModelingLanguage,统一建模语言)是一种简单标准的建模语言,可以对拥软件系统进行建模和描述,从需求分析到实现功能的全过程都是可以用UML描述的。UML通过建立类或者对象之间的联系来组建结构模型。用于展示面向对象的产品可视化开发系统和文档方法。它是图形建模语言的标准,是一种对象面向分析和设计标准。它的初衷是能够使开发人员进行程序设计建模。它不是一种编程语言,而是一种建模语言,UML本身具有可扩展性,使其不仅可以用于软件系统开发阶段,也可用于几乎所有其他各种业务、类型的建模。2.3系统用例图用例图由参与者(Actor)、用例(UseCase)和它们之间的关系构成。用例图是一个动态视图,用来描述系统的功能。用例图是经过系统分析阶段重的需求分析而得来的。其主要目的是展示参与者和用例之间的关系,以此来帮助开发人员迅速、直观地了解用户的需求和系统应该实现的功能。用例图可以帮系统用户、系统分析人员、系统设计人员用最直观的可视化的方式来发现问题,弥补文字描述的不足,减少大量的沟通成本以及障碍,促进对问题达成一致的看法。用例方法完全是从外界,使用者的角度来定义系统功能的,它需要和系统设计完全分开。绘制用例图时不必关心系统是怎样通过程序实现这个功能的,对我们而言实现的过程是未知的。表2-1用例图符号说明表Tab2-1TableofUseCaseDiagramSymbolExplanation符号说明参与者(Actor),是任何的事物或人的外部实体。用例(UseCase)是有关单个参与者在与系统交互中所运行的处理行动的陈说序列,有关用户对系统的要求。关联关系(UnidirectionalAssociation)描述Actor与UseCase的关系。扩展(Extend),箭尾指向扩展的用例。包含(Include),箭尾指向包含的用例。2.3.1确定参与者参与者实质上是一个实体,这个实体其存在于系统的外部,它通过间接或者直接方式对整个用例的执行过程进行参与。以下是本系统的两类主要参与者:用户:可以使用系统部分功能。DBA:可以对整个系统进行管理。2.3.2确定用例图(1)用户用例图图2-1用户用例图Figure2-1userusecasediagra(2)DBA用例图图2-2DBA用例图Figure2-2DBAusecasediagram2.4系统类图类图是UML建模静态机制中的重要的一点,它不仅是设计者们关注的重点,更是开发人员关注的重中之重。因为开发人员主要是根据类图来产生声明类的代码的。类图可以说是UML的九类图占据相当重要的地位的一类图。类的定义为:类是结构、行为和关系相似的一组对象的描述符。表2-2类图符号说明表Table2-2TableofClassDiagramSymbolExplanation符号说明类(Class)一般包含3个组成部分:上层是类名,中间层是属性(attributes),最下层是该类提供的方法。依赖关系(Dependency),是类与类之间的连接,表示一个类依赖于另一个类的定义。关联关系,指明一个事物对象和另一个事物对象之间的联系。泛化关系,存在于一般元素和特殊元素之间的分类关系。实现关系,把一种模型元素和另一种模型元素连接起来,比如类和接口。艺龙网数据库上线系统的类包括主库地址类、工单类、审核人类、审核流程类、紧急审核类、工单查询sql类、sqlserver源信息类、用户类、值班类、mysql源信息类、dba信息类。图2-3类图Fig2-3ClassDiagram图2-4类关系图Fig2-4classrelationdiagram3系统设计3.1面向对象设计概述面向对象程序设计(OOP)是一种新型的程序设计方法,其本质在于建立一个抽象思维的过程模型和面向对象方法,面向对象的设计方法是根据对象和使用特定的软件工具直接将对象的描述转换为计算机能够识别的软件结构。这是面向对象设计方法的主要特点。面向对象设计方法相较于传统的结构化开发方法,缩短了开发周期,实现了代码的复用性,解决了复杂的流程到软件模块结构的转化。是一个目前广泛应用的系统开发方法。也是Python语言能够使用的唯一方法。3.2系统时序图时序图(SequenceDiagram)描述了系统中对象之间消息是如何传递的,传递的时间顺序,是强调消息时间顺序的一种UML交互图。时序图描述的是类和类在系统是如何交互的。时序图中,参与传递的对象水平排列在顶部。每个对象的底部有垂直的虚线。表3-1时序图符号说明表Table3-1TableofSequenceDiagramSymbolExplanation符号说明用户(Actor)在系统中的一个角色。表示对象在交互中扮演的角色。在两个对象之间传递消息(ObjectMessage)。反身消息(Messageofself)。表明调用过程返回的消息(ReturnMessage)。激活(Activation),表示对象执行一项操作的时间。生命线(Lifeline),代表对象在特定时间段内存在。用户审批或终止工单时序图图3-1用户审批或终止工单时序图Fig3-1Userapprovalorterminationofworkordertimingdiagram用户发起SQL上线时序图图3-2用户发起SQL上线时序图Fig3-2UserinitiatedSQLonlinetimingdiagramDBA配置用户端口权限时序图图3-3DBA配置用户端口权限时序图Fig3-3DBAconfigurationuserportpermissiontimingdiagramDBA配置主库地址时序图图3-4DBA配置主库地址时序图Fig3-4DBAconfigurationmasteraddresstimingdiagramDBA管理工单时序图图3-5DBA管理工单时序图Fig3-5DBAmanagementworkordertimingdiagramDBA配置多级审核流程时序图图3-6DBA配置多级审核流程时序图Fig3-6DBAconfigureamulti-levelreviewprocesstimingdiagramDBA配置紧急审核流程时序图图3-7DBA配置紧急审核流程时序图Fig3-7DBAconfigureemergencyreviewprocesstimingdiagram3.3系统活动图活动图(ActivityDiagram)是用来描述系统的动态行为的,是UML动态图的一种。用来显示一个类的活动或行为。它由一系列的行动,可执行的原子通过运算而组成,这些运算可以使系统状态变化或返回一个值。表3-2活动图符号说明表Table3-2TableofActivityDiagramSymbolExplanation符号说明起点。添加活动。判定。工作流在这里按监护条件而发生分支。表示动作。表示分支与合并,活动在此处分开或合并。终点。(1)用户查看历史工单活动图图3-8用户查看历史工单活动图Fig3-8Userviewhistoricalworkorderactivitymap(2)DBA配置用户权限活动图图3-9DBA配置主库地址活动图Fig3-9DBAconfigurationuserpermissionactivitydiagram(3)用户发起SQL上线活动图图3-10用户发起SQL上线活动图Figure3-10UserinitiatedSQLonlineactivitydiagram(4)DBA配置主库地址活动图图3-11DBA配置主库地址活动图Fig3-11DBAconfigurationmasteraddressactivitydiagramDBA配置端口权限活动图图3-12DBA配置端口权限活动图Fig3-12DBAconfigurationportpermissionactivitydiagramDBA配置多级审核流程活动图图3-13DBA配置多级审核流程活动图Fig3-13DBAconfigurationmulti-levelreviewprocessactivitydiagramDBA工单管理活动图图3-14DBA工单管理活动图Fig3-14DBAworkordermanagementactivitydiagramDBA配置紧急审核流程活动图图3-15DBA配置紧急审核流程活动图Fig3-15DBAconfigureemergencyreviewprocessactivitydiagram3.4系统配置图一个系统的实现,不仅需要合适的软件,还需要配套的硬件设施,这就需要系统开发人员按照程序开发使用的软件来合理使用硬件,这样才能保证系统稳定的运行。UML虽说主要是为了软件设计的建模提供便利,但同样可用于系统硬件的设计。系统配置图符号说明见下表:表3-3配置图符号说明表Table3-3TableofDeploymentDiagramSymbolExplanation符号说明处理器(Processor)是能够执行软件,能够进行计算的节点,拥有处理能力的机器都是处理器设备(Device)是不能够进行计算的节点,通常通过其接口提供外部服务,如打印机和扫描仪等连接(Connection)。连接是两个设备或处理器之间的实际连接。图3-16系统配置图Fig3-16SystemDeploymentDiagram3.5系统结构设计艺龙网数据库上线系统由登陆、查看历史工单、发起SQL上线、主库地址配置、用户权限配置、所有工单管理、轮值人员管理、多级审核配置、紧急审核配置、dba信息说明、MySQL源信息、端口权限配置、数据平台统计、DBA轮值信息、SQL审核必读这些不同的模块构成。系统的具体前台与后台的功能如下(1)系统前台功能模块:①查看历史工单:能够查看历史提交过的所有工单已经工单的状态,可以终止自己提交过的SQL,拥有审批权限的用户也在这里进行审批相关的工单,对于,DBA可以直接在此查看待我执行的工单,点击执行,Inception就会自动在数据库实例中执行开发人员工单中的SQL。②发起SQL上线:开发人员根据需求选择提单的数据库的集群端口,名称,执行时间等信息,填写完成后提交需要在线上数据库中执行的DDL以及DML类型的SQL语句。③DBA轮值信息:开发人员能够查看当前值班的DBA的信息,如有疑问可以直接在企业微信中私聊值班DBA进行询问。④SQL审核必读:方便开发人员查看DBA制定的准入规范,对数据库操作的规范进行了解。(2)系统后台功能模块(包含前台功能模块):①主库地址配置:对线上数据库的master节点信息进行维护,以确保所有SQL语句都是在master上执行的,以保证数据的一致性,包括增加、删除、以及修改功能。②用户权限配置:对拥有在此系统提工单的用户的信息增加、删除、修改。③所有工单管理:对在此系统上所有的工单信息进行删除、修改。④轮值人员管理:对参加值班的DBA的信息进行增加、删除、修改。⑤多级审核配置:对多级审核的顺序,人员进行增加、删除、修改。⑥紧急审核配置:对紧急审核的顺序,人员进行增加、删除、修改。⑦dba信息说明:对dba信息展示进行增加、删除、修改。⑧mysql源信息:对mysql数据库的源信息进行增加、删除、修改。⑨端口权限配置:对用户具有的提单的端口的权限进行修改。⑩数据平台统计:将一段时间内的工单数量以折线图的方式进行展示,方便DBA直观的查看本短时间内工单数量的走势。图3-17系统功能结构图Fig3-17systemfunctionalstructurediagram3.6代码设计代码设计在系统设计过程中是非常重要的一项工作,系统的开发来说设计一个好的代码方案是一件非常有益处的事情,它可以使很多的操作变得极为方便,例如查询、统计等。代码设计的目的如下:(1)唯一性现实生活中仅凭自身的属性就可以区分的东西几乎没有,系统处理便会十分麻烦,因此将不能唯一确定的东西,通过编制代码使其唯一化是代码设计的首要目的。(2)规范化在唯一化的基础上,还要注重代码的规范化,如果编制的代码没有规律,完全杂乱无章,就会使人以及系统不能够加以辨别,使用起来极为复杂困难。所以还要强调代码的规范化。(3)系统化系统中用到的代码应当尽量符合标准化,一般采用行业或国家标准。在本系统中,由于用户皆为公司内部开发人员,研发中心的使用,数据量小,重复率小,所以基本上使用的均为顺序码,因为顺序码实用上方便,只需要按数字往后排就可以了,其次顺序码相比其他代码更为简短,方便记忆、描述。3.7数据库设计3.7.1数据库设计概述数据库设计是系统设计阶段中重要的环节之一,一个良好的数据库结构可以使系统结构更加清晰,系统功能更加明确。数据库结构需要在设计阶段确定好,因为数据库结构上的变化可能会对开发人员的代码产生影响,需要做对应的修改,所以对于数据库的设计要放在重要的位置,在编写代码前确定,避免开发人员做重复的工作,增大工作量。3.7.2数据库表设计艺龙网数据库上线系统的数据库名为sqlview,其主要的表包括: 表3-4审核配置表Table3-3sql_auditor_configtable字段名称说明类型长度约束类型id自增主键int11主键cluster_port集群名称int11非空cluster_db集群DBvarchar50非空auditor_seq审核类别varchar1非空auditor_man审核人varchar50非空auditor_comment备注varchar50非空表3-5权限表字段名称说明类型长度约束类型id自增主键int11主键name权限名称varchar255非空content_type_id权限类别int11外键codename操作名称varchar100非空Table3-5auth_permissiontable表3-6工单审核流程表Table3-6sql_approve_processtable字段名称说明类型长度约束类型approve_id自增主键int11主键workflow_id工单IDint11索引cluster_port集群名称int11非空cluster_db集群DBvarchar25非空approver审核人列表varchar50非空approver_man已审核人varchar50非空approved_seq审核序号smallint6非空approved_status审核状态smallint6非空create_time创建时间datetime6非空update_time修改时间datetime6非空表3-7值班表Table3-7sql_dutytable字段名称说明类型长度约束类型id自增主键int11主键username账号varchar30非空realname姓名varchar30非空email邮箱varchar200非空telphone电话varchar30非空is_day值班时间varchar1非空is_duty是否值班varchar1非空seq_id值班序列号bigint32非空type值班类型varchar30非空time是否夜间值班int10非空表3-8主库信息表Table3-8sql_master_configtable字段名称说明类型长度约束类型id自增主键int11主键cluster_name集群名称varchar50索引master_host主库地址varchar200非空master_port主库端口int11索引master_user主库账号varchar100非空master_password账号密码varchar300非空create_time创建时间datetime6非空update_time修改时间datetime6非空表3-9数据库信息表Table3-9sql_mysql_dbtable字段名称说明类型长度约束类型id自增主键int11主键port集群端口varchar255可空db_name数据库名称varchar255可空enginer使用人varchar255可空email邮箱varchar255可空comment数据库信息varchar255可空db_time创建时间datetime6可空update_time修改时间datetime6可空表3-10用户表Table3-10sql_userstable字段名称说明类型长度约束类型id自增主键int11主键password密码varchar128非空last_login上次登陆时间datatime6非空is_superuser是否管理员tinyint1非空username姓名varchar30索引first_name名varchar30非空last_name姓varchar30非空email邮箱varchar254非空is_staff能否登陆tinyint1非空is_active是否活跃tinyint1非空date_joined添加时间datatime6非空display显示varchar50非空role角色varchar20索引ports端口权限varchar500可空表3-11工单信息表Table3-11sql_workflowtable字段名称说明类型长度约束类型id自增主键int11主键workflow_name工单名称varchar50非空engineer工程师varchar50非空review_man值班人varchar50非空create_time创建时间datatime6非空create_date创建日期varchar20非空finish_time完成时间datatime6可空status状态varchar50非空is_backup是否备份varchar20非空review_content执行结果内容longtext非空cluster_name集群名称datatime6非空cluster_db集群dbvarchar50非空reviewok_time审核时间datatime6可空sql_content自动审核内容longtext非空execute_result执行结果longtext非空start_time开始时间datatime6可空end_time结束时间datatime6可空workflow_type上线类型varchar20可空sql_detailsql语句longtext非空sql_rollback回滚语句longtext非空cluster_table表名varchar300可空表3-12查询语句表Table3-12sql_querytable字段名称说明类型长度约束类型id自增主键int11主键workflow_id工单号int11非空sql_content查询语句longtext非空3.8输入输出设计良好的输入系统设计应该为用户和系统带来良好的工作环境。良好的输出设计应该为管理者提供简单、有效和实用的管理和控制信息。输出设计应根据用户的需求进行优先设计。输出设计要做到正确、及时反映用户需要的信息。输出设计能否满足用户的需求,能否对用户使用上带来便利直接影响系统的效果是否能达到用户的预期,所以根据用户的需求先进行输出设计,然后再反过进行输入设计。工单统计信息如下图所示,可以根据需要以图片或者PDF格式进行下载:图3-13输出设计-工单统计信息展示Fig3-13OutputDesign-Workorderstatisticsdisplay本系统输入设计尽可能的采用下拉列表,方便用户进行输入、选择,例如下图所示:图3-14输入设计Fig3-14InputDesign3.9人机对话设计人机对话就是系统将运行情况、用户需要的信息及时地输出(或显示),用户观察和使用;用户通过输入装置对系统输入各种命令或数据,对系统进行操作和控制的过程,在本系统中设计有如下等的人机对话:用户在自助审核SQL时,当时间选则错误之后,系统会提示开始时间不能小于当前时间。图3-15人机对话图-时间提示Fig3-15FormsofMan-machineDialogue-TimeTips用户发起SQL上线时如没有填写上线SQL功能说明和影响或回滚方案时,系统会提示各项参数不能为空。图3-16人机对话图-参数提示Fig3-16FormsofMan-machineDialogue-ParameterTips当用户在填写SQL语句是没有写usedatabases,或填写的数据库名称与右侧选择的数据库名称不匹配时,系统会提示上线DB不匹配,请重新选择DB。图3-17人机对话图-数据库不匹配提示Fig3-17FormsofMan-machineDialogue-DBnotMatchTips4系统实施4.1系统实施过程系统实施是指系统设计阶段完成后,用程序对其进行实现的过程以及交付到用户手中进行实际实用的过程。共两个阶段。实施阶段交付的成果包括程序、数据和文档,和最终发布的软件是可交付成果的核心,用户手册和其他可交付成果也是必不可少的。转换阶段用户发布后交付用户的系统过程,包括用户培训,实施业务流程再造、系统转换、操作和维护。这一阶段主要交付实施计划,虽然两阶段重点是不同的,目标都是系统成功运行,给用户使用到一个功能齐全的系统。4.2系统实施工具4.2.1InceptionInception是一个小米公司开源的一个自动化运维系统,它可以将提交的SQL所有语句进行语法分析,并且自动将分析出的相应的错误信息返回给审阅者进行参考。还提供SQL语句执行功能,可执行语句类型包括常用的DDL和DML语句,truncate表操作等。执行数据操纵语言时还提供生成的rollback语句的功能,相应的SQL语句和rollback语句将被存储到备份机中,可以通过修改Inception的配置文件指定备份机器。4.2.2AdminLTE框架adminLTE是基于bootstrap3的开源的前端框架,并将其修改以适应自身的样式。adminLTE不仅可以使用bootstrap3绝大部分功能,本身也提供了丰富的样式,并已经展示出来了。adminLTE基于jquery2,使用的大部分是都是bootstrap和jquery的插件。与此同时,它也同样具备后台应用模板,比如登录、注册、个人、404等。4.2.3Django框架Django是以Python编写的高级,MVC风格的开源库。Django也被称为“完美主义者的最后框架”,它最初是为新闻网站设计的,并且允许开发人员编写数据库驱动Web应用程序,因此无需从头开始编码。除了更快完成常见的Web开发任务,Django还能使设计过程干净务实。Django是新的PythonWeb开发人员的最佳选择,其官方文档和教程是软件开发中最好的。Django基于Batteries-Included的理念,可不必使用单独的库来实现常见功能,例如身份验证,URL路由,模板系统,对象关系映射器和数据库模式迁移。4.3系统实施环境4.3.1硬件环境硬件配置如下:电脑型号 MacBookPro(13-inch,2018,FourThunderbolt3Ports)操作系统 macOSMojave 10.14.3处理器 2.3GHzIntelCorei5内存 8GB2133MHzLPDDR3显示器 13.3-英寸(2560x1600)IntelIrisPlusGraphics6551536MB图形卡4.3.2软件环境软件环境,就是开发系统时,需要用到的环境配置,包括应用的服务器种类,操作系统,开发工具等。本系统采用面向对象的开发方法,以b/s模式结构进行设计,选用了Python为本系统的开发语言,建模使用了uml,前台页面设计使用adminlte框架结合Jquery,后台使用Django框架,以MySQL为数据库,开发时使用的编程工具为PyCharm。本系统实际软件环境选择如下:(1)操作系统:macOSMojave 10.14.3(2)数据库软件:MySQL5.6(3)应用服务器软件:Django1.8.7(4)浏览器:GoogleChrome(5)开发工具:PyCharmInception部署实际软件环境选择如下:(1)操作系统:Linux3.10.0-957.el7.x86_64Inception版本:Inception2.1.5014.4系统测试系统测试可以检查初在系统分析阶段和系统设计阶段中没有被察觉出的错误。系统是否能够拒绝非法入侵,系统在正常数据量和过载(如多个用户同时访问)下是否能正常工作。4.4.1系统测试的目的在系统还处于开发阶段时,潜藏着许多开发人员不可预知的问题,所以,在进行系统开发的每个阶段,都有可能会出现一些可见或是不可见的问题。因此,开发人员要在每个阶段结束之前对系统进行检验,越早检测,就越容易定位问题,发现错误,以便及时解决。但仅仅通过开发人员自己检查代码,是无法准确全面的发现问题的,加上开发人员的主观上也有可能发生错误,因此系统后续的测试是非常有必要的,系统测试可以发现风险并避免风险。4.4.2系统测试的原则系统测试的原则主要是从系统使用者的角度和开发人员的角度指定的。用户的目标是将系统中的bug在正式使用之前全都找出来并且改正,研发人员的目标是能够顺利通过所有测试,证明系统可以达到当初想要达到的目标。测试的原则有如下:所有测试从用户需求的角度进行设计;测试应尽早进行,修改过之后也要对每个版本进行不断的测试;应使用Pareto原则来设计测试用例;测试应该拆解为一个一个模块进行逐一检验;为保证测试的效果,应由独立的第三方对系统进行测试。系统测试分白盒测试和黑盒测试两种。白盒测试侧重点在于软件的代码以及结构的测试,黑盒测试侧重于软件的功能和性能方面。本系统使用黑盒测试的方法来进行测试。4.5本系统测试根据本系统设计的目标以及系统测试的原则,对主要的功能进行检验,包括有Inception审核是否可用,能否实现SQL的自动执行,能否实现工单的审核流,能否限制用户只对有权限的端口进行提单,能否实现对历史工单的统计以及记录,能否自动读取数据库相关信息。设计有如下测试用例,用来测试输出结果和预想结果是否一致:表4-1测试用例Table4-1testcase功能测试用例预期结果实际结果是否相符发起SQL上线不填写参数点自助审核提示填写参数提示填写参数符合SQL语句不写usedatabase;提示上线DB不匹配提示上线DB不匹配符合结束时间小于开始时间提示结束时间不能小于开始时间提示结束时间不能小于开始时间符合开始时间小于当前时间提示开始时间不能小于当前时间提示开始时间不能小于当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论