41
Chapter 5 Chapter 5 Database Management Database Management The Strategic Management of Information Systems

Chapter 5 Database Management The Strategic Management of Information Systems

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Chapter 5Chapter 5Database ManagementDatabase Management

The StrategicManagement of

InformationSystems

Transaction Processing Transaction Processing SystemSystem

Input OutputProcess

Information

Communication

Today’s OrganizationToday’s Organization

Enterprise-Wide Development– Entity Relationship Diagram– General Information Systems Model

Object-Oriented Definition Implementation of Suite Approach Business Transaction Processing

Steps Toward IntegrationSteps Toward Integration Windowing Operating System

– OS/2 Presentation Manager– Windows– X-Windows (Sun)

Transaction Processing Systems– Payroll Services– Sales Order Processing Systems– Process Control Systems– Corporate Accounting Systems

Steps Toward IntegrationSteps Toward Integration

Multi-Tasking– Allow Users to run different programs at the

same time– Windows– OS/2 (Presentation Manager)– XWindows

Networks– Enable Dynamic Integration from Several

Sources

IntegrationIntegration

Vertical– Different Levels of Production– ex: Oil Company

Horizontal– Retail Stores– ex:WalMart

Steps Toward Business Process Steps Toward Business Process RedesignRedesign

Develop Business Vision and Process Objectives

Understand and Measure Existing Processes

Identify Process to Be Redesigned

Design and Build a Prototype of the Process

Identify Information Technology Levers

Prioritize Objectives and Set Targets

Identify Critical or Bottlenect Processes

Identiy Current Problems and Set Baseline

Brainstorm new Process Approaches

Implement Organizational and Technical Aspects

Database Management Database Management StructureStructure

Develop structure of each record according to selected data model

Load data into database Update records in database Generate reports from data in database Maintain integrity of data in database Maintain security by means of multilevel

passwords

Database Management Database Management System FunctionsSystem Functions

Data Definition Language (DDL) Data Manipulation Language (DML) Query Language Report Writer Graphics Generator Host Language Interface (HLI) Procedural Language Data Dictionary

Logical ModelLogical Model

Entity-Relationship Diagram– Entities– Relationships Between Entities

Data Normalization– Process of eliminating data redundancies

and functional dependencies within the logical model

Database TypesDatabase Types

Hierarchical Network Relational

Systems AdvantageSystems Advantage

More Flexible Systems More Reuse of Logic Less Bugs Shorter Development Time Lower Maintenance Costs

Business AdvantageBusiness Advantage

Reduce Development Cost Increase Ability to Compete Increase Focus of Business on

Business Opportunities– Outsourcing

Integration/LinksIntegration/Links Static

– Hard-Coded– Import

Dynamic– Linked– Dynamic Data Exchange (DDE)– Hot-Linked– Object-Linking and Embedding (OLE)

Original Software Package Automatically started when chosen

Planned SystemsProject Load

Resources Line

Planning Cycle

Resources Requirements Matrix

Strategic FactorsStrategic Factors

Productivity– Increase Effectiveness and Efficiency of

Operations Differentiation

– Make Products and Services Different from those of the Competitor

Management– Help Managers Perform Planning, Controlling,

and Decision-Making Tasks Better

Systems Project ProposalsSystems Project Proposals

Telecommunications Transmission of Voice/Data/Graphics Innovative Applications

– Electronic Data Interchange

Project Schedule ReportProject Schedule Report

Identifies Systems Project and Estimated Completion Date

Systems Planning Systems Planning Approach/FeasibilityApproach/Feasibility

Technical– Availability of existing technology

Economic– Commit Sufficient Funds to Develop and Implement the

System Legal

– Compliance with the Law Operational

– Efficacy and Functionality of Systems Project Proposal Schedule

– Proposed Timetable

Object-OrientationObject-Orientation Different than Transmitting Raw Bits of Data

– Hardware Connections– Access Controls– Simple Data Formats

Software Agents– object-oriented programs written to perform specific tasks in

response to user requests– agents know how to exchange object attributes– agents have the ability to activate object functions in other

agents Multimedia

– Integration of Text, Video, Sound, Pictures, Animation

Object-Oriented DevelopmentObject-Oriented Development

Object-Oriented Analysis– Building Real-world models, using object-oriented view– Determine classes of objects in problem– Identify similarities in objects through classification

Object-Oriented Design– Decompose knowledge and actions into detailed object-

oriented model– Logical View: classes and objects– Physical View: modules and physical implementation

Object-Oriented Programming– Programs are organized as cooperative collections of objects,

each of which represents an instance of a class

Cyclical NatureCyclical NatureIdentify Classes

and Objects

Identify Class andObject Semantics

Specify Class andObject Interfaces

and Implementation

Identify Class andObject

Relationships

Elements of Object ModelElements of Object Model Abstraction

– Objects or Classes emphasize the particulars of object that distinguish it deemphasize the details that are not important

– Hides various behaviors of an object from the user Encapsulation

– Hide the information about how a class is implemented from other classes or objects that may reference a class

– Hides implementation details from a user Modularity

– Class or program is broken down into smaller, more understandable parts

– Well-defined boundaries with less complexity

Elements of Object ModelElements of Object Model Hierarchy

– Inheritance

– Ordering of Abstractions

– Place responsibilities for behaviors at different levels

– Subclass shares structures or behaviors of other classes

– Eliminates repetitious code and redundancies Polymorphism

– Allows objects of related classes to respond differently to the same message

Object-Oriented Development:The Micro Process: Phases

• Identify Classes and Objects• Identify Semantics of Classes and Objects• Identify Relationships among Classes and

Objects• Implement these Classes and Objects

Agendas of the Micro ProcessTo select the right abstractions that model the

problem at hand

To determine the proper distribution of responsibilities among these abstractions

To devise a simple set of mechanisms that regulate these abstractions

To concretely represent these abstractions and mechanisms in the most efficient and economical way.

Identify Classes and ObjectsPurpose:• Selected right abstractions to model problem at hand

Products• Dictionary of Abstractions

Activity:• Discovery and Invention of Abstractions

– Examine Vocabulary– Pool wisdom and experience

Agents– Project Architect and Abstractionists

Milestones and Measures• Reasonable/Achievable Goals

Identify Semantics of Classes and Objects

Purpose:• Determine proper distribution of responsibilities

Products:• A specification of roles and responsibilities of key abstraction• Software the codifies these specifications• Diagrams or similar artifacts that establish meaning

Activity:• Scenario Planning• Isolated Class Design • Pattern Scavenging

Agents

– Project Abstractionists and Application Engineers

Milestones and Measures• Sufficiency• Primitiveness• Completeness

Identify Relationships Among Classes and Objects

Purpose:• Devise set of mechanisms to regulated classes and objects

Products:• A specification of relationships among key abstractions• Software that codifies these specifications• Diagrams or similar artifacts that establish meaning of each relationship as well as larger

collaborations

Activity:• Association specific• Collaboration identification• Association Refinement

Agents– Project Abstractionists and Application Engineers

Milestones and Measures• Specify semantics and relationships among certain abstractions• Cohesion, Coupling and Completeness

Implement Classes and ObjectsPurpose:• Represent each abstraction and mechanism concretely in most efficient and elegant

way

Products:• Software the codifies decisions about the representation of classes and mechanisms

Activity:• Selection of structures and algorithms that complete the rules and responsibilities of

the various abstractions

Agents

– Application Engineers

Milestones and Measures• Identify all interesting abstractions to satisfy the responsibilities of higher-level

abstractions identified during micro process• Simplicity

The Risks of Object-Oriented Development

Risk Analysis• Activity of Evaluating the Technology, Resources, and Object to Capture

and Understand Current Risk– Identify Risks– Estimate the Risks– Evaluate the Risks

Risk Management• Activity of Defining a Plan for Mitigating Discovered Risks and

Implementing the Plan– Risk Plan– Risk Control– Risk Monitoring

Risk Management by PhaseInception:• Bracket Project Risk by Building Proof of Concept

Elaboration• Common Understanding of System Scope• Establish System Architecture• Design Common Mechanisms

Construction:• Refine the Architecture• Risk- Driven Iterations• Continuous Integration

Transition:• Facilitate User Acceptance• Measure User Satisfaction

Project RisksResource Risks:• People• Organization• Funding• Time

Technical Risks:• Requirements• Size and Scope• Technology• External Dependencies• Reuse• Success Criteria

ReuseArchitecture

Design

Code

Requirements

Data

Human Interface

Estimates

Project Plans

Test Plans

Documentation

Reuse ObjectivesArchitecture

Patterns and FrameworksPayoff

Time

Team Roles and ResponsibilitiesCore: Responsible for Actual

Software Production• Architect: System's Overall

Structure• Abstractionist: Manage

system’s Microarchitecture• Application Engineer:

Implement and Assemble Classes and Mechanisms found in System

Supplemental: Supports Activities of Core Developers

• Project Manager Management of Project Deliverables

• Analyst: Interpret End User Requirements

• Integration: Assembles Compatible Versions for Release

• Quality Assurance/Assessment: System-Level testing

• Test Software Components: Metrics

• Documentation: Produce End-User Documentation

• Toolsmith: Integrate Software Tools

• System Administrator: Manage Physical Computer Resources

• Librarian: Manage Repository

Team Roles and Responsibilities

Peripheral Roles: Represent Consumers of System

• Patron: Champions Project• Product Manager: Manages Product Line• End User: Ultimate Client• Tech Support: Manages Post-Delivery

Activities

Scenarios

Logical View

Development View

Process View

Physical View

• The logical view to provide a static picture of the primary abstractions and their relationships

• the development view to show how the code is organized into subsystems and libraries and the use of commercial off-the-shelf (COTS) software

• the process view to show the processes and tasks• the physical view to show the processors, devices, and links in the

operational environment• Finally, a scenario view explains how the other four views work

together

Summary of the Five Views

View Chunk Organization Relations

Logical Class Category Usage, containment . . .

Process Task Process Invocation, messages . . .

Development Module Subsystem, Layer Visibility, inclusion

Physical Processor Assignment Connection

Scenarios Scripts Use Case Extends, uses

A Comparison of Phases of the Object-Oriented Systems Development Life

Rumbaugh et. al (1991) Coad & Yourdan (1990):OOA only

Henderson-Sellers &Edwards (1990)

1. Analysis2. System Design3. Object Design4. Implementation

Models DevelopedObject Model

Dynamic modelFunctional Model

1. Finding class andobjects2. Identifying structures3. Identifying subjects4. Defining attributes5. Defining services

LayersSubject Layer

Class and object layerStructure layerAttribute layerService layer

1. Undertakingrequirements specification2. Identifying objects3. Establishinginteractions betweenobject4. Merging analysis intodesign5. Realizing bottom -upconcerns6. Introduction ofhierarchical inheritancerelationships as required7. Aggregation and/orgeneralization of classes

A Comparison of Phases of the Object-Oriented Systems Development Life

Rumbaugh et. al (1991) Coad & Yourdan (1990):OOA only

Henderson-Sellers &Edwards (1990)

1. Analysis2. System Design3. Object Design4. Implementation

Models Developed

1. Finding class andobjects2. Identifying structures3. Identifying subjects4. Defining attributes5. Defining services

Layers

1. Undertakingrequirements specification2. Identifying objects3. Establishinginteractions betweenobject4. Merging analysis intodesign5. Realizing bottom -upconcerns6. Introduction ofhierarchical inheritancerelationships as required7. Aggregation and/orgeneralization of classes