๐ GCE A/L ICT – UNIT 7
System Development & Programming Concepts
Complete exam-focused notes for Sri Lankan GCE Advanced Level ICT
๐ท 7.1 Introduction to System Development
๐น What is a System?
๐ Example: School Management System
| Component | Description |
|---|---|
| Inputs | Student data, attendance, marks |
| Processes | Attendance tracking, marks calculation, report generation |
| Outputs | Reports, results, certificates |
๐น Types of Systems
| Type | Characteristics | Example |
|---|---|---|
| Manual Systems | • Paper-based • Human-operated • Slower processing |
Attendance register, paper files |
| Computer-Based Systems | • Automated • Software-driven • Faster & accurate |
School ERP, Library Management System |
๐น What is System Development?
The process of creating or modifying a system to meet user requirements and solve problems.
๐ 7.2 SDLC – System Development Life Cycle
๐น Definition
๐น The 7 Phases of SDLC
-
Planning
• Identify the problem/need
• Conduct feasibility study
• Define project scope & resources -
Analysis
• Study current system
• Gather user requirements
• Create Requirement Specification Document -
Design
• System architecture
• Database design (ERD)
• UI/UX mockups & DFDs -
Development
• Actual coding/programming
• Database implementation
• Module integration -
Testing
• Find & fix bugs
• Unit testing, system testing
• User acceptance testing (UAT) -
Implementation
• Install & deploy system
• Train users
• Data migration -
Maintenance
• Fix post-launch issues
• Apply updates & patches
• Add new features
๐น SDLC Example: Library System
| Phase | Activity |
|---|---|
| Planning | Identify need to manage books digitally |
| Analysis | Interview librarians, list requirements |
| Design | Create database schema + UI wireframes |
| Development | Code the system in chosen language |
| Testing | Test borrowing, returning, fine calculation |
| Implementation | Install in library, train staff |
| Maintenance | Fix bugs, add e-book feature later |
๐ 7.3 Feasibility Study (TEOS)
๐น Purpose
Feasibility study evaluates if the project is practical, affordable, and achievable.
๐น Types of Feasibility (TEOS)
| Type | Key Question | Example |
|---|---|---|
| Technical ๐ง | Do we have the technology & skills? | Need mobile app developers, cloud server |
| Economic ๐ฐ | Do benefits > costs? | Cost: Rs.500k | Benefit: Rs.1M → ✅ Feasible |
| Operational ๐ฅ | Will users accept & use it? | Can teachers learn the new system easily? |
| Schedule ๐ | Can it be done on time? | Can we finish before next academic year? |
๐น Economic Feasibility Formula
Expected Benefits > Development + Operational Costs
Example Calculation:
- ๐ธ Development Cost: Rs. 500,000
- ๐ Annual Benefit: Rs. 300,000 × 4 years = Rs. 1,200,000
- ✅ Net Gain: Rs. 700,000 → Project is feasible!
๐ท 7.4-7.5 Data Flow Diagrams (DFD)
๐น What is a DFD?
๐น DFD Symbols (MEMORIZE FOR EXAMS)
| Symbol | Name | Meaning | Example |
|---|---|---|---|
| ○ Circle | Process | Transforms input to output | "Calculate Marks" |
| ➜ Arrow | Data Flow | Movement of data | "Student Details" |
| ▭ Rectangle | External Entity | Source/destination outside system | Student, Admin, Bank |
| ▭▭ Open Rectangle | Data Store | Where data is stored | Database, File |
๐น Levels of DFD
- Level 0 (Context Diagram): Entire system as ONE process + external entities
- Level 1 DFD: Breaks system into major sub-processes
- Level 2+ DFD: Further decomposition of processes
๐น Context Diagram – EXAM CRITICAL
- The whole system as a single process
- All external entities interacting with it
- Data flows between entities and system
๐น How to Draw: 4 Simple Steps
- Identify the System
Example:[ Student Registration System ] - Identify External Entities
Example:[Student][Admin][Examination Dept] - Map Inputs & Outputs
Entity Input to System Output from System Student Registration details Confirmation SMS Admin Course data Enrollment reports - Draw Labeled Arrows
[Student] → Registration Details → [System]
๐น Critical Rules (MCQ Gold)
- Only ONE process box (the whole system)
- NO internal processes or data stores
- ALL external entities must be shown
- EVERY arrow must have a clear label
- Arrows show direction of data flow
- Drawing multiple process circles ❌
- Adding database symbols ❌
- Unlabeled arrows ❌
- Missing key entities ❌
๐งฎ 7.6 Algorithms & 7.7 Flowcharts
๐น Algorithm Definition
๐น Characteristics of a Good Algorithm
| Characteristic | Meaning |
|---|---|
| Finite | Must have a definite end point |
| Clear | Each step must be unambiguous |
| Logical | Steps must follow correct order |
| Effective | Must solve the problem correctly |
| Input/Output | Must have defined inputs & outputs |
๐น Algorithm Writing Rules (Exam)
- ✓ Use numbered steps (1, 2, 3...)
- ✓ Use simple, plain English (no code syntax)
- ✓ Start with INPUT and end with STOP/END
- ✓ Use IF-THEN-ELSE for decisions
- ✓ Keep each step atomic (one action per step)
๐น Example: Find Largest of 3 Numbers
๐น Flowchart Definition & Symbols
A flowchart is a graphical representation of an algorithm using standardized symbols.
| Symbol | Name | Purpose |
|---|---|---|
| ⬭ Oval | Terminal | Start/End points |
| ▭ Rectangle | Process | Calculation/action step |
| ◇ Diamond | Decision | Yes/No condition check |
| ➜ Arrow | Flow Line | Direction of execution |
| ▱ Parallelogram | Input/Output | Read data / Display result |
๐ป 7.8 Programming Concepts
๐น Variables & Data Types
Named storage locations that hold data values.
int age = 20;String name = "Student";boolean isActive = true;
๐น Basic Data Types
| Data Type | Stores | Example |
|---|---|---|
| Integer | Whole numbers | 25, -10, 0 |
| Float/Double | Decimal numbers | 3.14, -0.5 |
| String | Text characters | "Hello", "A/L 2026" |
| Boolean | True/False values | true, false |
๐น Operators
+ - * / %
⚖️ Comparison: == != > < >= <=
๐ Logical: AND(&&), OR(||), NOT(!)
๐ Assignment: = += -=
๐น Control Structures (CORE CONCEPT)
1️⃣ Sequence
Statements executed in order, one after another.
2️⃣ Selection (Decision)
Execute different code based on a condition.
IF marks >= 50 THEN
PRINT "PASS"
ELSE
PRINT "FAIL"
END IF
3️⃣ Iteration (Loop)
Repeat a block of code multiple times.
FOR i = 1 TO 10 STEP 1
PRINT i
NEXT i
๐งช 7.9 Testing & Debugging
๐น Testing vs Debugging
| Testing | Debugging |
|---|---|
| • Finding errors/bugs • Done BEFORE release • Uses test data |
• Fixing identified errors • Done AFTER testing • Requires code analysis |
๐น Types of Testing
| Type | Purpose | Example |
|---|---|---|
| Unit Testing | Test individual modules/functions | Test "calculateTotal()" function alone |
| System Testing | Test complete integrated system | Test full library borrowing workflow |
| Acceptance Testing | User validates system meets needs | Librarian tests before going live |
๐น Test Data Types (EXAM FAVORITE)
| Type | Example (marks 0-100) | Purpose |
|---|---|---|
| Normal Data ✅ | 50, 75, 90 |
Verify expected valid inputs work |
| Boundary Data ๐ฏ | 0, 100 |
Test edge limits of valid range |
| Invalid Data ❌ | -10, 150, "abc" |
Check error handling & validation |
๐น Input Validation Techniques
0 ≤ marks ≤ 100
✉️ Format Check: email@domain.com
๐ข Type Check: isNumeric(phone)
✅ Presence Check: name != empty
๐ Length Check: password ≥ 8 chars
๐ 7.10 Implementation Methods
๐น When to Use Each Method
| Method | Best For | Pros | Cons |
|---|---|---|---|
| Direct (Big Bang) |
Small, low-risk systems | • Fast • Low cost |
• High risk • No fallback |
| Parallel | Critical systems (Banks, Hospitals) | • Safe • Easy rollback |
• Expensive • Double work |
| Pilot | Large organizations (Test in one branch) | • Low risk • Real-world feedback |
• Slow rollout • Branch comparison issues |
| Phased (Modular) |
Complex modular systems | • Manageable • Early benefits |
• Integration challenges • Longer timeline |
"For a banking system, I would recommend Parallel Implementation because:
✓ Critical data must not be lost
✓ Old system can run as backup
✓ Users can be trained gradually
✓ Errors can be fixed without stopping service"
๐ Pass Paper Questions & Model Answers
๐น Question 1 (2 Marks)
Define SDLC.
SDLC (System Development Life Cycle) is a structured, phased process used to plan, create, test, deploy, and maintain information systems through stages such as planning, analysis, design, development, testing, implementation, and maintenance.
๐น Question 2 (4 Marks)
List 4 phases of SDLC.
Planning Analysis Design Implementation
๐น Question 3 (2 Marks)
What is a feasibility study?
A feasibility study is the process of evaluating whether a proposed system is practical, affordable, technically achievable, and worth developing before committing resources to the project.
๐น Question 4 (6 Marks) – Context Diagram
Draw a context diagram for a Library Management System.
- Center:
[ Library Management System ] - External Entities: Member Librarian Supplier
- Data Flows:
- Member → Book Request → System
- System → Borrow Confirmation → Member
- Librarian → Update Catalog → System
- System → Overdue Report → Librarian
๐น Question 5 (2 Marks)
State two programming control structures.
Selection (IF-ELSE) Iteration (FOR/WHILE loops)
๐ Beginner-Friendly Quick Review
๐น Super Simple Summary Table
| Term | Super Simple Meaning | Memory Trick |
|---|---|---|
| SDLC | Build → Test → Use → Maintain | ๐ 4-step cycle |
| DFD | How data moves | ➜ Arrow diagram |
| Algorithm | Step-by-step problem solver | ๐ Recipe |
| Flowchart | Picture of an algorithm | ๐ผ️ Visual steps |
| Testing | Finding bugs before launch | ๐ Check first |
| Debugging | Fixing bugs after testing | ๐ง Repair mode |
| Direct Changeover | Switch old→new in one day | ⚡ Fast but risky |
| Parallel | Run old+new together | ๐ก️ Safe but costly |
๐น Exam Keyword → Answer Trick
| ๐ Question Keyword | ✅ Write This |
|---|---|
| "daily transactions", "billing", "ATM" | TPS |
| "reports", "summary", "analysis" | MIS |
| "decision", "strategy", "future plan" | DSS |
| "step by step", "cannot go back" | Waterfall |
| "flexible", "user feedback", "changing" | Agile |
| "fast", "prototype", "ready-made" | RAD |
๐ For DFD Questions:
✓ Draw neatly with pencil & ruler
✓ Label EVERY arrow with data name
✓ Use correct symbols ONLY
✓ Keep system as ONE process box
๐ For Algorithm Questions:
✓ Start with INPUT, end with STOP
✓ Use numbered steps
✓ Test your logic with sample values!