戴芳銘 高士娟 張紅玉 曹恒來(lái)
學(xué)習(xí)內(nèi)容分析
信息系統(tǒng)是人們?cè)谏鐣?huì)活動(dòng)中,以滿足信息需求為目標(biāo)而建立的綜合系統(tǒng)。在開(kāi)發(fā)信息系統(tǒng)前,需要運(yùn)用抽象思維對(duì)系統(tǒng)的用戶需求進(jìn)行分析。在需求定義過(guò)程中,由于開(kāi)發(fā)人員、系統(tǒng)用戶對(duì)系統(tǒng)目標(biāo)的考慮或表達(dá)不全面,常常會(huì)出現(xiàn)內(nèi)容失實(shí)、遺漏、含糊不清和前后描述不一致等問(wèn)題。UML(Unified Modeling Language,統(tǒng)一建模語(yǔ)言)是一種標(biāo)準(zhǔn)化語(yǔ)言,該語(yǔ)言使用統(tǒng)一、規(guī)范的圖形符號(hào)來(lái)描述系統(tǒng)模型,直觀、形象,便于學(xué)習(xí)和掌握。因此,使用UML對(duì)復(fù)雜的用戶需求進(jìn)行建模分析,可以幫助開(kāi)發(fā)人員更好地理解需求,提高需求規(guī)約的質(zhì)量,減少二義性,提高一致性和可驗(yàn)證性,有效推進(jìn)信息系統(tǒng)的開(kāi)發(fā)。
學(xué)習(xí)者分析
本課的學(xué)習(xí)對(duì)象是高一年級(jí)學(xué)生,他們?cè)谌粘I钪幸呀?jīng)接觸過(guò)多種信息系統(tǒng),有較豐富的信息系統(tǒng)使用經(jīng)驗(yàn),了解信息系統(tǒng)的基本組成及功能,同時(shí),經(jīng)過(guò)之前的學(xué)習(xí),已經(jīng)掌握了Python基礎(chǔ)知識(shí),理解程序設(shè)計(jì)的三種基本控制結(jié)構(gòu)。高一年級(jí)的學(xué)生思維活躍、求知欲旺盛,能夠針對(duì)問(wèn)題展開(kāi)探究,能夠運(yùn)用一定的策略尋找解決問(wèn)題的方案,并能使用編程的方法解決問(wèn)題,但是對(duì)信息系統(tǒng)的開(kāi)發(fā)過(guò)程、抽象建模解決問(wèn)題的方法缺少認(rèn)知。
學(xué)習(xí)目標(biāo)
①理解抽象與建模的概念,能夠使用抽象的方法對(duì)信息系統(tǒng)進(jìn)行需求分析。
②了解UML用例建模方法,掌握UML用例建模圖例,運(yùn)用UML用例建模方法構(gòu)建點(diǎn)餐系統(tǒng)功能模型。
③經(jīng)歷信息系統(tǒng)抽象建模的過(guò)程,體會(huì)建模在信息系統(tǒng)開(kāi)發(fā)過(guò)程中的作用。
教學(xué)過(guò)程
1.情境引入,發(fā)現(xiàn)問(wèn)題
教師展示小帥同學(xué)在食堂排隊(duì)就餐的動(dòng)畫(huà),引導(dǎo)學(xué)生思考:①小帥點(diǎn)餐過(guò)程中遇到了哪些煩惱?(排隊(duì)隊(duì)伍長(zhǎng)、人工計(jì)價(jià)慢、就餐效率低……)②如何幫助食堂提高點(diǎn)餐效率?(增加窗口、提前訂餐、自助點(diǎn)餐……)
教師小結(jié):設(shè)計(jì)一個(gè)自助點(diǎn)餐系統(tǒng)可以提高食堂的就餐效率,提升用餐體驗(yàn)。
設(shè)計(jì)意圖:傳統(tǒng)點(diǎn)餐、人工計(jì)價(jià)模式耗時(shí)費(fèi)力,大多數(shù)學(xué)生都受過(guò)類似困擾。以生活中的真實(shí)問(wèn)題作為情境引入,能夠引起學(xué)生共鳴,激發(fā)學(xué)習(xí)興趣,進(jìn)而基于現(xiàn)有信息系統(tǒng)的使用經(jīng)驗(yàn),思考解決問(wèn)題的方案。
2.分析問(wèn)題,識(shí)別系統(tǒng)需求
活動(dòng)1:分析點(diǎn)餐系統(tǒng)需求。
①可以從哪些角度對(duì)點(diǎn)餐場(chǎng)景中的人員進(jìn)行分類?(按性別、按年齡、按角色……)
②點(diǎn)餐系統(tǒng)中的兩類角色分別有哪些行為?(點(diǎn)餐人員:瀏覽菜單、點(diǎn)餐、提交訂單;出餐人員:查詢訂單、處理訂單)
教師小結(jié):①在分析點(diǎn)餐系統(tǒng)需求時(shí),可以忽略人員的性別、年齡等系統(tǒng)不需要的細(xì)節(jié)特征,將系統(tǒng)用戶按角色分成點(diǎn)餐、出餐兩類人員。②在解決問(wèn)題的過(guò)程中,去除不相關(guān)特征,將問(wèn)題簡(jiǎn)化為更易于理解的內(nèi)容的過(guò)程,稱為“抽象”。③通過(guò)抽象的方法,分析得出點(diǎn)餐系統(tǒng)的功能性需求包括瀏覽菜單、點(diǎn)餐、提交訂單及查詢訂單、處理訂單等。
設(shè)計(jì)意圖:信息系統(tǒng)中有不同角色的用戶,每種角色用戶的功能需求不同,因此需要識(shí)別不同用戶的需求。通過(guò)分析點(diǎn)餐場(chǎng)景中的人員特征及行為,可對(duì)現(xiàn)實(shí)問(wèn)題進(jìn)行簡(jiǎn)化和抽象,并歸納出點(diǎn)餐系統(tǒng)的用戶分類和功能需求。在分析問(wèn)題過(guò)程中,引導(dǎo)學(xué)生理解抽象的概念,并學(xué)會(huì)使用抽象的方法解決問(wèn)題。
3.建立模型,描述系統(tǒng)需求
活動(dòng)2:“你畫(huà)我猜”游戲。
請(qǐng)兩組學(xué)生參與游戲,每組3人。其中一人根據(jù)教師提供的詞卡內(nèi)容在黑板上畫(huà)圖,另外兩人根據(jù)圖畫(huà)猜測(cè)詞卡內(nèi)容。觀察游戲并思考:①對(duì)同一張?jiān)~卡,不同畫(huà)手繪制的圖是否一樣?②不同競(jìng)猜者對(duì)同一幅畫(huà)的猜測(cè)是否一樣?③游戲者事先未經(jīng)溝通,沒(méi)有使用統(tǒng)一的表達(dá)方式,出現(xiàn)了什么問(wèn)題?
教師小結(jié):①表達(dá)方式不統(tǒng)一、不規(guī)范會(huì)導(dǎo)致理解的偏差。因此,信息系統(tǒng)的需求需要采用規(guī)范化、結(jié)構(gòu)化的方法描述。UML為開(kāi)發(fā)人員提供了標(biāo)準(zhǔn)通用的設(shè)計(jì)語(yǔ)言,以圖形的方式描述系統(tǒng)模型。②在UML中,常用用例建模的方法來(lái)描述系統(tǒng)的功能性需求。用例建模方法使用“參與者”(系統(tǒng)的用戶)和“用例”(參與者和系統(tǒng)之間的交互序列)描述系統(tǒng)的功能性需求。③在點(diǎn)餐系統(tǒng)中,點(diǎn)餐人員和出餐人員就是參與者,“瀏覽菜單”是點(diǎn)餐人員和點(diǎn)餐系統(tǒng)間的交互,稱為“用例”。
活動(dòng)3:創(chuàng)建點(diǎn)餐系統(tǒng)用例圖。
①分析點(diǎn)餐和出餐過(guò)程,識(shí)別點(diǎn)餐系統(tǒng)參與者和用例,填寫(xiě)表1。
②教師介紹StarUML軟件,演示使用StarUML軟件創(chuàng)建點(diǎn)餐部分用例圖。
③學(xué)生模仿點(diǎn)餐用例圖的創(chuàng)建過(guò)程,自主創(chuàng)建出餐部分用例圖(如表2)。
④使用UML用例圖將之前抽象出的用戶及功能需求建立關(guān)聯(lián),形成了點(diǎn)餐系統(tǒng)的功能模型(如圖1)。
教師小結(jié):為了某種特定目的(如問(wèn)題求解),將系統(tǒng)某一部分信息進(jìn)行抽象而構(gòu)成的系統(tǒng)的替代物稱為“系統(tǒng)模型”或“模型”。以形成模型為目的的抽象過(guò)程就是建模。
設(shè)計(jì)意圖:借助StarUML工具對(duì)點(diǎn)餐系統(tǒng)的功能需求進(jìn)行建模分析,讓學(xué)生經(jīng)歷信息系統(tǒng)建模的過(guò)程,引導(dǎo)學(xué)生體會(huì)建模在信息系統(tǒng)開(kāi)發(fā)過(guò)程中的作用。
4.構(gòu)建原型,驗(yàn)證系統(tǒng)需求
活動(dòng)4:完善原型,實(shí)現(xiàn)系統(tǒng)功能。
①完善點(diǎn)餐系統(tǒng)原型的點(diǎn)餐功能和處理訂單功能部分代碼。
②運(yùn)行“自助點(diǎn)餐系統(tǒng).py”,分析系統(tǒng)功能能否滿足用戶需求。
教師小結(jié):通過(guò)編寫(xiě)點(diǎn)餐和出餐的功能代碼,獲得了可運(yùn)行的、最小化的點(diǎn)餐系統(tǒng)模型,即系統(tǒng)的原型。用戶可以試用原型,并評(píng)價(jià)原型是否滿足需求。
設(shè)計(jì)意圖:通過(guò)對(duì)原型點(diǎn)餐功能的體驗(yàn),評(píng)價(jià)原型是否滿足用戶需求,學(xué)生能夠了解快速原型模型開(kāi)發(fā)信息系統(tǒng)的過(guò)程。
5.課堂總結(jié)
本節(jié)課在對(duì)點(diǎn)餐系統(tǒng)功能需求抽象建模的基礎(chǔ)上,完善了點(diǎn)餐系統(tǒng)的核心代碼,快速構(gòu)建了一個(gè)點(diǎn)餐系統(tǒng)原型,并提供給用戶試用。由于種種原因,在需求分析階段得到完整、準(zhǔn)確、合理的需求模型是很困難的,用戶要通過(guò)試用并評(píng)價(jià)原型,逐步明確各種需求。開(kāi)發(fā)人員根據(jù)用戶反饋,修改系統(tǒng)原型直至用戶滿意,然后再開(kāi)發(fā)真實(shí)系統(tǒng)。這就是信息系統(tǒng)開(kāi)發(fā)的一種方法——快速原型模型(如上頁(yè)圖2)。
教學(xué)反思
本節(jié)課以“發(fā)現(xiàn)問(wèn)題—分析需求—建立模型—構(gòu)建原型”為主線,圍繞點(diǎn)餐系統(tǒng)功能需求的抽象建模展開(kāi)教學(xué)。首先,從食堂就餐效率低的現(xiàn)實(shí)問(wèn)題出發(fā),引導(dǎo)學(xué)生提出提高就餐效率的可行性方案,通過(guò)討論和對(duì)比不同方案的優(yōu)缺點(diǎn)引出自助點(diǎn)餐系統(tǒng);其次,通過(guò)分析餐廳中人員及其行為特征,歸納出系統(tǒng)用戶類型及功能需求,幫助學(xué)生理解抽象解決問(wèn)題的方法?!白詈?,完成點(diǎn)菜功能和處理訂單功能的代碼,快速構(gòu)建點(diǎn)餐系統(tǒng)的原型。
需要注意的是,在活動(dòng)3中,由于學(xué)生初次使用StarUML軟件,對(duì)軟件功能的不熟悉、對(duì)“用例”概念的陌生,牽制了教學(xué)邏輯向?qū)W習(xí)邏輯的轉(zhuǎn)化,導(dǎo)致了活動(dòng)4系統(tǒng)原型核心代碼的完善環(huán)節(jié)時(shí)間略顯不足。
點(diǎn)? 評(píng)
模型是信息系統(tǒng)開(kāi)發(fā)過(guò)程中的一個(gè)不可或缺的工具,模型并不是實(shí)體系統(tǒng)本身,而是根據(jù)信息系統(tǒng)建設(shè)的需要尋找的系統(tǒng)約簡(jiǎn)物,有助于人們抓住系統(tǒng)核心內(nèi)容。實(shí)現(xiàn)模型化的過(guò)程稱為建模,其主要工作就是通過(guò)抽象的方法,忽略問(wèn)題的次要方面,抓取問(wèn)題的主要特征,并采用適當(dāng)?shù)谋憩F(xiàn)形式把它描繪出來(lái)。
抽象既是實(shí)現(xiàn)模型化的重要手段,也是計(jì)算學(xué)科中設(shè)計(jì)自動(dòng)化工程實(shí)現(xiàn)的重要步驟,還是計(jì)算思維的重要組成部分。在本課教學(xué)過(guò)程中,執(zhí)教教師從食堂點(diǎn)餐這一生活實(shí)例切入,引導(dǎo)學(xué)生討論點(diǎn)餐系統(tǒng)中的人員分類,發(fā)現(xiàn)對(duì)于點(diǎn)餐系統(tǒng)而言,人員的年齡和性別都屬于可以忽略的不相關(guān)細(xì)節(jié),按角色將用戶分成點(diǎn)餐、出餐兩類人員,則是點(diǎn)餐系統(tǒng)的核心元素。這樣不僅把抽象的概念闡述得十分清楚,而且將抽象的過(guò)程展現(xiàn)了出來(lái),使得學(xué)生對(duì)抽象的認(rèn)知從一個(gè)較膚淺的識(shí)記層次過(guò)渡到較深入的理解層次。
建模的第二個(gè)關(guān)鍵環(huán)節(jié)則是選擇合適的工具建立模型,以描述待開(kāi)發(fā)系統(tǒng)的功能需求。為幫助學(xué)生理解采用規(guī)范方式描述系統(tǒng)需求的必要性和重要性,執(zhí)教教師設(shè)計(jì)了學(xué)生喜聞樂(lè)見(jiàn)的“你畫(huà)我猜”游戲,通過(guò)觀察和分析不同學(xué)生對(duì)同一個(gè)詞卡所作圖畫(huà)和不同競(jìng)猜者對(duì)同一幅畫(huà)的猜測(cè)結(jié)果,發(fā)現(xiàn)由于事先沒(méi)有約定統(tǒng)一的描述方法,導(dǎo)致對(duì)同一幅圖畫(huà)的理解存在不一樣的結(jié)果。游戲活動(dòng)引出統(tǒng)一建模語(yǔ)言UML,教師演示使用StarUML工具創(chuàng)建點(diǎn)餐部分用例,對(duì)學(xué)生獨(dú)立創(chuàng)建出餐部分用例起到了較好的范例作用。
在本節(jié)課中,學(xué)生通過(guò)解決點(diǎn)餐系統(tǒng)這個(gè)現(xiàn)實(shí)問(wèn)題,經(jīng)歷了從抽象特征到建立模型、構(gòu)建原型的過(guò)程,這正是快速原型法開(kāi)發(fā)信息系統(tǒng)的過(guò)程。以問(wèn)題解決的過(guò)程構(gòu)建教學(xué)邏輯主線,抽象與建模、模型與原型等知識(shí)就不是孤立的,而是通過(guò)邏輯主線前后聯(lián)系起來(lái),互相蘊(yùn)含、自然推演、逐步建構(gòu),并深深地銘刻于學(xué)生大腦之中,較好地體現(xiàn)了“用中學(xué)”“做中學(xué)”的課程理念。
(點(diǎn)評(píng)人:江蘇省鹽城市教育科學(xué)研究院信息技術(shù)教研員 曹恒來(lái))