【正文】
it’s a mission statement. You won’t necessarily get it right the first time (you may be in a later phase of the project before it bees pletely clear), but keep trying until it feels right. For example, in an airtraffic control system to a very small airfield。 in many such programs, the database structure is the problem to be tackled. The class of programming problem discussed in this chapter is of the “wildcard” (my term) variety, in which the solution isn’t simply reforming a wellknown solution, but instead involves one or more “wildcard factors”elements for which there is no wellunderstood previous solution, and for which research is necessary. Attempting to thoroughly analyze a wildcard problem before moving into design and implementation results in analysis paralysis because you don’t have enough information to solve this kind of problem during the analysis phase. Solving such a problem requires iteration through the whole cycle, and that requires risktaking behavior (which makes sense, because you’re trying to do something new and the 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。 在本次畢業(yè)設(shè)計(jì)中,我從指導(dǎo)老師 XX老師身上學(xué)到了很多東西,X老師認(rèn)真負(fù)責(zé)的工作態(tài)度,無論在理論上還是實(shí)踐中,她都給予我很大的幫助,是我得到不少的提高,相信對我以后的工作和學(xué)習(xí)都會有很大的幫助,感 謝她細(xì)心而耐心的輔導(dǎo)。具體寫代碼時(shí)我也深深地體會到軟件測試在編程中的占有的重要性,而且在本軟件的測試中,讓我確實(shí)的增長了不少知識,受益匪淺! 設(shè)計(jì)總結(jié) 由于以前對 Visual Basic 的接觸并不是很多,對它的開發(fā)環(huán)境不是非常了解,所以在程序的開發(fā)過程中遇到了很多的困難,但經(jīng)過同學(xué)和指導(dǎo)老師的幫助,一一化解了困難,并從中學(xué)到了很多編程方面的知識。 測試結(jié)果 經(jīng)過以上測試 我認(rèn)識到:代碼編寫的過程是不斷調(diào)試的過程,通過不斷的調(diào)試才能使系統(tǒng)的功能逐步的完善。 ③運(yùn)行極限性。 ②程序的容錯性。 ①數(shù)據(jù)的合法性。經(jīng)過一段時(shí)間的調(diào)試,修改,程序終于達(dá)到了總體設(shè)計(jì)的要求。 軟件詳細(xì)調(diào)試 程序設(shè)計(jì)編碼工作完成之后,為了確保系統(tǒng)的正確性和嚴(yán)密性,系統(tǒng)在交給用戶使用之前必須進(jìn)行一系列的調(diào)試與維護(hù)測試。 測試的目標(biāo) : 1.測試是為了發(fā)現(xiàn)程序的錯誤而執(zhí)行程序的過程; 2.好的測試方案實(shí)際可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試 方案; 3.成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。 第五章 系統(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ù)源類型由三種,系統(tǒng)的,擁護(hù)的,和文件的。作為一個數(shù)據(jù)源被注冊,應(yīng)用程序只需知道它的數(shù)據(jù)源名稱。ODBC 是用于訪問,處理和創(chuàng)建數(shù)據(jù)庫的一種應(yīng)用程序開發(fā)界面 (妙D,它的基礎(chǔ)是習(xí)開放式調(diào)用級別界面和使用 SQL。 開發(fā) 開放式數(shù)據(jù)庫互聯(lián) (ODBC)上連接 Windows 系統(tǒng)中數(shù)據(jù)庫的一種最流行的方法,通過使用 ODBC,開發(fā)人員不需要關(guān)心他們在與之相連的特定數(shù)據(jù)庫。數(shù)據(jù)庫的恢復(fù)如果遇到硬件故障、軟件故障、操作員的失誤以及故意的破壞等突發(fā)事件造成運(yùn)行事務(wù)非正常中斷,影響數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)丟失,對數(shù)據(jù)庫造成破壞。數(shù)據(jù)的完整性和安全性的區(qū)別在于完整性是指防止數(shù)據(jù)庫中存在不合語義的數(shù)據(jù)、防止錯誤的輸入和輸出造成的無效操作和錯誤結(jié)果,安全性是指保護(hù)數(shù)據(jù)庫不被惡意破壞和非法存取。比如年齡必須是整數(shù)等。這包括數(shù)據(jù)的安全性、完整性、并發(fā)控制和恢復(fù)。還可以使用 CreateDatabase 或者CompactDatabase方法創(chuàng) 建或者對已有的數(shù)據(jù)庫加密。 采用以上的數(shù)據(jù)庫管理方法時(shí),必須確保數(shù)據(jù)庫具有嚴(yán)密的保密性能和良好的恢復(fù)能力。主要面向工程,可以比較好的完成實(shí)際的需要。 (DBMs)建立數(shù)據(jù)庫。 ( DBMS)實(shí)現(xiàn)對數(shù)據(jù)的管理,應(yīng)用程序要實(shí)現(xiàn)對數(shù)據(jù)的應(yīng)用可通過開發(fā)平臺提供的數(shù)據(jù)庫接口或利用數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)庫描述語言 (DDL) ,數(shù)據(jù)庫操作語言 (DCL),數(shù)據(jù)庫控制語言 (DCL)嵌入主語言的方式來實(shí)現(xiàn)。 一般說來,實(shí)現(xiàn)數(shù)據(jù)管理有以下三種方法 : ,建立數(shù)據(jù)文件,再編寫應(yīng)用程序來實(shí)現(xiàn)對數(shù)據(jù)的操作,這種方法針對性,專用性強(qiáng),適合開發(fā)小型項(xiàng)目。這些表可以相互鏈接,發(fā)生關(guān)聯(lián)。使用關(guān)系數(shù)據(jù)庫,數(shù)據(jù)被倉儲在一個二維的數(shù)據(jù)陣中,稱為表。使用面向?qū)ο蟮臄?shù)據(jù)庫,應(yīng)用 程序中的數(shù)據(jù)庫對象與現(xiàn)實(shí)世界中的對象就有了一對一的映射關(guān)系?,F(xiàn)在,大部分的重要數(shù)據(jù)庫工作都由關(guān)系數(shù)據(jù)庫和面向?qū)ο髷?shù)據(jù)庫來完成。 數(shù)據(jù)庫的類型和管理方法 數(shù)據(jù)庫從類型上可以分為網(wǎng)絡(luò)數(shù)據(jù)庫、層次數(shù)據(jù)庫和平數(shù)據(jù)庫。數(shù)據(jù)庫內(nèi)的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度,較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可以為各個用戶所共享。所以在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)之前,有必要了解一下數(shù)據(jù)庫系統(tǒng)的類型和管理方法等基本知識。搭好整個框架,對于系 統(tǒng)完成基本的業(yè)務(wù)功能,以及后期的完善升級,都具有根本性的意義 。然而軟件工程最核心的內(nèi)容是進(jìn)行系統(tǒng)的設(shè)計(jì)。所以,界面設(shè)計(jì),都要體現(xiàn)出這樣一個特點(diǎn),就是方便用戶,做到即使對計(jì)算機(jī)不是很通的使用者,通過較短時(shí)間的培訓(xùn),也可以較為熟練地使用。 圖 31:主操作界面 系統(tǒng)界面的設(shè)計(jì),要遵循界面設(shè)計(jì)的一般習(xí)慣。本系統(tǒng)采用的菜單設(shè)計(jì)遵循此原理。 菜單是用戶界面的重要組成部分,應(yīng)用離不開菜單。設(shè)臵容忍用戶操作的失誤,并允許用戶改正,允許重復(fù)操作 。 用戶界面開發(fā)要 點(diǎn) 要點(diǎn)包括可靠性、簡單性、易學(xué)性和易使用性、立即反饋性。 Help 幫助,應(yīng)能聯(lián)機(jī)隨時(shí)調(diào)用,給用戶提供方便的幫助信息。自動糾錯方法還有待深入開發(fā)與研究,這主要是由于程序算法的不完善性,系統(tǒng)的復(fù)雜性等所致。輸出方式有屏幕閱讀方式,輸出介質(zhì)方式等。 用戶界面的基本 功能 入 輸出和窗口管理。用戶界面技術(shù)的完美是本軟件系統(tǒng)追求的重要目標(biāo),如果用戶界面不友好,軟件系統(tǒng)即使有再好再強(qiáng)大的功能,也不能得到充分的發(fā)揮。 用戶界面的設(shè)計(jì) 用戶界面 (Userinte 代比 e)又稱人機(jī)界面 (man,訪加到傲 ce),是用戶與計(jì)算機(jī)之間聯(lián)系的中間媒介,是應(yīng)用程序中用戶能見到的系統(tǒng)運(yùn)行部分。 可靠性 : 支持?jǐn)?shù)據(jù)庫備份和基于事物的數(shù)據(jù)庫操作。 它具有: 可用性: 支持多個用戶同時(shí)進(jìn)行訪問數(shù)據(jù)庫,用戶界面友好,數(shù)據(jù)庫訪問反映快。加之我們用 VB 來開發(fā)的,使它具有良好的應(yīng)用和維護(hù)界面,也很容易實(shí)現(xiàn)。 第三章 系統(tǒng)實(shí)現(xiàn) 系統(tǒng)可行性分析: 本系統(tǒng)的設(shè)計(jì)目標(biāo)是開發(fā)一個功能齊全具有實(shí)用價(jià)值的? 桌面日