Relational Databases and Transaction Design Lecture 27.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Stéphane Ducasse«ChapterNr».1 Arthur Riel Design Heuristics from Object-Oriented Design Heuristics by Arthur Riel Read the Heuristics… –Find reasons why.
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Object-oriented concepts.
Lecture a: Additional UML Models: Package, Activity, Deployment Lecture b: Generalization, Aggregation and Additional Domain Model Notation Copyright W.
ASP.NET Programming with C# and SQL Server First Edition
Use Case Analysis – continued
11/5/01OO Design1 Design Object-Oriented Design. 11/5/01OO Design2 Object-Oriented Design  The process of determining the architecture, and specifying.
CSCI 639 Topics in Software Engineering Assignment #4 Fall 2006.
Mgt 20600: IT Management & Applications Databases Tuesday April 4, 2006.
Object-Oriented Analysis and Design
The chapter will address the following questions:
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
What is Enterprise Architecture?
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
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.
Design Dan Fleck CS 421 George Mason University. What is the design phase? Analysis phase describes what the system should do Analysis has provided a.
111 Subsystems CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 7)
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
OHTO -99 SOFTWARE ENGINEERING LECTURE 5 Today: - An overview to OO Analysis and OO Design - Introduction of Assignment 2.
COMP 354 Software Engineering I Section BB Summer 2009 Dr Greg Butler
I Copyright © 2004, Oracle. All rights reserved. Introduction Copyright © 2004, Oracle. All rights reserved.
Chapter 10 Information Systems Analysis and Design
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
SOFTWARE DESIGN Design Concepts Design is a meaningful engineering representation of something that is to be built It can be traced to a customer’s requirements.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
S.Ducasse Stéphane Ducasse 1 Design Heuristics.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
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.
GRASP: Designing Objects with Responsibilities
1 © 2007 T. Horton CS 441, Summer 2007 Principles of SW Design Design Patterns in Context – Doing design: can we say more about how to go about it? Readings:
© 2005 Prentice Hall9-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
111 Subsystems CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 7)
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
What is a database? (a supplement, not a substitute for Chapter 1…) some slides copied/modified from text Collection of Data? Data vs. information Example:
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Chapter 1: Introduction
Chapter ? Quality Assessment
Chapter 11 Object-Oriented Design
Chapter 1: Introduction
Distribution and components
TIM 58 Chapter 8: Class and Method Design
CIS 336 strCompetitive Success/tutorialrank.com
Database Fundamentals
Improving the Design “Can the design be better?”
Software Design Lecture : 15.
Chapter 1: Introduction
Chapter 1: Introduction
Presentation transcript:

Relational Databases and Transaction Design Lecture 27

Agenda Administration Program / Transaction Design Designing the Program Program Navigation

Administration Signup Sheet posted outside my office Office modifications are complete. I will have office hours from 1-2 PM today. Stop in and see the new floor. This weekend will feature spring cleaning. I will be grading all the late assignments, re- marks, and other things that have piled up on my kitchen table.

Term Project – Phase II Good overall job. Average mark was 120 / 150 or an A-. No project from group 22. Some Comments Cobbled Together Documents – would you submit it to a client or your boss in this format? Spelling and Grammar as per usual Activity / State Diagrams should reflect the system view, not the user view Use Cases need to be numbered and correctly formatted Many sections lacked a prose description Sequence diagrams should show timelines and return of information

Term Project – Phase II More Comments Make sure your diagrams are readable Discuss the specifics that relate to your system. Several documents included test plans that dealt with the generalities of testing and not the specific system under consideration Work breakdown structures need task assignments. Show dependencies. Project plans need milestones and deliverables

Program and Transaction Design Chapter 9 - Maciaszek

Program and Transaction Design Program design is “that aspect of system design that models the execution logic of the program and defines the framework for the client server object collaboration” – Maciaszek Bridges the gap between architecture, GUI, and application design Concentrates on one application program at a time The outcome of the program and transaction design phase is the design document.

Execution Logic We need to separate client and server execution logic Client processes take care of dynamic object collaboration in the program, formatting of data, etc. The server processes execute business transactions

Cohesion and Coupling Class cohesion Degree of inner self-determination of the class Measure of the strength of the class independence One action, a single goal The stronger the better Class coupling Degree of connections between classes Measures the class interdependence The weaker the coupling – the better We want high cohesion and low coupling. There is a trade-off between these two ideas.

Four Heuristics for achieving the best balance between cohesion and coupling Two classes to either be not dependent on one another or one class to be only dependent on the public interface of another class Attributes and the related methods to be kept in one class A class to capture one and only one abstraction - unrelated information to be kept in separate classes The system intelligence to be distributed as uniformly as possible

The Law of Demeter This is named for a CASE tool known as Demeter and not the Greek goddess of fertility The law of Demeter specifies how class coupling can take place and restricts communication between classes

The Law of Demeter (Details) Message target can only be one of the following objects 1The method’s object itself (i.e. this in C++ and Java, self and super in Smalltalk) 2An object that is an argument in the method’s signature 3An object referred to by the object’s attribute (including an object referred to within a collection of attributes) 4An object created by the method 5An object referred to by a global variable (Strong Law: Limit rule 3 to attributes defined by the class itself)

Accessor Methods and Mindless Classes A class should control its own destiny To do this, you need to limit get and set operations in its interface. These are referred to as accessor methods. A mindless class is one that has numerous accessor methods. Other classes decide what is good for it. Policies are a valid form of accessor methods. A policy is a rule that applies to several objects in a distributed system. See the distributed systems and software engineering research group here at Western for intimate details.

“god” Classes If a class becomes too powerful in setting policy or in accessing and controlling other classes, we call it a “god” class. (Riel 96) Try to avoid such powerful classes in your system design.

Accessor Methods (An Example) In this example, we deal with university enrollment and a student adding a course To do this, we need to check The prerequisite courses If the student has completed the prerequisites Three entity classes are involved – CourseOffering, Course, and Student The following slides explore possible solutions

The course as a policy maker (student becomes mindless)

The student as a policy maker (course becomes mindless)

Course offering as a policy maker and “god” class

Using a control object to decouple the three classes

Mixed Instance Cohesion A class with mixed-instance cohesion has some features that are undefined for some objects of the class. That is to say, some methods of the class only apply to a subset of objects for the class Mixed Instance cohesion is the price that is paid for ignoring dynamic classification Example: Not all objects of the Employee class get allowance; only Manager objects do

Example (Part time students and extra fees for night courses) This design has no mixed-instance cohesion provided that extra fees are paid even if a part time student elects to take daytime course offerings

Eliminating the mixed instance cohesion by making more subclasses

Overcoming Mixed Instance Cohesion We can also overcome mixed instance cohesion by introducing dynamic semantics to the class This involves the use of “If” statements or conditionals to deal with exceptions

The Five Levels of SQL (note the hierarchy)

Why Stored Procedures are More efficient than SQL Queries

Next Time The rest of chapter 9 Have a great weekend!