Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Defining persistent data stores, example Päivi Ovaska.

Slides:



Advertisements
Similar presentations
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 16, Methodologies: Putting It All Together.
Advertisements

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 6, System Design: Decomposing the System.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 1 Utdrag ur Bruegges OH-bilder för första.
System Design Chapters 6-7 Object-Oriented Software Engineering:
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Defining access control, example Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS Design goals and System Decomposition, example Päivi Ovaska.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Identifying boundary conditions, example Päivi Ovaska.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 UML First Pass: Class Diagrams Battery load()
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Outline  Dynamic models  Sequence diagrams.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 UML Sequence Diagrams  Used during system.
Chapter 8, Object Design Introduction to Design Patterns
Addressing Design Goals
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 9, Testing.
Ch 7: Sys. Architecture: Design Decisions to Address Goals
1 System Design: Addressing Design Goals We are starting from an initial design, along with a set of design goals. What is the next step?
Introduction to Databases
TJSS luennot System Design Lecture 1
Conquering Complex and Changing Systems Object-Oriented Software Engineering System Design:Hardware/ software mapping, example Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering System Design II TJSS Lecture 10 Päivi Ovaska.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Client/Server Software Architectures Yonglei Tao.
Data Access Patterns. Motivation Most software systems require persistent data (i.e. data that persists between program executions). In general, distributing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
CS370 Spring 2007 CS 370 Database Systems Lecture 2 Overview of Database Systems.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 3, Project Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
Addressing design Goals  We decompose the system to address complexity  Assigning each subsystem to team to work on  But we also need to address system.
UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 2.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 2.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 7 Addressing Design Goals.
© Dennis Shasha, Philippe Bonnet – 2013 Communicating with the Outside.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 12, Software Life Cycle.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 8, Object Design: Reusing Pattern Solutions.
Chapter Five–Part III Object Oriented Design More Design issues.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Design “There are two ways of constructing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Object Modeling.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 8, Rationale Management.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 2.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Overview System Design II (slides Part B)
© 2005 Prentice Hall10-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 7 System Design: Addressing Design Goals.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 2.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering October 10, 2001 System.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
1 CMPT 275 High Level Design Phase Modularization.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 10, Mapping Models to Relational Schema.
The Clash of the (database) Cultures Object- oriented Relational.
Lecture 18: Object-Oriented Design
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 1, Introduction to Software Engineering.
DESIGN OF SOFTWARE ARCHITECTURE
Object storage and object interoperability
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 1.
Difference between DBMS and File System
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 1.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Geographic Information Systems GIS Data Databases.
Analyzing UML Descriptions of Architectures Using Information Theory
Addressing Design Goals
Presentation transcript:

Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Defining persistent data stores, example Päivi Ovaska

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 2 Defining persistent data stores in MyTrip RoutingSubsystem  Store the current Trip in a file on a small removable disk in order to allow the recovery of the Trip in case the driver shuts off the car before reaching the final Destination  Simplest and most efficient solution  RoutingSystem will only store complete trips to the file before shutdown and load the file at start-up PlanningSubsystem  Trips will be stored in a database  This subsystem can then be used to manage all Trips form many drivers as well as the maps needed to generate the trips  Allows to perform complex queries on these data -> Two new subsystems: TripFileStoreSubsystem, MapDBStoreSubsystem

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 3 TripFileStoreSubsystem The TripFilesStoreSubsystem is responsible for storing trips in files on the onboard computer. Because this functionality is only used for storing trips when the car shuts down, this subsystem only supports the fast storage and loading of whole trips MapDBStoreSubsystem The MapDBStoreSubsystem is responsible for storing maps and trips in a database for the PlanninSubsystem. This subsystem support multiple concurrent drivers and planning agents

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 4 Trip database design Relational database tables: Trip, Destination, Direction, Crossing, Segment Each attribute is mapped To the column of database Associations mapping See lecturers

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 5 Encapsulating data stores  Once we select a storage mechanism, for example relational database, we can encapsulate it into a subsystem and define a high level interface that is vendor independent  Bridge pattern allows the interface and the implementation of a class to be decoubled  ODBC class defines the interface visible to the client  ODBC Implementation class is an abstract class that defines the lower level methods available for ODBC  ODBC instance maintains a reference to its corresponding ODBC Implementation instance.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 6 Component Diagram of MyTrip