Main Reference Dennis, Wixom, Roth, System Analysis and Design, Third Edition, Wiley
DDC 2453 – System Analysis and Design
Planning Chapter 1
The Systems Development Life Cycle (SDLC) The SDLC is composed of 4 fundamental phases: Phase Phase Phase Phase
1: 2: 3: 4:
Planning Analysis Design Implementation
Phase 1: Planning The planning phase: • understanding why an information system should be built. • determine how project team builds the information system. • 2 planning steps: project initiation project management
Phase 1: Planning 2 Planning steps During project initiation: • identify system’s business value to the organization (COST: lower/increase revenue?)
During project management: creates work
plan staffs the Project manager project put techniques to help project team control & direct the project through the entire SDLC
Phase 2: Analysis Answers the questions of: where & when it will be used
who use what the the system system do The investigates current project system team identifies improvement opportunities develops a concept for new system The system proposal is the initial deliverable – describes business requirements the new system should meet
Phase 2: Analysis 3 Analysis Steps: 1. Analysis Strategy: analyse the current system 2. Requirements gathering: develop concept for new system based on the analysis of the information 3. System proposal: project sponsor & other key individuals decide whether to continue the project or not
Phase 3: Design 4 Design Steps 1. Design Strategy: identify whether system will be developed inside or outside company 3. Database & File Specification: define what & where data will be stored
2. Architecture Design: describe the hardware, software, and network infrastructure to be used 4. Program Design: define what programs need to be written and what they will do
Phase 4: Implementation
In this phase: • the system is developed or purchased (in case of packaged software) • usually the longest and most expensive part of the process • has 3 steps:
System construction Installation Support Plan
Phase 4: Implementation
3 Implementation Steps: 1. System Construction: System is built and tested to make sure it performs as designed 2. Installation: Prepare to support the installed system 3. Support Includes a post(e.g. modem,Plan: if it needs to go online) implementation review
Methodologies A methodology is a formalized approach to implementing the SDLC 1. Systems Development 2. Data-centered 3. Object-oriented
Methodologies System Development Methodology: • Waterfall development • parallel development • phased development • prototyping-based • throwaway prototyping • agile development
Structured Methodologies
Waterfall development: • the analysts and users proceed from one phase to the next. • Advantages: 1. System requirements are identified long before programming begins. 2. Minimized changes on requirements as the project proceeds. • Disadvantages: 1. Design must be completely specified before programming begins. 2. Take longer time between the completion of the system proposal in the analysis phase and the delivery of the system.
Structured Methodologies
Waterfall development:
Structured Methodologies
Parallel development: • Longer time elapses between the analysis phase and the delivery of the system
RAD Methodologies Phased development: •adjust the SDLC phases to get some part of system developed quickly and into the hands of the users. •analysts use special techniques and computer tools to speed up the analysis, design, and implementation phases, such as CASE (computer-aided software engineering) tools. •Problem: managing user expectations.
RAD Methodologies Phased development: •breaks overall system into a series of versions developed sequentially. •the team categorizes the requirements into a series of versions. •when each version is completed, the team begins on a new version.
RAD Methodologies Phased development:
RAD Methodologies Prototyping-based: •perform the analysis, design and implementation phases concurrently. •all 3 phases are performed repeatedly in a cycle until the system is completed. •a prototype is a smaller version of the system with a minimal amount of features. •Advantage: provides system for users to interact with, even if it is not ready for use. •Disadvantage: many initial design decisions prove to be poor ones.
RAD Methodologies Prototyping-based:
RAD Methodologies Throwaway Prototyping: •similar to prototyping based methodologies. •main difference: Information System is completed during a different point in the SDLC. •has thorough analysis phase.
Agile Methodologies •streamline the SDLC by eliminating the modeling and documentation overhead and the time spent on those tasks. •projects emphasize simple, iterative application development. •uses extreme programming (XP). was founded on 4 core values: communication simplicity feedback courage
Agile Methodologies Extreme Programming (XP): •Key principles: •continuous testing •simple coding •close interaction with the end users to build systems very quickly
Methodologies Clarity of User Requirement •RAD and throwaway prototyping are usually more appropriate when user requirements are unclear as they provide prototypes for users to interact early in the SDLC.
Methodologies System Complexity •Complex systems require detailed analysis & design.
System Reliability •Throwaway prototyping: most appropriate when system reliability is a high priority. •Prototyping-based: generally not a good choice as they lack of careful analysis & design phases.
Short Time Schedules •RAD: well suited for projects with short time schedules as they increase speed. •Waterfall-based: the worst choice when time is limited as they do not allow for easy schedule changes.
Schedule Visibility •RAD move many critical design decisions earlier in the project; this helps project managers recognize risk factors and keep expectations high
Project Team Roles
Summary •The Systems Development Lifecycle consists of 4 stages: Planning, Analysis, Design, and Implementation •There are 6 major development methodologies: the waterfall method, the parallel development method, the phased development method, prototyping-based, throwaway prototyping, and agile development. •There are 5 major team roles: business analyst, systems analyst, infrastructure analyst, change management analyst and project manager.