Introduction to System Analysis and Design


Systems Development Life Cycle (SDLC)

The Systems Development Life Cycle (SDLC) is the foundation of how we build information systems. Think of it as a roadmap that guides us through the entire process of creating software, from the initial idea to the final product. The SDLC consists of four main phases that work together to ensure successful system development.

  1. Planning Phase
    Determine why we should build the system and what value it will provide. During this phase, we develop project proposals, analyze whether the project is feasible, and create detailed work plans.
  2. Analysis Phase
    Understanding what the system needs to do. We talk to users, gather requirements, and create models of both the current system and how the new system should work.
  3. Design Phase
    Figure out exactly how we're going to build the system. We create detailed specifications for the system's architecture, user interfaces, databases, and programs.
  4. Implementation Phase
    Actually build and test the system. This includes writing code, conducting various types of testing, installing the system, training users, and providing ongoing support after the system goes live.

SDLC Methodologies

While the SDLC tells us what steps to take, methodologies tell us how to take those steps. There are several different approaches, each suited to different types of projects.

ex/Pasted image 20241109120800.png

Object-Oriented Analysis and Design (OOAD)

Object-Oriented Analysis and Design is a modern approach to building systems that focuses on organizing software as a collection of cooperating objects, rather than a set of functions.

Object-oriented systems are built around several key concepts that make them powerful and flexible.

The Unified Process

The Unified Process is a comprehensive framework for developing object-oriented systems. It's organized into four main phases:

What makes it unique is that it also includes various workflows that run throughout these phases. Think of the phases as time periods and the workflows as activities that happen during those periods.

Engineering Workflows:

  1. Business Modeling
    Maps and analyzes the business context, processes, and rules to understand how the system will fit into the organization.
  2. Requirements
    Captures and documents all system requirements through stakeholder interviews, use cases, and requirement specifications.
  3. Analysis
    Examines and structures the requirements into detailed system specifications and architectural models.
  4. Design
    Creates detailed technical specifications for how the system will be built, including interfaces, databases, and components.
  5. Implementation
    Involves the actual coding and construction of the system according to the design specifications.
  6. Testing
    Verifies system functionality and quality through various testing methods and test case executions.
  7. Deployment
    Handles the final system delivery, including installation, user training, and transition to production.

Supporting Workflows:

  1. Project Management
    Oversees the entire project lifecycle, including planning, scheduling, resource allocation, and risk management.
  2. Configuration and Change Management
    Controls and tracks all system changes, versions, and configurations throughout development.
  3. Environment
    Provides and maintains the technical infrastructure and tools needed for development.
  4. Operations and Support
    Ensures ongoing system maintenance, user support, and performance optimization after deployment.
  5. Infrastructure Management
    Manages the technical backbone of the system, including hardware, networks, and security.

Unified Modeling Language (UML)

UML a common language to discuss and understand the system. It's like having a standard set of blueprints for software. It provides different types of diagrams that help us visualize and document various aspects of a system.