The system development lifcycle

advertisement
ZEIT2301- Design of
Information Systems
School of Engineering and Information Technology
UNSW@ADFA
Dr Kathryn Merrick
Week 01: Intro

Topics:


Review of the systems development lifecycle (SDLC) and its
phases
Introduction to the database development lifecycle (DBLC)
and phases
References:
Dennis, A., Wixom, B.and Tegarden, D., Systems Analysis and Design with
UML Version 2.0: An Object-Oriented Approach, 3rd edition, 2009, John
Wiley. (Chapter 1)
Connolly, T., Begg, C., Database Solutions: A step-by-step guide to building
databases, Second Edition, Pearson, 2004. (Chapter 4)
Systems Development Lifecycle

The SDLC consists of
phases/activities traditionally
used to conceive, develop and
maintain information systems.

Different variants of the lifecycle
exist.

The textbook identifies four
phases

Planning, Analysis, Design,
Implementation
SDLC Phases
1. Planning (actually initiation, then
planning)
 Why build the system?
2. Analysis
 Who, what, when, where of the
system?
3. Design
 How will the system work?
4. Implementation
 System delivery
1. Planning

Identifying business value


Does the project align with key business objectives?
Evaluate feasibility

Technical, economic, organizational

Develop work plan

Staff the project

Control and direct project
2. Analysis

Requirements Gathering/Elicitation


Requirements Modelling


Gather the requirements (using various techniques, e.g.
interviews, document analysis, etc)
Develop a set of analysis models that represent both the data
and processes necessary to support the business
Requirements Specification

Document the requirements in a system/software requirements
specification document
3. Design

Develop a design strategy

Design architecture and interfaces

Hardware, software, networks

Interface design
 Forms, reports, web pages

Database and file design

Program design
4. Implementation

Construction
 System is built (or acquired)
 System testing

Installation
 Implement a training plan for the users
 New system becomes operational

Operation & Maintenance

Establish a support plan
Processes and Deliverables
Process
Product
Planning
Project Proposal
and Plan
Analysis
Requirements
Specification
Design
Design
Specification
Implementation
Code
User Manual
Database
Development
Lifecycle
1.
2.
3.
4.
5.
6.
Planning
Analysis
Design
DBMS Selection
Implementation
Maintenance
1. Planning

Management activities that permit the stages of the
database system development lifecycle to be realised
efficiently and effectively

Creation of a mission statement and objectives

Development of standards for data collection and format
2. Analysis



Collecting and analysing information about the
organisation to be supported by the new database system
Using this information to identify the requirements of the
new database
A preliminary part of database design
3. Database Design


Creating a design that will support the organisation’s
mission statement and objectives
Other design processes:



Application design
Transaction design
User interface design
Database Management
Software
Database
Shared collection
of logically
related data
Database Management
Software (DBMS)
Methods to define, retrieve
update and maintain data
Applications
Interact with
database via
DBMS
4. DBMS Selection
5. Implementation

Physical realisation of the database and related
applications

Includes data conversion and loading

Testing
6. Maintenance

Monitoring and maintaining the database system following
installation
Systems development:
Some terminology

Methodology: A comprehensive approach to system development;
typically includes activities, techniques, and tools

Technique: a collection of guidelines that help an analyst complete an
activity or task

Tool: a specific device, usually software, which makes it easier to use
a specific technique
System Development
Methodologies

Historically methodologies tended to be either process-centred or datacentred.

More recently the object-oriented approach seeks to integrate both process
and data in a single model.

Large organizations may follow internal methodologies or formal standards.

For a complex information system, a systematic approach is crucial.

Well-known methodologies include:




Waterfall development
Parallel development
Rapid application development
Agile development
Categories of Methodologies

Structured Design



Rapid Application Development




Waterfall Development
Parallel Development
Phased
Prototyping
Throwaway Prototyping
Agile Development

eXtreme Programming
“Structured” Design

The advent of “Structured” design introduced formal models:


Typically used one set of models to describe process (eg Data Flow
Diagrams) and a separate set of models to describe data (eg Entityrelationship Diagrams)
Structured development methodology involved a formal step-by-step
approach


Most well known methodology is the Waterfall method
 Moves from one phase to the next in sequence
Many variants; later variants allowed for iteration where necessary
Structured Design 1
Waterfall Development
Pros and Cons of the Waterfall
Method
Pros
Identifies systems
requirements long
before programming
begins
Cons
Requirements must
be fully specified
before programming
begins
Long delay before
delivery of product;
Highly formalized;
Inflexible;
Structured Design 2
Parallel Development: sub-projects
developed separately
Pros and Cons of Parallel
development
Pros
Divides project into
sub-projects that can
be worked on in
parallel thus allowing
earlier delivery of the
system
Cons
Subsystems might
not be independent;
could require
significant integration
effort
Rapid Application Development

Rapid Application Development (RAD)



Concentrates on developing at least part of the system much
earlier
Involving users for feedback
Use of tools to speed development
Rapid Application Development

Key features




CASE tools (Computer-Aided Software Engineering)
JAD sessions (Joint Application Development)
Fourth generation/visualization programming languages
Code generators
 Eg generate code from models/diagrams
RAD based approaches

Phased Development


Prototyping



A series of versions; initial version meets key requirements
System prototyping
Prototype evolves to become the system
Throw-Away Prototyping


Design prototyping
Prototype is used only to help determine requirements
Rapid Application
Development 1
Phased Development
Version1, version 2, etc
Rapid Application
Development 2
System Prototyping
The prototype evolves to
become the actual system
Rapid Application
Development 3
Throwaway Prototyping
The prototype is only used to help
elicit requirements and thus inform
system design.
Agile Development

Agile development



Drastically reduces the modelling and associated documentation phases
Concentrates on programming (ie producing working code)
Extreme Programming



Develop code rapidly and involve users
Pair programming using skilled programmers
Rapid incremental development; continuous release of product to users
Agile Development
Extreme Programming
Criteria for Selecting the
Appropriate Methodology






Clarity of user requirements
Familiarity with technology
System complexity
System reliability
Short time schedules
Schedule visibility
Criteria for selecting a
Methodology
Criteria
Waterfall
Parallel
Phased
Prototyping Throwaway Extreme
Prototyping Programming
Unclear user
requirements
Poor
Poor
Good
Excellent
Excellent
Excellent
Unfamiliar
technology
Poor
Poor
Good
Poor
Excellent
Poor
Complex
systems
Good
Good
Good
Poor
Excellent
Poor
Reliable systems
Good
Good
Good
Poor
Excellent
Good
Short time
schedule
Poor
Good
Excellent
Excellent
Good
Excellent
Schedule
visibility
Poor
Poor
Excellent
Excellent
Good
Good
Object-Oriented Analysis & Design

Attempt to balance emphasis on data and process

Uses Unified Modelling Language (UML)

Characteristics of OOAD:



Use-case Driven
Architecture Centric
Iterative and Incremental
Skills of the systems analyst

Analytical


Technical


Computers, networks, databases, operating systems, Internet,
programming languages
Management


systems thinking, organisational knowledge, problem identification,
problem analyzing and solving
Resource management, project management, risk management, change
management
Interpersonal

Communications skills, ability to work in a team, group facilitation,
managing expectations
The Analyst’s
Approach to
Problem
Solving
Project Team Roles
Role
Responsibilities
Business Analyst
Analyzing the key business aspects of the system
Identifying how the system will provide business value
Designing the new business processes and policies
Systems Analyst
Identifying how technology can improve business processes
Designing the new business processes
Designing the information system
Ensuring the system conforms to IS standards
Infrastructure
Analyst
Ensuring the system conforms to infrastructure standards
Identifying infrastructure changes required by the system
Change
Management
Analyst
Developing and executing a change management plan
Developing and executing a user training plan
Project Manager
Managing the team
Developing and monitoring the project plan
Assigning resources
Serving as the primary point of contact for the project
Summary

The SDLC consists of four stages: Planning, Analysis,
Design, and Implementation

The DBLC consists of six stages: Planning, Analysis,
Design, DBMS Selection, Implementation, Maintenance

System development methodologies vary

The choice of an appropriate methodology depends on the
characteristics of the system, the organisation and the
available staff skill set.
Download