1 / 14

Reconstructing Software Architectures

Reconstructing Software Architectures. CSSE 477 (SAD Two*) Software Architecture Week 4, Day 4, including Ch 10 in Bass’s book. Today –. How’s Project 3 going? Reconstructing Archs - Chapter 10 in SA (Bass et al’s book)  (It’s what you’ve been doing documenting yours!)

mahola
Download Presentation

Reconstructing Software Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reconstructing Software Architectures CSSE 477 (SAD Two*)Software Architecture Week 4, Day 4, including Ch 10 in Bass’s book

  2. Today – How’s Project 3 going? Reconstructing Archs - Chapter 10 in SA (Bass et al’s book)  (It’s what you’ve been doing documenting yours!) Tonight – Turn in first architecture doc draft – I’ll give feedback over the weekend, and you then resubmit next Tuesday with final part of Project 3. Coming up – Monday – Turn in Term Paper Topic. Project 3 - Each team explain design changes and results (5 min. presentations like before, with demo). Tuesday – Project 3: Turn in results and new version of document draft.

  3. SA Ch 10 – Reconstructing Software Architectures Most freedom – Lacks constraints imposed by prior work • Ch 9 in SA was -- What the Architect Does to create a new system from scratch. • This is something software architects love to do – “Greenfield projects” • Middle ground – Designing something much like what you are used to. You borrow from an existing architecture, conceptually or wholesale! E.g., “another payroll system.” • Today – Ch 10 -- What happens in the “Worst case” – the reverse – You’re stuck with a system and don’t know its architecture? • Sometimes called “Brownfield projects” Perfect example of a “Greenfield project”? “Ok, team, next, we’re going to write the software to fly a blimp…” Image of Airship Industries Skyship 500 from web site www.greenfield.ch/HomeD/ produkte/IG/airship.htm Least freedom – All constrained by prior work, but hard to figure out how! Quiz Q 1

  4. Example from another world – Utrecht, The Netherlands Where’s that? • If anything happens to any of the old city, they have the plans for all of it. A great restaurant I’ve been to… Quiz Q 2

  5. Where is Utrecht, exactly? • Sort of between Uppsala and London… Utrecht also has a great university offering CS graduate programs in English. See http://www.uu.nl/uupublish/homeuu/homeenglish/1757main.html.

  6. SA Ch 10 – Reconstructing Software Architectures • Reasons for reconstructing (p. 232) – • To re-document architectures for some reason • E.g., • Show conformance to standards • Capture business knowledge • To understand architectural dependencies • E.g., • Leading to a new system • Decide if you can add on some new piece • To discover why it’s not working correctly •  The first year’s software architecture class did this with the Senior Projects – • What do you think their architectures were like? } In CSSE 375 one year, a team did this, for an open source system that had no documentation. Why? Quiz Q 3

  7. SA Ch 10 – Reconstructing Software Architectures Ch 10 emphasizes the systematic approach you’d have to take to reconstruct a large system’s architecture, from artifacts like source code -- What’s that? The “Database” here is something you build from all the artifacts, as the basis for analyzing them systematically. Quiz Q 4

  8. Ch 10 – Reconstructing Software Architectures How to represent the knowledge about the architecture that you find… “Rigi Standard Form” – type subject object The Subject does relationship Type to the Object Part of a bigger system for reconstructing things and dealing with the semantics: “Rigi is a system for understanding large information spaces such as software programs, documentation, and the World Wide Web. This is done through a reverse engineering approach that models the system by extracting artifacts from the information space, organizing them into higher level abstractions, and presenting the model graphically…” See http://www.rigi.csc.uvic.ca/ for more info!

  9. Ch 10 – Reconstructing Software Architectures Here’s an image of the four steps in Ch 10’s process --

  10. Ch 10 – Reconstructing Software Architectures Exasperatingly – it all looks like much lower level stuff than what you want -- Quiz Q 5

  11. Ch 10 – Reconstructing Software Architectures And the static view of it doesn’t even tell you everything! --

  12. Ch 10 – Reconstructing Software Architectures When you do get a view of something – It’s about what you’d expect, from a system that’s been hacked for a good long while…

  13. Ch 10 – Reconstructing Software Architectures Even fairly “organized” data is interwoven --

  14. Ch 10 – Reconstructing Software Architectures Getting pictures like this out of the information – a big win! … But, this is what we’re looking for on the your (pre-existing) projects! How much of a real architecture document can you recreate?

More Related