張愛英
[摘要]首先介紹敏捷模式的在線廣播電視編輯系統的開發背景與平臺,然后概述系統功能的模塊化設計,最后按照敏捷項目的生命周期來描述實際的開發歷程以及應用。
[關鍵詞]廣播電視編輯敏捷模式軟件工程開發應用
中圖分類號:TN94文獻標識碼:A文章編號:在線廣播電視編輯系統是一個面向廣播電視播出管理機構的中小型項目。由于上級政策的變化和欄目調整等因素的影響,該系統會在開發及使用的過程中經常產生需求的變動,客戶在開發過程中提出新要求的概率極大。下面結合具體的開發過程,討論一下敏捷模式的理念在開發過程中的具體應用。
一、開發背景與平臺
在線廣播電視編輯系統將各種廣播電視稿件的起草、編輯、修改、領導批示、定稿、錄制、統計與匯總存檔的電子化,將有助于提高廣播電視稿件管理的效率和準確性。由于本系統注重人機交互,因此需要選擇合適的技術進行系統開發。制定了Visual C#.net的編碼規范,配置管理工具選擇了Microsofr.NET Framework,后臺數據庫管理采用SQL-Sverver2000,Internet Information Service6.0為信息服務器;本系統采用經典的基于Browser/Server的三層軟件體系結構。其中顯示層負責接收節目編輯、部門領導、管理員的操作以及顯示和返回結果;事務層放在Web服務器中,負責應用程序的運行和維護;數據層放在數據庫服務器端,負責提供數據的存儲、查詢和更新等服務。其最大特點是:用戶可以通過WWW瀏覽器去訪問Internet上的文本、數據、圖像、動畫、視頻點播和聲音信息,這些信息都是由許許多多的Web服務器產生的,而每一個Web服務器又可以通過各種方式與數據庫服務器連接,大量的數據實際存放在數據庫服務器中。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本。
二、系統功能的模塊化設計
在線廣播電視編輯系統應具備以下主要功能模塊:
1.用戶管理模塊。使不同用戶在相應的授權范圍內登陸系統進行操作,管理員、節目編輯、部門領導等人員信息的管理。
2.稿件在線編輯模塊。定時提供多媒體稿件、文字稿件等內容的起草和修改、上傳、下載、刪除等功能,對于已經播出的新聞稿件,實現統計匯總,數據備份管理。
3.稿件審批模塊。發布稿件處理公告,在線稿件的審理和批示,同時給出修改意見和稿件的播出優先級。對歷史稿件的查詢和匯總等功能。
三、系統的敏捷模式開發
這里將按照敏捷項目的生命周期來描述實際的開發歷程。
(一)需求與設計階段——“用戶故事”并結合“現場客戶”。敏捷管理方法強調靈活,所以用戶可以在開發過程中依次將需要提供給開發團隊。所謂“用戶故事”(User Stories)是一種輕量級的收集客戶需求的新方式。它是將用戶需求用一個個獨立的、簡短的功能描述語句來表達。這樣,用戶可以隨時刪除一個用戶故事,也可以隨時加入一個。這些“用戶故事”的集合構成系統功能的概述性描述。對于系統的詳細描述,要由“現場客戶”來解決,而不是寫在紙上。“現場客戶”是指讓一個兩個全職的客戶或最終用戶或最終用戶代表參加到開發團隊中來,提供現場指導。
在此根據用戶需要,選擇了稿件在線編輯子模塊作為優先開發實現的功能模塊,用戶的功能結構框圖如圖1所示。
將功能翻譯成初始用戶故事,具體內容如下:
1.登錄的用戶故事:系統能夠根據用戶——新聞編輯的賬號,顯示正確的用戶界面;2.新聞起草的用戶故事:新聞編輯根據編輯頁面,添加新的文字、多媒體新聞稿件;3.稿件修改的用戶故事:在線對已經提交的稿件按照要求及時修改;4.稿件的提交審批用戶故事:新聞編輯在規定時間對起草的稿件及時提交,供領導審批;5.查閱審批意見用戶故事:新聞編輯網上查閱領導的批示意見,按照要求修改、定稿。
圖1
這些初始用戶故事集合和架構構成了項目的基礎。在迭代中,將實現這些用戶故事,隨著項目的進展,這些用戶故事以反映對系統的更進一步的理解。根據對用戶故事的感興趣程度,開發人員挑選自己的用戶故事,選擇合作人員。并對所需的工作時間有比較正確的估計。這確定了第一個版本發布計劃,并開始迭代。
(二)開發編碼階段——迭代開發。在敏捷管理的實踐中,全局視圖要和軟件源代碼本身一起演化。在每次迭代中,都要改進系統的設計,使設計盡可能適合于當前系統。關注當前的系統結構,使其盡可能的靈活。開發人員可以根據自己實現的情況對用戶故事進行增減,盡快地從客戶代表那里得到意見反饋,以實現本次迭代中重要功能。在本系統的開發小組中,每個編寫代碼工作由兩個人結對完成,結對編程的2名開發人員在同臺電腦上共同進行設計、算法、編程和測試,其中1人使用鍵盤,另1人復查代碼以保證代碼的正確性與可讀性。
敏捷開發主張在實現功能代碼之前,先編寫單元測試。項目建立了對系統中各個類測試框架,以便實現系統中類功能并對類的功能進行測試。在測試過程中,不斷改進現有代碼和數據庫的結構,及時地討論,并相互交換代碼進行修改,獲取解決方案。在迭代周期中,根據用戶的信息反饋,同時逐步添加了如:登錄身份驗證、輸入有效性驗證驗證、信息加密存儲等有關系統安全性設計的內容。
(三)測試發布階段——小型發布。敏捷模式要求在非常短的時間周期內以遞增的方式發布新版本,從而可以比較容易地估計每個迭代周期的進度,便于控制風險和工作量,也可以及時處理用戶的反饋。
當發布第一個版本的時候,在客戶方為配置好系統,進行測試和對照已經成型的系統提出客戶更細致的想法。在項目實施過程中,每個迭代周期就會進行一個小型發布。及時地發布小型版本能有效地避免將來客戶提出新要求所帶來的修改太過復雜的問題。項目小組在下一個迭代周期結束前及時修復所有用戶提交的問題。確保每個版本都給企業帶來最大的收益。
在對系統不斷地測試和用戶的及時反饋中,實現了所有用戶故事。整個在線系統經過10周的迭代開發,經過不斷跟蹤、重構、測試,截止到最后第3個版本發布后,已能較穩定地在企業局域網內部順利運行,獲得較為滿意的結果。1671-7597(2009)1210030-01