Java可行性分析_第1頁
Java可行性分析_第2頁
Java可行性分析_第3頁
Java可行性分析_第4頁
Java可行性分析_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java信息管理系統(tǒng)可行性研究報(bào)告一可行性研究前提1.1可行性研究背景及意義利用計(jì)算機(jī)進(jìn)行學(xué)生信息管理,不僅能夠保證準(zhǔn)確、無誤、快速輸出,而且還可以利用計(jì)算機(jī)對(duì)有關(guān)信息進(jìn)行查詢,檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好。要科學(xué)地實(shí)現(xiàn)信息化管理,開發(fā)一個(gè)適合學(xué)校的,能夠進(jìn)行信息存儲(chǔ)、查詢、修改等功能的信息管理系統(tǒng)是十分重要的。本課題就是針對(duì)便于學(xué)生信息管理的問題而設(shè)計(jì)的一個(gè)管理系統(tǒng)。1.2 實(shí)驗(yàn)技術(shù)選擇本課題設(shè)計(jì)主要運(yùn)用的技術(shù)有兩個(gè):java 項(xiàng)目開發(fā)和 oracle 對(duì)數(shù)據(jù)庫(kù)的操作。這里主要介紹本課題為什么選用這兩個(gè)開發(fā)技術(shù):Java 語言特點(diǎn)Java 是一種跨平臺(tái),適合于分布式計(jì)算環(huán)

2、境的面向?qū)ο缶幊陶Z言。具體來說,它具有如下特性:下面我們將重點(diǎn)介紹 Java 語言的面向?qū)ο?、平臺(tái)無關(guān)、分布式、多線程、可靠和安全等特性。面向?qū)ο竺嫦驅(qū)ο笃鋵?shí)是現(xiàn)實(shí)世界模型的自然延伸。 現(xiàn)實(shí)世界中任何實(shí)體都可以看作是對(duì)象。對(duì)象之間通過消息相互作用。另外,現(xiàn)實(shí)世界中任何實(shí)體都可歸屬于某類事物,任何對(duì)象都是某一類事物的實(shí)例。如果說傳統(tǒng)的過程式編程語言是以過程為中心以算法為驅(qū)動(dòng)的話,面向?qū)ο蟮木幊陶Z言則是以對(duì)象為中心以消息為驅(qū)動(dòng)。用公式表示,過程式編程語言為:程序=算法跋據(jù);面向?qū)ο缶幊陶Z言為:程序=對(duì)象+消息。所有面向?qū)ο缶幊陶Z言都支持三個(gè)概念:封裝、多態(tài)性和繼承,Java 也不例外。現(xiàn)實(shí)世界中的

3、對(duì)象均有屬性和行為,映射到計(jì)算機(jī)程序上,屬性則表示對(duì)象的數(shù)據(jù),行為表示對(duì)象的方法(其作用是處理數(shù)據(jù)或同外界交互)。所謂封裝,就是用一個(gè)自主式框架把對(duì)象的數(shù)據(jù)和方法聯(lián)在一起形成一個(gè)整體??梢哉f,對(duì)象是支持封裝的手段,是封裝的基本單位。Java 語言的封裝性較強(qiáng),因?yàn)?Java 無全程變量,無主函數(shù),在 Java 中絕大部分成員是對(duì)象,只有簡(jiǎn)單的數(shù)字類型、字符類型和布爾類型除外。而對(duì)于這些類型,Java 也提供了相應(yīng)的對(duì)象類型以便與其他對(duì)象交互操作。多態(tài)性就是多種表現(xiàn)形式, 具體來說, 可以用“一個(gè)對(duì)外接口, 多個(gè)內(nèi)在實(shí)現(xiàn)方法”表示。舉一個(gè)例子,計(jì)算機(jī)中的堆??梢源鎯?chǔ)各種格式的數(shù)據(jù),包括整型,浮點(diǎn)

4、或字符。不管存儲(chǔ)的是何種數(shù)據(jù),堆棧的算法實(shí)現(xiàn)是一樣的。針對(duì)不同的數(shù)據(jù)類型,編程人員不必手工選擇,只需使用統(tǒng)一接口名,系統(tǒng)可自動(dòng)選擇。運(yùn)算符重載(operatoroverload)一直被認(rèn)為是一種優(yōu)秀的多態(tài)機(jī)制體現(xiàn),但由于考慮到它會(huì)使程序變得難以理解,所以 Java 最后還是把它取消了。繼承是指一個(gè)對(duì)象直接使用另一對(duì)象的屬性和方法。事實(shí)上,我們遇到的很多實(shí)體都有繼承的含義。例如,若把汽車看成一個(gè)實(shí)體,它可以分成多個(gè)子實(shí)體,如:卡車、公共汽車等。這些子實(shí)體都具有汽車的特性,因此,汽車是它們的“父親”,而這些子實(shí)體則是汽車的“孩子”。Java 提供給用戶一系列類(class),Java 的類有層次結(jié)

5、構(gòu),子類可以繼承父類的屬性和方法。與另外一些面向?qū)ο缶幊陶Z言不同,Java 只支持單一繼承。平臺(tái)無關(guān)性Java 是平臺(tái)無關(guān)的語言是指用 Java 寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺(tái)上運(yùn)行。平臺(tái)無關(guān)有兩種:源代碼級(jí)和目標(biāo)代碼級(jí)。C 和 C+短有一定程度的源代碼級(jí)平臺(tái)無關(guān),表明用 C 或 C+巧的應(yīng)用程序不用修改只需重新編譯就可以在不同平臺(tái)上運(yùn)行。Java 主要靠 Java 虛擬機(jī)(JVM 在目標(biāo)碼級(jí)實(shí)現(xiàn)平臺(tái)無關(guān)性。JVM 是一種抽象機(jī)器,它附著在具體操作系統(tǒng)之上,本身具有一套虛機(jī)器指令,并有自己的棧、寄存器組等。但 JVM 通常是在軟件上而不是在硬件上實(shí)現(xiàn)。(目前,SUN 系統(tǒng)公司已經(jīng)設(shè)

6、計(jì)實(shí)現(xiàn)了 Java 芯片,主要使用在網(wǎng)絡(luò)計(jì)算機(jī) NC 上。另外,Java 芯片的出現(xiàn)也會(huì)使 Java 更容易嵌入到家用電器中。)JVM 是 Java 平臺(tái)無關(guān)的基礎(chǔ),在 JVM 上,有一個(gè) Java 解釋器用來解釋 Java 編譯器編譯后的程序。Java 編程人員在編寫完程序后,通過 Java 編譯器將 Java 源程序編譯為 JVM 的字節(jié)代碼。 任何一臺(tái)機(jī)器只要配備了 Java 解釋器, 就可以運(yùn)行這個(gè)程序,而不管這種字節(jié)碼是在何種平臺(tái)上生成的。另外,Java 采用的是基于 IEEE 標(biāo)準(zhǔn)的數(shù)據(jù)類型。通過 JVM 保證數(shù)據(jù)類型的一致性,也確保了 Java 的平臺(tái)無關(guān)性。Java 的平臺(tái)無關(guān)

7、性具有深遠(yuǎn)意義。首先,它使得編程人員所夢(mèng)寐以求的事情(開發(fā)一次軟件在任意平臺(tái)上運(yùn)行) 變成事實(shí), 這將大大加快和促進(jìn)軟件產(chǎn)品的開發(fā)。 其次 Java的平臺(tái)無關(guān)性正好迎合了“網(wǎng)絡(luò)計(jì)算機(jī)”思想。如果大量常用的應(yīng)用軟件(如字處理軟件等)都用 Java 重新編寫,并且放在某個(gè) Internet 服務(wù)器上,那么具有 NC 的用戶將不需要占用大量空間安裝軟件, 他們只需要一個(gè) Java 解釋器, 每當(dāng)需要使用某種應(yīng)用軟件時(shí),下載該軟件的字節(jié)代碼即可,運(yùn)行結(jié)果也可以發(fā)回服務(wù)器。目前,已有數(shù)家公司開始使用這種新型的計(jì)算模式構(gòu)筑自己的企業(yè)信息系統(tǒng)。分布式分布式包括數(shù)據(jù)分布和操作分布。數(shù)據(jù)分布是指數(shù)據(jù)可以分散在網(wǎng)

8、絡(luò)的不同主機(jī)上,操作分布是指把一個(gè)計(jì)算分散在不同主機(jī)上處理。Java 支持 WWW 戶機(jī)/服務(wù)器計(jì)算模式,因此,它支持這兩種分布性。對(duì)于前者,Java 提供了一個(gè)叫作 URL 的對(duì)象,利用這個(gè)對(duì)象,你可以打開并訪問具有相同 URLM址上的對(duì)象,訪問方式與訪問本地文件系統(tǒng)相同。對(duì)于后者,Java 的 applet 小程序可以從服務(wù)器下載到客戶端,即部分計(jì)算在客戶端進(jìn)行,提高系統(tǒng)執(zhí)行效率。Java 提供了一整套網(wǎng)絡(luò)類庫(kù),開發(fā)人員可以利用類庫(kù)進(jìn)行網(wǎng)絡(luò)程序設(shè)計(jì),方便得實(shí)現(xiàn) Java 的分布式特性。可靠性和安全性Java 最初設(shè)計(jì)目的是應(yīng)用于電子類消費(fèi)產(chǎn)品,因此要求較高的可靠性。Java雖然源于 C+,

9、但它消除了許多 C+”可靠因素,可以防止許多編程錯(cuò)誤。首先,Java 是強(qiáng)類型的語言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯(cuò)誤,保證程序更加可靠;其次,Java 不支持指針,這杜絕了內(nèi)存的非法訪問;第三,Java 的自動(dòng)單元收集防止了內(nèi)存丟失等動(dòng)態(tài)內(nèi)存分配導(dǎo)致的問題;第四,Java 解釋器運(yùn)行時(shí)實(shí)施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界,最后,Java 提供了異常處理機(jī)制,程序員可以把一組錯(cuò)誤代碼放在一個(gè)地方,這樣可以簡(jiǎn)化錯(cuò)誤處理任務(wù)便于恢復(fù)。由于 Java 主要用于網(wǎng)絡(luò)應(yīng)用程序開發(fā),因此對(duì)安全性有較高的要求。如果沒有安全保證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險(xiǎn)。Java 通過自己的

10、安全機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。當(dāng) Java 字節(jié)碼進(jìn)入解釋器時(shí),首先必須經(jīng)過字節(jié)碼校驗(yàn)器的檢查,然后,Java 解釋器將決定程序中類的內(nèi)存布局,隨后,類裝載器負(fù)責(zé)把來自網(wǎng)絡(luò)的類裝載到單獨(dú)的內(nèi)存區(qū)域,避免應(yīng)用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡(luò)上裝載的類只能訪問某些文件系統(tǒng)。上述幾種機(jī)制結(jié)合起來,使得 Java 成為安全的編程語言。多線程線程是操作系統(tǒng)的一種新概念,它又被稱作輕量進(jìn)程,是比傳統(tǒng)進(jìn)程更小的可并發(fā)執(zhí)行的單位。C 和 C+冰用單線程體系結(jié)構(gòu),而 Java 卻提供了多線程支持。Java 在兩方面支持多線程。一方面,Java 環(huán)境本身就是多線

11、程的。若干個(gè)系統(tǒng)線程運(yùn)行負(fù)責(zé)必要的無用單元回收,系統(tǒng)維護(hù)等系統(tǒng)級(jí)操作;另一方面,Java 語言內(nèi)置多線程控制,可以大大簡(jiǎn)化多線程應(yīng)用程序開發(fā)。Java 提供了一個(gè)類Thread,由它負(fù)責(zé)啟動(dòng)運(yùn)行,終止線程,并可檢查線程狀態(tài)。Java 的線程還包括一組同步原語。這些原語負(fù)責(zé)對(duì)線程實(shí)行并發(fā)控制。利用 Java 的多線程編程接口,開發(fā)人員可以方便得寫出支持多線程的應(yīng)用程序,提高程序執(zhí)行效率。必須注意地是,Java 的多線程支持在一定程度上受運(yùn)行時(shí)支持平臺(tái)的限制。例如,如果操作系統(tǒng)本身不支持多線程,Java 的多線程特性可能就表現(xiàn)不出來。oracle 數(shù)據(jù)庫(kù)的特點(diǎn)無范式要求,可根據(jù)實(shí)際系統(tǒng)需求構(gòu)造數(shù)據(jù)

12、庫(kù)。采用標(biāo)準(zhǔn)的 SQLM 構(gòu)化查詢語言。具有豐富的開發(fā)工具,覆蓋開發(fā)周期的各階段。支持大型數(shù)據(jù)庫(kù),數(shù)據(jù)類型支持?jǐn)?shù)字、字符、大至 4GB 的二進(jìn)制數(shù)據(jù),為數(shù)據(jù)庫(kù)的面向存儲(chǔ)提供數(shù)據(jù)支持。具有第四代語言的開發(fā)工具(SQL*formSSQL*REPORTSSQL*MENU)。具有字符界面和圖形界面,易于開發(fā)。通過 SQL*DBA 空制用戶權(quán)限,提供數(shù)據(jù)保護(hù)功能,監(jiān)控?cái)?shù)據(jù)庫(kù)的運(yùn)行狀態(tài),調(diào)整數(shù)據(jù)緩沖區(qū)的大小。分布優(yōu)化查詢功能。具有數(shù)據(jù)透明、網(wǎng)絡(luò)透明,支持異種網(wǎng)絡(luò)、異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)。并行采用動(dòng)態(tài)數(shù)據(jù)分片技術(shù)。支持客戶機(jī)/服務(wù)器體系結(jié)構(gòu)及混合的體系結(jié)構(gòu)(集中式、分布式、客戶機(jī)/服務(wù)器)。實(shí)現(xiàn)了兩階段提交、多線索

13、查詢手段。支持多種系統(tǒng)平臺(tái)(HPUXSUNOSOSF/1、VMSWINDOWSWINDOWS/NTOS/2)。數(shù)據(jù)安全保護(hù)措施:沒有讀鎖,采取快照 SNA 叨式完全消除了分布讀寫沖突。自動(dòng)檢測(cè)死鎖和沖突并解決。數(shù)據(jù)安全級(jí)別為 C2 級(jí)(最高級(jí))。數(shù)據(jù)庫(kù)內(nèi)模支持多字節(jié)碼制,支持多種語言文字編碼。具有面向制造系統(tǒng)的管理信息系統(tǒng)和財(cái)務(wù)系統(tǒng)應(yīng)用系統(tǒng)。綜上所述,選擇 java 作為開發(fā)語言,oracle 作為數(shù)據(jù)庫(kù)開發(fā)工具是個(gè)不錯(cuò)的選擇。java 語言的面向?qū)ο蟆⑵脚_(tái)無關(guān)、分布式、多線程、可靠和安全等特性,使得開發(fā)出來的項(xiàng)目具有健壯性、可維護(hù)性、可移植性等特點(diǎn)。Oracle 是目前最具權(quán)威的數(shù)據(jù)庫(kù)產(chǎn)品,

14、它具有的兼容性、可移植性、可聯(lián)結(jié)性、高生產(chǎn)率和開放性的特點(diǎn),使它成為當(dāng)今眾多的程序開發(fā)人員首選的數(shù)據(jù)庫(kù)開發(fā)工具。 所以本課題選擇 javajava 和 oracleoracle 作為開發(fā)技術(shù)是為今后開發(fā)更復(fù)雜的項(xiàng)目打下基礎(chǔ),以免到時(shí)候遇到相關(guān)的技術(shù)問題而不知所措。1.3 課題實(shí)現(xiàn)技術(shù)的簡(jiǎn)要說明本課題主要運(yùn)用了 java 圖形編程和 oracle 數(shù)據(jù)庫(kù)的操作。Java 圖形編程給用戶提供了一個(gè)直觀、易于與用戶進(jìn)行交互的圖形界面。在圖形編程中,運(yùn)用了大量的 java.swing 包中的類,之所以選擇 swing 包中的類而不選java.awt 包中的類,主要是 swing 包中的類能給用戶提供更

15、好的觀感。oracle 數(shù)據(jù)庫(kù)的操作這部分內(nèi)容分成三部分來實(shí)現(xiàn): 首先, 編寫對(duì)數(shù)據(jù)庫(kù)操作的類,處理包括:連接數(shù)據(jù)庫(kù)、執(zhí)行 sql 語句、關(guān)閉數(shù)據(jù)庫(kù)連接等。其次,編寫一個(gè)用于對(duì)學(xué)生信息進(jìn)行數(shù)據(jù)庫(kù)操作的類,包括:學(xué)生信息的增加、修改、刪除和查詢等。最后,編寫一個(gè)用于對(duì)課程相關(guān)信息進(jìn)行數(shù)據(jù)庫(kù)操作的類,包括:對(duì)課程信息的增加、修改、刪除、查詢等等。通過結(jié)合圖形編程和數(shù)據(jù)庫(kù)編程,從而基本上實(shí)現(xiàn)了學(xué)生信息管理的基本功能,由于本人技術(shù)上的不足,難免有些地方需要改進(jìn),這些存在的問題都將成為本人前進(jìn)的動(dòng)力,并在日后更加完善本課題的設(shè)計(jì)。二可行性研究分析2.1 可行性分析.設(shè)計(jì)題目:學(xué)生信息管理系統(tǒng).功能需求系

16、統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)學(xué)生信息管理的系統(tǒng)化,規(guī)范化和自動(dòng)化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)總體任務(wù)的基礎(chǔ)上完成的。本次設(shè)計(jì)的學(xué)生信息管理系統(tǒng)需要完成的功能主要有:1)學(xué)生信息的輸入,包括學(xué)生基本信息、課程信息和成績(jī)信息等。2)學(xué)生信息的修改、刪除、統(tǒng)計(jì)、查詢、顯示,包括學(xué)生基本信息、課程信息和成績(jī)信息等系統(tǒng)的性質(zhì)為管理軟件,因而數(shù)據(jù)庫(kù)的設(shè)計(jì)與操縱是系統(tǒng)設(shè)計(jì)的核心。這里從兩方面分析技術(shù)上的可行性。首先,對(duì)于 java 編程部分,java 課已經(jīng)開過。因此在課題設(shè)計(jì)中,對(duì) java 圖形編程方面的問題都能迎韌而解。其次,對(duì)于數(shù)據(jù)庫(kù)的有關(guān)知識(shí),本人運(yùn)用了大量的時(shí)間對(duì)相關(guān)書籍的閱讀以及上機(jī)實(shí)驗(yàn),基本上掌握了

17、運(yùn)用 oracle 數(shù)據(jù)庫(kù)技術(shù),具備一定的系統(tǒng)分析與設(shè)計(jì)能力,熟悉數(shù)據(jù)庫(kù)的設(shè)計(jì)與操縱;因而該系統(tǒng)的實(shí)現(xiàn)在技術(shù)上是可行的。關(guān)于編制 Java 學(xué)生信息管理系統(tǒng)的可行性研究報(bào)告書關(guān)于編制 Java 學(xué)生信息管理系統(tǒng)的可行性研究報(bào)告書:2012.09.18項(xiàng)目名稱:編制 Java 學(xué)生信息管理系統(tǒng)項(xiàng)目目標(biāo):研究編制 Java 學(xué)生管理信息系統(tǒng)的可能性初步設(shè)想:用學(xué)校已有的學(xué)生信息管理系統(tǒng)進(jìn)行初步研究可行性研究:根據(jù)已有的信息,更加全面的研究 Java 編制學(xué)生管理信息系統(tǒng)的可能性。2.3 系統(tǒng)需求分析本課題根據(jù)學(xué)生信息管理綜合分析,便出于方便管理考慮,將學(xué)生信息管理系統(tǒng)的功能總結(jié)起來,共需要實(shí)現(xiàn)以下

18、幾個(gè)方面功能:管理學(xué)生信息管理所有學(xué)生的基本信息,對(duì)學(xué)生信息的操作包括添加、修改、刪除等;可以根據(jù)各種條件查詢出需要的信息,比如修改,可以通過學(xué)生學(xué)號(hào)查詢出學(xué)生的基本信息,然后通過對(duì)需要修改項(xiàng)進(jìn)行修改并保存修改后的結(jié)果存入數(shù)據(jù)庫(kù)的學(xué)生表中。管理課程信息管理所有課程的基本信息,包括對(duì)課程信息的添加、修改、刪除等操作;可以根據(jù)各種條件查詢出需要的信息,并對(duì)相應(yīng)的信息進(jìn)行操作。比如修改和刪除,可以通過學(xué)生的學(xué)號(hào)查詢出學(xué)生的相應(yīng)課程信息,對(duì)相應(yīng)的課程進(jìn)行修改、刪除操作。學(xué)生選課與成績(jī)根據(jù)學(xué)生的學(xué)號(hào)進(jìn)行選課,登記所選課程的成績(jī);可以根據(jù)學(xué)號(hào)查詢出選課信息與成績(jī)。通過以上功能的設(shè)計(jì)與實(shí)現(xiàn),并實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的基本功能圖 3.43.4 學(xué)生管理系統(tǒng)功能結(jié)構(gòu)圖可行性研究報(bào)告總結(jié)Java 具有簡(jiǎn)單性、面向?qū)ο蟆⒎植际健⒔忉屝?、可靠、安全、平臺(tái)無關(guān)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論