Software Architecture(SA) reconstruction and recovery of dynamic views -


to prevent ongoing project degeneration, crutial document changes throughout lifetime of project , update architecture. not case various reasons. therefore, there have been research on automatic recovery of sa source code. interesting dynamic view of system @ runtime.

by dynamic view refer view information on method calls between components presented(e.g. sequence diagram in uml).

as don't have experience on software architecture design, question is:

  • what specific information architect interested in, during analysis of software architecture dynamic views? specific questions need able answer analysing this?

for example,

  • is useful see messages sent between components in step-by-step mode?
  • is useful present method call patterns?
  • is helpful present highly communicating components
  • is amount of data flow between components useful visualized in dynamic view.
  • the thread in method call executed
  • distinguishing instances of components(or visualize type).

or other suggestions.

also, interesting, what tools have experienced throughout career? 1 example tool have encountered kieker framework, want, lacks, in opinion, visualization techniques.

a software architect typically interested in components exist in application. should looking things need in architecture description (component model, coupling decisions, etc).

picking components have lot of communication between them might point of interest. far can understand question seem have outdated architectural description. make comparison's see points have changed, new code introduce high coupling? layer rules being violated new approach?

points of interest can include:

  • the class diagram
  • component model
  • tier model
  • layer model
  • deployment model

although these might not accessible tool can work towards them if keep these things in mind. process of working bottom (source code example) top called: "reverse engineering".

for further reading recommend these slides.

update

dynamic view focuses on monitoring process , in doing recovers sa information. explained quote:

static analysis aims @ recovering structure of software system, while dynamic analysis focuses on run time behaviour.

reference

but really, aren't working towards same goal? while monitoring process different static analysis both work towards recovering architecture. amount of detail such methods should recover (which question) dependant on size of project , amount of time given task.

are talking massive project (complete bank system) or smaller? choice between time when comes this. dynamic analysis takes quite long time complete might ask if need information tool can obtain. medium sized project interested in following questions:

  • which components exist within project?
  • how methods called?
  • which components have communication?

with these 3 questions possible recover of component model. in case still missing lot of information software architecture recommend static analysis recover class diagram example/perhaps detect layer model being used (and rules). combining 2 of them might more time efficient solution. deployment model should not hard create either.


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

jquery - How would i go about shortening this code? And to cancel the previous click on click of new section? -