System Qualities
Most organisations today will use information technology as a mechanism to adapt to the prevailing market conditions. Moreover, the demands made by consumer necessitate fast, efficient and cheap services that cannot be fulfilled by traditional models of conducting organisation’s operational activities. Information technology responds with renewed tactics that facilitate services and solutions in all aspects of life. Cloud-based solutions seem like the next generation of IT solutions where demands are met using virtual resources leased from service providers. In essence, the challenges of owning IT infrastructure or resources are minimised as the end user need not own the resource but lease them at an affordable price based on a simple model of ‘pay as you use’ (Kathuria, 2011).
The Commonwealth Government has realised the challenges faced by the health department as a result of the demands made by the citizens and the department’s officials. These challenges can be easily solved using a modern information system that can provide access to information. However, there are many end users who again are based in different locations and have different preferences. Thus a flexible and mobile deployment structure is needed to satisfy the parties involved reason the cloud solution is outlined. Now, this paper analyses the development of this system based on the demands made.
As outlined by the project’s requirements, the proposed system should be able to solve the problems faced by the health department i.e. maintaining patient’s records, provide solutions for demographic issues, outline the available medications and give pointers in terms of notes for clinically related issues. To meet these objectives it must possess certain attributes or characteristics so as to satisfy the desires of the end users. These are the system qualities.
While they may not affect the core of the system, non-functional requirements highlight the interaction between the system and the end users (Microsoft, 2017). Therefore, these requirements are judged based on how they fulfil the desires of the system participants. This outcome presents a considerable challenge owing to the number of people envisioned to use the said system i.e. too many preferences to consider. Nevertheless, the following requirements are key for the design process.
- Usability– a measure of the practicality of the system where users can have a satisfactory engagement. To meet this outcome, the system must be simple, intuitive and global in its functionalities.
- Performance– the system’s ability to facilitate the actions of the users, it’s, therefore, a gauge of response based on the functionalities and operations the system can achieve.
- Reliable– an accountability measure, in that the system should be dependable in its operation despite the changes experienced, for instance, changes in deployment platforms or even the supporting information (Taylor, 2000).
- Security– a requirement highlighted as a key determinant of the development process chosen. Essentially, the data stored by the system should be protected and only accessed by the legitimate users of the system (Ryerson, 2017).
Visual feedback is the key to a good user interface, this feedback depicts friendly engagement with the end user based on the design outlook. Therefore, based on the design, the proposed system should be able to provide the expected feedback to the user based on the inputs given. Now, an optimal user interface should have the following qualities:
- Accessible– the system should adapt to all platforms to offer easy access to the user.
- Consistent– the performance of the system should never deviate from the optimal range.
- Aesthetic– appealing to the eyes of the users more so, based on the layout and design of components (Ryerson, 2017).
Non-Functional Requirements
UI outlines the implementation and deployment of the system requirements including components such as colour, background and buttons among many others. These components are implemented based on the evaluations conducted on the end users (Goldsmith, 2017).
- Background- will be characterised by basic colours having a configurable outcome. Moreover, an image having the health attributes will be incorporated for aesthetic purposes.
- Colour– as different users have varying preferences, a wide range of system colours will be provided having a configurable functionality for adjustment purposes as needed by the end user.
- Font colour– the good practices of interface design advocate for contrasting factors between background and fonts. Therefore, the font colours will be designed to contrast the background, mostly using dark fonts.
- Font size– since the records in the system are accessed by different individuals, the font size will also be adjustable but with a minimum size of 11 (Microsoft, 2017).
This system will cover an entire department, facilitating the management of information. Therefore, on top of meeting the implementation challenges, the system will have to contend with the following constraints:
- Technical constraints; Programming language– once a specific language is chosen for development, the system is stuck with it for the entire development process.
Operating system – the system must work on all platforms from Windows to IOS or it deemed to have failed.
- Business constraints;Software licencing restrictionswhich limit an organisation to certain functionalities.
Budget and schedule – the project must stick with the budget and timeline given which amounts to a lot of pressure for the developers (Microsoft, 2017).
‘My Health Record’ should keep track of health records by managing people’s medical information similar to the physical files that outline the history and present time info. For it to accomplish this task the user must actively see these records at present time i.e. a real-time system is needed. A cloud solution provides resources mostly IT infrastructure that can readily present the system’s information to the end user. Moreover, it lowers the cost of establishing and maintaining these resources a challenge faced by the Commonwealth Government. (Harding, 2017). Below is an evaluation of cloud solutions based on its benefits and risks.
- First and most obvious is the cost efficiency as a result of the minimal costs used to set-up IT resources.
- Secondly, the operational benefits i.e. flexibility and mobility facilitated by the availability of the resources.
- System resilience where based on the redundancy measures installed by the service provider, the solutions are always available.
- Finally, cloud solution provides an insight into future technologies as its services are diverse and can adapt to any technological changes (Level cloud, 2017).
- Like any other resource offered by the internet, cloud solutions face many security threats based on the liabilities seen in the digital environment. Moreover, it’s hard to guarantee the safety of information when data is stored in remote locations.
- Technical hitches are another risk associated with cloud solutions as their services are offered by the internet whose resource may vary based on the supporting systems e.g. insufficient bandwidth will result in downtimes and delays.
- Loss of resource control, where the end users are unable to track their resources when deployed online (Fernández-Cardeñosa, Torre-Díez & López-Coronado, 2015).
To enact solutions that meet the needs of the end users, strategic plans are required to implement the user requirements. These plans will involve the identification of the development parameters as well as the implementation process itself. Now, SDLC highlights the procedure of developing a system based on a certain set criterion (Bender RBT Inc., 2013). Based on this definition it’s clear to see that several methods can be used to develop systems based on the resources, requirements and priorities given among many other factors. Some of these methods will have predictable procedures that never changes regardless of the requirements given. While others will continuously adapt and change based on the requirements given. These variations result in the two approaches outlined in this section i.e. predictive and adaptive SDLC.
As outlined above, this approach will use predictable procedures to implement a system based on prior assessments that establish the requirements and resources available. Therefore, during the development process, a consistent guideline is followed without any significant changes. Furthermore, this guideline or procedure will flow in a logical manner based on the implementation stages identified at the start of the process. Thus a systemic approach that uses a sequential execution of development stages is given and used (MSB, 2011).
System Interface
Based on this outline, one important development aspect is identified, there is never any room for changes regardless of the conditions given. If the system experiences changes, for instance, in requirements and even personnel, the entire development process must be repeated from the start as these changes present new development plans that collide with the existing ones. Most resources will give the Waterfall model as an example of this approach as it outlines all the operating principles of the predictive method.
- To meet it’s strategic and consistent outline stringent documentation is needed which makes it accountable.
- It’s a simple process that is easy to implement.
- Having all the requirements outlined makes it easy to estimate budgets and timelines.
Cons
- Most obvious, lack of flexibility as any changes results into a new development procedure.
- Time-consuming as all development stages are dependent on each other thus cannot be executed concurrently.
- An uncertain approach having many unknown variables (Gupta, 2014).
Following a modernised and agile approach, this development method will follow a consistent outline which unlike the predictive approach will always accommodate changes. In essence, an adaptive approach will split the development process into several sections which are then implemented at the same time. These sections are based on the functional requirements which outline the approach needs for specialised expertise. In the end, the approach will then combine these development sections into the final system that will contain all the requirements given at the start of the process (MSB, 2011).
In the assembly process i.e. combining the development sections, iterative techniques are used to continuously assemble varying initial solutions (prototypes). These prototypes will be obtained at the end of each development cycle and are used to test the functionalities of the system. These tests can be used to optimise the service and functionalities obtained as they are based on the user requirements who are an integral part of this approach (Cerritos, 2011).
Pros of the approach
- It’s a user-centred approach which guarantees the user requirements are met and satisfied.
- Secondly, it iterative development techniques optimises the solutions obtained which can be used to improve the non-functional requirements.
- Thirdly, its flexible thus can accommodate any development changes, from technological adjustments to requirement changes (Mikoluk, 2013).
Cons
- It requires a lot of expertise, which is an expensive outcome.
- It’s also hard to predict the timelines as changes in the development cycle may continuously alter the timelines (Stoica, Mircea, & Ghilic-Micu, 2013).
Let’s evaluate the requirements given by the project, first, the system needs to meet the overall operational requirements of providing health records to the patients and medical practitioners. Moreover, the same system is used for other roles by other officials in the same department. In addition to this, the system must meet their individual requirements to suit their needs i.e. usability. Finally, it must link with the cloud resources so as to extend its availability and accessibility. The predictive approach will not meet these requirements, for one, it’s too rigid to meet varying requirements as set by the users (Utexas, 2017). Secondly, it requires a halt in technology an outcome unseen today (Kommalapati & Zack, 2011). An adaptive approach, on the other hand, is agile and will accommodate all the changes seen in the development cycle. Furthermore, it’s user-centred which facilitates the users’ requirements.
Conclusion
Although the objectives and requirements of the system are given, the project outlined by the system seem to hold a long term goal and thus will have other extended requirements. These extended requirements will result in multiple changes in the development cycle which must be accommodated with the utmost convenience so as to optimise the resources available. On the other hand, the same system is set to link with cloud resources which will improve its availability and accessibility. However, this integration is dependent on the system developed based on the implementation process. Thus an agile approach (adaptive) would not only cater to the needs of the users but also those of the cloud solutions which tend to change with time.
References
Baylor. (2013). Cloud storage. Non-profit Technology Collaboration. Retrieved 17 April, 2017, from: https://www.baylor.edu/business/mis/nonprofits/doc.php/197132.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
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
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
Gupta. N. (2014). Project Management Life Cycle-Iterative & Adaptive. IZenBridge. Retrieved 24 January, 2017, from: https://www.izenbridge.com/blog/project-management-life-cycle-iterative-adaptive/
Kathuria. K. (2011). Software Development Lifecycle and Cloud Computing. Scribd. Retrieved 24 January, 2017, from: https://www.scribd.com/document/37345932/SDLC-and-Cloud-Computing
Kommalapati. H & Zack. W. H. (2011). The SaaS Development Lifecycle. InfoQ. Retrieved 24 January, 2017, from: https://www.infoq.com/articles/SaaS-Lifecycle
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/
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
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
Mikoluk. K. (2013). Agile vs. Waterfall: Evaluating The Pros and Cons. Udemy blog. Retrieved 24 January, 2017, from: https://blog.udemy.com/agile-vs-waterfall/
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
Utexas. (2017). The System Development Life Cycle. Retrieved 19 May, 2017, from: https://utexas.instructure.com/courses/1166782/files/38198507