




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上軟件開發(fā)與項目管理課程案例學(xué)生考評系統(tǒng)一、項目簡介(一)項目背景二 十一世紀(jì)以來,在國家新的科教興國戰(zhàn)略指引下,我國高等教育進(jìn)入大眾化的新時期,國內(nèi)高校走上了跨越式發(fā)展的新道路。然而持續(xù)的高校擴(kuò)招凸顯了有限的教育資源的瓶頸,于是提出了對人才培養(yǎng)規(guī)模與質(zhì)量協(xié)調(diào)發(fā)展的新要求。盡管近年來政府加大了對高等教育的投入,基礎(chǔ)設(shè)施建設(shè)得到長足的發(fā)展,一定程度上緩解了制約高校發(fā)展的“硬環(huán)境”問題。然而,傳統(tǒng)落后的教育管理模式仍然在很大程度上制約著教育大眾化和現(xiàn)代化的發(fā)展,成為更深層次的“軟環(huán)境”的問題。因此,不少高校開始適應(yīng)信息化、網(wǎng)絡(luò)化的時代特點(diǎn),通過管理信息化建設(shè),使有限的教育資
2、源得到有效挖掘和利用,從而促進(jìn)高等教育的可持續(xù)發(fā)展。開發(fā)本項目,旨在探索解決高校學(xué)生工作在大眾化教育背景下的“軟環(huán)境”問題,使有限的思想教育和管理人員通過現(xiàn)代化的校園網(wǎng)絡(luò)平臺,實(shí)現(xiàn)真正意義上的學(xué)生工作信息化,推進(jìn)教育管理現(xiàn)代化,提高工作效率。(二)項目功能當(dāng)前,國內(nèi)基于校園網(wǎng)的高校信息化管理系統(tǒng)建設(shè)尚處于發(fā)展階段。由于缺乏必要的統(tǒng)一領(lǐng)導(dǎo)、系統(tǒng)規(guī)劃和部門與教師之間的協(xié)調(diào),再加上缺乏科學(xué)的軟件工程理論的指導(dǎo),往往造成信息管理系統(tǒng)的重復(fù)建設(shè)和資源的隔閡,造成不必要的資源浪費(fèi)。很多部門下級工作人員往往充當(dāng)了資料錄入員和單向匯報者的角色,造成某種程度的人力和信息浪費(fèi),給本已高強(qiáng)度運(yùn)作的一線學(xué)生教育管理部
3、門增加工作壓力。很多傳統(tǒng)的高校學(xué)生考評系統(tǒng)沒有得到有效建設(shè)或依舊停留在單機(jī)操作或C/S架構(gòu)。而教師和部門對學(xué)生的作業(yè)管理、考勤及考評等日常需要頻繁進(jìn)行的活動也沒有一個完善的系統(tǒng)予以支持,使得最終的獎學(xué)金、助學(xué)金的評定也沒有一個全面、科學(xué)和量化的標(biāo)準(zhǔn)提供參考,使本已龐雜的學(xué)生工作變得更加繁重和難以有效控制。高校“學(xué)生考評系統(tǒng)”旨在加強(qiáng)教師和學(xué)生、教師和部門以及學(xué)生與學(xué)生之間的互動,增強(qiáng)系統(tǒng)的參與性、易用性和自動性,使學(xué)生工作變得富有效率和科學(xué)性,節(jié)省人力成本和時間成本。系統(tǒng)形成的一組全面、有效、具有較強(qiáng)參考價值和復(fù)用價值的數(shù)據(jù),為學(xué)生工作的決策提供了有效的技術(shù)支持和信息服務(wù)。二、相關(guān)技術(shù)(一).
4、NET Framework.NET Framework 是支持生成和運(yùn)行下一代應(yīng)用程序和 XML Web Services 的內(nèi)部 Windows 組件。.NET Framework 具有兩個主要組件:公共語言運(yùn)行庫和 .NET Framework 類庫。公共語言運(yùn)行庫是 .NET Framework 的基礎(chǔ)。您可以將運(yùn)行庫看作一個在執(zhí)行時管理代碼的代理,它提供內(nèi)存管理、線程管理和遠(yuǎn)程處理等核心服務(wù),并且還強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫的基本原則。以運(yùn)行庫為目標(biāo)的代碼稱為托管代碼,而不以運(yùn)行庫為目標(biāo)的代碼稱為非托管代碼。.N
5、ET Framework 的另一個主要組件是類庫,它是一個綜合性的面向?qū)ο蟮目芍赜妙愋图希梢允褂盟_發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應(yīng)用程序,也包括基于 ASP.NET 所提供的最新創(chuàng)新的應(yīng)用程序(如 Web 窗體和 XML Web Services)。下圖1顯示了公共語言運(yùn)行庫和類庫與應(yīng)用程序之間以及與整個系統(tǒng)之間的關(guān)系,還顯示托管代碼如何在更大的結(jié)構(gòu)內(nèi)運(yùn)行。圖1 .NET Framework 環(huán)境(二)LINQ與LINQ to SQL語言集成查詢 (LINQ) 是 Visual Studio 2008 中引入的一組功能,可為 C# 和 Visu
6、al Basic 語言語法提供強(qiáng)大的查詢功能。 LINQ 引入了標(biāo)準(zhǔn)、易學(xué)的數(shù)據(jù)查詢和更新模式,該技術(shù)可以擴(kuò)展為幾乎支持任何類型的數(shù)據(jù)存儲。Visual Studio 包含 LINQ 提供程序的程序集,借助這些程序集,就能將 LINQ 用于 .NET Framework 集合、SQL Server 數(shù)據(jù)庫、ADO.NET 數(shù)據(jù)集和 XML 文檔。 LINQ to SQL 是 .NET Framework 3.5 版的一個組件,提供了用于將關(guān)系數(shù)據(jù)作為對象管理的運(yùn)行時基礎(chǔ)結(jié)構(gòu)。 在 LINQ to SQL 中,關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型映射到用開發(fā)人員所用的編程語言表示的對象模型。 當(dāng)應(yīng)用程
7、序運(yùn)行時,LINQ to SQL 會將對象模型中的語言集成查詢轉(zhuǎn)換為 SQL,然后將它們發(fā)送到數(shù)據(jù)庫進(jìn)行執(zhí)行。當(dāng)數(shù)據(jù)庫返回結(jié)果時,LINQ to SQL 會將它們轉(zhuǎn)換回您可以用您自己的編程語言處理的對象。 (三) Visual Studio 2008簡介Visual Studio 是一套完整的開發(fā)工具集,用于生成 ASP.NET Web 應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動應(yīng)用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成開發(fā)環(huán)境 (IDE),利用此 IDE 可以共享工具且有助于創(chuàng)建混合語言解決方案。
8、另外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化 ASP Web 應(yīng)用程序和 XML Web Services 開發(fā)的關(guān)鍵技術(shù)。Visual Studio 2008引入了250多個新特性,整合了對象、關(guān)系型數(shù)據(jù)、XML的訪問方式,語言更加簡潔。使用Visual Studio 2008可以高效開發(fā)Windows應(yīng)用。設(shè)計器中可以實(shí)時反映變更,XAML中智能感知功能可以提高開發(fā)效率。同時Visual Studio 2008支持項目模板、調(diào)試器和部署程序。Visual Studio 2008可以高效開發(fā)Web應(yīng)用,集成了AJAX 1.0,包含AJAX項目模板,它還可以
9、高效開發(fā)Office應(yīng)用和Mobile應(yīng)用。三、需求分析(一)不同角色對功能的規(guī)定學(xué)生考評系統(tǒng)的權(quán)限應(yīng)根據(jù)用戶的角色嚴(yán)格區(qū)分,功能應(yīng)和權(quán)限相統(tǒng)一,界面應(yīng)和角色相統(tǒng)一,努力避免權(quán)限的漏洞。否則重要數(shù)據(jù)會存在被非法查看、竊取、篡改甚至丟失的風(fēng)險。下圖2說明了系統(tǒng)三大角色的功能圖:圖2 考評系統(tǒng)角色功能圖 從上圖可以看出,只有共享功能對三角色均公開,而系統(tǒng)中三大角色的各自的功能是相互屏蔽的。這里的共享功能僅包括校園通知查看、個人信息管理、密碼修改等。(二) 教務(wù)人員功能需求教務(wù)人員在整個系統(tǒng)中扮演著主體角色,系統(tǒng)前期的數(shù)據(jù)錄入、中期的數(shù)據(jù)管理以及后期的數(shù)據(jù)提取,都需要教務(wù)人員的全力配合,所以系統(tǒng)賦予
10、教務(wù)考評人員最豐富、最高級的功能??梢哉f只有教務(wù)考評管理員的正確操作和合法管理才能使整個考評系統(tǒng)正確穩(wěn)定地運(yùn)作。然而,從另一方面講,也正因?yàn)榻虅?wù)考評管理員的高層次權(quán)限,使考評系統(tǒng)的運(yùn)作存在風(fēng)險。因?yàn)榭荚u管理員無意或有意的操作非法,可能導(dǎo)致系統(tǒng)中數(shù)據(jù)的錯誤,甚至造成無法挽回的數(shù)據(jù)丟失乃至系統(tǒng)崩潰。這樣,有效地監(jiān)督教務(wù)人員的操作顯得分外重要。系統(tǒng)中應(yīng)對教務(wù)管理過程教務(wù)考評管理員的數(shù)據(jù)管理操作形成詳細(xì)的只讀的系統(tǒng)日志存放于數(shù)據(jù)庫(如圖3),在系統(tǒng)出現(xiàn)問題時,方便追蹤問題及責(zé)任人。另外,數(shù)據(jù)庫管理員應(yīng)定期備份數(shù)據(jù)庫,防止出現(xiàn)意外情況。圖3教務(wù)人員用例圖 上圖中,其中人員數(shù)據(jù)管理(包括學(xué)生數(shù)據(jù)管理、教務(wù)
11、人員數(shù)據(jù)管理、教師數(shù)據(jù)管理)、科目數(shù)據(jù)管理、班級數(shù)據(jù)管理、課程數(shù)據(jù)管理、學(xué)院數(shù)據(jù)管理、系部數(shù)據(jù)管理和校園通知管理均屬于數(shù)據(jù)管理功能域,包括增加、查看、更新和刪除;開課管理是為班級進(jìn)行選課處理;學(xué)院投票功能是可選的,針對各學(xué)校對學(xué)生的具體考評標(biāo)準(zhǔn),如最終的獎學(xué)金或助學(xué)金評定時,學(xué)校對條件不分伯仲的學(xué)生進(jìn)行投票,最終通過投票來決定獎學(xué)金或助學(xué)金的確認(rèn)人選;學(xué)生總評是教務(wù)考評人員的核心功能模塊,在這個功能模塊中,可根據(jù)學(xué)生平時表現(xiàn)和考試表現(xiàn)最終生成學(xué)生的最終考評分,形成學(xué)校決策的科學(xué)依據(jù)。圖4 數(shù)據(jù)管理系統(tǒng)日志生成圖(三) 教師功能需求教師模塊是互動性最強(qiáng)的模塊,也是用戶頻繁操作的模塊,如其中的作業(yè)
12、管理、在線點(diǎn)名是教師最常用的功能。圖5 教師功能用例圖(四) 學(xué)生功能需求學(xué)生登陸后的功能包括查看作業(yè)題目、提交作業(yè)、查看個人評測結(jié)果、投票等;當(dāng)學(xué)生是班長時,還將具有維護(hù)班級數(shù)據(jù)(為了減輕教務(wù)人員的工作量,權(quán)限可控制)、發(fā)起班級投票的功能。圖6學(xué)生功能用例圖四、系統(tǒng)設(shè)計(一)數(shù)據(jù)庫表設(shè)計下表中的評分與計數(shù)字段是根據(jù)對教務(wù)部門的調(diào)研而設(shè)計,學(xué)生表的計分設(shè)計應(yīng)和具體學(xué)院的實(shí)際情況相一致。表1 學(xué)生表Student字段名稱數(shù)據(jù)類型大小主鍵可空說明StuNumbernvarchar50是否用戶名/學(xué)號Passwordnvarchar255否否密碼Namenvarchar255否否姓名Gendernv
13、archar50否否性別BirthdayDateN/A否是出生日期ClassNamenvarchar64否否班級名稱Emailnvarchar255否是郵箱Telephonenvarchar50否是電話StudentUnionCadrefloatN/A否是因在學(xué)生會得分ClassMonitorfloatN/A否是因當(dāng)班長得分LeagueBranchSecretaryfloatN/A否是因當(dāng)團(tuán)支書得分YouthVolunteerfloatN/A否是因青年志愿者得分 CriticizefloatN/A否是因受批評扣分CETfloatN/A否是因四級六級得分ComputerLevelfloatN/A
14、否是因計算機(jī)等級得分SkillContestfloatN/A否是因技能競賽得分ArticlesfloatN/A否是因發(fā)表文章得分AcademicThesisfloatN/A否是因?qū)W術(shù)論文得分ResearchProjectfloatN/A否是因科研項目得分ClassAbsentfloatN/A否是因曠課扣分LatefloatN/A否是因遲到扣分EarlyLeavefloatN/A否是因早退扣分NoWorkSubmitfloatN/A否是因未交作業(yè)扣分TeachPracticefloatN/A否是因不參加教學(xué)實(shí)踐扣分CheatExamfloatN/A否是因作弊扣分ParticipateShowfl
15、oatN/A否是因參加演出得分SchoolShowContestfloatN/A否是因文藝演出競賽得分AcademyShowContestfloatN/A否是因?qū)W院演出競賽得分SportTeamfloatN/A否是因參加運(yùn)動隊得分CutualTrainfloatN/A否是因文工團(tuán)訓(xùn)練得分OtherScorefloatN/A否是其他得分OtherScoreReasonnvarcharMax否是其他得分的原因StudyFinalScorefloatN/A否是學(xué)習(xí)最終得分GeneralScorefloatN/A否是考評最終得分Historynvarchar Max否是只讀數(shù)據(jù)管理日志表2 教師表Te
16、acher字段名稱數(shù)據(jù)類型大小主鍵可空說明TeacherNumbernvarchar64是否用戶名/教工編號Passwordnvarchar255否否密碼Namenvarchar255否否姓名Gendernvarchar50否否性別FromAcademynvarchar255否否所屬學(xué)院Emailnvarchar255否是郵箱Telephonenvarchar50否是電話表3 教務(wù)考評管理員表Admin字段名稱數(shù)據(jù)類型大小主鍵可空說明LoginNamenvarchar255是否管理員用戶名Passwordnvarchar255否否密碼DisplayNamenvarchar50否否顯示姓名表4權(quán)
17、限表Authority字段名稱數(shù)據(jù)類型大小主鍵可空說明AuthorityIdintN/A是否權(quán)限IDNamenvarchar255否否權(quán)限名稱EnabledbitN/A否否權(quán)限是否允許表5校園通知表Bulletin字段名稱數(shù)據(jù)類型大小主鍵可空說明BulletinIdintN/A是否通知編號Titlenvarchar255否否通知標(biāo)題MainBodynvarcharMAX否否通知內(nèi)容Authornvarchar255否否發(fā)布人DateTimedatetim27否否發(fā)布時間EndDatedateN/A否否有效截止日期表6班級表Class字段名稱數(shù)據(jù)類型大小主鍵可空說明ClassNamenvarch
18、ar64是否班級名稱DepartmentNamenvarchar255否否 所屬系部HeadTeachernvarchar64否是班主任ClassMonitorNumnvarchar50否否班長學(xué)號表7課程表Course字段名稱數(shù)據(jù)類型大小主鍵可空說明CourseIdintN/A是否課程編號CourseNamenvarchar50否否 課程名稱TeacherNumbernvarchar64否否開課教師編號AcademicYearnvarchar50否否學(xué)年AcademicTermnvarchar50否否學(xué)期CreditfloatN/A否否學(xué)分Typenvarchar255否否課程類型表8 班級
19、選課表(班級表和課程表的關(guān)系表)ClassCourseShip字段名稱數(shù)據(jù)類型大小主鍵可空說明ClassNamenvarchar64是否班級名稱CourseIdintN/A是否課程編號RollCallCountintN/A否是點(diǎn)名次數(shù)PubWorkCountintN/A否是發(fā)布作業(yè)次數(shù)ToalLessons intN/A否否課時總數(shù)表9 系部表Department字段名稱數(shù)據(jù)類型大小主鍵可空說明DepartmentNamenvarchar255是否系部名稱DepartmentHeadnvarchar255否是系主任RemarknvarcharMAX否是備注AcademyNamenvarchar
20、255否否所屬學(xué)院表10 消息表Message字段名稱數(shù)據(jù)類型大小主鍵可空說明IdintN/A是否消息編號BodynvarcharMAX否否消息內(nèi)容DateTimedatetimeN/A否否發(fā)送時間FromPersonnvarchar64否否發(fā)送人ToClassnvarchar64否否目標(biāo)發(fā)送班級表11 計票表PollCount字段名稱數(shù)據(jù)類型大小主鍵可空說明CandidateNumbernvarchar255是否候選人名稱PubPollIdintN/A是否投票編號CandidateNamenvarchar255否否候選人姓名PollCountintN/A否是票數(shù)Introductionnva
21、rcharMAX否否介紹表12 發(fā)布作業(yè)表PubWork字段名稱數(shù)據(jù)類型大小主鍵可空說明PubWorkIdintN/A是否發(fā)布作業(yè)編號Titlenvarchar255是否作業(yè)名稱MainBodynvarcharMAX否是作業(yè)內(nèi)容AttachmentPathnvarchar300否是附件路徑DateTimedatetimeN/A否否作業(yè)發(fā)布時間TeacherNumbernvarchar64否否 發(fā)布教師編號CourseIdintN/A否否 課程編號DeadlinedatetimeN/A否否 提交截止日期表13 讀消息表 ReadMessage字段名稱數(shù)據(jù)類型大小主鍵可空說明IdintN/A是否自
22、增IdStuNumbernvarchar50否否學(xué)生編號MessageIdintN/A否否消息編號ReadDatetimedatetimeN/A否否閱讀時間下面的學(xué)生班級關(guān)系表的設(shè)計主要是為了當(dāng)存在選修課時,學(xué)生可以會屬于一個臨時班級。表14 學(xué)生班級關(guān)系表 StudentClassShip字段名稱數(shù)據(jù)類型大小主鍵可空說明IdintN/A是否自增IdStuNumbernvarchar50否否學(xué)生編號ClassNamenvarchar64否否班級名稱下表課程計分和計數(shù)字段是針對某學(xué)生的某個課程而言的,它主要用于教師的自主評分。而學(xué)生表的評分及計數(shù)是統(tǒng)計各個課程后的最終記錄。表15 學(xué)生課程關(guān)系表
23、 StudentCourseShip字段名稱數(shù)據(jù)類型大小主鍵可空說明StuNumbernvarchar50是否學(xué)生編號CourseIdintN/A是否課程編號LateCountintN/A否是遲到次數(shù)AbsentCountintN/A否是曠課次數(shù)SubmitWorkCountintN/A否是提交作業(yè)次數(shù)EarlyLeaveCountintN/A否是早退次數(shù)NormalTimeScorefloatN/A否是該課程平時分StudyScorefloatN/A否是該課程學(xué)習(xí)得分FinalScorefloatN/A否是該課程最終得分OtherGetfloatN/A否是該課程其他得分下面的科目表的設(shè)計主要
24、是為了對應(yīng)課程表Course的CourseName字段,因?yàn)閷?shí)際情況中科目名稱往往作為課程名稱。這樣做有利于統(tǒng)一格式,并可以增強(qiáng)系統(tǒng)使用的友好性。如在輸入課程名稱時,用戶只需要在下拉列表中選擇即可,而這個下拉列表中的課程名稱是從數(shù)據(jù)庫動態(tài)生成的。這種做法在本系統(tǒng)中多次使用。表16 科目表 StudentClassShip字段名稱數(shù)據(jù)類型大小主鍵可空說明IdintN/A是否自增IdStuNumbernvarchar50否否學(xué)生編號MessageIdintN/A否否消息編號ReadDatetimedatetimeN/A否否閱讀時間表17投票表 SubmitPoll字段名稱數(shù)據(jù)類型大小主鍵可空說明S
25、tuNumnvarchar50是否學(xué)生編號PubPollIdintN/A 是否投票項目編號CandidateNumbernvarchar255否否候選人編號表18作業(yè)提交表 SubmitWork字段名稱數(shù)據(jù)類型大小主鍵可空說明StuNumnvarchar50是否學(xué)生編號PubWorkIdintN/A 是否投票項目編號Titlenvarchar255 否否提交作業(yè)名稱MainBodynvarcharMAX 否是作業(yè)內(nèi)容AttachmentPathnvarchar255否是附件路徑DateTimedatetimeN/A否否提交時間ScorefloatN/A否否得分isFinishbitN/A否是標(biāo)
26、記為已完成(二) 數(shù)據(jù)庫關(guān)系設(shè)計圖7數(shù)據(jù)庫關(guān)系圖1圖8 數(shù)據(jù)庫關(guān)系圖2(二)界面結(jié)構(gòu)設(shè)計方案1.總體頁面結(jié)構(gòu)分析本系統(tǒng)角色的權(quán)限分明,功能不一。出于同一系統(tǒng),界面應(yīng)風(fēng)格一致。本系統(tǒng)采用.Net中的Web.sitemap站點(diǎn)地圖結(jié)合Menu控件對主導(dǎo)航菜單進(jìn)行統(tǒng)一組織,并在Web.config中system.web結(jié)點(diǎn)下啟用角色管理功能:<roleManager enabled="true"></roleManager>以后在站點(diǎn)地圖XML文件中對各結(jié)點(diǎn)添加相應(yīng)的角色驗(yàn)證,如:<siteMapNode roles="admin"
27、; title="人員數(shù)據(jù)管理" ><siteMapNode roles="teacher" title="點(diǎn)名" >本系統(tǒng)的登陸驗(yàn)證采用.Net下的Forms驗(yàn)證,而棄用Session驗(yàn)證。這樣在各角色登陸系統(tǒng)時主導(dǎo)航菜單自動顯示為該角色量身定制的選單。整個系統(tǒng)的界面風(fēng)格也可以輕而易舉地統(tǒng)一協(xié)調(diào)。 系統(tǒng)的三大角色統(tǒng)一使用一個登陸頁面,登陸管理活動視圖如下:圖9 登陸管理活動視圖2 教務(wù)端子系統(tǒng)及頁面結(jié)構(gòu)設(shè)計圖10 教務(wù)端子系統(tǒng)頁面結(jié)構(gòu)上圖的主導(dǎo)航選菜單是采用CSSFriendlyAdapters.browser重寫
28、Menu控件后從以Web.sitemap站點(diǎn)地圖作為數(shù)據(jù)源而得到的效果。以下教師端和學(xué)生端的界面類似。3教師端子系統(tǒng)及頁面結(jié)構(gòu)設(shè)計圖11 教師端子系統(tǒng)頁面結(jié)構(gòu)4 學(xué)生端子系統(tǒng)及頁面結(jié)構(gòu)設(shè)計圖12 學(xué)生端子系統(tǒng)頁面結(jié)構(gòu)五、系統(tǒng)實(shí)現(xiàn)(1) 主要類及其關(guān)聯(lián)關(guān)系本系統(tǒng)采用LINQ技術(shù),它可以讓我們以一致的方式對結(jié)果進(jìn)行組織,LINQ to SQL實(shí)體類之間的關(guān)聯(lián)類似于數(shù)據(jù)庫中表之間的關(guān)系。圖13 LINQ to SQL實(shí)體類及其關(guān)聯(lián)關(guān)系圖(二) 核心功能實(shí)現(xiàn)1.點(diǎn)名功能實(shí)現(xiàn)系統(tǒng)為教師提供了點(diǎn)名功能,包括高概率點(diǎn)名、隨機(jī)點(diǎn)名和順序點(diǎn)名。后臺只負(fù)責(zé)一次性取數(shù)據(jù),前臺Jquery控制點(diǎn)名,減少了網(wǎng)絡(luò)負(fù)載。以
29、隨機(jī)點(diǎn)名為例,本系統(tǒng)棄用.Net自帶的Random函數(shù),因?yàn)殡S機(jī)函數(shù)在LINQ調(diào)用數(shù)據(jù)時只會調(diào)用一次隨機(jī),可能和LINQ的延遲執(zhí)行有關(guān)。最終本系統(tǒng)巧妙地為LINQ設(shè)計器添加了生成不同GUID的函數(shù)實(shí)現(xiàn)了隨機(jī)功能,核心代碼如下:private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource(); Function(Name = "NEWID", IsComposable = true) public Guid NEWID() return (Gui
30、d)(this.ExecuteMethodCall(this,(MethodInfo)(MethodInfo.GetCurrentMethod().ReturnValue); 2.發(fā)布作業(yè)功能的實(shí)現(xiàn) 當(dāng)教務(wù)處考評管理員為班級選課之后,教師發(fā)布作業(yè)應(yīng)只發(fā)布給選修該課程的班級。系統(tǒng)在加載發(fā)布作業(yè)頁面時應(yīng)通過當(dāng)前登陸的教師編號定位該教師發(fā)布的課程并且該課程已經(jīng)被上個下拉列表選擇的班級選修。這是作業(yè)發(fā)布必須要做的前提工作。實(shí)現(xiàn)的核心代碼如下: protected void DropDownList2_Load(object sender, EventArgs e) if (!IsPostBack) D
31、ataClasses1DataContext dcdc = new DataClasses1DataContext(); /通過下面的LINQ語句鎖定該教師發(fā)布給指定班級的所有課程 var data = from d in dcdc.Course join ccs in dcdc.ClassCourseShip on d.CourseId equals ccs.CourseId into fina from pro in fina.DefaultIfEmpty() where d.TeacherNumber = User.Identity.Name && pro.ClassNa
32、me = DropDownList1.Text select new d.CourseId, d.CourseName ; DropDownList ddlCourse = (DropDownList)sender; ddlCourse.DataSource = data; ddlCourse.DataTextField = "CourseName" ddlCourse.DataValueField = "CourseId" ddlCourse.DataBind(); 發(fā)布作業(yè)在附件的上傳應(yīng)注意路徑問題,應(yīng)當(dāng)把相對路徑轉(zhuǎn)換為服務(wù)器端的絕對路徑,否則會導(dǎo)致
33、上傳失敗或意外“上傳”到本地。而且應(yīng)為每個老師以用戶名命名的文件夾,教師發(fā)布的作業(yè)存放在各自相應(yīng)的文件夾中,便于管理和系統(tǒng)定位,在學(xué)生的上傳作業(yè)頁面也是同理。核心代碼如下:if (FileUpload1.HasFile) /以當(dāng)前時間和生成一個隨機(jī)數(shù)命重命名文件 StringBuilder strBuilder = new StringBuilder(); string fullName = FileUpload1.PostedFile.FileName; string upFileName = fullName.Substring(fullName.LastIndexOf(""); string fileType = upFileName.Substring(upFileName.LastIndexOf(".") + 1); DateTime currentTime = new DateTime(); currentTime = DateTime.No
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆安徽省蕪湖縣一中高二物理第二學(xué)期期末監(jiān)測試題含解析
- 創(chuàng)新教育模式下的領(lǐng)導(dǎo)力挑戰(zhàn)與機(jī)遇
- 商業(yè)視角下的教育產(chǎn)業(yè)變革游戲化學(xué)習(xí)的融資前景
- 實(shí)驗(yàn)教學(xué)中學(xué)生情感教育的教育心理學(xué)方法
- 教育資源的優(yōu)化配置與科技力量的運(yùn)用
- 學(xué)習(xí)動力激發(fā)的教育心理學(xué)方法論
- 政府推動的教育政策在社區(qū)的落地情況
- 2025屆陜西省渭南市合陽縣高一物理第二學(xué)期期末監(jiān)測試題含解析
- 全面基礎(chǔ)護(hù)士考試題庫及答案
- 未來辦公模式的探索沉浸式學(xué)習(xí)與自適應(yīng)平臺的結(jié)合
- NB/T 10751-2021礦用往復(fù)式氣動注漿泵
- 裝卸搬運(yùn)課件
- GB/T 18391.2-2009信息技術(shù)元數(shù)據(jù)注冊系統(tǒng)(MDR)第2部分:分類
- GB/T 16924-2008鋼件的淬火與回火
- 基礎(chǔ)護(hù)理學(xué):肌內(nèi)注射
- 靜脈輸液(最終版)
- 藥品電子監(jiān)管碼管理sop
- 2018年上海高考?xì)v史試題及答案
- 醫(yī)療器械直調(diào)管理制度
- 中儲糧內(nèi)控管理地圖手冊
- 銀行不良貸款責(zé)任認(rèn)定及問責(zé)管理工作實(shí)施細(xì)則
評論
0/150
提交評論