Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS427 - lecture 11 CS427 Topics in Software Engineering Ralph Johnson:

Similar presentations


Presentation on theme: "CS427 - lecture 11 CS427 Topics in Software Engineering Ralph Johnson:"— Presentation transcript:

1 CS427 - lecture 11 CS427 Topics in Software Engineering Ralph Johnson: johnson@cs.uiuc.edu http://wiki.cs.uiuc.edu/cs427

2 CS427 - lecture 12 Topics Software architecture Architectural patterns Problem frames

3 CS427 - lecture 13 Software Architecture Software Architecture in Practice, by Len Bass, Paul Clements, and Rick Kazman Software Engineering Institute view on software architecture How architectures influence and are influenced by the organizations that create them and the systems they are part of.

4 CS427 - lecture 14 Software Architecture Large-Scale Software Architecture: A Practical Guide Using UML by Jeff Garland and Dick Anthony Not-yet-published book Alternative view of architecture, focusing on how to develop a system architecture

5 CS427 - lecture 15 Software Patterns Pattern-Oriented Software Architecture: A System of Patterns by Buschmann, Meunier, Rohnert, Sommerlad, Stal Architectural patterns, design patterns, and idioms Architectural patterns are similar to architectural styles in SAIP

6 CS427 - lecture 16 Problem Frames Problem Frames: Analyzing and Structuring Software Development Problems by Michael Jackson Finding the patterns in problems Claim: different kinds of problems require different kinds of architectural style

7 CS427 - lecture 17 Schedule First week –presentations by me Next nine weeks –short presentations by students on each chapter –you must read each chapter BEFORE the talk –project and essays –discussion

8 CS427 - lecture 18 Schedule May 29,30: intro to architecture June 4: 4+1 Views, SAIP 3, LSSA 2 June 5: LSSA 3, LSSA 4 June 6: SAIP 4, SAIP 5 … Two half-hour presentations each day.

9 CS427 - lecture 19 Schedule for presentations At least a week before presentations, the presenters will post a few questions At least two days before presentations, each person will post answers to the wiki, no more than a page in length. Presenters can use this to determine what to talk about. Presenters grade answers

10 CS427 - lecture 110 Example Questions SAIP 1-2,LSSA-1: How do the various definitions of software architecture conflict with each other? SAIP 3: Which of the architectural structures of section 2.5 are used here? What did you learn from studying them? SAIP 4: Which qualities are most important? Which one is hardest to understand? Why?

11 CS427 - lecture 111 Features of good questions Answers can be short Answers don’t require graphics Must read chapter to answer questions Answers let presenter know which part of the chapter should be emphasized

12 CS427 - lecture 112 Grades on Answers 3 - Outstanding answer 2 - Good answer, read the chapter and generally understood it 1 - Did you read the chapter? If so, you didn’t understand it very well Can miss 5 answers

13 CS427 - lecture 113 Project Work in pairs Build some web pages that relate architectural styles, architectural patterns, and problem frames to concrete systems.

14 CS427 - lecture 114 Project Examples Analyze an open-source system for patterns, how it solves a problem frame, or as a case study in the style of SAIP. –Last year: Python, Tomcat, Kannel, Linux –This year: Rotor, Squeak VM, Zebra

15 CS427 - lecture 115 Project Examples Describe the common architecture of a group of similar systems. –2001: messaging systems, MTS vs. EJB –2002: virtual machines

16 CS427 - lecture 116 Grade 25% - project 20% - presentation 20% - answers on chapters 15% - essays 10% - pattern 5% - course summary 5% - class participation

17 CS427 - lecture 117 Patterns Things that repeat Architectural patterns –styles like “three tier client/server” –designs like “parser/lexer/symbol table/analysis/code generation” –concerns like “efficiency” and “flexibility” –processes like “architect also implements”

18 CS427 - lecture 118 Patterns Best practices: copy other people Techniques: enlarge your tool box Vocabulary: language for discussing architecture

19 CS427 - lecture 119 Patterns Christopher Alexander - architecture theory –The Timeless Way of Building –A Pattern Language Contributions –balance of forces –problem/solution –pattern language –piecemeal growth

20 CS427 - lecture 120 Design Patterns Design Patterns: Elements of Reusable Software by Gamma, Helms, Johnson, and Vlissides First book on patterns of software Low-level object-oriented patterns

21 CS427 - lecture 121 Finding patterns Look at things Notice similarities Why does this similarity exist? What problem does this technique solve?

22 CS427 - lecture 122 Assignment Go to class wiki (wiki.cs.uiuc.edu/cs427) and make a home page for yourself. Put your e- mail address on it. Add a link to it from the class list. Decide which chapter you would like to present. Start thinking about a project.


Download ppt "CS427 - lecture 11 CS427 Topics in Software Engineering Ralph Johnson:"

Similar presentations


Ads by Google