Encapsulation, Interface, Protocol, Lecture Slides - 2008 | ISM 50, Assignments of Accounting

Material Type: Assignment; Professor: Musacchio; Class: Business Information Systems; Subject: Information Systems Management; University: University of California-Santa Cruz; Term: Fall 2008;

Typology: Assignments

Pre 2010

Uploaded on 08/19/2009

koofers-user-cbh-2
koofers-user-cbh-2 šŸ‡ŗšŸ‡ø

10 documents

1 / 8

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
ISM 50 - Business Information Systems
Lectures 14
Instructor: John Musacchio
UC Santa Cruz
November 13, 2008
Class announcements
īš„For Next Class
īš‰Read: MySQL Database Case
wFor next Thursday
īš‰Assignment 4
wDatabase tutorials:
īš‰Wed. 11/12/08, 9:30-11:00am, J ack Baskin 109;
īš‰Fri. 11/14/08, 2:00-3:30pm, Jack Baskin 109.
Student talks Tuesday 11/18:
- Trevor Wood (mySQL)
-David Kuepfer (Amazon)
Student Presentations
Katherine Beeskau (Business paper)
Alba Beltran (Business paper)
Implementation
Computation
of key statistics
Compute Mean and
Variance
Implementation 1:Module A
Module B
īš„Should he use it?
īš‰NO!!!! Why??
īš„Either A should compute ā€œSUMā€ himself, or
sit down with B and redesign the interface
ā€œI need to get the sum,
I’ll just take it from Bā€
Encapsulation
īš„The designer of B might take measures to
hide ā€œSUMā€ from A so that A is not able to
violate the agreed interface.
īš‰Example: B does not declare ā€œSUMā€ as a global
variable.
īš„Making a modules implementation details
inaccessible to other modules is called
encapsulation.
Interfaces
Com
p
utation
N numbers of
Float type
2 Numbers of float
type that signify:
Compute Mean and
Variance
PARAMETERS
Module B
Module A
p
of key statistics Mean, Variance
INTERFACE RETURNS
īš„This simple interface example allows for only one action of
module B.
īš‰Action is ā€œCompute mean and variance.ā€
īš„Other examples are possible.
pf3
pf4
pf5
pf8

Partial preview of the text

Download Encapsulation, Interface, Protocol, Lecture Slides - 2008 | ISM 50 and more Assignments Accounting in PDF only on Docsity!

ISM 50 - Business Information Systems

Lectures 14

Instructor: John Musacchio

UC Santa Cruz

November 13, 2008

Class announcements

Ā„ For Next Class

‰ Read: MySQL Database Case

w For next Thursday

‰ Assignment 4

w Database tutorials: ‰ Wed. 11/12/08, 9:30-11:00am, Jack Baskin 109; ‰ Fri. 11/14/08, 2:00-3:30pm, Jack Baskin 109.

Student talks Tuesday 11/18:

  • Trevor Wood (mySQL)
  • David Kuepfer (Amazon)

Student Presentations

Katherine Beeskau (Business paper)

Alba Beltran (Business paper)

Implementation

Computation of key statistics

Compute Mean and Variance

Module A Implementation 1:

Module B

Ā„ Should he use it?

‰ NO!!!! Why??

Ā„ Either A should compute ā€œSUMā€ himself, or sit down with B and redesign the interface

ā€œI need to get the sum, I’ll just take it from Bā€

Encapsulation

Ā„ The designer of B might take measures to hide ā€œSUMā€ from A so that A is not able to violate the agreed interface.

‰ Example: B does not declare ā€œSUMā€ as a global

variable.

Ā„ Making a modules implementation details inaccessible to other modules is called encapsulation.

Interfaces

Computation

N numbers of Float type

2 Numbers of float type that signify:

Compute Mean and Variance

PARAMETERS

Module B

Module A p of key statistics Mean, Variance INTERFACE RETURNS

Ā„ This simple interface example allows for only one action of module B. ‰ Action is ā€œCompute mean and variance.ā€

Ā„ Other examples are possible.

Possible software interface

action- action-

i 3

Menu of actions

action- ...

Action 1: Compute mean

Action 2: Compute variance

Action 3: Compute mode

Etc..

Example:

Protocol

In addition to atomic actions, an interface may define protocols

‰ Protocol == finitesequence of actions required

to achieve a higher level functiong

‰ One action can be shared by multiple protocols

‰ Multiple modules may participate in a protocol

Protocol Example

HHC Server

HHC

Hello: I’m the gate 32 server

Hello: I’m the HHC of Airplane#

These were the unruly HHC Server passengers on last flight

Tell me about the passengers of my next flight

(Might be passed As an array of a compound data type ā€œpassenger,ā€ which in turn is composed of standard types like integer, and string)

Return Passenger Data

ā€œPassengers notedā€

p g g

Another Interface Example: Automatic teller machine (ATM)

What is the interface between this machine and the customer?

Steps

Define available actions

Define, for each higher level function, a protocol

‰‰ Single action or a finite sequence of actionsSingle action or a finite sequence of actions

Interface building blocks

Message on screen or printed

‰ Menu of actions or returns from an action ‰ Touch selection of action

Keypad

‰‰ Input parameters to an actionInput parameters to an action

Card reader

‰ Authentication, input parameters

Money output slot

‰ Returns money

Example 1

Bob (^) Alice

Bob sends a letter to Alice

US Postal Service UK Royal Mail

ABC Airlines

Envelope

Shipping Container

Shipping Container

Envelope

Layer above is a client of the layer below

Each layer provides services

Interaction of layers

Layer below as as a server to the layer above

….by utilizing the services of the layer below and adding capability

Each layer provides services to the layer above….

Three types of software

Application

•Components and frameworks:

•Infrastructure: Basic services (communication, storage, concurrency, presentation, etc.)

What is in common among applications

Data and information

Application Deals with information

Infrastructure Deals with data

Assumes structure and interpretation

Ignores structure and interpretation

Architecture

HHC HHC Server

Wireless Link

Airline Dataserver

HEADQUARTERS

HHC Server

Airline Intranet

System requirements Requirements

Available components

Two ways to design a system

Decomposition from system requirements

Assembly from available components Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

Component : A subsystem purchased ā€œas isā€ from an outside vendor

Components

(Alternative – building your own subsystem)

A component implementation is encapsulated (although often configurable)

your own subsystem)

Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

HHC Architecture

HHC Application Coordination User Interface With HHC Server

The Palm OS we are buying ā€œoff the shelfā€ and

integrating into our architecture.

The Palm OS is a component.

Palm OS

Networking Infrastructure

Data Management

Other Examples of components

Computer

Disk drive

Network

N t k t

Why is a component

implementation

Network router encapsulated?

Operating system

Integrated circuit

Database management system

encapsulated?

Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

Interoperability

Ā„ Components are interoperable when they interact

properly to achieve some desired functionality

Ā„ Increasingly component interoperability cannot

be dependent on end-user integration

‰ PC and peripherals ‰ Enterprise, inter-enterprise, consumer applications ‰ Role for standardization

Outsourcing: A subsystem design is contracted to an outside vendor

Outsourcing

Responsibility is delegated

Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

HHC Architecture

HHC Application (^) With HHC ServerCoordination User Interface

Ā„ Suppose we choose to pay another firm to develop the user interface. Ā„ This is called Outsourcing. Ā„ Why would we do this?

Palm OS

Networking Infrastructure

Data Management

Four possibilities

Application

Product Service

Microsoft Office Hotmail

Application

Infrastructure

Personal computer Internet DNS

Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

Application Service Provider

Ā„ Two types

‰ Bundled

Ā„ An infrastructure provider bundles applications with their infrastructure ‰ EE xample: AOL, telephony service providersl l h d

‰ Unbundled

Ā„ A provider of an application service without providing an infrastructure service ‰ Examples?

Examples of unbundled ASP

model

Ā„ Yahoo: Web-based calendar

Ā„ Hotmail: Web-based email

„„ Schwab: Web-based stock tradingSchwab: Web based stock trading

Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

Unbundled ASP model

Advantageous to user

‰ Proven way to reduce installation, integration,

and maintenance costs

‰ Contractual obligation for availability andg y

quality

‰ Location independence

Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

Unbundled ASP model (con’t)

Advantages to supplier

‰ Ongoing revenue stream supporting upgrade and

maintenance

‰ Usage-based revenue better aligned with user’sg g

value proposition

‰ Opportunity for price discrimination,

advertising revenue, etc.

Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

Some pricing alternatives

Price discrimination?

Usage dependent?

Terms and conditions

‰ fixed, leasing, per-use, subscription ‰‰ warrantee service level agreementswarrantee, service level agreements

Bundles

‰ maintenance, support, releases, provisioning and operations

Who pays?

‰ sometimes not the end user

Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

Infrastructure acquisition

Build and operate

Infrastructure Build but do not operate

Do not build but operate

Neither

Outsourced operations

System Trend integrator

Service provider

Slide adapted from slides for Understanding Networked Applications By David G Messerschmitt. Copyright 2000. See copyright notice

Application acquisition

Buy as Application (^) product Develop internally

Contract development

Software supplier

Outsource Trend developer

Product w/ customization

Supplier, consultants