KEMBAR78
Lecture 01 Introduction and SDLC | PDF | Software Development Process | Software Prototyping
0% found this document useful (0 votes)
7 views44 pages

Lecture 01 Introduction and SDLC

The document outlines the importance of Systems Analysis and Design (SAD) in managing information systems, highlighting the high failure rates of IT projects and the need for accurate requirements analysis. It details the Systems Development Life Cycle (SDLC) phases: Planning, Analysis, Design, and Implementation, along with various methodologies such as Waterfall, Rapid Application Development, and Agile Development. Key roles in project teams are also identified, emphasizing the collaborative effort required to successfully deliver information systems that meet user needs.

Uploaded by

Tanjim Mostafa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views44 pages

Lecture 01 Introduction and SDLC

The document outlines the importance of Systems Analysis and Design (SAD) in managing information systems, highlighting the high failure rates of IT projects and the need for accurate requirements analysis. It details the Systems Development Life Cycle (SDLC) phases: Planning, Analysis, Design, and Implementation, along with various methodologies such as Waterfall, Rapid Application Development, and Agile Development. Key roles in project teams are also identified, emphasizing the collaborative effort required to successfully deliver information systems that meet user needs.

Uploaded by

Tanjim Mostafa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 44

INTRODUCTION

System Analysis and Design


(SAD )

Slide 1
Information System
Information systems are software
applications which manage large
amounts of data.
Most of the software out there is
information systems software,
written in languages such as Java, C+
+, .NET and the like.

Slide 2
The Bad News
30% of large IT projects are cancelled before completion

50% of IT projects are over-budget by more than 200%

The majority of completed projects deliver 60% or less of


prescribed functionality

Many delivered information systems are under-used


because they don’t meet user needs and/or expectations

Legacy systems are a serious and growing bottleneck to


organizational evolution

Slide 3
Software Horror Stories
Bank of America spent $23,000,000 on a 5-year
project to develop a new accounting system. Spent
over $60,000,000 trying to make new system work,
finally abandoned it. Loss of business estimated in
excess of $1,000,000,000
The B1 Bomber required an additional
$1,000,000,000 to improve its air defense software,
but the software still isn’t working to specification

Ariane 5, Flight 501


The loss of a $500,000,000 spacecraft was
ultimately attributed to errors in requirements,
specifications and inadequate software reuse
practices.
Why is this Course Important?
Most errors (54%) are detected after coding and
testing.

Almost half of all errors in software (45%) are in


requirements and design.

Most errors made during requirements analysis are


non-clerical (77%)

Requirements errors can cost up to 100 times more


to fix than implementation errors
if they are not caught early on.

Need to do requirements and design right!


Slide 5
Slide 6
Key Ideas
Many failed systems were
abandoned because analysts
tried to build wonderful systems
without understanding the
organization.
The primary goal is to create
value for the organization.
Slide 7
Key Ideas
Systems analyst is a key
person
analyzing the business
identifying opportunities for
improvement
designing information systems
to implement these ideas.

Slide 8
What is Systems
Analysis?
The collection of notations, methodologies and
tools used to gather details and analyze a problem
situation prior to information system design and
implementation

Systems analysis (or, requirements analysis)


must ensure that the proposed information system
meets user needs, can be delivered on time, and
can be updated inexpensively.

Problems in "getting the systems analysis right",


such as ill-defined situations, ambiguities,
inconsistencies, mixing requirements with design
Slide 9
Need for Systems
Analysis?

Remember, finding and fixing


a fault after software delivery
is 100x more expensive than finding
and fixing it during systems analysis
or early design phases

Slide 10
THE SYSTEMS
DEVELOPMENT LIFE
CYCLE

Slide 11
Major Attributes of the
Lifecycle
The project
Moves systematically through phases
where each phase has a standard set
of outputs
Produces project deliverables
Uses deliverables in implementation
Results in actual information system
Uses gradual refinement

Slide 12
Project Phases
Planning
Why build the system?
Analysis
Who, what, when, where will the system be?
Design
How will the system work?
Implementation
System delivery

Slide 13
Planning
Identifying business value
Analyze feasibility
Develop work plan
Staff the project
Control and direct project

Slide 14
Analysis
Analysis strategy
Analysis of current system
Ways to design new system
Requirements gathering
Interviews, questionnaires
Process modeling
Data modeling
Slide 15
Design
Architectural design
Hardware
Software
Network infrastructure
Interface design
Database and file design
Program design
Slide 16
Implementation
Construction
Writing programs
Testing
Installation
Replace old with new system
Training users
Support Plan
Slide 17
Processes and
Deliverables
Process Product
Project Plan
Planning

System Proposal
Analysis

System
Design
Specification

New System and


Implementation
Maintenance
Plan

Slide 18
SYSTEM DEVELOPMENT
Methodologies

Slide 19
What Is a Methodology?

A formalized approach or series


of steps to implement SDLC

Methodology categories:
Process-centered
Data-centered
Object-oriented

Slide 20
Need for methodology
Writing code without a well-thought-
out system request may work for
small programs, but rarely works for
large ones.

Need to have a good design from


the requirements before moving on
to implementation.
Slide 21
Systems development
methodologies
Structured Design
Waterfall Development
Parallel Development
Rapid Application Development
(RAD)
Phased Development
Prototyping
Agile Development
Extreme Programming
Slide 22
Structured Design
Projects move methodically
from one to the next step
Generally, a step is finished
before the next one begins

Slide 23
Waterfall Development
Method

Slide 24
Pros and Cons of the
Waterfall Method

Pros Cons

Identifies systems Design must be


requirements long specified on paper
before programming before programming
begins begins

Long time between


system proposal and
delivery of new
system

Slide 25
Parallel Development

Slide 26
Pros and Cons of the
Parallel Method

Pros Cons

Reduce schedule time Subprojects may not


to deliver the system be completely
independent –
integration may be
complicated
Paper document
outputs still cause
problems

Slide 27
Rapid Application
Development
Critical elements
CASE tools (Computer-Aided
Software Engineering (CASE))
JAD sessions (Joint Application
Design)
Fourth generation/visualization
programming languages
Code generators
Slide 28
Rapid Application
Development Categories
Phased development
A series of versions
Prototyping
System prototyping
Throw-away prototyping
Design prototyping
Agile Development
Extreme Development
Slide 29
Phased development

Slide 30
Pros and Cons of Phased
development

Pros:
1.Users gain early process and software knowledge now that they can use
in the subsequent phases.
2.Issues with one phase only affect a small area of the business
3.Core project team can learn from the initial phases and use their new
found knowledge for subsequent phases.

Cons:
1.Project duration for full implementation is long
2.If you are on a tight/limited budget this can prove costly.
3.Need to supply critical modules which will be integrated at the end.

Slide 31
How Prototyping Works

Slide 32
Pros and Cons of
Prototyping
Pros:
1.Users are actively involved in the development
2.Since in this methodology a working model of the system is provided,
the users get a better understanding of the system being developed.
3.Errors can be detected much earlier.
4.Quicker user feedback is available leading to better solutions.
5.Missing functionality can be identified easily

Cons:
1.Practically, this methodology may increase the complexity of the system
as scope of the system may expand beyond original plans.
2.Incomplete application may cause application not to be used as the full
system was designed
Slide 33
Throwaway Prototyping

Slide 34
Pros and Cons of Throwaway
Prototyping
Pros:
1.it is very cost-effective.
2.Throwaway Prototyping model uses a series of prototypes to detect and
forecast possible problems, it can prevent these from taking place as soon
as the product or service is introduced to the market.
3.Project completion is quick. Since it allows early detection of issues, the
transition from one step to the next will be smoother and faster.
Cons:
1.Since the process involved in prototyping is done in rapid speed, it is
possible that a lot of aspects can be overlooked.
2.Confusion on the part of users and developers can also occur because it
is likely to get so used to the prototype that differentiating it from the real
one can become a challenge.
Slide 35
Selecting the Appropriate
Methodology
Clarity of User Requirements
Familiarity with Technology
System Complexity
System Reliability
Short Time Schedules
Schedule Visibility

Slide 36
Criteria for Selecting a
Methodology

Slide 37
Extreme Programming
Perhaps the best-known and most widely used
agile method.

Extreme Programming (XP) takes an ‘extreme’


approach to iterative development.
New versions may be built several times per
day;
Increments are delivered to customers every 2
weeks;
All tests must be run for every build and the
build is only accepted if tests run successfully.
Extreme Programming

Slide 39
Project Team Roles and
Skills

Slide 40
Information Systems
Roles
Business analyst
System analyst
Infrastructure analyst
Change management analyst
Project manager

Slide 41
Project Team Roles

Slide 42
Summary -- Part 1
The Systems Development Life Cycle
consists of four stages: Planning,
Analysis, Design, and Implementation
The major development methodologies:
Structured design

the waterfall method

Parallel development
RAD development

Prototyping (regular and throwaway)
Agile development

XP streamline SDLC

Slide 43
Summary -- Part 2
There are five major team roles: business
analyst, systems analyst, infrastructure
analyst, change management analyst
and project manager.

Slide 44

You might also like