Lecture 09: Software Architecture (Part I)

Slides:



Advertisements
Similar presentations
29 Jul 2005CSE403, Summer'05 Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student.
Advertisements

Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
1 SWE Introduction to Software Engineering Lecture 5.
Data and Process Modeling
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.
Architectural Styles, Design Patterns, and Objects Architectural Styles, Design Patterns, and Objects By Robert T. Monroe, Andrew Kompanek, Ralph Melton,
Consecutive Numbers Unit 5 – Activity 1 0, 1, 2, 4, 6, 8, 9, 11, Can you find any consecutive numbers?
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
13 Jul 2006CSE403, Summer'06, Lecture10 Lifecycle Architecture Review: Preliminary Feedback Valentin Razmov.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
CSE 403, Spring 2007, Alverson Software Architecture “Good software architecture makes the rest of the project easy.” McConnell, Survival Guide.
Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed., Addison-Wesley, 2006 and on the Ch11 PowerPoint.
Software Architecture “Good software architecture makes the rest of the project easy.” Steve McConnell, Survival Guide “There are two ways of constructing.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
CS-2852 Data Structures LECTURE 3B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
06 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Requirements Gathering Techniques (Part II) Valentin Razmov “The goal of requirements engineering is.
Architectural Styles, Design Patterns, and Objects Joe Paulowskey.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
11 Jul 2005CSE403, Summer'05, Lecture 08 Lecture 08: Best Practices for Software Design (Part I) Valentin Razmov.
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
4+1 View Model of Software Architecture
Objective: Learn to describe the relationships and extend the terms in arithmetic sequence.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Design Patterns (II) Lecture Three. Solution to Homework Two Used framework Used design patterns: composite and state Question: what are the differences.
07 Jul 2006CSE403, Summer'06, Lecture10 Lecture 10: Core Principles and Best Practices for Software Design (Part I) “Treat design as a wicked, sloppy,
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
05 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Techniques for Gathering Requirements Valentin Razmov “The goal of requirements engineering is to develop.
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Deliverables: Zero-Feature Release Build process, installation process, code repository, automated testing framework, bug tracking system Maybe no tests.
07 Aug 2006CSE403, Summer'06 Final Exam: Take-home versus In-class Valentin Razmov Take-home No rush to complete in 1 hour at 9:40am More realistic (but.
14 Jul 2005CSE403, Summer'05, Lecture 09 Lecture 09: Fundamental Principles and Best Practices for Software Design Valentin Razmov.
27 Jul 2006CSE403, Summer'06, Lecture 15 Midterm Exam Statistics Other statistics: Average: 40.6 Median: 42.3 Std Dev: 6.2 Max: 46.5 Min: 28 Easiest Problems:
CompSci 280 S Introduction to Software Development
Introduction to UML.
Classroom Interaction via Tablet PCs and Student Submissions
Object-Oriented Techniques
Introduction to Design Patterns
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Best Practices for Software System Design
Software Design and Architecture
Lecture 11: Scheduling, Estimation, and Prioritization
CH#3 Software Designing (Object Oriented Design)
The Object Oriented Approach to Design
INFS 6225 Object-Oriented Systems Analysis & Design
CS 425/625 Software Engineering Architectural Design
Lecture 07: Techniques for Gathering Requirements
Systems Analysis and Design in a Changing World, 6th Edition
Object oriented analysis and design
Design Tips.
Software Design Lecture : 15.
Questions First On class? On project? On material we’ve discussed?
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
CS310 Software Engineering Lecturer Dr.Doaa Sami
4+1 View Model of Software Architecture
Lecture 15: Scheduling, Estimation, and Prioritization (Part II)
An Introduction to Embedded Software Architecture and Design
4+1 View Model of Software Architecture
Sample Test Questions Please identify the use cases of the system that cover all the behaviors described in the system specification. Please identify.
Chapter 5 Architectural Design.
References: Eddie Burris, Rick Mercer
Questions First On class? On project? On material we’ve discussed?
PASSI (Process for Agent Societies Specification and Implementation)
Section 01: Life Cycle Objectives Review
Lecture 07: Team Environment Issues (Part I)
Chapter 13 Logical Architecture.
Presentation transcript:

Lecture 09: Software Architecture (Part I) “Good software architecture makes the rest of the project easy.” -- Steve McConnell 06 Jul 2006 CSE403, Summer'06, Lecture09 Valentin Razmov

Outline Standard notations for expressing architectural designs Dataflow / state diagram Class diagram (upcoming) Sequence diagram (upcoming) 06 Jul 2006 CSE403, Summer'06, Lecture09 Valentin Razmov

Resources “Code Complete”, 2nd ed., by Steve McConnell Ch. 5: http://www.cc2e.com/docs/Chapter5-Design.pdf “Design Patterns Explained – A New Perspective on Object-Oriented Design”, by Alan Shalloway and James Trott 06 Jul 2006 CSE403, Summer'06, Lecture09 Valentin Razmov

The Basic Problem: Getting from Requirements to Code How do you bridge the gap between requirements and code? ? ? ? Code 06 Jul 2006 CSE403, Summer'06, Lecture09 Valentin Razmov

From Requirements to Code: One Possible Path A Miracle Happens! Ad hoc, requires gurus, unpredictable, COSTLY, unmaintainable – Code and Fix Code 06 Jul 2006 CSE403, Summer'06, Lecture09 Valentin Razmov

From Requirements to Code: A Better Organized Answer Provide a high-level framework to build and evolve the system Software Architecture Provide a high level design, an architecture, a framework, to build around and evolve with Code 06 Jul 2006 CSE403, Summer'06, Lecture09 Valentin Razmov

An Architecture Helps with … level of abstraction, vocabulary, constraints System understanding Reuse Construction Evolution Analysis Management Communication of components, identifies commonalities partial blueprint organization for change, separates “what” from “how” of components and connections good milestone between stakeholders 06 Jul 2006 CSE403, Summer'06, Lecture09 Valentin Razmov

Notations: Dataflow / State Diagram High-level, coarse grained Used to describe interactions between the components of a system Example: 06 Jul 2006 CSE403, Summer'06, Lecture09 Valentin Razmov