Which non-functional requirement is a disadvantage for a two-tier architecture?
A.
Security
B.
Reliability
C.
Availability
D.
Manageability
Which non-functional requirement is a disadvantage for a two-tier architecture?
Which non-functional requirement is a disadvantage for a two-tier architecture?
A.
Security
B.
Reliability
C.
Availability
D.
Manageability
Other disadvantages :
Scalability
The most important limitation of the two-tier architecture is that it is not scalable, because each client requires its own database session. The two tier design will scale-up to service 100 users on a network. It appears that beyond this number of users, the performance capacity is exceeded. This is because the client and server exchange “keep alive” messages continuously, even when no work is being done, thereby saturating the network.
Implementing business logic in stored procedures can limit scalability because as more application logic is moved to the database management server, the need for processing power grows. Each client uses the server to execute some part of its application code, and this will ultimately reduce the number of users that can be accommodated.
Interoperability
The two tier architecture limits interoperability by using stored procedures to implement complex processing logic (such as managing distributed database integrity) because stored procedures are normally implemented using a commercial database management system’s proprietary language. This means that to change or interoperate with more than one type of database management system, applications may need to be rewritten. Moreover, database management system’s proprietary languages are generally not as capable as standard programming languages in that they do not provide a robust programming environment with testing and debugging, version control, and library management capabilities.
System administration and configuration
Two tier architectures can be difficult to administer and maintain because when applications reside on the client, every upgrade must be delivered, installed, and tested on each client. The typical lack of uniformity in the client configurations and lack of control over subsequent configuration changes increase administrative workload.
Batch jobs
The two tiered architecture is not effective running batch programs. The client is typically tied up until the batch job finishes, even if the job executes on the server; thus, the batch job and client users are negatively affected.
Availability is a disadvantage because if one component fails, then the entire system is unavailable.
Scalability is a problem, as the only component you can increase is the database. In order to add new functionality in a two-tier system, you will definitely impact the other components—therefore, extensibility fails.
Manageability is problematic, as it becomes almost impossible to monitor all the PCs that are running the client code.
Maintainability has the same problem as extensibility.
Reliability is not really an advantage or disadvantage in a two-tier system. As the load increases, more requests will be coming to the database, and most databases will be able to handle the increased transaction throughput unless it is already at capacity.
Hence as per above description , I would say C and D is correct answer.
Security is an advantage as most of these systems are behind the corporate firewall, so most security breaches are the result of physical security breaking down and non-employees using an unsecured PC.
Performance is usually pretty good unless the company uses extremely old laptops that have minimal memory.
I would Say C and D.
Please check above description to get more details.