Abstract

Cloud applications, also known as software as a service (SaaS), provide advantageous features that increase software adoption, accelerate upgrades, reduce the initial capital costs of software development, and provide less strenuous scalability and supportability. Developing software with these features adds new dimensions of complexity to software development that conventional software development methodologies often overlook. These complexities necessitate additional efforts in the software development process to fully utilize cloud qualities (e.g., on-demand, pay-per-use, and auto-scalability). Cloud applications can utilize one or more of these qualities based on software and business requirements. It is noteworthy that present software methodologies (traditional and agile) are deficient to a certain extent in supporting cloud application qualities. In this chapter, therefore, we propose a systematic requirement engineering approach to address this deficiency and facilitate building SaaS with cloud qualities in mind. The proposed cloud requirements engineering approach relies on identifying the number of cloud qualities to be utilized in SaaS and consequently addresses any existing shortcomings. First, we examine different deployment approaches of a cloud application. We then identify the cloud applications’ qualities and highlight their importance in the cloud application development process. These qualities are used to derive additional considerations in the form of questions to guide software engineers throughout the requirement engineering process. We demonstrate how these considerations can be used in the requirement engineering process and how the proposed approach effectively produces high-quality cloud applications. This work advocates the need for a systematic approach to support cloud applications requirements engineering.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call