Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chap 02

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 7

Chapter 2: Information System Life Cycle

Learning Objectives
In this chapter you will learn
 System Development Life Cycle
 Prototyping
 CASE
 Component-Based Development and Rapid Application Development

1. SDLC (System Development Life Cycle)


It is a phased and systematic approach to analysis and design in order to produce a
quality system.

2. Phases of SDLC

i. System Planning
 Identify problems, opportunities and objectives
 Identify business requirements and how (conceptually) the system will
address them
 Define the problem
 Confirm project feasibility
 Produce the project schedule, staff the project, launch the project

Deliverables:
 Preliminary Investigation Report

Note:
 Knowing the scope of the system is important!
 Focus!
 Don’t do something out of your system’s scope
 Initial understanding of problems is essential

ii. System Analysis


 Find out more about the purpose of this system
 Analyse problem identified
 Identify the purpose of this system
 Define System requirements
 Understand interaction of system with other systems
 Identify subsystem
 Identify purpose of subsystem
 Identify improvements for current system
 Identify constraints (Problems)
 Ask users what exactly are their roles in this system
 Ask users also what are their expectations of the system

Deliverables:
 Data Flow Diagrams / Data Dictionary / UML Diagrams / ER Diagrams etc.

KM 104 Page 1 of 6
Chapter 2: Information System Life Cycle

 System Requirements Report (Functional Vs. Non-functional requirements)

Note:
 Clear understanding of the exact scenario is of utmost importance!
 Tackling incorrect problems would result in wasting of good resources
 Important to ensure that everybody has the same understanding of the
scenario
 Communication plays a major role here

iii. System Design


 Understand processes involved in each individual subsystems
 Understand the interconnectivity among the subsystems
 Know how to connect all subsystems together to form the system
 Design the interface for the subsystems (input and output)

Deliverables:
 Design Specifications report
 Update the Data Flow Diagrams / Data Dictionary / UML Diagrams / ER
Diagrams

Note:
 Get in touch with intended users frequently to ensure proposed design meet
their expectations

iv. System Implementation


 Determine hardware & software requirement
 Determine the best & most appropriate programming language to use
 Plan on the best methods to train intended users
 Plan appropriate conversion strategy to migrate from existing to new system

Deliverables:
 Documentation of all the items mentioned above

Note:
 Ensure that users had been kept updated on the progress
 Get the users to provide feedback from time to time

v. System Testing and Maintenance


 Check whether all subsystems are working “harmoniously” with one another
 Check whether the system is functioning as intended (using both test & actual
data)
 Check the stability of the system
 Provide support to end users
 Are the users happy with the system?
 Are there any aspects of the system which could be improved further?
 How can the system be maintained to lengthen its life span?

Deliverables:

KM 104 Page 2 of 6
Chapter 2: Information System Life Cycle

 Reports & updates based on feedback provided by intended users

Note:
 Important to ensure that final product matches the requirements of intended
users and the right testing method is used.

3. Interesting points: System Development Life Cycle (SDLC)

 Phases tend to overlap with one another (not as clear cut as it seems
theoretically)
 Repetitive of phases is possible & very likely (especially when there are demands
from the intended users) – this results in continuous changes being made (delay
in delivery of the required system)
 Not very adaptive to changes especially after the system implementation stage
had commenced (e.g. programming language)
 It is easy assign appropriate individuals to complete tasks allocated in each stage
 Evaluation could be made at the end of each stage (to proceed or not to
proceed)

4. Other Information System Development methodology (Brief Intro)

A) Prototyping

 A partially working system built to explore certain aspect of the system


requirements (e.g. appropriateness of a certain programming language /
database management system / communications)
 Not intended to be treated as the final working system (lacks full functionality,
limited quality assurance)
 Prototype Objectives
 to investigate user requirements
 to investigate the most suitable form of interface
 to determine whether a particular implementation platform can support
certain processing requirements
 determine the efficacy (effectiveness) of a particular language

 Major Steps:
 Perform an initial analysis
 prototyping is going to utilize valuable resources.
 perform initial analysis otherwise, prototype will result in ill-focused and
unstructured activity producing poorly designed software

 Define prototype objectives


 prototyping should have clearly stated objectives
 it should be possible to decide if they have been achieved

 Specify prototype

KM 104 Page 3 of 6
Chapter 2: Information System Life Cycle

 it will be subject to change and this will be easier if the software is built
according to sound design principles

 Construct prototype
 in a rapid development environment

 Evaluate prototype and recommend changes


 it should be evaluated with respect to the objectives identified at the
beginning of step 2
 if the objectives have not been met then the evaluation should specify
modifications to the prototype so that it may achieve its objectives

Figure 2.1: Major steps in prototyping

 Types of Prototypes
 Patched-up prototype
- working model that has all the necessary features but is inefficient

 Non-operational prototype
- is a non working scale model that consist of input and output features
only.

 First-of-a-series prototype
- first full scale model of a system.
- E.g. install working Electronic Fund Transfer in one bank and if it works
port it to other branches.

 Selected feature prototype


- building a operational model that include some but not all of the features
that a final system have.

Prototyping has the following advantages


 Early demonstrations of system functionality

KM 104 Page 4 of 6
Chapter 2: Information System Life Cycle

 Client requirements that have been missed are identified


 Difficulties in the interface can be identified
 The feasibility and usefulness of the system can be tested

B) Incremental Development

 Start developing small systems which would grow incrementally


 Focus initially on major important requirements set by intended user
 Add-ons would be provided as the system grows
 It is crucial to continuously feedback to the development team to ensure that the
team knows what to develop in the subsequent increments
 Related to the spiral model approach

C) CASE (Computer Aided Software Engineering)


Consist of 2 types :-
a) Upper Case tools
- provide support for analysis and design
- some features include :-
a) syntactic correctness (check the correct symbols are being used
in the diagram)
b) data dictionary (provides clear definition of the elements used in
the information system)
c) consistency and completeness checking
d) navigation to the linked diagrams (double-clicking on a component
at one level of abstraction may open another diagram at a more
detailed level)
e) traceability (changes at one part would result to changes at
related parts)
f) report generation, etc.

b) Lower Case tools


- concern with the construction and maintenance of the software.
- some features include :-
a) code generators (automatic generate codes from the design
model)
b) maintenance tools (for e.g. tools like reverse engineering that
generate design documentation from the program code).

I-Case tools provide increasing wide range of facilities and cover most life cycle
activities.

Benefits of using CASE


- Provides standardized notation and diagramming standard used within a
project and this aid communication among members.
- Reduce the time and effort that needs for analysis and programming.

Difficulties of using CASE


- Limitation in the flexibility of the documentation that they can provide.

KM 104 Page 5 of 6
Chapter 2: Information System Life Cycle

- High cost of the CASE (software, manuals, training)


- Developer need to work in a particular way in order to fit the capabilities
of the CASE tool.

D) Component-based Development (CBD)

Description
 Applications are being built from pre-built, pre-tested, reusable software
components that operate with each other
 Via this approach, applications can be assembled quickly
 Visual tools or actual code can be used to “glue” together components
 CBD will allow independently developed applications to work together
 Besides that, CBD also reduces the development effort required to come out with
a system
 CBD is concerned with the implementation and system integration aspects of
software development

E) Rapid Application Development (RAD)

 Is a set of tools and techniques that can be used to build an application faster
than typically possible with traditional methods
 Usually used in conjunction with software prototyping
 Concerned with reducing “time to market” and not the software development time
 RAD builds applications quickly and incrementally implement the design and user
requirements
 The purpose of RAD is to build a version of an application rapidly to see whether
the problem had been clearly understood (analysis)
 It also determines whether the system does what it is supposed to do (design)
 Involves a number of iterations where after each iteration, the problem identified
would be better understood and better improvements could be made
 RAD makes great demos

7. What did you learn from this week’s discussion?

8. Reference Materials:

 Systems Analysis & Design (Kendall & Kendall)


Chapter 8: Prototyping

 Systems Analysis & Design (Kendall & Kendall)


Chapter 21: Successfully Implementing the Information System

 Object-oriented Systems Analysis & Design Using UML (Bernett, McRobb &
Farmer)
Chapter 3: Avoiding the Problems

KM 104 Page 6 of 6
Chapter 2: Information System Life Cycle

KM 104 Page 7 of 6

You might also like