section a- introduction-review of traditional methodologies

Upload: ravi-gupta

Post on 06-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    1/21

    Section A: Introduction

    Review of Traditional

    Methodologies

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    2/21

    Two Approaches to System Development

    Traditional Structured Approach vs. Emerging ObjectOriented Approach

    Both are widely used today.

    Older, established organizations: lean toward thetraditional approach

    Newer organizations, or those with heavy emphasison the Web, moving toward Object Oriented

    approach Approaches are not mutually exclusive!!

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    3/21

    Structured Approach

    Structured system development has 3 components Structured programming

    Structured design

    Structured analysis

    Collectively referred to as structured analysis anddesign technique (SADT)

    The approach evolved over many years (60s to 80s)

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    4/21

    Structured Programming

    Improves computer program quality

    Allows other programmers to easily read and modifythe code

    Each program module has one beginning and oneending

    Three programming constructs

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    5/21

    Three Structured Programming Constructs

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    6/21

    Top-Down Programming

    Divides complex programs into hierarchy of modules

    Module at top controls execution by calling lower level modules

    Modular programming Similar to top-down programming

    One program calls others to work as single system

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    7/21

    Structured Design

    Developed in responseto increasing complexityof applications

    Developed to provide

    guidelines What the set of programs should

    be?

    What each program shouldaccomplish?

    How programs should be

    organized into a hierarchy?

    Main principles ofprogram modules

    Loosely coupled - independent

    Highly cohesive - one clear task

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    8/21

    Structured Analysis

    Emerged in the 1980s

    Helps developer define what the system needs to do(processing requirements)

    Defines:

    Events that trigger system functions

    System functions

    Data to store and use

    Inputs and outputs

    How functions work together

    Data Flow Diagrams (DFDs) and Entity RelationshipDiagrams (ERDs) are mostly important and commonlyused models from Structured Analysis

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    9/21

    Data Flow Diagrams Data Flow Diagrams

    (DFDs) model whatthe system needs todo and what datamust be stored

    Shows inputs,processes, outputsand data stores

    Start at high level anddrill down:

    functional

    decomposition

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    10/21

    Entity Relationship Diagrams Entity Relationship Diagram (ERD) models the data that

    must be maintained within the system.

    Entities: things that the system must maintain information

    about

    Relationships: how the entities are related to each other

    Entities correspond to data stores on DFD diagrams

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    11/21

    Structured Analysis Leads to Structured

    Design and Structured Programming

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    12/21

    Techniques address some but not all of the activities of analysis anddesignTechniques make system development not enough formal (not like an

    engineering discipline) but rather like an art.

    The transition from the data flow diagram (in structured analysis) tothe structure chart (in structured design) did not work well in practice.data modeling using structure chart and ER diagram were more

    important than modeling of processes (using dataflow diagrams)However, the structured approach overall still made processes rather

    than data the central focus of the system

    Many felt a strategic planning technique needed to be included in theapproach to determine which systems to be built and to provide someinitial requirements.As an alternative: information engineering.

    Weaknesses of the StructuredApproach

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    13/21

    Information Engineering (IE)

    Focus on strategic planning to identify all the organization informationneeds (the application architecture plan), data modeling, and automatedtools

    More focused on data itself than the structured approach. But just as thestructural approach includes data requirements, IE includes processes,too

    The processing model of information engineering, the processdependency diagram, is similar to a data flow diagram, but it focuses moreon which processes are dependent on other processes and less on datainputs and outputs

    Provides more complete life cycle support through the use of an

    integrated CASE tools (help to automate systems development; finalprogram code can be generated automatically by the CASE tools)

    Became popular on large-mainframe systems in the1980 s, less used in the1990 s on smaller desktop systems (but concepts still used by planning and emphasis on data modeling)

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    14/21

    Structured Approach and IE

    Both approaches define information system requirements,design and construct information systems by looking atprocesses, data and the interaction of these two

    Industry merged key concepts from structured development andinformation engineering approaches into traditional approach

    An object-oriented technology provides a completely differentperspective

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    15/21

    Object-Oriented Approach

    Views information systems as collections of interactingobjects that work together to accomplish tasks

    Objects - things in the computer system that can respond tomessages

    An object is a type of thing (person, order, product, button orpull-down menu)

    No processes, programs, data entities, or files

    Object-oriented languages include C++ and Java

    Object Oriented approach consists of: Object-oriented analysis Object-oriented design

    Object-oriented programming

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    16/21

    Object-Oriented Approach to Systems

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    17/21

    Object-Oriented Analysis

    Object-orientedanalysis

    Defines all of the types ofobjects that do the work ofthe system

    Shows how objects interact

    Class: A collection ofsimilar objects(Customer)

    Class Diagram: Produced during object-

    oriented analysis to showall classes of objects inthe system and how theyrelate to each other.

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    18/21

    Object-Oriented Design and Programming

    Object Oriented Design: Defines all additional object types needed to communicate with

    people and devices in the system

    Refines each type of object for implementation within a specificlanguage (e.g., Java or C++)

    Object-oriented Programming:

    Writing statements in programming language to define what eachobject does

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    19/21

    Benefits of the Object-Oriented Approach

    Naturalness

    Reuse

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    20/21

    Traditional vs. Object-Oriented Approach

    As part of a project, define the followingrequirements related to customer information:

    The information we need to maintain for customer includes:name, address, and credit limit and current A/c balance

    We need the ability to add new customers over time We need to be able to delete inactive customers from the

    system

    We need to be able to raise/lower customer credit limits overtime.

    We need to be able to view current information about thecustomer on demand.

  • 8/2/2019 Section a- Introduction-Review of Traditional Methodologies

    21/21

    CustomerData

    Traditional vs. Object Oriented Approach

    Traditional Approach(structured/IE)

    CustomerTable

    Customer IDName

    Address

    Credit LimitCurrent Balance

    AddNew

    CustomerProgram

    UpdateCredit Limit

    Program

    DeleteCustomerProgram

    QueryCustomer

    Program

    Object OrientedApproach

    CustomerCustomer ID

    NameAddress

    Credit Limit

    Current Balance

    Add

    Delete

    tableprograms

    object