假設(shè),你所在公司的CEO請你對最近公司網(wǎng)站制作人員開發(fā)的250個內(nèi)部軟件進行一次檢查,以便找出建立可重用組件庫的備選功能組件,這些組件包括設(shè)計、代碼和測試用例。你該如何完成這項任務(wù)呢?以2009年左右的技術(shù)水平來說。這項任務(wù)并不容易完成。在這250個軟件應(yīng)用中,大約會有75個是少于1000個功能點的小型軟件,它們很可能會使用敏捷開發(fā)方式而且使用用戶故事作為主要的設(shè)計描述方式,同時也可能會混合使用其他的描述方法。對于單個的軟件應(yīng)用來說,用戶故事是非常有用的,但如果需要找出多個軟件應(yīng)用中的共同點,用戶故事就顯得不是那么有效了。
還可能會有大約50個軟件是超過5000個功能點的大型商業(yè)軟件,這些軟件很可能是用了多種正式的設(shè)計描述方式,也或許會使用UML方法來描述從聯(lián)合應(yīng)用設(shè)計(JAD)方法中收集到的需求。盡管UML方式可以幫助我們?yōu)閱为毜能浖?yīng)用建立模型,但是考慮到如此多的各具特點的UML圖表,如果找們要想通過審視大量項目的UML圖表(如50個項目)來試圖找出其中共有的功能,這仍然不是一件容易的或者很快就可以完成的工作。
自動化的工具,例如靜態(tài)分析工具,也許可以通過分析基于UML的元語言的語法結(jié)構(gòu)來找出共有的模型,但在2009年左右,這項技術(shù)還不能應(yīng)用到實踐中。在這250個軟件應(yīng)用中,還可能會有25個是科研項目軟件或工程項目軟件,它們可能會使用狀態(tài)變化圖、建模語言(如LePus3語言e ,Express語言。)或者質(zhì)量功能展開(QFD)方法所建立的“質(zhì)量屋“圖表以及其他多種架構(gòu)建模元語言。
余下的100個軟件應(yīng)用可能使用了多種描述方法。包括但不限于用例、UML方法、N-S圖、Jackson Design,流程圖、決策表、致?lián)飨驁D、HIPO圖以及其他各種方式。其中的一些方法可能會定義模型,但即使是對100個項口進行掃描檢查也不是一件容易的事情。
總結(jié)來說,這250個最新開發(fā)的軟件應(yīng)用使用了超過50種不同的設(shè)計語言和方法,而對其中的大部分語言和方法來說。進行相互轉(zhuǎn)化是一件非常困難的工作。同時,這些語育和方法也很難通過自動化驗證工具和自動化錯誤檢查工具來處理。
文章內(nèi)容來源于網(wǎng)絡(luò),侵刪