System Development Methodologies Summarized Notes
System Development Methodologies Summarized Notes
Lesson 1: Introduction
Systems
Systems
System Design
System design is a phase in the software development process that involves creating a
System Development
System Analysis
It is a process of collecting and interpreting facts, identifying the problems, and decomposing a
Elements of a system
● Inputs: These are the data that enter the system for processing.
● Processes: It is the element of a system that involves the actual transformation of input
● into output.
● Outputs: Outputs are the results or products generated by the system after processing
the inputs.
1
● Feedback: Feedback is information about the system's performance that is sent back to
● Boundaries: Boundaries define the limits of the system and separate it from the
external environment.
Characteristics of a System
● Interaction: It refers to how each component functions with other components of the
system.
on one another.
● Integration: It refers to the holism of systems. It is concerned with how a system is tied
together.
● Central Objective: A system should have a central objective. Objectives may be real or
stated
● Complete: Contain all the facts that are necessary for the decision-maker
2
● Timely: Information must be delivered at the right time and the right place to the right
person.
● Cost-effective: It is not desirable if the solution is more costly than the problem.
System Methodologies
A system development methodology is what is used to structure, plan, and control the process
● Spiral
● Prototyping
● Waterfall Model
technology environment.
○ Hardware
○ Software
○ Networks
and related equipment used to develop, test, operate, monitor, manage, and/or support
○ Communication
○ Data Management
○ Marketing
○ Process Improvement
3
○ Enterprise resource planning
Types of Systems
4
Lecture 2- Software Development Life Cycle
● Open Source: Software in which source code is released under a license that grants
users the rights to study, change, and distribute the software to anyone and for any
purpose.
The Software Development Life Cycle (SDLC) is a process used by the software industry to
5
● Implementation: The information system is coded, tested, installed, and supported in
the organization.
● Testing: Monitor the solution to ensure that it functions properly, reliable, and
predictable.
● Deployment: After successful testing, the product is deployed to the customer for their
use.
Approaches to SDLC
Prototyping Model: The Prototyping Model involves the creation of a working model
(prototype) of the system to gather user feedback and refine requirements before the full-scale
system is developed.
involves the active participation of stakeholders, including end-users, in the design and
development process.
Rapid Application Development (RAD:) To deliver a high-quality product quickly, with a focus
6
Object-Oriented Approach (OOA): Uses the concept of "objects" to organize and structure
Lecture 3- Approaches
Software Development Process (Software Development Life Cycle (SDLC)): The software
software.
Adaptive Approach: More flexible, assumes the project cannot be planned out in advance.
Phases in SDLC
Pre-Project Planning: Initiate, ensure feasibility, plan schedule, and obtain approval for the
project.
7
Analysis: Understand business needs and processing requirements.
Implementation: Construct, train users, test, and install the new system.
Parallel Approach
Instead of doing the design and implementation in sequence, performs a general design for the
whole system and divides the project into a series of distinct subprojects that can be designed
● Design made in one subproject may affect another, and the project's end may require
Spiral Approach
• Project cycles through development activities over and over until the project is complete.
Advantages of Spiral
● Risk Management: Explicit focus on identifying and managing risks throughout the
development process.
● Flexibility: Well-suited for projects with changing or unclear requirements, allowing for
adaptability.
● Client Involvement: Encourages regular client participation and feedback at the end of
each iteration.
8
● Early Prototyping: Incorporates prototyping for early visualization and feedback on the
evolving product.
Disadvantages of Spiral
● Resource Intensive: This may demand more resources, especially in terms of time and
personnel.
● Not Ideal for Small Projects: Overkill for small projects with straightforward
requirements.
Iteration Approach
The iteration approach in software development refers to a method where the development
9
Lecture 4 – Waterfall Model
Waterfall Method
The Waterfall Model is a linear approach to software development that follows a sequential
process.
In the Waterfall Model, the development process is divided into distinct phases, and each
● Well-understood milestones.
10
● No working software is produced until late during the life cycle.
11
Lecture 5 – V Model
V-Model
● The next phase starts only after the completion of the previous phase.
● V Model has a testing phase for each corresponding development stage while waterfall
V-Model Applications
12
● Requirements are well-defined, clearly documented, and fixed.
Requirements Analysis
● Detailed communication with the customer to understand the expectations and exact
requirements.
System Design
● Detailing the complete hardware and communication setup for the product under
development.
Architecture Design
● A technical approach is proposed and based on the technical and financial feasibility
● High level.
Module Design
● Low level.
Coding
requirements.
13
V-Model Activities – Validation Stages
Unit Testing
Integration Testing
System Testing
● Checks the entire system functionality and the communication of the system
Acceptance Testing
● Acceptance tests uncover the compatibility issues with the other systems
● It also discovers the non-functional issues such as load and performance defects
Advantages of V-Model
● Testing activities like planning, and test designing happen well before coding.
14
Disadvantages of V-model
● Not suitable for projects where requirements are at a moderate to high risk of changing.
● Very rigid and least flexible. Once an application is in the testing stage, it is difficult to
15
Lecture 6 – System Development
● Establish standards.
● Study and understand the problem, its context, and its impact.
● Identify candidate solutions that fulfill the requirements, and select the “best” solution.
● Observe and evaluate the solution’s impact, and refine the solution accordingly.
16
Establish Phases and Activities
Process management
● An ongoing activity that documents manages, oversees the use of, and improves an
Project management
project to develop a system at a minimum cost, within a specified time frame, and with
acceptable quality
Cost-effectiveness
● Striking a balance between the lifetime costs of developing, maintaining, and operating
● Formal strategic plan (3-5 years) for building and improving an information technology
infrastructure and the information system applications that use that infrastructure.
● Formal strategic plan (3-5 years) for an entire business that defines its mission, vision,
Creeping commitment
project.
17
Risk management
● The process of identifying, evaluating, and what might go wrong in a project before it
information system.
● Problem – an undesirable situation that prevents the organization from fully achieving
problem.
external influence.
18
Lecture 8 – Software Testing and Debugging
tackled separately.
Software Testing
Verification
Validation
● Validation activities also aim at confirming that a product meets its customer’s
expectations.
Failure
● A state is when the external behavior of a system does not conform to that prescribed
Error/Fault
19
Test Process Improvement (TPI) Model
● Test process improvement helps you reach quality, cost, and delivery targets.
20
Test Maturity Model (TMM)
● TMM is based on the Capability Maturity Model (CMM). It is a detailed model for test
process improvement. It has 5 levels that define testing capability and the assessment
model.
Testing Stages
Integration Testing - Groups of modules that are working together are tested together
21
Modes of Testing
● it compares actual against expected output for a given set of valid and invalid input.
Software Debugging
● Defect analysis using modeling, documentation, finding, and testing candidate flaws.
● Validation of corrections.
Documentation
22
23