Mobile applications and wireless systems are growing in popularity
There is a growing popularity for mobile applications and wireless systems which have led to people adopting the cloud based solutions as they offer more mobility and accessibility. In this context, organisations are starting to take advantage of the benefits and conveniences offered by the technology. Cloud solutions not only extend the accessibility of ICT resources but they also provide cost flexibility as the resources are paid based on a pay as you use model (Fernández-Cardeñosa, Torre-Díez & López-Coronado, 2015). Therefore, on top of increasing the accessibility of its proposed project, the Commonwealth Government can lower its overall expenditures of implementing the health care system in the name of ‘My Health Record’.
In light of these outcomes, this paper analyses cloud solutions based on its application in the highlighted project. It’s associated attributes such as security and data control are considered, however, more emphasis is given to the non-functional requirements that will enhance the practicality of the proposed project. Furthermore, a detailed insight is given to the development methods used to implement the project in order to meet the integration requirements of the cloud solution.
Non-functional requirements of ‘My Health Record’ project
Since the proposed health system will be accessed across different platforms, the performance and usability of the system should cater for a cross-platform application. This can be enhanced using a development process that is user-centred so as to outline the needs of the users, e.g. system layout and design. Furthermore, a cognitive approach is needed to understand the behaviours of the users (medical practitioners) for instance, what records they frequently access. This perception will enhance usability and well as the reliability of the system as the users will have a mental picture of the location of the resources they need. Finally, the system should enforce strict security guidelines to protect the patients and the hospital’s privacy and data security. Therefore, unique identification details must be facilitated for all the users i.e. the Doctors and other medical practitioners who access the system.
The various aspects of cloud solutions
Cloud solutions usually consist of a wide range of services which in their design structure will include many resources that are usually configured on top of each. In essence, this attribute makes the technology to be defined as a stack of resources where on-demand and elastic services are provided (Kepes, 2017). This outcome highlights the various service models provided by the technology such as Infrastructure as a service (IaaS) and Software as a service (SaaS). The project at hand can consider any of these services based on the requirements and suitability of the solution. However, since, the system proposed would hold extensive records and elaborate analytics, the IaaS would offer the best solution (Harding, 2017).
Benefits of cloud solutions for organisations
IaaS offers control and increased accessibility as compared to the SaaS where the end resources i.e. applications are presented in the form of APIs using web browsers. However, with its extended control and access comes the risk of security which can affect the data owned by the organisation. Now, to cater for the data security aspects of the cloud solution the underlying system must meet the minimal security requirements (Florence, 2012). These requirements include data ownership and access control among many others. Therefore, an adequate approach is needed to develop the system for the project at hand, for this, two methods are suggested; predictive and adaptive SDLC (Software development life cycle).
Analysis of SDLC methods based on non-functional requirements
SDLC, in general, has three major objectives; one to facilitate the development of high-quality systems, two to enhance management control (e.g. the data ownership for this project) and three, to maximise the overall productivity of the developed package. To meet these objectives all SDLC methods will outline specific procedures for developing and supporting the system. Furthermore, these procedures will vary based on priorities, tracking and management requirements among other variables which essentially will necessitate one development method as compared to the other (Bender RBT Inc., 2003). Therefore, based on these project objectives, one of the proposed methods will suit the system outlined in this project as compared to the other.
Predictive SDLC
This approach represents the traditional methods of system development where projects or system variables are known. A consistent procedure is usually used from the start of the project to the end with minimal interruptions as well as overlaps being experienced. Therefore, based on the consistent requirements, the approach will assume all the steps involved, where adamant documentation is followed (MSB, 2011). An example of this approach that is always given is the Waterfall model, a model that follows a strict guideline having sequential steps that logically follow each other. Furthermore, unlike other models, the phases are never repeated in the sense that when a phase is completed, the developer can never revisit it. It’s because of these outcomes that the system developed are usually rigid and inflexible to changes, a factor that led to its alteration to facilitate flexible models i.e. the modified Waterfall models (Cerritos, 2011). Nevertheless, the diagram below illustrate a typical predictive model i.e. waterfall.
Pros of the approach
- Predictive methods are easy to use and understand which facilitates an easier development process.
- Moreover, the model’s rigidity enhances collaboration which also supports good result, an outcome that increases performance.
- Its stringent documentation process facilitates the continuity of projects even when new members are introduced.
- Suitable for small projects with minimal requirements (Rackspace, 2017).
Cons of the approach
- Highly inflexible therefore no new requirements can be added after the onset of the development cycle.
- Furthermore, its time consuming as all phases must be completed to proceed to the next phases i.e. no concurrent development.
- It’s also difficult to return to the design stages if the final development process yields problems. The only solution being a complete do-over.
- Finally, predictive methods have a very high risk of uncertainties (Stoica, Mircea & Ghilic-Micu, 2013).
Adaptive SDLC
Non-functional requirements for the ‘My Health Record’ project
A modern approach to system development that assumes that system activities will change in course of the development cycle. This outcome makes it suitable for most projects as most aspects are usually unknown. Therefore, to accommodate the foreseeable changes, the system development process is usually broken down into small pieces which are then deployed at the end using an iterative technique (MSB, 2011). Most models today follow this structure including the spiral and agile model. Based on the spiral model, the project’s development process is characterised by many implementation cycles that occur repeatedly throughout the development process (Cerritos, 2011).
These repeated cycles yield different solutions (prototypes) based on the development emphasis or requirement input. These prototypes will avail a particular primary model that defines a specific project’s aspect which is usually ready for testing and evaluation. Therefore, the project at hand can split the project into various functional aspects and develop them independently with a final solution being developed at the end of the cycles (MSB, 2011). Moreover, these segments could be continuously tested based on the user requirements to fulfil the non-functional requirements i.e. usability, performance, resilience and even security (Okoli & Carillo, 2010).
Pros of the approach
- Each stage of the development cycle yields a working system that can be tested to evaluate the immediate results. This outcome can improve the overall quality of the system more so, performance.
- Secondly, usability is enhanced as the working prototypes are delivered to the users for testing establishing important evaluations.
- Furthermore, it’s extremely flexible which lowers expenditure costs when the objectives of requirements are changed.
- It’s also easier to identify risks and mitigate them, for instance, the security flaws which in the end enhances the overall security.
Cons of the approach
- It’s hard to predict the actual development timelines i.e. too many cycles.
- Secondly, it’s difficult to establish a proper business framework because of the many variables involved.
- Has a higher resource requirement especially the ability of the developers (Tutorials point, 2017).
Recommendations for the project
For the compatibility of the system with the cloud solutions, the non-functional requirements must be met, more so, the aspect of security which the Commonwealth Government feel should outline the overall ownership of the data. Let’s first highlight the first approach where based on its strict documentation process offers a reliable solution that will account for all the processes involved. A predictive approach will give the project’s stakeholders the relevant material to track the project from the start to the end. However, these benefits will end here as the solution is bound to many uncertainties which will cause problems in case any adjustment are made. Furthermore, predictive solutions call for technology delays as the solution implemented will only work with the exact technologies highlighted at the start of the project (Okoli & Carillo, 2012).
On the other hand, the adaptive approach has extended benefits that include technical prowess and room for system adjustments. Therefore, with a long term project, as the one highlighted, the outcome is somewhat guaranteed to have the correct user specifications as the development cycle will adjust based on the immediate requirements (Ajwad, 2017). Furthermore, each iteration cycle can be used to perfect a particular aspect of the system, for instance, the performance and usability could be considered as independent entities. Similarly, the security i.e. data ownership can be handled by a different faction of the project development process which will improve its outcome. In addition to this, all these considerations and requirements can be run concurrently based on the segmentation of the project which saves time and resources. Nevertheless, the adaptive approach used should also incorporate some aspects of traditional method where a strict documentation process is used to enhance accountability. Moreover, the documentation process could serve as a knowledge base (organisational memory) that could boost functionalities based on past experiences (Warner, 2005).
Various aspects of cloud solutions
Conclusion
Although cloud-based solutions offer a wide range of benefits their design and operational principles exposes them to many threats particularly those dealing with security and privacy. These concerns are clearly held by the Commonwealth Government who emphasise the need for adequate security before integrating their developed health care system into the cloud resources. Therefore, the developed system should cater for security needs where the aspects of access and data control as adequately managed. Now, these aspects of system development and infrastructure integration are determined by the underlying components which are both the hardware and Software resources. On its part, the organisation is going to lease the hardware equipment through a cloud service provider. However, the Software package is the organisation’s responsibility thus the need for an optimal solution.
To meet its in-house requirements (Software package) the adaptive approach is recommended as it offers the best solution and services to meet its overall objective. First, this project serves as a long terms project for other future systems that are likely to be based on it, therefore an agile system would facilitate an easier development process for now and future systems. Secondly, the project at hand considers many non-functional requirements; performance, security, usability and reliability among many others. These requirements can be outlined as major components of the development cycle thus optimising their outcome. Finally, technology is rapidly changing today and a predictive method could fail to meet the compatibility requirements if used. An adaptive approach facilitates the technology requirements because it will adjust the operating principles of the developed system based on the technology at hand, in all boosting the overall outcome of the project.
References
Ajwad. F. (2017). Chapter 2 – System Development Approaches. Scribd. Retrieved 20 May, 2017, from: https://www.scribd.com/doc/43164341/Chapter-2-System-Development-Approaches
Bender RBT Inc. (2003). Systems Development Life Cycle: Objectives and Requirements. Systems Development Lifecycle: Objectives and Requirements is. Retrieved 20 May, 2017, from: https://www.benderrbt.com/Bender-SDLC.pdf
Cerritos. (2011). Chapter 8 –Approaches to System Development. Systems Analysis and Design in a Changing World, 6(1). Retrieved 20 May, 2017, from: https://web.cerritos.edu/dwhitney/SitePages/CIS201/LectureNotesOnTalonNet/Chapter08Lecture.pdf
Fernández-Cardeñosa. G, Torre-Díez. I & López-Coronado. M. (2015). Analysis of cloud
-based solutions on EHRs systems in different scenarios. Department of Signal Theory and Communications, University of Valladolid. Retrieved 20 May, 2017, from: https://netgna.it.ubi.pt/files/Cloud%20computing%20EHRs_JOMS_FV.pdf
Florence. (2012). Important aspects of cloud computing. Cloud tweaks. Retrieved 20 May, 2017, from: https://cloudtweaks.com/2012/03/important-aspects-of-cloud-computing/
Harding. N. (2017). Key aspects of cloud computing services. Tech target. Retrieved 20 May, 2017, from: https://searchitchannel.techtarget.com/tip/Key-aspects-of-cloud-computing-services
McCombs school of business (MSB). (2011). the System Development Life Cycle. Retrieved 24 January, 2017, from: https://utexas.instructure.com/courses/1166782/files/38198507/download
Okoli. C & Carillo. K (2010). The best of adaptive and predictive methodologies:
Open source software development, a balance between agility and discipline. Retrieved 20 May, 2017, from: https://pdfs.semanticscholar.org/af41/c5a586c46d5803edbafbe18273c94278eb43.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 20 May, 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
Rackspace. (2017). Understanding the Cloud Computing Stack: SaaS, PaaS, IaaS. Support networking. Retrieved 20 May, 2017, from: https://support.rackspace.com/white-paper/understanding-the-cloud-computing-stack-saas-paas-iaas/
Stoica. M, Mircea. M & Ghilic-Micu. (2013). Software Development: Agile vs. Traditional. Informatica Economic? 17(4). Retrieved 20 May, 2017, from: https://www.revistaie.ase.ro/content/68/06%20-%20Stoica,%20Mircea,%20Ghilic.pdf
Tutorials point. (2017). SDLC. SDLC-overview. Retrieved 20 May, 2017, from: https://www.tutorialspoint.com/sdlc/sdlc_tutorial.pdf
Warner. E. (2005). Adaptive vs. Predictive: Is the end clear? Idea. Retrieved 20 May, 2017, from: https://www.idea.org/blog/2005/12/02/adaptive-vs-predictive-is-the-end-clear/