1
Faculty Information and Communication Technology Department of Computer Science
Semester Test 1
SUBJECT CODE:
SFG117V / ISE117V
Examiners
Dr. HD Masethe
√
Total Marks
100
Mr. M Tshitake
Mr. K Phuduhudu
Mr. CK Lepota
EXAMINATION DATE:
11-04-2026
(For Office use only)
14h30-17h30
Student Name and Surname
Mbalenhle Nomfundo Hadebe
Student Number
219033176
Instructions:
•
This is a closed-book test.
•
Answer all questions
•
Save your file as a PDF using the naming convention StudentNumber.pdf
•
Upload the saved file to the Assignment folder -Semester Test 1 on MyTUTor
•
An uploaded file without the Student Name, Surname and Student Number will not
be marked
SFG117V
2026 S1
ST1
2
Question 1
[Total Marks: 32]
1.1 You are designing a microservices-based hospital appointment booking system.
Identify and describe three key microservices and explain their roles.
(6)
1. Patient Service – This service manages all patient-related data and functionalities
responsible for registering new patients, updating profile information
2. Doctor Service – This service manages doctor profiles and, their availability
schedules its for role booking system to maintain real-time scheduling
3. Appointment Service – This service acts as the orchestrator for the booking process
coordination between patient and doctor data to create appointments
1.2 A digital banking platform must always remain available and protect customer
transactions. Explain how the following techniques improve dependability in this
system:
(12)
In banking, this includes strict
quality assurance, code reviews,
and formal verification of
transaction algorithms to prevent
software bugs
This ensures that potential issues
are
identified
immediately
allowing for remediation before
they impact for banking system
tools to detect unusual patterns
before they lead to crush
1.2.1 Fault prevention
1.2.2 Fault detection
1.2.3 Fault tolerance
In digital banking, this means
designing systems with no single
point of failure. If a primary database
fails, a secondary, replicated database
immediately takes over without
disrupting ongoing transactions
1.2.4 Recovery mechanisms
Banking system need to have
automatic backup procedures and
disaster recovery plans, ensuring
no customer transactions are lost
and data integrity is maintained
1.2.5 Redundancy
Banking involves having standby
components that can immediately
take over if the primary system fails
ensures that if one data goes offline
due to failure the banking system
remains accessible to users
Securing will protects the system and
transactions
from
unauthorized
access, and fraudulent activity,
1.2.6 Security
SFG117V
2026 S1
ST1
3
ensuring the confidentially
integrity of customer data
and
1.3 A medical records management system is being developed for a public hospital. The
requirements are well understood, the project demands strict compliance, and extensive
documentation is required.
(10)
1.3.1 Recommend a suitable software development life cycle model.
Waterfall model
1.3.2 Justify your choice with four reasons.
1. Fixed requirements for the medical records management
2.Extensive Documentation it will demand thorough documentation at every stage
requirements design and testing
3.Strict compliance Its sequential, structured nature provides clear milestones for audit
trails and compliance with strict legal/healthcare regulations
4.Predictability and control
1.3.3 State two alternative models and explain why they are less suitable.
Agile - In a public hospital setting, documentation must be extensive and rigid for
compliance with health regulations
Prototyping Model - This model focuses on building quick to understand vague or unclear
requirements. Because the requirements are already well understood prototyping is an
unnecessary expense
1.4 Differentiate between product metrics and process metrics.
(4)
Product metrics- These measure the characteristics of the software product itself at any
stage of development, including size, complexity, design features, performance, and quality
level
To ensure the final software meets user requirements, quality standards, and functionality
goals.
Process metrics- These evaluate the efficiency, effectiveness, and quality of the software
development process and maintenance activities.
To improve long-term development processes, reduce defects, and improve team
productivity.
Question 2
SFG117V
[Total Marks: 25]
2026 S1
ST1
4
Use Case Scenario: Online Learning Management System
A company develops an online learning platform with the following data:
• Software size: 20,000 LOC
• Defects found during testing: 100
• Test cases executed: 600
• Test cases passed: 510
• Defects before release: 90
• Defects after release: 30
• Initial requirements: 80
• Added: 15
• Changed: 12
• Removed: 5
2.1 Calculate the defect density
(4)
Defect density =
2.1.1 Interpret the result
(2)
Defect density = total defects/software size 100/20 = 5 defects
2.2 Calculate the pass rate
(3)
2.3 Calculate the fail rate
(3)
2.4 Discuss the system readiness for deployment
(2)
2.5 Calculate Defect Removal Efficiency (DRE)
(4)
2.6 Calculate requirements volatility
(5)
SFG117V
2026 S1
ST1
5
2.7
Explain what the volatility implies
(2)
Question 3
[Total Marks: 17]
3.1 Agile software development comprises 6 steps. Explain the first two steps.
•
(4)
Defining the Vision: The product owner or stakeholders define the project goal
and the business opportunity it addresses.
•
Feasibility Analysis: Teams conduct an analysis to determine if the project is
economically and technically viable, estimating the potential time and cost
required.
•
Defining Scope: Key requirements are identified and documented, although these
are kept to a minimum to allow for future changes and iterations.
•
Prioritization: If multiple projects exist, they are prioritized based on their value.
3.2 Creating user stories is part of the planning stage of extreme programming. User stories are
a crucial aspect of agile software development, as they provide a simple and effective way
to capture stakeholders' needs. Using the following template: As a [user], I want to [action]
so that [benefit]
3.2.1 Create two (2) user stories of an online insurance claim policy between the client and
administrator.
(4)
•
As a client I want to upload photos, documents, and fill in incident details via a
web form so that I can submit my claim quickly and conveniently without having
to call or mail in physical paperwork
•
As an insurance administrator, I want to view all submitted claims in a structured
dashboard and reassign them to specific adjusters, so that I can efficiently process
claims and ensure no submissions are missed, increasing overall operational
efficiency.
.
3.2.2 As part of the design phase of extreme programming, complete a CRC card for the
online insurance claim above for any of the following class cards: (1) Claim, (2)
SFG117V
2026 S1
ST1
6
Customer and (3) Administrator. In your answer, show class name, two (2)
responsibilities and two (2) collaborators.
(5)
Class Card: Claim
Class:
Responsibilities:
Claim
Submit claim details (date, description,
amount).
Collaborators:
Customer, Administrator
Class Card: Customer
Class:
Responsibilities:
Customer
Create/Update personal profile information.
Submit new insurance claims.
Collaborators:
Claim, Administrator
Class Card: Administrator
Class:
Responsibilities:
Administrator
Collaborators:
Claim, Customer
Review and validate submitted claims.
3.2.3 Define DevOps and explain why it is important to use its tools.
(4)
Is a set of practices and tools that combine software development (Dev) and IT operations
(Ops) to shorten the systems development life cycle and provide continuous delivery with
high software quality. It emphasizes automation, collaboration, and shared responsibility
between teams.
•
Automation of Workflows: Tools automate repetitive tasks like testing, code
integration, and deployment (CI/CD)
•
Improved Collaboration: Tools foster communication between development and
operations teams, breaking down silos and ensuring visibility throughout the
project.
•
Increased Reliability & Quality: Automated monitoring and testing tools allow for
faster detection of bugs and stability issues, improving the overall quality of the
insurance software.
SFG117V
2026 S1
ST1
7
•
Scalability: DevOps tools help infrastructure scale automatically to meet the
demands of online users.
Question 4
[Total Marks: 26]
4.1 Agile software development has been widely adopted in many software projects. However,
it also presents several practical challenges in certain development environments. Discuss
the practical problems that organisations may encounter when applying Agile methods in
large-scale software development projects.
(8)
4.2 The South African government is planning to implement the NHI. This requires a massive,
interoperable system in which private and public hospitals across all nine provinces can
securely share patient records. The CSIR is supporting the implementation of the NHI by
developing systems such as the National Electronic Health Record System (NEHRS). The
NEHRS “aims to revolutionise how patient information is stored, accessed and shared
across the healthcare network, facilitating the seamless and secure flow of person-centred
healthcare information across institutional and provincial boundaries.” - DSTI. 2025.
CSIR is developing digital systems to support the National Health Insurance. (Accessed: 2
April 2026).
4.2.1
Explain how the team could apply Agile methodology to manage the
development of the NEHRS system.
(9)
4.3 Agile software development has been widely adopted in many software projects.
However, it also presents several practical challenges in certain development
environments. Discuss the practical problems that organisations may encounter
when applying Agile methods in large-scale software development projects.
(8)
SFG117V
2026 S1
ST1
8
4.4 The South African government is planning to implement the NHI. This requires
a massive, interoperable system in which private and public hospitals across all
nine provinces can securely share patient records. The CSIR is supporting the
implementation of the NHI by developing systems such as the National
Electronic Health Record System (NEHRS). The NEHRS “aims to revolutionise
how patient information is stored, accessed and shared across the healthcare
network, facilitating the seamless and secure flow of person-centred healthcare
information across institutional and provincial boundaries.” - DSTI. 2025. CSIR
is developing digital systems to support the National Health Insurance.
(Accessed: 2 April 2026).
4.4.1
SFG117V
Explain how the team could apply Agile methodology to manage the
development of the NEHRS system.
(9)
2026 S1
ST1
9
4.5 Evaluate the benefits and potential challenges of implementing SOA for the National
Health Insurance digital infrastructure in South Africa.
(9)
SFG117V
2026 S1
ST1