鄭林芳
(廣東省財(cái)政職業(yè)技術(shù)學(xué)校 廣東 廣州 510445)
“班級公司化”管理是一種全新的班級管理模式,即在班級管理中吸收企業(yè)的管理理念,有企業(yè)組織架構(gòu)、人事考核制度及企業(yè)文化,以公司化的形式展開班級管理。同樣在實(shí)訓(xùn)教學(xué)階段,引入“公司化”的模式來開展教學(xué)設(shè)計(jì),利于探索多樣化的實(shí)踐教學(xué)方式。
在職業(yè)教育階段,實(shí)訓(xùn)環(huán)節(jié)占極及重要的地位,只有通過實(shí)訓(xùn),才能把學(xué)到的專業(yè)知識(shí)和技能加以整合應(yīng)用。根據(jù)本校教學(xué)安排,每學(xué)期最后一周時(shí)間為實(shí)訓(xùn)周,計(jì)算機(jī)網(wǎng)絡(luò)專業(yè)的學(xué)生第三學(xué)期開設(shè)了“C#程序設(shè)計(jì)”和“數(shù)據(jù)庫”這兩門專業(yè)課程,將其整合應(yīng)用的實(shí)訓(xùn)項(xiàng)目是本學(xué)期實(shí)訓(xùn)周的主要內(nèi)容,因此,本學(xué)期設(shè)計(jì)的實(shí)訓(xùn)內(nèi)容是 “基于C#的學(xué)生成績管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)”,在此項(xiàng)目實(shí)訓(xùn)環(huán)節(jié)中,將利用軟件開發(fā)公司的流程及形式探索項(xiàng)目開發(fā)和設(shè)計(jì)。根據(jù)軟件生命周期,整個(gè)實(shí)訓(xùn)項(xiàng)目可分為系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施、系統(tǒng)運(yùn)行和維護(hù)五個(gè)階段,如圖1所示。全班學(xué)生和實(shí)訓(xùn)指導(dǎo)教師在項(xiàng)目生命周期中根據(jù)“公司化”管理扮演不同的項(xiàng)目角色,這種分工方式不僅體現(xiàn)了學(xué)生的主體實(shí)踐地位,而且培養(yǎng)了學(xué)生發(fā)現(xiàn)和解決問題的能力,同時(shí)易于挖掘?qū)W生的潛能,學(xué)以致用,成為學(xué)習(xí)的主人。
實(shí)訓(xùn)項(xiàng)目的系統(tǒng)規(guī)劃是系統(tǒng)生命周期的第一階段,其任務(wù)可以分解為開發(fā)請求、初步調(diào)查、可行研究、審批四個(gè)階段。具體表現(xiàn)為:實(shí)訓(xùn)指導(dǎo)教師收到“學(xué)生成績管理信息系統(tǒng)”的開發(fā)請求,并把此開發(fā)任務(wù)下發(fā)給全體學(xué)生;全班學(xué)生分組并推選出小組正組長和副組長,各小組根據(jù)開發(fā)請求對現(xiàn)有的成績管理狀況和實(shí)現(xiàn)目標(biāo)進(jìn)行初步調(diào)查,同時(shí)根據(jù)系統(tǒng)要實(shí)現(xiàn)的目標(biāo)和發(fā)展要求確定成績管理系統(tǒng)的設(shè)計(jì)目標(biāo);學(xué)生對系統(tǒng)的需求做出分析和預(yù)測,同時(shí)考慮新系統(tǒng)所受的各種約束條件,研究新系統(tǒng)的必要性和可能性,各小組據(jù)此擬出系統(tǒng)的備選方案,寫出可行性研究報(bào)告;各小組正、副組長和指導(dǎo)教師一起審議各小組的可行性報(bào)告,通過分析、挑選,結(jié)合實(shí)訓(xùn)開發(fā)計(jì)劃編寫出系統(tǒng)設(shè)計(jì)任務(wù)書。
需求分析是要決定“做什么,不做什么”,通過對目前成績管理現(xiàn)狀進(jìn)行調(diào)查分析,明確系統(tǒng)需要做什么,做到什么程度,得出功能需求和性能需求。
功能需求:本項(xiàng)目對學(xué)生的成績進(jìn)行管理,教師角色錄入成績,對成績能夠進(jìn)行查詢、修改和刪除;學(xué)生在教師錄入成績之后,只能夠?qū)Τ煽冞M(jìn)行查詢;而教務(wù)管理員除了對成績能夠進(jìn)行增加、刪除、修改和查詢外,還需要對學(xué)生和教師信息、課程信息進(jìn)行維護(hù)和管理。
性能需求:要求設(shè)計(jì)出來的系統(tǒng)運(yùn)行時(shí)要穩(wěn)定,具備較強(qiáng)的適應(yīng)性和移植性。同時(shí)要具備可擴(kuò)展性,當(dāng)新的需求提出時(shí),方便進(jìn)行更新和維護(hù)。
可行性分析是要決定“做還是不做”。一般可行性分析主要考慮四個(gè)要素:經(jīng)濟(jì)、技術(shù)、社會(huì)環(huán)境和人。成績管理信息系統(tǒng)從經(jīng)濟(jì)上分析因?yàn)槭菍?shí)訓(xùn)項(xiàng)目,沒有全生命成本即開發(fā)成本和維護(hù)成本,而開發(fā)成功之后如果應(yīng)用到學(xué)校的教務(wù)工作上將帶來一定的效率;從技術(shù)上分析,因剛學(xué)完C#程序設(shè)計(jì)語言與數(shù)據(jù)庫技術(shù),完全有能力完成管理信息系統(tǒng)的開發(fā)與設(shè)計(jì)。
可行性報(bào)告經(jīng)指導(dǎo)教師與小組組長審議通過后,根據(jù)《GB8567-88計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南》中的項(xiàng)目開發(fā)計(jì)劃要求,為了能使項(xiàng)目按照合理的順序開展,保質(zhì)保量的完成,要求各小組編寫一份結(jié)合實(shí)訓(xùn)教學(xué)實(shí)際情況的系統(tǒng)設(shè)計(jì)任務(wù)書。此項(xiàng)目的團(tuán)隊(duì)組織結(jié)構(gòu)由總經(jīng)理 (教師)、項(xiàng)目經(jīng)理 (小組組長)、系統(tǒng)分析員(小組副組長)、軟件工程師(小組成員)、界面設(shè)計(jì)師(小組成員)、測試組長(小組成員)和測試人員(小組成員)組成,其中,開發(fā)部門包含系統(tǒng)分析員和軟件工程師,設(shè)計(jì)部門包含界面設(shè)計(jì)師,測試部門包括測試組長及測試人員。團(tuán)隊(duì)結(jié)構(gòu)如圖2所示。同時(shí),為了明確項(xiàng)目團(tuán)隊(duì)中的個(gè)人分工,制定出人員分工表,如表1所示。
圖2 團(tuán)隊(duì)組織結(jié)構(gòu)圖
表1 團(tuán)隊(duì)組織結(jié)構(gòu)表
在分析階段,主要根據(jù)系統(tǒng)設(shè)計(jì)任務(wù)書所確定的范圍,確定系統(tǒng)的基本目標(biāo)和邏輯功能要求,得到既通俗又準(zhǔn)確的系統(tǒng)說明書,它是項(xiàng)目設(shè)計(jì)的依據(jù),也是將來驗(yàn)收系統(tǒng)的依據(jù),同時(shí)用戶也可以通過說明書知道系統(tǒng)的功能,此系統(tǒng)說明書也需要實(shí)訓(xùn)指導(dǎo)教師與小組正、副組長的評審,只有通過評審才能進(jìn)入下一階段。
根據(jù)功能要求,系統(tǒng)最主要的功能是給所有用戶(學(xué)生、教師、管理人員)提供成績查詢功能。同時(shí)對教師和管理員提供成績的增加、刪除和修改功能。
按照業(yè)務(wù)的實(shí)際處理步驟和過程進(jìn)行的業(yè)務(wù)流程圖是用來描述系統(tǒng)組織結(jié)構(gòu)和業(yè)務(wù)流程的圖表,利用它可以幫助實(shí)訓(xùn)者找出業(yè)務(wù)流程中的不合理流向。在本項(xiàng)目中用戶通過登錄模塊來驗(yàn)證用戶名及密碼的正確與否,如果正確,再通過用戶權(quán)限來判斷各功能模塊是否可用;登錄成功之后,再進(jìn)行相應(yīng)的業(yè)務(wù)處理,其具體的業(yè)務(wù)流程如下頁圖3所示。
系統(tǒng)分析階段完成“做什么”的問題,而設(shè)計(jì)階段實(shí)現(xiàn)的是“怎么做”的問題。它根據(jù)系統(tǒng)說明書中規(guī)定的功能要求,具體考慮實(shí)現(xiàn)邏輯模型的技術(shù)方案,形成系統(tǒng)設(shè)計(jì)說明書。此階段有概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩子階段,主要完成系統(tǒng)模塊化和數(shù)據(jù)庫設(shè)計(jì)工作。
圖3 業(yè)務(wù)流程圖
從功能角度出發(fā)把系統(tǒng)從上往下分為幾個(gè)子系統(tǒng)、子模塊,并把分模塊任務(wù)委派給不同的組員。在本系統(tǒng)中可劃分為用戶登錄、學(xué)生信息管理、課程信息管理、成績信息管理四個(gè)模塊。通過登錄模塊確定用戶身份,如果為學(xué)生,則只提供成績的查詢功能;如果是教師除了成績的查詢功能外,還應(yīng)該具備成績的增加、刪除和修改功能;如果是教務(wù)管理員除了成績的增加、刪除、修改和查詢功能外,還應(yīng)該增加課程和學(xué)生信息的增加、刪除、修改和查詢功能。學(xué)生信息管理模塊、課程信息管理模塊和成績信息管理模塊都應(yīng)該具備增加、刪除、修改和查詢功能,只是不同的用戶具備不同的權(quán)限。
數(shù)據(jù)庫是管理信息系統(tǒng)設(shè)計(jì)中的一個(gè)重要環(huán)節(jié),學(xué)生成績管理信息系統(tǒng)是典型的管理信息系統(tǒng)(Management Information System,MIS),在系統(tǒng)后臺(tái)要建立和維護(hù)數(shù)據(jù)庫,作為中小型的MIS,SQL Server數(shù)據(jù)庫是本項(xiàng)目不錯(cuò)的選擇,系統(tǒng)分析員對數(shù)據(jù)庫進(jìn)行概要設(shè)計(jì),軟件工程師進(jìn)行物理設(shè)計(jì),并撰寫數(shù)據(jù)庫設(shè)計(jì)說明書。項(xiàng)目具體建立了四張數(shù)據(jù)表,具體如下:
用戶信息表(UserInfo):用戶名、用戶密碼、用戶權(quán)限;
學(xué)生信息表(StudentInfo):學(xué)號(hào)、姓名、性別、年齡、班級、電話、家庭住址;
課程信息表(CoureseInfo):課程編號(hào)、課程名稱、學(xué)分;
成績信息表(ScoreInfo):學(xué)號(hào)、課程編號(hào)、成績。
數(shù)據(jù)庫包含表與表之間的關(guān)系,如成績信息表中“學(xué)號(hào)”來源于學(xué)生信息表中現(xiàn)有的學(xué)生學(xué)號(hào);成績信息表中“課程編號(hào)”來源于課程信息表中現(xiàn)有的課程編號(hào)。根據(jù)業(yè)務(wù)邏輯合理性定義表與表之間的關(guān)聯(lián),以確保數(shù)據(jù)的一致和完整性。
在此階段,指導(dǎo)教師要把握學(xué)生的數(shù)據(jù)庫設(shè)計(jì)是否與需求相符,是否符合設(shè)計(jì)的規(guī)范,并且與小組正、副組長一起完成數(shù)據(jù)庫設(shè)計(jì)的評審。
系統(tǒng)實(shí)施是將設(shè)計(jì)的系統(tǒng)付諸實(shí)施的階段。包括編程測試、安裝測試、人員培訓(xùn)、數(shù)據(jù)文件轉(zhuǎn)換、購置安裝和調(diào)試計(jì)算機(jī)設(shè)備,完成系統(tǒng)上線運(yùn)行的準(zhǔn)備。在本實(shí)訓(xùn)項(xiàng)目中組長將項(xiàng)目模塊分發(fā)給小組成員,軟件工程師根據(jù)需求規(guī)格說明書來完成編碼調(diào)試,指導(dǎo)老師、正副組長通過不斷的巡視、督促解決編碼過程中遇到的問題。當(dāng)模塊任務(wù)完成之后,測試部門進(jìn)行功能測試。
本項(xiàng)目主要采用C#程序設(shè)計(jì)語言來編寫所需的各模塊。多個(gè)模塊通過微軟公司新一代.NET數(shù)據(jù)庫訪問架構(gòu)ADO.NET進(jìn)行數(shù)據(jù)庫的各項(xiàng)操作,在本項(xiàng)目中主要利用了 Connection,Command,DataAdapter,DataSet四個(gè)對象來完成和執(zhí)行SQL語句,大大縮短和簡化了程序開發(fā)的難度和時(shí)間。在此階段,根據(jù)設(shè)計(jì)階段的劃分情況,要完成各功能模塊的代碼設(shè)計(jì)。
為了節(jié)省系統(tǒng)資源,實(shí)現(xiàn)代碼重用,在系統(tǒng)中以公共類方式來組織和封裝一些常用的方法和事件,如數(shù)據(jù)庫的連接和SQL語句的執(zhí)行。本系統(tǒng)中定義了公共類dataSQL,其封裝了數(shù)據(jù)連接dataConn,執(zhí)行SQL語句得到數(shù)據(jù)集getDataSet和執(zhí)行SQL語句sqlExec的方法。其中執(zhí)行相應(yīng)的SQL語句返回相應(yīng)數(shù)據(jù)集的getDataSet方法的部分代碼如下:
SqlCommand cmd=new SqlCommand(sSQL,
系統(tǒng)登錄模塊主要用于對進(jìn)入系統(tǒng)的用戶進(jìn)行安全檢查和權(quán)限分配,以防止非法用戶的登錄和使用。用戶輸入賬號(hào)、密碼和用戶類別進(jìn)入相應(yīng)的系統(tǒng)用戶界面,登錄模塊實(shí)際上就是對用戶信息表UserInfo進(jìn)行查詢的操作,設(shè)計(jì)用戶登錄窗口如圖4所示。
圖4 用戶登錄窗口圖
3.模糊查詢模塊
管理系統(tǒng)的每種身份用戶都能對成績信息進(jìn)行查詢。在成績查詢界面上,可通過學(xué)號(hào)、課程編號(hào)、課程名稱等條件對成績表、課程表、學(xué)生表進(jìn)行聯(lián)合模糊查詢。其部分代碼如下:
strSql="select學(xué)號(hào),姓名,班級,課程編號(hào),課程名稱, 成績 from ScoreInfo,StudentInof,ScoreInfo where StudentInof.學(xué)號(hào)=ScoreInfo.學(xué)號(hào) And CourseInfo.課程編號(hào)=ScoreInfo.課程編號(hào) And CourseInfo.Sid like‘%學(xué)號(hào)%’and CourseInfo.Cid like‘%課程編號(hào)%’ ";
MessageBox.Show("查無記錄");
教師和教務(wù)管理員都具備對成績錄入的功能,其設(shè)計(jì)本質(zhì)就是對數(shù)據(jù)庫執(zhí)行SQL的Insert語句,對成績的錄入其實(shí)現(xiàn)代碼如下:
教師和教務(wù)管理員也應(yīng)具備對成績刪除的能力,其設(shè)計(jì)本質(zhì)就是對數(shù)據(jù)庫執(zhí)行SQL的delete語句,對成績的刪除其實(shí)現(xiàn)代碼如下:
教師和教務(wù)管理員應(yīng)具備對成績修改的能力,其設(shè)計(jì)本質(zhì)就是對數(shù)據(jù)庫執(zhí)行SQL的update語句,對成績的刪除其實(shí)現(xiàn)代碼如下:
小組軟件工程師在完成對各功能模塊編程調(diào)試通過之后,為了發(fā)現(xiàn)系統(tǒng)中存在的問題,測試組長構(gòu)建運(yùn)行所需要的軟硬件環(huán)境,并和小組成員進(jìn)行系統(tǒng)的測試。首先測試組長制定測試計(jì)劃,書寫測試用例,測試人員執(zhí)行測試,記錄bug并與編程者進(jìn)行溝通,檢查bug的修復(fù)情況;組長檢查和監(jiān)督測試進(jìn)度,并與項(xiàng)目不同級別工作人員進(jìn)行溝通,進(jìn)行測試總結(jié),編寫測試報(bào)告。
通過實(shí)訓(xùn)周的努力,各小組學(xué)生完成了實(shí)訓(xùn)項(xiàng)目的設(shè)計(jì)與實(shí)現(xiàn)。學(xué)生準(zhǔn)備好項(xiàng)目程序和文檔,在班級里進(jìn)行公開驗(yàn)收,教師和學(xué)生一起對完成的項(xiàng)目進(jìn)行系統(tǒng)測試、系統(tǒng)運(yùn)行、系統(tǒng)文檔驗(yàn)收,如果項(xiàng)目計(jì)劃規(guī)定范圍內(nèi)的各項(xiàng)任務(wù)都已經(jīng)完成且交付的成果令人滿意,則項(xiàng)目驗(yàn)收成功,教師和組長按照相應(yīng)的評分標(biāo)準(zhǔn)和分?jǐn)?shù)比例給出相應(yīng)成績。對于優(yōu)秀作品,教師除了在班級里進(jìn)行展示與點(diǎn)評外,還應(yīng)推薦給相應(yīng)業(yè)務(wù)部門使用。
項(xiàng)目投入運(yùn)行后,需要經(jīng)常進(jìn)行維護(hù)和評價(jià)。任何一個(gè)系統(tǒng),隨著時(shí)間的推移需求將發(fā)生變化,只有經(jīng)過不斷的開發(fā)、運(yùn)行、再開發(fā)、再運(yùn)行的維護(hù)升級過程,才能讓系統(tǒng)適應(yīng)需求的變化,直至項(xiàng)目報(bào)廢處理。這個(gè)過程對于實(shí)訓(xùn)項(xiàng)目來說可以忽略。
在“公司化”的實(shí)訓(xùn)教學(xué)中,由于學(xué)生能力經(jīng)驗(yàn)和項(xiàng)目環(huán)境的不足,實(shí)訓(xùn)環(huán)節(jié)仍然是實(shí)驗(yàn)性的,忽視了許多具體的實(shí)際條件,如何改進(jìn)有待于進(jìn)一步的探索。
[1]張友生.信息系統(tǒng)項(xiàng)目管理師考試全程指導(dǎo)[M].北京:清華大學(xué)出版社,2011.
[2]林劍誼.利用軟件生命周期創(chuàng)建B2C電子商務(wù)網(wǎng)站[J].福建電腦,2009(10):104-105.
[3]謝書良.C#任務(wù)導(dǎo)引教程[M].北京:清華大學(xué)出版社,2012.