Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

Information System Development Methodologies

VIEWS: 8 PAGES: 19

									Last time …


       A review of the concept of an information system


Now …

        A review of the concept of an information system methodology



 Readings:
    The Software Development Process
    Rapid Application Development
    Selecting a Development Approach
  Information System Development
           Methodologies
What is a methodology?

` a collection of procedures, techniques, tools and documentation
aids which will help the systems developers in their efforts to
implement a new information system.

A methodology will consist of phases, themselves consisting of sub-
phases, which guide the systems developers in their choice of
techniques that might be appropriate at each stage of the project
and also help them plan, manage, control and evaluate information
systems projects.’

[Information Systems Development: Methodologies, Techniques
and Tools, Avison and Fitzgerald ]

                   In other words the methodology will tell you what to
                   do, when to do it and what you have to produce
                   during the project
 Information System Development
          Methodologies
Some terminology


Workflow

   A workflow describes the things you do.

  It is a sequence of activities that produces a result of observable value

Deliverable
   A deliverable is something that is produced during the project.

   They result from workflows and may be documents or software components
     Information System Development
              Methodologies
The systems development lifecycle (SDLC), or `waterfall’ model

The very earliest of the system development methodologies


It identifies a series of distinct activities (or stages) that have to be carried out to
develop a system.


Although the exact number and naming of these activities may vary
according to the version of the SDLC being used, but the basic ideas are the
same.
          Information System Development
                   Methodologies
      The systems development lifecycle (SDLC), or `waterfall’ model

    requirements                                                   sequence

             analysis
                                                                   feedback
                     design

                         software development [coding]

                                                         testing

                                                          implementation

                                                                     operation/maintenance


Each of the stages can viewed as a workflow resulting in the production of deliverable(s)
    Information System Development
             Methodologies
The systems development lifecycle (SDLC), or `waterfall’ model

Assumptions and comments

 One activity follows another e.g. analysis precedes design, design precedes
 software development etc.
 System requirements are stable. i.e. they are determined early in the
 project and remain stable throughout the project life.

 Each stage produces a major deliverable e.g. the design activity (workflow)
 produces a design specification, the software development activity
 (workflow) produces software artefacts which are ready for testing etc

 The basic philosophy is that the system requirements (a description of what
 the proposed system has to do) are determined first. Then a design
 specification is produced ( a description of how the system requirements will
 be met) which is then coded/tested/implemented on a suitable
 hardware/software platform.
    Information System Development
             Methodologies
The systems development lifecycle (SDLC), or `waterfall’ model

Strengths and weaknesses

The major strength of the SDLC is the identification of a set and sequence of
workflows/deliverables necessary for the successful development of an
information system.

 It can and is used as a basis for effective project management

 However …
         requirements are not necessarily stable

         by postponing the testing workflow till after a complete design specification
         is produced, the risk that the project will end in disaster is increased
             Information System Development
                      Methodologies
  Evolutionary or Incremental Approaches

 A series of `prototype’ systems of increasing complexity are produced


The production of each prototype involves a sequence/iterations of the work flows from the SDLC




Initial                                                                            implementation
 investigation     requirements     prototype design      coding, testing etc


                                                              evaluation




                                         several iterations
       Information System Development
                Methodologies
Evolutionary or Incremental Approaches

Comments

Initial investigation involves the scoping and planning of each prototype iteration

User involvement in requirements determination, design and evaluation is emphasised

Can reduce the risk of failure by introducing testing and evaluation within each prototype cycle

The planning/monitoring of each prototype iteration is a management overhead

 Project management is more difficult as it may be difficult to see when the process will end
 with a stable and fully developed system
    Information System Development
             Methodologies
The spiral approach

    system development through a series of iterations i.e revisiting a similar set of
    activities/stages


    explicitly includes activities that assess risk. This involves identifying
    and minimising those factors that could potentially lead to project
    failure.

    There are four(4) quadrants. These describe the major activities that
    should be undertaken during each iteration
            Information System Development
                     Methodologies
                                              Quadrant [2 ]
     The spiral model [Barry Boehm, 1988]
                                                     Carry out a risk analysis
                                                     (identify highest risks
                                                     threatening the project).
                                                     Develop prototypes to
                                                     evaluate possible
Quadrant [1 ]                                        approaches to
                                                     minimise/resolve risk

     starting point




                                                        Quadrant [3 ]
                      Time axis
                                                  Develop/validate a product.
                                                  In subsequent iterations this
        Quadrant [4 ]                             will resemble the traditional
                                                  SDLC
                                  Cost axis
    Information System Development
             Methodologies
The spiral model [Barry Boehm, 1988]

 The type of prototype may vary according to the iteration

 Illustrative Prototype (for requirements) determination
        Develop the user interface with a set of storyboards
        Implement them with a user interface builder (Visual C++, ....)
        Good for first dialogue with client
 Functional Prototype (for the beginning of an operational system)
         Implement and deliver an operational system with minimum functionality
        Then add more functionality
        Order identified by risk
 Exploratory Prototype (for further requirements determination)
        Implement part of the system to learn more about the requirements.
        Good for understanding, exploring alternatives
  Information System Development
           Methodologies
Rapid Application Development (RAD) [James Martin et al 1991]


Uses an evolutionary/prototyping approach

Focuses upon identifying important users and involving them via workshops
at early stages of development
Focuses on obtaining commitment from business users

Requires strong software support [a CASE tool(s) with a sophisticated repository]
         Information System Development
                  Methodologies
     Rapid Application Development (RAD) [James Martin et al 1991]




                                                         evolutionary /prototyping approach

User involvement
is through
structured
workshops
and meetings
such as (J)oint
(A)pplication
(D)esign and
(J)oint
(R)equirements
(P)lanning
workshops
  Information System Development
           Methodologies
The (Rational) Unified Process [Jacobsen, Booch,Rumbaugh et al,1999 onwards]


  •developed in parallel with object-oriented modelling languages
  such as the [U]nified [M]odelling [L]anguage (i.e. by the same
  group of methodologists).
  •It is ` sequential in the large and iterative in the small’.
  •separates the activities/workflows from the project stages (in
  other words at a particular project stages several
  activities/workflows may be occurring together).
  •The project stages (phases) are more relevant to management or
  business concerns rather than being tied to a particular activity.
  •can be adapted to suit a particular organisation or project needs.
     Information System Development
              Methodologies
   The (Rational) Unified Process [Jacobsen, Booch,Rumbaugh et al,1999 onwards]
                                                        Phases
                                                                                             time
             Workflows      Inception Elaboration        Construction          Transition
       Business Modeling
            Requirements
        Analysis & Design
          Implementation
                     Test
              Deployment




                            Preliminary Iter.   Iter.   Iter.    Iter. Iter.   Iter. Iter.
                            Iteration(s) #1      #2      #n     #n+1 #n+2      #m #m+1
milestones
      Information System Development
               Methodologies
   The (Rational) Unified Process [Jacobsen, Booch,Rumbaugh et al,1999 onwards]

A note on the four phases

Each phase will involve a mixture of the activities (workflows).

This is unlike the more traditional approaches such as the SDLC
the evolutionary approaches where the activities define the
project phases.

There is iteration within the phases and possibly through the
phases

Inception: primarily concerned with planning and risk evaluation.

Elaboration: primarily concerned with designing the overall architecture of the system


Construction: the system is built, with a release which is delivered to the customers
for beta testing


Transition: concerned with moving the system from a developmental stage to an
operational stage
       Information System Development
                Methodologies
    A basic assumption

    There is a general consensus between the stakeholders (i.e.high level
    management, operational management, system users etc) as to the
    nature of the problem domain.

     In other words there is a common understanding of what the problem is

     Therefore the major issue becomes: how do we solve the problem?
     Information System (Software) Development methodologies of the type described
     here, provide a framework for problem solving.
     However
                  What happens if there is no consensus or if different
                  stakeholders have differing perspectives on the nature of the
                  problem domain?

Approaches which focus on problem resolution and deal with fuzzy unstructured problem
domains, typically found in social organisations, are required. In other words `soft systems’
approaches.
 Information System Development
          Methodologies
Next time …

         Modelling in Information Systems Development

								
To top