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

46
Object Technology with Object Technology with Applications to GroupWare & Applications to GroupWare & Workflow Workflow Frank Singletary System Development Methodologies Dr. Geoff Howard

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

Page 1: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Object Technology with Applications to Object Technology with Applications to GroupWare & WorkflowGroupWare & Workflow

Frank SingletarySystem Development Methodologies

Dr. Geoff Howard

Page 2: "OO Application Tool Methodology as Applied to Groupware/Workflow"

AgendaAgenda

Introduction What is Object-Oriented Programming? Objects Messages Classes Traditional Software Development Methodology & Development Live Example Business Issues Standards Conclusion

Page 3: "OO Application Tool Methodology as Applied to Groupware/Workflow"

What is Object-Oriented Programming?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.

Page 4: "OO Application Tool Methodology as Applied to Groupware/Workflow"

3 Key Attributes underlying Object 3 Key Attributes underlying Object TechnologyTechnology

ObjectsMessagesClasses

Page 5: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Objects DefinedObjects Defined

Definition:

An object is a grouping of data and logic to represent a real world item. Examples are employees, calculators, or a paycheck.

Page 6: "OO Application Tool Methodology as Applied to Groupware/Workflow"

INGREDIENTS1 pkg. (8 oz) PHILADELPHIA Cream Cheese3 cups powdered sugar1 1/2 pkg. (12 oz) Baker's Semi-Sweet Baking Chocolate, melted1 1/2 tsp. vanilla

DIRECTIONSBeat 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

Page 7: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Characteristics of Object TechnologyCharacteristics of Object Technology

ModularityReal World CorrespondenceLoose CouplingIncremental DeliveryReuse

Page 8: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Objects ExplainedObjects Explained

ModularityIn a PC system, every element is modular.

Real World CorrespondenceEach module has a single purpose and is easily explained.

Loose CouplingEach module doesn’t require the other to be a specific brand in order to work together.

Page 9: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Objects Explained (cont..)Objects Explained (cont..)

Incremental DeliveryCan use a subset of the modules now and add others later

ReuseEach module is created so that it can be reused in many different scenarios

Page 10: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Explaining Objects using a real world Explaining Objects using a real world example: A Home PCexample: A Home PC

Page 11: "OO Application Tool Methodology as Applied to Groupware/Workflow"

A Home PC designed using “Objects”A Home PC designed using “Objects”

Page 12: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Example of Software “Objects”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)

Methods VariablesGet_Name NamePrint_Appraisal Social Security #Compute_Salary AddressCalculate_Retirement Date of Hire

Salary

Employee

Methods VariablesPrintEmployee NameGetEmpBal Employee_AccountChargeDeptAcct Dept_BudgetPrintItenarary Travel_DatesMonthlyReports

Expense Report

Page 13: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Objects can contain other ObjectsObjects can contain other Objects

A computer’s system unit contains:

Motherboard

Expansion Board

Memory Chips

And other components!!

Page 14: "OO Application Tool Methodology as Applied to Groupware/Workflow"

CompositionCompositionExample of a software object containing multiple objectsExample of a software object containing multiple objects

Composite objects are objects containing other objects

Objects contained within object are component objects

Composite object contains a reference (address) to component object

Expense ReportTrip AuthorizationMgt ApprovalItineraryTravel Receipts

Page 15: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Definition of MessagesDefinition 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.

Page 16: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Example of message: E-mailExample of message: E-mail

To: FrankFrom: LarrySubject: Y2K Inventory

Please update your inventory list to include plant floor PC devices.

Sending ObjectReceiving Object

Method

Page 17: "OO Application Tool Methodology as Applied to Groupware/Workflow"

MessagesMessages

A method that can be invoked by other objects

Methods and variables are private to object

Code sample:PrintEmployee(SS#)

Request Traveler's Name

---------------------------->Expense Report Employee

Page 18: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Definition of ClassDefinition 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.

Page 19: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Examples of ClassExamples of Class

Honda Accord Jaguar Saturn Coupe

Class : Automobile

Instance:

Page 20: "OO Application Tool Methodology as Applied to Groupware/Workflow"

ClassesClasses

Objects grouped as a class

InheritanceWhen a class is a subset of another class it inherits all methods and variables

ClassMethods VariablesAssignManager ManagerPrepareBudget BudgetAppraisals Employees

SubClassMethods VariablesALL ABOVE PLUS ALL ABOVE PLUSCostReport DeptMgrMonthlEndClose DeptsActualsProductionForecast ProductionCount

Department

Financial Department

Page 21: "OO Application Tool Methodology as Applied to Groupware/Workflow"

VariablesNameEmployee_BalanceDept_Budget

Travel_Dates

Expense Report

Frank R$0$5,00010/5/98 to 10/7/98

Sally M$125$75010/20/98 to 10/23/98

Larry L($150)($890)12/7/98 to 12/11/98

Instances of the Expense Report Class

Page 22: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Requirements for Information SystemsRequirements for Information Systems Complexity

SW requirements must match needs of business Flexibility

Adaptability to new platforms Responsiveness

Need to generate new apps (OOT, CASE tools) Quality

1. Absence of defects2. Fitness to purpose3. Usability

Page 23: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Traditional Application DevelopmentTraditional Application Development

Uses functional Decomposition as design technique

Final product is very specific to problem usually not portable

Tried and true method, easily understood by traditional programmers

Typical implementation of system is 20% of development life cycle

Page 24: "OO Application Tool Methodology as Applied to Groupware/Workflow"

BusinessProblem

SoftwareSolutionX, Y, Z

SolutionTo Problem X

SolutionTo Problem Z

SolutionTo Problem Y

A, B, C

SolutionTo Problem A

SolutionTo Problem B

SolutionTo Problem C

Traditional Application Development (cont..)

Page 25: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Building Software Like HardwareBuilding Software Like Hardware

ClassesContains components representing business functions. Ex. Purchase order, expense report.

ModelsReusable models of business applications. Made up of classes. Ex. Customer billing, inventory control.

ApplicationsCode that performs business functions. Ex. Monthly cost reports, generate payroll

Page 26: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Methodologies For Object DevelopmentMethodologies For Object Development

OMT (Object Modeling Technique) OOSE (Object-Oriented Software Engineering) RDD (Responsibility-Driven Design) The Booch Method The Fusion Method UML (Unified Modeling Language) VMT (Visual Modeling Technique)

Page 27: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Object Oriented LanguagesObject Oriented Languages

PureBuilt from the ground up to be object oriented. Everything in it consists of objects, methods, and classes

Smalltalk JAVA

HybridAn existing programming language with extensions

C++ LotusScript

(LotusNotes)

An OOL is not absolutely necessary to implement OOP. An OOLenforces the constraints necessary to support OO programming and managethe mechanical tasks. It provides an environment in which OO programsneed to operate.

Page 28: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Object Oriented ModelingObject Oriented Modeling

Fundamental construct is the object Systems methodology using models organized

around real world concepts. Captures the logical objects, processes, and

business rules. Independent of a programming language Developed by James Rumbaugh and colleagues

at General Electric Research and Development Center

Page 29: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Model Based SystemsModel Based Systems

Software models (components) that represent structure and operations of business

Models of different components can be combined to create new components

Page 30: "OO Application Tool Methodology as Applied to Groupware/Workflow"

AutoCADDrawing

Employees

Budget Report Training Class Bill of Materials

ExpenseReports

PressOperations

Shipping

Machine

Capital Projects

PurchaseOrders

ComputerWorkstation

Sample Business Objects

Page 31: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Manufacturing Plant

Object: Manufacturing Plant

Page 32: "OO Application Tool Methodology as Applied to Groupware/Workflow"

ManufacturingPlant

Accounting Quality

Production

MaterialsHumanResourcesMantenance

MIS

Engineering

Objects of Manufacturing Plant

Page 33: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Accounting

AccountsPayables

HourlyPayroll

Budgets &Forecasts

CostAccountingAuditingComptroller's

Office

SalariedPayroll

AccountsReceivables

Objects of Accounting Department

Page 34: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Stages of Development for OMTStages of Development for OMT

Analysis System design Object Design Implementation

Page 35: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Developing an Expense Report using OMTDeveloping an Expense Report using OMT

Analysis1. Get receipts and forms2. Fill out multi-part form3. Manually calculate totals4. Make copies for yourself5. Send to your Boss for approval6. A week later your boss signs it7. It goes to Accounts Payable8. Accounting clerk re-checks all your figures9. Accounting sends it back because of missing receipts!10. You re-do all the previous steps and return it to Accounting11. Because of questionable charges your Boss’s Boss has to see it.12. It finally gets approved13. Finally 6 weeks later you get your check.

Page 36: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Benefits of Electronic FormsBenefits of Electronic Forms(Analysis cont..)(Analysis cont..)

Electronic forms are “intelligent”, identifying incomplete and incorrect entries before passing them to the next recipient

Electronic forms contain routing information, automatically handling exceptions

Electronic forms can proceed through a workflow in sequential order or parallel order

Electronic forms provide a level of security that paper cannot match

Page 37: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Additional Benefits of Electronic FormsAdditional Benefits of Electronic Forms(Analysis cont..)(Analysis cont..)

Improve business processes by reducing time to action, and ensuring quality and accuracy of data

Manager can review status and audit trail via the database

Helps identify bottlenecks and inefficiencies Reduce the cost of acquiring, storing and

managing paper forms

Page 38: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Problems with PaperProblems with Paper(Analysis cont..)(Analysis cont..)

Paper forms do not catch and correct errors Paper forms do not alert the recipient to incomplete fields Paper forms do not always include routing instructions Only one person can work on a paper form at a time Paper forms cannot guarantee confidentiality or protect

against forgery Paper forms spend non-value-added time in transit from

one recipient to the next Paper forms are misplaced, ignored, or destroyed

accidentally

Page 39: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Developing an Expense Report using OMTDeveloping an Expense Report using OMT

System Design

1. Employee requests authorization to go on business trip2. Manager approves3. Employee submits itinerary4. Employee returns from trip and fills out expense report5. Submits expense report to manager for approval6. Expense report sent to Accounting for processing

Page 40: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Developing an Expense Report using OMTDeveloping an Expense Report using OMT

Object Design

1. Employee requests authorization to go on business trip2. Manager approves3. Employee submits itinerary4. Employee returns from trip and fills out expense report5. Submits expense report to manager for approval6. Expense report sent to Accounting for processing

Page 41: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Methods VariablesPrintEmployee NameGetEmpBal Employee_AccountChargeDeptAcct Dept_BudgetPrintItenarary Travel_DatesMonthlyReports

Expense Report

Methods VariablesGet_Name NamePrint_Appraisal Social Security #Compute_Salary AddressCalculate_Retirement Date of Hire

Salary

Employee

Business Trip ManagerAuthorization

Itinerary AccountingApprovals

Processing

Developing an Expense Report using OMTObject design (cont..)

9 candidates for object development:

Page 42: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Example of using Lotus Notes to Create an employee Expense Report

Page 43: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Object Oriented TechnologyObject Oriented Technology

Benefits Reduces software

development costs Improves quality Easier maintenance

and modification

Costs Training Investment in new

technology Educating

management Costs of developing

future software components

Page 44: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Standardizing Object ManagementStandardizing Object Management

OMG (Object Management Group) organized in 1989 to define standards

CORBA (Common Object Request Broker Architecture)

OLE (Object Linking and Embedding)

Page 45: "OO Application Tool Methodology as Applied to Groupware/Workflow"

Web SitesWeb Sites

OBJECT METHODOLOGIEShttp://www-cat.ncsa.uiuc.edu/~yoder/Research/objectMethod/#Object Modeling Technique

OBJECT ORIENTED PROGRAMMINGhttp://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

Page 46: "OO Application Tool Methodology as Applied to Groupware/Workflow"

QUESTIONS??