System Analysis &Design (SAD)
System Analysis and Design (SAD)
System Analysis and Design (SAD) is a structured approach to developing information systems.
It involves understanding the requirements of a system, designing the system architecture, and
specifying how the system will be built and implemented. Here’s a breakdown of its key
aspects:
System Analysis
Objective: Understand and specify what the system should do to meet user needs.
I. Requirements Gathering:
- Interviews: Meeting with stakeholders to understand their needs and expectations.
- Questionnaires and Surveys: Collecting data from a larger group of users.
- Observation: Watching users perform their tasks to identify needs and problems.
- Document Analysis: Reviewing existing documentation and systems.
II. Feasibility Study:
- Technical Feasibility: Assessing whether the technology and resources are available.
- Economic Feasibility: Evaluating costs and benefits to ensure the project is financially
viable.
- Operational Feasibility: Determining if the system will work within the existing
organizational environment.
- Legal and Ethical Feasibility: Ensuring compliance with laws and ethical standards.
III. Requirements Specification:
- Creating detailed descriptions of system requirements, often documented in a Software
Requirements Specification (SRS) document.
System Design
Objective: Create a blueprint for the system that outlines how the requirements will be
fulfilled.
I. High-Level Design (System Architecture):
- System Architecture: Defining the overall structure of the system, including hardware,
software, and network components.
- Data Flow Diagrams (DFDs): Illustrating how data moves through the system.
- Entity-Relationship Diagrams (ERDs): Modelling the data entities and their relationships.
II. Detailed Design:
- Module Design: Breaking down the system into smaller, manageable modules or
components.
- Database Design: Designing the database schema, tables, relationships, and constraints.
Page 1 of 2
System Analysis &Design (SAD)
- User Interface Design: Creating the layout, navigation, and interactions of the user
interface, often using wireframes or mock-ups.
- Algorithm Design: Developing detailed algorithms and logic for each module.
III. Prototyping (Optional):
- Building a prototype or a working model of the system to validate requirements and
design choices with stakeholders.
Implementation
- Coding: Writing the actual code based on the design specifications.
- Unit Testing: Testing individual components for functionality and reliability.
- Integration Testing: Ensuring that different components work together as expected.
Maintenance and Support
- Deployment: Installing the system in the production environment.
- Post-Deployment Support: Providing ongoing support, troubleshooting, and updates based on
user feedback and changing requirements.
Methodologies
Different methodologies can be used in SAD, including:
- Waterfall Model: A linear and sequential approach, where each phase is completed before
the next one begins.
- Agile Methodology: An iterative and flexible approach, allowing for incremental development
and frequent reassessment.
- RAD (Rapid Application Development): Emphasizes quick development and iteration, often
using prototypes.
- Spiral Model: Combines elements of both design and prototyping in stages, with a focus on
risk assessment.
Tools and Techniques
- Modelling Tools: Tools like UML (Unified Modelling Language), CASE (Computer-Aided
Software Engineering) tools, and flowchart software.
- Documentation Tools: Tools for writing requirements specifications, design documents, and
user manuals.
- Project Management Tools: Software like Jira, Trello, or MS Project to manage tasks,
timelines, and resources.
Importance: System Analysis and Design is crucial because it ensures that the system
developed meets user needs, is cost-effective, and is technically feasible. It helps in minimizing
risks and enhancing the efficiency and effectiveness of the development process.
Page 2 of 2