University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook 2002 1 Lecture 12: Modelling Business Rules & Processes Ü Review.

Slides:



Advertisements
Similar presentations
Chapter 11 Describing Process Specifications and Structured Decisions
Advertisements

CSC 123 Systems Analysis & Design
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Chapter 3 Data Modeling Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent.
Requirement Analysis and Specification Mr. Manoj Kumar Kar.
3/5/2009Computer systems1 Analyzing System Using Data Dictionaries Computer System: 1. Data Dictionary 2. Data Dictionary Categories 3. Creating Data Dictionary.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall.
System Concepts for Process Modeling  Process Concepts  Process Logic  Decomposition diagrams and data flow diagrams will prove very effective tools.
Structured English. From user-speak to programming User Structured English Analyst Programs Programmer Plain English Pseudocode.
Chapter 9 Describing Process Specifications and Structured Decisions
Chapter 9 Describing Process Specifications and Structured Decisions Systems Analysis and Design Kendall & Kendall Sixth Edition © 2005 Pearson Prentice.
Chapter 9 Describing Process Specifications and Structured Decisions
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
1 COMP541 State Machines Montek Singh Feb 6, 2007.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
System Analysis System Analysis - Mr. Ahmad Al-Ghoul System Analysis and Design.
Object Specification Moving towards a more precise specification of software.
© 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition.
Entity-Relationship Design
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
Chapter 9 Structuring System Requirements: Logic Modeling
PROCESS MODELING Chapter 8 - Process Modeling
Information Systems System Analysis 421 Class Eight.
3/5/2009Computer systems1 Describing Process Specifications and Structured Decisions 1. Process specifications sometimes called mini-specs 2. Structured.
Chapter 9 Describing Process Specifications and Structured Decisions
Chapter 11 Describing Process Specifications and Structured Decisions Systems Analysis and Design Kendall and Kendall Fifth Edition.
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
8. PROCESS DESCRIPTION System Analysis And Design Program: BSCS II (Advent Semester – 2014) Lecturer: Rebecca Asiimwe
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Dr. Andy Seddon Staffordshire UNIVERSITY School of Computing Code Design (The use of pseudo code for Elementary Process Descriptions)
© 2010 Bennett, McRobb and Farmer1 Specifying Operations Based on Chapter 10 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
WXGC6102: Object-Oriented Techniques Specifying Operations References: Chapter 10 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Design Model Lecture p6 T120B pavasario sem.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Software Engineering 2 -Prakash Shrestha.
Information Access Mgt09/12/971 Entity-Relationship Design Information Level Design.
Lecture 91 Introduction to Data Analysis and Logic Specification Objectives l Draw an entity-relationship diagram, and explain the types of entity relationships.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
The Hashemite University Computer Engineering Department
© 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Product Design Alternative Generation, Evaluation, and Selection.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Copyright © 2011 Pearson Education Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall & Kendall Global Edition 9.
UNIT-IV Designing Classes – Access Layer ‐ Object Storage ‐ Object Interoperability.
IS 334 information systems analysis and design
Analysis Classes Unit 5.
Business System Development
Process Specifications and Structured Decisions
Chapter 9 Structuring System Requirements: Logic Modeling
Chapter 2 : Data Flow Diagram
Component-Level Design
Chapter 9 Structuring System Requirements: Logic Modeling
Chapter 9 Structuring System Requirements: Logic Modeling
Relational Database Model
Describing Process Specifications and Structured Decisions
Information Systems Development MIS331
Chapter 7: Data Flow Diagram Structuring System Process Requirements
Chapter 11 Describing Process Specifications and Structured Decisions
Chapter 9 Structuring System Requirements: Logic Modeling
Chapter 9 Structuring System Requirements: Logic Modeling
Entity-Relationship Design
Information system analysis and design
Presentation transcript:

University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook Lecture 12: Modelling Business Rules & Processes Ü Review of all the UML modelling techniques  Modelling notations we’ve covered  When to use each  What haven’t we captured? Ü Business Rules  Constraints and Derivations  Representations for Business Rules Ü Modeling business processes  Concurrency and synchronization  Activity Diagrams

University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook Example Business Rules Constraints (BR1) The manager of a department must belong to that department. (BR2) An employee cannot earn more than her manager. (BR3) A department of the Toronto office can only be managed by an employee who has ≥ 10yrs experience. (BR4) An employee can only participate in projects associated with her department. Derivations (BR5) The budget of a project is the sum of all salaries of participating employees, multiplied by 3.

University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook Capturing Business Rules Ü Why do we care about business rules?  They help us to understand the business context  They could be important constraints for the design of the new system  E.g. constraints on when and how operations can happen  E.g. constraints on the state space of objects  They help us write “operation specifications” for class operations Ü How do we specify business rules?  Natural Language  such descriptions can be highly ambiguous  Structured English  use a subset of a natural language (limited syntax and vocabulary)  can be hard to write, hard to verify, and too close to program code  Decision Tables  use a table representation of alternative outcomes (similar to truth tables)  Decision Trees  use a tree representation of alternative outcomes  Object Constraint Language  UML notation for adding extra constraints to models  Can also be used for specifying pre- and post-conditions on operations  Activity Diagrams…

University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook Structured English  Use only nouns and terms defined in the project dictionary  Avoid compound sentences because they can be highly ambiguous  Avoid vague adjectives and adverbs (such as “good”, “nice” etc.)  unless clearly defined in the dictionary as a value ranges (e.g. “good” = 65-75%)  Avoid language that destroys the natural flow of control within the process Use a limited set of flow constructs:  sequencing, if-then-else, while do etc.  Example: For each LOAN ACCOUNT NUMBER in the LOAN ACCOUNT FILE do the following steps: If the AMOUNT PAST DUE is greater than $0.00 then while there are LOAN ACCOUNT NUMBERS for the CUSTOMER NAME do the following: sum the OUTSTANDING LOAN BALANCES sum the MINIMAL PAYMENTS sum the PAST DUE AMOUNTS report the CUSTOMER NAME, LOAN ACCOUNT on OVERDUE CUSTOMER, LOAN ANALYSIS For each LOAN ACCOUNT NUMBER in the LOAN ACCOUNT FILE do the following steps: If the AMOUNT PAST DUE is greater than $0.00 then while there are LOAN ACCOUNT NUMBERS for the CUSTOMER NAME do the following: sum the OUTSTANDING LOAN BALANCES sum the MINIMAL PAYMENTS sum the PAST DUE AMOUNTS report the CUSTOMER NAME, LOAN ACCOUNT on OVERDUE CUSTOMER, LOAN ANALYSIS

University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook Decision Tables Ü Inputs as columns, actions (outputs) as rows  If there are n parameters (conditions) to a decision, each with k 1, k 2,…,k n values, then table has:  k 1 x k 2 x … x k n columns  as many rows as there are possible actions  For example:  “If the plane is more than half full and the flight costs more than $350 per seat, serve free cocktails, unless it is a domestic flight. Charge for cocktails in all domestic flights where cocktails are served, i.e., those that are more than half full” conditions outcomes Domestic?YYYYNNNN ≥half full?YYNNYYNN ≥$350/seatYNYNYNYN Serve cocktails?XXX??? Free cocktails?X

University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook CompletionSimplification Completion vs. Simplification Ü Completion:  explicitly lists all combinations of inputs Ü Simplification:  reduce repeated columns with “*” for don’t care  remove redundant rows Ü Example: Domestic?YYYYNNNN ≥half full?YYNNYYNN ≥$350/seatYNYNYNYN Serve cocktailsXXXXX Free cocktailsXX Charge cocktailsXXX No cocktailsXXX Domestic?YYNNN ≥half full?YN*YN ≥$350/seat**YNN Free cocktailsX Charge cocktailsXX No cocktailsXX

University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook Decision Trees Ü Represent the decision logic as a tree:  Nodes of the tree represent input parameters (questions)  Leafs of the tree represent outputs (actions) Ü Example: Short Trip? In-Town Trip? Out-of-Town Trip? Have Car? on a budget? Take Car Walk Taxi Have Car? Take Car TTC Taxi Have Car? Take Car Fly on a budget?

University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook Object Constraint Language (OCL) Ü UML naturally captures some constraints:  e.g. multiplicity of an association. Ü For others, we need a general language  OCL is a formal language for specifying constraints  used to supplement the models created in UML diagrams.  OCL has a precise syntax that enables the construction of unambiguous statements. Ü Each expression has  An associated context  usually the class to which the expression is attached.  may alternatively be an association  A property  some aspect of the context: e.g. an attribute or association  An operation that is applied to the property  E.g. mathematical operations, set operations, type operations

University of Toronto Department of Computer Science © Castro, Mylopoulos and Easterbrook OCL examples