MODULE 4:
APPROACHES TO SYSTEM
DEVELOPMENT
Systems Analysis and Design in a Changing
World, 3rd Edition
SYSTEM DEVELOPMENT LIFECYCLE
“SYSTEMS DEVELOPMENT is the process of developing information systems through successive
phases in an orderly way.”
Systems Analysis and Design in a Changing World, 3rd Edition
Systems Development Life Cycle (SDLC)
• Systems development project
• Planned undertaking with fixed beginning and end
• Produces desired result or product
• Can be a large job of thousands of hours of effort or a small one month project
• Successful development project:
• Provides a detailed plan to follow
• Organized, methodical sequence of tasks and activities
• Produces reliable, robust, and efficient system
Systems Analysis and Design in a Changing World, 3rd Edition
Phases of the Systems Development Lifecycle (SDLC)
• Project planning: initiate, ensure feasibility, plan schedule,
obtain approval for project
• Analysis: understand business needs and processing
requirements
• Design: define solution system based on requirements and
analysis decisions
• Implementation: construction, testing, user training, and
installation of new system
• Support: keep system running and improve
Systems Analysis and Design in a Changing World, 3rd Edition
Information System Development Phases
Systems Analysis and Design in a Changing World, 3rd Edition
SDLC and problem-solving
• Similar to problem-solving approach
• Organization recognizes problem (Project Planning)
• Project team investigates, understands problem and solution
requirements (Analysis)
• Solution is specified in detail (Design)
• System that solves problem built and installed (Implementation)
• System used, maintained, and enhanced to continue to provide
intended benefits (Support)
Systems Analysis and Design in a Changing World, 3rd Edition
Planning Phase of SDLC
• Define business problem and scope
• Produce detailed project schedule
• Confirm project feasibility
• Economic, organizational, technical, resource, and schedule
• Staff the project (resource management)
• Launch project official announcement
Systems Analysis and Design in a Changing World, 3rd Edition
Analysis Phase of SDLC
• Gather information to learn problem domain
• Define system requirements
• Build prototypes for discovery of requirements
• Prioritize requirements
• Generate and evaluate alternatives
• Review recommendations with management
Systems Analysis and Design in a Changing World, 3rd Edition
Design Phase of SDLC
• Design and integrate the network
• Design the application architecture
• Design the user interfaces
• Design the system interfaces
• Design and integrate the database
• Prototype for design details
• Design and integrate system controls
Systems Analysis and Design in a Changing World, 3rd Edition
Implementation Phase of SDLC
• Construct software components
• Verify and test
• Convert data
• Train users and document the system
• Install the system
Systems Analysis and Design in a Changing World, 3rd Edition
Support Phase of SDLC
• Maintain system
• Small patches, repairs, and updates
• Enhance system
• Small upgrades or enhancements to expand system capabilities
• Larger enhancements may require separate development project
• Support users
• Help desk and/or support team
Systems Analysis and Design in a Changing World, 3rd Edition
Scheduling Project Phases
• Waterfall approach – each phase falls into next phase
• Freeze planning specifications before analysis
• Freeze analysis specifications before design
• Once go over the waterfall for each phase, do not go back
• Overlapping (or concurrent) phases
• Waterfall is not realistic, we are not perfect
• Overlaps can be more efficient than waterfall
Systems Analysis and Design in a Changing World, 3rd Edition
Scheduling Project Phases (continued)
• Iteration - Work activities are repeated
• Each iteration refines previous result
• Approach assumes no one gets it right the first time
• There are a series of mini projects for each iteration
• Example: Outline, rough draft, edited result
• Example: Blueprint, frame, completed house
Systems Analysis and Design in a Changing World, 3rd Edition
The waterfall approach to the SDLC
Systems Analysis and Design in a Changing World, 3rd Edition
Overlap of Systems Development Activities
Systems Analysis and Design in a Changing World, 3rd Edition
Iterations across life cycle phases
Systems Analysis and Design in a Changing World, 3rd Edition
Methodologies and Models
• Methodologies
• Comprehensive guidelines to follow for completing every SDLC
activity
• Collection of models, tools, and techniques
• Models
• Representation of an important aspect of real world, but not same as
real thing
• Abstraction used to separate out aspect
• Diagrams and charts
• Project planning and budgeting aids
Systems Analysis and Design in a Changing World, 3rd Edition
Some Models Used in System Development
Systems Analysis and Design in a Changing World, 3rd Edition
Tools and Techniques
• Tools
• Software support that helps create models or other required project components
• Range from simple drawing programs to complex CASE tools
• Techniques
• Collection of guidelines that help analyst complete system development activity or task
• Can be step-by-step instructions or just general advice
Systems Analysis and Design in a Changing World, 3rd Edition
Some Tools Used in System Development
Systems Analysis and Design in a Changing World, 3rd Edition
Some Techniques Used in System Development
Systems Analysis and Design in a Changing World, 3rd Edition
Relationships Among Components of a Methodology
Systems Analysis and Design in a Changing World, 3rd Edition
Two Approaches to System Development
• Traditional Approach
• Also called structured system development
• Structured analysis and design technique (SADT)
• Structured programming
• Improves computer program quality
• Allows other programmers to easily read and modify code
• Each program module has one beginning and one ending
• Three programming constructs (sequence, decision, repetition)
Systems Analysis and Design in a Changing World, 3rd Edition
Three Structured Programming Constructs
Systems Analysis and Design in a Changing World, 3rd Edition
Top-Down Programming
• Divides complex programs into hierarchy of modules
• The module at top controls execution by “calling” lower level modules
• Modular programming
• Similar to top-down programming
• One program calls other programs to work together as single system
Systems Analysis and Design in a Changing World, 3rd Edition
Top-Down or Modular Programming
Systems Analysis and Design in a Changing World, 3rd Edition
Structured Design
• Technique developed to provide design guidelines
• What set of programs should be
• What program should accomplish
• How programs should be organized into a hierarchy
• Modules are shown with structure chart
• Main principle of program modules
• Loosely coupled – module is independent of other modules
• Highly cohesive – module has one clear task
Systems Analysis and Design in a Changing World, 3rd Edition
Structure Chart Created Using
Structured Design Technique
Systems Analysis and Design in a Changing World, 3rd Edition
Structured Analysis
• Define what system needs to do (processing requirements)
• Define data system needs to store and use (data requirements)
• Define inputs and outputs
• Define how functions work together to accomplish tasks
• Data flow diagrams and entity relationship diagrams show results of
structured analysis
Data Flow Diagrams
Systems Analysis and Design in a Changing World, 3rd Edition
Data Flow Diagram (DFD) created using Structured Analysis
Technique
Entity-Relationship Diagrams
• A graphical representation of the
data layout of a system at a high
level of abstraction.
• Defines data elements and their
inter-relationships in the system
• The ERD is an implementation-
independent representation of a
problem domain and it facilitates
communication between the end-
user and the analyst.
• The basic components of the ERD
are entities, properties of entities
called attributes, and relationships
between entities.
Systems Analysis and Design in a Changing World, 3rd Edition
Entity-Relationship Diagram (ERD) created using the Structured
Analysis technique
Data Dictionary
➜ Data dictionary
• Defines each data element and data group
• Use of BNF to define structure of data groups
Example Data Dictionary
Mailing Label = customer_name +customer address
customer_name =customer_last_name +customer_first_name +customer_middle_initial
customer_address =local_address +community_address + zip_code
local_address =house_number + street_name +(apt_number)
community address =city_name + [state_name |province_name]
Systems Analysis and Design in a Changing World, 3rd Edition
Structured Analysis Leads to Structured Design and Structured
Programming
Systems Analysis and Design in a Changing World, 3rd Edition
Object-Oriented Approach
• Views information system as collection of interacting
objects that work together to accomplish tasks
• Objects - things in computer system that can respond to messages
• No processes, programs, data entities, or files are defined – just
objects
• Object-oriented analysis (OOA)
• Defines types of objects that do work of system
• Shows how objects interact with users to complete tasks
Systems Analysis and Design in a Changing World, 3rd Edition
Object-Oriented Approach to Systems
Systems Analysis and Design in a Changing World, 3rd Edition
Object-Oriented Approach (continued)
• Object-oriented design (OOD)
• Defines object types needed to communicate with people and devices in system
• Shows how objects interact to complete tasks
• Refines each type of object for implementation with specific language of environment
• Object-oriented programming (OOP)
• Writing statements in programming language to define what each type of object does
• Benefits of OOA include naturalness and reuse
Systems Analysis and Design in a Changing World, 3rd Edition
Class Diagram Created During OO Analysis
Systems Analysis and Design in a Changing World, 3rd Edition
Current Trends in Development
• Spiral Model
• Highly iterative approach
• Works around the phases (analysis, design, construction, testing, integration with
previous prototype component) in a spiral until project is complete
• Initial planning is to do just enough analysis to build initial prototype
• Each iteration in the spiral addresses greatest risk
Systems Analysis and Design in a Changing World, 3rd Edition
The Spiral Life Cycle Model
Systems Analysis and Design in a Changing World, 3rd Edition
Extreme Programming (XP)
• Recent, lightweight, development approach to keep process simple and
efficient
• Describes system support needed and required system functionality through
informal user stories
• Has users describe acceptance tests to demonstrate defined outcomes
• Relies on continuous testing and integration, heavy user involvement,
programming done by small teams
Systems Analysis and Design in a Changing World, 3rd Edition
Extreme Programming (XP)
Systems Analysis and Design in a Changing World, 3rd Edition
The Unified Process (UP)
• Object-oriented development approach
• Offered by IBM / Rational
• Booch, Rumbaugh, Jacobson
• Unified Modeling Language (UML) used primarily for modeling
• UML can be used with any OO methodology
• UP defines 4 life cycle phases
• Inception, elaboration, construction, transition
Systems Analysis and Design in a Changing World, 3rd Edition
The Unified Process (UP) (continued)
• Reinforces six best practices
• Develop iteratively
• Define and manage system requirements
• Use component architectures
• Create visual models
• Verify quality
• Control changes
Systems Analysis and Design in a Changing World, 3rd Edition
Agile Modeling
• Hybrid of XP and UP (Scott Ambler) has more models than XP, less
documents than UP
• Interactive and Incremental Modeling:
• Apply right models
• Create several models in parallel
• Model in small increments
• Teamwork:
• Get active stakeholder participation
• Encourage collective ownership
• Model with others and display models publicly
Systems Analysis and Design in a Changing World, 3rd Edition
Agile Modeling (continued)
• Simplicity:
• Use simple content
• Depict models simply
• Use simplest modeling tools
• Validation
• Consider testability
• Prove model is right with code
Systems Analysis and Design in a Changing World, 3rd Edition
Examples of Methodologies
• Agile Software Development
• Crystal Methods
• Dynamic Systems Development Model (DSDM)
• Extreme Programming (XP)
• Feature Driven Development (FDD)
• Joint Application Development (JAD)
• Lean Development (LD)
• Rapid Application Development (RAD)
• Rational Unified Process (RUP)
• Scrum
• Spiral
• Systems Development Life Cycle (SDLC)
• Waterfall (a.k.a. Traditional)