View
214
Download
0
Tags:
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
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
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
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