"OO Application Tool Methodology as Applied to Groupware/Workflow"


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

"OO Application Tool Methodology as Applied to Groupware/Workflow"

  1. 1. Object Technology with Applications to GroupWare & Workflow Frank Singletary System Development Methodologies Dr. Geoff Howard
  2. 2. Agenda <ul><li>Introduction </li></ul><ul><li>What is Object-Oriented Programming? </li></ul><ul><li>Objects </li></ul><ul><li>Messages </li></ul><ul><li>Classes </li></ul><ul><li>Traditional Software Development </li></ul><ul><li>Methodology & Development </li></ul><ul><li>Live Example </li></ul><ul><li>Business Issues </li></ul><ul><li>Standards </li></ul><ul><li>Conclusion </li></ul>
  3. 3. What is Object-Oriented Programming? Object-oriented programming (OOP) is more a new way of looking at programming rather than a new manner of programming.
  4. 4. 3 Key Attributes underlying Object Technology <ul><li>Objects </li></ul><ul><li>Messages </li></ul><ul><li>Classes </li></ul>
  5. 5. Objects Defined Definition: An object is a grouping of data and logic to represent a real world item. Examples are employees, calculators, or a paycheck.
  6. 6. INGREDIENTS 1 pkg. (8 oz) PHILADELPHIA Cream Cheese 3 cups powdered sugar 1 1/2 pkg. (12 oz) Baker's Semi-Sweet Baking Chocolate, melted 1 1/2 tsp. vanilla DIRECTIONS Beat cream cheese in large bowl with wire whisk or electric mixer until smooth. Gradually add sugar, beating until well blended. Add melted chocolate and vanilla; mix well. Refrigerate about 1 hour. Shape into 1-inch balls. Store in refrigerator. Makes about 5 dozen candies Data Logic Chocolate Truffles Example of Real World “Object”: A Recipe
  7. 7. Characteristics of Object Technology <ul><li>Modularity </li></ul><ul><li>Real World Correspondence </li></ul><ul><li>Loose Coupling </li></ul><ul><li>Incremental Delivery </li></ul><ul><li>Reuse </li></ul>
  8. 8. Objects Explained <ul><li>Modularity </li></ul><ul><li>In a PC system, every element is modular. </li></ul><ul><li>Real World Correspondence </li></ul><ul><li>Each module has a single purpose and is easily explained. </li></ul><ul><li>Loose Coupling </li></ul><ul><li>Each module doesn’t require the other to be a specific brand in order to work together. </li></ul>
  9. 9. Objects Explained (cont..) <ul><li>Incremental Delivery </li></ul><ul><li>Can use a subset of the modules now and add others later </li></ul><ul><li>Reuse </li></ul><ul><li>Each module is created so that it can be reused in many different scenarios </li></ul>
  10. 10. Explaining Objects using a real world example: A Home PC
  11. 11. A Home PC designed using “Objects”
  12. 12. Example of Software “Objects” In a software, data is represented by variables, and logic is performed by routines called “methods” (known as functions in traditional programming languages)
  13. 13. Objects can contain other Objects A computer’s system unit contains: Motherboard Expansion Board Memory Chips And other components!!
  14. 14. Composition Example of a software object containing multiple objects <ul><li>Composite objects are objects containing other objects </li></ul><ul><li>Objects contained within object are component objects </li></ul><ul><li>Composite object contains a reference (address) to component object </li></ul>
  15. 15. Definition of Messages Definition: A request from one object (sender) asking the second object (receiver) to perform one of its methods. The protocol for communication between objects; the mechanism to invoke behavior.
  16. 16. Example of message: E-mail To: Frank From: Larry Subject: Y2K Inventory Please update your inventory list to include plant floor PC devices. Sending Object Receiving Object Method
  17. 17. Messages <ul><li>A method that can be invoked by other objects </li></ul><ul><li>Methods and variables are private to object </li></ul><ul><li>Code sample: </li></ul><ul><li>PrintEmployee(SS#) </li></ul>
  18. 18. Definition of Class Definition: A template for a particular type of object; A grouping of similar objects so that the same logic and data can be shared. A specific object belonging to a class is called an instance.
  19. 19. Examples of Class Honda Accord Jaguar Saturn Coupe Class : Automobile Instance :
  20. 20. Classes <ul><li>Objects grouped as a class </li></ul><ul><li>Inheritance </li></ul><ul><li>When a class is a subset of another class it inherits all methods and variables </li></ul>
  21. 21. Instances of the Expense Report Class
  22. 22. Requirements for Information Systems <ul><li>Complexity </li></ul><ul><li>SW requirements must match needs of business </li></ul><ul><li>Flexibility </li></ul><ul><li>Adaptability to new platforms </li></ul><ul><li>Responsiveness </li></ul><ul><li>Need to generate new apps (OOT, CASE tools) </li></ul><ul><li>Quality </li></ul><ul><li>1. Absence of defects </li></ul><ul><li>2. Fitness to purpose </li></ul><ul><li>3. Usability </li></ul>
  23. 23. Traditional Application Development <ul><li>Uses functional Decomposition as design technique </li></ul><ul><li>Final product is very specific to problem usually not portable </li></ul><ul><li>Tried and true method, easily understood by traditional programmers </li></ul><ul><li>Typical implementation of system is 20% of development life cycle </li></ul>
  24. 24. Traditional Application Development (cont..)
  25. 25. Building Software Like Hardware <ul><li>Classes </li></ul><ul><li>Contains components representing business functions. Ex. Purchase order, expense report. </li></ul><ul><li>Models </li></ul><ul><li>Reusable models of business applications. Made up of classes. Ex. Customer billing, inventory control. </li></ul><ul><li>Applications </li></ul><ul><li>Code that performs business functions. Ex. Monthly cost reports, generate payroll </li></ul>
  26. 26. Methodologies For Object Development <ul><li>OMT (Object Modeling Technique) </li></ul><ul><li>OOSE (Object-Oriented Software Engineering) </li></ul><ul><li>RDD (Responsibility-Driven Design) </li></ul><ul><li>The Booch Method </li></ul><ul><li>The Fusion Method </li></ul><ul><li>UML (Unified Modeling Language) </li></ul><ul><li>VMT (Visual Modeling Technique) </li></ul>
  27. 27. Object Oriented Languages <ul><li>Pure </li></ul><ul><li>Built from the ground up to be object oriented. Everything in it consists of objects, methods, and classes </li></ul><ul><li>Smalltalk </li></ul><ul><li>JAVA </li></ul><ul><li>Hybrid </li></ul><ul><li>An existing programming language with extensions </li></ul><ul><li>C++ </li></ul><ul><li>LotusScript (LotusNotes) </li></ul>An OOL is not absolutely necessary to implement OOP. An OOL enforces the constraints necessary to support OO programming and manage the mechanical tasks. It provides an environment in which OO programs need to operate.
  28. 28. Object Oriented Modeling <ul><li>Fundamental construct is the object </li></ul><ul><li>Systems methodology using models organized around real world concepts. </li></ul><ul><li>Captures the logical objects, processes, and business rules. </li></ul><ul><li>Independent of a programming language </li></ul><ul><li>Developed by James Rumbaugh and colleagues at General Electric Research and Development Center </li></ul>
  29. 29. Model Based Systems <ul><li>Software models (components) that represent structure and operations of business </li></ul><ul><li>Models of different components can be combined to create new components </li></ul>
  30. 30. Sample Business Objects
  31. 31. Object: Manufacturing Plant
  32. 32. Objects of Manufacturing Plant
  33. 33. Objects of Accounting Department
  34. 34. Stages of Development for OMT <ul><li>Analysis </li></ul><ul><li>System design </li></ul><ul><li>Object Design </li></ul><ul><li>Implementation </li></ul>
  35. 35. Developing an Expense Report using OMT <ul><li>Analysis </li></ul><ul><li>1. Get receipts and forms </li></ul><ul><li>2. Fill out multi-part form </li></ul><ul><li>3. Manually calculate totals </li></ul><ul><li>4. Make copies for yourself </li></ul><ul><li>5. Send to your Boss for approval </li></ul><ul><li>6. A week later your boss signs it </li></ul><ul><li>7. It goes to Accounts Payable </li></ul><ul><li>8. Accounting clerk re-checks all your figures </li></ul><ul><li>9. Accounting sends it back because of missing receipts! </li></ul><ul><li>10. You re-do all the previous steps and return it to Accounting </li></ul><ul><li>11. Because of questionable charges your Boss’s Boss has to see it. </li></ul><ul><li>12. It finally gets approved </li></ul><ul><li>13. Finally 6 weeks later you get your check. </li></ul>
  36. 36. Benefits of Electronic Forms (Analysis cont..) <ul><li>Electronic forms are “intelligent”, identifying incomplete and incorrect entries before passing them to the next recipient </li></ul><ul><li>Electronic forms contain routing information, automatically handling exceptions </li></ul><ul><li>Electronic forms can proceed through a workflow in sequential order or parallel order </li></ul><ul><li>Electronic forms provide a level of security that paper cannot match </li></ul>
  37. 37. Additional Benefits of Electronic Forms (Analysis cont..) <ul><li>Improve business processes by reducing time to action, and ensuring quality and accuracy of data </li></ul><ul><li>Manager can review status and audit trail via the database </li></ul><ul><li>Helps identify bottlenecks and inefficiencies </li></ul><ul><li>Reduce the cost of acquiring, storing and managing paper forms </li></ul>
  38. 38. Problems with Paper (Analysis cont..) <ul><li>Paper forms do not catch and correct errors </li></ul><ul><li>Paper forms do not alert the recipient to incomplete fields </li></ul><ul><li>Paper forms do not always include routing instructions </li></ul><ul><li>Only one person can work on a paper form at a time </li></ul><ul><li>Paper forms cannot guarantee confidentiality or protect against forgery </li></ul><ul><li>Paper forms spend non-value-added time in transit from one recipient to the next </li></ul><ul><li>Paper forms are misplaced, ignored, or destroyed accidentally </li></ul>
  39. 39. Developing an Expense Report using OMT <ul><li>System Design </li></ul><ul><li>1. Employee requests authorization to go on business trip </li></ul><ul><li>2. Manager approves </li></ul><ul><li>3. Employee submits itinerary </li></ul><ul><li>4. Employee returns from trip and fills out expense report </li></ul><ul><li>5. Submits expense report to manager for approval </li></ul><ul><li>6. Expense report sent to Accounting for processing </li></ul>
  40. 40. Developing an Expense Report using OMT <ul><li>Object Design </li></ul><ul><li>1. Employee requests authorization to go on business trip </li></ul><ul><li>2. Manage r approves </li></ul><ul><li>3. Employee submits itinerary </li></ul><ul><li>4. Employee returns from trip and fills out expense report </li></ul><ul><li>5. Submits expense report to manager for approval </li></ul><ul><li>6. Expense report sent to Accounting for processing </li></ul>
  41. 41. Developing an Expense Report using OMT Object design (cont..) 9 candidates for object development:
  42. 42. Example of using Lotus Notes to Create an employee Expense Report
  43. 43. Object Oriented Technology <ul><li>Benefits </li></ul><ul><li>Reduces software development costs </li></ul><ul><li>Improves quality </li></ul><ul><li>Easier maintenance and modification </li></ul><ul><li>Costs </li></ul><ul><li>Training </li></ul><ul><li>Investment in new technology </li></ul><ul><li>Educating management </li></ul><ul><li>Costs of developing future software components </li></ul>
  44. 44. Standardizing Object Management <ul><li>OMG (Object Management Group) organized in 1989 to define standards </li></ul><ul><li>CORBA (Common Object Request Broker Architecture) </li></ul><ul><li>OLE (Object Linking and Embedding) </li></ul>
  45. 45. Web Sites OBJECT METHODOLOGIES http://www-cat.ncsa.uiuc.edu/~yoder/Research/objectMethod/#Object Modeling Technique OBJECT ORIENTED PROGRAMMING http://www.geocities.com/SiliconValley/Bay/1055/oop.htm OBJECT MODELING TECHNIQUE - SUMMARY NOTE http://arkhp1.kek.jp/managers/computing/activities/OO_CollectInfor/Methodologies/OMT/OMTBook/OMTBook.html
  46. 46. QUESTIONS??