SOFTWARE DEVELOPMENT
— HMS Case Study
Exam Answer Guide (HIBMAT, B-
TECH)
Question 1: Concepts (14 Marks — 2
marks each)
a. Software Development Life Cycle (SDLC) The
structured process of phases (requirement gathering,
analysis, design, coding, testing, deployment, maintenance)
followed to build software. In the case study, TechVision’s
four described phases represent the SDLC applied to the
HMS project.
b. Feasibility Study An assessment done before
development to check if the project is worth pursuing. It
covers: Technical feasibility (can it be built with available
skills/tech?), Fiscal/Economic feasibility (is it affordable,
worth the cost?), and Time feasibility (can it be completed
within schedule?). This happened in Phase 1 of the case study.
c. Agile Methodology An iterative, incremental approach to
software development where the project is broken into short
cycles (sprints/iterations), each producing a working module.
It allows continuous feedback and easy accommodation of
changing requirements — exactly why TechVision adopted it.
d. System Analysis The process of studying the existing
system/requirements and producing a logical design (using
tools like UML diagrams) that specifies what the new system
must do, before physical coding begins. This was Phase 2 of
the case study.
e. Database Implementation The actual creation of the
database structure (tables, relationships, constraints) and
coding of the system based on the design — turning the
logical design into a working system with a functioning data
store (Phase 3).
f. Software Testing The process of executing the system to
find defects/bugs and confirm it works as intended, ensuring
quality before deployment. In the case study, testing revealed
billing errors, crashes under load, and weak security.
g. Risk Management The process of identifying, analyzing,
and controlling potential problems (technical, resource,
schedule, security) that could affect the project, and putting
mitigation strategies in place — done here by the project
manager.
Question 2: Five Challenges Faced
(10 Marks — 2 marks each)
1. Unclear user requirements – Some users could not
clearly explain what they needed, risking a system that
doesn’t meet real needs.
2. Inexperienced developers – Some developers lacked
experience with the framework used, slowing development
and increasing bugs.
3. Frequent requirement changes – Hospital management
kept requesting changes after development had started,
disrupting planning.
4. Software defects (bugs) – Testing revealed incorrect
billing calculations, a serious functional error.
5. Performance/scalability issues – The appointment
module crashed under simultaneous multi-user access.
6. Security weaknesses – The system was vulnerable to
unauthorized access. (Pick any 5 of these six.)
Question 3: Why Agile Was More
Suitable Than Waterfall (8 Marks — 2
marks each)
1. Flexibility to change – Agile allows requirements to be
adjusted between iterations; Waterfall locks requirements
early, making late changes costly.
2. Early and continuous delivery – Agile delivers working
modules after each iteration, so the hospital could review
and give feedback early; Waterfall only delivers at the very
end.
3. Faster feedback loop / risk reduction – Frequent client
involvement in Agile catches misunderstandings (like
unclear requirements) early, reducing costly rework.
4. Better handling of uncertainty – Since some developers
were unfamiliar with the framework, Agile’s iterative
learning allows the team to adapt each sprint, unlike
Waterfall’s rigid sequential phases.
Question 4: Importance During
Software Development (10 Marks — 2
marks each)
a. Requirement gathering – Ensures the system analyst
understands exactly what users/stakeholders need,
preventing wasted effort on wrong features and reducing
costly changes later.
b. UML diagrams – Provide a visual, standardized blueprint
(use case, class, sequence diagrams etc.) of the system,
improving communication among analysts, developers, and
clients and reducing design errors.
c. User feedback – Validates that the developed modules
actually meet user expectations, allows early correction of
misunderstandings, and increases user acceptance of the
final system.
d. Documentation – Provides a reference for developers,
testers, and future maintainers; ensures continuity if team
members change and supports training and troubleshooting.
e. Security testing – Identifies vulnerabilities (like the weak
access control found in the HMS) before deployment,
protecting sensitive patient and hospital data from
unauthorized access.
Question 5: Stages of the SDLC
Related to the HMS Project (14
Marks — ~2 marks each stage)
1. Requirement Gathering & Feasibility Study – The
team gathered hospital needs (patient registration, billing,
pharmacy, staff management) and checked if the project
was technically, financially, and time feasible.
2. System Analysis & Design – Analysts modeled the
system using UML diagrams, designing how registration,
scheduling, billing, and pharmacy modules would work
and interact.
3. Coding/Implementation & Database Design –
Developers wrote the program code and designers built
the database to store patient, billing, and staff data.
4. Testing – The team tested the modules and discovered the
billing errors, crash-under-load issue, and security
weaknesses.
5. Debugging/Fixing – Identified bugs (incorrect bills,
crashes, weak security) were corrected before release.
6. Deployment – The completed, corrected HMS was
released for use in the hospital.
7. Maintenance – Ongoing support/updates would follow to
fix any future issues and adapt to hospital needs.
Question 6: Testing Techniques (8
Marks — 2 marks each)
a. Unit Testing – Testing individual components/modules
(e.g., the billing module alone) in isolation to catch bugs early,
such as the incorrect billing calculation, before they affect the
whole system.
b. Integration Testing – Testing how combined modules/
hardware work together (e.g., appointment module with the
database/server) to catch interface and compatibility
problems, such as the crash when many users accessed it
simultaneously.
c. System Testing – Testing the complete, integrated HMS
as a whole to verify it meets all specified requirements,
catching issues that only appear at full-system level (e.g.,
overall performance and security).
d. User Acceptance Testing (UAT) – Real end users
(hospital staff) test the system to confirm it meets their actual
needs before go-live, ensuring practical usability and catching
gaps missed by developers.
Question 7: Managing Project Risks
(6 Marks — 2 marks each)
a. Developers lacking technical skills – Mitigate through
targeted training/workshops on the framework, pairing
inexperienced developers with senior mentors, and allocating
tasks according to competence (as the PM already did).
b. Frequent requirement changes – Use Agile’s iterative
sprints with a formal change-control process, so changes are
reviewed, prioritized, and scheduled into future iterations
rather than disrupting current work.
c. System security threats – Conduct regular security
testing/audits, apply strong authentication and access
control, encrypt sensitive data, and train staff on security best
practices.
Likely Extra Exam Questions & Quick
Answers
Q: What are the main phases of the SDLC (general
model)? A: Requirement gathering → Analysis → Design →
Implementation/Coding → Testing → Deployment →
Maintenance.
Q: Differentiate Agile from Waterfall. A: Waterfall is
sequential, linear, requirements fixed upfront, testing at the
end; Agile is iterative, flexible, incremental delivery,
continuous testing and feedback.
Q: What is a project manager’s role in software
development? A: Planning, organizing meetings, assigning
tasks by competence, monitoring progress, managing risk,
and ensuring timely, quality delivery.
Q: Name types of feasibility study. A: Technical, Economic/
Fiscal, Operational, Time (schedule), Legal.
Q: What is the difference between verification and
validation? A: Verification = “Are we building the product
right?” (checking against design specs). Validation = “Are we
building the right product?” (checking it meets user needs) —
related to UAT.
Q: What is regression testing? A: Re-testing a system after
changes/bug fixes to ensure existing functionality still works
correctly.
Q: Give examples of UML diagrams. A: Use case diagram,
class diagram, sequence diagram, activity diagram, ER
diagram (database design).