• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      剖析學生成績管理系統(tǒng)設計與實現(xiàn)的重點與難點

      2017-12-13 14:55:16馬海珠
      電腦知識與技術 2017年33期
      關鍵詞:學期管理系統(tǒng)班級

      馬海珠

      摘要:該文的重點是剖析學生成績管理系統(tǒng),圍繞系統(tǒng)架構、系統(tǒng)功能、數(shù)據(jù)庫設計及系統(tǒng)實現(xiàn)等幾方面來說明學生成績管理系統(tǒng)設計與實現(xiàn)中的難點與重點。

      關鍵詞:C#;學生成績管理系統(tǒng)

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)33-0129-02

      Abstract: This article focuses on the analysis of student achievement management system, focusing on the system architecture, system function, database design and system implementation and other aspects to illustrate the difficulties and priorities in the design and implementation of student achievement management system

      Key words: C#; Student achievement management system

      1 概述

      軟件技術專業(yè)綜合實踐教學環(huán)節(jié)是畢業(yè)設計。通過畢業(yè)設計,能將學生所學的各種理論知識和職業(yè)技能聯(lián)結起來,培養(yǎng)學生的綜合能力,為學生走上工作崗位打好基礎。我校畢業(yè)設計采用以自主選題為主結合給定選題為輔的原則,在選題中,很多學生喜歡選擇“學生成績管理系統(tǒng)”作為自己的研究課題,究其原因學生認為他們對“學生成績管理系統(tǒng)”這一課題的管理流程比較熟悉,但往往意識不到學生成績管理系統(tǒng)的復雜性,由于每個學校的應用環(huán)境不一樣,業(yè)務流程不統(tǒng)一,所以許多現(xiàn)成的成績管理系統(tǒng)不是拿過來就能用的,開發(fā)符合自身學校特色的學生成績管理系統(tǒng)是十分必要。本文以筆者指導的2013級軟件技術專業(yè)學生開發(fā)“基于C#的學生成績管理系統(tǒng)”為例,剖析系統(tǒng)設計與實現(xiàn)的重點與難點。

      2 系統(tǒng)架構剖析

      從目前應用系統(tǒng)的發(fā)展方向看,學生成績管理系統(tǒng)理應采用B/S結構,即瀏覽器/服務器模式,它的特點是通過瀏覽器來進入工作界面,系統(tǒng)分布性強、維護方便、開發(fā)簡單且共享性強。但就本次學生畢業(yè)設計方向看,筆者指導的軟件技術專業(yè)是C#WinForm方向,所以學生成績管理系統(tǒng)的架構定位采用的是C/S結構,即客戶機/服務器的模式,它主要應用于局域網中,針對小范圍的用戶,數(shù)據(jù)的安全性可以保證,但不能實現(xiàn)真正大范圍的信息共享、信息傳達和發(fā)布。不同的架構技術基本決定了系統(tǒng)服務對象,基于C#的學生成績管理系統(tǒng)主要的服務對象應該是教師用戶和教務管理員用戶,這里不考慮學生用戶。

      3 系統(tǒng)功能剖析

      開發(fā)一個應用系統(tǒng)的重點是確定系統(tǒng)的功能。這就需要開發(fā)者從了解和調研用戶的業(yè)務流程和用戶的需求開始,確定系統(tǒng)的功能。業(yè)務流程不同,實現(xiàn)的功能就不同。結合我校實際情況,教務管理員的主要業(yè)務是:

      1) 每年新生入學需要組建學生信息;2)規(guī)劃每學期每個班級的課程表;3)安排授課教師;4)學生成績管理。學生成績管理主要包括成績存檔及成績統(tǒng)計。成績存檔主要是收集學生每學期的每一門課程的平時成績、期中考試和期末考試成績等信息,并按指定的比例折算出總評成績。成績統(tǒng)計包括匯總班級成績總表、班級補考信息、單科課程的成績情況(包括計算課程平均分、統(tǒng)計各分數(shù)段人數(shù)及占比等)及匯總出每學期每個學生的成績單。

      教師主要業(yè)務是分階段遞交成績,負責遞交所授課程的學生平時成績,期中成績和期末成績并對缺考等情況作說明,老師應確保上交的成績信息正確無誤。

      因此,在功能設計中,教務管理員在系統(tǒng)登錄后不僅可以完成學生、教師、系別、班級、學期、課程、授課等信息管理,同時還要完成成績管理模塊的功能,通過選擇學期、系別、班級及所授課程等信息后,即完成學生的成績錄入、成績修改、 成績刪除、成績統(tǒng)計、成績打印等功能。

      而對于普通授課教師在系統(tǒng)登錄后,只能做輸入平時成績、期中成績、期末成績及查詢各類信息,授課老師一旦提交確認成績后,不能再對成績作編輯修改,如果錄入的成績有誤,應該聯(lián)系管理員,由管理員對錯誤的成績進行更正。

      4 數(shù)據(jù)庫設計剖析

      在系統(tǒng)開發(fā)中,最難的應該是數(shù)據(jù)庫設計。一方面,系統(tǒng)的功能規(guī)模直接影響數(shù)據(jù)庫的設計,另一方面數(shù)據(jù)庫結構設計的好壞又直接影響系統(tǒng)的效率以及實現(xiàn)效果。如何設計合理的數(shù)據(jù)庫結構,保證數(shù)據(jù)存儲效率及方便程序的實現(xiàn)是整個系統(tǒng)設計的難點和關鍵點。根據(jù)前面的功能解析,能夠滿足用戶需求的實體有:管理員、授課教師、學生、班級、學期,課程、授課及成績。

      1) 管理員(用戶名和密碼)。

      2) 教師表(教師名、教師密碼)。

      3) 系別表(系別編號、系別名稱)。

      4) 班級表(班級編號、班級名稱、系別編號)。

      5) 學生表(學號、姓名、性別、入學成績,班級編號)。

      6) 學期表(學期編號、學期名稱)。

      7) 課程表(課程編號、課程名稱、學時)。

      8) 授課表(授課編號、教師名、課程號、班級號、學期編號)。

      9) 成績表(成績編號、授課編號、學號、平時成績、期中成績、期末成績、總評成績、是否補考、補考成績、備注)。

      為了方便代碼編寫,可以通過視圖方式創(chuàng)建數(shù)據(jù)表與數(shù)據(jù)表之間的關系,這里比較重要的視圖是成績處理視圖resultView,需要將成績表、教師表、授課表、學生表、課程表、班級表、學期表和系別表聯(lián)系起來,方便學生的成績統(tǒng)計、分析及查詢。

      5 系統(tǒng)實現(xiàn)剖析

      在學生成績管理系統(tǒng)的實現(xiàn)中,學生信息、教師信息、課程信息等管理的功能基本相似,實現(xiàn)起來比較容易,這里不進行分析討論。在整個系統(tǒng)實現(xiàn)過程中,不僅要考慮到數(shù)據(jù)的完整性還要考慮到數(shù)據(jù)如何獲取。

      1) 觸發(fā)器是SQL Server提供給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完整性的一種方法。教務管理員在安排授課表時,每添加一條授課記錄,在成績表就應該添加與該授課編號相關的班級學生名單,用于記錄平時成績、期中成績等。為了保證成績表中學生名單準確無誤且與學生信息表名單的完整性,在技術處理上,采用在授課表上需要創(chuàng)建觸發(fā)器,以實現(xiàn)每添加或刪除一條授課記錄,成績表中就批量添加或刪除授課班級的學生名單及授課號。基本代碼如下:

      Create TRIGGER [dbo].[sktrig]

      ON [dbo].[skInfo]

      AFTER INSERT,DELETE

      AS

      BEGIN

      declare @sIDint,@cidint

      if exists ( select * from inserted)

      begin

      select @sID=sID,@cid=cid from inserted

      insert into resultInfo (stuId,sID) select stuid,@sID from stuInfo where cid=@cid

      end

      else

      begin

      select @sID=sID from deleted

      delete from resultInfo where sID=@sID

      end

      2) 匯總班級成績總表是學生成績管理系統(tǒng)實現(xiàn)中的難點。學期、系別、班級不同所授的課程不同。因為在匯總成績總表時,每個班級的課程名是動態(tài)的。因此在數(shù)據(jù)匯總的技術處理時,通過編制成績表的存儲過程的來實現(xiàn),并采用動態(tài)交叉表來匯總不同的系別,不同學期,不同班級的學生所學課程的總評成績,再通過數(shù)據(jù)綁定技術綁定匯總出來的交叉表,實現(xiàn)界面顯示。

      Create procedure [dbo].[CrossTable]

      @strTableNamevarchar(50)='',—查詢的表名

      @strColvarchar(50)='',—橫向列所在的字段名

      @strGroupvarchar(50)='',—分組名

      @strNumbervarchar(50)='',—被統(tǒng)計的列

      @strComputevarchar(50)='Sum',—運算方式

      @intxidvarchar(50),

      @intcidvarchar(50)

      as

      declare @strSql as varchar(1000),@strTempCol as varchar(100)

      execute ('DECLARE corss_cursor CURSOR FOR SELECT DISTINCT '+@strCol+' from '+@strTableName+' for read only') —生成游標

      begin

      setnocount on

      set @strSql='select '+@strGroup

      opencorss_cursor

      while(0=0)

      begin

      fetch next from corss_cursor

      into @strTempCol

      if(@@fetch_status<>0) break

      set @strSql=@strSql+','+@strCompute+'( case '+@strCol+' when '''+@strTempCol+''' then '+@strNumber +' else 0 end ) as ['+@strTempCol+']'

      end

      set @strsql=@strSql+','+@strCompute+'('+@strNumber+') as [總成績]'+' from '+@strTableName+' where cId='+@intcid+ ' and xID='+@intxid+' group by '+@strGroup

      print @strSql

      execute(@strSql)

      if @@error <>0 return @@error

      print @@error

      closecorss_cursor

      deallocatecorss_cursor return 0

      end

      3) 單科成績分數(shù)段的統(tǒng)計也是學生成績管理模塊中的難點。在數(shù)據(jù)處理的技術上,需要對成績處理視圖resultView采用復雜查詢技術來實現(xiàn)。在界面實現(xiàn)上通過綁定查詢的結果進行顯示,這里以單科匯總期中成績?yōu)槔M行說明。

      select kName,(select COUNT(*) from resultView where qzresult<60 and kName=t.kName ) as '不及格',(select COUNT(*)

      from resultView where qzresult>=60 and qzresult<70 and kName=

      t.kName ) as '60-70',(select COUNT(*) from resultView where qzresult>=70 and qzresult<80 and kName=t.kName) as '70-80',(select COUNT(*) from resultView where qzresult>=80and qzresult<90 and kName=t.kName) as '80-90',(select COUNT(*) from resultView where qzresult >=90 and kName=t.kName ) as '90以上' from resultView t group by kName

      6 總結

      本學生成績管理系統(tǒng)是作為學生畢業(yè)設計的選題,它在實際應用中有多局限性,許多方面有待進一步改進和完善,通過本系統(tǒng)的設計與開發(fā),學生對所學的軟件技術知識進行了系統(tǒng)地回顧和應用,特別是對SQL Server數(shù)據(jù)庫技術、面向對象程序設計、軟件工程等課程達到學以致用的目的,剖析學生成績管理系統(tǒng)設計與實現(xiàn)的重點與難點的目的是給學生成績管理系統(tǒng)的設計者與研究者提供一點參考和借鑒。

      參考文獻:

      [1] 李春葆,曾平.數(shù)據(jù)庫原理與應用第2版[M].北京:清華大學出版社,2007.

      [2] 賈紅宇.高校學生成績管理系統(tǒng)的設計與實現(xiàn)[J]. 教育論壇,2008(9):148,149.

      [3] 葉偉.學生成績管理系統(tǒng)的設計與實現(xiàn)探究[J]. 信息系統(tǒng)工程,2012(4).

      猜你喜歡
      學期管理系統(tǒng)班級
      基于James的院內郵件管理系統(tǒng)的實現(xiàn)
      班級“四小怪”
      小讀者(2021年4期)2021-11-24 10:49:03
      新的學期 新的嘗試
      少先隊活動(2021年9期)2021-11-05 07:31:12
      期末沖刺高二上學期期末模擬卷
      如何構建和諧班級
      甘肅教育(2020年22期)2020-04-13 08:10:52
      基于LED聯(lián)動顯示的違停管理系統(tǒng)
      海盾壓載水管理系統(tǒng)
      中國船檢(2017年3期)2017-05-18 11:33:08
      八年級(上學期)期末測試題(D)
      不稱心的新班級
      快樂語文(2016年7期)2016-11-07 09:43:56
      基于RFID的倉儲管理系統(tǒng)實現(xiàn)
      磐安县| 高安市| 广丰县| 宝清县| 布拖县| 日喀则市| 淄博市| 寻甸| 陆良县| 敖汉旗| 溧阳市| 峨眉山市| 夏津县| 阿鲁科尔沁旗| 西林县| 阜康市| 喀喇沁旗| 罗源县| 县级市| 永靖县| 体育| 曲周县| 朝阳县| 松溪县| 弋阳县| 商丘市| 新乡县| 万宁市| 德昌县| 赤峰市| 永清县| 佛教| 乐亭县| 通河县| 灵石县| 大兴区| 苗栗县| 宜良县| 岳阳市| 双鸭山市| 晋州市|