藝龍網數據庫上線系統設計與開發_第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

提交評論