Lecture 1 - Rabieramadan.org

advertisement
System Analysis and Design
Rabie A. Ramadan, PhD
http://rabieramadan.org
1
About my self

Rabie A. Ramadan

My website and publications
•
http://www.rabieramadan.org
2
Class Information

I am not here to punish you

Trust yourself and do your best

I want you to learn and compete with others
working on the same field

I want you to be confident when you speak with
others
3
Class Information

You can bring anything to drink but
NO FOOD PLEASE 


When you come in , DO NOT knock on the
door
When you want to leave , do not tell me  Just
leave but you will be counted as absent
• I do not take attendance every class but sometimes I
do
Class Information

Attendance is a vey important

Assignments must be delivered on time
5
Class Information

Textbooks
Systems Analysis and Design
, 2nd Edition
Alan Dennis and Barbara Haley Wixom
John Wiley & Sons, Inc.
6
Class Information

Website
http://www.rabieramadan.org/classes/2011/sysanalysis/
7
Introduction
8
Grading
Assig 5%
Attendance 5%
Exam1 15%
Exam2 15%
project 20%
Final 40%
9
Key Ideas

Many failed systems were abandoned because
analysts tried to build wonderful systems
without understanding the organization.

The primarily goal is to create value for the
organization.
1 - 10
Key Ideas

The systems analyst is a key person analyzing
the business, identifying opportunities for
improvement, and designing information
systems to implement these ideas.

It is important to understand and develop
through practice the skills needed to
successfully design and implement new
information systems.
1 - 11
THE SYSTEMS
DEVELOPMENT LIFE CYCLE
1 - 12
Major Attributes of the Life Cycle
 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
1 - 13
Project Phases

Planning (Why build the system? How should
the team go about building it?)

Analysis (Who uses system, what will it do,
where and when will the system be used?)

Design (How will the system work?)

Implementation (System delivery)
1 - 14
A simple process for making lunch
1 - 15
Planning

Identifying business value

Analyze feasibility

Develop work plan

Staff the project

Control and direct project
1 - 16
Analysis

Analysis strategy

Gathering business requirements

Requirements definition use cases

Process modeling

Data modeling
1 - 17
Design

Design selection

Architecture design

Interface design

Data storage design

Program design
1 - 18
Implementation

Construction

Installation
• Program building
• Program and system testing
• Conversion strategy
• Training plan
• Support plan
1 - 19
Processes and Deliverables
Process
Planning
Analysis
Design
Implementation
Product
System Request
Feasibility Analysis
Workplan
System Proposal
System
Specification
New System and
Maintenance Plan
1 - 20
SYSTEM DEVELOPMENT
METHODOLOGIES
1 - 21
What Is a Methodology?

A formalized approach to implementing the
Systems Development Life Cycle (SDLC)
• A series of steps and deliverables

Methodology Categories
Process-Centered
Data-Centered
Object-Oriented
1 - 22
Waterfall Development
Methodology
1 - 23
Pros and Cons of the Waterfall
Methodology
Pros
Identifies systems
requirements long
before programming
begins
Minimizes changes to
requirements as
project progresses
Cons
Design must be
specified on paper
before programming
begins
Long time between
system proposal and
delivery of new
system
1 - 24
Parallel Development Methodology
1 - 25
Pros and Cons of Parallel
Development Methodology
Pros
Cons
Reduces Schedule
Time
Still Uses Paper
Documents
Less Chance of
Rework
Sub-projects May Be
Difficult to Integrate
1 - 26
Rapid Application Development
(RAD)

Incorporate special techniques and tools:
• CASE tools
• JAD sessions
• Fourth generation/visualization programming
•
languages
Code generators
1 - 27
CASE tools

Computer-aided software
engineering (CASE)
•


Scientific application of a set of tools
and methods to a software system
which is meant to result in highquality, defect-free, and maintainable
software products.
Modeling business / real-world
processes and data flow.
Development of data models in
the form of entity-relationship
diagrams
1 - 28
JAD sessions

Joint Application Development (JAD)
•
•
•
Developed by Drake and Josh of IBM
Crawford of IBM Toronto in a workshop setting.
JAD was designed to bring system developers and users of
varying backgrounds and opinions together in a productive
as well as creative environment.
1 - 29
Three RAD Categories

Phased development

Prototyping

Throw-away prototyping
• A series of versions developed sequentially
• System prototyping
• Design prototyping
1 - 30
Phased Development Methodology
Insert Figure 1-4 here
1 - 31
Pros and Cons of Phased
Development Methodology
Pros
Users Get a System
To Use Quickly
Users Can Identify
Additional Needs
For Later Versions
Cons
Users Work with a
System that is
Intentionally
Incomplete
1 - 32
How Prototyping Works
1 - 33
Pros and Cons of Prototyping
Methodology
Pros
Cons
Users Interact with
Prototype Very Quickly
Tendency to do
Superficial Analysis
Users Can Identify
Needed Changes
And Refine Real
Requirements
Initial Design
Decisions May
Be Poor
1 - 34
Throwaway Prototyping
1 - 35
Pros and Cons of Throwaway
Prototyping Methodology
Pros
Risks are Minimized
Cons
May Take Longer
Than Prototyping
Important Issues are
Understood Before the
Real System is Built
1 - 36
Agile Development: Extreme
Programming
1 - 37
Pros and Cons of Agile
Methodologies
Pros
Fast Delivery of Results
Works Well in Projects
With Undefined or
Changing Requirements
Cons
Requires Discipline
Works Best in
Small Projects
Requires Much
User Input
1 - 38
Criteria for Selecting the
Appropriate Methodology






Clear user requirements
Familiarity with technology
Complexity of system
Reliability of system
Time schedule
Schedule visibility
1 - 39
TEAM ROLES AND SKILLS
1 - 40
Information Systems Roles





Business analyst
Systems analyst
Infrastructure analyst
Change management analyst
Project manager
1 - 41
1 - 42
Summary

The Systems Development Lifecycle consists of four stages:
Planning, Analysis, Design, and Implementation

There are six major development methodologies: the
waterfall method, the parallel development method, the
phased development method, system prototyping, design
prototyping, and agile development.

There are five major team roles: business analyst, systems
analyst, infrastructure analyst, change management analyst
and project manager.
1 - 43
Download