3
3 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 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 produkte/IG/airship.htm produkte/IG/airship.htm SA Ch 10 – Reconstructing Software Architectures Most freedom – Lacks constraints imposed by prior work Least freedom – All constrained by prior work, but hard to figure out how! Quiz Q 1

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

5
5 Where is Utrecht, exactly? Sort of between Uppsala and London… Utrecht also has a great university offering CS graduate programs in English. See

6
6 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? SA Ch 10 – Reconstructing Software Architectures In CSSE 375 one year, a team did this, for an open source system that had no documentation. Why? } Quiz Q 3

7
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 -- The “Database” here is something you build from all the artifacts, as the basis for analyzing them systematically. What’s that? Quiz Q 4

8
8 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 for more info!http://www.rigi.csc.uvic.ca/ Ch 10 – Reconstructing Software Architectures

14
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?