Download presentation
Presentation is loading. Please wait.
Published byGeorge Reynolds Modified over 9 years ago
1
Desired Quality Characteristics in Cloud Application Development Leah Riungu-Kalliosaari
2
Contents Introduction Research process Findings Conclusion Standardization of Cloud Computing
3
Introduction Software quality: functional and non- functional requirements Software quality is an elusive target (Blaine and Cleland-Huang, 2008) Achieving quality in software requires balancing between many factors e.g. budget, time, communication, outsourcing,
4
Introduction Cloud computing: on-demand access to computing resources. Three service layers: software-as-a-service (SaaS), platform-as-a-service (PaaS), infrastructure-as-a-service (IaaS) (Mell and Grance, 2011) Cost reduction, increase scalability, improve efficiency Cloud-based environments for developing and hosting applications Cloud applications are applications built, deployed and hosted in cloud environments (Hobfield, et. al, 2012)
5
Introduction Cloud application development Pre-defined architectural structures, resources, interfaces, service access and discovery mechanisms. Emphasis on certain requirements e.g. need for strict conformance, high interoperability
6
Introduction Aim: evaluate important product quality characteristics as perceived by organizations developing cloud applications ISO/IEC 25010 Product quality model: functional suitability, reliability, performance efficiency, usability, security, compatibility, maintainability, portability Quality in use model: effectiveness, efficiency, satisfaction, freedom from risk and context coverage
7
Research Process Research questions What quality characteristics do developers consider to be important for cloud-based applications? What activities support developers in achieving these quality characteristics? Qualitative case study Grounded Theory for analysis Five organizations: 1 Large, 1 Medium and 3 Micro
8
Categories Five categories Life-cycle model and tools: describes the software development life-cycle model and the tools used to produce the software. Waterfall, incremental, agile Software application: the type of software that the organization is developing. Case ACase BCase CCase DCase E Software application Cloud based test management service (SaaS) Web-based system for managing IT resources Amazon web services-based value adding service for Infrastructure as a Service (IaaS) Cloud-based application for an international social website integrated with the world’s most popular networks (SaaS) Web-based applications
9
Categories Important quality characteristics: most desirable aspects of quality These varied, but usability was common among all the cases Practices for handling requirements: mechanisms for handling requirements. Origin: From the developers themselves (Case B, C & D) and from the customer (Case A & E) Some problems Case D Functional system at first User preferences might affect the built-in functionality.
10
Categories Customer involvement: effect of the customer during the development life cycle. Case A & E: High levels of flexibility to accommodate different customer needs Case B & C: Customer not involved in developing the first product. Considered customer feedback to improve the applications Case D: Developing first version, customer not involved, (yet)
11
Observations Observation 1: The most important quality characteristics vary among the organizations, but usability was important in all the organizations Case A: Reliability, availability (quality of service) Case B: Usability, security when hosting in the cloud Security as well data integrity and confidentiality Conformance to and interoperability with cloud platforms “Because I'm using the [cloud] APIs … if the security could be breached, then that would first of all break the whole service, and second of all compromise my relationship with the platform [provider]. And that's the key quality issue that I'm worried about before I release the product” – Owner Case C Usability All organizations stated usability to be important.
12
Observations Observation 2: Agile development methods are preferred when developing cloud-based applications. Changes in the cloud platforms and user preferences affect the software applications Agile methods help in reacting to changes, and keeping up with evolving quality expectations Focus on most important features first Surprising: Customers more tolerant to errors. (Case C)
13
Observations Observation 3: Customer input is valued at different stages of the development. This depends on where the requirements come from. From customer (Case A & E): customer is involved from the start Customers not able to clearly state their needs From the developers (Case B & C), steady interaction with the customer after releasing the software Case D expects some changes after releasing the application
14
Observations Observation 4: The developers choose development tools according to their knowledge, skills and familiarity with the tools. Additional tools are chosen based on learnability, usability and appropriateness for the intended use. Case B: Improve the development process test management tool Case C: Cloud APIs conforming to platform-specific security requirements Case E: Drupal appropriate for building web-based applications
15
Conclusions Desired quality varied among the organizations Depends on the application Usability was important in all cases Good first impression Three activities employed to support the development Selecting a suitable life-cycle model Engaging the customer Applying the most suitable tools Cloud application development is a complex process. Interaction amongst stakeholders Requires aligning the development activities with the targeted quality
16
Standardization of Cloud Computing
17
Distributed application platforms and services ISO/IEC JTC1 / SC 38 WG 1 Web services WG 2 Service Oriented Architecture (SOA) WG 3 Cloud computing Study group on cloud computing http://www.iso.org/iso/jtc1_sc38_home Finnish Standards Association SFS Mirror committee SR310 Chair: Tuomas Nurmela Secretary: Elina Huttunen (contact at firstname.lastname@sfs.fi, if interested) Currently 25 members, most active 5-6 persons
18
Cloud Computing Reference Architecture The aim of the CCRA is to: Illustrate and understand cloud services in the context of an overall conceptual methodology Provide a technical reference to enable the international community to understand, discuss, categorize and compare cloud services Facilitate the analysis of candidate standards in areas such as security, interoperability, portability and service management and support analysis of reference architecture
19
Views of the Reference Architecture
20
Relationship: User / Functional view
21
Core Roles
22
Layering of the Functional view
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.