System Analysis And Design For World Wide Web – Analyzing Cloud Solutions
System’s non-functional requirements
Discuss about the System Analysis and Design for World Wide Web.
As the demands for faster connectivity increases, the application of cloud facilities will also increase to support the functional requirements of the end users. These facilities among many other characteristics will offer flexibility benefits owing to their availability across the World Wide Web. Moreover, they will be resilient because of the redundancy programs of the service providers who will frequently set up multiple resources in different areas (Stantchev, Colomo-Palacios, & Niedermayer, 2016). In addition to this, the technology will drastically reduce the overall cost of operation as the end users (subscribers) will have minimal managerial roles. These roles in today’s on-premise infrastructure will include the implementation functionalities as well as the general maintenance operations, which are eliminated after the application of the cloud facilities. Now, the project at hand requires extensive storage because of the growing demands made by the patient’s records. Therefore, to meet this objective, the project aims to integrate cloud resources into the proposed system. This report analyses this requirement where the various aspects of cloud solutions are outlined.
In system design, the non-functional requirements represent the general constraint of the system’s functionalities. In essence, these requirements restrict the operations of the resources as defined by the functional requirements (Chung, 2015). Furthermore, they will outline the process in which the functionalities of a system are achieved i.e. the how of operations and not the “what” of the system’s operations. In general, there are four main groups of the non-functional requirements:
- Usability – a group of requirements that require the system to priorities its functionalities based on the user application patterns i.e. the usage characteristics.
- Reliability – the system ability to satisfy the user demands after a long time of operation.
- Performance – the system’s response to the user’s initial specifications and commands.
- Security – the ability to maintain the integrity of the system’s resources(Terzakis, 2012).
There are specific minimal services and operations that the system must perform, these services define the qualities of the system where certain distinctive attributes are highlighted. Moreover, they specify the characteristics of the system from the end user’s perspective (Lévy & Ramdane-Cherif, 2003). In this project, the following qualities must form the basis of its functionalities:
- Serviceability – the ease in which the system will be maintained while using a wide range of monitoring activities.
- Latent capacity – considering the field of application, the system’s ability to handle unusually high loads will facilitate its performance and usability.
- Availability – finally, the system should have a reasonable service time when the overall resources are readily available to the end users(Gorton, 2011).
In the computing industry, an interface represents a general boundary area that separates several computing components while facilitating the exchange of information. In this project, the main system interface will be between the Headspace system and the cloud resources. This boundary as highlighted above will facilitate the exchange of information between the end users and the cloud storage resources (Mulo, 2007). Moreover, the system at hand will have another additional interface that will deliver results to the end users (user interface). In both instances, the following requirements will have to be met:
System qualities
UI and system interface requirements:
- Responsiveness and consistency – there are two factors that will determine these requirements; first the response speed to user’s requests and secondly, the speed of giving a functional feedback. Now, this responsiveness will also maintain the consistency of the output functions.
- Familiarity – to improve the system’s intuitive outcomes, the interface should have familiar structures and designs.
- Attractive (aesthetic appeal) – finally, the interfaces must be appealing to the eye to continuously engage the user(Yoder & Wirfs-Brock, 2013).
System constraints will occur in two main formats; the technical limitations and the business restrictions. In the technical limitations, the functionalities of the system will be limited by implementation elements and procedures such as new technologies and deployment platforms. On the other hand, business restrictions will include items such as the cost and development timelines (Terzakis, 2012).
In this project, the cloud technology is being sorted out to increase the availability of resources. Now, cloud computing will improve the delivery of IT resources through its defining technologies that form part of wider service concept. In essence, the general technology will have several foundational elements that will include IT resources such as hardware, software and networks (Telkom, 2016). Therefore, their interoperability with the user’s system will dictate the benefits and weaknesses of the proposed solution. In this case, the following strengths and weaknesses will be experienced as a result of the cloud facilities.
- Cost flexibility – the cost of using cloud solutions will vary from one application to another depending on the user’s requirements. Therefore, the Headspace project will be able to commission and thus pay for services they need.
- Increased mobility – first, the data of the Headspace system will be readily available after being hosted online. Furthermore, the will also be able to move with their resources once they are linked with the cloud servers.
- Enhanced collaboration – with cloud applications, the users (in this case the medical practitioners) will collaborate their activities to generate better diagnosis and treatment results(CTR, 2017).
- System downtime – when the online infrastructure is disrupted the overall service of the cloud facilities are halted
- Security and privacy – the resources face many threats because of the nature of the cyber environment where many threats are exhibited. Moreover, the resources are stored in unknown locations which exposes them to unknown vulnerabilities(Tsagklis, 2013).
Patient’s records including their detailed stories will be hosted online which necessitates the need to implement advanced security features. Furthermore, unlike the physical data, the virtualized information will not abide by the legal stipulations of the land. Therefore, to protect the data being used, the organization must first implement a standard security plan that will detail the system’s authentication and encryption standards (Telkom, 2016). Moreover, the same plan will outline the access policies for the users who will have unique access parameters. In addition to this, the organization must consult and enact legal agreements that spell out the responsibilities of data processes which will include the ownership of the data.
System or software development life cycle is a procedure of designing, developing and deploying software solutions. The overall aim of this procedure is usually to improve the quality of the systems having met the user’s requirements and expectations. Now, to meet this objective, the SDLC procedure follows a detailed plan that describes all the implementation stages of software development (RBT, 2010). In this case, development phases such as planning, testing, building and solution deployment are given. Furthermore, based on the defining user requirements, the SDLC process can adopt several distinctive procedures which in the end defines the types of SDLC i.e. the approaches/methods. This section highlights some of these methods, the predictive and adaptive SDLC approach.
This method can be defined as a classical approach to system design as it uses conventional procedures to implement solutions. In essence, the approach will follow a logical and sequential plan that will have minimal operation deviations. Furthermore, it will have pre-defined elements for the system’s implementation which will include the user requirements and assumptions. In all, the following features will generally characterize the method:
- First, it uses a predictable process to design systems where all the parameters are pre-defined.
- Secondly, it is associated with a consistent implementation plan that will never change after its documented(Okoli & Carillo, 2012).
- Thirdly, the implementation phases are executed sequentially with minimal overlap incidences.
System interface
- The method follows a logical pattern which makes it easy and simple to understand.
- Furthermore, its logical structure enhances the rigidity of the implementation procedure which improves the management process.
- Finally, the approach is favourable for small projects which are easily managed and implemented in a short period of time.
- First, it’s very inflexible lacking the ability to adapt to changes such as those of system requirements.
- Moreover, it contains a lot of risks and uncertainties because unknown variables easily disrupt the entire process.
- Finally, it is not suitable for long-term projects as they tend to have many changes(GU, 2017).
Now, this approach evolved from the classical methods in an attempt to fulfil the limitation of their functionalities. In essence, the desire to have an agile and adaptable procedure led to its development as it was able to accommodate any system changes. Furthermore, unlike the predictive method, it does not predict and pre-define all the requirements of the system at a single instance. Instead, it defines a logical development process while considering the possibility of system variations (Okoli & Carillo, 2012). Moreover, it divides the development process into several stages that are then executed simultaneously. In all, it has the following features:
- First, a logical plan having independent development phases is used.
- These phases then run concurrently based on the developers’ expertise.
- Finally, following their completion, the stage is assembled using several iterative procedures.
- Risks and uncertainties are drastically reduced because the method accommodates any variations or changes.
- Secondly, the method is time efficient as multiple stages can be implemented at the same time.
- Its iterative procedures also improve the quality of the final systems as they are based on the user’s immediate requirements.
- There is always the risk of failing to meet the implementation budget because of the continuous accommodations made to the unknown system changes.
- It is also difficult to establish the exact timelines of implementation(Jamsheer, 2017).
In the analysis done above, the predictive approach has been identified as a method for implementing short-term projects. This conclusion is based on its limitations that prevent it adapting to system changes, a feature that characterize long-term projects. Furthermore, with its well laid out plan, it cannot accommodate the features of the long-term project. Now, by any definition, the Headspace system is a long-term project. For one its defining attributes are very extensive and secondly, it has many user requirements. Moreover, the system requires the integration of cloud facilities. Therefore, because of the limitations of the predictive method, the adaptive approach is the best solution for the proposed project. Also, do remember that with an adaptive approach the developer risks of system uncertainties are drastically reduced which based on the nature of the exiting project will characterize the development process (Okoli & Carillo, 2012).
Conclusion
To the Headspace project, cloud resources offer the best solution to its existing problems of managing patient’s records. These resources also extend the services of the organization by delivering computing resources to all the users i.e. the members of the medical staff. Furthermore, they drastically lower the expenditures of the organization by eliminating the implementation and maintenance costs of the computing resources. Finally, they improve the scalability of the storage facilities which based on the patient’s stories will regularly change.
References
Chung, L. (2015). Non-Functional Requirements. Practices and Recommendations, Retrieved 03 October, 2017, from: https://www.utdallas.edu/~chung/SYSM6309/NFR-18-4-on-1.pdf.
CTR. (2017). Advantages and Disadvantages of Cloud ERP. Retrieved 03 October, 2017, from: https://www.ctrworld.com/advantages-and-disadvantages-of-cloud-erp/.
Gorton, I. (2011). Quality Attributes; Software Quality Attributes. Essential Software Architecture, Retrieved 03 October, 2017, from: https://www.springer.com/cda/content/document/cda_downloaddocument/9783642191756-c3.pdf?SGWID=0-0-45-1137943-p174111059.
(2017). Pros and Cons of Predictive Analysis. Online programs, Retrieved 03 October, 2017, from: https://scsonline.georgetown.edu/programs/masters-technology-management/resources/pros-cons-predictive-analysis.
Jamsheer, K. (2017). 12 Best Software Development Methodologies with Pros and Cons. Acodez, Retrieved 03 October, 2017, from: https://acodez.in/12-best-software-development-methodologies-pros-cons/.
Lévy, N., & Ramdane-Cherif, A. (2003). Quality Characteristics for Software Architecture. JOURNAL OF OBJECT TECHNOLOGY, Retrieved 03 October, 2017, from: https://www.jot.fm/issues/issue_2003_03/article2.pdf.
Mulo, E. (2007). Design for Testability in Software systems. Retrieved 03 October, 2017, from: https://www.infosys.tuwien.ac.at/staff/emulo/pdfs/emmanuel_mulo_thesis.pdf.
Okoli, C., & Carillo, K. (2012). The best of adaptive and predictive methodologies: Open source software development, a balance between agility and discipline. Research gate, Retrieved 03 October, 2017, from: https://www.researchgate.net/publication/220490309_The_best_of_adaptive_and_predictive_methodologies_Open_source_software_development_a_balance_between_agility_and_discipline.
RBT, B. (2010). Systems Development Life Cycle: Objectives and Requirements. Retrieved 03 October, 2017, from: https://www.benderrbt.com/Bender-SDLC.pdf.
Stantchev, V., Colomo-Palacios, R., & Niedermayer, N. (2016). Cloud Computing Based Systems for Healthcare. The Scientific World Journal, Retrieved 03 October, 2017, from: https://downloads.hindawi.com/journals/specialissues/848162.pdf..
Telkom. (2016). Cloud Solutions: Utilising Cloud Solutions as a Technology Lever in Enterprise Business. Cloud Solutions, Retrieved 03 October, 2017, from: https://www.telkom.co.za/today/media/downloads/Cloud_SolutionsWP_V2.1_eVersion.pdf.
Terzakis, J. (2012). Specifying Effective Non-Functional Requirements. Intel, Retrieved 03 October, 2017, from: https://www.iaria.org/conferences2012/filesICCGI12/Tutorial%20Specifying%20Effective%20Non-func.pdf.
Tsagklis, I. (2013). Advantages and Disadvantages of Cloud Computing – Cloud computing pros and cons. Retrieved 03 October, 2017, from: https://www.javacodegeeks.com/2013/04/advantages-and-disadvantages-of-cloud-computing-cloud-computing-pros-and-cons.html.
Yoder, J., & Wirfs-Brock, R. (2013). Agile Quality Scenarios. Agile Conference, Retrieved 03 October, 2017, from: https://www.quality-aware.com/resources/Quality%20Scenarios%20-%20Yoder%20%26%20Wirfs-Brock.pdf..