Cloud based : advantages and disadvantages
Serving as the overall system factors, system qualities are the factors that affect the system design in order to influence user experiences and run-time behaviours. In essence, they will represent the concerns that will provide a wider impact on different application platforms and users. For the project at hand, ‘My Health Record’, the system aims to enhance the efficiency of the health care system in Australia where medical records will be readily available to the participants’ i.e. medical practitioners and patients. However, the same individuals should be able to regulate who accesses the information available i.e system security and data ownership. Therefore, system qualities, in this case, will outline the extent the system exhibits the desired qualities including usability, performance, security and reliability (Microsoft, 2017).
This section outlines the system qualities that are expected for the proposed system, they are categorised into four major sections i.e. design qualities, system qualities, user qualities and runtime qualities (Loewy, 2017).
Design qualities: Conceptual integrity– outlines the overall consistency of the design where each component in the system is designed in a specific and coherent way e.g. the coding style of naming the development variables.
Maintainability – the health system must be able to undergo changes easily e.g. adding a new functionality or fixing errors
System qualities: Supportability– a support control where the system can provide helpful information to resolve issues developed by the system e.g. troubleshooting wizards.
User qualities: Usability– the ability of the system to meet the overall requirements of the users, for instance, being intuitive, globalised and easy to use so as to offer an enhanced experiences.
Run-time qualities: Performance– it’s an indication of the system’s responsiveness when certain actions are executed e.g. displaying a record of a patient after a search.
Reliability – the system should be able to remain operational for a long time despite the conditions it faces.
Scalability – A wide range of records will be stored and analysed by the system, therefore, it should adapt to load changes without affecting the other system qualities.
Security – the ability to prevent malicious activities including accidental actions through authentication and authorization procedures. Therefore, no unauthorised modifications should be made e.g. changing patient records without proper authority (Microsoft, 2017).
When defining the user interfaces it’s important to have the visual feedback given by the overall system, where a friendly outcome is expected as defined by the design outlook. Therefore, the system interface should be able to communicate to the user having favourable outputs as a result of the input given (Ryerson, 2017). Note, these inputs will come from different systems including data sources, related the health systems and the end users themselves. Now, to satisfy the needs of both the input and output variables, the following non-functional requirements will have to be met:
SDLC : advantages and disadvantages each of predictive and adaptive and recommend which is better and why.
Accessibility– focusing on the needs of the end user, the system should have attributes that convey easy accessibility e.g. the agility to adapt to any given platform e.g. Windows or Mac PCs.
Consistency- the health system as stated before will have a wide range of records which will only increase in time, the access time of displaying particular interfaces should remain the same throughout these changes.
Aesthetic– a friendly interface facilitated by the overall layout of interfaces, for instance, the colour, font and background should align with the environment to create a mental picture of the duties being conducted (Eeles, 2016).
As part of the physical system, the user interface will outline the implementation of the software requirements. The UI requirements are efficiently met when the system analysis is based on the prototypes, visualisation and use cases (Goldsmith, 2017). In light of these UI requirements, the following outline is proposed for the different UI parameters:
Colour– It’s hard to pinpoint a colour that will satisfy all users more so when you consider the number of the end user being considered. Therefore, the colours used to indicate a range of functionalities shall be configurable, however, they will have to offer a contrasting effect to adequately display the results e.g. white background with black text.
Font size– For consistency needs, a maximum of four fonts shall be used across all user interfaces with a minimum size of 10. Furthermore, they will be configurable to enhance user experience.
Font colour– To offer the contrasting effect outlined before, dark font colours are recommended including the likes of black, dark blue and brown.
Background- for aesthetic purposes, the basic background colour will be enhanced using a background image characterised by the functionalities of the health care industry (Transcore, 1999).
Based on the extended application of the system, where an entire country will access the system on a daily basis the limitation are set to performance based. For one, the execution time will be low during the pick times i.e. when many health facilities and departments are accessing the system thus will constrain the supporting servers. This outcome is also as a result of the supporting parameters such as the flash memory size that will be optimal for functionalities thus will be overwhelmed in the case of many users/access. Moreover, regardless of the size used, the memory will always be up for review as the design practices will limit the overall amount in case technology or system changes (Taylor, 2000). Finally, based on the application objectives where multiple individuals will determine the content and access of the system, there is bound to be challenges that will limit the overall practicality of the system. Therefore, meeting a compromise on the content and access given to users will serve as a profound limitation of the health system.
System qualities categorised into four major sections
As the next generation of the internet services, cloud solutions offer subscribed resources as a service where users (e.g. Commonwealth Government) accesses computational resources online. Based on the existing project, the organisation can lease storage resources for the applications which will increase system availability across all departments related to the industry. Moreover, using the same resources will increase the system flexibility, for instance, dealing with higher storage requirements.
Advantages
Cost saving– the project at hand will have zero considerations for in-house facilities for storing the system. These requirements will be met using leased resources which will be paid on a pay as you use basis.
Reliability– cloud service provider will replicate the resources owned by an organisation across different cloud facilities. Therefore, in the case of failures in one facility, a backup option will always be available.
Flexibility and mobility– All health facilities across Australia will be able to access the system so long as they have an internet connection.
Manageability– through centralised control supported by resource administration and SLA management tools, users can track and monitor their resources.
Future strategic edge– The organisation will enhance its on-demand requirements for accessing information across all existing platforms (Level cloud, 2017).
Disadvantages
Security– a third party is used to store sensitive information owned by individuals and organisations which present many substantial risks. Moreover, the data is stored in undisclosed locations.
Downtime– service provider are usually overwhelmed with operational duties which will constrain their systems leading to technical hitches that eventually result in downtimes.
Vendor lock-in– once migrated to a particular service provider, the implemented system may face difficulties migrating to a new service provider due to the technical requirements involved.
Loss of control– As stated before, a third party handles all the operations of the leased resources, therefore, a subscriber can hardly track or monitor their resources.
Data transfer costs– the health department has a lot of data which based on current models will be charged based on the gigabits transferred, a huge cost consideration (Ward, 2017).
Two development procedures are proposed for the system; predictive SDLC where a consistent and pre-assumed plan is followed and two, adaptive SDLC where an agile approach having the considerations for changes and adjustments is used. Now, predictive SDLC will assume all the development processes are known and will have minimal room for changes, thus is a traditional development method. Adaptive SDLC, on the other hand, has a modern outlook which allows developers to segment projects into small sections which are later on assembled concurrently with the considerations for future changes (MSB, 2011).
Design qualities, User qualities, Runtime qualities
Predictive SDLC
Advantages:
1. A simple approach that is easy to apply based on the pre-determined plans.
2. It has stringent documentation requirements which enhance system consistency and accountability.
3. A rigid design model that enhances collaboration especially with previously designed systems which tend to facilitate performance.
4. Based on its fixed outline it’s suitable for small projects and system designs (Rackspace, 2017).
Disadvantages:
1. Lacks flexibility which limits its applications as most design projects have many uncertainties.
2. A time-consuming approach as all stages of development are run sequentially and not concurrently.
3. Finally, it has a high risk of uncertainties as changes are never enacted during the design process (Stoica, Mircea & Ghilic-Micu, 2013).
Adaptive SDLC
Advantages: 1. An agile approach that produces quality systems because several prototypes are developed at each stage of development.
- Flexible, system changes either based on user requirements or otherwise can be accommodated.
- It offers a user-centred design approach which increases system usability and performance.
- An elaborate method that can easily identify and solve risks e.g. those seen in security.
Disadvantages:
1. It lacks a presumed plan that makes it difficult to predict timelines.
2. Secondly, it requires experienced expertise which in most cases tends to be expensive (Tutorials point, 2017).
First, consider that the developed system should be able to integrate with cloud-based resources in order to meet the functionality requirements of the health department. Secondly, the system requirements are set to change with time due to technological advancements and users’ needs. Therefore, the system chosen should be agile to offer room for adjustments. At the same time, the project will require an elaborate documentation process to manage the resources used, in general, this outcome will improve the system’s accountability an important aspect of most government projects.
Now, the predictive approach offers a thorough documentation process that will meet the needs of the organisation. However, unlike the adaptive method, it cannot accommodate changes which outline its first inefficiency. Moreover, it requires users to hold technological advancements as it produces systems that can only work with the pre-determined technologies. An adaptive approach, on the other hand, will align its operational activities to meet the needs of technology and the end user. In addition to this, its development process is characterised by iteration techniques which boost system performance a result of the tests and evaluations conducted at each stage of development.
References:
Eeles. P. (2016). Non-functional requirements. IBM software group. Retrieved 22 May, 2017, from: https://www.architecting.co.uk/presentations/NFRs.pdf
Goldsmith. R. (2017). Defining a User Interface (UI) during the requirements phase: A mistake? Tech target. Retrieved 22 May, 2017, from: https://searchsoftwarequality.techtarget.com/answer/Defining-a-User-Interface-UI-during-the-requirements-phase-A-mistake
Level cloud. (2017). Advantages and Disadvantages of Cloud Computing. Retrieved 22 May, 2017, from: https://www.levelcloud.net/why-levelcloud/cloud-education-center/advantages-and-disadvantages-of-cloud-computing/
Lowey. R. (2017). Non-functional requirements. Scaled agile framework. Retrieved 22 May, 2017, from: https://www.scaledagileframework.com/nonfunctional-requirements/
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
Microsoft. (2017). Chapter 16: Quality Attributes. Retrieved 22 May, 2017, from: https://msdn.microsoft.com/en-us/library/ee658094.aspx
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/
Ryerson. (2017). System interface. Design wiki. Retrieved 22 May, 2017, from: https://deseng.ryerson.ca/dokuwiki/design:system_interface
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
Taylor. A. (2000). Design Constraints and Limitations. Introduction. Retrieved 22 May, 2017, from: https://www.cse.msu.edu/~cse470/F97/Projects/F00/F00-Cheng/diagnostics/diagnostics2/web/documents/designdoc/document/node5.html
Transcore. (1999). GUI requirement document. Control system project. Retrieved 22 May, 2017, from: https://www.fhwa.dot.gov/cadiv/segb/files/i15/i15guireq.htm
Tutorials point. (2017). SDLC. SDLC-overview. Retrieved 20 May, 2017, from: https://www.tutorialspoint.com/sdlc/sdlc_tutorial.pdf
Ward. S. (2017). 5 Disadvantages of Cloud Computing. The balance. Retrieved 22 May, 2017, from: https://www.thebalance.com/disadvantages-of-cloud-computing-4067218