學(xué)生管理系統(tǒng)_第1頁
學(xué)生管理系統(tǒng)_第2頁
學(xué)生管理系統(tǒng)_第3頁
學(xué)生管理系統(tǒng)_第4頁
學(xué)生管理系統(tǒng)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精品文檔數(shù)據(jù)庫課程設(shè)計(jì)題目 學(xué)生管理系統(tǒng)學(xué)院計(jì)算機(jī)科學(xué)與工程專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)號(hào)1341901326姓名姚振一班級(jí)13419013指導(dǎo)教師目錄1 .需求分析1.1 用戶提出自己的需求1.2 根據(jù)需求確定工作環(huán)境2 . 概念結(jié)構(gòu)設(shè)計(jì)2.1 概念結(jié)構(gòu)設(shè)計(jì)的原則 2.2 將用戶需求模塊化 3 數(shù)據(jù)庫設(shè)計(jì)3.1 羅列數(shù)據(jù)信息 3.2 根據(jù)數(shù)據(jù)信息構(gòu)建表結(jié)構(gòu) 4 . 系統(tǒng)功能設(shè)計(jì)5 系統(tǒng)的測(cè)試5.1 系統(tǒng)的測(cè)試5.2 測(cè)試的目的 6 實(shí)訓(xùn)心得與總結(jié)可編輯1 .需求分析一套軟件是否有市場(chǎng),滿足用戶需求是關(guān)鍵因素,所以搞清楚用 戶到底需要什么是軟件開發(fā)的頭等大事。用戶需求如何得來?用戶有 沒有把需求描

2、述清楚?如何把用戶需求轉(zhuǎn)化成自動(dòng)化方式?軟件的 開發(fā)其實(shí)就是從一個(gè)個(gè)問題開始,再一個(gè)個(gè)地解決地過程。整個(gè)需求 的過程如圖:用戶需求分析流程圖圖1-1需求過程圖1.1 用 戶提出自己的需求。隨著學(xué)校規(guī)模的增大以及新增學(xué)生選課的影響,手工方式已經(jīng)無法記錄學(xué)生的實(shí)時(shí)信息,該學(xué)校決定用一套新的學(xué)生信息管理系統(tǒng)軟件,并要求滿足以下條件:(1) 1 )能完成學(xué)生的學(xué)籍注冊(cè)(2) 2 )學(xué)生若不喜歡此時(shí)的專業(yè), 他們可以自動(dòng)調(diào)劑專業(yè)(3) 3 )學(xué)生可以選課,并查看個(gè)人信息及日常表現(xiàn)情況。(4) 4 )對(duì)學(xué)生信息、選課信息、課程信息進(jìn)行記錄。(5) 老師可以對(duì)學(xué)生學(xué)籍信息的查詢,添加,修改,刪除;學(xué)生信息及

3、成績(jī)的錄入,修改,刪除。修改密碼等功能。(6) 管理員擁有最高的權(quán)限。允許添加教師信息和課程信息等。學(xué)校需要的就是能滿足以上需求的軟件。需求就是一套軟件的終極目標(biāo),但并不是每一個(gè)需求都能達(dá)到的,分析人員還要根據(jù)開發(fā)環(huán)境一條條地分析這些需求。1.2 根據(jù)需求確定工作環(huán)境1.2.1 軟件環(huán)境除了要安裝學(xué)生管理系統(tǒng)外,還必須具備相應(yīng)的軟件環(huán)境,才能更好地運(yùn)行。( 1 )采用的軟件操作系統(tǒng)( win 7 ) ,這是為了更好地管理。( 2 )服務(wù)器上安裝數(shù)據(jù)庫系統(tǒng)( sql server 2008 ) ,從而實(shí)現(xiàn) 信息資源安全化管理。2 . 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)階段主要是粗略描述整個(gè)軟件的框架, 并

4、從業(yè)務(wù)的角度描述軟件的模塊、工作流程等。項(xiàng)目的成功取決于設(shè)計(jì)的好壞,而概要設(shè)計(jì)則是整個(gè)設(shè)計(jì)的關(guān)鍵部分。 概要設(shè)計(jì)的主要任務(wù)是將用戶的需求劃分為不同的功能, 然后將這些功能細(xì)分成模塊, 并給模塊一些規(guī)則約束, 以達(dá)到各個(gè)模塊之間可以相互交流的目的。 概要設(shè)計(jì)關(guān)乎到系統(tǒng)的整體架構(gòu), 因此想做好一個(gè)概要設(shè)計(jì), 不僅僅要熟悉用戶的業(yè)務(wù)流程,還要具備相當(dāng)豐富的設(shè)計(jì)經(jīng)驗(yàn)。2.1 概念結(jié)構(gòu)設(shè)計(jì)的原則概念結(jié)構(gòu)設(shè)計(jì)是根據(jù)系統(tǒng)分析的需求和工作環(huán)境的情況對(duì)整個(gè)軟件的總體結(jié)構(gòu)進(jìn)行大致的設(shè)計(jì)。概要設(shè)計(jì)要堅(jiān)持以下幾個(gè)原則 :( 1 ) 細(xì)分原則: 軟件系統(tǒng)都是由很多不同的模塊組成, 當(dāng)設(shè)計(jì)一套軟件時(shí), 要先將所有的功能分

5、解。 解決復(fù)雜問題的方法是將其分解成幾個(gè)小問題,一個(gè)個(gè)來解決。( 2 ) 提高代碼重用性: 在面向?qū)ο笤O(shè)計(jì)中, 首先考慮的就是代碼的重用,一個(gè)好的設(shè)計(jì),將來在升級(jí)換代時(shí)不需要太大的改動(dòng),節(jié)省了人力物力。( 3 ) 從上而下層層分析: 概要設(shè)計(jì)要從整體出發(fā), 逐個(gè)剖析軟件的功能,從上而下,先分析系統(tǒng)總的功能,然后一步步細(xì)分,直到最小的功能模塊。( 4 ) 一致性原則: 概要設(shè)計(jì)要求所有功能模塊在定義時(shí)使用統(tǒng)一的規(guī)范。( 5 ) 提高獨(dú)立性, 減少耦合: 各個(gè)模塊與模塊之間盡量減少關(guān)聯(lián),否則修改一個(gè)地方就會(huì)引起其他多處的變動(dòng),不符合面向?qū)ο蟮脑瓌t。一般情況下,對(duì)類封裝后,只允許對(duì)類進(jìn)行擴(kuò)展,而不能

6、修改,而封裝的類必須具有單一職責(zé), 即理論情況下不允許兩個(gè)類共同完成一個(gè)功能。( 6 )模塊的大小要盡量適中:不是結(jié)構(gòu)算法越復(fù)雜的模塊越好,模塊的大小要根據(jù)實(shí)際工作目標(biāo)和其他類的耦合緊密程度來決定。 經(jīng)驗(yàn)表明, 一個(gè)模塊的規(guī)模不應(yīng)過大, 模塊的總行數(shù)應(yīng)控制在10100行的范圍內(nèi),最好為 3060 行,這樣理解和閱讀都較方便。過長(zhǎng)的模塊往往是分解不充分的表現(xiàn), 會(huì)增加閱讀理解的難度; 但小規(guī)模太多也會(huì)使模塊之間聯(lián)系變得復(fù)雜, 增大系統(tǒng)在模塊調(diào)用時(shí)傳遞信息所花費(fèi)的開銷。2.2 將用戶需求模塊化根據(jù)概要設(shè)計(jì)的原則來分析一下本項(xiàng)目的用戶需求,并最終轉(zhuǎn)化成用程序語言描述的模塊。 什么樣的需求才是一個(gè)模塊

7、?模塊應(yīng)該具備如下 3 個(gè)特征。( 1 ) 輸入和輸出: 模塊必須能被調(diào)用并且正確的返回調(diào)用, 而且調(diào)用都是相對(duì)一個(gè)對(duì)象而言,這是模塊獨(dú)立性的一個(gè)體現(xiàn)。( 2 ) 處理功能: 模塊必須可以對(duì)調(diào)用的輸入數(shù)據(jù)進(jìn)行靈活的處理,并為輸出準(zhǔn)備好處理結(jié)果。( 3)程序代碼:用來實(shí)現(xiàn)模塊功能的源代碼。2.2.1確定系統(tǒng)最終模塊概要設(shè)計(jì)中最重要的就是確定此項(xiàng)目包括哪些模塊。根據(jù)上兩節(jié)講述的設(shè)計(jì)原則和模塊特征,將用戶需求轉(zhuǎn)化為下面的模塊。(1)管理員模塊:是本系統(tǒng)的核心模塊,該模塊又包括對(duì)學(xué)生管理和課程管理2個(gè)子模塊,功能如下:學(xué)生管理子模塊:實(shí)現(xiàn)對(duì)學(xué)生信息的添加、修改、刪除操作,還可以輸入查詢條件進(jìn)行查詢操作

8、。添加學(xué)生信息修改學(xué)生信息學(xué)生管理子模塊刪除學(xué)生信息查詢學(xué)生信息j l圖3-1學(xué)生管理子模塊課程管理子模塊:實(shí)現(xiàn)對(duì)課程的添加,添加時(shí)為其分配任課教 師、上課時(shí)間和地點(diǎn),實(shí)現(xiàn)對(duì)課程的修改、刪除,查看某個(gè)課 程的詳細(xì)信息等。添加課程信息修改課程信息課程管理子模塊刪除課程信息查詢課程信息jk圖3-2課程管理子模塊(2)教師模塊:實(shí)現(xiàn)查看自己所教授的課程、課程有哪些學(xué)生選修,以及利用本系統(tǒng)提交學(xué)生的成績(jī)。圖3-3教師管理模塊(3)學(xué)生模塊:實(shí)現(xiàn)學(xué)生的選課,查看、修改自己的選課信息及查看自己日常的表現(xiàn)情況。圖3-4學(xué)生模塊(4)公有模塊:實(shí)現(xiàn)用戶的身份驗(yàn)證,密碼修改,退出系統(tǒng)等功3匕 能。圖3-5公有模

9、塊3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)是企業(yè)運(yùn)作過程中不可缺少的重要部分, 建立自己的數(shù)據(jù)資 料庫是提高企業(yè)整體競(jìng)爭(zhēng)力的關(guān)鍵因素。 對(duì)于程序而言,安全完整地 保存客戶的信息是一種責(zé)任,因此,數(shù)據(jù)庫設(shè)計(jì)就成了整個(gè)軟件開發(fā) 中重要的一個(gè)環(huán)節(jié)。一旦數(shù)據(jù)設(shè)計(jì)出現(xiàn)問題,軟件就會(huì)出現(xiàn)問題,某些功能的使用就發(fā)揮不了最大作用。所以,為了更好地開發(fā)數(shù)據(jù)庫, 了解信息的來源以及信息的流向是頭等大事。對(duì)于客戶的整個(gè)操作流 程,都要親身參與,才能客觀地掌握數(shù)據(jù)資料的真實(shí)性,為設(shè)計(jì)良好 的數(shù)據(jù)庫打下基礎(chǔ)。本章主要介紹如何收集客戶的數(shù)據(jù)資料, 并將其 轉(zhuǎn)化為程序需要的數(shù)據(jù)資源。3.1 羅列數(shù)據(jù)信息在前面已經(jīng)羅列出了用戶的需求,這也正是數(shù)據(jù)庫

10、信息的來源。根據(jù)列表內(nèi)容,可以提煉出以下數(shù)據(jù)信息。(1)需要管理學(xué)生信息:學(xué)生表。(2)需要管理教師信息:教師表。(3)需要管理課程信息:課程表。(4)需要管理選課信息:選課表。(5)需要管理活動(dòng)信息:活動(dòng)表。(6)需要管理管理員信息:管理員表。(7)需要管理獎(jiǎng)懲信息:獎(jiǎng)懲表。實(shí)體屬性表:實(shí)體屬性教師教師id ,教師姓名,登錄密碼課程課程號(hào),課程名稱,教師id管理員管理員id ,管理員姓名、登錄密碼選課學(xué)號(hào),課程號(hào),課程名、成績(jī)、總成績(jī)學(xué)生學(xué)號(hào),姓名,性別,密碼,身份證號(hào),地址、專業(yè)活動(dòng)學(xué)號(hào),項(xiàng)目,地點(diǎn)、時(shí)間、加分獎(jiǎng)懲學(xué)號(hào),事件、獎(jiǎng)勵(lì)、懲處數(shù)據(jù)庫e-r圖設(shè)計(jì):3.2 根據(jù)數(shù)據(jù)信息構(gòu)建表結(jié)構(gòu)對(duì)于

11、如何提取數(shù)據(jù)表字段,要遵守 3個(gè)原則(1)每個(gè)字段都是不可再分的最小數(shù)據(jù)單位。(2)非主鍵字段必須完全依賴于主鍵(3)如果兩個(gè)表存在關(guān)聯(lián),必須有字段作為外鍵進(jìn)行連接3.2.1數(shù)據(jù)庫表的設(shè)計(jì)學(xué)生表:字段名回空值約束條件學(xué)號(hào)varchar(20)not null主鍵性別char(5)姓名char(5)身份證號(hào)varchar(20)專業(yè)char (10)地址varchar(20)not null密碼intnot null管理員表:字段名空值約束條件管理員idintnot null主鍵登錄密碼intnot null管理員姓名char(10)教師表:字段名空值約束條件教師idintnot null主鍵登

12、錄密碼intnot null教師姓名char(10)課程表:字段名回空值約束條件球杠勺intnot null主鍵課程名稱varchar(20)not null教師idintnot null外鍵活動(dòng)表:字段名空值約束條件:學(xué)號(hào)varchar(20)not null外鍵時(shí)間char(10)not null地點(diǎn)varchar(10)not null項(xiàng)目varchar(20)主鍵選課表:字段名回空值約束條件學(xué)號(hào)varchar(20)not null外鍵課程名稱varchar(50)not null球杠勺intnot null外鍵成績(jī)varchar (10)總成績(jī)varchar (10)獎(jiǎng)懲表:字段名回

13、空值約束條件學(xué)號(hào)varchar(20)not null事件varchar(50)not null主鍵獎(jiǎng)勵(lì)varchar(20)not null懲處varchar (20)教師idint外鍵4.系統(tǒng)功能設(shè)計(jì)4.1 系統(tǒng)功能框架作為一個(gè)學(xué)生管理系統(tǒng),本系統(tǒng)的設(shè)計(jì)主要包含:系統(tǒng)登錄、學(xué)生信息管理、班級(jí)管理、課程管理和用戶管理。學(xué)生管理系統(tǒng)主框架 的主要結(jié)構(gòu)如下圖所示。學(xué)生管理系統(tǒng)學(xué)生管理一課程管理用戶管理密碼修改刪除用戶7-1 學(xué)生管理系統(tǒng)框架圖4.2 數(shù)據(jù)庫代碼一 、 首 先 要 建 立 數(shù) 據(jù) 庫 ( stumgn ) : sql 語 句 :create database stumgn onpr

14、imary(name=stumgn_data,filename=c:program filesmicrosoft sqlservermssqldatastumgn_data.mdf, size=20mb, maxsize=100mb, filegrowth=25%) log on(name=stumgn_log,filename=c:program filesmicrosoft sqlservermssqldatastumgn_log.ldf, size=5mb,maxsize=20mb, filegrowth=1mb)二、創(chuàng)建表:( 1 )學(xué)生基本情況表( stu_jb.dbf )包括信息有

15、:學(xué)生學(xué)號(hào)(主鍵) ,學(xué)生姓名,學(xué)生性別,籍貫,出生日期,聯(lián)系電話,入校時(shí)間,家庭地址,注釋等字段。 sql 語句如下:create table dbo.stu_jb ( student_id bigint identity (1, 1) not for replication not null , stu_name char (10) collate chinese_prc_ci_as not null , sex char (1) collate chinese_prc_ci_as not null , stu_jg char (10) collate chinese_prc_ci_as

16、not null , bir thday datetime null , tele char (14) collate chinese _prc_ci_as null , in_date char (10) collate chinese_ prc_ci_as not null , home_add char (50) collate c hinese_prc_ci_as null , note char (60) collate chin ese_prc_ci_as null ) on primary 插入內(nèi)容語句: insert into stu_jb values(20029543, 樊

17、浩 ,男,重慶 ,1983-4-23,65119449,2002-9-1, 重 慶 ) 刪除記錄:delete stu_jb where stu_id=20029890修 改 記錄: update stu_jbset stu_id=20029546( 2 )成績(jī)表( score.dbf )包括信息有:學(xué)生學(xué)號(hào),學(xué)生姓名,課程名稱,分?jǐn)?shù),等級(jí)建表:sql 語句:create table score (student_id int not null,student_name varchar(10) not null, class_no int n ull, result tinyint null,

18、 credit tinyint nullconstraint pk_testprocess primary key (student_id,course_no) )插入內(nèi)容語句:insert into stu_jb values(20029543, 樊浩 ,計(jì)算機(jī)維護(hù),80, 良好 )(3)課程信息表( course.dbf ) 建表: sql 語句:包括信息有: 課程編號(hào), 課程名稱, 課程類型, 課程描述 建表:語句:create table course (course_no int primary key not null,grade_no int null,course_name v

19、archar(10) null, course_type varchar(10) null, course_des varchar(50) null( 4 )學(xué)生班級(jí)情況表(stu_class.dbf )包括信息有:學(xué)生學(xué)號(hào),所在班級(jí), 所在系,所學(xué)專業(yè), 建表:語句:sql)sqlcreate table stu_class (student_id int not null, grade char(10) not null, xivarchar(10) not null, profess varchar(10) not null,constraint pk_testprocess prima

20、ry key (student_id) )( 5 )系統(tǒng)管理表(user_info.dbf )包括信息有:用戶名,密碼,用戶描述建表: sql 語句:create table user_info (user_id char(10) primary key not null, user_pwd char(10) null, user_des char(10) null, ) 三、在 stumgn 中創(chuàng)建視圖(1). 創(chuàng)建名為 l_view 的視圖?;?stu_jb 和 course 兩個(gè)表建立視 圖 l_view, 并顯示 student_id 和 course_no 。所用語句如下: cre

21、ate view l_viewas select student_id ,course_no from student_info,course_in fo select * from l_view( 2 ) .創(chuàng)建一個(gè)名為 sex_view 的視圖。顯示性別為“男”的所有學(xué)生的資料,所用語句如下:create view sex_viewas select * from student_info where student_sex= 男 select * from sex_view 四、創(chuàng)建存儲(chǔ)過程 下面語句是在 stumgn 數(shù)據(jù)庫中建立一個(gè)名為“ stu_scr ”的存儲(chǔ)過 程 , 用 于

22、檢 索 student_id=2002 的 信 息 , 代 碼 如 下 : if exists(select name from sysobjects where name=s tu_scrand type=p) drop procedure stu_scr gocreate procedure stu_scr asselect student_id=2002 from student_info goexecute stu_scr go五、創(chuàng)建索引( 1 ) 在 stumgn 數(shù)據(jù)庫中建立名為 class_no 的唯一性簇索引, 填充率為 90% ,并查看索引信息,代碼:create uniq

23、ue clusteredindex class_no on class_info(class_no,grade_no) withpad_index, fillfactor=90 exec sp_helpindex class_info六、創(chuàng)建觸發(fā)器建 立 一 個(gè) 名 為 testprocess_insupd 的 觸 發(fā) 器 。 代 碼 如下: use stumgn goif exists (select name from sysobjectswhere name = testprocess_insupd and type = tr) drop trigger testprocess_insu

24、pd gocreate trigger testprocess_insupd on testprocess forinsert asdeclare result tinyint declare credit tinyintselect result=testprocess.result from testprocess select credit=testprocess.credit from testprocess if (result60) beginupdate testprocess set testprocess.credit=credit from testprocess end go六、確定表內(nèi)和表之間的數(shù)據(jù)完整性( 1 )缺省值約束為表 stu_jb 中的列 sex 創(chuàng)建一個(gè)約束, 缺省值為 1 。 use stumgngoalter table student_infoadd constraint default_student_sex default 女 for student_sex 現(xiàn)我向表中插入一行學(xué)號(hào)為 20006598 ,不給 student_sex 賦值 .( 2 ) check 約束對(duì)表 grade 中的 result 字段進(jìn)行約束, 使 result 的值在 0 100

溫馨提示

  • 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. 人人文庫網(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)論