?

基于能力培養的常用軟件設計方法教學研究

2016-12-12 13:04徐栩娟劉述民
成才之路 2016年36期
關鍵詞:形式化結構化專業課

徐栩娟+劉述民

摘 要:常用軟件設計方法有結構化方法、面向對象方法、Jackson方法、原型法、形式化法、生命周期法等。文章對比分析了這些方法的設計思想及開發過程,并對比分析了各方法的優缺點。

關鍵詞:專業課;常用軟件;結構化;原型法;形式化;設計

中圖分類號:G718.5;G710 文獻標志碼:A 文章編號:1008-3561(2016)36-0013-01

當前,普遍采用的軟件設計方法有結構化分析與設計方法 (SD/SA)、Jackson(JSP/JSD)系統開發方法、原型法、生命周期方法等多種方法。為了更好地展現各種方法的特性,本文從設計思想、設計步驟或流程、優缺點等方面對各軟件設計方法進行了相應對比和分析,為軟件設計教學工作提供一定的參考。

一、結構化分析與設計方法(SD/SA)

結構化分析方法又稱作SD方法或SA方法,它是通過把現實世界逐一描繪為各種數據在信息系統中的一種流動,同時在數據不斷流動過程中進行數據和信息之間的轉化?;舅枷肟擅枋鰹椋夯谝环N將功能逐一分解的設計模式,不斷把復雜和綜合問題逐層進行分解,以便對問題進行簡化——自頂向下,逐層細化,從而將復雜的程序結構劃分為多個功能完全不相關或者獨立的小模塊,最終達到最簡化的過程。優點:比較直觀、應用簡單、容易理解,目前已經獲得了較為成功的實踐經驗,在市場推廣方面有較大的優勢。不足:首先,因為從抽象思維出發對模塊進行細化,所以得到的子模塊方案各異,共性較低;其次,由于對問題理解上的偏差,導致繼承性較為困難;再次,該方法的自適應能力相對較弱,其設計的軟件重用率不高,從而延緩了開發周期;最后,設計文檔時常出現與表示體系不一致的現象。

二、Jackson(JSP/JSD)系統開發方法

Jackson開發方法分為JSP和JSD兩種。(1)JSP開發方法。JSP方法是一種面向數據結構的程序設計方案。其基本思路是按照輸入、輸出和內部信息的三種數據結構形式進行設計,從而把對數據結構的描述轉變成一種程序結構的描述方案,因此可實現通過數據結構來反映程序結構的方法。其基本思想可描述為:首先采用自頂向下的思想按功能對系統進行劃分,并逐步求出各子問題的解,將軟件開發流程視為軟件的生命周期,最終建立一種所謂的瀑布模型?;緦崿F步驟可描述為:分析、設計、編碼、測試、運行及后期維護。優點:簡單易學;準入門檻底,對設計者的要求不高。不足:難以滿足規模較大的軟件系統設計,且JSP方法難以對付結構沖突問題。因此,該法僅適用于小型程序的開發。(2)JSD方法。此方法稱作杰克遜系統開發方法,它以事件的驅動為中心,將相連的順序組合構成程序進程,系統設計模型可進一步抽象成若干條以通信方式進行相聯的進程?;驹O計思想描述為:首先通過仿真來理解并描述客觀事實,其次添加相應輸出功能,最后通過某種收到實現系統間的轉換。方法實現步驟為:實體的動作分析過程→實體結構分析→定義初始模型→功能描述→決定系統時間特性→硬件和軟件實現。優點:實現了同類軟件和客觀世界間的關系研究,并確定了各類軟件系統和軟件現實決策間的界限。不足:對客觀現實同類軟件間的相互關系認識不夠完整,有待提升;構造的軟件實現結構較為復雜,有待簡化;對軟件結構的相關描述不完善;JSD在實現階段較為費時和復雜,且需要手動實現。

三、原型法

原型法可分為示例型和漸增型兩大類。其實現思路為:利用設計程序自動生成軟件工程運行環境,以便構造出簡化的實際系統模型,從而便于軟件開發人員和用戶間進行有效交流,大大提高了設計的靈活性。該方法實現過程要求迅速,否則便失去了意義。開發基本步驟可大致分為四步:系統簡化→原型實現→系統修改→最終實現。優點:能適應各種模糊不清和變化不定的用戶需求。不足:需要具備較強的知識理論基礎,同時需要以相應的硬件環境作支撐。

四、生命周期法

生命周期法學也把軟件開發過程分為若干獨立階段。在軟件實現過程中,各階段分別完成一定任務,并實現最終的軟件配置程序/文檔。在完成各階段性任務過程中,可運用結構分析(SA)技術、結構設計(SD)技術和其他相關輔助工具。在編程過程中,使用了SP(結構化程序設計)語言,在各階段結束時需要進行細致的復審過程,只有各項參數合格后才能進行下一步驟的工作。因此,該方法將軟件的生命周期依次分為系統需求分析、系統設計、系統實現、系統測試、系統維護五大階段。優點:該方法采取了自頂向下、逐步求精的設計思想;模塊化設計過程中,運用了結構化程序設計方法,采用了嚴格的復審及測試程序,保障了軟件的可維護性。不足:對時變系統不太適用,開發出的軟件穩定性、可重用性和可維護性都比較差。

五、結束語

總之,以上各種軟件設計方法均存在一定的優勢和缺陷。因此,相關專業的師生在設計時,應根據設計的主客觀條件進行相應的選擇,提高設計能力,充分利用自身和環境優勢完成軟件的設計。

參考文獻:

[1]顧明.軟件工程中幾種常用的軟件開發方法的概述和比較[J].計算機科學,1999(26).

[2]楊瑞龍,朱征宇,朱慶生.引入軟件設計模式的面向對象程序設計教學方法[J].計算機教育,2012(10).

猜你喜歡
形式化結構化專業課
促進知識結構化的主題式復習初探
結構化面試方法在研究生復試中的應用
“導入課”在高校專業課實施“課程思政”的實踐與思考
如何開展班集體德育活動,深化活動育人實效性
倡導教學方法多樣化 防止教學模式形式化
服務學習在高職社會工作專業課內實踐教學中的探索
基于圖模型的通用半結構化數據檢索
研究生專業課學分制教學改革探討
關于大學專業課排座位的思考
基于軟信息的結構化轉換
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合