首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級(jí) | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 計(jì)算機(jī)專業(yè)英語 > 正文

A Two-phase Process for Software Architecture Improvement


  6 Related Work

  In Chapter 19, Software Architecture in the Future , of the textbook [BCK98] architecture migration technology is mentioned. Our paper is a first step towards this migration technology of the future, and to our knowledge this is a new subject. Of course, parts of the subject of architecture transformations already exist. To mention a few efforts to analyse software architectures: Rigi [SWM97], The Software Bookshelf [FHK+97], Dali [KC99], and efforts at Philips Research Labs [Kri97,KPZ99]. A lot of work has been done on code level; we mention Sneed's Reengineering Workbench [Sne98], the TAMPR system [BHW96], TXL [CHHP91], REFINE [Rea92], COSMOS [Eme98], RainCode [Rai98], the ASF+SDF Meta-Environment [Kli93], Elegant [Aug93,Phi93].

  The combination of architecture analysis tools and tools that work on the code level is an issue that gained attention at SEI under the name of CORUM [WOL+98,KWC98]. This effort aims at the interoperation of tools by a common format. Our approach differs from theirs in that we do not focus on interoperability, like sharing a parser both for architecture impact analysis and for code transformations. Instead of reusing parser output, we focus on reusing the source code of the parser, so that we can change the parser into a parser appropriate for reengineering [SV99a].

  Our approach is more in line with the COSMOS approach for solving the Y2K problem. After analysis, COSMOS returns a prescription of what needs to be done to the code. This prescription can be carried out by hand, or in some cases it can be executed automatically. A difference is that we focus on the transformation's impact on the architecture, which is mostly not the case with Y2K repair engines.

  In the impact phase (phase one) we adapt our RPA model in order to evaluate the effect of modifications of the architecture beforehand. This is comparable to the Software Architecture Analysis Method or SAAM [BCK98, Ch. 9]. The mathematical foundations of RPA [FO94,FKO98,FO99,FK99] are similar to the mathematical foundations of [Hol98].
  7 Conclusions

  The process for software architecture improvement that we have proposed in this paper is completely implementation-independent. The techniques that we combine still leave room for other possibilities. We have chosen Relation Partition Algebra as an abstract model of the software because we have had good experiences with the model and its usefulness in many applications. Related work as in [Hol98] can also be used. The architecture transformations are implementation-independent themselves. Only at the lowest level they are expressed in small programming-language-specific transformations. Any kind of compiler technology can be used for the implementation of these programming-language-specific transformations. We named a few in Section 6. We have chosen the software factory technology with its assembly lines because it comes close to our views on decomposable transformations.

  We have shown that the process for software architecture improvement is flexible in experimenting with new metrics and changes, in order to find those best suited for the systems we investigate. By forming ideas and trying them out in the model we can perform an early impact analysis. The changes made in the model are submitted as recipes containing high-level architecture transformations, which themselves consist of basic and composite transformations.

  The process for software architecture improvement separates architecture impact analysis from architecture transformations, which presents the following advantages from making changes in the software directly.

  During idea generation there is no interference with the daily work of the software developers.

  Impact analysis is performed on an abstract view of the system, which greatly reduces the amount of information. We can gain the insight we need, without being distracted by the details of the software.

  Making changes in a model gives us the opportunity to backtrack in the flow of ideas.

  The feedback of the changes is almost immediate.

  Last but not least, the process is open to future research results relating to finding appropriate architectural metrics and changes.

  The feasibility of the approach has already been proven in [Bro99] for clone elimination. In our future work we intend to test and implement this process for software architecture improvement. Our work will comprise the following steps.

  Development of an impact analysis system on top of existing RPA functionality.
  Implementation of a framework for logging and backtracking changes.
  Definition of proper basic architecture transformations.
  Implementation the basic architecture transformations.
  Evaluation of the process for a real-world system.

References

  Aug93
  L. Augusteijn.
  Functional Programming, Program Transformations and Compiler Construction.
  PhD thesis, Eindhoven University of Technology, 1993.
  BCK98
  L. Bass, P. Clements, and R. Kazman.
  Software Architecture in Practice.
  Addison-Wesley Publishing Company, 1998.
  BD99
  J. Brunekreef and B. Diertens.
  Towards a User-controlled Software Renovation Factory.
  In P. Nesi and C. Verhoef, editors, Proceedings of the Third European Conference on Maintenance and Reengineering, pages 83-90, 1999.
  BHW96
  J.M. Boyle, T.J. Harmer, and V.L. Winter.
  The TAMPR Program Transformation System: Design and Applications.
  In The SciTools'96 Electronic Proceedings, 1996.
  http://www.oslo.sintef.no/SciTools96/Contrib/boyle/
  scitlpap.912.ps.
  BKV96
  M.G.J. van den Brand, P. Klint, and C. Verhoef.
  Core Technologies for System Renovation.
  In K.G. Jeffery, J. Král, and M. Bartosek, editors, SOFSEM'96: Theory and Practice of Informatics, volume 1175 of LNCS, pages 235-255. Springer-Verlag, 1996.

  Available at: http://adam.wins.uva.nl/~x/sofsem/sofsem.html.
  BKV98
  M.G.J. van den Brand, P. Klint, and C. Verhoef.
  Term Rewriting for Sale.
  In C. Kirchner and H. Kirchner, editors, Second International Workshop on Rewriting Logic and its Applications, Electronic Notes in Theoretical Computer Science. Springer-Verlag, 1998.
  Available at: http://adam.wins.uva.nl/~x/sale/sale.html.
  Bro99
  J.W. Brook.
  Design and Implementation of a Tool for Re-clustering.
  Master's thesis, Eindhoven University of Technology, department of Mathematics and Computer Science, 1999.
  BSV97
  M.G.J. van den Brand, M.P.A. Sellink, and C. Verhoef.
  Generation of Components for Software Renovation Factories from Context-free Grammars.
  In I.D. Baxter, A. Quilici, and C. Verhoef, editors, Proceedings of the Fourth Working Conference on Reverse Engineering, pages 144-153, 1997.
  Available at http://adam.wins.uva.nl/~x/trans/trans.html.
  CC90
  E. Chikofsky and J. Cross.
  Reverse Engineering and Design Recovery: A taxonomy.
  IEEE Software, pages 13-17, January 1990.
  CHHP91
  J.R. Cordy, C.D. Halpern-Hamu, and E. Promislow.
  TXL: A Rapid Prototyping System for Programming Language Dialects.
  Computer Languages, 16(1):97-107, 1991.
  DKV99
  A. van Deursen, P. Klint, and C. Verhoef.
  Research Issues in the Renovation of Legacy Systems.
  In J.-P. Finance, editor, Fundamental Approaches to Software Engineering, LNCS. Springer-Verlag, 1999.

上一頁  1 2 3 4 5 6 7 8 9 10 下一頁
文章責(zé)編:ak47  
看了本文的網(wǎng)友還看了
文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。