IS2210: Systems Analysis and Systems Design and Change Email: cathal.doyle@umail.ucc.ie Twitter: @InstCathalDoyle Website: www.cathaldoyle.com
Objectives Understand the phases of the Waterfall Model Advantages of the Waterfall Model Disadvantages of the Waterfall Model
Types of SDLC Agile Methods Waterfall Model Spiral Model V-Model Traditional Methods Agile Methods Waterfall Model Spiral Model V-Model Extreme Programming (XP) Scrum Adaptive Software Development Dynamic Systems Development Method (DSDM) Feature Driven Development
Waterfall Model Outlines the series of steps that should occur when building an information system The steps usually occur in a predefined order, with a review at the end of each stage When the review is complete, the next stage can be started
Waterfall Model
Background This is the best know SDLC model Simple to understand and use The next phase only starts when the previous one has finished!!!
Where Applicable? Software technologies and tools are well known New version of the existing software system is being created Software Requirements are clearly defined and known
Stages of the Waterfall Model
Project Identification and Selection Identifying Potential Development Projects Top-down source are projects identified by top management Bottom-up source are project initiatives stemming from managers, business units, or the development group
Classifying and Evaluating Projects
Why Planning? The key activity of project planning is the process of clear, discrete activities and the work needed to complete each activity within a single project The objective of the project planning process is the development of a Baseline Project Plan (BPP) and the Project Scope Statement (PSS)
What Does It Entail? Elements of project planning: Describe project scope, alternatives, and feasibility Divide project into tasks Create resource plan Develop schedule Develop communication plan Identify and assess risk Create budget
Analysis Phase Requirements Determination Work through the details of each requirement Study and analyse the current system Define and prioritise users requirements
How? Traditional Methods Interviews Observation Documentation
Modern Methods Joint Application Design (JAD) Prototyping
Design Phase Here we decide how the system will operate We should look at things such as: Hardware Software Network Infrastructure User Interface
What’s The Purpose? To create a blueprint that will satisfy all documented requirements Identify all inputs, processes, and outputs Avoid misunderstandings through manager and user involvement
End Result? A system design specification document
Two Types of Design Logical Design Design forms and reports Design interface Design database (logical)
Physical Design Design physical database Design programs and processes Design distributed systems
Forms and Reports Forms Reports a business document that contains some predefined data and may include some areas where additional data is filled in Reports a business document that contains only predefined data
Types of Reports Scheduled Key-Indicator Ad-Hoc
Interface Design
What is the Purpose? To convert the final physical system specification into working and reliable software To document work that has been done To provide help for current and future users
6 Activities Coding: physical design specifications are turned into working computer code Testing: Testing is performed with different strategies, in parallel with coding Installation: The current system is replaced by the new system
Documentation: Training: Application specific or for off-the-shelf software Support:
Documentation Two audiences will use final documentation IS personnel who will maintain the system throughout its productive life People who will use the system as part of their daily lives
Testing The purpose of testing is to confirm that the system satisfies the requirements Testing must be planned Test case is a scenario of transactions, queries, or navigation paths
Types of Testing Inspection (program code) Walkthrough (peer group review) Unit Testing (module testing)
Integration (complete module testing) System Testing (complete system)
Installation Four strategies: Direct Installation Parallel Installation Single-Location Installation Phased Installation
Training and Support Providing on-going educational and problem-solving assistance to IS users Potential Training Topics: Use of the system System Management System Installation
Four Major Activities Obtaining maintenance requests Transforming requests into changes Designing changes Implementing changes
Summary of Waterfall Model PHASE DESCRIPTION PLANNING Planning for Project ANALYSIS System requirements are studied and structured LOGICAL DESIGN Focuses on the process to be performed. What is to be done PHYSICAL DESIGN Focuses on the technical aspects to implement the logical design IMPLEMENTATION The coding, testing, installation, documentation, training and support of the new system and the delivery of that system into production MAINTENANCE The changes made to a system to fix or enhance its functionality
Advantages Easy to manage due to the rigidity of the model Phases are processed and completed one at a time Simple and easy to use
Testing is inherent to every phase Works well for smaller projects where requirements are very well understood Testing is inherent to every phase
Disadvantages Adjusting scope during the lifecycle can kill a project No working software is produced until late during the lifecycle High amounts of risk and uncertainty
Thanks Any Questions?