System Analysis and Design 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

1/10/2024

System Analysis And


Design
By Thilina Wanshathilaka

Lesson System Development Life Cycle

Agenda  What is SDLC


 SDLC Steps
 Deliverable of steps

Software development Methodologies

 Software Development Methodologies


 Why different Software development Methods
 Traditional Vs Agile Development Approach

Conclusion
 Summary Of Todays lecture
 Q &A
 Next Lecture

System Development Life Cycle


• The System Development Life Cycle (SDLC) is a systematic process for
planning, creating, testing, deploying, and maintaining an information
system.
• The SDLC provides a structured framework for the development and
management of software and information systems.
• The life cycle typically consists of several distinct phases, each with its
own set of activities, goals, and deliverables.
• The exact number of phases and their names may vary depending on
the specific SDLC model used, but a common representation includes
the following:

1
1/10/2024

System Development Life Cycle


Preliminary
Study

Maintenance Feasibility Study

Deployment System Analysis

System Testing System Design

System
Implementation

Preliminary Study
• Objective: The preliminary study phase is the initial stage where the
organization identifies a potential need or opportunity for a new
information system.
• Activities:
• Identify and define the problem or opportunity.
• Conduct a high-level assessment of the feasibility of the proposed project.
• Preliminary identification of system requirements.
• Outline initial goals and objectives of the system.

Feasibility Study
• Objective: Evaluate the practicality and viability of the proposed
project.
• Activities:
• Conduct a detailed analysis of technical, operational, economic, legal, and
scheduling feasibility.
• Assess potential risks and challenges.
• Develop a cost-benefit analysis to determine if the project is financially viable.
• Make a recommendation on whether to proceed with the project.

2
1/10/2024

System Analysis
• Objective: Gather detailed requirements and thoroughly understand
the existing system (if applicable).
• Activities:
• Conduct interviews, surveys, and observations to collect user requirements.
• Analyze current business processes and systems.
• Define system requirements, constraints, and specifications.
• Document findings in a comprehensive System Requirements Specification
(SRS) document.

System Design
• Objective: Develop a blueprint for the new system based on the
gathered requirements.
• Activities:
• Develop system architecture, including data flow diagrams and system
flowcharts.
• Design the user interface and user experience.
• Create data models and define data structures.
• Specify hardware and software requirements.
• Develop detailed system specifications.

System Implementation
• Objective: Write the actual code for the system based on the design
specifications.
• Activities:
• Translate design specifications into executable code.
• Implement algorithms and business logic.
• Develop databases if applicable.
• Conduct coding reviews to ensure code quality.

3
1/10/2024

System Testing
• Objective: Ensure that the system functions correctly and meets
specified requirements.
• Activities:
• Conduct various testing phases, including unit testing, integration testing,
system testing, and user acceptance testing.
• Identify and fix defects or bugs.
• Verify that the system meets user expectations and business requirements.
• Perform performance testing and security testing.

Deployment
• Objective: Deploy the system in a live environment for end-users to
use.
• Activities:
• Develop an implementation plan.
• Migrate data from the old system (if applicable).
• Train end-users and provide documentation.
• Monitor and manage the system during the initial stages of use.

Maintenance
• Objective: Sustain and enhance the system over time.
• Activities:
• Address and fix any issues or bugs identified during the initial use.
• Implement updates and enhancements to the system.
• Provide ongoing support to end-users.
• Conduct periodic evaluations and make improvements based on user
feedback.

4
1/10/2024

SDLC Deliverables
• The deliverables in each step of the System Development Life Cycle
(SDLC) may vary based on the specific methodology or model used,
the nature of the project, and organizational preferences. However,
here is a general overview of common deliverables associated with
each SDLC step

SDLC Deliverables
• Preliminary Study:
• Project proposal or initiation document.
• Initial project plan outlining scope, objectives, and timelines.
• High-level identification of system requirements.
• Preliminary feasibility analysis report.

• Feasibility Study:
• Detailed feasibility analysis report covering technical, operational, economic,
legal, and scheduling aspects.
• Cost-benefit analysis document.
• Recommendation report on whether to proceed with the project.

SDLC Deliverables
• System Analysis:
• System Requirements Specification (SRS) document detailing functional and
non-functional requirements.
• Data models (e.g., Entity Relationship Diagrams).
• Process models (e.g., Data Flow Diagrams).
• User interface prototypes.
• User requirements document.

5
1/10/2024

SDLC Deliverables
• System Design:
• System design document detailing the technical architecture.
• Database design, including data tables and relationships.
• User interface design specifications.
• Detailed system specifications.
• Test plans for upcoming testing phases.

• 5. Coding:
• Source code files for the software.
• Executable code or compiled binaries.
• Code documentation (comments within the code).
• Coding standards documentation.

SDLC Deliverables
• Testing:
• Test cases and test scripts.
• Test results, defect reports, and issue tracking.
• Test documentation, including unit, integration, system, and acceptance
testing plans.

• Deployment:
• Implementation plan detailing the steps for deploying the system.
• User training materials.
• Data migration plans and documentation.
• System documentation for end-users.
• Feedback and issue reports during the initial implementation phase.

SDLC Deliverables
• Maintenance:
• Maintenance plans outlining procedures for addressing issues and making
updates.
• Documentation of changes, updates, and enhancements made to the system.
• Periodic evaluation reports.
• Support documentation for ongoing user assistance.

6
1/10/2024

Software Development Methodologies


• Software Development Methodologies are structured approaches or
frameworks used in the process of planning, designing,
implementing, testing, and maintaining software.
• There are around more than 75 software development
methodologies used in the industry and we will only discuss few of
them
• These methodologies provide a systematic way to organize and
manage the complex tasks involved in software development
projects. They offer guidelines and practices to ensure efficiency,
quality, and successful delivery of software products.

Software Development Methodologies


• Waterfall Approach
• V-Shape Approach
• Iterative Model
• Incremental Model
• Spiral Model
• Scrum
• Kanban
• Extreme Programming (XP)
• Feature-Driven Development

Why Different Methodologies?


• Diverse Project Requirements:
• Different projects have varying sizes, complexities, and objectives. One size
does not fit all. The choice of a methodology depends on the project's specific
needs.
• Changing Requirements:
• Requirements in software projects can evolve. Agile methodologies, for
instance, are designed to accommodate changes and provide flexibility in
response to evolving user needs.
• Risk Management:
• Projects may face uncertainties and risks. Methodologies like the Spiral model
and Agile incorporate iterative cycles that allow for risk identification and
management throughout the development process.

7
1/10/2024

Why Different Methodologies?


• Customer Collaboration:
• Some projects benefit from continuous customer involvement. Agile
methodologies emphasize collaboration with stakeholders, ensuring that the
delivered product aligns with customer expectations.
• Resource Constraints:
• Resources such as time and budget can vary across projects. Incremental and
iterative methodologies allow for the phased development of software,
providing early deliverables and managing resource constraints.
• Project Size and Complexity:
• Large, complex projects may require a more structured and planned
approach, such as the Waterfall model, to ensure thorough documentation
and management.

Why Different Methodologies?


• Emergence of New Technologies:
• The software development landscape evolves with new technologies.
Methodologies like Agile are well-suited for dynamic environments and
emerging technologies.
• User Involvement:
• User involvement is crucial for project success. Prototyping methodologies
allow for the creation of early models, facilitating user feedback and
participation in the development process.

Traditional Vs Agile Development


• We can divide above software development methodologies in to two
categories as Traditional and Agile development methodologies
• Traditional software development methodologies and Agile
development methodologies represent two distinct approaches to
managing the software development process.
• Lets discuss the difference between these two approaches

8
1/10/2024

Traditional Development
• Sequential and Linear:
• Traditional methodologies, often exemplified by the Waterfall model, follow a
sequential and linear approach. Each phase must be completed before
moving on to the next.
• Extensive Planning:
• Traditional methodologies emphasize extensive planning and documentation
upfront. Requirements are gathered and documented at the beginning of the
project.
• Fixed Scope and Requirements:
• The scope, requirements, and design are typically fixed at the beginning of
the project. Changes are often difficult and expensive to implement once the
project is underway.

Traditional Development
• Long Development Cycles:
• Due to the sequential nature, development cycles tend to be longer, and the
final product is delivered after an extended period.
• Limited User Involvement:
• User feedback is often gathered only at the end of the project during user
acceptance testing.
• Risk Management:
• Risks and issues are addressed later in the development life cycle, which can
lead to challenges if significant problems arise.

Agile Development
• Iterative and Incremental:
• Agile methodologies, such as Scrum or Kanban, are iterative and incremental.
Development is carried out in short cycles, with continuous iterations.
• Adaptive Planning:
• Agile methodologies emphasize adaptive planning and respond to changes in
requirements throughout the development process.
• Embraces Change:
• Agile embraces changes in requirements, allowing for flexibility and
adaptation to evolving customer needs.
• Frequent Deliveries:
• Agile projects have shorter development cycles, with the ability to deliver a
minimum viable product (MVP) quickly.

9
1/10/2024

Agile Development
• Collaboration and User Involvement:
• Agile encourages continuous collaboration between development teams and
stakeholders, with regular feedback from end-users.
• Risk Management:
• Risks are identified and addressed continuously throughout the development
process, making it more responsive to challenges.
• Team-Centric:
• Agile often involves cross-functional teams that collaborate closely on all
aspects of the project, fostering a sense of shared responsibility.
• Customer Satisfaction:
• Agile aims to deliver value to the customer with each iteration, promoting
customer satisfaction and responsiveness to changing market demands.

Section Break
Insert the Subtitle of Your Presentation

Any Questions ?

10
1/10/2024

THANK YOU
Insert the Subtitle of Your Presentation

11

You might also like