Title: WXGE6102 Information Systems: Fundamentals, Procurement and Operational Issues
1WXGE6102 Information Systems Fundamentals,
Procurement and Operational Issues
2Lesson 4 The Role of System Analyst Succeeding
as a Systems Analyst
- Introduction Software Engineering Process
- Approaches to Systems Development
- Organizational Responsibilities in Systems
Development - Skills of a Successful Systems Analyst
- Analytical
- Technical
- Management
- Interpersonal
3Lesson 5
- Building Information System Methodologies,
Models, Tools and techniques for System
Development
4Today Topics
- Systems Development Life Cycle
- Major Problems Traditional SDLC
- Advantages and Disadvantages of Traditional SDLC
- Alternatives to Conventional SDLCs
- Prototyping
- Joint application design
- Rapid application development
- Object-oriented development
- Component Based development
- User development
- CASE Tools
5- Systems Analysis and Design is the process
people use to create (automated) information
systems
Systems Analysis Design
Information System
2
6SYSTEMS ANALYSIS AND DESIGN A Condensed
(Informal) Perspective
Completed Information System
An idea
Analysis
Design and Implementation
Time
5
7Today Topics
- Systems Development Life Cycle
- Major Problems Traditional SDLC
- Advantages and Disadvantages of Traditional SDLC
- Alternatives to Conventional SDLCs
- Prototyping
- Joint application design
- Rapid application development
- Object-oriented development
- Component Based development
- User development
- CASE Tools
8Systems Development Life Cycle
- Systems Development Life Cycle (SDLC) represents
a set of general categories that show the major
steps, over time, of an information systems
development project. - There is no universal, standardized version of
the SDLC, but the phrase has two distinct
meanings. - An SDLC can be a general conceptual framework for
all the activities involved in systems
development or acquisition. - An SDLC can also be a very structured and
formalized design and development process.
9 Systems Development Life Cycle (SDLC)
- Systems Investigation
- Systems Analysis
- Systems Design
- Systems Implementation
- Systems Evolution
10Systems Development Life Cycle
- Series of steps used to manage the phases of
development for an information system - Consists of five phases
- Investigation
- Project Identification and Selection
- Project Initiation and Planning
- Analysis
- Design
- Implementation
- Maintenance and review
11Phases of the Systems Development Life Cycle
Investigation
- Project Identification and Selection
- Two Main Activities
- Identification of need
- Prioritization and translation of need into a
development schedule - Helps organization to determine whether or not
resources should be dedicated to a project. - Project Initiation and Planning
- Two Activities
- Formal preliminary investigation of the problem
at hand - Presentation of reasons why system should or
should not be developed by the organization
12Phases of the Systems Development Life Cycle
Analysis
- Study of current procedures and information
systems - Determine requirements
- Study current system
- Structure requirements and eliminate redundancies
- Generate alternative designs
- Compare alternatives
- Recommend best alternative
13Phases of the Systems Development Life Cycle
Design
- Logical Design
- Concentrates on business aspects of the system
- Physical Design
- Technical specifications
- Implementation
- Implementation
- Hardware and software installation
- Programming
- User Training
- Documentation
14Phases of the Systems Development Life Cycle
- Maintenance
- System changed to reflect changing conditions
- System obsolescence
15Today Topics
- Systems Development Life Cycle
- Major Problems Traditional SDLC
- Advantages and Disadvantages of Traditional SDLC
- Alternatives to Conventional SDLCs
- Prototyping
- Joint application design
- Rapid application development
- Object-oriented development
- Component Based development
- User development
- CASE Tools
16Major problems of traditional SDLC
17Major problems of traditional SDLC
- Many system projects fails, although they
incorporates a formal SDLC approach. - The environment is very different from 30 years
ago. - IT is much more powerful and includes features
like graphical user interface and client server
architecture - Should abandon the SDLC?
- No ! Still very important.
- Incorporate alternative method.
18Today Topics
- Systems Development Life Cycle
- Major Problems Traditional SDLC
- Advantages and Disadvantages of Traditional SDLC
- Alternatives to Conventional SDLCs
- Prototyping
- Joint application design
- Rapid application development
- Object-oriented development
- Component Based development
- User development
- CASE Tools
19 Advantages and Disadvantages of Traditional SDLC
20Today Topics
- Systems Development Life Cycle
- Major Problems Traditional SDLC
- Advantages and Disadvantages of Traditional SDLC
- Alternatives to Conventional SDLCs
- Prototyping
- Joint application design
- Rapid application development
- Object-oriented development
- Component Based development
- User development
- CASE Tools
21Alternatives to Conventional SDLCs
- Possibilities
- Prototyping
- Joint application design
- Rapid application development
- Object-oriented development
- Component Based development
- User development
22Prototyping
- Instead of spending a lot of time producing very
detailed specifications, the developers find out
only what the users want. - Developers quickly create a prototype.
- This contains portions of the system of most
interest to the users, or is a small-scale
working model of the entire system. - After reviewing the prototype with the users, the
developers refine extend it. - This approach is also known as evolutionary
development.
23Waterfall Model with Prototyping
24Joint Application Design
- Joint application design (JAD) is a group-based
method for collecting user requirements and
creating system designs. - JAD is most often used within the systems
analysis and systems design stages of the SDLC. - In contrast to the SDLC requirements analysis,
JAD has a group meeting in which all users meet
simultaneously with analysts. - Users, Managers and Analysts work together for
several days - System requirements are reviewed
- Structured meetings
- An electronic JAD session can be conducted
offsite/online with technology support. - JAD may not be an easy task for Web site design
since in some cases the stakeholders may be
outside of an organization.
25Rapid Application Development
- Rapid application development (RAD) methodologies
and tools make it possible to develop systems
faster, especially systems where the user
interface is an important component. - Rapid Application Development (RAD)
- Utilizes prototyping to delay producing system
design until after user requirements are clear
- Typical RAD packages include the following
- GUI development environment
- Reusable components
- Code generator
- Programming language
26Rapid Application Development (cont.)
27Object-Oriented Development
- An object-oriented (OO) system begins not with
the task to be performed, but with the aspects of
the real world that must be modeled to perform
that task. - Object technology enables the development of
purchasable, sharable, and reusable information
assets (objects) existing in a worldwide network
of interorganizational information systems. - The techniques and notations that are
incorporated into a standard object-oriented
language are called unified modeling language or
UML. - The object-oriented approach is ideal for
developing Web applications.
28Component-based Development
- Components are self-contained packages of
functionality that have clearly defined, open
interfaces with high-level application services. - E.g., interface icons (small), online ordering (a
business component) - Components can be distributed dynamically for
reuse across multiple applications and
heterogeneous computing platforms. - The major reasons for using components-based
development are - Code reusability, which make programming faster,
with fewer errors. - Support for heterogeneous computing
infrastructure and platforms. - Rapid assembly of new business applications
- Ability of an application to scale.
29End User Development
- Many organizations are using approaches that
shift the construction task from the IS
department to others. - Of the various ways of doing this, three are most
common - Let users build their own systems
- Outsource the entire systems development process
- Let end-users and/or the ISD use packages
30Outsourcing
- The purchase of any product or service from
another company. - Companies outsource the product or service they
unable or unwilling to produce themselves - Can provide IT services at 10-40 lower cost,
with higher quality
31Alternatives to Conventional SDLCs
- Possibilities
- Prototyping
- Joint application design
- Rapid application development
- Object-oriented development
- Component Based development
- User development
Limitation
32Limitations
- The traditional SDLC approach often works well
for large projects with well-defined
requirements, where there is not a lot of time
pressure. - Prototyping requires effective management to make
sure that the iterations of prototyping do not
continue indefinitely. - RAD may be less appropriate than conventional
programming languages for larger projects, or
those with a lot of real-time processing. - JAD is easy for senior management to understand,
yet it is difficult and expensive to get all
people in the same place at the same time.
33Limitations (cont.)
- Object-Oriented development is becoming
increasingly popular, but usage is limited by a
shortage of personnel with OO skills. (UML) -
- A component-based application architecture
provides several business benefits, but the
execution of component-based development requires
special training and skill. (SAP, SET) - End-user development is also a possibility for
larger projects whose priorities are not high
enough to lead to a timely response from the
central IS unit. - Outsourcing should always be considered by large
and complex systems with a significant risk of
failure, yet the disadvantages should be reviewed
carefully.
34CASE Tools
- Computer-aided software engineering (CASE) tools
are marketed as individual items or in a set
(toolkit) that automates various aspects of the
development process. - CASE can be used in two different ways
- To automate certain SDLC activities on a
piecemeal/different basis. - To provide an integrated (I-CASE) package for IS
groups. - Some typical CASE tools are
- Code generation tools
- Code generation is the process by which a
compiler converts a syntactically-correct program
into a series of instructions that could be
executed by a machine - Unified Modeling Language (UML) editors
- Refactoring tools
- Refactoring is the process of rewriting a
computer program or other material to improve its
structure or readability, while explicitly
keeping its meaning or behavior. - Disadvantages
- The relatively high turnover rate among systems
personnel creates problems for use of I-CASE
systems as new employees will need to take the
time to learn the integrated package.
35Question To Ponder
- Explain in detail each phase of SDLC.
- Discuss the alternative methodologies to
conventional SDLC and their limitation
36Next Lecture
Lesson 6 Systems Investigation and Analysis
37Thank You
Q A