Desired Quality Characteristics in Cloud Application Development Leah Riungu-Kalliosaari.

Slides:



Advertisements
Similar presentations
DELOS Highlights COSTANTINO THANOS ITALIAN NATIONAL RESEARCH COUNCIL.
Advertisements

Trust Management of Services in Cloud Environments:
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
Software Testing in the Cloud Leah Riungu-Kalliosaari.
THE PROCESS OF INTERACTION DESIGN
Part 1: Introducing User Interface Design Chapter 1: Introduction –Why the User Interface Matters –Computers are Ubiquitous –The Importance of Good User.
The Process of Interaction Design. Overview What is Interaction Design? —Four basic activities —Three key characteristics Some practical issues —Who are.
The Process of Interaction Design
What is Cloud Computing? o Cloud computing:- is a style of computing in which dynamically scalable and often virtualized resources are provided as a service.
The Process of Interaction Design. What is Interaction Design? It is a process: — a goal-directed problem solving activity informed by intended use, target.
Applying the ISO RM-ODP Standard in e-Government B. Meneklis 1, A. Kaliontzoglou 2,3, D. Polemi 1, C. Douligeris 1 1 University of Piraeus, Department.
University of Jyväskylä – Department of Mathematical Information Technology Computer Science Teacher Education ICNEE 2004 Topic Case Driven Approach for.
Chapter 8: Development of Business Intelligence
Cloud Usability Framework
1 User Interface Design CIS 375 Bruce R. Maxim UM-Dearborn.
SaaS, PaaS & TaaS By: Raza Usmani
Cloud Computing Guide & Handbook SAI USA Madhav Panwar.
SPRING 2011 CLOUD COMPUTING Cloud Computing San José State University Computer Architecture (CS 147) Professor Sin-Min Lee Presentation by Vladimir Serdyukov.
The Many Contexts of Software Architecture
Plan Introduction What is Cloud Computing?
CLOUD COMPUTING. A general term for anything that involves delivering hosted services over the Internet. And Cloud is referred to the hardware and software.
* Who we are? * Animation Industry, Challenges… * What is Render Cloud Farm? * Render Cloud Farm for Whom? * Scope of Blender? * Types of Rendering farms.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
PLUG IT IN 4 Cloud Computing. 1.Introduction 2.What Is Cloud Computing? 3.Different Types of Clouds 4.Cloud Computing Services 5.The Benefits of Cloud.
Introduction to Cloud Computing
3 Cloud Computing.
Metadata for the Cloud Telco Motivation presentation to ISO/IEC JTC1 SC32 WG2 Ewelina Szczekocka, Orange Labs Poland, Telekomunikacja Polska S.A. 25th.
Technology Guide Three Cloud Computing. Plug IT In OUTLINE TG 3.1 Introduction TG 3.2 What Is Cloud Computing? TG 3.3 Different Types of Clouds TG 3.4.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Software to Data model Lenos Vacanas, Stelios Sotiriadis, Euripides Petrakis Technical University of Crete (TUC), Greece Workshop.
Software testing and development for intended quality Tero Pesonen.
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
Design Science Method By Temtim Assefa.
Chapter 9 Developing an Effective Knowledge Service
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
©2011 1www.id-book.com The process of interaction design Chapter 9.
System Analysis of Virtual Team Collaboration Management System based on Cloud Technology Panita Wannapiroon, Ph.D. Assistant Professor Division of Information.
Other Quality Attributes Other Important Quality attributes Variability: a special form of modifiability. The ability of a system and its supporting artifacts.
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
Plan  Introduction  What is Cloud Computing?  Why is it called ‘’Cloud Computing’’?  Characteristics of Cloud Computing  Advantages of Cloud Computing.
2009 Federal IT Summit Cloud Computing Breakout October 28, 2009.
What is the cloud ? IT as a service Cloud allows access to services without user technical knowledge or control of supporting infrastructure Best described.
Using SaaS and Cloud computing For “On Demand” E Learning Services Application to Navigation and Fishing Simulator Author Maha KHEMAJA, Nouha AMMARI, Fayssal.
Enabling the Future Service-Oriented Internet (EFSOI 2008) Supporting end-to-end resource virtualization for Web 2.0 applications using Service Oriented.
Company small business cloud solution Client UNIVERSITY OF BEDFORDSHIRE.
HUSKY CONSULTANTS FRANKLIN VALENCIA WIOLETA MILCZAREK ANTHONY GAGLIARDI JR. BRIAN CONNERY.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
CLOUD COMPUTING. What is cloud computing ??? What is cloud computing ??? Cloud computing is a general term for anything that involves delivering hosted.
Architecture & Cybersecurity – Module 3 ELO-100Identify the features of virtualization. (Figure 3) ELO-060Identify the different components of a cloud.
CLOUD COMPUTING RICH SANGPROM. What is cloud computing? “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
CLOUD COMPUTING WHAT IS CLOUD COMPUTING?  Cloud Computing, also known as ‘on-demand computing’, is a kind of Internet-based computing,
Cloud Computing 3. TECHNOLOGY GUIDE 3: Cloud Computing 2 Copyright John Wiley & Sons Canada.
INTRODUCTION TO CLOUD COMPUTING. CLOUD  The expression cloud is commonly used in science to describe a large agglomeration of objects that visually appear.
Chapter 2 Object-Oriented Paradigm Overview
Unit 3 Virtualization.
CLOUD ARCHITECTURE Many organizations and researchers have defined the architecture for cloud computing. Basically the whole system can be divided into.
BIL 424 NETWORK ARCHITECTURE AND SERVICE PROVIDING.
The process of interaction design Chapter
The Systems Engineering Context
Cloud Computing Kelley Raines.
Chapter 18 MobileApp Design
Introduction to Cloud Computing
Cloud Computing.
Information Technology (IT)
3 Cloud Computing.
Cloud Computing: Concepts
THE PROCESS OF INTERACTION DESIGN
Done by:Thikra abdullah
Tomaž Špeh SURS TF SERV, Luxembourg,
Presentation transcript:

Desired Quality Characteristics in Cloud Application Development Leah Riungu-Kalliosaari

Contents  Introduction  Research process  Findings  Conclusion  Standardization of Cloud Computing

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,

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)

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

Introduction  Aim: evaluate important product quality characteristics as perceived by organizations developing cloud applications  ISO/IEC  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

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

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

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.

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)

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.

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)

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

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

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

Standardization of Cloud Computing

 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   Finnish Standards Association SFS Mirror committee SR310  Chair: Tuomas Nurmela  Secretary: Elina Huttunen (contact at if interested)  Currently 25 members, most active 5-6 persons

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

Views of the Reference Architecture

Relationship: User / Functional view

Core Roles

Layering of the Functional view