【正文】
potential rewards are higher). It may seem like the risk is pounded by “rushing” into a preliminary implementation, but it can instead reduce the risk in a wildcard project because you’re finding out early whether a particular approach to the problem is viable. Product development is risk management. It’s often proposed that you “build one to throw away.” With OOP, you may still throw part of it away, but because code is encapsulated into classes, during the first iteration you will inevitably produce some useful class designs and develop some worthwhile ideas about the system design that do not need to be thrown away. Thus, the first rapid pass at a problem not only produces critical information for the next analysis, design, and implementation iteration, it also creates a code foundation for that iteration. That said, if you’re looking at a methodology that contains tremendous detail and suggests many steps and documents, it’s still difficult to know when to stop. Keep in mind what you’re trying to discover: What are the objects? (How do you partition your project into its ponent parts?) What are their interfaces? (What messages do you need to be able to send to each object?) If you e up with nothing more than the objects and their interfaces, then you can write a program. For various reasons you might need more descriptions and documents than this, but you can’t get away with any less. The process can be undertaken in five phases, and a phase 0 that is just the initial mitment to using some kind of structure. Phase 0: Make a plan You must first decide what steps you’re going to have in your process. It sounds simple (in fact, all of this sounds simple) and yet people often don’t make this decision before they start coding. If your plan is “l(fā)et’s jump in and start coding,” fine. (Sometimes that’s appropriate when you have wellunderstood problem.) At least agree that this is the plan. You might also decide at this phase that some additional process structure is necessary, but not the whole nine yards. Understandably enough, some programmers like to work in “vacation mode” in which no structure is imposed on the process of developing their word。具體寫代碼時我也深深地體會到軟件測試在編程中的占有的重要性,而且在本軟件的測試中,讓我確實(shí)的增長了不少知識,受益匪淺! 設(shè)計總結(jié) 由于以前對 Visual Basic 的接觸并不是很多,對它的開發(fā)環(huán)境不是非常了解,所以在程序的開發(fā)過程中遇到了很多的困難,但經(jīng)過同學(xué)和指導(dǎo)老師的幫助,一一化解了困難,并從中學(xué)到了很多編程方面的知識。 ③運(yùn)行極限性。 ①數(shù)據(jù)的合法性。 軟件詳細(xì)調(diào)試 程序設(shè)計編碼工作完成之后,為了確保系統(tǒng)的正確性和嚴(yán)密性,系統(tǒng)在交給用戶使用之前必須進(jìn)行一系列的調(diào)試與維護(hù)測試。 第五章 系統(tǒng)測試及維護(hù) 測試環(huán)境 操作系統(tǒng): Window XP Professional 數(shù)據(jù)環(huán)境: Microsoft SQL Server 2021 開發(fā)平臺: Microsoft Visual Basic 軟件測試的意義 軟件測試的目的就是在軟件投入生產(chǎn)性運(yùn)行之前 ,盡可能多的發(fā)現(xiàn)軟件中的錯誤,完善系統(tǒng)。作為一個數(shù)據(jù)源被注冊,應(yīng)用程序只需知道它的數(shù)據(jù)源名稱。 開發(fā) 開放式數(shù)據(jù)庫互聯(lián) (ODBC)上連接 Windows 系統(tǒng)中數(shù)據(jù)庫的一種最流行的方法,通過使用 ODBC,開發(fā)人員不需要關(guān)心他們在與之相連的特定數(shù)據(jù)庫。數(shù)據(jù)的完整性和安全性的區(qū)別在于完整性是指防止數(shù)據(jù)庫中存在不合語義的數(shù)據(jù)、防止錯誤的輸入和輸出造成的無效操作和錯誤結(jié)果,安全性是指保護(hù)數(shù)據(jù)庫不被惡意破壞和非法存取。這包括數(shù)據(jù)的安全性、完整性、并發(fā)控制和恢復(fù)。 采用以上的數(shù)據(jù)庫管理方法時,必須確保數(shù)據(jù)庫具有嚴(yán)密的保密性能和良好的恢復(fù)能力。 (DBMs)建立數(shù)據(jù)庫。 一般說來,實(shí)現(xiàn)數(shù)據(jù)管理有以下三種方法 : ,建立數(shù)據(jù)文件,再編寫應(yīng)用程序來實(shí)現(xiàn)對數(shù)據(jù)的操作,這種方法針對性,專用性強(qiáng),適合開發(fā)小型項(xiàng)目。使用關(guān)系數(shù)據(jù)庫,數(shù)據(jù)被倉儲在一個二維的數(shù)據(jù)陣中,稱為表?,F(xiàn)在,大部分的重要數(shù)據(jù)庫工作都由關(guān)系數(shù)據(jù)庫和面向?qū)ο髷?shù)據(jù)庫來完成。數(shù)據(jù)庫內(nèi)的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度,較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可以為各個用戶所共享。搭好整個框架,對于系 統(tǒng)完成基本的業(yè)務(wù)功能,以及后期的完善升級,都具有根本性的意義 。所以,界面設(shè)計,都要體現(xiàn)出這樣一個特點(diǎn),就是方便用戶,做到即使對計算機(jī)不是很通的使用者,通過較短時間的培訓(xùn),也可以較為熟練地使用。本系統(tǒng)采用的菜單設(shè)計遵循此原理。設(shè)臵容忍用戶操作的失誤,并允許用戶改正,允許重復(fù)操作 。 Help 幫助,應(yīng)能聯(lián)機(jī)隨時調(diào)用,給用戶提供方便的幫助信息。輸出方式有屏幕閱讀方式,輸出介質(zhì)方式等。用戶界面技術(shù)的完美是本軟件系統(tǒng)追求的重要目標(biāo),如果用戶界面不友好,軟件系統(tǒng)即使有再好再強(qiáng)大的功能,也不能得到充分的發(fā)揮。 可靠性 : 支持?jǐn)?shù)據(jù)庫備份和基于事物的數(shù)據(jù)庫操作。加之我們用 VB 來開發(fā)的,使它具有良好的應(yīng)用和維護(hù)界面,也很容易實(shí)現(xiàn)。AS 為關(guān)鍵字表示,并定義了別名。這里用到了 Setect Statement) 以后如果需要這樣的查詢,只需要引用查詢名? monthquery?即可。這種改變基于數(shù)據(jù)庫關(guān)系視圖的記錄集,這里我們介紹提取記錄信息的有效方法。 MSChart 控件支持一下特性: 真三維表示; 支持所有主要的圖表類型; 數(shù)據(jù)網(wǎng)絡(luò)成員支持隨機(jī)數(shù)據(jù),數(shù)據(jù)數(shù)組。用戶可以設(shè)臵 DataGrid 控件的DataSource 屬性為一個 ADO Data 控件,從而將 ADO Data中的數(shù)據(jù)自動地填充到 DataGrid表格中。 DataList 控件 /DataCombo 控件 DataList 控件是一個數(shù)據(jù)綁定列表框,它可以自動地由一個附加數(shù)據(jù)源中的一個字段充填,并且可選擇地更新另一個數(shù)據(jù)源中一個相關(guān)表的一個字段。所有這些控件都允許一次顯示或操作幾個記錄。這些與 Data 控件結(jié)合使用的控件,可以稱之為?數(shù)據(jù)覺察控件?。 Data 控件允許從一個記錄移動到另一個記錄,并顯示和操縱來自被連接控件的記錄的數(shù)據(jù)。這些控件包括: ● Data控件; ● ADO Data控件; ● DataList 控件 /DataCombo 控件; ● DataGrid控件; ● MSChart 控件。如要修改窗體或控件的某項(xiàng)屬性,只需在相應(yīng)的窗體或控件的屬性窗口修改相應(yīng)的參數(shù)便可達(dá)到需要的設(shè)計效果。當(dāng)窗體或控件上發(fā)生一個事件時, VB 立即把控制權(quán)交給程序員。 VB 的重 要特點(diǎn)之一是可視性。 SQL 語句 SQL 語句概括起來可以分為數(shù)據(jù)操作語言,數(shù)據(jù)定義語言和數(shù)據(jù)控制語言幾大組,它們用于對數(shù)據(jù)庫數(shù)據(jù)的查詢,修改和更新,是一種完備的數(shù)據(jù)處理語言。 SQL 語言一次處理一個記錄,對數(shù)據(jù)提供自動導(dǎo)航,它允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而部隊(duì)單個記錄進(jìn)行操作,可操作記錄集,所有 SQL 語句接受集合作為輸入,返回集合作為輸出。使用 SQL 的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres 等等。 SQL語言介紹 .1SQL 基礎(chǔ) SQL(Structured Query Language,結(jié)構(gòu)查詢語言 )是一個功能強(qiáng)大的數(shù)據(jù)庫語言。數(shù)據(jù)表設(shè)計不僅要滿足數(shù)據(jù)存儲的要求,還要增 加一些如反映有關(guān)信息、操作責(zé)任、中間數(shù)據(jù)的字段或臨時數(shù)據(jù)表。 數(shù)據(jù)庫設(shè)計的步驟主要是: ( 1) 數(shù)據(jù)庫結(jié)構(gòu)定義:目前的數(shù)據(jù)庫管理系統(tǒng)( DBMS)有的是支持聯(lián)機(jī)事務(wù)處理 CLTP(負(fù)責(zé)對事務(wù)數(shù)據(jù)進(jìn)行采集、處理 、存儲)的操作型 DBMS,有的可支持?jǐn)?shù)據(jù)倉庫、有聯(lián)機(jī)分析處理 CLAP(指為支持決策的制定對數(shù)據(jù)的一種加工操作)功能的大型 DBMS,有的數(shù)據(jù)庫是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫。 ( 4) 物理設(shè)計的任務(wù)是確定所有屬性的類型、寬度與取值范圍,設(shè)計出基本表的主鍵,將所有的表名與字段名英文化(現(xiàn)在很多軟件能支持中文字段,如 Access 2021),實(shí)現(xiàn)物理建庫,完成數(shù)據(jù)庫物理設(shè)計字典。信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設(shè)計分五個步驟:數(shù)據(jù)庫需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計與加載測試。它所包含的運(yùn)行處理器用來處理窗體和數(shù)據(jù)庫的數(shù)據(jù)交互,以及回答查詢和打印報表等。 設(shè)計子系統(tǒng)有一個方便數(shù)據(jù)庫及其應(yīng)用創(chuàng)建的工具集。 關(guān)系模型和層次、網(wǎng)狀模型的最大判別是用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),表格簡單用戶易懂,編程時并不涉及存儲結(jié)構(gòu),訪問技術(shù)等細(xì)節(jié)。 關(guān)系模型。 DBMS是數(shù)據(jù)庫系統(tǒng)的核心組成部分。 ( 2)邏輯數(shù)據(jù)獨(dú)立性 如果數(shù)據(jù)庫的概念模式要進(jìn)行修改,譬如增加記錄類型或增加數(shù)據(jù)項(xiàng),那么外模式 /模式映象也要進(jìn)行相應(yīng)的修改,使外模式盡可能保持不變。在數(shù)據(jù)庫技術(shù)中,數(shù)據(jù)獨(dú)立性是指應(yīng)用程序和數(shù)據(jù)之間相互獨(dú)立,不受影響。它把數(shù)據(jù)的具體組織留給 dbms 去做,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機(jī)中的表示 和存儲,這樣就減輕了用戶使用系統(tǒng)的負(fù)擔(dān)。全局?jǐn)?shù)據(jù)視圖的描述稱為?概念模式?。 從某個角度看到的數(shù)據(jù)特性稱為?數(shù)據(jù)視圖?( data view)。 面向?qū)ο竽P湍芡暾孛枋霈F(xiàn)實(shí) 世界的數(shù)據(jù)結(jié)構(gòu),具有豐富的表達(dá)能力,但模型相對較復(fù)雜,涉及的知識面也廣,因此面向?qū)ο髷?shù)據(jù)庫尚未達(dá)到關(guān)系數(shù)據(jù)庫那樣的普及程度。目前,關(guān)系數(shù)據(jù)庫的使用已相當(dāng)普遍,但是,現(xiàn)實(shí)世界中仍然存在著許多含有復(fù)雜數(shù)據(jù)結(jié)構(gòu)的應(yīng)用領(lǐng)域,例如,cad數(shù)據(jù)、圖形數(shù)據(jù)等,而關(guān)系模型在這方面的處理能力就顯得力不從心。只需用簡單的查詢語句就可對數(shù)據(jù)庫進(jìn)行操作。 80 年代初才形成產(chǎn)品,但很快得到廣泛的應(yīng)用和普及,并最終取代了層次、網(wǎng)狀數(shù)據(jù)庫產(chǎn)品。 關(guān)系模型和層次、網(wǎng)狀模型的最大判別是用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),表格簡單用戶易懂,編程時并不涉及存儲結(jié)構(gòu),訪問技術(shù)等細(xì)節(jié)。網(wǎng)狀模型有許多成功的產(chǎn)品 ,20 世紀(jì) 70 年代的產(chǎn)品大部分網(wǎng)狀系統(tǒng) ,例如 ,honeywell 公司的 ids/ⅱ、 hp 公司的image/3000、 burroughs 公司的 dmsⅱ、 umivac 公司的 dms1100、culli 公司的 idms、 cim 公司的 total等 ( 3)關(guān)系模型。 網(wǎng)狀 模型的特點(diǎn):記錄之間聯(lián)系通過指針實(shí)現(xiàn), m∶ n聯(lián)