Oct. 9, 2003CS 509 - WPI1 CS 509 Design of Software Systems Lecture #6 Thursday, Oct. 9, 2003.

Slides:



Advertisements
Similar presentations
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Advertisements

By Philippe Kruchten Rational Software
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 1 Utdrag ur Bruegges OH-bilder för första.
© Lethbridge/Laganière 2001 Chapter 9: Architecting and designing software1 Layers Data from IBM-Rational and Craig Larman…
CSCI 639 Topics in Software Engineering Assignment #3 Fall 2008.
Copyright W. Howden1 Lecture 6: Design Evaluation and Intro to OO Design Patterns.
Concepts of Systems Theory
Feb. 2, 2004CS WPI1 CS 509 Design of Software Systems Lecture #3 Monday, Feb. 2, 2004.
Nov. 13, 2003CS WPI1 CS 509 Design of Software Systems Lecture #11 Thursday, Nov. 13, 2003.
Sept. 11, 2003CS WPI1 CS 509 Design of Software Systems Lecture #2 Thursday, Sept. 11, 2003.
Oct. 2, 2003CS WPI1 CS 509 Design of Software Systems Lecture #5 Thursday, Oct. 2, 2003.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Oct. 30, 2003CS WPI1 CS 509 Design of Software Systems Lecture #9 Thursday, Oct. 30, 2003.
1 CS115 Class 7: Architecture Due today –Requirements –Read Architecture paper pages 1-15 Next Tuesday –Read Practical UML.
Nov. 6, 2003CS WPI1 CS 509 Design of Software Systems Lecture #10 Thursday, Nov. 6, 2003.
March 22, 2004CS WPI1 CS 509 Design of Software Systems Lecture #9 Monday, March 22, 2004.
1 CS 691z / 791z Topics on Software Engineering Chapter 17: Interfaces and Subsystems [Arlow & Neustadt, 2002] March 6, 2007.
Feb. 27, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #13 Tuesday, Feb. 27, 2001.
Feb. 20, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #11 Tuesday, Feb. 20, 2001.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
System Design Decomposing the System. Sequence diagram changes UML 2.x specifications tells that Sequence diagrams now support if-conditions, loops and.
Introducing Enterprise Technologies David Dischiave Syracuse University School of Information Studies “The original iSchool” June 3, 2013 Information School,
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Lesson 7 Guide for Software Design Description (SDD)
March 13, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #15 Tuesday, March 13, 2001.
CS101 Introduction to Computing Lecture SW Development Methodology.
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
University of Utah SoCCS Lecture 61 Architecture – An Introduction CS Lecture 6 Nathan Dykman.
CS540 Software Design Lecture 8 1 Lecture 8: Structured Design Anita S. Malik Adapted from Schach (2004) Chapter 13 and Appendix.
1 Designing the Architecture CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Week 3, Day 1, Monday, September 19, 2011.
Software Requirements Engineering CSE 305 Lecture-2.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Chapter 9 Moving to Design
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
SE: CHAPTER 7 Writing The Program
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Sept. 18, 2003CS WPI1 CS 509 Design of Software Systems Lecture #3 Thursday, Sept. 18, 2003.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Part VII: Design Continuous
1 CMPT 275 High Level Design Phase Modularization.
Lecture 18: Object-Oriented Design
 Design goals are derived form the non- functional requirements  Every subsystem is assigned to a team and realized independently  During system design,
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Software Design Chapter 11. Purposes of Design Design transforms the specification into a design. The end purpose of the design is to produce detail and.
Computer Science 340 Software Design & Testing Software Architecture.
Feb. 9, 2004CS WPI1 CS 509 Design of Software Systems Lecture #4 Monday, Feb. 9, 2004.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 1.
March 1, 2004CS WPI1 CS 509 Design of Software Systems Lecture #6 Monday, March 1, 2004.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
1-1 © Prentice Hall, 2004 Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
Oct. 16, 2003CS WPI1 CS 509 Design of Software Systems Lecture #7 Thursday, Oct. 16, 2003.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
10 Aug 2010 ECE/BENG-492 SENIOR ADVANCED DESIGN PROJECT Meeting #6.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
CS 325: Software Engineering
Lecture 9- Design Concepts and Principles
Chapter 13 Logical Architecture.
Object-Oriented Design
Lecture 9- Design Concepts and Principles
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Logical Architecture.
Software Design Lecture : 8
CS 8532: Advanced Software Engineering
Software Design Lecture : 6
Chapter 13 Logical Architecture.
Logical Architecture & UML Package Diagrams
Presentation transcript:

Oct. 9, 2003CS WPI1 CS 509 Design of Software Systems Lecture #6 Thursday, Oct. 9, 2003

Oct. 9, 2003CS WPI2 §Term Project administration §Questions §Quiz #3 §Review of Chapter 6 §System & Object Design Exercises Class Format for Today

Oct. 9, 2003CS WPI3 MC Project & Questions §Return Phase 2 documents §Questions? l About Term Project l From last week’s class l From the reading l Anything else?

Oct. 9, 2003CS WPI4 Quiz #3 Choose 5 questions to answer Or answer 6 for extra credit

Oct. 9, 2003CS WPI5 Chapter 6 System Design

Oct. 9, 2003CS WPI6 System Design Terminology §Decomposition §Subsystem (Vs. Class) §Control Flow §Access Control §Services Vs. Interfaces §Coupling Vs. Coherence / Cohesion §Layers & Partitions

Oct. 9, 2003CS WPI7 System Design §Focus: l Processes l Data structures l High level components §Challenges: l Managing conflicting criteria l Managing constraints

Oct. 9, 2003CS WPI8 Impact on Implementation §Coding complexity of subsystems §Cost of rework if design changes §Design of individual components should be delayed - Why?

Oct. 9, 2003CS WPI9 Software Architecture §Subsystem decomposition in terms of responsibilities §Dependencies among subsystems §Subsystem mapping to hardware §Policy decisions §Read & understand bullet list on page 171

Oct. 9, 2003CS WPI10 Subsystems Vs. Classes §Decompose system into simpler parts §Subsystems are composed of some number of classes §Complex subsystems may be further decomposed into smaller subsystems §How do you know when to stop?

Oct. 9, 2003CS WPI11 Services Vs. Interfaces §Service is a set of related operations that share a common purpose (Example?) §Interface is a specification (API) that includes: l Names of operations l Parameter names & types l Return values

Oct. 9, 2003CS WPI12 Focus of System Design §System Design focuses on defining services §Object Design focuses on defining interfaces §During System Design, keep it high level l Focus on services rather than implementation details l Why?

Oct. 9, 2003CS WPI13 Trade-off of conflicting goals §Sometimes increasing coherence also increases coupling – why? §Want a balance between high coherence and low coupling – how can we do both?

Oct. 9, 2003CS WPI14 Layers Vs. Partitions §Both are ways to manage complexity §Layers are hierarchical; partitions are not §Each layer uses services provided by which other layer(s)? §Layers have no knowledge of which other layer(s)? §Define: Closed Architecture Vs. Open l See diagrams on pages 180, 181

Oct. 9, 2003CS WPI15 Layers & Partitions Cont’d §Partitions are responsible for different classes of services §Which to use: Layers or Partitions? l Usually both l How do we know which to use when? §How much is too much? “Excessive partitioning or layering can lead to increased complexity.” Explain.

Oct. 9, 2003CS WPI16 System Design Exercise #1 §Last time we began to design an Internet Browser system. l Reconstruct high-level architecture l How would we represent this in terms of packages? l Should we use layers or partitions? l What services are provided by each subsystem?

Oct. 9, 2003CS WPI17 System Design Exercise #2 §High level architecture for a different type of system: l Word Processor l File System Explorer l E-commerce (e.g., Amazon.com) l Other ideas?

Oct. 9, 2003CS WPI18 Object Design Exercise #3 §Start with one of the System designs §Choose a single subsystem to focus on §Break down into smaller components §Focus on how services will be provided l Division of responsibility Which objects do what? l What interfaces are required between objects?

Oct. 9, 2003CS WPI19 For Next Time Chapter 7 Object Design