Tuesday, May 5, 2020

Adaptive and Predictive Methodologies †Free Samples to Students

Question: Discuss about the Adaptive and Predictive Methodologies. Answer: Introduction Cloud-based solutions enable organizations to manage their IT resources online systems that require minimal physical infrastructures. In essence, the virtualization of resources is the overall defining component of this technology. Nevertheless, the terms that describe this technology evolved recently but the functionalities and operational objectives of the technology have always existed since the inception of information technology(QG, 2017). In essence, cloud solutions represent any access to online resources or information through virtualized networks. Therefore, in the case study at hand, the project proposes a system that will utilize the resources of cloud solutions more so, storage which seems to be a challenging aspect of deploying the envisioned system. Now, a lot of benefits can be experienced when using the cloud technology, most notably the saving of the overall implementation cost of IT infrastructure. In light of this and other benefits, this paper reviews cloud techno logies and how they can be integrated with the proposed system. The paper also highlights some of the non-functional requirements of the application and even the development process, which can take several different procedures. Previously, the functional elements of the system were highlighted where the different capabilities and requirements that needed to meet these functions were given. However, this section steps away from the operational elements of the application and focuses on the user constraints that may limit these functionalities(Terzakis, 2012). These elements include the factors that affect the systems behaviour when their subjection to external force i.e. the users. Therefore, the non-functional requirements will determine the design of the application based on interaction needs of the end user. For instance, to improve the system performance and usability, a simple system will be needed. At the same time, the integrity of the systems feature will determine its security attributes. Modern systems are developed using user-centred procedures in order to enhance the attributes of the non-functional requirements(Ameller Ayala, 2013). In essence, the developer aims to increase the interaction with the end user by facilitating its performance, resilience and usability. Now, some qualities will determine this outcome and they are: System integrity for consistency in performance, the elements of the system such as data must maintain their original developers specification. Accessibility accessing the system through the various user platforms should not be an issue, be it a PC or mobile device. Manageability and maintainability the user should not have to invest extensive resource to maintain the system usability and performance, instead, it should occur seamlessly(Wirfs-Brock Yoder, 2012). To enhance their practicality and performance, most systems will have different sections that perform a wide range of functionalities(USDA, 2017). The elements that link these sections are the system interfaces and they too must align with some requirements i.e.: Coherence the ability to offer a consistent performance to both elements of a system having a logical and systemic connection. Stability arguably the most significant requirement as it will determine the interaction of the linked system as supported by the system interface(IFE, 2017). User interface A system is often judged by the state of its GUIs (graphical user interfaces) as they propagate the interaction itself. Therefore, their design needs to consider the factors that will promote the ideal elements of non-functional requirements i.e. usability, performance, security and reliability(Android, 2017). Simplicity and clarity the interface should have a simple layout that does not stress the user when locating certain functionalities. A simple and clear design will facilitate an optimal interaction. Conciseness the interface should only have the necessary functionalities without any other extensive elements that confuse the users. Integrity now, security features such as login IDs and passwords will ensure the integrity of the system is maintained. Moreover, they will maintain the users confidence in the applications capabilities(W3, 2017). These are the requirements that will restrict the functionalities of the system based on their defining factors that induce operational limitations. For instance, the budget of the Headspace project will cause the developer to limit some functionalities. Moreover, the deployment environment e.g. the cloud may use certain standards that will restrict operations to them(Ameller Ayala, 2013). Cloud-based solutions System collaboration is a key benefit of cloud-based solutions as it enables an organization or users to communicate and share resources using public channels. Now, this collaboration may depend on the service leased from the service provider, who based on their infrastructure will offer a number of resources(Rajurkar, 2016). Now, although the benefits of cloud technology may vary based on the service models, their general attributes will yield similar features to the end users. Lets highlights some of these features this technology in the form of strengths and weaknesses. The flexibility of resources unlike the traditional resources (in-house facilities), cloud resources are not stationary. They are agile in nature having the ability to move from one location to another while using the available networks. Extended availability of resources regardless of the device, platform or even location, cloud solutions can be accessed so long as the users have a sufficient internet connection. Finally, cost reductions an important and vital aspect of cloud technology has it substantially minimizes the cost of implementing IT resources such as storage and computing infrastructure(QuinStreet, 2013). Weaknesses Users security and privacy by agreeing to migrate their resources to a cloud facility, the subscribers inherently transfer their control to the service provider. Therefore, the security and privacy of their resources cannot be guaranteed. Internet downtime accessing cloud resources requires the users to have a sufficient internet connection. When this requirement is not met, the user experience extended difficulties in accessing the cloud resources. As a general precaution, the most sensitive information should not be stored in the cloud facilities as the institution cannot guarantee its safety. However, for the rest of the data, security features that will encapsulate the elements of encryption, authentication and authorization will have to be used. For one, the communication channels (access networks) will require end-to-end encryption (E2EE) to protect the infrastructures integrity(Aerohive, 2015). This process will be done using a variety of protocols including the secure virtual private networks (VPNs). Secondly, accessing the cloud resources should be personalized based on verifiable user accounts. This requirement will maintain accountability and minimize intrusion instances. Finally, the users (Headspace staff) must be sensitized on the security precautions of cloud technologies as their negligence may account for the biggest data security problems. SDLC (system development life cycle) approach and methods A strategic plan is necessary when implementing a system, this plan outlines the requirements and development stages which when combined give the final solution having all the envisioned functionalities. SDLC defines the general process of designing a software or application system where all the necessary parameters are extensively documented and followed. In essence, SDLC will represent a procedure that will have phases such as planning, designing and implementing structures(Franchitti, 2014). This procedure will ensure that all the necessary requirements of the system are satisfied by the final solution. Now, based on the requirements several methods can be used to arrive at the final solution as discussed below. This approach represents the original method of deploying software solutions where small systems and minimal user requirements facilitate the predictability of the process. In all, the approach will follow a systematic and sequential procedure to implement the necessary package. This procedure will have consistent stages of development where each respective phase will be deployed independently to meet some subsidiary objective(Okoli Carillo, 2010). Furthermore, the approach will only run the development phases one at a time, an outcome that will necessitate signoff procedures to clear each development stage. Therefore, a given stage of development will only take place after the developers are satisfied with the outcome of the preceding phase. Pros of the approach Its convenient for small projects as they usually have minimal requirements which enable the developers to predict the development process. Its predictable structure defines a simple procedure that is easy to follow during the implementation process. The approach also requires minimal resources due to its simplicity and predictability(Bender, 2003). This approach is characterized by a rigid process that never adapts to any change, this outcome minimizes its application in extensive projects as they experience many drastic variations. Secondly, it strict requirement of following a sequential plan increases the time of developing a system. Adaptive SDLC method This approach rewrites the rules of the predictive approach by designing systems through a flexible approach that creates room for any change. Therefore, the system does not predict the requirements and neither does it outline a stringent implementation procedure. Now, to satisfy these requirements, the approach will split the design process into several phases. These phases will then be implemented independently and even concurrently if needed(Bhalerao, Puntambekar, Ingle, 2009). Therefore, the users or developers may not follow a sequential plan to arrive at the final solutions. Now, having implemented the individual phases, the approach will then collaborate their functionalities to produce the overall system. This collaboration procedure will apply iterative techniques that will repetitively produce different solutions in an effort to optimize the final system. Advantages of the approach Flexibility, agility and scalability of requirements despite the stage of development. Secondly, it optimizes the resources in use as the developers can change the requirements to fit the resources available. This benefits also extend to the time of development which can be adjusted. Furthermore, it focuses on the non-functional requirements, an outcome that generally achieves the users requirements. Disadvantages It requires a lot of investment i.e. monetary and other implementation resources. Moreover, on some occasion, it does extend the deployment timelines as it tries to accommodate the changes highlighted(Meso Jain, 2010). The Headspace project contains many substantial requirements that essentially will require an agile approach to satisfy them. Among these requirements are the extensive non-functional requirements that will be determined from a large group of people having different preferences. Moreover, the cloud facilities and their integration into the developed system will require extensive functionalities which will regularly require the developers to change the elements of the in-house system. Finally, the project aims to extend the functionalities of the system to the healthcare industry after a successful implementation in the organization at hand(Meso Jain, 2010). The adaptive approach is the only method that can satisfy these requirements based on the analysis that is given above. Conclusion Through this report, the elements, benefits and drawbacks of cloud solutions have been given. In general, cloud resources seem to decrease the overall cost of deploying the proposed system by facilitating the deployment of the systems infrastructure. Moreover, the same resources will also increase the availability and accessibility of the Headspace system. At the same time, the organization must be wary of the security limitations of the technology as they may affect the integrity of the system thus compromising the objective of the project. Nevertheless, the technology does present a suitable solution for the problems facing the organization, an outcome that will most likely lead to its implementation. References Aerohive. (2015). THE BENEFITS OF CLOUD NETWORKING . Aerohive networks, Retrieved 04 October, 2017, from: https://media.aerohive.com/documents/1685209674_Aerohive-Whitepaper-Cloud-Networking.pdf. Ameller, D., Ayala, C. (2013). Non-functional Requirements in Architectural Decision Making. TWIN PEAKS, Retrieved 04 October, 2017, from: . Android. (2017). User Interface . Android developer, Retrieved 04 October, 2017, from: https://developer.android.com/guide/topics/ui/index.html. Bender, R. (2003). Systems Development Life Cycle: Objectives and Requirements. Retrieved 04 October, 2017, from: https://www.benderrbt.com/Bender-SDLC.pdf. Bhalerao, S., Puntambekar, D., Ingle, M. (2009). Generalizing Agile Software Development Life Cycle. /International Journal on Computer Science and Engineering, Retrieved 04 October, 2017, from: https://www.enggjournals.com/ijcse/doc/IJCSE09-01-03-19.pdf. Franchitti, J. (2014). Software Development Life Cycles (SDLCs). Adaptive Software Engineering, Retrieved 04 October, 2017, from: https://www.nyu.edu/classes/jcf/g22.2440-001_sp09/slides/session3/g22_2440_001_c31.pdf. IFE. (2017). Systems and Interface Design (SID). Safety Man- Technology- Organisation, Retrieved 04 October, 2017, from: https://www.ife.no/en/ife/departments/system-and-interface-design. Meso, P., Jain, R. (2010). AGILE SOFTWARE DEVELOPMENT: ADAPTIVE SYSTEMS PRINCIPLES AND BEST PRACTICES. CONTEMPORARY PRACTICES IN SYSTEMS DEVELOPMENT, Retrieved 04 October, 2017, from: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.534.3694rep=rep1type=pdf. Okoli, C., Carillo, K. (2010). The best of adaptive and predictive methodologies: Open source software development, a balance between agility and discipline. Retrieved 04 October, 2017, from: https://chitu.okoli.org/media/pro/research/pubs/OkoliCarillo2010IJAESD.pdf. (2017). Benefits of cloud computing. Business queensland, Retrieved 04 October, 2017, from: https://www.business.qld.gov.au/running-business/it/cloud-computing/benefits. QuinStreet. (2013). 5 Reasons to Consider SaaS for Your Business Applications. Datamation, Retrieved 04 October, 2017, from: https://www.oracle.com/us/solutions/cloud/saas-business-applications-1945540.pdf. Rajurkar, A. (2016). 7 Features of Cloud Computing that give your Business the Edge! Retrieved 04 October, 2017, from: https://www.bodhost.com/blog/features-of-cloud-computing/. Terzakis, J. (2012). Specifying Effective Non-Functional Requirements. Intel, Retrieved 04 October, 2017, from: https://www.iaria.org/conferences2012/filesICCGI12/Tutorial%20Specifying%20Effective%20Non-func.pdf. USDA. (2017). Design System Interface. United States Department of Agriculture Farm Service Agency, Retrieved 04 October, 2017, from: https://www.fsa.usda.gov/online-services/sdlc/development-process/high-level-design/design-system-interface/index. W3. (2017). CSS3 User Interface. Retrieved 04 October, 2017, from: https://www.w3schools.com/css/css3_user_interface.asp. Wirfs-Brock, R., Yoder, J. (2012). Testing System Qualities. Wirfs-Brock Associates and The Refactory, Retrieved 04 October, 2017, from: https://www.agilealliance.org/wp-content/uploads/2016/01/TestingSystemQualities-Agile2012.pdf.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.