Software and Software Engineering — External Exam Notes

External 01·02·03

Software process, requirements, design and testing — organized as exam-ready answers.

18 × 2 Marks3 UnitsSEC
Part One

Unit 1

Software, process models and the fundamentals of software engineering.

01
2 Marks Question

Characteristics of Software

The main characteristics of software are:

Engineered, Not Manufactured
Software is designed, developed, tested, and maintained rather than manufactured like hardware.
Does Not Wear Out
Software does not physically wear out; failures mainly occur due to bugs, updates, modifications, or compatibility issues.
Custom-Built
Software is generally developed according to specific customer or organizational requirements.
Intangible
Software has no physical form and exists in digital form.
Highly Flexible
Software can be modified and updated easily, although frequent changes may increase complexity and introduce bugs.
02
2 Marks Question

Intangible Nature of Software

Software is intangible (invisible), meaning it has no physical form and cannot be touched or held like hardware such as a keyboard or monitor.

Its progress and quality are measured through documentation, reports, and testing.

ExampleAn operating system like Windows cannot be physically touched; only its user interface can be seen.
03
2 Marks Question

Programming vs Software Engineering

ProgrammingSoftware Engineering
Focuses mainly on writing code.Focuses on the complete software development process.
Usually suitable for small projects.Suitable for large and complex projects.
Often involves individual work.Usually involves teamwork.
Mainly focuses on coding.Includes planning, coding, testing, and maintenance.
In ShortProgramming focuses on writing code, whereas software engineering follows a systematic process to develop and maintain complete software.
04
2 Marks Question

Types of Software

The main types of software are:

System Software
Controls and manages computer hardware. Example: Windows, Linux.
Application Software
Performs specific tasks for users. Example: MS Excel, web browsers.
Engineering and Scientific Software
Handles mathematical calculations, algorithms, and large datasets. Example: Weather forecasting software.
Embedded Software
Controls devices or machines through software stored in their memory. Example: Washing machine, microwave.
Product-Line Software
Ready-made software developed for sale to many customers. Example: Microsoft Office, Adobe Reader.
Web and Cloud Applications
Software accessed through the Internet using a web browser. Example: Google Docs, online banking.
05
2 Marks Question

Four Fundamental Software Process Activities

The four fundamental software process activities are:

Software Specification
Identifying, analyzing, and documenting what the software must do.
Software Development
Designing the system and writing the actual source code.
Software Validation
Testing the software to find errors and ensure it meets the specified requirements.
Software Evolution
Modifying, repairing, and updating the software after its release as requirements change.
06
2 Marks Question

Waterfall Model

The Waterfall Model is a linear and sequential software development model in which development proceeds through distinct phases, and each phase must be completed before the next one begins.

Main Phases

1. Requirements Analysis
2. System Design
3. Implementation (Coding)
4. Integration and Testing
5. Deployment
6. Maintenance
NoteEach phase is completed, verified, and documented before moving to the next phase.
07
2 Marks Question

Prototype Model

The Prototype Model is a software development model in which a quick, simplified, and incomplete version of the software (prototype) is built first. It is shown to the customer to obtain feedback and clarify requirements before developing the final product.

Main Steps

1. Requirements Gathering
2. Quick Design
3. Build Prototype
4. Customer Evaluation
5. Refine Prototype
6. Engineer Final Product
NoteThe process of evaluation and refinement is repeated until the customer is satisfied with the requirements.
08
2 Marks Question

Spiral Model

The Spiral Model is an evolutionary software development model that combines the iterative nature of prototyping with the controlled steps of the Waterfall Model, with a strong focus on risk analysis.

Four Main Activities

Objectives & Alternatives
Define objectives, requirements, and possible solutions.
Risk Analysis
Identify and resolve technical, cost, security, and other risks.
Development
Design, code, and test the next version of the software.
Review & Planning
Get customer feedback and plan the next spiral.
NoteThese activities are repeated in each loop until the final software is completed.
09
2 Marks Question

Incremental Model

The Incremental Model develops software by dividing it into smaller parts called builds or increments. Each build is designed, tested, and implemented separately, and new features are added until the complete software is developed.

Main Steps for Each Build

1. Design & Development
2. Testing
3. Implementation
NoteThe customer receives a working version after each increment, allowing the software to be delivered piece by piece.
Part Two

Unit 2

Requirements specification and Data Flow Diagrams.

01
2 Marks Question

SRS and its Characteristics

SRS (Software Requirements Specification) is a document that describes all the requirements, features, and functions of a software system. It acts as an agreement between the client and the development team and guides design, coding, testing, and maintenance.

Characteristics of a Good SRS

Correct
Represents the actual needs of the client.
Unambiguous
Each requirement has only one clear meaning.
Complete
Contains all necessary requirements.
Consistent
Requirements do not conflict with each other.
Verifiable
Requirements can be tested.
Modifiable
Requirements can be easily changed.
Traceable
Requirements can be tracked from their source through implementation and testing.
02
2 Marks Question

DFD and its Four Components

A Data Flow Diagram (DFD) is a graphical representation of how data moves through a system. It shows where data comes from, how it is processed, where it is stored, and where it goes.

Four Main Components

External Entity
A person, organization, or system that sends or receives data. Example: Student, Customer, Administrator.
Process
An activity that transforms input data into output data. Example: Validate Login, Generate Report.
Data Store
A place where data is stored for future use. Example: Student Database, Customer File.
Data Flow
Represents the movement of data between components, shown using an arrow (→). Example: Student → Registration Details → System.
Part Three

Unit 3

Design principles and software testing.

01
2 Marks Question

Abstraction

Abstraction is a design concept that means focusing only on important information while hiding unnecessary details.

ExampleIn an ATM, the user only sees options such as Insert Card, Enter PIN, Select Amount, and Withdraw Money, without knowing how the bank's internal system processes the transaction.
02
2 Marks Question

Cohesion and Coupling

Cohesion
Refers to how strongly the tasks within a single module are related. High cohesion is desirable because a module has a clear and specific responsibility.
Coupling
Refers to how much one module depends on another module. Low coupling is desirable because modules can be changed with less impact on other modules.
In ShortHigh Cohesion + Low Coupling = Good Software Design.
03
2 Marks Question

Types of Testing

The main types of software testing are:

Unit Testing
Tests a single small module, function, or component.
Integration Testing
Tests whether two or more modules work correctly together.
System Testing
Tests the complete software system as a whole.
Acceptance Testing
Checks whether the software satisfies the customer’s requirements and needs.
04
2 Marks Question

Unit Testing

Unit Testing is the process of testing a single small module, function, method, or component of a software system independently.

ExampleIn a website, testing only the Login function with a username and password, without testing the rest of the website, is called Unit Testing.
05
2 Marks Question

Integration Testing

Integration Testing is the process of testing two or more modules together to check whether they work correctly and communicate properly.

ExampleTesting whether the Shopping Cart correctly sends the order amount to the Payment System is Integration Testing.
06
2 Marks Question

System Testing

System Testing is the process of testing the complete software system as a whole to verify that all its components work correctly together.

ExampleIn a College Management System, testing login, student registration, attendance, fees, examination, and report generation together is System Testing.
07
2 Marks Question

Acceptance Testing

Acceptance Testing is the process of checking whether the software satisfies the customer’s requirements and actual needs.

ExampleIn a College Management System, college staff check whether teachers can enter marks, students can view attendance, and administrators can manage users. If the customer is satisfied, the system passes Acceptance Testing.