CS427 Topics in Software Engineering

Slides:



Advertisements
Similar presentations
Cornell Notes.
Advertisements

LECTURE 1: COURSE INTRODUCTION Xiaowei Yang. Roadmap Why should you take the course? Who should take this course? Course organization Course work Grading.
Course Overview CSE8313 Object-Oriented Analysis and Design Spring 2015 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist University.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 6.
CS150 Introduction to Computer Science 1 Professor: Chadd Williams.
Fundamentals of Software Development 1Slide 1 Gang of Four The beginnings… The original “patterns” idea was from architecture – there are repeatable patterns.
Design Patterns Daniel McClain. Background What are they?  Way of recording solutions to recurring design problems History  “A Pattern Language: Towns,
Introduction to Design Patterns (1). “ In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software.
Welcome to CS680! Tue Thu 7pm - 8:15pm :-(
Ralph Johnson - University of Illinois1 Patterns: What They Are, and How to Write Them Ralph Johnson University of Illinois at Urbana-Champaign
OOHDM Hypermedia Research Work Designing Web-based applications with Object Oriented Hypermedia Design Method OOHDM.
December 9, 2001Architectural Design, ECEN Architecture – Layers, in particular ECEN 5543 / CSCI 5548 SW Eng of Standalone Programs University of.
CS427 - lecture 11 CS427 Topics in Software Engineering Ralph Johnson:
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
Strategies for Math Success Russell Conwell Learning Center Online Workshop.
Design Patterns Introduction. What is a Design Pattern?  A technique to repeat designer success.  Borrowed from Civil and Electrical Engineering domains.
Design Patterns Trends and Case Study John Hurst June 2005.
Cf.OBJECTIVE (ANZ) Design Patterns and Form Processing Jaime Metcher Software Architect, Centre for Innovation in Professional Learning, University of.
Chapter 7 GRASP patterns Dr Seham Mostefai CAP 252.
Software Engineering II (Spring 2008) Instructor: Instructor:Dr. Damla Turgut Office: Office:450 ENGR 1 Bldg Office Phone: Office Phone:(407)
Patterns. Design comes from Modeling (requirements, analysis, problem) Mending (patch, refactoring) Memory (patterns, recall)
樣式導向設計 (Pattern-Oriented Design) 課程簡介 Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Introduction to Design Patterns (1). Definition: “ In software engineering, a design pattern is a general reusable solution to a commonly occurring problem.
Cornell note taking stimulates critical thinking skills. Note taking helps students remember what is said in class. A good set of notes can help students.
Software Specification and Design Sirisin Kongsilp & James Brucker.
Sept Ron McFadyen1 UML & Design Patterns Course outlineoutline /3 Advanced Systems Design.
January 12, Introduction to Design Patterns Tim Burke References: –Gamma, Erich, et. al. (AKA, The Gang of Four). Design Patterns: Elements of Reusable.
Creational Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
Powerpoint Templates Page 1 Powerpoint Templates What is Design Patterns ? by Indriati Teknik Informatika – UB.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
CS 325: Software Engineering February 12, 2015 Applying Responsibility-Assignment Patterns Design Patterns Situation-Specific Patterns Responsibility-Assignment.
A Reference Model for Event Patterns Christian Silberbauer
Bulgarian Grading: Essay style Hannah Allen. Pedagogy The method and practice of teaching.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Cornell note taking stimulates critical thinking skills. Note taking helps students remember what is said in class. A good set of notes can help students.
1 CS4521 – Mobile and Topics in Web Programming L. Grewe.
Cornell note taking stimulates critical thinking skills. Note taking helps students remember what is said in class. A good set of notes can help students.
1 CS6320 – SW Engineering of Web- Based Systems L. Grewe.
Patterns and AntiPatterns Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
CS 160: Software Engineering October 22 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
CS 345 – Software Engineering Nancy Harris ISAT/CS 217
Software Engineering Administrivia September 5, 2001 Joseph Conron Computer Science Department New York University
Advanced Object-Oriented Design Patterns and Architectures Part One COEN396A John Xiao
Design Patterns: Elements of Reusable Object- Orientated Software Gamma, Helm, Johnson, Vlissides Presented By: David Williams.
CS251 – Software Engineering Lectures 18: Intro to DP Slides by Rick Mercer, Christian Ratliff, Oscar Nierstrasz and others 1 و ابتغ فيما آتاك الله الدار.
Patterns Composite Pattern. Patterns All designers use patterns. Patterns in solutions come from patterns in problems. "A pattern is a solution to a problem.
CSE 403 Lecture 27 Course Wrap-up Discussion slides created by Marty Stepp
Administrative Information SC/CSE SU10 -- Software Design.
SAIP 19 - Software Architecture in the Future. The book says … ABC Revisited Architecture and Legacy Systems Achieving an Architecture From Architecture.
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
CS 345 – Software Engineering Nancy Harris ISAT/CS 217
01 - Course Intro.CSC4071 CSC407S / 2103S ECE450S Software Architecture & Design (ECE: Software Engineering II) Prof. Penny LP396C
Object Oriented Methodology Course Introduction. Objectives A 3-credit hour graduate course explaining the development of object oriented software systems.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is prepared based.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
Design Patterns: Summary and Next Steps Y. NARAHARI Computer Science and Automation INDIAN INSTITUTE OF SCIENCE Bangalore –
Design Patterns CSCE 315 – Programming Studio Spring 2013.
Design Patterns Source: “Design Patterns”, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides And Created.
Design Patterns: MORE Examples
Chapter 24: Architecture Competence
Advanced Programming Dr. Sadi Seker.
Lecture 17 ATAM Team Expertise
Course Overview CSE8313 Object-Oriented Analysis and Design
Objects, Patterns, Idioms, and Architecture
EECE 310 Software Engineering
Software Design Lecture : 27.
CIS 644  Object-Oriented Design and Development. (3) 
Presentation transcript:

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

Topics Software architecture Architectural patterns Enterprise architectures CS427 - lecture 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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