1. Software Development Life Cycle (SDLC)
SDLC represents the structured phases required to design, develop, and maintain an information system:
- Waterfall Model: Sequential, linear phases (Requirement, Analysis, Design, Code, Test, Deploy). Each stage must complete before the next starts. Best suited for projects with stable, well-defined requirements.
- Agile Methodology: Iterative, incremental development model prioritizing collaboration, working software, and rapid adaptation to change. Development occurs in short cycles (Sprints).
2. Requirement Analysis
- Functional Requirement: Specifies what the system must do (e.g., "The system must allow students to download PDF past papers").
- Non-Functional Requirement: Specifies how the system behaves under constraints (performance, security, speed, e.g., "The web portal page must load within 2 seconds").
3. Data Flow Diagrams (DFD)
DFDs model the flow of data through a system. The four standard DFD symbols (Yourdon & Coad / Gane & Sarson) are:
- Process (Circle or rounded rectangle): Transforms input data into output data.
- Data Store (Open rectangle): Passive repositories of data (databases, tables, log files).
- External Entity (Square): Sources or sinks of data outside the system boundary (e.g., Student, Administrator).
- Data Flow (Arrow): Shows the direction of data movement.
DFD Leveling Rules:
- Context Diagram (Level 0): Shows the entire system as a single process block connected to external entities. Contains no data stores.
- Level 0 DFD: Decomposes the single process into the primary high-level sub-processes, identifying major data stores.