【正文】
過,實(shí)是榮幸之極。在這四年的時(shí)間里,我在學(xué)習(xí)上和思想上都受益非淺。這除了自身努力外,與各位老師、同學(xué)和朋友的關(guān)心、支持和鼓勵(lì)是分不開的。論文的寫作是枯燥艱辛而又富有挑戰(zhàn)的,老師的諄諄誘導(dǎo)、同學(xué)的出謀劃策及家長的支持鼓勵(lì),是我堅(jiān)持完成論文的動(dòng)力源泉。在此,我特別要感謝我的指導(dǎo)教師劉星妍老師。從論文的選題、文獻(xiàn)的采集、框架的設(shè)計(jì)、結(jié)構(gòu)的布局到最終的論文定稿,從內(nèi)容到格式,從標(biāo)題到標(biāo)點(diǎn),都費(fèi)盡心血。沒有劉星妍老師的辛勤栽培、孜孜教誨,就沒有我畢業(yè)設(shè)計(jì)及論文的順利完成。感謝所有任課老師和所有同學(xué)在這四年來給自己的指導(dǎo)和幫助,是他們教會(huì)了我專業(yè)知識(shí),教會(huì)了我如何學(xué)習(xí),教會(huì)了我如何做人。正是由于他們,我才能在各方面取得顯著的進(jìn)步,在此向他們表示我由衷的謝意,并祝所有的老師培養(yǎng)出越來越多的優(yōu)秀人才,桃李滿天下!感謝計(jì)算機(jī)系的各位同學(xué),與他們的交流使我受益頗多。最后要感謝我的家人以及我的朋友們對(duì)我的理解、支持、鼓勵(lì)和幫助,正是因?yàn)橛辛怂麄?,我所做的一切才更有意義;也正是因?yàn)橛辛怂麄?,我才有了追求進(jìn)步的勇氣和信心。由于時(shí)間的倉促及自身專業(yè)水平有限,整篇論文肯定存在尚未發(fā)現(xiàn)的缺點(diǎn)和錯(cuò)誤。懇請(qǐng)閱讀此篇論文的老師、同學(xué),多予指正,不勝感激!參考文獻(xiàn)1 劉婕,張琳,溫才燚. + SQL Server動(dòng)態(tài)網(wǎng)站開發(fā).電子工業(yè)出版社,20072 陳剛.CSS標(biāo)準(zhǔn)網(wǎng)頁布局開發(fā)指南.清華大學(xué)出版社,20073 朱曄.——基于C .清華大學(xué)出版社,20074 張立 等.C .電子工業(yè)出版社,20085 張領(lǐng)..清華大學(xué)出版社,20086 周星,魏應(yīng)彬.基于ASP的網(wǎng)上組卷與自考系統(tǒng)的開發(fā).計(jì)算機(jī)應(yīng)用,20017 張海潘.軟件工程導(dǎo)論.清華大學(xué)出版社.20078 丁士鋒.C 實(shí)用開發(fā)詳解.電子工業(yè)出版社.20089 (美) Jesse Liberty,(美) Dan Hurwitz.Programming (影印版).東南大學(xué)出版社,200610 王明寶,洪力奮,陳凱明.基于Web的智能組卷的研究與應(yīng)用.計(jì)算機(jī)應(yīng)用,200311 薩師煊.?dāng)?shù)據(jù)庫系統(tǒng)概論.高等教育出版社.200612 嚴(yán)蔚敏,吳偉民.?dāng)?shù)據(jù)結(jié)構(gòu).清華大學(xué)出版社.200713 呂繼迪,孫明麗,龐婭娟.ASP程序開發(fā)范例寶典(第2版).人民郵電出版社.200914 閃四清.SQL Server 2005 基礎(chǔ)教程.清華大學(xué)出版社.200715 楊劍. (第2版).清華大學(xué)出版社.200816 盧鎮(zhèn)波,李青..清華大學(xué)出版社.200517 (美)Michael Blaha,(美) James Rumbaugh.ObjectOriented Modeling and Design with UML Second Edition.人民郵電出版社,200618 楊青.基于遺傳算法的試題庫自動(dòng)組卷問題的研究.濟(jì)南大學(xué)學(xué)報(bào)(自然科學(xué)版).200419 (美) Allen,Neil Avent 等.Fast Track C.人民郵電出版社,200220 余金山,王濤,徐建軍. +SQL Server 2005企業(yè)項(xiàng)目開發(fā)與實(shí)踐.電子工業(yè)出版社.2008附錄1Testing ObjectOriented SoftwareObjectoriented programming language, objectoriented programming features affect the certain aspects of the test. A typical objectoriented programming with inheritance, encapsulation and polymorphism of the new features, which makes traditional test strategy must change. The package is hidden on the data, the outside world can only be provided through the operations to access or modify data, so that reduces the data is read and write arbitrary changes and the possibility of reducing the traditional program, the illegal operation on the data testing. Inheritance is an important feature of objectoriented programming, inheritance allows code reuse rate, but also to increase the probability of error propagation. Inheritance makes the traditional test met such a problem: the code of succession How should we test? (See objectoriented unit test). Polymorphic objectoriented programming makes a strong showing of external processing power, but it makes the process of same function of the behavior of plex, testing has to take into account the practical implementation of different types of code and generate behavior.Objectoriented programming is to achieve the functions distributed in class. Function correctly to achieve the class, through the message passing to function together to achieve the design requirements. It is this objectoriented programming style, the errors will be able to accurately determine a specific class. Therefore, objectoriented programming (OOP) stage, ignored Functional implementation details of the test eyes focused on the realization of functions in the class and the corresponding objectoriented programming style is mainly reflected in the following two aspects.The differences between old and new ways of developing and testing software are much deeper than a focus on objects instead of on functions that transform inputs to outputs. The most significant difference is in the way objectoriented software is designed as a set of objects that essentially model a problem and then collaborate to effect a solution. Underlying this approach is the concept that while a solution to a problem might need to change over time, the structure and ponents of the problem itself do not change as much or as frequently. Consequently, a program whose design is structured from the problem (and not on an immediately required solution) will be more adaptable to changes later. A programmer familiar with the problem and its ponents can recognize them in the software, thereby making the program more maintainable. Furthermore, because ponents are derived from the problem, they can often be reused in the development of other programs to solve similar or related problems, thereby improving the reusability of software ponents.A traditional unit test is a function for the program, process or pletion of a certain function block. Follow the concept of unit testing, the actual test class member functions. Some of the traditional testing methods in objectoriented unit tests can be used. Such as the equivalence class partition method, cause and effect diagram method, boundary value analysis, logic, overlay, path analysis, program instrumentation France and so on. Unit testing generally remended be pleted by the programmer.The characteristics of objectoriented programming makes the test member functions are not exactly the same as the traditional function or process of testing. In particular, inherited characteristics and multistate characteristics, so that subclasses inherit or overload occurs the parent class member functions are not met the traditional test problem.There are several different polymorphic forms, such as parametric polymorphism, including polymorphism, overloading polymorphism. With polymorphism and overloading polymorphism in objectoriented languages are usually embodied in the child class and parent class inheritance relationship between these two kinds of tests polymorphic see the abovementioned member functions of the parent class discussion of inheritance and overloading. While the member states with multifunction, the parameters can have a variety of types, but usually only increased the plexity of the test. Right with the member function contains the polymorphic test, only the original test analysis and test case on the basis of the input data to expand the type of consideration.面向?qū)ο蟮能浖y試對(duì)象編程語言中面向?qū)ο缶幊痰奶卣饔绊懼承┓矫娴臏y試。典型的面向?qū)ο蟪绦蚓哂欣^承、封裝和多態(tài)的新特性,這使得傳統(tǒng)的測試策略必須有所改變。封裝是對(duì)數(shù)據(jù)的隱藏,外界只能通過被提供的操作來訪問或修改數(shù)據(jù),這樣降低了數(shù)據(jù)被任意修改和讀寫的可能性,降低了傳統(tǒng)程序中對(duì)數(shù)據(jù)非法操作的測試。繼承是面向?qū)ο蟪绦虻闹匾攸c(diǎn),繼承使得代碼的重用率提高,同時(shí)也使錯(cuò)誤傳播的概率提高。繼承使得傳統(tǒng)測試遇見了這樣一個(gè)難題:對(duì)繼承的代碼