1 / 19

CS427

CS427. Topics in Software Engineering Ralph Johnson: johnson@cs.uiuc.edu Federico Balaguer: balaguer@uiuc.edu http://wiki.cs.uiuc.edu/cs427. Topics. Software architecture Architectural patterns Enterprise architectures. Software Architecture.

ryanstewart
Download Presentation

CS427

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. CS427 Topics in Software Engineering Ralph Johnson: johnson@cs.uiuc.edu Federico Balaguer: balaguer@uiuc.edu http://wiki.cs.uiuc.edu/cs427 CS427 - lecture 1

  2. Topics • Software architecture • Architectural patterns • Enterprise architectures CS427 - lecture 1

  3. 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. CS427 - lecture 1

  4. 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 CS427 - lecture 1

  5. Enterprise Architecture • Patterns of Enterprise Application Architecture by Martin Fowler et. al. • How to build large OO business systems • 51 patterns • Applicable to Java, .NET, Smalltalk, etc. CS427 - lecture 1

  6. Enterprise Solution Patterns Using Microsoft .NET • David Trowbridge, Gregor Holipe, James Newkirk, David Lavigne • A lot like Patterns of Enterprise Application Architecture, but explaining how to apply to Microsoft platform • https://www-courses.cs.uiuc.edu/~cs427/ MSFTPatternsV1.pdf CS427 - lecture 1

  7. Schedule • First week • presentations by me • Next thirteen weeks • Half-hour presentations by students on each chapter • you must read each chapter BEFORE the talk • project and essays • discussion CS427 - lecture 1

  8. Schedule for presentations • At least a week before presentations, the presenter will post a few questions • At least a day before presentations, each person will e-mail answers to the presenter, no more than a page in length. • Presenters can use this to determine what to talk about. • Presenters grade answers CS427 - lecture 1

  9. Example Questions SAIP 2: Compare and contrast software architecture with building architecture. SAIP3: What is an architectural question you have about the A-7E that the chapter did not answer? SAIP 4: Which qualities are most important? Which one is hardest to understand? CS427 - lecture 1

  10. 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 CS427 - lecture 1

  11. 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 CS427 - lecture 1

  12. Project • Work in groups of 4-8 people. • Build an electronic stock exchange using patterns in the class. • J2EE, .NET, or Smalltalk • Compare the resulting systems CS427 - lecture 1

  13. Grade • 25% - project • 20% - presentation • 15% - answers on chapters • 20% - essays • 10% - pattern • 5% - course summary • 5% - class participation CS427 - lecture 1

  14. Patterns • Things that repeat • Architectural patterns • styles like “three tier client/server” • designs like “parser/lexer/symbol table/analysis/code generation” • processes like “architect also implements” CS427 - lecture 1

  15. Patterns • Best practices: copy other people • Techniques: enlarge your tool box • Vocabulary: language for discussing architecture CS427 - lecture 1

  16. Patterns • Christopher Alexander - architecture theory • The Timeless Way of Building • A Pattern Language • Contributions • balance of forces • problem/solution • pattern language • piecemeal growth CS427 - lecture 1

  17. 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 CS427 - lecture 1

  18. Finding patterns • Look at things • Notice similarities • Why does this similarity exist? What problem does this technique solve? CS427 - lecture 1

  19. 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. CS427 - lecture 1

More Related