(COMPLETE ANSWERS)
2025 - DUE 1 August
2025
For assistance contact
Email:
, Question 1 [10]
Explain how advances in technology can force a software subsystem to undergo change or
risk becoming useless.
Advances in technology can force a software subsystem to undergo change or risk becoming
useless in several ways:
1. Obsolete Underlying Platforms/Infrastructures: A subsystem built on a specific
operating system, database, network protocol, or hardware platform can become useless
if those underlying technologies are no longer supported, become insecure, or are phased
out. For example, a subsystem designed for Windows XP might struggle or fail to run on
modern operating systems, or a database system that doesn't support modern cloud
infrastructure might limit scalability.
2. Performance and Scalability Demands: New technologies often bring higher
performance expectations. If a subsystem cannot meet these new demands (e.g., handle
increased data volumes, faster transaction rates, or more concurrent users) due to its
architectural limitations or reliance on older, less efficient algorithms, it becomes
inadequate for modern needs.
3. Security Vulnerabilities: As technology evolves, new security threats and attack vectors
emerge. A subsystem designed without considering these newer threats, or one built on
older security protocols, can become a significant vulnerability, making it unusable in
environments where security is paramount.
4. Integration Challenges: Modern software ecosystems emphasize interoperability and
seamless integration. If a subsystem relies on outdated communication standards (e.g.,
SOAP instead of REST APIs) or proprietary interfaces that are no longer widely
supported, it becomes isolated and difficult to integrate with newer systems, reducing its
overall utility.
5. New User Expectations and Features: Advances in technology often lead to new user
expectations regarding interfaces, mobile accessibility, real-time capabilities, or AI
integration. If a subsystem cannot adapt to offer these new features or a modern user
experience, it will be perceived as clunky, inefficient, and eventually irrelevant to users
who expect cutting-edge functionality.
6. Cost of Maintenance and Development: Maintaining an outdated subsystem can
become prohibitively expensive. Finding developers skilled in older languages or
technologies becomes difficult and costly. If modern development tools and practices
cannot be applied, the agility and efficiency of developing new features or fixing bugs in
the subsystem drastically decline, making it economically unsustainable.
In essence, if a software subsystem fails to adapt to these technological shifts, it will either cease
to function correctly, become a security risk, be too expensive to maintain, or simply fail to meet
the performance and feature expectations of a modern environment, thereby rendering it useless.