M.Shahzad Javaid SP15-BSE-B4-B-050

Assignment: “Software Design & Architecture”

Submitted to:

“Sir Shoaib Hassan”

COMSATS Institute Of Information Technology, Sahiwal

1 1. Write Down five points of each of point? Scalability: Scalability can be measured in various dimensions, such as:  Administrative scalability: The ability for an increasing number of organizations or users to easily share a single distributed system.  Functional scalability: The ability to enhance the system by adding new functionality at minimal effort.  Geographic scalability: The ability to maintain performance, usefulness, or usability regardless of expansion from concentration in a local area to a more distributed geographic pattern.  Load scalability: The ability for a distributed system to easily expand and contract its resource pool to accommodate heavier or lighter loads or number of inputs. Alternatively, the ease with which a system or component can be modified, added, or removed, to accommodate changing load.  Generation scalability: The ability of a system to scale up by using new generations of components. Thereby, heterogeneous scalability is the ability to use the components from different vendors.

Performance: Performance may involve one or more of the following:  Short response time for a given piece of work.  High throughput (rate of processing work).  Low utilization of computing resource(s).  High availability of the computing system or application.  Fast (or highly compact) data compression and decompression.

Security: Certain concepts recur throughout different fields of security:

 Assurance - assurance is the level of guarantee that a security system will behave as expected.

 Countermeasure - a countermeasure is a way to stop a threat from triggering a risk event.

 Defense in depth - never rely on one single security measure alone.

 Risk - a risk is a possible event which could cause a loss.

2  Threat - a threat is a method of triggering a risk event that is dangerous.

Availability:  It will be defined for each project where it needs to be specified.  This principle is true of all non-functional requirements.

 It may conflict with other requirements concerned with doing regular maintenance of the solution who require planned downtime (as opposed to unplanned downtime).

 The designers will point out that that while technically feasible 100% availability is a potentially expensive option as it means developing solutions to ensure that in the event of component(s) failure, the solution can compensate (for example a full “mirror” of the solution is always running in parallel in the background being updated by the operational solution.

 The alternative is that the Business Analyst raises this common issue if and when it arises with those that generated it.

Elasticity:  It Represents the degree to which a service is able to adopt to changing workloads by automatically adding or removing resources that closely match the consumers demand at each point in time.

 It refers to the capability of an application to automatically adapt its resource consumption to the current demand i.e, scale out or scale in as the load increases or decreases.

 How easy is it to bring on line or take down compute resources (CPU, memory, network) as workload increases or decreases?

 Elasticity is closely related to scalability.

 It represents the ability to determine and to switch to that required amount of resources in one manner.

3