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

Slides:



Advertisements
Similar presentations
Study What’s that? Why? How?. School does not “do stuff” to you You do stuff to school – it is active You do stuff to school – it is active This is about.
Advertisements

Paperless Overnight The lowest cost most features rich system, totally up and running tomorrow.
John Porter Why this presentation? The forms data take for analysis are often different than the forms data take for archival storage Spreadsheets are.
1 Steve Chenoweth Monday, 10/24/11 Week 8, Day 1 Right – Funny watering can, from 07/06/04/nokia-menu-usability/.
1 CSSE 477: Swre Arch – This year’s course… Steve Chenoweth Tuesday, 11/8/11 Week 10, Day 2 Right – Sunset at the Louvre, in Paris From
1 Steve Chenoweth Tuesday, 10/04/11 Week 5, Day 2 Right – Typical tool for reading out error codes logged by your car’s computer, to help analyze its problems.
2/2/05lecture031 Deadlines! Kick-off task for today! You work at a private weather company. For the last 3 (three) months, you have been working on a task.
1 CSSE 477 – Intro to Modifiability Steve Chenoweth Friday, 9/23/2011 Week 3, Day 4 Right - A modified VW beetle, from
1 Steve Chenoweth Tuesday, 10/18/11 Week 7, Day 2 Right – One view of the layers of ingredients to an enterprise security program. From
1 Course Intro Construction & Evolution CSSE 375 Steve Chenoweth.
1 Software Product Lines Re-using Architectural Assets - continued from CSSE CSSE 477 Software Architecture Week 7, Day 2, including Ch 14 in Bass’s.
1 CSSE 477 – Intro to Performance Steve Chenoweth Friday, 9/2/11 Week 0, Day 2 Right – A close analogy to performance as we mean it – Danica Patrick in.
CSSE September.2008 Variations of PM approaches Chapter 2, pages
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
1 The ATAM A Comprehensive Method for rchitecture Evaluation & The CBAM A Quantitative Approach to Architecture Design Deci $ ion Making CSSE 377 Software.
Opinion Writing in Grades 1-3: Conservation
The Many Contexts of Software Architecture
Concept of Computer Programming November 2, 2011.
The following slide has the same photo at three resolutions. Each version has been resized in Powerpoint to occupy the entire width of the screen. Remember.
Let’s get blogging A general guide to documenting your work in EE 400d, including: Content Suggestions Formatting Photos & Photo Editing Video Linking.
Algebra 1 R. Jenkins, M.S., M.A..
How to Interpret Your Dreams. Painting an Accurate Picture of Your Dreams Recognizing Images and Events Interpreting Abstract Dreams Honing Your Interpretation.
Opinion Writing in Grades 1-3: RECYCLING
1 Documenting the Architecture CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Monday, September 26, 2011 Left – architecture of.
Warm-up Problem 2 Write three positive integers in a line. In the space just below and between each pair of adjacent integers, write their difference.
Cold War & the 1950s Website Inquiry Project. Task: Website Inquiry (100pts) no pencil all writing must be legible Part I: Ask Good Questions (25 points)
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
1 Agile is Dumb. 2 Look at Moodle List of Essays Get in groups of 4-5 Divide and read the readings in the category “agile is dumb” – About 20 minutes.
Supplementary Specifications (Chapters 20,22 - Requirements Text) Question 1 by Steve & Chandan (Along with others in the past! - See notes, below)
Jim Graham, Humboldt State University Geospatial Research Methods Instructor: Jim Graham
Supplementary Specifications (Chapters 20,22 - Requirements Text) 1.
1 Designing the Architecture CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Week 3, Day 1, Monday, September 19, 2011.
Building a Mindmap about Chapter One Let’s Communicate.
1.1Why did you use a computer? What other systems / resources could you have used? I used a computer because my handwriting isn’t that neat it also looks.
Week 2 Agenda Reaction paper due Thursday Keep up with readings –SE Code (25 min) –10 Commandments (10 min) –To Engineer is Human (3 hours) –Johnson Ch.
Intro to the CS4240 Project Slides from Oct
What is a portrait? A portrait is an image created by an artist which represents a person, a group of people or even an animal.
Meet the Document Tree Your roadmap to Web Design.
Opinion Writing in Grades 1-3: [Topic] Adapted by Angel Peavler and Jean Wolph from NWP i3 College Ready Writers Program materials KWP RSPDI.
How to start Milestone 1 CSSE 371 Project Info There are only 8 easy steps…
The World Wide Web is a great place to find more information about a topic. But there are a lot of sites out there—some are good and some are not so good.
1 Planning – Agile Style Highsmith, Ch 7 All kinds of iterations! CSSE579 Session 3 Part 1.
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
Click this to go to the first slide. Click this to go back to the slide with the programs on it. Click here to go to the next slide. Click this to go.
Child Labor Learning goal: SWBAT analyze the interactions between and among ideas and events, including how ideas and events influence one another.
One of the most important things that we did was the Google protest. That is what really got our class started with everything that we are doing now.
Eric Premo. A paragraph is a collection of related sentences dealing with a single topic. The purpose of any paragraph is to express an idea.
System Context and Domain Analysis Abbas Rasoolzadegan.
1 Design and Integration: Part 2. 2 Plus Delta Feedback Reading and lecture repeat Ambiguous questions on quizzes Attendance quizzes Boring white lecture.
Unit 5 Review Wordle was a popular discussion topic. Many of you analyzed the emphasis it placed on the text passage you used. Some of you changed your.
Applications of 3D z Applications that are used and why we use them Product design Modelling TV and film Web games Education Reconstruction Illustration.
Programming Behavioral Experiments in Flash Session 2 of 3 Building Your First Flash Experiment January 30, 2009 – Jeff Galak (NYU)
How to write Valentine’s Poem
CSE403 Software Engineering Autumn 2001 Prototyping Gary Kimura Lecture #5 October 10, 2001.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Week 8 English 4B. Monday: Bell Ringer 1.was 2.were 3.was 4.is 5.As the sky grew light, Tally heard the sound of the sea in the distance, a faint roar.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Happy Finals Week Seniors! Today: 1.Time to get organized (10 min). 2.Small group presentations – Civic Participation Projects 3.Small Group Discussions.
© 2015 albert-learning.com How to talk to your boss How to talk to your boss!!
CompSci 1 Lecture 2 HTML Webpages. Today’s Topics Basic HTML The basis for web pages “Almost” programming Upcoming Programming Java Reading Great Ideas.
How to Interpret Your Dreams. Painting an Accurate Picture of Your Dreams Recognizing Images and Events Interpreting Abstract Dreams Honing Your Interpretation.
Use the ideas you conceptualized as you draft the paragraph on a separate sheet of paper …  Include a topic sentence.  Write five or more complete thoughts.
Hidden Slide for Instructor
English Through Movies
Conceptual Modeling.
Year 7 E-Me Web design.
The Five Stages of Writing
Life Graph – Step #1 Today you’ll take the “The Times of Your Life” that you completed yesterday and begin to turn it into a “life graph”. You won’t.
CONTENTS     Enter text Enter text Enter text Enter text
Presentation transcript:

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

2 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. Today – 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 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 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 Where is Utrecht, exactly? Sort of between Uppsala and London… Utrecht also has a great university offering CS graduate programs in English. See

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 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 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! Ch 10 – Reconstructing Software Architectures

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