Functional Requirements
The Commonwealth Government of Australia undertakes the project under discussion, which aims at building an automated health record system to store and access patient’s data. This is undertaken in order to prevent the manual data keeping. This project will make it easier for both patients and the professional to access the health record information. The record of ‘My health Record System’ is to be stored in cloud and therefore, the security essentials of the cloud storage are needed to be kept in mind. The different security essentials include, the confidentiality, integrity and the availability of the data when required (Pearce & Bainbridge, 2014). Data security is an important aspect of cloud solution as with the increasing use of cloud storage and the concept of data mining, the information stored within the system is exposed to various security risks and therefore proper measures should be implemented to built a secure health record system. The relevant aspect of cloud solution, functional and non functional requirement of the project, along with the recommended SDLC approach of the project are elaborated in the following paragraphs (Steele, Min & Lo, 2012).
Functional requirements outline the specific behaviors or the functions that a system or project is needed to incorporate or perform. The functional requirements identified for this project are elaborated below-
1) Authentication- In order to make the process of data storage and data access more secure, this property is necessary need. This defines the members or the users who are allowed to access the system and prevents the unauthorized user from accessing the system (Jain, & Nandakumar, 2012). In is an important functional requirement as this acts as a boundary between the authorized and unauthorized access of data. Therefore, this can be considered as an important functional requirement of the project.
2) Authorization levels- This is essential to limit particular information to an authorized user only. The different authorization levels are needed to be set in order to ensure that only a correct individual is allowed to access the information.
3) Edit and Update Documents- Another important functional requirement is edit/ update document option. This gives the user or the patients to edit and update their health record documents.
4) Summary Record: This option is necessary to provide a summarized option of the health record and the details of the medications the patients had undergone over the years. This will help the professionals as well as the patients to review the medication they are undergoing. This will be a useful functional requirement of the project under consideration.
Non-Functional Requirements
The non-functional requirement is a requirement that specifies the criteria to be used in order to judge the operation of a system (Chung, Nixon & Mylopoulos, 2012). The non functional requirements in a project can be varied in number and helps in implementing the projects in a better way. The non-functional requirements that are needed to be considered for this project are listed below-
1) Functionality: One of the major non-functional requirements of this project is that the system to be developed will abide by the functionality of the system. The major functionality of the system is the storage of patients’ data in cloud in a secure manner.
2) Usability: Another major aspect of the system is its usability. The system be built should be usable to the patients as well as the professional.
3) Reliability: One of the primary aspects of the system is its reliability. The system is to be built in order to save the health information of the patients visiting different professional. The system therefore should be reliable enough in order to prevent any discrepancy with the stored data. Moreover, effective back option should be present for an easier data recovery if by any chance the data is lost from the system.
4) Performance: The system is to be built in order to automate the process of data storage and data access. The system should be able to impart great performance, as a number of professional will access the system. The access of data should be easier and data processing should be at high speed.
5) Supportability: The system under development should support all the essential features of a health record system. Moreover, the system should be flexible to offer features of testability and adaptability. Adaptability feature is essential in order to add new features to the existing health record system in future.
6) Security: Security measures are necessary to implement in this project, as the information of the patients is to be stored in cloud storage. Cloud storage is an effective means of data storage and enables an easy access of data. However, the cloud storage is exposed to a number of vulnerabilities that should be addressed with proper cryptographic means and encryption. This is essential in order to build a secure system (Kulkarni et al., 2012).
The different cloud environment are present which can be used and accessed according to the needs of the client. The different types of cloud environment are private cloud, public clod and the hybrid cloud. The public cloud is easiest to implement but has various security issues. In this environment, the information stored in the database is made accessible to public over internet and therefore this environment cannot be considered in this case (AlZain et al., 2012). Private cloud on the other hand provides similar advantages to that of private cloud but it is limited to an organization and the accessibility of data becomes quite difficult. This can be an alternative however; the access of data by different professionals becomes difficult. Hybrid cloud offers benefits of both public and private cloud. Hybrid cloud limits the accessibility of data only to the authorized persons and the accessibility of data to the authorized person becomes easier. Therefore, it is suggested that hybrid cloud environment to be used in this case (Li et al., 2013). Implementing hybrid cloud will help different professional access patients data easily and the security of the data is also maintained. The strength and weakness of hybrid cloud environment is elaborated in the following paragraphs (Galibus & Vissia, 2015).
Strengths and Weaknesses of Cloud-Based Solution
The strength of the hybrid cloud environment are listed below-
1) More secure than public cloud (Li et al., 2015)
2) Private and public cloud is streamlined in a single platform
The weaknesses of hybrid cloud environment are listed below-
1) Public and private zones can be targeted
2) Cost is high (Chen & Zhao, 2012)
The software development lifecycle divides the whole software development into a number of phases such as feasibility study, planning, project initiation, project planning and monitoring. The different SDLC approaches are elaborated in the following paragraphs-
This is a simple process of software development life cycle. In this approach, the phases of software development can be pre planned before or while the project initiation. This approach of Software development life cycle helps in completing the project in the given schedule. This is possible since the milestone, the project schedule is already planned, and the project is implemented by strictly following that plan. Therefore, the project does not suffer any gap in the phases and the project is completed within the schedule. The deliverable of every phase is decided at the beginning of the project and therefore, the project objective remains clear throughout the development phase (Tuteja & Dubey, 2012). This approach ensures that the project is implemented according to plan and therefore, addition of new properties or feature in the software to be developed is not possible. The pros and cons of the predictive SDLC approach are elaborated in the following paragraphs-
The advantages of predictive software development life cycle approach are elaborated below-
1) The project objective is clear in the predictive approach as the whole project is planned in the beginning.
2) The project requirements are stable and remain unchanged throughout the project execution phase.
3) The project progress can be properly tracked and measured since the project deliverable is clearly defined in the beginning of the project.
4) The project handover can be implemented within the schedule, as the deadline of the project generally remains unchanged during the execution of the project. The sign off requirements also remains after the completion of the project.
5) Risk avoidance is possible as the project requirements remain unchanged throughout the project and proper risk management is planned and implemented prior to the project initiation.
6) Since the project phases of the project is defined at the beginning of the project, documentation of the requirement and the project management plan becomes absolute necessary. Thus this approach promotes strong documentation control, which is strictly followed during the project implementation.
SDLC approach
The disadvantages of using predictive approach are listed below-
1) The project is planned at the initiation of the project and therefore further addition of different requirements is not possible, that is improvising the project during its implementation becomes impossible.
2)Feedback path is absent in this project and therefore, backward tracking of project becomes impossible.
3) This is a no iterative SDLC model and therefore, implementation of changes in the project execution is not possible.
While predictive approach mainly deals with development of software using traditional waterfall model, adaptive approach mainly deals with software development using agile product development methodology. This is an iterative model of software development life cycle and therefore, improvising the product in its implementation phase becomes possible (Balaji & Murugaiyan, 2012). The phases of the project although pre determined can be changed within the project execution phase as it offers feedback path.
The advantages of the adaptive SDLC model are listed below-
1) Client’s feedback is considered in adaptive software development life cycle
2) Unlike waterfall model, adaptive approach ensures thorough testing of every phases
3) The project can be updated or improvised even after development
The disadvantages of the adaptive SDLC model are listed below-
1) It becomes difficult to maintain a fixed deadline
2) The project requires increase supervision
My health record system is to be implemented by Australian government in order to make medical procedures easy and effective. Waterfall model is considered to be the best for development of a small sized product and therefore, it is recommended that predictive approach is to be used for developing the software within the schedule time (Mahalakshmi & Sundararajan, 2013).
Conclusion
Therefore, from the above discussion it can be concluded that, implementation of My Health record system is possible with proper project implementation. Use of hybrid cloud can eliminate the security issues associated with the system. The report discusses the functional and non-functional requirements of the system and suggests a proper approach of project implementation.
References
AlZain, M. A., Pardede, E., Soh, B., & Thom, J. A. (2012, January). Cloud computing security: from single to multi-clouds. In System Science (HICSS), 2012 45th Hawaii International Conference on (pp. 5490-5499). IEEE.
Balaji, S., & Murugaiyan, M. S. (2012). Waterfall vs. V-Model vs. Agile: A comparative study on SDLC. International Journal of Information Technology and Business Management, 2(1), 26-30.
Chen, D., & Zhao, H. (2012, March). Data security and privacy protection issues in cloud computing. In Computer Science and Electronics Engineering (ICCSEE), 2012 International Conference on (Vol. 1, pp. 647-651). IEEE.
Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2012). Non-functional requirements in software engineering (Vol. 5). Springer Science & Business Media.
Galibus, T., & Vissia, H. E. R. M. (2015). Cloud storage security. Proc NSCE, 2014, 123-127.
Jain, A. K., & Nandakumar, K. (2012). Biometric Authentication: System Security and User Privacy. IEEE Computer, 45(11), 87-92.
Kulkarni, G., Gambhir, J., Patil, T., & Dongare, A. (2012, June). A security aspects in cloud computing. In Software Engineering and Service Science (ICSESS), 2012 IEEE 3rd International Conference on (pp. 547-550). IEEE.
Li, J., Li, Y. K., Chen, X., Lee, P. P., & Lou, W. (2015). A hybrid cloud approach for secure authorized deduplication. IEEE Transactions on Parallel and Distributed Systems, 26(5), 1206-1216.
Li, Q., Wang, Z. Y., Li, W. H., Li, J., Wang, C., & Du, R. Y. (2013). Applications integration in a hybrid cloud computing environment: Modelling and platform. Enterprise Information Systems, 7(3), 237-271.
Mahalakshmi, M., & Sundararajan, M. (2013). Traditional SDLC Vs Scrum Methodology–A Comparative Study. International Journal of Emerging Technology and Advanced Engineering, 3(6), 192-196.
Pearce, C., & Bainbridge, M. (2014). A personally controlled electronic health record for Australia. Journal of the American Medical Informatics Association, 21(4), 707-713.
Rittinghouse, J. W., & Ransome, J. F. (2016). Cloud computing: implementation, management, and security. CRC press.
Steele, R., Min, K., & Lo, A. (2012). Personal health record architectures: technology infrastructure implications and dependencies. Journal of the Association for Information Science and Technology, 63(6), 1079-1091.
Tuteja, M., & Dubey, G. (2012). A research study on importance of testing and quality assurance in software development life cycle (SDLC) models. International Journal of Soft Computing and Engineering (IJSCE), 2(3), 251-257.