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