John D. McGregor Module 6 Session 1 More Design

Slides:



Advertisements
Similar presentations
Lecture 6: Software Design (Part I)
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Chapter 11 Component-Level Design
Ch 3 System Development Environment
Object-Oriented Analysis and Design
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
The Architecture Design Process
Introduction to UML Visual modeling Models and its importance
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
CPSC 372 John D. McGregor Module 3 Session 2 Architecture Analysis/Design.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
CPSC 872 John D. McGregor Session 16 Design operators.
An Introduction to Software Architecture
CPSC 875 John D. McGregor C16 - DSMs. Partitioning _jetta_horn_recall/index.htm?hpt=T2
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
SOFTWARE DESIGN.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
CSE 219 Computer Science III Program Design Principles.
Systems Analysis and Design in a Changing World, 3rd Edition
Top-Down Design and Modular Development. The process of developing methods for objects is mostly a process of developing algorithms; each method is an.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
CPSC 871 John D. McGregor Module 4 Session 1 Architecture Analysis/Design.
CPSC 372 John D. McGregor Module 3 Session 5 Assignment and References.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
CPSC 871 John D. McGregor Module 5 Session 1 Design Patterns.
Lab 5 CPIT 250 System Analysis and Design.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CPSC 875 John D. McGregor C15 – Variation in architecture.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Design CS 470 – Software Engineering I Sheldon X. Liang, PH.D.
1 Unified Modeling Language Michael K. Wildes University of California, Riverside – Extension Program Presentation 2.
Basic Characteristics of Object-Oriented Systems
Object Oriented Analysis & Design By Rashid Mahmood.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
Fundamentals of Object Oriented Modeling
John D. McGregor Module 3 Session 2 Architecture Analysis/Design
Chapter 1: Introduction to Systems Analysis and Design
The Movement To Objects
Object-Oriented Analysis and Design
Object-Oriented Techniques
Systems Analysis and Design With UML 2
Introduction to UML Tutorial 1.
Software Design AITI GP John Paul Vergara.
Names, Binding, and Scope
Component-Level Design
CS223: Software Engineering
Object oriented analysis and design
Software Design Lecture : 15.
Software Design Lecture : 14.
An Introduction to Software Architecture
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Copyright 2007 Oxford Consulting, Ltd
Chapter 1: Introduction to Systems Analysis and Design
What Is Good Software(Program)?
CS 2704 Object Oriented Software Design and Construction
John D. McGregor C15 – Variation in architecture
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

John D. McGregor Module 6 Session 1 More Design CPSC 871 John D. McGregor Module 6 Session 1 More Design

IBM Design Principles http://www-01.ibm.com/software/ucd/designconcepts/designbasics.html

Software Product Line Design Everything you have heard up to now still applies Plus Variation mechanisms

So what is good design? From our work on architecture we know that “good design” is a design that meets its quality attribute goals Software design is about managing complexity

Designing away complexity Break the solution down into smaller pieces Break it down by separating concerns Satisfy the one concern then move on Represent the problem in the solution Ensure that each design is correct as you go All of this is supported by modeling tools that help visualize the design

Design paradigms Functional – the work to be done is broken into functions that do specific tasks by calling other more narrowly focused functions. Data is passed around as parameters or globals. Object-oriented – Functions and the data they work on are grouped inside objects. Classes are defined as “types” so that individual objects are instances of those types.

Unified Modeling Language (UML)

UML Model driven development uses models to record design The human still makes design decisions but the tools provide means of evaluating design decisions A model is a set of diagrams that describe the design from a variety of perspectives. Information on the diagrams must be consistent.

UML - 2 We started out with use cases which are one way of representing the requirements. This gives a picture of the problem.

UML-3 The solution is captured in several diagrams Package diagram - divides the model into modular sets Class diagram – static definitions of categories (types) of objects Sequence diagram – dynamic interactions of the individual objects in the system State diagram – dynamic picture of significant configurations of property values

UML-4 - Package

Computation classes

Class diagram

Sequence diagram refresh getData

Design issues Abstraction Coupling and cohesion Decomposition and modularization Encapsulation/information hiding Separation of specification from implementation Sufficiency, completeness and primitiveness

Here’s what you are going to do Use the Papyrus editor to create class and sequence diagrams that begin to capture your design. For help look at the editor tutorials at: http://www.topcased.org/index.php?documentsSynthesis=y&Itemid=59