Object-Oriented Design and Patterns, 2Nd Edition

Total Page:16

File Type:pdf, Size:1020Kb

Object-Oriented Design and Patterns, 2Nd Edition Object-Oriented Design & Patterns Second Edition Cay Horstmann San Jose State University John Wiley & Sons, Inc. PUBLISHER: Bruce Spatz SENIOR EDITORIAL ASSISTANT: Bridget Morrisey PROJECT MANAGER: Cindy Johnson, Publishing Services DIRECTOR OF MARKETING: Frank Lyman SENIOR PRODUCTION MANAGER: Ken Santor COVER DESIGNER: Harold Nolan COVER PHOTO: © Corbis/Media Bakery This book was set in Adobe Caslon by Publishing Services and printed and bound by Malloy, Inc. The cover was printed by Phoenix Color Corporation. This book is printed on acid-free paper. ∞ Copyright © 2006 John Wiley & Sons, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or oth- erwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008. To order books or for customer service, please call 1-800-CALL-WILEY (225-5945). ISBN 0-471-74487-5 Printed in the United States of America 10 9 8 7 6 5 4 3 2 1 Preface Making Object-Oriented Design Accessible This book is an introduction to object-oriented design and design patterns at an elementary level. It is intended for students with at least one semester of program- ming in an object-oriented language such as Java or C++. I wrote this book to solve a common problem. When students first learn an object-oriented programming language, they cannot be expected to instantly mas- ter object-oriented design. Yet, students should learn the principles of object-ori- ented design early enough to put them to work throughout the computer science curriculum. This book is suitable for a second or third course in computer science—no back- ground in data structures is required, and students are not assumed to have experi- ence with developing large software systems. Alternatively, the book can be used as a companion text in a course in software engineering. (If you need a custom version of this book for integration into another course, please contact your Wiley sales representative.) This second edition is fully updated for Java 5.0, including ᭹ the use of generic collections and the “for each” loop ᭹ a detailed discussion of parameterized type constraints ᭹ auto-boxing and varargs methods, particularly in the reflection API ᭹ multithreading with the java.util.concurrent package Integration of Design Patterns The most notable aspect of this book is the manner in which the coverage of design patterns is interwoven with the remainder of the material. For example, ᭹ Swing containers and components motivate the COMPOSITE pattern. ᭹ Swing scroll bars motivate the DECORATOR pattern, and Swing borders are examined as a missed opportunity for that pattern. ᭹ Java streams give a second example of the DECORATOR pattern. Seeing the pattern used in two superficially different ways greatly clarifies the pattern concept. iv PREFACE Without memorable examples, design patterns are just words. In order to visualize design patterns, this book uses examples from graphical user interface programming. Students will remember how a component is decorated by scroll bars, and how layout managers carry out different strategies. (A small and carefully selected subset of Swing is used for this purpose.) A Foundation for Further Study After covering the material in this book, students will have mastered the following topics in three subject areas: 1. Object-oriented design ᭹ A simple design methodology ᭹ CRC cards and UML diagrams ᭹ Design patterns 2. Advanced Java language ᭹ Interface types, polymorphism, and inheritance ᭹ Inner classes ᭹ Reflection ᭹ Generic types ᭹ Multithreading ᭹ Collections 3. User interface programming ᭹ Building Swing applications ᭹ Event handling ᭹ Java 2D graphics programming These skills clearly form a useful foundation for advanced computer science courses. In fact, students who have completed this book will have encountered all features of the Java language (but not, of course, the entire standard Java library, which is too huge for any one person to master). One advantage of using Java is indeed that students can compre- hend the entire language. Contrast that with C++, a language that is so complex that virtually no one can truthfully claim to understand all of its subtleties. In summary: Use this book if you want your students to understand object-oriented design and design patterns early in the curriculum. As a bonus, your students will gain a complete overview of the Java language, and they will be able to program simple Swing user interfaces. Programming and Design Tools Another important aspect of this book is the coverage of tools. While many C++ programmers live their entire programming life in a large and complex integrated Preface v environment, the Java culture has embraced the use of different tools such as BlueJ, javadoc, and JUnit. Due to the reflective nature of the Java language, there are many interesting experimental tools. I highlight a number of them in the hope that students will gain an interest and aptitude in evaluating and selecting tools that fit their working style. Students who learn object-oriented design also should become familiar with drawing UML diagrams. An easy-to-use and no-cost tool for this purpose, the Violet UML edi- tor, is provided for their use. Chapter 8 of this book introduces the framework on which Violet is based. All UML diagrams in this book were drawn with Violet. A Tour of the Book Chapter 1 A Crash Course in Java This chapter introduces the basic syntax of Java and can serve either as a refresher or as a transition for students with a background in C++. Topics covered include ᭹ Defining classes and methods ᭹ Objects and object references ᭹ Exploring objects with BlueJ ᭹ Documentation comments ᭹ Numbers, strings, and arrays ᭹ Packages ᭹ Exception handling ᭹ Common utility classes: ArrayList and Scanner ᭹ Programming style guidelines Chapter 2 The Object-Oriented Design Process This chapter introduces the process of object-oriented design, CRC cards, and UML notation. It presents a case study of a simple voice mail system to illustrate the design process, starting with the project’s specification and culminating in its Java implementa- tion. Topics covered include ᭹ Identifying classes and methods ᭹ Relationships between classes ᭹ CRC cards ᭹ UML class, sequence, and state diagrams ᭹ Case study vi PREFACE Chapter 3 Guidelines for Class Design Unlike Chapter 2, which took a top-down view of the discovery of classes and their rela- tionships, this chapter focuses on the design of a single class or a small group of related classes. Topics covered include ᭹ Designing and implementing the interface of a class ᭹ The importance of encapsulation ᭹ Analyzing the quality of an interface ᭹ Programming by contract: preconditions, postconditions, and invariants Chapter 4 Interface Types and Polymorphism This chapter introduces the notation of the Java interface type, without mentioning inheritance. This approach has an important advantage: The reader learns about poly- morphism in its purest form, without being burdened by technical matters such as super- class construction or the invocation of superclass methods. The chapter also introduces the Swing user interface toolkit and AWT drawing opera- tions. It starts with the Icon interface type, which allows the placement of arbitrary drawings in a frame. Anonymous classes are introduced as an easy mechanism for “ad-hoc” objects that imple- ment a particular interface type. They are then put to use for Swing user interface actions. Up to this point, all interface types have been supplied in the standard library. The chap- ter ends with the design of a custom interface type. Topics covered include ᭹ Frames, images, and shapes ᭹ The Icon interface type ᭹ The Comparable and Comparator interface types ᭹ Anonymous classes ᭹ User interface actions ᭹ Designing interface types Chapter 5 Patterns and GUI Programming This chapter introduces the concept of patterns and covers a number of patterns that arise in the Swing user interface toolkit and the Java collections library. Topics include ᭹ Alexander’s architectural patterns ᭹ Software design patterns ᭹ The ITERATOR pattern as an example of a design pattern ᭹ The OBSERVER pattern, model/view/controller, and Swing listeners ᭹ The STRATEGY pattern and layout managers ᭹ The COMPOSITE pattern, user interface components and containers ᭹ The DECORATOR pattern, scroll panes, and borders Preface vii Chapter 6 Inheritance and Abstract Classes This chapter introduces the mechanics of inheritance using examples from the AWT graphics library. There is an extensive discussion of abstract classes, a topic that many beginners find challenging. An abstract shape class lays the foundation for the graph edi- tor framework created in Chapter 8. Several inheritance hierarchies are examined, including the hierarchies of Swing components, geometric shapes, and exception classes. The chapter discusses advanced exception handling, including the definition of new exception classes (which, of course, requires inheritance). The chapter
Recommended publications
  • Justice XML Data Model Technical Overview
    Justice XML Data Model Technical Overview April 2003 WhyWhy JusticeJustice XMLXML DataData ModelModel VersionVersion 3.0?3.0? • Aligned with standards (some were not available to RDD) • Model-based Æ consistent • Requirements-based – data elements, processes, and documents • Object-oriented Æ efficient extension and reuse • Expanded domain (courts, corrections, and juvenile) • Extensions to activity objects/processes • Relationships (to improve exchange information context) • Can evolve/advance with emerging technology (RDF/OWL) • Model provides the basis for an XML component registry that can provide • Searching/browsing components and metadata • Assistance for schema development/generation • Reference/cache XML schemas for validation • Interface (via standard specs) to external XML registries April 2003 DesignDesign PrinciplesPrinciples • Design and synthesize a common set of reusable, extensible data components for a Justice XML Data Dictionary (JXDD) that facilitates standard information exchange in XML. • Generalize JXDD for the justice and public safety communities – do NOT target specific applications. • Provide reference-able schema components primarily for schema developers. • JXDD and schema will evolve and, therefore, facilitate change and extension. • Best extension methods should minimize impact on prior schema and code investments. • Implement and represent domain relationships so they are globally understood. • Technical dependencies in requirements, solutions, and the time constraints of national priorities and demands
    [Show full text]
  • Object Query Language Reference Version: Itop 1.0
    Object Query Language Reference Version: Itop 1.0 Overview OQL aims at defining a subset of the data in a natural language, while hiding the complexity of the data model and benefit of the power of the object model (encapsulation, inheritance). Its syntax sticks to the syntax of SQL, and its grammar is a subset of SQL. As of now, only SELECT statements have been implemented. Such a statement do return objects of the expected class. The result will be used by programmatic means (to develop an API like ITOp). A famous example: the library Starter SELECT Book Do return any book existing in the Database. No need to specify the expected columns as we would do in a SQL SELECT clause: OQL do return plain objects. Join classes together I would like to list all books written by someone whose name starts with `Camus' SELECT Book JOIN Artist ON Book.written_by = Artist.id WHERE Artist.name LIKE 'Camus%' Note that there is no need to specify wether the JOIN is an INNER JOIN, or LEFT JOIN. This is well-known in the data model. The OQL engine will in turn create a SQL queries based on the relevant option, but we do not want to care about it, do we? © Combodo 2010 1 Now, you may consider that the name of the author of a book is of importance. This is the case if should be displayed anytime you will list a set of books, or if it is an important key to search for. Then you have the option to change the data model, and define the name of the author as an external field.
    [Show full text]
  • Principles of Design
    Principles of Design Balance Proportion/Scale Emphasis Rhythm Introduction The principles of design are essential to the development and production of clothing used by individuals and families around the world. Each principle has a specific role in creating an aesthetically pleasing garment or ensemble. The principles of design consist of: balance, proportion (also referred to as scale), emphasis, and rhythm. When a garment or ensemble uses the elements and principles of design to create a visual unity, harmony is achieved. Garments often integrate more than one principle, while drawing from the elements of design to create a cohesive look. The following discussion will present background information on each of the principles of design and applications to clothing design and construction. Balance According to Wolfe (2011) balance implies that there is an equilibrium or uniformity among the parts of a design (p. 205). To achieve balance, a garment or ensemble should have equal visual weight throughout the design. The use of structural features, added embellishments, or decorations to a garment contribute to the appearance of a garment or ensemble being balanced or not. A clothing designer can utilize surface designs on fabric to construct a garment creating visual balance. Further, color, line, and texture can impact the balance of a design. For example, cool and light colors have less visual weight than dark, warm colors. If an individual is wearing a small amount of a dark, warm color it can be balanced out with a larger amount of cool, light colors. Balance used in clothing design can be categorized into two groups: Formal and Informal Balance.
    [Show full text]
  • Foundations of the Unified Modeling Language
    Foundations of the Unified Modeling Language. CLARK, Anthony <http://orcid.org/0000-0003-3167-0739> and EVANS, Andy Available from Sheffield Hallam University Research Archive (SHURA) at: http://shura.shu.ac.uk/11889/ This document is the author deposited version. You are advised to consult the publisher's version if you wish to cite from it. Published version CLARK, Anthony and EVANS, Andy (1997). Foundations of the Unified Modeling Language. In: 2nd BCS-FACS Northern Formal Methods Workshop., Ilkley, UK, 14- 15 July 1997. Springer. Copyright and re-use policy See http://shura.shu.ac.uk/information.html Sheffield Hallam University Research Archive http://shura.shu.ac.uk Foundations of the Unified Modeling Language Tony Clark, Andy Evans Formal Methods Group, Department of Computing, University of Bradford, UK Abstract Object-oriented analysis and design is an increasingly popular software development method. The Unified Modeling Language (UML) has recently been proposed as a standard language for expressing object-oriented designs. Unfor- tunately, in its present form the UML lacks precisely defined semantics. This means that it is difficult to determine whether a design is consistent, whether a design modification is correct and whether a program correctly implements a design. Formal methods provide the rigor which is lacking in object-oriented design notations. This provision is often at the expense of clarity of exposition for the non-expert. Formal methods aim to use mathematical techniques in order to allow software development activities to be precisely defined, checked and ultimately automated. This paper aims to present an overview of work being undertaken to provide (a sub-set of) the UML with formal semantics.
    [Show full text]
  • Pattern Languages in HCI: a Critical Review
    HUMAN–COMPUTER INTERACTION, 2006, Volume 21, pp. 49–102 Copyright © 2006, Lawrence Erlbaum Associates, Inc. Pattern Languages in HCI: A Critical Review Andy Dearden Sheffield Hallam University Janet Finlay Leeds Metropolitan University ABSTRACT This article presents a critical review of patterns and pattern languages in hu- man–computer interaction (HCI). In recent years, patterns and pattern languages have received considerable attention in HCI for their potential as a means for de- veloping and communicating information and knowledge to support good de- sign. This review examines the background to patterns and pattern languages in HCI, and seeks to locate pattern languages in relation to other approaches to in- teraction design. The review explores four key issues: What is a pattern? What is a pattern language? How are patterns and pattern languages used? and How are values reflected in the pattern-based approach to design? Following on from the review, a future research agenda is proposed for patterns and pattern languages in HCI. Andy Dearden is an interaction designer with an interest in knowledge sharing and communication in software development. He is a senior lecturer in the Com- munication and Computing Research Centre at Sheffield Hallam University. Janet Finlay is a usability researcher with an interest in design communication and systems evaluation. She is Professor of Interactive Systems in Innovation North at Leeds Metropolitan University. 50 DEARDEN AND FINLAY CONTENTS 1. INTRODUCTION 2. THE SCOPE OF THIS REVIEW 2.1. General Software Design Patterns 2.2. Interface Software Design Patterns 2.3. Interaction Design Patterns 3. A SHORT HISTORY OF PATTERNS 3.1.
    [Show full text]
  • GREATER GOLDEN HILL COMMUNITY PLAN UPDATE CHARRETTE 1 – Written Comments from Community Participants
    GREATER GOLDEN HILL COMMUNITY PLAN UPDATE CHARRETTE 1 – Written Comments from Community Participants DRAFT October 9, 2010 Table 1 10 Things you Love about your Community - Golf course - open space - Dog park - Trails near the dog park canyon - Walkability - Eclectic architecture - Local businesses - Community-oriented events (Old House Fair, Walkabout, etc.) - Diversity - Natural views - Art spaces - The natural view - Connection to the park - Access/ proximity to downtown/ Balboa 10 Simple Improvements - Golf Course Open Space Add a walk path – make it safe all around the park Wildlife access Expand more family access to east end of park between Rec Center & 28th St. (use up some golf course space) - Improve connection to Balboa Park, improve street access & walkablility - Increase maintenance district funds for park? - Possible use of maintenance district funds for street repairs & lighting - Need a larger community center - 25th & F - idea for community center? - 25th & F – church for lease? - What to do for closed post office? - Bring the streetcar/ trolley to 30th & Fern - There are 2 auto shops near C & 25th - Underground the power lines - More street art - Enforce code on street signs and advertisements - Improve jogging & bike path around the golf course *All comments written herein are direct transcriptions of notes collected from each table as well as notes taken during the report back sessions of the workshop Golden Hill Charrette 1 – Comments - More walking trails - Improve sidewalks - lighting - More playgrounds - Rezone 25th street - Library/ Cultural Center/ Community Center - Need a Golden Hill sign (like Hillcrest or North Park) - Streetcar/Trolley Streets & Connections - Public art - Bus stops designed by a local artists competition - Community plazas and fountains - Entry signage for Golden Hill & South Park - Bike racks @ all destinations - Green Streets - Improve Russ Blvd.
    [Show full text]
  • Using Telelogic DOORS and Microsoft Visio to Model and Visualize Complex Business Processes
    Using Telelogic DOORS and Microsoft Visio to Model and Visualize Complex Business Processes “The Business Driven Application Lifecycle” Bob Sherman Procter & Gamble Pharmaceuticals [email protected] Michael Sutherland Galactic Solutions Group, LLC [email protected] Prepared for the Telelogic 2005 User Group Conference, Americas & Asia/Pacific http://www.telelogic.com/news/usergroup/us2005/index.cfm 24 October 2005 Abstract: The fact that most Information Technology (IT) projects fail as a result of requirements management problems is common knowledge. What is not commonly recognized is that the widely haled “use case” and Object Oriented Analysis and Design (OOAD) phenomenon have resulted in little (if any) abatement of IT project failures. In fact, ten years after the advent of these methods, every major IT industry research group remains aligned on the fact that these projects are still failing at an alarming rate (less than a 30% success rate). Ironically, the popularity of use case and OOAD (e.g. UML) methods may be doing more harm than good by diverting our attention away from addressing the real root cause of IT project failures (when you have a new hammer, everything looks like a nail). This paper asserts that, the real root cause of IT project failures centers around the failure to map requirements to an accurate, precise, comprehensive, optimized business model. This argument will be supported by a using a brief recap of the history of use case and OOAD methods to identify differences between the problems these methods were intended to address and the challenges of today’s IT projects.
    [Show full text]
  • Modelling, Analysis and Design of Computer Integrated Manueactur1ng Systems
    MODELLING, ANALYSIS AND DESIGN OF COMPUTER INTEGRATED MANUEACTUR1NG SYSTEMS Volume I of II ABDULRAHMAN MUSLLABAB ABDULLAH AL-AILMARJ October-1998 A thesis submitted for the DEGREE OP DOCTOR OF.PHILOSOPHY MECHANICAL ENGINEERING DEPARTMENT, THE UNIVERSITY OF SHEFFIELD 3n ti]S 5íamc of Allai]. ¿Hoot (gractouo. iHHoßt ¿Merciful. ACKNOWLEDGEMENTS I would like to express my appreciation and thanks to my supervisor Professor Keith Ridgway for devoting freely of his time to read, discuss, and guide this research, and for his assistance in selecting the research topic, obtaining special reference materials, and contacting industrial collaborations. His advice has been much appreciated and I am very grateful. I would like to thank Mr Bruce Lake at Brook Hansen Motors who has patiently answered my questions during the case study. Finally, I would like to thank my family for their constant understanding, support and patience. l To my parents, my wife and my son. ABSTRACT In the present climate of global competition, manufacturing organisations consider and seek strategies, means and tools to assist them to stay competitive. Computer Integrated Manufacturing (CIM) offers a number of potential opportunities for improving manufacturing systems. However, a number of researchers have reported the difficulties which arise during the analysis, design and implementation of CIM due to a lack of effective modelling methodologies and techniques and the complexity of the systems. The work reported in this thesis is related to the development of an integrated modelling method to support the analysis and design of advanced manufacturing systems. A survey of various modelling methods and techniques is carried out. The methods SSADM, IDEFO, IDEF1X, IDEF3, IDEF4, OOM, SADT, GRAI, PN, 10A MERISE, GIM and SIMULATION are reviewed.
    [Show full text]
  • Application Design Patterns Catalogue
    Design Patterns Catalogue AUTOSAR Release 4.2.2 Document Title Design Patterns Catalogue Document Owner AUTOSAR Document Responsibility AUTOSAR Document Identification No 672 Document Classification Auxiliary Document Status Final Part of AUTOSAR Release 4.2.2 Document Change History Release Changed by Description • reconsideration of signal definitions and tailored AUTOSAR pattern for smart actuators and actuators with no 4.2.2 Release feedback loop Management • specification items added • minor changes • First Release of document. Patterns covered: AUTOSAR – Sensor and Actuator Pattern 4.2.1 Release – Arbitration of Several Set-point Requester Management Pattern • Previously published as part of EXP_AIPowertrain 1 of 46 Document ID 672: AUTOSAR_TR_AIDesignPatternsCatalogue — AUTOSAR CONFIDENTIAL — Design Patterns Catalogue AUTOSAR Release 4.2.2 Disclaimer This specification and the material contained in it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR and the companies that have contributed to it shall not be liable for any use of the specification. The material contained in this specification is protected by copyright and other types of Intellectual Property Rights. The commercial exploitation of the material contained in this specification requires a license to such Intellectual Property Rights. This specification may be utilized or reproduced without any modification, in any form or by any means, for informational purposes only. For any other purpose, no part of the specification may be utilized or reproduced, in any form or by any means, without permission in writing from the publisher. The AUTOSAR specifications have been developed for automotive applications only. They have neither been developed, nor tested for non-automotive applications.
    [Show full text]
  • Pattern Design Pdf, Epub, Ebook
    PATTERN DESIGN PDF, EPUB, EBOOK Lewis Foreman Day | 306 pages | 28 Mar 2003 | Dover Publications Inc. | 9780486407098 | English | New York, United States Pattern Design PDF Book Via Harris Scarfe. In our hotel example, we broke the established pattern. The Justine skirt pattern makes a flattering A-line high-waisted skirt with a midi length. Although technically they should include a repetition to qualify as a complete pattern, in many cases they are only hinted at for lack of space—such as on packaging or in corporate designs. They're also time-savers. Colorful bird feather seam… Floral. Research shows that people look for relationships between values, and patterns reinforce those relationships. Especially the marble effect seems to be everywhere lately. People perceive that closely-placed elements are related, especially if separated from other groups by even more space. Depending on the colors you use, you can complement and emphasize your logo, headline or product pictures. Similarly, a black and white pattern can make a powerful statement. Create a flat front skirt for your wardrobe with this free pattern and tutorial. Nothing happens. This design for a sea food restaurant uses a lovely mix of communicative and geometric patterns. Via Mary Rabun for Birchbox. Often they occur naturally—think trees in a forest or sea shells on a beach. Get a design. Hello, thank you so much for the website! This is one of the most comprehensive sites that I have come across. In the case of a hotel-finding site, we must present users with relevant search results so they can make an informed decision.
    [Show full text]
  • Java Design Patterns I
    Java Design Patterns i Java Design Patterns Java Design Patterns ii Contents 1 Introduction to Design Patterns 1 1.1 Introduction......................................................1 1.2 What are Design Patterns...............................................1 1.3 Why use them.....................................................2 1.4 How to select and use one...............................................2 1.5 Categorization of patterns...............................................3 1.5.1 Creational patterns..............................................3 1.5.2 Structural patterns..............................................3 1.5.3 Behavior patterns...............................................3 2 Adapter Design Pattern 5 2.1 Adapter Pattern....................................................5 2.2 An Adapter to rescue.................................................6 2.3 Solution to the problem................................................7 2.4 Class Adapter..................................................... 11 2.5 When to use Adapter Pattern............................................. 12 2.6 Download the Source Code.............................................. 12 3 Facade Design Pattern 13 3.1 Introduction...................................................... 13 3.2 What is the Facade Pattern.............................................. 13 3.3 Solution to the problem................................................ 14 3.4 Use of the Facade Pattern............................................... 16 3.5 Download the Source Code.............................................
    [Show full text]
  • IDEF0 Includes Both a Definition of a Graphical Model
    Faculty of Information Technologies Basic concepts of Business Process Modeling Šárka Květoňová Brno, 2006 Outline • Terminology • A Brief History on Business Activity • The basic approaches to Business Process Modeling – Formal x informal methods of specification and analysis – Verification of the informal defined methods • Software tools for Business Process specification and analysis (ARIS, BP Studio, JARP, Woflan, Flowmake, Oracle BPEL Process Manager, etc.) • Standards of BPM in context of BP Challenges – BPEL, BPMN, BPML, BPQL, BPSM, XPDL, XLANG, WSCI etc. • Mapping of UML Business Processes to BPEL4WS • Conclusions Terminology of BPM • Business Process is a set of one or more linked procedures or activities which collectively realize a business objective or policy goal, normally within the context of an organizational structure defining functional roles and relationships. • Business process model – is the representation of a business process in a form which supports automated manipulation, such as modeling or enactment. The process definition consists of a network of activities and their relationships, criteria to indicate the start and termination of the process, and information about the individual activities, such as participants, associated data, etc. • Workflow – is the automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules. Terminology of BPM • Method is well-considered (sophisticated) system
    [Show full text]