1 A Student Guide to Object- Orientated Development Chapter 9 Design.

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

Introduction To System Analysis and Design
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Chapter 4: Database Management. Databases Before the Use of Computers Data kept in books, ledgers, card files, folders, and file cabinets Long response.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
System Analysis and Design
Logical Architecture and UML Package Diagrams
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
The Design Discipline.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Systems Analysis and Design in a Changing World, Fifth Edition
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
An Introduction to Software Architecture
Unified Modeling Language, Version 2.0
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Chapter 9 Moving to Design
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Chapter 7 Applying UML and Patterns Craig Larman
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Systems Analysis and Design in a Changing World, 3rd Edition
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Implementation Diagrams
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Lecture 18: Object-Oriented Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML Package Diagrams. Package Diagrams UML Package Diagrams are often used to show the contents of components, which are often packages in the Java sense.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem.
Computer Science 340 Software Design & Testing Software Architecture.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Object Oriented Analysis and Design Introduction to Rational Rose.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 10 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 10 Designing Databases.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
R R R CSE870: UML Component Diagrams Implementation Diagrams.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
Deployment Diagram.
Introduction to UML.
Component and Deployment Diagrams
Deployment Diagram.
Unified Modeling Language
OO Methodology OO Architecture.
Deployment Diagram.
The Object Oriented Approach to Design
University of Houston-Clear Lake
Starting Design: Logical Architecture and UML Package Diagrams
Design and Implementation
Analysis models and design models
An Introduction to Software Architecture
Presentation transcript:

1 A Student Guide to Object- Orientated Development Chapter 9 Design

2 Design Analysis describes WHAT a system must do Design describes HOW to do it Analysis decisions are implementation- independent Design decisions are implementation- dependent

3 Design Design activities: overall system design detailed design

4 Overall system design designing the overall architecture of the system selecting a strategy for coping with persistent data designing a user interface choosing software and hardware platforms producing a test plan

5 Design - overall Product of overall design activities layered diagram of the system architecture a set of component and deployment diagrams a database definition a test plan screen and report layouts

6 Design - detailed Product of detailed design activities a set of detailed class diagrams supporting documentation such as data dictionary and operation specifications a set of detailed interaction diagrams

7 Architecture Architecture describes the software and hardware components of the system

8 Architecture -software logical software components : classes, packages, subsystems Modelled with class diagrams etc. physical software components : executable files, class libraries and databases Modelled with component diagrams

9 Architecture - hardware Hardware architecture : the computers, peripherals and networks on which the system will run hardware architecture is modelled using deployment diagrams.

10 Packages and dependencies A package is a UML mechanism for grouping modelling elements Does not represent anything in the system, but is used to group modelling elements that do Can be used to group use cases, classes, collaborations, sub-systems etc

11 We can also use packages to nest models

12 Dependencies A dependency exists between packages if a change in one can affect the other. If a change in package A can affect package B, then package B depends on package A.

13 Dependencies Dependency

14 Dependencies A dependency exists between two classes if they have a client-server relationship

15 Layered architecture In a layered architecture, packages are arranged into layers so that each layer only uses the services of the layer below it.

16 the presentation layer near the top data storage layer towards the bottom application layers in the middle Layered architecture

17 Layered architecture

18 Implementation diagrams Component diagram - models physical software components Deployment diagram - models hardware components

19 Component diagram Hiring.java Maintenance.java Database

20 Deployment diagram

21 User interface Should be consistent: screen layouts should follow the same general pattern similar tasks should be performed in similar ways messages from the system to the user should always be in the same format. ·

22 User interface User tasks that are boring and prone to error should be minimized system should provide shortcuts for experienced users data should be entered by selecting from a menu rather than typing screens should be free of clutter, containing all the relevant information and no more. An overcrowded screen is tiring to look at and irritating to work with.

23 User interface - example

24 Dealing with persistent data Object-oriented and relational databases A database stores, organizes and maintains data to support the operations of an organization An object-oriented database provides the facilities of a traditional database, and supports the complex data structures of object-oriented systems However, for an information system, such as Wheels, a developer would be much more likely to choose a relational database.

25 Dealing with persistent data Object-oriented and relational databases Relational databases are established, proved efficient for the sort of data found in information systems like Wheels Object-oriented databases relatively recent Business organizations have invested money in relational database systems - reluctant to throw it away in order to change to an object-oriented database

26 Dealing with persistent data Linking an object-oriented program to a relational database For an O-O program to access a relational database we need code to establish a connection JDBC (Java Database Connectivity) - interface that interacts with both the code and the database

27 Implementing a class diagram in a relational database Basic rule - one class maps to one table Bike table Primary key Bike class

28 Implementing a in a relational database: Implementing a one to many association in a relational database: First method One to many association Customer table Payment table Customer-Payment table

29 Implementing a in a relational database: Implementing a one to many association in a relational database: Second method One to many association Customer table Payment table with foreign key foreign key

30 Implementing a in a relational database Implementing a inheritance in a relational database Inheritance relationship normal bikes specialist bike