時間:2022-09-02 17:46:22
引言:易發表網憑借豐富的文秘實踐,為您精心挑選了九篇界面設計畢業設計總結范例。如需獲取更多原創內容,可隨時聯系我們的客服老師。
關鍵詞:互聯網+;交互設計;教學方法
交互設計作為21世紀的新興學科,是一個多領域交叉性的學科,與眾多傳統互聯網專業不同,交互設計在分析研究產品時,更加注重“產品---環境---用戶”三者之間的相互關系,同時也十分關注用戶的需求。交互設計對于從業者的要求不僅僅是在技術方面能夠靈活應用專業知識完成設計任務,更重要的是研究者在實際的過程中與用戶溝通,獲取用戶的真實需求,從而提升產品的依賴性。當前,我國高校培養體系并不完善,特別是在高職院校的培養體系中,往往只側重于學生的實際動手能力,容易忽視交互設計流程與用戶需求的關系,如此往復,無異于機械訓練[1]。為了使交互設計有一個更合理的教學方法,本文就此做探討與研究。
1交互設計與教學現狀
近幾年,隨著“互聯網+”逐漸升溫,交互設計專業市場需求也不斷壯大。為此,很多高職院校已經將交互設計專業方向設為了熱門專業,雖然各高職院校都明確了交互設計方向,卻忽略了交互設計的專業特點,結果教學模式照搬其他設計學科,如此便出現穿新鞋走老路的問題。交互設計與傳統藝術設計專業不同,創新對于交互設計并不是最重要的,交互設計更重視用戶的真實反饋,更多關注用戶在使用產品時的真實體驗。在培養學生方面,藝術設計專業以技能為主,注重培養學生的創新創造能力,但是交互設計的培養只是把技術作為一種手段,學生更應該注重如何研究用戶,如何把用戶的需求轉化為交互流程[2]。如此一來,高職院校中偏重于技能訓練的培養模式,在交互設計的教學培養體系中就顯得有些失衡。在國際交互設計的發展模式中,交互設計的應用領域并不集中于互聯網方面,很多國外的交互設計更加重視用戶研究、交互方式、環境融和等方面,其應用領域則更加廣泛,不僅僅是互聯網虛擬交互,同時也在醫療、教育等實體領域發揮了巨大作用,并取得了一些令人矚目的成績。例如,SimoneM.DeDroog等人通過研究兒童在閱讀繪本時的認知行為特點,改進兒童繪本的交互式分享閱讀體驗,以增進兒童對胡蘿卜的攝入量。由此可見,當前歐美的交互設計在應用領域方面明顯領先國內。但是,單就互聯網交互設計而言,我國信息產業發展迅猛,并非他國可以類比。因此,交互設計教育方法改革,還是應該以我為主,國外為輔。
2教學改革的思路
專業教學培養體系并非固定不變,高職院校的專業建設應該根據社會實際崗位的真實需求來應對與改變,企業需要什么樣的人才,社會發展需要怎樣的職業素養,高校就應該創造適應的空間。目前,交互設計發展較快,通過調研發現,對于學習交互設計的學生而言,首先需要具備一定的界面設計能力,其次需要擁有良好的用戶溝通和團隊協調能力,最重要的是設計者清楚交互設計的整個過程,明白產品開發設計的全部流程。而在學校培養學生期間,除了單一的基本課程學習外,如何將每個課程串聯起來,是能否讓學生體驗到整個設計流程的關鍵。以往的教學模式是根據所學習的課程分段式教學,這樣最大的問題是學習內容很難與實際課題結合,學生只知道所學習的內容,卻不知道如何在設計過程中去應用[3]。因而,交互設計必須積極探索新的教學模式,這種模式可以是開放式的,甚至是顛覆性的,目的是讓學生能夠清楚每一門課程的作用和在交互設計中的位置。針對這一目標,新的教學模式應該具有如下特點:第一,化繁為簡整體教學。可以將關聯度相近的課程結合,減少課程之間的分割,如圖形軟件學習課程等。第二,課程設置前后關聯。每一門課程應該與前后課程呼應,增添課程之間的聯系,如交互設計課程之前就需要開設用戶研究課程。第三,設計流程循環教學。每一次課程學習都是一個獨立的設計過程,這樣學生長時間積累就可以對設計流程了如指掌。第四,重點內容重點突破。在一些重點難點的環節,需要開設專題訓練,從而達到更好的教學效果,如開設用戶研究方法的課題,就可以讓學生們在短時間內提高對用戶研究方法的理解和執行力。按照這樣的改革思路,課程與實際項目接軌,高職院校則變為了企業發展的前沿陣地,課堂則成為了專業培養與設計實踐的橋梁。
3教學改革的方法
經過實踐調研發現,當前各互聯網企業普遍遵循一個較為詳細的交互設計流程(如圖所示)。根據上述的設計流程,可以推斷出目前交互設計崗位不但需要有一定的設計能力,同時也需要設計者能夠參與用戶研究與產品編程,這樣對交互設計的學習者而言就需要具備較為綜合的能力:第一,界面設計能力。能夠從事最基本的界面設計工作,讀懂設計規范,按照標準完成界面設計任務。第二,交互流程設計能力。能夠將用戶需求與產品功能相結合,設計出符合用戶需求的產品框架圖。第三,用戶研究與分析能力。能夠通過一定的方法來挖掘用戶的真實需求,并根據用戶需求確定產品方向。第四,計算機編程能力。能夠看懂計算機編程語言,可以與程序員無障礙溝通。第五,視覺設計能力。能夠從事一定的視覺設計工作,對于視覺化的信息有較敏感的嗅覺。因此,想要成為一名合格的交互設計師,就應該擁有界面設計、交互設計、用戶研究、計算機編程和視覺設計等諸多能力。而對于高職院校而言,不但要在課程上開設與相關能力所對應的課程,例如:用戶體驗與研究、界面設計、交互設計、圖形圖表設計等[4];也要做好各個課程之間的銜接,巧妙設置課程前后順序,如用戶體驗與研究的課程需要在交互設計課程前開設與完成。當然,交互設計教學體系中最重要的是開展項目教學的模式,這種項目教學模式不但可以通過工作坊的形式進行,也可以加入到日常的課程學習中。例如,在《視頻剪輯與動畫制作》的課程中,一方面可以結合項目或比賽設置課題,另一方面也可以巧妙地與之前結束的界面設計課程相結合,做到平面界面的動態演示,從而讓學生們體會到如何從平面展示走向多媒體展示。通過具體案例分析與研究,現總結改革方法如下:
3.1專師輔導,小班化
教學交互設計需要學習者具有一定的溝通能力,能夠在用戶的言談舉止中發掘用戶的真實需求,這需要在平日的教學中,教師與學生形成一對多的關系,盡量做到逐個輔導學生,手把手教授,與每一位學生溝通交流,傳授心得,因而小班化的教學模式對于用戶研究的課程而言十分必要[5]。
3.2集中授課,結合項目
設計類課程與其他學科課程稍有區別,其更加注重學習的應用能力,并且通常學生能夠立竿見影地感知設計效果,應用效果也可以在短時間內得到驗證。因此在教學過程中,盡量縮短課程的跨越時間,使得學生可以在較短的時間內集中精力完成相關課程的學習和練習,并在練習中,盡量尋找一些實際的案例,通過實踐來檢驗教學的成果。
3.3開設工作坊,培養團隊意識
所謂工作坊式教學,指在短期內組建學生團隊,設立課題,讓學生自行完成設計項目,期間老師可以引導學生展開工作,但是最終的任務應該由學生自行組織完成。工作坊式教學是類似于當前各大企業內部設計團隊的工作模式,這種模式能夠培養學生的團隊合作能力、分工協作意識以及綜合處理人—事—物的關系等能力。這種教學模式,就像一塊職場試金石,能夠及時發現學生面對職場競爭的優缺點。
3.4參與比賽,以賽代練
當前各種設計競賽層出不窮,以參賽的形式磨練學生團隊意識和設計能力不失為一種可靠而有效的手段。但是在參與比賽的過程中需要注意比賽只是教學的一個環節,相對于比賽的結果,更應該注重學生在比賽過程中的成長,不能為了獲獎而盲目地參加各種比賽,最后竹籃打水一場空。
3.5畢業設計,高度重視
畢業設計是檢驗學生學習效果的重要方式,是學生大學的最終作品。因此,畢業設計的教學對學生至關重要,但由于工作和實習的壓力,很多學生在大學的最后一年將更多精力用在了找工作或者各種職位考試中,畢業設計則逐漸成為雞肋。雖然老師會有節點要求,但是大多數學生卻并不會在意,這樣一來畢業設計就成了最后畢業前期臨時沖刺的作品,設計質量沒有保障,設計流程也完全被打亂。因此,各高校應該加強對畢業設計的要求與管理,提前做好畢業設計的工作與安排,讓學生能夠妥善處理畢業設計與工作實習等事項,從而為大學最后的作品畫上一個圓滿的句號[7]。
4總結
綜合以上幾點,高職院校在交互設計教學體系的建設中,需要更加注重課程的教學效果,最好能夠在相關課程的教學結束后有統一的項目實踐進行教學驗證。這樣既為學生創造良好的實踐機會,又找到了教學成果的試金石,可謂一舉兩得。但同時也應該注意到,教學與項目結合需要有一個平穩的過渡,應該避免生搬硬套,生硬地將各種項目附于課程教學中,其結果往往適得其反。此現象在當前高職院校各個專業教學中屢見不鮮,希望廣大的教學同仁能夠引起足夠重視。
參考文獻
[1]杜京明.高校藝術設計教學改革初探[J].才智,2014(8):74.
[2]蔣蕾.交互體驗時代下的書籍設計教學改革探究[J].文海藝苑,2016(8):201.
[3]趙芳.“互聯網+”下交互設計的“微”教學改革[J].美術大觀,2016(6):163.
[4]丁亮.高職院校藝術設計教學改革初探[J].教育教學論壇,2013(30):208.
[5]唐帆.高職院校包裝設計課程教學研究[J].湖南包裝,2015,29(3):93-94.
[6]張禎軍.教學改革的思考與實踐[J].教育與學習,2017(3):95.
關鍵詞:高校;學分制;畢業設計;信息化管理
中圖分類號:TP319 文獻標識碼:A 文章編號:1673-8454(2012)09-0027-03
對于實施學分制教學管理模式的高等院校來說,學分制打破了在我國延續近半個世紀的本科生傳統培養模式,使得學生在一定范圍內具有了自主選擇學習內容、學習進度和授課教師的權利和主動性,體現了以人為本的個性化教育理念,促進了教學質量、學生能力和素質的提高。但是由于我國高等教育現狀與教育資源的限制,在實施學分制的過程中,也暴露出一些需要進一步改進和完善的問題,比如培養計劃仍然過于剛性,學生選課、選教師余地較小,尤其是實踐環節的教學,仍然以傳統的指令性安排為主,難以體現學分制教育的基本理念。
一、畢業設計的意義及管理現狀
1.畢業設計的意義
高等工科院校的畢業設計是檢驗教學計劃是否達到本科生培養目標的重要環節。它通過深入實踐、了解社會、完成畢業設計任務或撰寫論文等諸環節,著重培養學生綜合分析和解決問題的能力和獨立工作能力、組織管理和社交能力;是學生在校期間學習深化、拓寬、綜合運用所學知識的重要過程;是學生學習、研究與實踐成果的全面總結;是學生綜合素質與工程實踐能力培養效果的全面檢驗;是實現學生從學校學習到崗位工作的過渡環節;是學生畢業及學位資格認定的重要依據;是衡量高等教育質量和辦學效益的重要評價內容。
2.管理現狀分析
目前在學分制下,普通高校的畢業設計仍基本沿襲過去的運行模式,首先由指導教師將畢業設計題目提交至院系,并由院系進行審查,再由各系按照一定原則進行畢業設計學生的分配,最后在院系監管下由指導教師負責完成畢業設計過程中學生諸多環節的指導與設計文檔的提交。整個過程十分繁瑣,院系管理工作量大。在畢業設計運行過程中存在以下問題亟待解決:
(1)畢業設計基本信息匯總。畢業設計開始前后,學生信息、課題信息和指導教師信息等畢業設計基本信息的匯總仍主要靠人工來完成,效率低下、重復性高且容易出錯、耗時耗力、極不經濟。
(2)畢業設計管理規范和細則的下發。在畢業設計的運行過程中,院系級管理機構經常會一些管理規范和細則,用于指導畢業設計,促使畢業設計順利進行,通常以紙質文件下發到個系室,時效性較差。
(3)畢業設計各種文檔的規范性。在畢業設計完成過程中,學生設計文檔(論文封面、開題報告、文獻綜述、外文翻譯和設計論文)和教師設計文檔(任務書、進度表、指導教師評語、評閱教師評語和答辯小組評語)等文檔格式標準不夠完善,造成設計文檔不夠規范,不利于資料的保管和維護。
(4)學分制下畢業設計成績提交。目前大多高校選課系統對畢業設計的運行采用課程教學的選課模式,而畢業設計的分配采用自然班或專業班,因此,校、院管理模式存在不一致現象,造成成績提交難以操作,容易出錯。
(5)畢業設計基本信息統計。畢業設計完成后要進行畢業設計總結與資料收集,檔案管理,學生畢業設計成績統計分布,指導教師工作量統計等,采用傳統的人工統計法費時費力,且計算容易出錯。
針對上述情況,使用電子文檔替代紙質文檔、網絡化辦公替代傳統辦公模式顯然是辦公自動化的一個進步,電子文檔也越來越多地在高校畢業設計中得到使用,但是大部分文檔分散存放于個人電腦中,管理缺乏科學性,文檔安全性差,檢索麻煩且困難,不宜共享訪問,降低了文檔使用率和使用價值。因此,搭建一個有效的畢業設計信息化管理平臺,進行科學高效的管理勢在必行。
二、畢業設計信息化管理平臺的構建
1.信息化平臺設計目標
針對學分制下本科畢業設計相關學生、指導教師和教務人員在畢業設計選題、中期檢查、畢業設計答辯等階段共同參與教學活動的特點,構建基于公共的Web服務的、多用戶角色的畢業設計信息共享管理系統平臺,旨在解決教學活動參與者在各階段所面臨的工作流程繁雜、工作量大的實際問題,并且充分發揮學分制下學生選題的自主性,避免學生被動參與該過程而缺乏畢業設計創新性的現實問題。
該系統平臺從系統管理員、教務秘書、指導教師和學生四個用戶角色在畢設過程中參與的業務范疇出發,分析其各自在系統管理、畢業設計選題、中期檢查、畢業設計答辯以及公共信息管理方面的工作流程,通過開發與之相對應的系統功能來實現網上業務,輔助完成整個畢業設計工作,減少手工工作強度,提高管理水平和工作效率。
2.系統工作流程分析
按照畢業設計實施的總流程,畢業設計信息化管理系統的業務流程可以從選題、中期檢查、畢業答辯三大部分來完成。分析獲得的具體管理流程如圖1所示。
在此工作流程圖中,中間部分是畢業設計信息化管理系統內部核心業務流程,涉及從畢業設計開始到選題信息、確定指導教師、題目申報、學生選題、題目審核調配;從中期檢查信息到中期檢查結果公布;從答辯信息公布到畢業設計成績公布。該流程圖左邊部分是畢業設計信息化管理系統各階段相應流程應該生成的報表,而右邊部分則是要完成整個畢業設計任務應該在系統外部實施的業務流程。
3.系統開發環境分析
考慮到系統用戶多且分布廣,運行的硬件和軟件環境均不一,因此采用基于Web的B/S結構作為系統開發模式,為開發語言。由于系統所承載的信息量大,并且對數據管理系統的可靠性、安全性要求高,因此選用SQL Server 2000作為系統數據的存儲平臺。為進一步提高系統的穩定性,擬將系統程序和數據庫分別放到Web服務器和數據庫服務器上進行維護管理。
三、系統實現
1.系統功能設計
根據畢業設計信息化管理系統總的業務流程要實現選題、中期檢查、畢業答辯三大業務的管理要求,該系統從系統管理、選題管理、中期檢查管理、中期檢查管理、公共信息管理和統計報表幾個大的功能模塊來完成整個系統的功能目標,系統的功能框架如圖2所示。
2.系統界面設計
友好的系統界面是保障系統順利實施的重要條件之一。采用結構化的程序設計思想,結合用戶操作習慣以及提高信息輸入效率,利用模塊化的設計方法完成了系統用戶界面的開發。系統主要界面如圖3、圖4所示。
四、結束語
通過本系統的開發和實施,可以輔助學生自主選擇畢業設計指導教師和設計題目,查看中期檢查結果,查看畢業設計成績,以此結合學生興趣來激勵學生的畢業設計創新性,突出了學分制下學習的自主性和靈活性的特點。指導教師也可進行網上申報題目,提交中期檢查結果和畢業設計成績,查看各個階段的工作信息,從而節省大量的時間;教學管理人員通過網上審批題目、審核、調配選題結果,能夠更加快速直觀地完成該工作任務,并通過系統生成的報表方便后期統計工作,從而在很大程度上降低手工工作強度,減少統計出錯,提高工作效率。
參考文獻:
[1]艾西拉甫·買蘇提.提高畢業設計教學質量探討[J]. 中國建設教育, 2008 ,10(10):26-28.
[2]李浩君,吳皖贛.高校畢業設計過程質量管理系統的設計與實現[J].中國教育信息化,2011(1):49-52.
[3]李志紅.機械類應用型本科畢業設計問題與對策[J]. 安徽工業大學學報(社會科學版),2011,28(4):122-123.
關鍵詞:高等教育;軟件工程;課程改革;可用性
0 引言
軟件工程從上世紀六十年代誕生以來,已經成為計算機科學領域中一個非常重要的獨立學科。我國許多高校均開辦了軟件工程專業,為社會培養了大量的應用型軟件人才。但和計算機的其他專業相比,軟件工程專業在辦學思路,教學模式、課程結構上還存在很多需要探索和改進的地方。軟件工程專業的教學目標是培養軟件開發人才,課程設計圍繞軟件開發的主線,教學圍繞“程序語言、開發工具、軟件設計、項目管理、軟件測試”這條主線展開,主要是培養學生軟件開發技能、降低軟件開發的難度、提高代碼的重用率、保證軟件項目的正確實施和保證軟件的功能完善等。從整體上看,雖然在軟件設計之初也有用戶需求分析的內容,但還是忽略了軟件的可用性。在軟件工程專業教育中忽略軟件可用性內容將會產生如下嚴重的問題:所培養的軟件開發人員缺少以用戶為中心的觀念;不能很好地領悟滿足和引導用戶的需求;無法開發出用戶真正滿意的軟件。開發人員即使應用了最先進的軟件技術,開發出的系統也可能沒有多少使用價值。所以在完善軟件功能的前提下,必須提高其可用性,增強與最終用戶的溝通,改善用戶的使用體驗。同時,依據IEEECC 2001SE推薦軟件工程核心課程工程化理念的設置模式,在軟件工程專業的教學培養過程中增加工程化較強的軟件可用性教育。
1 可用性教育的內容
可用性是交互式IT產品的重要質量指標,指的是產品對用戶來說有效、易學、高效、好記、少錯和令人滿意的程度,即用戶能否用產品完成他的任務、效率如何、主管感受怎么樣,是從用戶角度所看到的產品質量,是產品競爭力的核心。自八十年代以來,人們對產品可用性的重視促進了可用性工程(Usability Engineering)這一概念的出現,并相應地形成了一個在學術界和工業界均十分熱門的領域。可用性工程是一個涉及心理學、人類工效學、工業設計和計算機等多學科交叉的領域,是以提高和評價產品可用性質量為目的的一系列過程、方法、技術和標準。可用性工程是開發IT產品及用戶界面的一種工程方法論,貫穿于產品生命周期的各個階段,其核心就是以用戶為中心(UCD:User-Centered Designer)的設計方法論,強調從用戶的角度進行產品的設計和開發。
在軟件工程專業的教育過程中增加可用性內容,是為了讓學生樹立人本思想,學會使用以用戶為中心的軟件設計方法。具體地講。針對軟件工程專業的可用性教育可從“研究用戶”、“用戶界面設計”和“可用性評估”三個方向進行。其中“用戶研究”和“用戶界面設計”是整個可用性教育中的重點內容。
1.1 研究用戶
1.1.1 用戶研究的重要性
軟件工程專業中的軟件工程課程,從傳統軟件工程學的角度描述了需求分析的重要性,說明了需求是回答“系統必須做什么”這個問題。具體一般采用結構化分析方法。需求分析階段給出可行性研究文檔和數據流圖,所以傳統軟件工程需求分析主要是以數據為中心,工作的中心是數據。而前期的可行性研究階段主要是從技術、經濟、操作這三個方面展開的。雖然其中有用戶參與,但用戶的參與對系統的影響非常微弱。因為缺少對最終用戶的深入研究,傳統軟件工程學方法無法將用戶的真正需求分析清楚。用戶是產品成功與否的最終評判者,我們認為軟件產品的設計應強調用戶需求至上,將用戶研究放到一個更高的地位,形成真正以用戶為中心的產品設計策略。通過對用戶的深入研究,了解用戶的目標、行為和觀點,關注用戶的情感,然后把他們的需求作為軟件產品設計的第一任務。
1.1.2 用戶研究曲目標
軟件工程專業教育中用戶研究的目標是,通過對軟件產品需求的深入研究,確定軟件產品的特定用戶群、界定軟件產品目標任務、確定系統功能與參數以及軟件產品可用性評價標準等。
1.1.3 用戶研究的內容
用戶研究的內容可以具體體現在以下四點。
第一,讓學生了解在軟件設計過程中,需要平衡用戶思維模式、系統運行模式和設計者思維模式,需要將用戶的需要和系統所能提供的資源有機地結合起來。作為軟件設計者的思維模式,應該綜合考慮用戶在完成系統任務過程中的全部用戶體驗。
第二,明確軟件設計能夠滿足用戶的要求,首先必須能夠認定軟件產品的目標用戶。可利用用戶特征法對用戶進行分析和描述從而認定目標用戶。
第三,必須明確用戶目標并不是產品或系統設計目標的總和。軟件產品必須平衡商業目標、用戶目標和設計目標之間的關系。
第四,研究市場競爭,用戶的總和是市場的主體,用戶的需求構成了市場的需求。所以研究市場可以很好地在市場的環境下,贏得用戶而獲取經濟效益。
1.2 用戶界面設計
1.2.1 用戶界面設計的重要性
軟件產品成功與否和界面設計密切相關。在界面設計階段須在前期用戶研究的基礎上完成對軟件的形式定義、視圖定義、功能定義、功能組合及順序、關鍵路徑定義、交互框架等。這些內容在傳統的軟件工程課程中涉及很少。
1.2.2 用戶界面設計的目標
用戶界面解決的問題是:如何設計用戶界面以有效地幫助用戶完成他們的任務。在軟件工程專業的可用性教育過程中,主要向學生介紹學術界和工業界經過長時間實踐和探索總結出的用戶界面設計方法。用戶界面設計包括技術、美學和人文等多學科成分,沒有一種設計方法能夠完全顧及這些設計的復雜性因素,所以在具體的教學過程中,應該告訴學生以開放的態度應對設計過程中的各種特殊問題。
1.2.3 用戶界面設計的內容
用戶界面設計主要集中在信息架構設計、用戶交互設計、可及性(Accessibilify)設計等內容。
(1)信息架構設計。該部分主要讓學生了解將軟件若干信息組織在一起的方法,完成軟件功能定義、功能組合及順序、以及關鍵路徑定義等問題。信息架構的內容非常廣泛,在教學過程中,除了向學生介紹了信息架構的基本知識,還要介紹當前工業界應用廣泛的“卡片分析法和聚類分析法(Cluster Analysis)”。
(2)用戶交互設計。該部分主要讓學生了解交互式系統設計的基本規則和方法,熟練掌握常用軟件的會話風格設計、人機界面模式、交互流程設計等。
(3)可及性設計。用戶需求是無止境的,但指標是確定的,要根據資源、技術、方法和手段確定我們可以達到的哪些指標。
1.3 可用性評估
可用性評估部分應向學生介紹基本的可用性評估方法:用戶測試法。教學中介紹常用的用戶測試要求書的基本寫法、軟件可選用性測試任務設計方法、問卷設計方法、測試結果統計分析方法煅基于統計結果的可用性重構方法等。
2 可用性教育的實施原則和步驟
理論的進步和技能的進步,是人類社會發展的兩個方面。沒有理論指導的勞動,在哲學上只能稱是低層次的活動,不能稱為實踐活動;反之,沒有技能的支撐,理論只能停留在書本和口頭上,再好的設計也成不了現實。所以可用性教育的原則是讓學生在理論知識的基礎上充分進行實踐活動,通過實踐加深對軟件可用性的理解,并掌握具體的軟件可用性施法方法和技術。
在軟件工程專業中實施可用性教育一般可以采用兩種方法,第一,在課時能夠保證的情況下設計可用性工程教學計劃為獨立授課方式,課時可以設定為32學時,學分2分,可以安排在軟件工程專業大三下學期或大四上學期進行,先修課程為“軟件工程”或“面向對象軟件工程”以及“可視化程序設計”等;第二,如果課時不足,不能設為獨立授課方式,則可將可用性教育內容分散到其他專業課程中,如在“軟件工程”課程中加入用戶研究部分內容、在“可視化程序設計”中加入用戶界面設計部分內容、在“軟件測試”中加入可用性評估內容。
獨立授課的考核方式,可以采用理論加實踐的方式,理論部分主要考察學生對可用性的認識、一般用戶研究方法、用戶界面設計準則和可用性評估方法等內容;實踐部分主要考察學生靈活運用軟件可用性設計方法的能力,在實踐考核過程中,可以用大作業的方式,將學生分組,在小組內學生合作完成軟件項目開發。
3 軟件工程專業可用性教學效果評價
對已實施可用性教育的軟件工程專業,評價其教學效果可以從以下幾個方面進行:需求分析的準確性和實際開發軟件的可學習型、易用性、使用效率、錯誤率、用戶體驗、用戶綜合滿意度等。
作者在實際的教學過程中,通過對比發現,實施了可用性教學的軟件工程專業學生,畢業設計軟件作品的整體水平高于沒實施過可用性教育的學生的作品;同時對已經畢業的學生進行跟蹤調查發現,實施了可用性教學的學生在軟件公司的適應能力、客戶溝通能力、客戶需求發掘能力都表現較好。
0 引言
畢業設計是本科教學中非常重要的一個教學環節,是對學生所學知識的檢驗和總結,是培養學生獨立分析和解決問題能力的重要手段,也是學生進入工作崗位前的最后一次實戰演習;并且,它是本科教學水平評估指標體系的重要指標之一,是考核學校本科教學水平和質量的重要內容。
軟件開發是計算機專業畢業設計中一個重要組成部分。學生開發的軟件質量直接反映出畢業設計質量,而指導教師的指導和監控對學生開發軟件的質量高低有很大影響。本文首先介紹了軟件類畢業設計的特點、遇到的問題及其原因分析,然后將敏捷軟件開發技術應用于指導和監控軟件類畢業設計,最后通過具體的實踐對其進行總結。
1 目前狀況及問題
1.1 軟件開發類畢業設計的特點
本科計算機專業畢業設計中,軟件開發占很大比重。而軟件開發類畢業設計與其他專業的畢業設計以及商業化軟件開發又有很大不同,主要體現在:
(1)設計的最終目的是要生成可運行的、實現一定功能的、錯誤率較低的實際軟件產品,而不僅僅是提交一份文檔報告。
(2)設計小組成員分工合作,要將各人的成果整合,形成完整的軟件;小組每個成員不是完全孤立的,每個人的工作都與其他人息息相關。
(3)項目小組一般只包括一個人或幾個人,人數較少,遠少于一般商業化軟件開發項目小組的人數。
(4)小組成員沒有足夠的團隊意識,沒有足夠的軟件工程經驗,一般沒有作為一個團隊的成員共同開發過軟件產品。
(5)項目開發過程不完全,編碼的結束即意味著項目的結束。項目不要求有完整的工程化的分析和設計文檔。
(6)有些軟件開發沒有與商業項目掛鉤,也就沒有真實客戶的需求對其進行功能和性能上的監控。
1.2 遇到的問題及原因分析
根據上面的特點可以看出,普通畢業設計的指導方式或是工程化的控制手段,并不能適應軟件開發類畢業設計,最終會導致畢業設計質量低下,學生得不到真正鍛煉。比較突出的問題主要表現在以下幾個方面:
(1)項目組成員各人任務不明確,能力參差不齊,并且有時沒有充分地交流設計思想,最后導致軟件各個功能模塊無法有效整合。
(2)項目需求因為各種原因不斷改變,軟件不斷修改,最終完成的軟件產品達不到設計要求。
(3)編碼開始后,軟件的錯誤和缺陷不斷涌現、不斷累積,最終無法控制。
這些問題的產生,固然與設計選題、學生能力、實驗環境以及教師的指導力度分不開,最重要的還是與教師的指導和監控方式有關。應當采用恰當的指導和監控方式,最大化地促進學生能力的提高,最有效地根據各個學生的特點,推動學生逐步達到畢業設計軟件質量和功能的要求。
2 敏捷軟件開發技術的應用
采用適當的指導和監控方式,實際就是要求教師對學生軟件開發應用適當的軟件過程模型,也就是軟件開發的工程化控制手段。
2.1 敏捷軟件開發簡介
傳統的軟件工程方法中的架構設計與程序開發在時間上是先后分離的,這種分離常常導致一些脫離實際的設計和脫離設計構想的編程,導致最終軟件開發的不理想甚至是失敗。鑒于以上問題,敏捷軟件開發技術應運而生。
敏捷軟件開發以交付而不是以構造為核心,它強調的是交付對客戶有價值的軟件,而不是用戶需求中所描述的軟件。簡言之,就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態。敏捷軟件開發方法提倡采用先進的技術和高水平的小型團隊,并輔以人性化的管理,充分發揮軟件開發者的才華,建立暢通的交流機制,使軟件開發團隊水平和軟件質量共同提高。
敏捷式開發采用適應性方法,而傳統的軟件工程學采用的是預測性方法。敏捷式開發是以人為主的,而傳統的工程學是以過程為主的。二者的主要區別存在于它們對軟件開發過程的描述中,也就是說,敏捷開發實現當前最需要的功能,然后根據變化來修正和改進;而傳統軟件工程學一開始就將軟件的各種架構預測好,然后采用固定的過程來實現這種架構。軟件開發中的變化是不可避免的(通常傳統軟件開發的失敗主要原因就是不能很好適應這種不可預知的變化),因此就要找到一種新的方法能夠更有效地適應變化,這其實也就是敏捷式開發方法所要達到的效果。
可以看出,上述的敏捷軟件開發的許多特點正是與軟件開發類畢業設計的許多特點不謀而合,例如,小型的開發小組,適應性(適應不可預測變化)的開發機制,短期的交付(畢業設計一般都在半年甚至更短時間內完成軟件的交付),充分發揮小組成員的特點,建立暢通的交流機制等等。因此,將敏捷開發思想引入畢業設計中的軟件開發,不失為解決后者諸多問題的很好嘗試。
2.2 敏捷軟件開發應用 敏捷軟件開發技術包含若干的價值觀、原則和實踐方法。將其用于畢業設計的指導和監控,主要應包含如下原則的應用:
2.2.1 增量式開發
傳統軟件類畢業設計采用傳統軟件工程學指導方法,先進行需求分析,然后根據需求進行功能模塊劃分,接著開始編程。如果最初階段不能很好地完成分析和設計任務,后面的軟件開發將出現嚴重問題。
而在敏捷軟件中,采用的是增量式開發,對于難度較大的軟件設計,不是一步吃透功能,而是逐步添加功能,在改進的過程中促進學生能力的提高。在筆者指導的一項畢業設計中,要求學生用Java編制網絡實時通訊軟件。采用增量式開發方法,先要求學生實現基本功能,即發送字符串到另外一臺計算機,使用 Windows的超級終端作為接收機進行測試;接下來要求學生實現程序互相發送和接收字符信息;然后,實現聊天室的多人聊天的線程控制;進一步可以實現數據庫存儲登錄用戶信息,并進行驗證;最后,實現其他功能,例如網絡硬盤,文件傳輸等等。在開發過程中,增量式設計能夠讓學生逐步進入高層次的內容,而不是一開始就進行高難度的開發。并且,通過逐步修改代碼,可以提高學生閱讀代碼和優化代碼的能力,學生的編程水平得到很好的提高。
2.2.2 可持續的開發速度
敏捷開發技術不要求團隊一開始就盡全力完成任務,而是盡量保持一種穩定的、可持續的開發速度;團隊的成員必須始終保持旺盛的精力和警覺的思想。
在很多畢業設計中,一開始學生就以極高的熱情和全力以赴的狀態去工作,然而隨著進度的延緩,錯誤不斷增多,以及越來越復雜的需求變化,學生的熱情迅速減退,最終影響設計成果。因此,指導老師必須充分調動學生的積極性,又不能讓學生的精力過早地消耗,要保持一個穩定的進度。
2.2.3 簡單
敏捷軟件開發方法采用最簡單的方式實現當前最需要的功能。在畢業設計中,針對某一個功能,采用盡量簡單的方式去實現,不需要考慮為了將來的功能而進行“提前的準備”。因為這種“提前的準備”往往會讓學生考慮問題過多,反而忽略了當前最重要的內容。
然而,簡單并不代表著功能的縮減,當某些功能的實現成為必須的時候,敏捷軟件開發方法采用在代碼上改進的方式來完成,并且以此為機遇,充分進行反省,讓學生在改進中得到進一步提高。
2.2.4 結對編程
結對編程是敏捷開發和極限編程(XP)的重要實踐,它是指兩個程序員結對使用同一臺計算機完成編碼——其中一位控制鍵盤并輸入代碼,另一位觀察輸入的代碼并尋找著代碼中的錯誤和可以改進的地方。這種方式能極大地促進知識在團隊中的傳播,并有效降低代碼的錯誤率。
在畢業設計中,根據學生的特點,采用結對編程方式,可以讓學生充分交流,互補所短,互用所長,互相學習。例如,在網頁制作類的軟件開發中,ASP腳本編程人員和界面設計人員結對,能夠充分利用二者的特點,將腳本程序和網頁界面元素有機地結合起來,形成功能完善,界面美觀的動態網頁。
2.2.5 適應改變
敏捷開發的一個重要特點就是它能夠很好地適應改變,并且歡迎改變。這里的改變主要是指功能需求方面的改變。而敏捷開發對改變的適應,主要是通過增量開發,持續交付以及不斷地改進與反省來實現的。
在畢業設計中,設計題目一經給出,主要方向不能變。然而選擇題目的學生是變化的,個體能力有時候有很大差別,并且在開發中會碰到很多不能預知的技術問題。采用敏捷開發中的過程控制手段,可以有效地讓畢業設計小組更好地應對各種變化,不會因為突發因素導致軟件開發的失敗。
2.2.6 個體激勵和交流
畢業設計的重要目的是促進學生各方面能力的提高,采用的手段可以有很多。在敏捷設計中,強調個人能力在團隊中的充分展示。把這種思想應用于畢業設計指導中,可以采取定期召開小型交流會議的方式,讓每一個組員充分發揮自己的能力,以“頭腦風暴”的形式對系統當前狀態和改進方式進行暢所欲言的交談。通過這種形式的交流,能夠充分調動整個小組成員的積極性,及時發現系統開發過程中的各種問題,增強整個小組的凝聚力,有效提高學生的團隊協作能力。
2.2.7 反省
好的團隊并不只是埋頭工作,他們會思考如何工作和為什么工作。在畢業設計指導過程中,指導教師應當在適當的時機提醒學生對開發工作中各項內容進行反省,讓學生能夠有機會去辨別可能或已經發生的錯誤。反省不僅僅是簡單的思考過程,反省的后面應該緊跟著行動,學習是反省的行為,要能夠將錯誤造成的危害盡早地阻止,并從中學習,以免同樣錯誤的再次發生。
2.2.8 其他原則
敏捷軟件開發技術還包含其他一些原則,在設計中包含了面向對象設計的一些基本原則,例如單一職責原則(SRP)、開放一封閉原則(OCP)等等。要將這些設計原則應用到具體的軟件開發中,需要學生熟悉面向對象程序設計的相關概念和技術。
將敏捷軟件開發技術應用到畢業設計的指導過程中,需要指導教師本身對它有較為深刻的理解,并且勇于進行大膽的嘗試一畢竟敏捷開發的很多實踐是與傳統軟件工程學方法相悖的。指導教師可以先在某一門程序設計課的課程設計中采用這種思想,然后進行相應的調整,再將其應用于畢業設計的指導工作。
3 結束語
將敏捷軟件開發技術應用于指導畢業設計,能夠充分適應軟件類畢業設計的特點。在實際采用這種方法對我校的兩組畢業設計小組進行指導的過程中,可以看出,這兩組同學在對語言工具和相關知識不是很熟悉的情況下,采用漸進的方式,逐步實現設計要求的功能,并且不斷對代碼進行改進,軟件完成的質量比其他小組明顯要高。畢業答辯中,小組成員能夠很清晰地闡述其軟件開發進程以及相關知識的學習過程。并且,小組成員通過畢業設計加深了交流,團隊協作能力有了大幅度的提高,小組成員個人的精神面貌也有了較大的改變。
建筑中,結構是為建筑物提供安全可靠、經久耐用、節能節材、滿足建筑功能的一個重要組成部分,它與建筑材料、制品、施工的工業化水平密切相關,對發展新技術。新材料,提高機械化、自動化水平有著重要的促進作用。
由于結構計算牽扯的數學公式較多,并且所涉及的規范和標準很零碎。并且計算量非常之大,近年來,隨著經濟進一步發展,城市人口集中、用地緊張以及商業競爭的激烈化,更加劇了房屋設計的復雜性,許多多高層建筑不斷的被建造。這些建筑無論從時間上還是從勞動量上,都客觀的需要計算機程序的輔助設計。這樣,結構軟件開發就顯得尤為重要。
一棟建筑的結構設計是否合理,主要取決于結構體系、結構布置、構件的截面尺寸、材料強度等級以及主要機構構造是否合理。這些問題已經正確解決,結構計算、施工圖的繪制、則是另令人辛苦的具體程序設計工作了,因此原來在學校使用的手算方法,將被運用到具體的程序代碼中去,精力就不僅集中在怎樣利用所學的結構知識來設計出做法,還要想到如何把這些做法用代碼來實現,
4.文獻研究概況
在不同類型的結構設計中有些內容是一樣的,做框架結構設計時關鍵是要減少漏項、減少差錯,計算機也是如此的。
建筑結構設計統一標準(gbj68-84)該標準是為了合理地統一各類材料的建筑結構設計的基本原則,是制定工業與民用建筑結構荷載規范、鋼結構、薄壁型鋼結構、混凝土結構、砌體結構、木結構等設計規范以及地基基礎和建筑抗震等設計規范應遵守的準則,這些規范均應按本標準的要求制定相應的具體規定。制定其它土木工程結構設計規范時,可參照此標準規定的原則。本標準適用于建筑物(包括一般構筑物)的整個結構,以及組成結構的構件和基礎;適用于結構的使用階段,以及結構構件的制作、運輸與安裝等施工階段。本標準引進了現代結構可靠性設計理論,采用以概率理論為基礎的極限狀態設計方法分析確定,即將各種影響結構可靠性的因素都視為隨機變量,使設計的概念和方法都建立在統計數學的基礎上,并以主要根據統計分析確定的失效概率來度量結構的可靠性,屬于“概率設計法”,這是設計思想上的重要演進。這也是當代國際上工程結構設計方法發展的總趨勢,而我國在設計規范(或標準)中采用概率極限狀態設計法是迄今為止采用最廣泛的國家。
結構的作用效應常見的作用效應有:
1.內力。
軸向力,即作用引起的結構或構件某一正截面上的法向拉力或壓力;
剪力,即作用引起的結構或構件某一截面上的切向力;
彎矩,即作用引起的結構或構件某一截面上的內力矩;
扭矩,即作用引起的結構或構件某一截面上的剪力構成的力偶矩。
2.應力。如正應力、剪應力、主應力等。
3.位移。作用引起的結構或構件中某點位變(線位移)或某線段方向的改變(角位移)。
4.撓度。構件軸線或中面上某點在彎短作用平面內垂直于軸線或中面的線位移。
5.變形。作用引起的結構或構件中各點間的相對位移。變形分為彈性變形和塑性變形。
6.應變:如線應變、剪應變和主應變等。
極限狀態整個結構或結構的一部分超過某一特定狀態就不能滿足設計規定的某一功能要求,此特定狀態稱為該功能的極限狀態。極限狀態可分為兩類:
1.承載能力極限狀態。結構或結構構件達到最大承載能力或達到不適于繼續承載的變形的極限狀態:
(1)整個結構或結構的一部分作為剛體失去平衡(如傾覆等);
(2)結構構件或連接因材料強度被超過而破壞(包括疲勞破壞),或因過度的塑性變形而不適于繼續承載;(3)結構轉變為機動體系;
(4)結構或結構構件喪失穩定(如壓屈等)。
2.正常使用極限狀態。結構或結構構件達到使用功能上允許的某一限值的極限狀態。出現下列狀態之一時,即認為超過了正常使用極限狀態:
(1)影響正常使用或外觀的變形;
(2)影響正常使用或耐久性能的局部損壞(包括裂縫);
(3)影響正常使用的振動;(4)影響正常使用的其它特定狀態。
結構設計的基本任務,是在結構的可靠與經濟之間選擇一種合理的平衡,力求以最低的代價,使所建造的結構在規定的條件下和規定的使用期限內,能滿足預定的安全性、適用性和耐久性等功能要求。為達到這個目的,人們采用過多種設計方法。以現代觀點看,可劃分為定值設計法和概率設計法兩大類。
1.定值設計法。將影響結構可靠度的主要因素(如荷載、材料強度、幾何參數、計算公式精度等)看作非隨機變量,而且采用以經驗為主確定的安全系數來度量結構可靠性的設計方法,即確定性方法。此方法要求任何情況下結構的荷載效應s(內力、變形、裂縫寬度等)不應大于結構抗力r(強度、剛度、抗裂度等),即s≤r。在20世紀70年代中期前,我國和國外主要都采用這種方法。
2.概率設計法:將影響結構可靠度的主要因素看作隨機變量,而且采用以統計為主確定的失效概率或可靠指標來度量結構可靠性的設計方法,即非確定性方法。此方法要求按概率觀念來設計結構,也就是出現結構荷載效應3大于結構抗力r(s>r)的概率應小于某個可以接受的規定值。這種方法是20世紀40年代提出來的,至70年代后期在國際上已進入實用階段。我國自80年代中期,結構設計方法開始由定值法向概率法過渡。
面向對象編程
使創建windows程序較為容易的關鍵技術是面向對象編程,或oop。這種技術可以創建可重用組建,它是程序的組成模塊。
幾個定義
控件提供程序可見界面的可重用對象。控件的示例有文本框、標簽和命令按鈕。
事件由用戶或操作系統引發的動作。事件的示例有擊鍵、單擊鼠標、一段時間的限制,或從端口接收數據。
方法嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應某事件。例如,數據庫 對象有打開紀錄集并從一個記錄移動到另一個記錄的方法。
對象程序的基本元素,它含有定義其特征的屬性,定義其任務和識別它可以響應的事件的方法。控件和窗體是visualbasic中所有對象的示例。
過程為完成任務而編寫的代碼段。過程通常用于響應特定的事件。
屬性對象的特征,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用于為對象提供數據和從對象取回信息。
5.設計主要內容
本軟件適用于現澆鋼筋混凝土多層、多跨的框架的設計。畢業設計要完成的工作包括:
1.平面鋼架分析程序的改造
對結構力學教研室版平面鋼架分析程序進行修改和補充。要求:
(1)編寫自動生成節點坐標和單元節點編號的程序,或以圖形方式輸入計算簡圖。
(2)修改程序,使之適合多工況內力計算;(3)根據輸入、輸出數據的特點,設計適當的人機界面。輸出應可選的顯示各構件端力和內力圖。
2.編寫鋼筋混凝土多層多跨框架機構的構件設計程序
(1)根據有關的規范,應明確計算的各種荷載(恒載、樓屋面活載、風荷載和地震作用等)的計算方法,在次基礎上編寫自動生成各種荷載作用下的結點荷載和單元荷載的程序。
地震作用按底部剪力法確定。自振周期用經驗公式確定。
(2)計算各種荷載單獨作用時框架各桿件的內力。計算結構存放在各自的桿端力(隨機)文件中。
對豎向荷載下的梁端彎距進行塑性調幅。
(3)在(2)中產生的桿端力文件基礎上,分別計算各種可能的荷載組合下,梁、柱控制截面的內力。計算結果存放在適當的文件中。
(4)從(3)生成的文件中選出最不利組合,同時給出截面配筋。
梁、柱截面配筋的確定應考慮抗震設計的要求。
(5)部分編程較熟練的同學可根據計算結果和構造規定,用auto-cadvba繪制梁、柱配筋圖。
5.成果形式
本畢業設計的成果應包括:
1.可運行的、并能給出正確計算結果的源程序
在存放源程序的軟盤中,應至少有一個算例的數據文件,可在基本不需另外鍵入數據的前提下,顯示正確地運行結果。
2.軟件使用手冊
這是為用戶準備的關于軟件使用方法、操作步驟和其他必要的文字材料。
3.軟件說明書
這是軟件作者的工作檔案,是軟件維護的基本資料。其中應包括:
(1)軟件所依據的工作檔案、力學和工程結構模型的較為詳細的描述,主要的計算公式及其使用的符號的含義,重要算法的文字說明:
(2)程序的結構:模塊的劃分的情況、各模塊相互之間的關系及各模塊的功能;
(3)帶有較為詳細的注釋的源程序文本。其中應注明各標識符的含義(盡可能的采用通用公式中的符號)。各程序段的功能、相應的數學公式和特殊算法的說明;(4)為使他人根據軟件說明書讀懂你的程序所必需的其他資料。
(5)部分編程較熟練的同學可遞交梁、柱配筋圖紙一張。
4.對自己所編程序的評價
(1)對算例計算結果的合理性進行必要的分析;
(2)總結軟件設計過程中的經驗和及教訓,提出設計改進意見。
以上各項資料處源程序文本以軟盤形式提交外,其余均用計算機打印。
6.進度計劃
第一周畢業實習,參觀工程,收集資料。
第二周需求分析:描述計算機模型,編些初步的軟件說明書。
第三周軟件設計:選擇模塊劃分的方案
第四周模塊設計:數據輸入界面設計(梁柱截面數據)
或數據輸入界面設計(可視化圖形輸入)
第五周數據輸入界面設計(框架數據、附加荷載)
第六周模塊設計:荷載計算(恒載、活載),相應的內力計算
第七周荷載計算(風荷載、地震作用),相應的內力計算
第八周模塊設計:梁配筋計算
第九周梁荷載組合,確定梁配筋
第十周梁荷載組合,確定梁配筋
第十一周模塊設計:柱配筋計算
第十二周柱荷載組合,確定柱配筋
第十三周柱荷載組合,確定柱配筋
第十四周軟件測試或用autocadvba繪制梁、柱配筋圖;
第十五周軟件測試
第十六周整理源程序,編寫軟件說明數和用戶手冊
2.項目研究背景:
所要編寫的結構程序是混凝土的框架結構的設計,建筑指各種房屋及其附屬的構筑物。建筑結構是在建筑中,由若干構件,即組成結構的單元如梁、板、柱等,連接而構成的能承受作用(或稱荷載)的平面或空間體系。
編寫算例使用建設部最新出臺的《混凝土結構設計規范》GB50010-2002,該規范與原混凝土結構設計規范GBJ10-89相比,新增內容約占15%,有重大修訂的內容約占35%,保持和基本保持原規范內容的部分約占50%,規范全面總結了原規范實施以來的實踐經驗,借鑒了國外先進標準技術。
3.項目研究意義:
建筑中,結構是為建筑物提供安全可靠、經久耐用、節能節材、滿足建筑功能的一個重要組成部分,它與建筑材料、制品、施工的工業化水平密切相關,對發展新技術。新材料,提高機械化、自動化水平有著重要的促進作用。
由于結構計算牽扯的數學公式較多,并且所涉及的規范和標準很零碎。并且計算量非常之大,近年來,隨著經濟進一步發展,城市人口集中、用地緊張以及商業競爭的激烈化,更加劇了房屋設計的復雜性,許多多高層建筑不斷的被建造。這些建筑無論從時間上還是從勞動量上,都客觀的需要計算機程序的輔助設計。這樣,結構軟件開發就顯得尤為重要。
一棟建筑的結構設計是否合理,主要取決于結構體系、結構布置、構件的截面尺寸、材料強度等級以及主要機構構造是否合理。這些問題已經正確解決,結構計算、施工圖的繪制、則是另令人辛苦的具體程序設計工作了,因此原來在學校使用的手算方法,將被運用到具體的程序代碼中去,精力就不僅集中在怎樣利用所學的結構知識來設計出做法,還要想到如何把這些做法用代碼來實現,
4.文獻研究概況
在不同類型的結構設計中有些內容是一樣的,做框架結構設計時關鍵是要減少漏項、減少差錯,計算機也是如此的。
建筑結構設計統一標準(GBJ68-84)該標準是為了合理地統一各類材料的建筑結構設計的基本原則,是制定工業與民用建筑結構荷載規范、鋼結構、薄壁型鋼結構、混凝土結構、砌體結構、木結構等設計規范以及地基基礎和建筑抗震等設計規范應遵守的準則,這些規范均應按本標準的要求制定相應的具體規定。制定其它土木工程結構設計規范時,可參照此標準規定的原則。本標準適用于建筑物(包括一般構筑物)的整個結構,以及組成結構的構件和基礎;適用于結構的使用階段,以及結構構件的制作、運輸與安裝等施工階段。本標準引進了現代結構可靠性設計理論,采用以概率理論為基礎的極限狀態設計方法分析確定,即將各種影響結構可靠性的因素都視為隨機變量,使設計的概念和方法都建立在統計數學的基礎上,并以主要根據統計分析確定的失效概率來度量結構的可靠性,屬于“概率設計法”,這是設計思想上的重要演進。這也是當代國際上工程結構設計方法發展的總趨勢,而我國在設計規范(或標準)中采用概率極限狀態設計法是迄今為止采用最廣泛的國家。
結構的作用效應常見的作用效應有:
1.內力。
軸向力,即作用引起的結構或構件某一正截面上的法向拉力或壓力;
剪力,即作用引起的結構或構件某一截面上的切向力;
彎矩,即作用引起的結構或構件某一截面上的內力矩;
扭矩,即作用引起的結構或構件某一截面上的剪力構成的力偶矩。
2.應力。如正應力、剪應力、主應力等。
3.位移。作用引起的結構或構件中某點位變(線位移)或某線段方向的改變(角位移)。
4.撓度。構件軸線或中面上某點在彎短作用平面內垂直于軸線或中面的線位移。
5.變形。作用引起的結構或構件中各點間的相對位移。變形分為彈性變形和塑性變形。
6.應變:如線應變、剪應變和主應變等。
極限狀態整個結構或結構的一部分超過某一特定狀態就不能滿足設計規定的某一功能要求,此特定狀態稱為該功能的極限狀態。極限狀態可分為兩類:
1.承載能力極限狀態。結構或結構構件達到最大承載能力或達到不適于繼續承載的變形的極限狀態:
(1)整個結構或結構的一部分作為剛體失去平衡(如傾覆等);
(2)結構構件或連接因材料強度被超過而破壞(包括疲勞破壞),或因過度的塑性變形而不適于繼續承載;(3)結構轉變為機動體系;
(4)結構或結構構件喪失穩定(如壓屈等)。
2.正常使用極限狀態。結構或結構構件達到使用功能上允許的某一限值的極限狀態。出現下列狀態之一時,即認為超過了正常使用極限狀態:
(1)影響正常使用或外觀的變形;
(2)影響正常使用或耐久性能的局部損壞(包括裂縫);
(3)影響正常使用的振動;(4)影響正常使用的其它特定狀態。
結構設計的基本任務,是在結構的可靠與經濟之間選擇一種合理的平衡,力求以最低的代價,使所建造的結構在規定的條件下和規定的使用期限內,能滿足預定的安全性、適用性和耐久性等功能要求。為達到這個目的,人們采用過多種設計方法。以現代觀點看,可劃分為定值設計法和概率設計法兩大類。
1.定值設計法。將影響結構可靠度的主要因素(如荷載、材料強度、幾何參數、計算公式精度等)看作非隨機變量,而且采用以經驗為主確定的安全系數來度量結構可靠性的設計方法,即確定性方法。此方法要求任何情況下結構的荷載效應S(內力、變形、裂縫寬度等)不應大于結構抗力R(強度、剛度、抗裂度等),即S≤R。在20世紀70年代中期前,我國和國外主要都采用這種方法。
2.概率設計法:將影響結構可靠度的主要因素看作隨機變量,而且采用以統計為主確定的失效概率或可靠指標來度量結構可靠性的設計方法,即非確定性方法。此方法要求按概率觀念來設計結構,也就是出現結構荷載效應3大于結構抗力R(S>R)的概率應小于某個可以接受的規定值。這種方法是20世紀40年代提出來的,至70年代后期在國際上已進入實用階段。我國自80年代中期,結構設計方法開始由定值法向概率法過渡。
面向對象編程
使創建Windows程序較為容易的關鍵技術是面向對象編程,或OOP。這種技術可以創建可重用組建,它是程序的組成模塊。
幾個定義
控件提供程序可見界面的可重用對象。控件的示例有文本框、標簽和命令按鈕。
事件由用戶或操作系統引發的動作。事件的示例有擊鍵、單擊鼠標、一段時間的限制,或從端口接收數據。
方法嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應某事件。例如,數據庫對象有打開紀錄集并從一個記錄移動到另一個記錄的方法。
對象程序的基本元素,它含有定義其特征的屬性,定義其任務和識別它可以響應的事件的方法。控件和窗體是VisualBasic中所有對象的示例。
過程為完成任務而編寫的代碼段。過程通常用于響應特定的事件。
屬性對象的特征,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用于為對象提供數據和從對象取回信息。
5.設計主要內容
本軟件適用于現澆鋼筋混凝土多層、多跨的框架的設計。畢業設計要完成的工作包括:
1.平面鋼架分析程序的改造
對結構力學教研室版平面鋼架分析程序進行修改和補充。要求:
(1)編寫自動生成節點坐標和單元節點編號的程序,或以圖形方式輸入計算簡圖。
(2)修改程序,使之適合多工況內力計算;(3)根據輸入、輸出數據的特點,設計適當的人機界面。輸出應可選的顯示各構件端力和內力圖。
2.編寫鋼筋混凝土多層多跨框架機構的構件設計程序
(1)根據有關的規范,應明確計算的各種荷載(恒載、樓屋面活載、風荷載和地震作用等)的計算方法,在次基礎上編寫自動生成各種荷載作用下的結點荷載和單元荷載的程序。
地震作用按底部剪力法確定。自振周期用經驗公式確定。
(2)計算各種荷載單獨作用時框架各桿件的內力。計算結構存放在各自的桿端力(隨機)文件中。
對豎向荷載下的梁端彎距進行塑性調幅。
(3)在(2)中產生的桿端力文件基礎上,分別計算各種可能的荷載組合下,梁、柱控制截面的內力。計算結果存放在適當的文件中。
(4)從(3)生成的文件中選出最不利組合,同時給出截面配筋。
梁、柱截面配筋的確定應考慮抗震設計的要求。
(5)部分編程較熟練的同學可根據計算結果和構造規定,用Auto-CADVBA繪制梁、柱配筋圖。
5.成果形式
本畢業設計的成果應包括:
1.可運行的、并能給出正確計算結果的源程序
在存放源程序的軟盤中,應至少有一個算例的數據文件,可在基本不需另外鍵入數據的前提下,顯示正確地運行結果。
2.軟件使用手冊
這是為用戶準備的關于軟件使用方法、操作步驟和其他必要的文字材料。
3.軟件說明書
這是軟件作者的工作檔案,是軟件維護的基本資料。其中應包括:
(1)軟件所依據的工作檔案、力學和工程結構模型的較為詳細的描述,主要的計算公式及其使用的符號的含義,重要算法的文字說明:
(2)程序的結構:模塊的劃分的情況、各模塊相互之間的關系及各模塊的功能;
(3)帶有較為詳細的注釋的源程序文本。其中應注明各標識符的含義(盡可能的采用通用公式中的符號)。各程序段的功能、相應的數學公式和特殊算法的說明;(4)為使他人根據軟件說明書讀懂你的程序所必需的其他資料。
(5)部分編程較熟練的同學可遞交梁、柱配筋圖紙一張。
4.對自己所編程序的評價
(1)對算例計算結果的合理性進行必要的分析;
(2)總結軟件設計過程中的經驗和及教訓,提出設計改進意見。
以上各項資料處源程序文本以軟盤形式提交外,其余均用計算機打印。
6.進度計劃
第一周畢業實習,參觀工程,收集資料。
第二周需求分析:描述計算機模型,編些初步的軟件說明書。
第三周軟件設計:選擇模塊劃分的方案
第四周模塊設計:數據輸入界面設計(梁柱截面數據)
或數據輸入界面設計(可視化圖形輸入)
第五周數據輸入界面設計(框架數據、附加荷載)
第六周模塊設計:荷載計算(恒載、活載),相應的內力計算
第七周荷載計算(風荷載、地震作用),相應的內力計算
第八周模塊設計:梁配筋計算
第九周梁荷載組合,確定梁配筋
第十周梁荷載組合,確定梁配筋
第十一周模塊設計:柱配筋計算
第十二周柱荷載組合,確定柱配筋
第十三周柱荷載組合,確定柱配筋
第十四周軟件測試或用AutoCADVBA繪制梁、柱配筋圖;
第十五周軟件測試
第十六周整理源程序,編寫軟件說明數和用戶手冊
所要編寫的結構程序是混凝土的框架結構的設計,建筑指各種房屋及其附屬的構筑物。建筑結構是在建筑中,由若干構件,即組成結構的單元如梁、板、柱等,連接而構成的能承受作用(或稱荷載)的平面或空間體系。
編寫算例使用建設部最新出臺的《混凝土結構設計規范》gb50010-2002,該規范與原混凝土結構設計規范gbj10-89相比,新增內容約占15%,有重大修訂的內容約占35%,保持和基本保持原規范內容的部分約占50%,規范全面總結了原規范實施以來的實踐經驗,借鑒了國外先進標準技術。
2.課題名稱:
鋼筋混凝土多層、多跨框架軟件開發
3.項目研究意義:
建筑中,結構是為建筑物提供安全可靠、經久耐用、節能節材、滿足建筑功能的一個重要組成部分,它與建筑材料、制品、施工的工業化水平密切相關,對發展新技術。新材料,提高機械化、自動化水平有著重要的促進作用。
由于結構計算牽扯的數學公式較多,并且所涉及的規范和標準很零碎。并且計算量非常之大,近年來,隨著經濟進一步發展,城市人口集中、用地緊張以及商業競爭的激烈化,更加劇了房屋設計的復雜性,許多多高層建筑不斷的被建造。這些建筑無論從時間上還是從勞動量上,都客觀的需要計算機程序的輔助設計。這樣,結構軟件開發就顯得尤為重要。
一棟建筑的結構設計是否合理,主要取決于結構體系、結構布置、構件的截面尺寸、材料強度等級以及主要機構構造是否合理。這些問題已經正確解決,結構計算、施工圖的繪制、則是另令人辛苦的具體程序設計工作了,因此原來在學校使用的手算方法,將被運用到具體的程序代碼中去,精力就不僅集中在怎樣利用所學的結構知識來設計出做法,還要想到如何把這些做法用代碼來實現,
4.文獻研究概況
在不同類型的結構設計中有些內容是一樣的,做框架結構設計時關鍵是要減少漏項、減少差錯,計算機也是如此的。
建筑結構設計統一標準(gbj68-84)該標準是為了合理地統一各類材料的建筑結構設計的基本原則,是制定工業與民用建筑結構荷載規范、鋼結構、薄壁型鋼結構、混凝土結構、砌體結構、木結構等設計規范以及地基基礎和建筑抗震等設計規范應遵守的準則,這些規范均應按本標準的要求制定相應的具體規定。制定其它土木工程結構設計規范時,可參照此標準規定的原則。本標準適用于建筑物(包括一般構筑物)的整個
結構,以及組成結構的構件和基礎;適用于結構的使用階段,以及結構構件的制作、運輸與安裝等施工階段。本標準引進了現代結構可靠性設計理論,采用以概率理論為基礎的極限狀態設計方法分析確定,即將各種影響結構可靠性的因素都視為隨機變量,使設計的概念和方法都建立在統計數學的基礎上,并以主要根據統計分析確定的失效概率來度量結構的可靠性,屬于“概率設計法”,這是設計思想上的重要演進。這也是當代國際上工程結構設計方法發展的總趨勢,而我國在設計規范(或標準)中采用概率極限狀態設計法是迄今為止采用最廣泛的國家。
結構的作用效應常見的作用效應有:
1.內力。
軸向力,即作用引起的結構或構件某一正截面上的法向拉力或壓力;
剪力,即作用引起的結構或構件某一截面上的切向力;
彎矩,即作用引起的結構或構件某一截面上的內力矩;
扭矩,即作用引起的結構或構件某一截面上的剪力構成的力偶矩。
2.應力。如正應力、剪應力、主應力等。
3.位移。作用引起的結構或構件中某點位變(線位移)或某線段方向的改變(角位移)。
4.撓度。構件軸線或中面上某點在彎短作用平面內垂直于軸線或中面的線位移。
5.變形。作用引起的結構或構件中各點間的相對位移。變形分為彈性變形和塑性變形。
6.應變:如線應變、剪應變和主應變等。
極限狀態整個結構或結構的一部分超過某一特定狀態就不能滿足設計規定的某一功能要求,此特定狀態稱為該功能的極限狀態。極限狀態可分為兩類:
1.承載能力極限狀態。結構或結構構件達到最大承載能力或達到不適于繼續承載的變形的極限狀態:
(1)整個結構或結構的一部分作為剛體失去平衡(如傾覆等);
(2)結構構件或連接因材料強度被超過而破壞(包括疲勞破壞),或因過度的塑性變形而不適于繼續承載;
(3)結構轉變為機動體系;
(4)結構或結構構件喪失穩定(如壓屈等)。
2.正常使用極限狀態。結構或結構構件達到使用功能上允許的某一限值的極限狀態。出現下列狀態之一時,即認為超過了正常使用極限狀態:
(1)影響正常使用或外觀的變形;
(2)影響正常使用或耐久性能的局部損壞(包括裂縫);
(3)影響正常使用的振動;
(4)影響正常使用的其它特定狀態。
結構設計的基本任務,是在結構的可靠與經濟之間選擇一種合理的平衡,力求以最低的代價,使所建造的結構在規定的條件下和規定的使用期限內,能滿足預定的安全性、適用性和耐久性等功能要求。為達到這個目的,人們采用過多種設計方法。以現代觀點看,可劃分為定值設計法和概率設計法兩大類。
1.定值設計法。將影響結構可靠度的主要因素(如荷載、材料強度、幾何參數、計算公式精度等)看作非隨機變量,而且采用以經驗為主確定的安全系數來度量結構可靠性的設計方法,即確定性方法。此方法要求任何情況下結構的荷載效應s(內力、變形、裂縫寬度等)不應大于結構抗力r(強度、剛度、抗裂度等),即s≤r。在20世紀70年代中期前,我國和國外主要都采用這種方法。
2.概率設計法:將影響結構可靠度的主要因素看作隨機變量,而且采用以統計為主確定的失效概率或可靠指標來度量結構可靠性的設計方法,即非確定性方法。此方法要求按概率觀念來設計結構,也就是出現結構荷載效應3大于結構抗力r(s>r)的概率應小于某個可以接受的規定值。這種方法是20世紀40年代提出來的,至70年代后期在國際上已進入實用階段。我國自80年代中期,結構設計方法開始由定值法向概率法過渡。
面向對象編程
使創建windows程序較為容易的關鍵技術是面向對象編程,或oop。這種技術可以創建可重用組建,它是程序的組成模塊。
幾個定義
控件提供程序可見界面的可重用對象。控件的示例有文本框、標簽和命令按鈕。
事件由用戶或操作系統引發的動作。事件的示例有擊鍵、單擊鼠標、一段時間的限制,或從端口接收數據。
方法嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應某事件。例如,數據庫對象有打開紀錄集并從一個記錄移動到另一個記錄的方法。
對象程序的基本元素,它含有定義其特征的屬性,定義其任務和識別它可以響應的事件的方法。控件和窗體是visualbasic中所有對象的示例。
過程為完成任務而編寫的代碼段。過程通常用于響應特定的事件。
屬性對象的特征,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用于為對象提供數據和從對象取回信息。
5.設計主要內容
本軟件適用于現澆鋼筋混凝土多層、多跨的框架的設計。畢業設計要完成的工作包括:
1.平面鋼架分析程序的改造
對結構力學教研室版平面鋼架分析程序進行修改和補充。要求:
(1)編寫自動生成節點坐標和單元節點編號的程序,或以圖形方式輸入計算簡圖。
(2)修改程序,使之適合多工況內力計算;(3)根據輸入、輸出數據的特點,設計適當的人機界面。輸出應可選的顯示各構件端力和內力圖。
2.編寫鋼筋混凝土多層多跨框架機構的構件設計程序
(1)根據有關的規范,應明確計算的各種荷載(恒載、樓屋面活載、風荷載和地震作用等)的計算方法,在次基礎上編寫自動生成各種荷載作用下的結點荷載和單元荷載的程序。
地震作用按底部剪力法確定。自振周期用經驗公式確定。
(2)計算各種荷載單獨作用時框架各桿件的內力。計算結構存放在各自的桿端力(隨機)文件中。
對豎向荷載下的梁端彎距進行塑性調幅。
(3)在(2)中產生的桿端力文件基礎上,分別計算各種可能的荷載組合下,梁、柱控制截面的內力。計算結果存放在適當的文件中。
(4)從(3)生成的文件中選出最不利組合,同時給出截面配筋。
梁、柱截面配筋的確定應考慮抗震設計的要求。(5)部分編程較熟練的同學可根據計算結果和構造規定,用auto-cadvba繪制梁、柱配筋圖。
5.成果形式
本畢業設計的成果應包括:
1.可運行的、并能給出正確計算結果的源程序
在存放源程序的軟盤中,應至少有一個算例的數據文件,可在基本不需另外鍵入數據的前提下,顯示正確地運行結果。
2.軟件使用手冊
這是為用戶準備的關于軟件使用方法、操作步驟和其他必要的文字材料。
3.軟件說明書
這是軟件作者的工作檔案,是軟件維護的基本資料。其中應包括:
(1)軟件所依據的工作檔案、力學和工程結構模型的較為詳細的描述,主要的計算公式及其使用的符號的含義,重要算法的文字說明:
(2)程序的結構:模塊的劃分的情況、各模塊相互之間的關系及各模塊的功能;
(3)帶有較為詳細的注釋的源程序文本。其中應注明各標識符的含義(盡可能的采用通用公式中的符號)。各程序段的功能、相應的數學公式和特殊算法的說明;(4)為使他人根據軟件說明書讀懂你的程序所必需的其他資料。
(5)部分編程較熟練的同學可遞交梁、柱配筋圖紙一張。
4.對自己所編程序的評價
(1)對算例計算結果的合理性進行必要的分析;
(2)總結軟件設計過程中的經驗和及教訓,提出設計改進意見。
以上各項資料處源程序文本以軟盤形式提交外,其余均用計算機打印。
6.進度計劃
第一周畢業實習,參觀工程,收集資料。
第二周需求分析:描述計算機模型,編些初步的軟件說明書。
第三周軟件設計:選擇模塊劃分的方案
第四周模塊設計:數據輸入界面設計(梁柱截面數據)
或數據輸入界面設計(可視化圖形輸入)
第五周數據輸入界面設計(框架數據、附加荷載)
第六周模塊設計:荷載計算(恒載、活載),相應的內力計算
第七周荷載計算(風荷載、地震作用),相應的內力計算
第八周模塊設計:梁配筋計算
第九周梁荷載組合,確定梁配筋
第十周梁荷載組合,確定梁配筋
第十一周模塊設計:柱配筋計算
第十二周柱荷載組合,確定柱配筋
關鍵詞:編程語言;教學;教學模式
中圖分類號:G64 文獻標識碼:B
文章編號:1672-5913(2007)02-0051-02
1引言
在計算機專業本、專科和非計算機專業的計算機教學中,學校幾乎都設置了高級語言程序設計或數據庫管理語言的程序設計課程。與一些應用軟件或工具軟件相比,編程課程的教學具有較大的靈活性,這使得學生掌握起來有一定困難,教師教學也有一定的難度。采用何種教學模式進行教學就成為編程語言教學的一個關鍵。筆者經過多年的教學實踐,總結出了編程語言教學的感性認識、算法分析、代碼講授、功能變化的教學模式,這些在實際教學中收到了很好的效果。
2編程語言教學模式探討
在下面的討論中,以Java語言編寫查詢記錄的程序為例進行說明。
2.1 感性認識
這里的感性認識是指先讓學生對要講授的程序有一個感性的認識。即先運行程序,顯示程序的運行結果,讓學生了解程序的運行界面、控件的布局、操作順序及整個程序的功能。使學生對要講授的程序有一個感性的認識,這對于理解算法及編程代碼都是非常有利的。
通過運行界面,學生可以了解整個界面的布局,即各個控件的擺放位置及相互關系,之后在文本框輸入查詢條件(書名)并單擊“確定”按鈕后,即顯示出查詢結果,這讓學生了解操作順序并看到運行的結果,同時也知道了整個程序的功能。
2.2 算法分析
根據上面演示的界面、操作順序及運行結果,詳細分析程序的功能,在此基礎上,我們分別從界面設計、事件代碼兩個方面進行算法分析,找出程序實現的算法并畫出程序流程圖。
例如,對于查詢記錄程序,其界面設計的算法分析如下:由于是在窗口內顯示界面,所以應先創建一個窗口類Frame類的子類。在子類的構造方法中創建標簽、文本框、按鈕等對象;設計相應的布局,通過面板等容器將這些對象添加到窗口中;添加諸如按鈕等對象事件的監聽。
對于在文本框中輸入書名,并單擊“確定”按鈕,處理按鈕事件的算法分析如下:到數據庫中查找滿足條件的記錄,如果沒找到就顯示相應的信息,并重新輸入查找條件;如果找到了就將找到的記錄放在相應的面板等容器中并顯示。
其他如“打印”和“退出”等按鈕事件處理算法按相應的要求給出。
根據上面的算法分析,畫出程序的流程圖如圖1所示。
圖1程序流程
對上面的流程圖教師要進行詳盡的講解,使學生真正了解程序的算法,這對后面書寫程序代碼非常重要。因為代碼的編寫就是將算法變成能運行的程序。
因為許多程序可以有多種算法,在教師講授自己的算法之前,可先讓學生寫出自己對這個問題的算法分析(這就要求學生要事先預習教學內容)并畫出流程圖,再對學生的算法進行簡單評價。
2.3 代碼講授
根據上面的算法分析,教師可采用下面兩種方式講授程序代碼:一種是逐條給出并在講解過程中啟發學生如何寫代碼,這時可以啟發學生思考要想完成算法的某一功能應如何給出代碼。教師可以先讓學生給出代碼,然后按學生給出的代碼演示運行結果,看是否達到了算法的要求,如果達到要求應給予積極的評價;沒有則應和學生一起分析問題出現在哪里,找出正確的思路,直至給出正確的代碼。學生給出的代碼可能會有多種,可選擇有代表性的幾個進行演示及分析,不要只講正確的代碼方案,不正確的代碼方案也可作為反例提醒同學們注意,這樣對于鼓勵學生參與互動教學有積極的作用。另一種是代碼全部給出,之后按算法要求講解每一條語句的作用,再講解每一段的作用并解釋它實現了算法的哪一個功能。前者占用課堂時間較長,但對啟發學生的編程思維有好處;后者占用課堂時間短,提高了課堂效率,但學生掌握程序代碼效果不如前者。教師在教學中可根據學生情況、教學內容的復雜程度及課時數進行選擇。在講解過程中教師一定要結合算法,注意講清每條語句或每一段代碼能完成算法中的哪一步。在此過程中,為了說明某條語句或某段代碼的作用,可邊講解邊演示其運行的結果,這樣效果會更好。
2.4 功能變化
在講解清楚上面的程序之后,可對程序的語句或程序段進行修改,例如刪除某些語句、修改某些語句,并演示刪除或修改變化后的運行效果,使學生加深對某些語句或程序段功能的理解,以拓展本程序的知識點。同時教師要注意鼓勵學生大膽探索新的算法,對于雖不完美,但經過指導也能實現程序功能的算法要給予積極的表揚和肯定,推崇學生自己動腦、動手進行程序設計與修改是非常必要的。
3結束語
以上只是作者在教學中總結出的一點體會,在以往的教學中應用這種模式進行實踐并收到了較好的效果。學生不但學會了編程語言,同時也學會了編程思想及編程方法。在畢業設計中,學生做出了較好的管理信息系統,并在“大學生科研訓練計劃”的信息系統開發中取得了較好的成績。當然,編程語言教學模式多種多樣,許多同行都有自己的優秀的教學模式,筆者會在今后進一步學習和吸取這些經驗,不斷提高自己的教學效果和水平。
參考文獻:
[1]印F.Java語言與面向對象的程序設計[M].北京:清華大學出版社,2000.
[2]耿祥義.Java2實用教程[M].北京:清華大學出版社,2004.
[3]Bruce Eckel .Thinking in Java(Third Edition)[M].北京:機械工業出版社,2004.
[4]Harvey M.Deitel,Paul J.Deitel .Java大學教程[M].北京:電子工業出版社,2004.
關鍵詞:“全納教育”;畢業設計;課程改革;批判教育學;學習風格
我院計算機專業的“畢業設計”課程改革歷時十年,課程改革舉措主要有三項:一是將“軟件工程學”與“畢業設計”課程綜合為一門課來上,將軟件開發的理論與軟件開發的實踐相結合。二是由學生自主選題,自由“組閣”。三是以提交軟件文檔作為中期考核,以課題驗收答辯作為課程終考形式。現以“全納教育”理念審視十年來的課程改革,對其間親歷的典型教學事例作反思分析,以期與同行分享所思所得。
一、我們要實施“全納教育”
“全納教育”就是要全部或充分接納(inclusion)學生,不排斥(exclusion)任何學生。“全納教育”作為一種思潮,首先于20世紀90年代中期在特殊教育領域興起。[1]1994年聯合國教科文組織在西班牙薩拉曼卡召開了“世界特殊需要教育大會”。在此次會議通過的“薩拉曼卡宣言”中,首次正式提出了“全納教育”。提出“全納教育”的初衷是讓殘疾兒童回歸“主流學校”,和普通兒童一起學習。在其后的發展過程中,“全納教育”被賦予了一種更廣泛的含義,即關注全體學生,承認所有學生之間的差異,滿足所有學生的不同教育需求,從而使所有學生享有平等的受教育的權利,使所有學生都得到適合自己的發展。“全納”的教育理念,是社會向民主化、和諧化發展的過程中,對教育改革發展的訴求。從20世紀占主流的“淘汰式”教育,到新世紀必將成為主流的“全納教育”,是歷史發展的必然。在基礎教育、高等教育、職業技術教育等廣泛的教育領域開展“全納教育”,是當今全球教育改革發展的大趨勢。對此,很多一線教師已經從自己的教學實踐中予以體認。以下所述,就是筆者親歷的一個事例。由布西,山東教育學院計算機科學與技術系副教授。
02級專科班有兩個學生,“畢業設計”經常不到課。他們的前期課成績不太好,有的科目考試不及格。我分別找他們談話,舉出往屆學生的事例告訴他們,理論課沒有考好,不等于畢業設計也作不好。在和同學的合作中,在實踐中一定能學到很多東西。我又詢問了他們各自的興趣、特長是什么。其中那個男生告訴我,他比較喜歡上網,玩游戲。于是我把班中同學呈報的畢業設計課題表拿給他參考。他選擇了“08奧運網站”的畢業設計課題,承擔了其中一個球類部分網頁的設計。很好,這個男生發揮了自己的積極性和長處,從網上下載了許多圖片、圖像,經過處理,嵌入到網頁中,使網頁變得生動、實際,包括姚明的“扣籃秀”等,十分精彩。同組同學對他也刮目相看。由于他在網頁設計中的出色表現,其畢業設計成績被教師評為優秀。另一個女生,也參加到一個“班級通訊錄”的課題開發中。她良好的形象思維,使網頁設計簡潔、雅致,筆者對她進行了鼓勵。她在網頁交互程序設計中感到有困難,筆者就請一個編程較好的同學對她輔導、幫助。有一次實驗課,當其他學生都已離去,她仍獨自留在實驗室繼續做課題,似乎沒有覺察到下課時間已到,情此景令人感慨不已。
從“逃課”到“最后一個離開實驗室”,學生前后表現的巨大反差確實發人深省:只要我們給學生足夠的尊重和耐心,既嚴格要求又能給予實際的幫助,就可以點燃他們心中的自尊、自信和求知的火焰。如果當初對這兩個學生“放羊”不管,結果完全會是另一個樣子。試想,我們怎么能夠一面講“以學生為本”、“一切為了學生的發展”,一面又自覺、不自覺地(習慣地)用淘汰式理念、策略對待學生,排斥、貶低一部分學生呢,那種做法與我們的教育目標背道而馳,更與“全納教育”思想毫不相容。
二、“全納教育”的實踐是一個過程
“全納教育”不僅僅是一種教育理念和教育價值取向,更是一種促進學生學習的過程。這一過程將促進全體學生的參與,促進學生之間的協作,充分體現學生不同興趣、個性、特長、基礎和需求,而不是讓所有學生都適應一個預定的整齊劃一的標準。令人遺隨的是,以往我們的課程設計總是以教師為中心,以教師擅長的方式進行,而很少考慮到學生的需求和學生所適合的學習方式。這是不能實現“全納”的一個根本原因。為了回答“我們為什么可以全納”這個問題,有必要對“畢業設計”課程改革中的某些事例作反思分析。
1.可以“全納”的“批判教育學分析”:讓學生“全員參與”,在協作中發展,在自主學習中發展
“全納教育”最重要的思想是注重人人參與,注重依靠集體的力量和相互合作來解決個體的問題。這一思想的淵源實際上可以追溯到20世紀60年代末、70年代初在聯邦德國出現的“批判教育學流派”。[2]該學派的代表人物之一克拉夫基(w.Klafki),將自決能力、參與能力和團結能力視為普通教育的三大目標。他主張“解放教育”,使學生從外來的強制性與對他人的完全依賴中解放出來,能夠根據自己的認識和判斷決定自身事務,決定自己的選擇,并能以平等的地位與他人一起參與共同事務,解決共同問題,為此也應當樂意幫助那些失去自決和參與的人而因此接受這種幫助。為了達到上述教育目標,“批判教育學”學派主張應實行“開放式教育”原則,使學生盡可能早在盡可能多的領域做到自決。“批判教育學”的教育目標和教育原則,在“畢業設計”課程改革中得到充分的詮釋。“畢業設計”的自主選題及自由結合的課題組形式,有利于促進學生的參與,有利于促進學生的協作,有利于促進學生在自主學習中成長。在“畢業設計”課程的教學中,我們經常可以看到這樣一種現象,一個學習成績和學習能力都看似一般的課題小組,居然能夠做出“優秀”的設計,這從一個側面印證了維果茨基關于“個人的認知結構是在社會交互作用中形成的”觀點。[3]學生完成畢業設計后所收獲的不僅僅是知識、技能和專業經驗,更重要的是一份自信,一種成就感,一種克服了種種困難最終“贏”得愉悅。他們從中認識了自身的力量,認識了團隊合作的力量。這對于學生畢業后較快融入社會,將會產生深遠的影響。
2.可以“全納”的學習心理分析:認識學生不同類型學習風格的差異,讓學生在適合自己的學習方式中發展
談到學生差異,很多人考慮較多的是學生的興趣、特長、基礎、智力(聰明不聰明),而很少考慮學生的學習風格類型,即學生適合(偏好)以怎樣的方式去學習。美
國教育心理學家柯勃(Kolb D.A)依據其經驗學習理論對學生學習風格進行分類研究,總結出四種典型風格:[4]發散型(Diverger),以經驗感覺和省思觀察方式為主;②調適型(Accommodator),以經驗感覺和主動操作方式為主;③收斂型(Converger),以抽象分析和主動操作方式為主;④同化型(Assimilator):以抽象分析和省思觀察方式為主。一般說來,只有抽象分析風格,才能較好地適應通常課堂教學以概念演繹和形式化描述為主的講授方式,其他風格則不易適應而常遭排斥。但這并不等于可以據此給學生貼上“優”、“差”的標簽。在多年來的“畢業設計”課程教學中,筆者早已發現了一個“怪”現象,許多課題組的開發骨干、最終評為優秀的學生,多數都只是前期課考試70、80分的學生,其中有的還有不及格的學科。相反,前期課成績較好的學生中,有些在畢業設計中表現平平,遇到問題辦法不多,一籌莫展。
“范例學習”和“錯誤嘗試”,恰恰是上述具有“觀察性”、“活動性”學習風格的典型特征。實踐表明,在很多情況下范例學習和實踐的方法(在“做”中學),是比較單純邏輯分析和概念演繹方法更有效地掌握知識和解決問題的方法。“畢業設計”課程實踐性強的特點,比較適合具有“觀察性”和“活動性”風格的學生學習與發揮,這或許就是他們之中某些人,雖然前期課考試成績一般,卻在畢業設計中有上乘表現的一個原因。對于“抽象性”風格的學生,也特別需要通過作實際課題鍛煉動手能力,彌補“紙上談兵”的知識結構缺陷,才能成為“文武雙全”的更具創造性的人才。課程改革要能夠包容所有不同風格的學生的充分發展,這是可以實現“全納”的一個必要條件。
三、“全納教育”的實踐案例:“畢業設計”課程教學設計剖析
作為“全納教育”實踐的一個案例,現對“畢業設計”課程的教學設計略作分析。
表1“畢業設計”教學過程與教學設計
教學過程:教學設計(策略)
理論課講授:(1)少而精,某些章節以講座方式進行。(2)讓學生結合自己的選題完成前期各階段文檔。(3)理論課講授與以下各階段交叉進行。
選題階段:(4)學生根據自己的特長、需求自主選題,自由“紐閣”。(5)組織選題討論,通過“開題講演”、提問、質疑完善選題。(6)鼓勵創新,包括選題內容、設計方案、實現方法、界面設計、游戲、廣告創意等。(7)市場導向,利用節假日安排學生做用戶調查,克服“想當然”的主觀成分。(8)為每個課題組配備一名指導教師,配備時要考慮教師所任學科、工作經歷及特長。
開發階段:(9)請有實際開發經驗的工程師、資深教師、研究生講座、答疑,為學生引路。(10)共享往屆學生的文檔、軟件、論文的范例,或讓學生自行檢索有關案例做參考。(11)讓學生上網主動獲取所需知識,并通過Email、QQ、BBS與教師、網友交流。(12)課題組內、課題組間都要發揮團隊協作力量,實現優勢互補。(13)特別注意發揮骨干作用,帶動其他同學共同前進。(14)教師將自己的研究心得、往屆學生解決問題的經驗與學生分享,形成新的經驗。(15)鼓勵學生主動聯系到企業見習、實習,借企業之船過河。(16)培養學生克服困難的毅力,鼓勵他們在最后階段“再堅持一下”,不輕易打退堂鼓。
課程考核:(17)教師集體參加,集體評議,學生人數較多時將教師分為幾個小組。(18)綜合評定成績,要將課題演示、答辯、文檔(本科生還包括論文)綜合考慮。(19)評估標準多元化,不以編程的復雜性為唯一的標準,要向創新性、實用性傾斜。(20)評估標準分層次,對不同特長、不同基礎的學生要實事求是給予成績。
教學設計的要旨是為學生提供一個開放的對話的教學環境。為了解決課題開發中遇到的各種問題,學生需要不斷學習、不斷思考、不斷實踐,需要和同伴、教師、專業人員、網友等進行廣泛的對話。由此可見,“畢業設計”課程教學設計應遵循的主要原則就是自主性、協作性和實踐性。
四、“畢業設計”課程改革的啟示
從“畢業設計”課程改革所獲得的初步成效中,我們可以得到怎樣的啟示呢?
1.教育觀念由“淘汰”式到“全納”的轉變。“畢業設計”課程改革的關鍵環節,是“自主選題”,而不是用一個統一的課題模式,如“設計一個管理信息系統”來要求所有的學生。“自主選題”的舉措從根本上將“要我學”、“要我做”轉變為“我要學”、“我要做”,極大地促進了所有學生的積極參與,使每一個學生都能根據自己的愛好、意愿選擇課題,并且根據自己的特長、基礎選擇在課題組中的任務分工,進而主動地去學習、研究。學生潛能得以充分發揮,常常超乎教師的想象。由此我們可以得到一個重要啟發,假如在公共基礎課、專業基礎課、專業課的設置中,減少“必修課”數目,增加“選修課”數目,給學生更多地自主選擇課程的權利,而且在必修課中也區分不同級別的要求(一級、二級或A、B等)供學生自主選擇,而不是用統一的課程和課程標準要求所有學生,這樣就能更好地滿足所有學生的不同需求,充分發揮學生學習的積極性,使更多地學生跟上教學進程,得到適合自己的發展,從而實現“全納教育”的目標。