基于Android的手機App選課系統的設計與應用_第1頁
基于Android的手機App選課系統的設計與應用_第2頁
基于Android的手機App選課系統的設計與應用_第3頁
基于Android的手機App選課系統的設計與應用_第4頁
基于Android的手機App選課系統的設計與應用_第5頁
已閱讀5頁,還剩57頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要隨著互聯網通信技術的推廣,智能手機已成人們生活中不可缺少的一部分。因此為智能手機終端添加更多內容豐富的應用功能提供了良好的平臺。本系統是基于谷歌公司新推出的一款Linux平臺的開源手機操作系統Android系統,利用Java語言,Eclipse為開發工具,通過對平臺的系統架構和應用程序進行學習,設計出一款基于android的在線選課系統。本系統包括存儲,刪除,修改,滿足了用戶對在線選課的需求。此在線選課的設計遵循標準的開發流程,首先進行需求分析,然后確定在線選課的功能,再編寫程序的代碼,調試程序,運行程序,并對程序進行優化完善。本軟件利用Android提供的各種組件對界面進行設計,能夠很好

2、地支持用戶體驗。關鍵詞:Android;手機;在線選課; IAbstractWith the promotion of Internet communication technology, smart phones have become an integral part of peoples lives. Therefore, it provides a good platform for smart phones to add more rich applications. This system is open source mobile phone operating system A

3、ndroid Google Corporation launched a new system based on Linux platform, using Java language, Eclipse development tools, learning through the system architecture and the application of the platform, designed a Android based online course system. The system includes storage, deletion, modification, t

4、o meet the users demand for online reading class online. This online course design follows the standard development process, first needs analysis, and then determine the online course function, then write the code debugging procedures, operating procedures, and procedures to optimize the sound. This

5、 software uses the Android provides each kind of component, carries on the design to the interface, can support the user experience very well.Key words: Android; mobile phone;online course selection;II目錄摘要IAbstractII1緒論11.1課題研究的目的及意義11.2開發背景11.3研究現狀11.4開發目標21.5開發環境22需求分析32.1系統可行性分析32.1.1技術可行性32.1.2經

6、濟可行性32.1.3操作可行性32.1.4法律可行性32.2角色介紹32.2.1系統用戶用例圖42.2.2用例描述52.2.3系統的活動圖72.2.4系統的部署圖82.3功能模塊描述92.3.1學生功能模塊92.3.2教師功能模塊92.3.3管理員模塊102.4系統性能安全102.5性能需求分析113概要設計123.1任務概述123.1.1目標123.1.2需求規定123.2總體設計123.2.1處理流程123.2.2人工處理過程133.2.3系統中類圖133.2.4系統中的時序圖143.3接口設計193.3.1外部接口193.3.2內部接口193.4運行設計193.4.1運行模塊的組合193

7、.4.2運行控制193.4.3運行時間193.5出錯處理設計193.5.1出錯信息193.5.2補救措施194數據庫設計204.1數據分析204.2數據庫的概念結構設計204.3數據模型的優化224.4 數據的物理結構設計255系統詳細設計265.1設計原則265.2界面設計265.3系統功能模塊設計285.3.1用戶模塊285.3.2登錄界面315.3.3學生操作課程325.3.4學生瀏覽成績335.3.5學生瀏覽課程346系統測試366.1運行366.2測試366.2.1測試的目的366.2.2測試的準則366.2.3測試的方法366.2.4測試用例37參考文獻40結束語41致謝42附錄4

8、3V1緒論1.1課題研究的目的及意義隨著高等學校的教育與教學的改革,數字信息化的教學管理系統已普遍出現在高校。高等學校的學年制管理向學分制度管理體制的發展,使得網上選課系統在高校中的廣泛的應用。傳統的選課系統是以固定的形式訪問互聯網。雖然,這樣的選課系統能滿足大部分學生的選課需要。但是,在選課的高峰期,學校的服務器會因訪問量過大而暫時癱瘓,導致學生不能立即進入系統進行選課。有時候為了選擇自己喜歡的課程提前幾個小時在電腦前面等候,不能做到隨時隨地的選課。而在當今社會,而Android手機也是人們生活中必不可少的?;贏ndroid的手機App選課系統的用戶無論是在任何地方。只要通過該移動客戶端的

9、Android手機就能隨時隨地的登錄系統進行選課。從而使用戶遠離電腦的束縛,在學校集中選課的時間可以不用去機房排隊等候選課,大大的提高了學生的選課效率。這也給學生的帶來便利。1.2開發背景由于現在大多數的高校的選課系統都是采用的瀏覽器/服務器(B/S)模式,這種模式相對最初的人工課程管理方便了許多,不在需要大量的人力,學生選課也不在排隊擁擠,也不會因為網絡癱瘓而對學校的服務器各種抱怨和吐槽,更不會因為選課而耽誤正常的教學任務。B/S模式的選課系統只需要一臺能訪問網絡的瀏覽器即可。只要基于Android的手機App選課系統服務器端提供選課功能、用戶信息管理、考試成績查詢、 查詢課程、成績修改、選

10、課信息的通知功能等模塊,在客戶端的界面窗口就能看到相應的功能模塊。傳統的互聯網的選課系統也存在很多不足,比如要進行選課操作時,就必須坐在接入網絡的電腦前;而且課程開設的通知等也要通過老師通知才能知道,對于在上課的同學想要選擇自己喜歡的課程,往往就帶來了諸多不便。1.3研究現狀智能手機已成人們生活中不可缺少的一部分,手機操作系統市場受終端廠商的參與力度、應用豐富程度、電信運營商支持和全球3G、4G網絡普及所激發的用戶對移動數據業務的影響。Android因為其便捷攜帶受到許多的商家的熱烈歡迎。在未來一段時間內智能手機操作系統是熾手可熱的階段?;贏ndroid的手機App選課系統未來會在高校選課應

11、用中有廣闊的市場前景,良好的用戶界面及人性化的操作會受到許多人的追捧,也會在未來的某個時候占據主導地位。1.4開發目標此次開發手機端學生的選課,提高了學生選課便捷,基于Android的手機App選課系統就能隨時隨地的登錄系統進行選課。從而使用戶遠離電腦的束縛,在學校集中選課的時間可以不用去機房排隊等候選課,大大的提高了學生的選課效率。這也給學生的帶來便利。1)方便在學生和老師隨時進行操作。2)方便學生和老師網上進行選課以及選課狀態的查詢。3)方便管理員高效地對選課進行各種操作。1.5開發環境系統的環境配置:Win7+mysql+Eclipse+ApacheTomcat 7.0.77該系統的所有

12、源代碼在此環境下調試通過。本文主要分四個章節對整個系統進行詳細的介紹。在第一個章節中,主要對該系統研究的目的和意義、開發背景、開發內容、開發目標以及開發環境進行介紹。第二章主要對開發該系統的可行性進行了分析,對整個系統的需求進行了描述,得到了整個系統的架構。第三章的主要內容是對數據庫進行詳細的設計。列舉出與系統相關的實體和E-R圖,得到了建立數據庫所必須的數據表,以及對數據庫數據的完整性和安全性進行了分析。第四章主要介紹了該系統的功能實現,列舉了與部分功能相關聯的實現界面。2需求分析基于Android的手機App選課系統要實現的目標是有效提高選課的便捷性,使教師和學生更加便捷選課在網上選課,查

13、看課程以及成績,同時在很大程度上減少學生選課出現的各種問題,使我們的選課系統管理更加合理化、規范化。需求分析是系統設計的基礎,也是整個系統設計能否成功的關鍵。2.1系統可行性分析每一個系統的開發都會有一定的資源的限制,所以在開發系統之前都要對這個系統進行可行性分析,要在較很短的時間內,以最小的代價,確定這個系統是否能夠實現。這樣可以減少人力、財力、物力的浪費并且還可以降低開發的風險。2.1.1技術可行性從基于Android的手機App選課系統的整體上看,其核心是數據庫的應用。基本操作是對數據庫中的記錄進行增加、刪除、查找和編輯。所以從數據庫的方面來不會存在太大的技術問題。2.1.2經濟可行性基

14、于Android的手機App選課系統對計算機的配要求不是很高,高校實驗室里的電腦基本上就可以滿足該配置。開發該系統以后,在很大程度上節省了時間,提高了工作效率,使學生和教師更加便捷,設計該系統在很大程度上節省所需要的成本,所以具有經濟可行性。2.1.3操作可行性基于Android的手機App選課系統操作非常簡單,只需要會簡單地操作計算機系統。系統的界面簡潔,進入界面進行操作會有相應的提示信息,所以具有操作可行性。2.1.4法律可行性基于Android的手機App選課系統是自行開發的選課系統所使用的相關軟件都是開源的,對系統來說有很大的實用性。2.2角色介紹所有角色及操作介紹如下:學生:學生可以

15、進行注冊、登陸、修改自己的密碼、查詢相關課程的安排、并且進行選課、可以查詢選課成績。教師:教師可以進行登陸、修改自己的密碼、查詢相關課程、進行學生選課成績的修改和添加以及選課課程的時間,教室的安排。管理員:管理員可以進行登陸、修改自己的密碼、管理員可以創建教師用戶,并且管理和發布系統公告。2.2.1系統用戶用例圖該系統各用戶的用例圖:圖2.1學生用例圖圖2.2教師用例圖圖2.3管理員用例圖2.2.2用例描述1)用戶登錄(1)用例名稱:中文名稱:用戶登錄功能:驗證用戶的身份。(2)簡要說明:用戶登錄用例的功能主要是用于確保用戶在提供正確的用戶賬號、密碼等信息之后,可以進一步使用該系統。(3)事件

16、基本流:1 用戶請求使用該系統。2 系統顯示用戶登錄信息輸入界面。3 用戶輸入登錄名,密碼并確認操作。4 系統驗證用戶登錄信息,如果用戶輸入的登錄信息錯誤,系統顯示提醒信息,并轉向基本流2,如果用戶輸入的登錄信息正確,則用戶進入系統操作主界面。 2)學生注冊(1)用例名稱:中文名稱:學生注冊功能:學生新用戶進行注冊(2)簡要說明:學生注冊用例的功能主要是用于新用戶進行注冊以后才能登錄并使用該系統。(3)事件基本流:1 學生請求注冊。2 學生點擊注冊進入注冊信息界面。3 學生進入注冊信息界面,確認操作。4 系統驗證用戶注冊信息,如果學生注冊信息驗證沒有通過,系統顯示提醒已經存在的用戶信息,并轉向

17、基本流2,如果注冊通過,該用戶信息注冊成功。 3)學生選課(1)用例名稱:中文名稱:學生選課功能:選課學生進行選課(2)簡要說明:學生選課用例的功能主要是學生進行選課。(3)事件基本流:1 系統安排學生的選課的課程2 學生請求選課。3 單擊課程信息選擇選課子菜單進入選課界面。4 如果系統安排了學生所有要選擇的課程,則學生可以選擇自己要選擇的課程,點擊選擇則可以選課成功。系統中沒有學生要選擇的課程,學生不進行選課。4)學生查看選課(1)用例名稱:則不會顯示有課程要選。中文名稱:查看已選課程功能:學生對選課進行查詢(2)簡要說明:學生查看選課用例的功能主要是學生要確認自己是否已經選課成功。(3)事

18、件基本流:1 學生請求查看選課2 單擊選課查詢,進入查詢選課頁面。3 選課成功則顯示該門課程,選課未成功則不能顯示。5)用戶修改密碼 (1)用例名稱: 中文名稱:修改用戶密碼 功能:用戶修改自己的密碼,以確保系統的安全性。(2)簡要說明: 用戶修改密碼用例的功能主要是允許用戶修改自己的密碼。 (3) 事件基本流: 1 用戶請求修改自己的密碼。 2 系統顯示密碼修改界面。 3 用戶輸入舊密碼、新密碼。 4 系統對舊密碼進行驗證,再次要求用戶輸入新密碼的確認密碼。5 用戶輸入新密碼確認密碼。 6 系統比較新密碼和新密碼確認密碼,根據比較結果執行下一步相應操作。新密碼和新密碼確認密碼相同,繼續執行下

19、一步驟。新密碼和新密碼確認密碼不相同,返回基本流3。7 系統修改用戶密碼,并提醒用戶密碼修改已成功。8 用戶要求結束用戶密碼修改任務。 9 系統結束用戶密碼修改界面的顯示。 2.2.3系統的活動圖活動圖是基于對象的狀態變遷所繪制的視圖。它的主線是時間。為了滿足這個活動,類的一些基本必要方法就可以初步確定。1. 學生對象活動圖圖2.4學生對象活動圖2. 學生選課活動圖圖2.5學生選課活動圖2.2.4系統的部署圖部署圖描述了一個運行時硬件的結點,以及在這些節點上運行的軟件組件的靜態視圖。部署圖顯示了系統的硬件,安裝在硬件上的軟件,以及用于可連接異構的機器之間的中間件。創建一個部署模型的目的包括:圖

20、2.6系統部署圖在選課系統app中,系統包括四種節點,分別是數據庫節點,由一臺數據庫服務器負責數據的存儲,處理等;系統服務器節點,用于處理系統的操作??蛻舳斯濣c:用于用戶通過客戶端登錄系統進行操作。打印機節點:用于打印數據報表。2.3功能模塊描述該系統的主要功能分為三個模塊,分別為學生功能模塊、教師功能模塊、管理員功能模塊。2.3.1學生功能模塊學生首先進行注冊,輸入正確的用戶名和密碼,才能成功登陸。以學生身份登陸后,可以申請選課,瀏覽課程的時間、地址、和課程功能,也可以查詢選課成績,查詢申請選課的狀態。分為三個子模塊:圖2.7學生功能模塊圖1)成績:學生根據自己所選的的課程去查詢自己的成績。

21、2)課程查詢:學生可以查詢選修課程的時間,地點,課程功能,對要選的課程做一些了解。 3)登錄:學生首先進行注冊,可以根據用戶名進行登錄,可以根據需要修改自己的密碼。2.3.2 教師功能模塊首先管理員要給老師創建用戶名,老師以教師身份登陸。只有用戶輸入的用戶名和密碼正確,才能進入該系統,在系統內進行相關的操作。教師可以對管理員發布的授課通知進行選擇,教師主要負責對學生選課成績的添加和修改,以及對上課時間、地點安排和選修課程功能的添加,教師可以進行登錄并且修改密碼。分為三個子模塊:課程信息管理、選課狀態,登錄信息模塊:圖2.8教師功能模塊圖2.3.3.管理員模塊當用戶輸入的用戶名和密碼正確,才能進

22、入該系統,在系統內進行相關的操作。以管理員身份登陸后,進行發布選課通知,并且可以進行創建教師賬戶。主要分為三個模塊。圖2.9學生功能模塊圖2.4 系統性能安全 由于服務資源限制,該系統對用戶的管理權限有著嚴格的控制。每個用戶組的用戶,在進行注冊了以后才能登錄。當用戶進行登錄時,如果用戶信息和數據庫的信息不匹配,則用戶無法登錄該系統。每個用戶只有在前臺登錄以后,才能進行操作。沒有注冊和登錄的用戶,不能能瀏覽主頁的公告信息不能進行深入的操作。每組用戶都有明確的界定,同時也保證了普通用戶無法對系統管理員、以及其他的用戶信息進行操作,保證了用戶信息的安全。當修改用戶的密碼時,只有用戶輸入原始密碼,才可

23、以對密碼進行更改。這樣可以提高用戶信息的安全性,與此同時也可以提高整個系統的安全性。2.5性能需求分析手機軟件要有良好的用戶體驗,良好的用戶體驗體現在以下幾個方面:1)界面友好用戶界面要簡潔直觀,設計合理,方便用戶操作,讓用戶操作起來比較舒服,并且UI視覺效應好。2)快速響應在用戶的輸入或請求,對于需要處理時間較長的部分,給予相應的提示。3概要設計本章節主要描述該系統的概要設計。主要說明整個系統的體系架構,以及架構中各個對象的操作順序,為后期的工作提供依據。3.1任務概述該階段將需求分析階段得到的用例圖轉化為數據結構和軟件結構。確定該系統有哪些功能模塊組成、這些模塊之間的信息傳遞以及確定各個模

24、塊的接口以及人機界面。3.1.1目標這個階段主要明確該系統的數據結構和軟件結構。在后面的總體設計中還會給出各個接口的定義、各個模塊的功能說明圖以及數據結構的定義。3.1.2需求規定主要的輸入及輸出信息:學生基本信息、教師基本信息、管理員基本信息、系統公告信息、課程的基本信息.3.2總體設計3.2.1處理流程該系統根據不同的用戶角色可分為三部分。分別為學生操作程序、教師操作程序、管理員操作程序.以下分別對該系統的這三大部分進行描述。1)學生操作學生操作主要的功能有登錄注冊、修改密碼、課程查詢、選課以及查看選課成績。 (1) 用戶進行登錄,如果用戶沒有經過注冊,則系統會提示用戶進行注冊。注冊成功后

25、登錄,如果用戶輸入的信息錯誤,則會提示錯誤信息。如果正確,則進入學生主頁面。(2)在登錄界面選擇修改密碼,則會進入修改密碼的界面,輸入用戶名和新密碼,點擊確定,如果修改成功會提示成功信息,否則系統報錯。(3)在學生主頁面可以看到選修的課程,系統就會顯示該課程的上課時間、地點以及該課程的功能。(4)在選課主頁面選擇課程警醒單擊會彈出下拉菜單有3個選項選修和取消、查詢成績、查詢信息。單擊選查詢成績則會進入課程選修的界面,查看相關成績。單擊選修和取消則會進入課程選修的界面,查看相關信息,點擊確定,如果選修成功會提示成功信息并提醒返回,否則系統報錯。2)教師操作 教師操作主要的功能有登錄、修改密碼,上

26、課時間地點安排信息,修改成績。(1) 用戶進行登錄,如果沒有經過管理員創建的賬戶,則系統會提示用戶密碼錯誤。 管理員創建成功后登錄,如果用戶輸入的信息錯誤,則會提示錯誤信息。如果正確,則進入教師主頁面。 (2) 在登錄頁面選擇修改密碼,則會進入修改密碼的界面,輸入舊密碼和新密碼,點擊確定,如果修改成功會提示成功信息,否則系統報錯。 (3)在主頁面選擇接受管理員安排的授課信息,則會進入實驗預約選修課程的界面,在選修的課程信息單擊,出現下拉菜單出現各種選項輸入輸入相關信息,點擊確定。如果課程的時間地點等信息體檢成功后會提示成功信息并提醒返回查看信息,否則系統報錯。3)管理員操作 管理員操作主要的功

27、能有登錄、修改密碼、發布選課信息通知、創建教師用戶。(1) 用戶進行登錄,點擊登錄的按鈕,進入登錄頁面,填入正確的用戶名和密碼,點擊確定按鈕,如果錯誤,系統會給出用戶名或密碼錯誤的提示信息,如果用戶名和密碼正確,則成功登入對應的主頁面。 (2) 管理員修改密碼。在登錄主頁面點擊修改密碼的按鈕,就會進入修改密碼的界面,填入舊密碼,新密碼,再確認一次密碼,點擊確定按鈕。如果修改成功,會返回成功的提示信息,如果失敗,系統會報錯。 (3) 在管理員主頁面點擊發布通知按鈕,將選修的名稱和秀秀課程的功能進行發布提交給教師,由教師師確認是否授課。(4) 管理員可以進行教師用戶名和密碼的創建。3.2.2人工處

28、理過程系統公告的發布、教室的申請。3.2.3系統中類圖類圖是對象結構建模的一部分,類圖描述了西同類中的靜態結構。盡管其他模型可以幫助建模者發現被模擬對象的重要信息,但是它們不能揭示的信息必須求助于類圖。類圖模擬保證系統正常工作的所有必要資源。其他所有模擬如果想獲取這些資源的信息,最終都必須訪問類圖。類圖是代碼生成的來源,也是逆向工程的的目標生成物。1)類圖的生成圖3.1類圖2)系統中的其他類Datebase:數據庫類3.2.4系統中的時序圖1)學生選課時序圖圖3.2選課時序圖2)學生退選時序圖圖3.3學生退選時序圖3)學生查看已選課程時序圖圖3.4已選課程時序圖4)學生查看成績時序圖 圖3.5

29、查看成績時序圖5)教師同意授課時序圖圖3.6查看同意授課時序圖6)教師取消授課時序圖圖3.7教師取消授課時序圖7)教師修改成績時序圖 圖3.8修改成績時序圖8)管理員創建教師用戶時序圖圖3.9管理員創建教師用戶時序圖9)管理員發布課程信息通知時序圖 圖3.10管理員發布課程信息通知時序圖 3.3接口設計3.3.1外部接口1)軟件接口服務器可以使用Eclipse提供的對Mysql的接口,訪問數據庫,進行各種操作。服務器可以使用Mysql備份的命令,對數據庫記錄進行保存。2)硬件接口鍵盤和鼠標的輸入,可以使用Eclipse的標準輸入/輸出,對其進行處理。打印機的鏈接和使用,可以使用Eclipse的

30、標準輸入/輸出,對其進行處理。3.3.2內部接口關于內部接口,各個模塊之間可以采用函數調用、參數傳遞以及返回值的方式進行信息的傳遞。具體的參數結構將在下面的數據庫設計中說明。對數據進行數據結構的封裝,傳遞給相應的接口。3.4運行設計3.4.1運行模塊的組合程序多窗口的運行環境為軟件運行模塊的組合。各個模塊在軟件運行過程中傳遞信息,進行數據的處理。3.4.2運行控制軟件運行過程中,各個頁面會向用戶顯示提示信息,讓用戶能快速、順利的使用該系統。3.4.3運行時間在系統運行的時間內對系統作出的操作要快速的作出響應。3.5出錯處理設計3.5.1出錯信息1)輸出出錯提示信息。2)用戶名或密碼輸入錯誤。3

31、.5.2補救措施1)重新啟動系統。2)調試代碼,修改數據庫。3)中斷系統工作。4)重新輸入用戶名或密碼4數據庫設計隨著信息技術的高速發展,數據庫已成為信息系統的核心。在數據庫管理系(DBMS)的支持下,數據庫管理系統對數據進行存儲、檢索、更新等操作。一個設計地很合理的數據庫,在很大程度上可以提高整個系統的性能和效率。一個完整的系統是離不開數據庫的,在系統的實際應用中,會涉及到大量的數據,而且這些數據之間可能會存在著某種關聯。利用數據庫管理這些數據,可以提高對數據庫數據查詢和更新的速度。目前,可以使用的數據庫有很多種,如Access數據庫、Oracle數據庫、MySQL數據庫、SQLServer

32、數據庫。本系統使用的是MySQL數據庫。4.1數據分析 該系統的數據關系是管理員對學生、教師、管理員的基礎。學生、教師和管理員在前臺登錄后,才能進行相關操作。根據分析本系統的實體有學生、教師、管理員、課程。學生的屬性有:學號、院系、姓名、性別、出生日期、入學時間、專業、班級。教師的屬性有:教師編號、姓名、性別、職稱、專業。管理員的屬性有:管理員編號、姓名、密碼、類型。課程的屬性有:課程編號、課程名稱、上課時間、上課地點、課程功能、是否授課。選課信息的屬性有:學號、課程編號、考試成績。每個學生、教師只能屬于一個院系,每個學生可選多門課程或者不選,每個教師教授最多一門課程;學生進入查詢系統后只能有

33、查詢功能,教師進入則可以有修改成績的權限,管理員有創建教師賬戶和發布選課信息等權限;用戶登錄時需要有一個用戶名和密碼。4.2數據庫的概念結構設計1)學生實體圖 圖4.1學生實體圖2)教師實體圖 圖4.2教師實體圖3)管理員實體圖 圖4.3管理員實體圖4)課程實體圖 圖4.4課程實體圖在確定實體之后,就確定實體之間的聯系。學生的主要功能是選課和查看成績。一個同學可以同時選擇多個選修課程。一個課可以有多個學生。學生選課的E-R圖(“M、N”表示多對多的關系)如下: 圖4.5學生選課圖在該系統中,學生、指導老師、管理員都有查詢的功能,若以指導老師可以授課為例,一位指導老師可以選擇多個課程,一個課程可

34、以被多個老師選擇。所有查詢功能都是按這個模式進行的。查詢時這兩個實體之間的關系。指導老師查詢實驗的E-R圖(“M、N”表示多對多的關系)如下: 圖4.6教師授課圖將以上所有實體進行整合在一起,這樣就可以清楚明了該系統的各個實體之間的關系和操作。對以上關系進行總結得到整個系統的E-R圖,如下所示:圖4.7E-R圖4.3數據模型的優化數據庫邏輯設計的結果不是唯一的。關系數據模型的優化方法通常以規范化理論為指導,如下指導,如下:1)確定數據依賴。2)要將各個關系模式之間數據的依賴進行極小化處理,消除冗余。3)考察各關系模式之間是否存在部分函數依賴、傳遞函數依賴等。4)確定是否對某些模式進行合并或分解

35、。登陸表記錄了用戶的基本信息,并且設置了unique約束。Tenum和username是一對一的關系,即一個Tenum只有一個username,一個username只對應一名Tenum。username是登錄系統時的賬號,該賬號不能重復。表的結構如下所示:表4.1登錄表字段名字段類型約束控制完整約束條件usernamevarcharNotNullpasswordvarcharNotNulltypeintNotNull教師表記錄了用戶的基本信息,并且設置了unique約束。Tenum和username是一對一的關系,即一個Tenum只有一個username,一個username只對應一名Tenu

36、m。username是登錄系統時的賬號,該賬號不能重復。表的結構如下所示:表4.2教師表字段名字段類型約束控制字段說明完整約束條件Tenumchar(10)NotNull教師編號主碼usernamevarchar(10)NotNull姓名TeSexChar(2)NotNull性別Tetitlechar(10)NotNull職稱Temajorchar(20)NotNull專業Lesson表記錄了課程的基本信息,并且設置了unique約束。lesson和Cnum是一對一的關系,即一個Cnum只有一個Lesson,一個Lesson只對應一個Cnum。表的結構如下所示:表4.3課程信息表字段名字段類型

37、約束控制字段說明完整約束條件lessonchar(10)NotNull課程名Functionchar(10)NotNull功能Timechar(10)NotNull上課時間Cnumchar(10)NotNull課程編號主碼AgreeInt(10)NotNull是否授課Classroomchar(10)NotNull上課教室student表記錄了學生的基本信息,并且設置了unique約束。Stunum和username是一對一的關系,即一個Stunum只有一個username,一個username只對應一名Stunum。username是學生登錄系統時的賬號,該賬號不能重復。表的結構如下所示:表

38、4.4學生表字段名字段類型約束控制字段說明完整約束條件StunumChar(13)NotNull學號主碼usernamevarchar(10)NotNull姓名StuSexChar(2)NotNull性別Stubirthchar(10)NotNull出生日期StuadimChar(10)NotNull入學時間Stumajorchar(10)NotNull專業Stucollegechar(10)NotNull院系Stuclasschar(10)NotNull班級Grade表記錄了學生的基本信息,并且設置了unique約束。Cnum和Stunum是多對的多關系,即一個Stunum可以選擇多個課程,

39、一個Cnum選擇多個Stunum。表的結構如下所示:表4.5選課表字段名字段類型約束控制字段說明完整約束條件StunumChar(13)NotNull學號主碼CnumChar(10)NotNull課程編號主碼Resultfloat(10)NotNull成績4.4 數據的物理結構設計數據庫物理結構,是指數據庫在物理設備上進行存儲的結構以及存取的方法,它依賴于一個選定的數據庫管理系統。給一個給定的邏輯數據模型選擇一個和應用要求最適合的物理結構的工過程,就是數據庫的物理結構設計。通常關系數據庫物理結構設計的內容主要包括:1)為關系模式選擇存取方法。2)應該設計相應的關系、索引等數據庫相關文件的物理存

40、儲結構。5系統詳細設計5.1 設計原則(1) 可靠性系統應該滿足可靠性設計要求,并能保證系統長期安全的運行;(2)安全性系統應該具有必要的安全保護和密碼保護措施;(3)容錯性系統應該具有容錯能量,有抗干擾能量。對各類用戶的誤操作有提示或者自動消除能量;(4)實用性注重運用成熟而且實用的技術,使系統能能產生良好的社會效益和經濟效益;(5)易操作性堅持最終面向用戶的原則,建立友好的用戶界面,使用戶操作簡單直觀,易于掌握。5.2界面設計(1) 通過如下的打登錄界面,能夠保護系統的安全性:圖5.1登錄圖(2) 下面是管理員系統的主界面,通過菜單可以實現各個功能模塊:圖5.2管理員界面(3) 下面是學生

41、系統的主頁面,通過菜單實現各個功能:圖5.3學生主界面5.3系統功能模塊設計5.3.1用戶模塊(1)用戶注冊流程用戶注冊流程功能主要針對學生用戶,學生注冊的具體流程如下圖所示。進入注冊頁面后輸入登錄賬號等注冊信息,然后系統會判斷用戶輸入的登錄賬號是否已被占用,如果被占用則返回注冊頁面并給出提示;如果沒被占用。則把用戶信息寫入數據庫。如何進入輸入用戶基本信息頁面。圖5.4學生注冊登錄流程圖(2)用戶注冊頁面在系統首頁中單擊“用戶注冊”按鈕,就進入到注冊頁面。其運行效果如下:圖5.5學生注冊圖(3) 用戶登錄流程用戶流程圖如下:圖5.6用戶登錄流程圖(4) 用戶登錄頁面用戶登錄圖如下:圖5.7用戶

42、登錄圖(5)密碼修改流程密碼修改流程圖如下:圖5.8密碼修改流程圖(6) 密碼修改頁面用戶選擇密碼修改連接進入密碼修改頁面:package android.example.reading;圖5.8密碼修改圖5.3.2登錄界面在用戶名和密碼處輸入用戶名和密碼,系統會由該用戶輸入的用戶名來判斷登入用戶的身份是管理員還是老師或是學生,如果輸入用戶名密碼成功后便會自動跳轉到登入身份下的界面登錄選課系統,如果輸入有誤則提示“輸入的密碼錯誤或者用戶名不存在!”。圖5.7用戶登錄圖登錄界面的主要動態代碼如下:private OnClickListener btnListener = new OnClickL

43、istener() Overridepublic void onClick(View v) switch (v.getId() case R.id.btn_login_modify:startActivity(new Intent(Login.this, ModifyPwd.class);break;case R.id.btn_login_register:startActivity(new Intent(Login.this, Register.class);break;case R.id.btn_login_submit:String user = etUser.getText().toS

44、tring().trim();String pwd = etPwd.getText().toString().trim();save(user, pwd);check();break;default:break;5.3.3學生操作課程、圖5.8學生選課操作圖public boolean onContextItemSelected(MenuItem item) AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); / info包含了上下文菜單每一項的信息,比如info.position是上下文菜單項的

45、位置switch (item.getItemId() case R.id.menu_student_info:showInfo(info.position);break;case R.id.menu_student_result:showResult(info.position);break;case R.id.menu_student_select:select(info.position);break;default:break;return super.onContextItemSelected(item);;5.3.4學生瀏覽成績圖5.9學生查看成績圖public View getVi

46、ew(int position, View view, ViewGroup parent) LessonItem item = getItem(position);view = LayoutInflater.from(context).inflate(R.layout.sr_item, null);TextView tvName = (TextView) view.findViewById(R.id.tv_tr_name);TextView tvScore = (TextView) view.findViewById(R.id.tv_tr_score);tvName.setText(item.

47、username);tvScore.setText(item.result);return view;public void setResult(String string) try JSONArray array = new JSONArray(string);for (int i = 0; i array.length(); i+) JSONObject json = array.getJSONObject(i);LessonItem item = new LessonItem(json);list.add(item); catch (Exception e) e.printStackTr

48、ace();notifyDataSetChanged();5.3.5學生瀏覽課程圖5.1學生瀏覽課程圖public View getView(int position, View view, ViewGroup parent) LessonItem item = getItem(position);view = LayoutInflater.from(context).inflate(R.layout.lesson_item, null);TextView tvLesson = (TextView) view.findViewById(R.id.tv_lesson_name);TextView

49、 tvTime = (TextView) view.findViewById(R.id.tv_lesson_time);TextView tvRoom = (TextView) view.findViewById(R.id.tv_lesson_classroom);TextView tvScore = (TextView) view.findViewById(R.id.tv_lesson_score);tvLesson.setText(item.lesson);tvTime.setText(item.time);tvRoom.setText(String.valueOf(item.classr

50、oom);tvScore.setText(String.valueOf(item.result);if (item.isselect) / 如果已經選擇該課程,背景顯示黃色view.setBackgroundColor(Color.YELLOW); else view.setBackgroundColor(Color.WHITE);return view;public void setLesson(String result) list.removeAll(list);try JSONArray array = new JSONArray(result);for (int i = 0; i a

51、rray.length(); i+) JSONObject json = array.getJSONObject(i);LessonItem item = new LessonItem(json);list.add(item); catch (Exception e) e.printStackTrace();6系統測試6.1運行將系統與數據庫連接后,打開數據連接,就可以連接數據庫。6.2測試6.2.1測試的目的軟件測試的目標和定義:1)測試是為了發現程序中的錯誤而執行程序的過程2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案3)成功的測試是發現了至今為止尚未發現的錯誤的測試在對選課系統系統測試時,也正是基于上述觀點來進行的,測試的目的不是證明系統是完美的,而是發現問題,更好的解決問題,使系統不斷完善,滿足學生的需求。6.2.2測試的準則為了能設計出行之有效的測試方案,必須深入理解并正確運用指導軟件測試的基本準則。下面列舉主要的測試準則:1) 所有的測試都應該追溯到用戶需求。2)應該在開始測試之前就制定出測試計劃。3)Pareto原理應用到軟件測試中。Pareto原理說明,測試發現的錯誤中80%很可能是由程序中的20%模塊造成的。4)應該從“小模塊”測試開始,并逐步進行“大模塊”測試。5)窮舉測試是不可能的。6)為了達

溫馨提示

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

評論

0/150

提交評論