This document presents a collaborative requirement elicitation technique (CRETE) for software as a service (SaaS) applications. CRETE allows potential clients to view, vote on, and contribute requirements while the SaaS vendor compiles them into a combined requirements model. This addresses the challenges of eliciting common and variable requirements from a large number of separate clients. CRETE features a web-based interface where clients and vendors can create and evolve proprietary requirement models that are automatically combined.
WEB BUSINESS PLATFORMS ON
THE ‘CLOUD’ – AN ENGINEERING
PERSPECTIVE
Harshavardhan “Harsh” Jegadeesan
Business Suite Core
SAPLabs, India
As part of cloud symposium, at ACM Bangalore Compute 2009
Choosing the right Business Process Management Suite (BPMS) is not easy. To help your purchase evaluation and decision process, we created the BPMS Buyer’s Tool Kit with suggested questions you should ask when evaluating a BPMS. Here is Part 1: A Sample RFP for a Business Process Management Suite.
This document introduces the concept of Variability as a Service (VaaS) which allows Software as a Service (SaaS) providers to outsource variability management in their multi-tenant applications to VaaS providers. It presents the VaaS meta-model and architecture which defines the process of variability specification and execution between SaaS providers, tenants, and VaaS providers. SaaS providers can model variability in their applications using the VaaS meta-model and store it with a VaaS provider. Tenants then customize the application by selecting variants, with their choices stored in customization documents. At runtime, application variability is resolved by the VaaS provider using the variability model and customizations
Software as a Service (SaaS) for the Supply ChainSteve Keifer
This white paper offers an overview of the features and benefits of a SaaS model. It then discusses SaaS in the context of Supply Chain applications and B2B e-Commerce.
This document discusses three options for how SaaS vendors can integrate their applications with customers' internal systems: (1) the vendor provides integration services, (2) the vendor publishes a web services interface, or (3) the vendor refers customers to certified partners. It also notes that the right strategy depends on the vendor's stage of growth and maturity. Finally, it introduces Adeptia as an integration platform that can support all three options and help SaaS vendors address integration needs.
Pivotal CRM es la Solución CRM más Flexible del Mercado.
Con Pivotal CRM podrá definir procesos y reglas de gestión por cliente o grupos de clientes, para soportar y poder recoger, por ejemplo, reglas comerciales locales y globales, establecer ciclos de venta, gestionar reglas de "cross-selling" y "up-selling" o establecer niveles de atención a clientes.
The document describes a partner portal that allows companies to collaborate with partners. It provides partners with self-service access to submit tickets, check statuses, and access knowledge bases. The portal also allows companies to manage leads and opportunities with partners, providing a centralized system to track activities. Finally, the portal integrates with a company's overall CRM suite to provide a comprehensive partner management solution.
WEB BUSINESS PLATFORMS ON
THE ‘CLOUD’ – AN ENGINEERING
PERSPECTIVE
Harshavardhan “Harsh” Jegadeesan
Business Suite Core
SAPLabs, India
As part of cloud symposium, at ACM Bangalore Compute 2009
Choosing the right Business Process Management Suite (BPMS) is not easy. To help your purchase evaluation and decision process, we created the BPMS Buyer’s Tool Kit with suggested questions you should ask when evaluating a BPMS. Here is Part 1: A Sample RFP for a Business Process Management Suite.
This document introduces the concept of Variability as a Service (VaaS) which allows Software as a Service (SaaS) providers to outsource variability management in their multi-tenant applications to VaaS providers. It presents the VaaS meta-model and architecture which defines the process of variability specification and execution between SaaS providers, tenants, and VaaS providers. SaaS providers can model variability in their applications using the VaaS meta-model and store it with a VaaS provider. Tenants then customize the application by selecting variants, with their choices stored in customization documents. At runtime, application variability is resolved by the VaaS provider using the variability model and customizations
Software as a Service (SaaS) for the Supply ChainSteve Keifer
This white paper offers an overview of the features and benefits of a SaaS model. It then discusses SaaS in the context of Supply Chain applications and B2B e-Commerce.
This document discusses three options for how SaaS vendors can integrate their applications with customers' internal systems: (1) the vendor provides integration services, (2) the vendor publishes a web services interface, or (3) the vendor refers customers to certified partners. It also notes that the right strategy depends on the vendor's stage of growth and maturity. Finally, it introduces Adeptia as an integration platform that can support all three options and help SaaS vendors address integration needs.
Pivotal CRM es la Solución CRM más Flexible del Mercado.
Con Pivotal CRM podrá definir procesos y reglas de gestión por cliente o grupos de clientes, para soportar y poder recoger, por ejemplo, reglas comerciales locales y globales, establecer ciclos de venta, gestionar reglas de "cross-selling" y "up-selling" o establecer niveles de atención a clientes.
The document describes a partner portal that allows companies to collaborate with partners. It provides partners with self-service access to submit tickets, check statuses, and access knowledge bases. The portal also allows companies to manage leads and opportunities with partners, providing a centralized system to track activities. Finally, the portal integrates with a company's overall CRM suite to provide a comprehensive partner management solution.
The document discusses guidelines for versioning service contracts to enable reuse and compatibility between different versions of services and consumers. It argues that a versioning strategy is essential to achieve reuse and realize the business benefits of SOA. The key elements are:
1) Define machine-readable contract elements in WSDL that specify validation rules at runtime.
2) Establish compatibility rules between contract versions to determine if new versions are backwards/forwards compatible. Non-breaking changes result in minor versions while breaking changes require major versions.
3) Design message type schemas for extensibility using XML features like <xs:any> to enable forwards compatibility and allow unknown future extensions. Consumers must accept and ignore unknown elements.
Cloud definitions and market opportunitiesVik Bhambri
This IDC document provides a road map for cloud services opportunities for partners. It defines key cloud concepts including deployment models and service types. Public cloud services are forecast to grow substantially over the next few years, representing significant opportunities for partners across industries and geographies. The capabilities of cloud solutions allow partners to serve more customer segments and industries while generating recurring revenue streams.
The document discusses using OSGi for large enterprise applications. It notes that while OSGi R3 provided advantages, it had shortcomings for enterprise needs. Enhancements were made in R4 but gaps remained. The authors extended OSGi to address issues like multi-container support, declarative dependency management, and security. They joined an expert group to standardize solutions. Going forward, they plan to replace proprietary communication frameworks with SCA-compliant middleware and further drive OSGi enterprise extensions.
Ibm mobile strategy may2012 mark.cesario v1.0Mark Cesario
This is a slide deck that walks you through the latest IBM Mobile platform. Includes IBM WebSphere's Workllight mobile solution, IBM Rational CLM solution (specifically Rational Team Concert) and Rational Application Developer for a tightly knit mobile development environment.
Your practical reference guide to build an stream analytics solutionJesus Rodriguez
This paper presents an analysis of the stream analytics market based on real world experience. The paper presents practical viewpoints of stream analytic platforms like Apache Storm, Spark Streaming, Apache Samza, AWS Kinesis, Salesforce Thunder and Azure Stream Analytics
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS
provides software application as Web based delivery to server many customers. This sharing of
infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs,
minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is
generally developed with standardized software functionalities to serve as many customers as
possible.However many customers ask to change the standardized provided functions according to their
specific business needs, and this can be achieve through the configuration and customization provided by
the SaaS vendor.Allowing many customers to change software configurations without impacting others
customers and with preserving security and efficiency of the provided services, becomes a big challenge to
SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures
allow multiple customers to be consolidated into the same operational system without changing anything in
the vendor source code. In this paper, we will present how the configuration can be done on an ERP web
application in a Multi-Tenancy SaaS environment.
SOA - Enabling Interoperability And Business Agility March 2009Mike Wons
This document discusses service oriented architecture (SOA) and the challenges and benefits of adopting an SOA approach. It provides definitions of SOA and describes how SOA works by decomposing applications into services that can be composed together. The document outlines both the business challenges and technology challenges that SOA aims to address, such as brittle applications and inconsistent user experiences. It discusses how SOA enables greater business agility and flexibility compared to traditional application development approaches.
Cisco offers data center networking services to help customers:
1. Optimize existing data center networks and plan for future growth through assessments, architecture design, and optimization services.
2. Implement and migrate to new data center network architectures using tested best practices and validated designs to reduce risk.
3. Operate and continuously optimize networks through ongoing support, monitoring, and recommendations to improve availability, security and adapt to changing business needs.
The Finahub Kinship Platform is a customer engagement solution for retail brokers that addresses inefficient and costly customer management processes through a single cost-effective platform. It allows brokers to manage customers effectively, provide investment guidance cost-effectively, respond to queries efficiently, get feedback, and provide value-added services like research report publishing automation and model portfolios. Key features include private communities, user dashboards, automated report delivery, feedback loops, and social market research hubs. The platform aims to help brokers overcome challenges like high costs, low margins, customer acquisition and retention through improved engagement and service.
The document provides information about Value Added Services located in Kuala Lumpur, Malaysia. It lists recent solutions provided including customizations to CX CMS, NPX, SOI interfaces and servers. It provides contact information for inquiries and lists technical and training programs offered, including BSCS certified professional training, non-kernel solutions, and customizations to BSCS modules.
This document discusses semantic business process management (sBPM). It provides an overview of sBPM and the problem it addresses in bridging the gap between business processes and IT systems. It describes the sBPM lifecycle including modeling, configuration, execution, and analysis. Modeling involves semantically annotating business processes to enable capabilities like process discovery and composition. Configuration maps processes to executable specifications. Execution involves discovering and invoking semantic web services. Analysis monitors and improves processes using semantic queries of ontologies. The document presents examples of sBPM prototypes and concludes that semantics can help unify business and IT but requires additional effort.
This document discusses software as a service (SaaS) and proposes a quality model for assessing SaaS. It begins by reviewing related work on quality models for software and cloud services. It then identifies key features of SaaS, including reusability, data management by the provider, customizability, accessibility, quality, scalability, security, and multi-tenancy. The document describes the typical architecture of SaaS and proposes a quality model that examines security, quality of service, and software quality from the perspectives of the platform, provider, and customer. The quality model is intended to help both providers assess their services and customers evaluate which SaaS is best.
This document discusses licensing challenges posed by virtualization technologies and FlexNet Publisher's approaches to addressing them. It begins by outlining the types of virtualization and how they can impact licensing. It then lists questions software producers must answer regarding virtualization and licensing. Next, it summarizes the results of a survey of software producers on their virtualization policies and compliance quantification. The document concludes by describing FlexNet Publisher's virtualization roadmap, which allows producers to establish enforcement strategies based on trust levels and includes options like binding licenses to virtual machine containers or physical hardware.
This document proposes a framework called SLA-Based resource allocation to reduce infrastructure costs and minimize violations of service level agreements (SLAs) for Software as a Service (SaaS) providers. The framework maps customer requests to infrastructure parameters, handles dynamic changes in customer demands, and allocates virtual machines based on SLAs while considering heterogeneity of resources. The goal is to maximize the SaaS provider's profit by optimizing resource usage and reducing penalties from SLA violations when customers dynamically change resource sharing.
Visionet is a software services company established in 1995 with over 1,500 employees across multiple locations. It has a long track record of over 16 years providing software services, particularly in the retail, financial, and distribution industries. It offers capabilities across application development, maintenance and support, enterprise application integration, reporting and business intelligence, and portals and collaboration. Visionet has skills and experience in technologies from legacy systems to Java/J2EE, .NET, Oracle, and others.
The document discusses usage scenarios and patterns for enterprise service buses (ESBs). It provides an overview of how ESBs simplify connectivity between different applications and data formats. It then describes common usage patterns for ESBs, such as extending existing applications, connecting file and online systems, integrating remote devices, and getting the most from packaged applications. The document also discusses processing scenarios involving service virtualization, message-based integration, and event-driven integration. It provides examples of typical customer use cases.
The document presents PABRE, a method for facilitating requirements elicitation using a catalogue of requirement patterns. The method aims to save time and reduce errors during the elicitation process for selecting off-the-shelf software components. The method involves selecting relevant patterns from the catalogue based on the project needs and adapting them into a requirements book, which is then used for a call for tenders process to select software providers. The paper discusses the structure of the pattern catalogue, including metadata for each pattern and form, and the process used to develop the initial catalogue contents based on analyzing previous projects.
This document discusses communication challenges that arise during the requirements elicitation process for software projects. It classifies these challenges into four categories based on differences in the perspectives and experiences of users and analysts. The document then introduces the Repertory Grid technique as a way to help address these communication issues and facilitate shared understanding between users and analysts. It provides an example of how Repertory Grid was used in a case study of requirements elicitation for a complex data warehouse project.
The document discusses guidelines for versioning service contracts to enable reuse and compatibility between different versions of services and consumers. It argues that a versioning strategy is essential to achieve reuse and realize the business benefits of SOA. The key elements are:
1) Define machine-readable contract elements in WSDL that specify validation rules at runtime.
2) Establish compatibility rules between contract versions to determine if new versions are backwards/forwards compatible. Non-breaking changes result in minor versions while breaking changes require major versions.
3) Design message type schemas for extensibility using XML features like <xs:any> to enable forwards compatibility and allow unknown future extensions. Consumers must accept and ignore unknown elements.
Cloud definitions and market opportunitiesVik Bhambri
This IDC document provides a road map for cloud services opportunities for partners. It defines key cloud concepts including deployment models and service types. Public cloud services are forecast to grow substantially over the next few years, representing significant opportunities for partners across industries and geographies. The capabilities of cloud solutions allow partners to serve more customer segments and industries while generating recurring revenue streams.
The document discusses using OSGi for large enterprise applications. It notes that while OSGi R3 provided advantages, it had shortcomings for enterprise needs. Enhancements were made in R4 but gaps remained. The authors extended OSGi to address issues like multi-container support, declarative dependency management, and security. They joined an expert group to standardize solutions. Going forward, they plan to replace proprietary communication frameworks with SCA-compliant middleware and further drive OSGi enterprise extensions.
Ibm mobile strategy may2012 mark.cesario v1.0Mark Cesario
This is a slide deck that walks you through the latest IBM Mobile platform. Includes IBM WebSphere's Workllight mobile solution, IBM Rational CLM solution (specifically Rational Team Concert) and Rational Application Developer for a tightly knit mobile development environment.
Your practical reference guide to build an stream analytics solutionJesus Rodriguez
This paper presents an analysis of the stream analytics market based on real world experience. The paper presents practical viewpoints of stream analytic platforms like Apache Storm, Spark Streaming, Apache Samza, AWS Kinesis, Salesforce Thunder and Azure Stream Analytics
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS
provides software application as Web based delivery to server many customers. This sharing of
infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs,
minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is
generally developed with standardized software functionalities to serve as many customers as
possible.However many customers ask to change the standardized provided functions according to their
specific business needs, and this can be achieve through the configuration and customization provided by
the SaaS vendor.Allowing many customers to change software configurations without impacting others
customers and with preserving security and efficiency of the provided services, becomes a big challenge to
SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures
allow multiple customers to be consolidated into the same operational system without changing anything in
the vendor source code. In this paper, we will present how the configuration can be done on an ERP web
application in a Multi-Tenancy SaaS environment.
SOA - Enabling Interoperability And Business Agility March 2009Mike Wons
This document discusses service oriented architecture (SOA) and the challenges and benefits of adopting an SOA approach. It provides definitions of SOA and describes how SOA works by decomposing applications into services that can be composed together. The document outlines both the business challenges and technology challenges that SOA aims to address, such as brittle applications and inconsistent user experiences. It discusses how SOA enables greater business agility and flexibility compared to traditional application development approaches.
Cisco offers data center networking services to help customers:
1. Optimize existing data center networks and plan for future growth through assessments, architecture design, and optimization services.
2. Implement and migrate to new data center network architectures using tested best practices and validated designs to reduce risk.
3. Operate and continuously optimize networks through ongoing support, monitoring, and recommendations to improve availability, security and adapt to changing business needs.
The Finahub Kinship Platform is a customer engagement solution for retail brokers that addresses inefficient and costly customer management processes through a single cost-effective platform. It allows brokers to manage customers effectively, provide investment guidance cost-effectively, respond to queries efficiently, get feedback, and provide value-added services like research report publishing automation and model portfolios. Key features include private communities, user dashboards, automated report delivery, feedback loops, and social market research hubs. The platform aims to help brokers overcome challenges like high costs, low margins, customer acquisition and retention through improved engagement and service.
The document provides information about Value Added Services located in Kuala Lumpur, Malaysia. It lists recent solutions provided including customizations to CX CMS, NPX, SOI interfaces and servers. It provides contact information for inquiries and lists technical and training programs offered, including BSCS certified professional training, non-kernel solutions, and customizations to BSCS modules.
This document discusses semantic business process management (sBPM). It provides an overview of sBPM and the problem it addresses in bridging the gap between business processes and IT systems. It describes the sBPM lifecycle including modeling, configuration, execution, and analysis. Modeling involves semantically annotating business processes to enable capabilities like process discovery and composition. Configuration maps processes to executable specifications. Execution involves discovering and invoking semantic web services. Analysis monitors and improves processes using semantic queries of ontologies. The document presents examples of sBPM prototypes and concludes that semantics can help unify business and IT but requires additional effort.
This document discusses software as a service (SaaS) and proposes a quality model for assessing SaaS. It begins by reviewing related work on quality models for software and cloud services. It then identifies key features of SaaS, including reusability, data management by the provider, customizability, accessibility, quality, scalability, security, and multi-tenancy. The document describes the typical architecture of SaaS and proposes a quality model that examines security, quality of service, and software quality from the perspectives of the platform, provider, and customer. The quality model is intended to help both providers assess their services and customers evaluate which SaaS is best.
This document discusses licensing challenges posed by virtualization technologies and FlexNet Publisher's approaches to addressing them. It begins by outlining the types of virtualization and how they can impact licensing. It then lists questions software producers must answer regarding virtualization and licensing. Next, it summarizes the results of a survey of software producers on their virtualization policies and compliance quantification. The document concludes by describing FlexNet Publisher's virtualization roadmap, which allows producers to establish enforcement strategies based on trust levels and includes options like binding licenses to virtual machine containers or physical hardware.
This document proposes a framework called SLA-Based resource allocation to reduce infrastructure costs and minimize violations of service level agreements (SLAs) for Software as a Service (SaaS) providers. The framework maps customer requests to infrastructure parameters, handles dynamic changes in customer demands, and allocates virtual machines based on SLAs while considering heterogeneity of resources. The goal is to maximize the SaaS provider's profit by optimizing resource usage and reducing penalties from SLA violations when customers dynamically change resource sharing.
Visionet is a software services company established in 1995 with over 1,500 employees across multiple locations. It has a long track record of over 16 years providing software services, particularly in the retail, financial, and distribution industries. It offers capabilities across application development, maintenance and support, enterprise application integration, reporting and business intelligence, and portals and collaboration. Visionet has skills and experience in technologies from legacy systems to Java/J2EE, .NET, Oracle, and others.
The document discusses usage scenarios and patterns for enterprise service buses (ESBs). It provides an overview of how ESBs simplify connectivity between different applications and data formats. It then describes common usage patterns for ESBs, such as extending existing applications, connecting file and online systems, integrating remote devices, and getting the most from packaged applications. The document also discusses processing scenarios involving service virtualization, message-based integration, and event-driven integration. It provides examples of typical customer use cases.
The document presents PABRE, a method for facilitating requirements elicitation using a catalogue of requirement patterns. The method aims to save time and reduce errors during the elicitation process for selecting off-the-shelf software components. The method involves selecting relevant patterns from the catalogue based on the project needs and adapting them into a requirements book, which is then used for a call for tenders process to select software providers. The paper discusses the structure of the pattern catalogue, including metadata for each pattern and form, and the process used to develop the initial catalogue contents based on analyzing previous projects.
This document discusses communication challenges that arise during the requirements elicitation process for software projects. It classifies these challenges into four categories based on differences in the perspectives and experiences of users and analysts. The document then introduces the Repertory Grid technique as a way to help address these communication issues and facilitate shared understanding between users and analysts. It provides an example of how Repertory Grid was used in a case study of requirements elicitation for a complex data warehouse project.
Designing collaborative processes for requirementsRESGWorkshop
1) The document presents a collaborative pattern for facilitating user requirements elicitation workshops to help stakeholders agree on requirements.
2) The methodology uses Collaboration Engineering to design collaborative processes for recurring tasks. A pattern was designed using tasks diagnosis, decomposition, thinkLets choice, and validation.
3) The designed pattern language contains stages for scoping workshops to identify, analyze, define, prioritize, and agree to categorized user requirements.
Gamification in Software Testing (Nordic Testing Days 2016)Jana Gierloff
A journey on how to integrate an unused beta server into the development process by using gamification. To reach the goal to boost the quality of live releases we had to find a way to motivate the testers and providing some achievements. While certain game design mechanics are successfully used in our games why couldn't they also help to improve beta community testing? Going forward step by step by implementing missions, seasons and a leaderboard we managed to reduce the percentage of live issues from 50 to 25 percent and also got very dedicated testers.
This document discusses gamification in enterprise software. It begins by comparing key attributes of games versus work, then defines gamification as using game mechanics to engage users in solving problems. Examples of gamified systems like Nike+ and LinkedIn are provided. The document advocates gamifying enterprise software to engage digital native employees. It presents a player-centered design framework involving knowing players, identifying missions, understanding motivation, applying mechanics, and managing/measuring outcomes. Game mechanics like points, leaderboards, and badges are explained. The benefits of gamification in enterprises are increasing engagement and motivation.
This document provides an overview of Scrum, an agile software development method. Scrum emphasizes short development cycles called sprints that are used to deliver working software increments. It utilizes a backlog to track requirements and priorities. Daily stand-up meetings are held for the Scrum team to coordinate work and raise any obstacles. Functionality developed during a sprint is demonstrated to customers at the end to collect feedback.
This document discusses different approaches for eliciting requirements for software engineering projects, including collaborative requirement gathering, quality function deployment, elicitation work products, and prototyping. Collaborative requirement gathering involves stakeholders meeting to identify problems, propose solutions, and develop preliminary requirements. Quality function deployment identifies normal, expected, and exciting requirements to maximize customer satisfaction. Elicitation work products document the requirements elicitation process. Prototyping can help derive requirements and allow for an evolutionary or throwaway prototype approach.
The document discusses how crowdsourcing and crowdfunding could revolutionize public participation in urban planning and real estate development. Traditional public participation methods often result in low attendance or domination by louder voices, failing to represent the complete community. The document explores how open crowdsourcing models could engage more of the community and obtain diverse input. It also examines how crowdfunding could democratize investment and reduce costs. The future may see greater use of these new approaches to make public participation more inclusive and effective.
This document discusses requirements elicitation and analysis. It describes the components and stages of elicitation including understanding the problem domain, stakeholders' needs, and collecting requirements. Analysis techniques are discussed like necessity, consistency, and feasibility checking. Requirements elicitation involves iterative negotiation when conflicts arise. Various techniques are presented like interviews, scenarios, prototyping and observation to understand requirements.
Crowdsourcing challenges and opportunities 2012xin wang
The tutorial discusses crowdsourcing, including its definition, applications, platforms, and challenges. It provides examples of how crowdsourcing has been used in areas like image search, machine translation, and databases. The main platforms covered are Amazon Mechanical Turk and Crowdflower. Challenges and research opportunities in crowdsourcing are also examined.
The document discusses requirements elicitation techniques used in business analysis. It defines requirements elicitation as actively engaging stakeholders to understand their needs rather than just gathering requirements. The document outlines key techniques for each stage of the requirements elicitation process: prepare for elicitation, conduct elicitation, document elicitation results, and confirm elicitation results. Common individual and group techniques are described such as interviews, observation, brainstorming, prototyping and interface analysis.
Requirements gathering in information technology a cross-cultural perspectiveHasan Dwi Cahyono
This document discusses the importance of cross-cultural sensitivity in requirements gathering for IT projects. It notes that requirements gathering involves coordinating information from a diverse variety of sources, forcing IT specialists to deal with intercultural interactions. Developing concepts of openness, sensitivity and multiculturalism among project teams can lead to better system requirements and reduce misunderstandings. The document proposes enhancing intercultural communication and competence to improve the requirements gathering process in culturally diverse environments.
This affects the quality of software and increases the production cost of ... effectiveness of every method, it is useful to select the particular elicitation
http://www.imran.xyz
The document discusses requirements analysis, which involves understanding customer needs and expectations for a proposed system. Requirements analysis is necessary to ensure projects align with business goals and specifications. The requirements analysis process includes identifying system boundaries, customers, eliciting requirements through stakeholder interviews, analyzing requirements, documenting requirements in a specification, and managing evolving requirements. An effective software requirements specification establishes agreement between customers and developers on system functionality.
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
How can we take UX and Data Storytelling out of the tech context and use them to change the way government behaves?
Showcasing the truth is the highest goal of data storytelling. Because the design of a chart can affect the interpretation of data in a major way, one must wield visual tools with care and deliberation. Using quantitative facts to evoke an emotional response is best achieved with the combination of UX and data storytelling.
This document summarizes a study of CEO succession events among the largest 100 U.S. corporations between 2005-2015. The study analyzed executives who were passed over for the CEO role ("succession losers") and their subsequent careers. It found that 74% of passed over executives left their companies, with 30% eventually becoming CEOs elsewhere. However, companies led by succession losers saw average stock price declines of 13% over 3 years, compared to gains for companies whose CEO selections remained unchanged. The findings suggest that boards generally identify the most qualified CEO candidates, though differences between internal and external hires complicate comparisons.
International Journal of Computer Science, Engineering and Information Techno...ijcseit
This document discusses configuration in Software as a Service (SaaS) multi-tenancy environments. It begins by defining key cloud computing concepts like Infrastructure as a Service, Platform as a Service, and Software as a Service. It then discusses how multi-tenancy architectures allow multiple customers to use the same application instance. The document focuses on how enterprise resource planning (ERP) systems can be configured in a SaaS multi-tenant environment through tools that allow customizing stylesheets, images, scripts, text and more for each customer while maintaining a single application instance.
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS
provides software application as Web based delivery to server many customers. This sharing of
infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs,
minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is
generally developed with standardized software functionalities to serve as many customers as
possible.However many customers ask to change the standardized provided functions according to their
specific business needs, and this can be achieve through the configuration and customization provided by
the SaaS vendor.Allowing many customers to change software configurations without impacting others
customers and with preserving security and efficiency of the provided services, becomes a big challenge to
SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures
allow multiple customers to be consolidated into the same operational system without changing anything in
the vendor source code. In this paper, we will present how the configuration can be done on an ERP web
application in a Multi-Tenancy SaaS environment
1) The document discusses pricing and packaging strategies for software-as-a-service (SaaS) applications. It explores how pricing differs for SaaS compared to traditional on-premise software.
2) Key components of SaaS contracts include subscription models, pricing metrics, contract terms, billing, revenue recognition, service level agreements, and dynamic scaling.
3) Pricing and packaging strategies should be driven by business objectives such as growing the customer base, maximizing revenue, or differentiation. The strategies may differ depending on if it is a new SaaS startup or an existing company transitioning to SaaS.
Evaluation of a Framework for Integrated Web ServicesIRJET Journal
This document proposes and evaluates a framework for integrating web services. It begins by discussing how users appreciate simple, on-demand access to affordable software services without needing to install or update applications themselves. The document then presents an argument for a web-based architecture that allows users to access and purchase a wide range of software applications as needed. It evaluates this framework through user surveys and examples of simulation software services to demonstrate how the integrated framework can be implemented. The surveys found that the framework reduced costs, simplified processes, and improved the user experience by combining various online components and software services.
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAASijseajournal
This work is based on two major areas, the Multiview Service Oriented Architecture and the combination between the computing cloud and MV-SOA. Thus, it is suggested to extend firstly the service oriented architecture (SOA) into an architecture called MV-SOA by adding two components, the Multiview service generator, whose role is to transform the classic service into Multiview service, and the data base, this component seeks to stock all of consumer service information. It is also suggested to combine the computing cloud and Multiview Service Oriented Architecture MVSOA. To reach such combination, the
MVSOA architecture was taken and we added to the client-side a private cloud in SaaS and DaaS.
A FRAMEWORK FOR SOFTWARE-AS-A-SERVICE SELECTION AND PROVISIONINGIJCNCJournal
As cloud computing is increasingly transforming the information technology landscape, organizations and
businesses are exhibiting strong interest in Software-as-a-Service (SaaS) offerings that can help them
increase business agility and reduce their operational costs. They increasingly demand services that can
meet their functional and non-functional requirements. Given the plethora and the variety of SaaS
offerings, we propose, in this paper, a framework for SaaS provisioning, which relies on brokered Service
Level agreements (SLAs), between service consumers and SaaS providers. The Cloud Service Broker (CSB)
helps service consumers find the right SaaS providers that can fulfil their functional and non-functional
requirements. The proposed selection algorithm ranks potential SaaS providers by matching their offerings
against the requirements of the service consumer using an aggregate utility function. Furthermore, the CSB
is in charge of conducting SLA negotiation with selected SaaS providers, on behalf of service consumers,
and performing SLA compliance monitoring
Redefining ADCs for Software-as-a-Service Application Delivery that’s Scalabl... Array Networks
This document discusses application delivery controllers (ADCs) for software-as-a-service (SaaS) providers and how they differ from traditional enterprise ADCs. It outlines that SaaS ADCs need to be scalable, adaptable, affordable, and simple. It introduces Array Networks' APV series ADCs which use their SpeedCore architecture and SpeedPolicy engine to provide high performance scaling for Layer 7 traffic and SSL encryption without impacting affordability or manageability. The document contrasts the needs of SaaS versus enterprise networking and application delivery.
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET Journal
This document discusses transforming a traditional web application into a Software as a Service (SaaS) model using a multi-tenant architecture. It proposes an approach for developing a multi-tenant dental website that allows individual dentists to register for and customize their own unique instance of the site. The key aspects covered include a literature review on SaaS and multi-tenancy research, the proposed system architecture featuring tenant registration and customization, a database approach using tenant IDs to isolate data, and examples of the tenant-specific interfaces. The goal is to provide a reusable SaaS solution that eliminates the need for dentists to build and maintain their own individual websites.
Many small and medium scale industries could not afford the expensive enterprise software either
on premise or through Application Service Providers as it incurred heavy installations cost, maintenance cost.
Mean while the development of social, economic, increasing Internet technology lead to the evolvement of Cloud
computing Technology which allowed the users to share the resources across the Internet. This development brought
about a radical change in the computing technology posing new challenges as the requirements of the users kept on c
hanging frequently and such an installed Application Service Providers on the premise of the user made it difficult to
meet these changed user requirement. Thus the vendors developed a new architectural style based upon the
constructional forms and changing the way the functionalities are delivered to the user. This shift in the way of
delivery of software created a new business market. In this the user is freed from the need of installation of the
software thus shifting the maintenance cost to the vendor. This type of business model is termed as Software as a
service which is one-to-many model based on “on use pay” (subscription) basis. SaaS not much different from
traditional ASP has some SaaS specific functions added to it like registry, billing etc. This paper reviews th is
business model comparing it with the traditional ASP application and the Service Oriented Architecture. It describe
the life cycle of SaaS by covering its maturity model and its architecture. It also highlights the advantages of SaaS
along with some of the characteristics required / desired in any SaaS application.
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.auSusan Diaz
Software as a Service (SaaS) has the potential to transform the way information-technology (IT) departments relate to and even think about their role as providers of computing services to the rest of the enterprise.
Re engineering for SaaS & cloud enablementEkartha Inc
This document discusses services for helping companies transition traditional on-premise applications to software as a service (SaaS) applications. It outlines key elements of successful SaaS applications, including multi-tenancy, scalability, security and customization. The company described provides strategic planning, architectural reviews, development and delivery of SaaS applications using agile methodologies to reduce risks. Ongoing management and support services are also offered.
This paper discusses cloud application services (SaaS) and emphasizes that a SaaS application's data architecture should be robust, secure, efficient, cost-effective, and highly manageable. It argues that multi-tenancy and a meta-data driven architecture can address these issues. The paper outlines three approaches to multi-tenant data management and describes concepts like a meta-data driven reference architecture and conceptual data model. It also compares green field SaaS implementation to migrating an existing application to a SaaS model, noting the latter requires more assessment.
Cloud application services (saa s) – multi tenant data architectureJohnny Le
The document discusses cloud application services (SaaS) and multi-tenant data architectures. It describes SaaS as software delivered over the internet that eliminates installing/running applications locally. A multi-tenant architecture allows one application instance to serve multiple organizations, lowering costs. There are three approaches to multi-tenant data management with varying levels of isolation. The document advocates for a metadata-driven reference architecture where application components are generated from metadata at runtime to serve tenants' unique needs. It provides conceptual models of the metadata-driven approach.
SaaS Software Development Best Practices_ 2024.pdfJPLoft Solutions
Software architects and CTOs are accountable for the creation of new products while improving the efficiency of technology. Your choice of architecture determines the amount of control you can exercise over your infrastructure and data storage requirements and opportunities for customization.
The document discusses three key challenges of implementing Software as a Service (SaaS): multi-tenant deployment, scalability, and reliability. Multi-tenant deployment involves sharing resources among multiple customers simultaneously. Scalability refers to an application's ability to handle increased load by adding more servers. Reliability ensures accurate services and avoids failures by handling error detection and recovery.
This document discusses Software as a Service (SaaS). It defines SaaS as software deployed as a hosted service and accessed over the Internet. Key advantages of SaaS include lower costs since users pay monthly subscription fees rather than large upfront licensing fees. The document outlines the history and growth of SaaS, describing how it has evolved from early ASP models. It also discusses the paradigm shifts required in application architecture and business models for SaaS, including moving to a multi-tenant architecture that is scalable and configurable. The speaker emphasizes that SaaS will have a major impact on the software industry and future IT professionals should closely track developments in SaaS.
Cloud Native Architecture: Its Benefits and Key ComponentsAndrewHolland58
Learn about the benefits and key components of the cloud-native architecture that enable organizations to harness the power of the cloud and accelerate their digital transformation.
Continuous Testing of Service-Oriented Applications Using Service Virtualizationiosrjce
IOSR Journal of Computer Engineering (IOSR-JCE) is a double blind peer reviewed International Journal that provides rapid publication (within a month) of articles in all areas of computer engineering and its applications. The journal welcomes publications of high quality papers on theoretical developments and practical applications in computer technology. Original research papers, state-of-the-art reviews, and high quality technical notes are invited for publications.
This document discusses continuous testing of service-oriented applications using service virtualization. It begins with an introduction to service-oriented architecture and discusses how service virtualization can address challenges in testing SOA applications by virtualizing dependencies and unavailable components. The document then discusses how service virtualization enables simultaneous development and testing, handles out-of-scope data dependencies, and supports heterogeneous technologies and platforms. It also provides an overview of the service virtualization lifecycle and some popular service virtualization tools.
This document discusses applying Agile principles to develop cloud applications through Agile Service Networks (ASN). It begins by defining cloud computing categories like Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Requirements for cloud applications are then outlined, including additiveness, security, reliability, and being consumer-centric. Agile Manifesto principles of prioritizing individuals/interaction over processes/tools and working software over documentation are introduced. Key features of ASNs like being collaborative, emergent, dynamic and business-oriented are described. The document proposes that by combining ASNs with Agile principles, cloud application requirements can be mapped and fulfilled in
Similar to A collaborative requirement elicitation technique (20)
This document provides an overview of wound healing, its functions, stages, mechanisms, factors affecting it, and complications.
A wound is a break in the integrity of the skin or tissues, which may be associated with disruption of the structure and function.
Healing is the body’s response to injury in an attempt to restore normal structure and functions.
Healing can occur in two ways: Regeneration and Repair
There are 4 phases of wound healing: hemostasis, inflammation, proliferation, and remodeling. This document also describes the mechanism of wound healing. Factors that affect healing include infection, uncontrolled diabetes, poor nutrition, age, anemia, the presence of foreign bodies, etc.
Complications of wound healing like infection, hyperpigmentation of scar, contractures, and keloid formation.
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...indexPub
The recent surge in pro-Palestine student activism has prompted significant responses from universities, ranging from negotiations and divestment commitments to increased transparency about investments in companies supporting the war on Gaza. This activism has led to the cessation of student encampments but also highlighted the substantial sacrifices made by students, including academic disruptions and personal risks. The primary drivers of these protests are poor university administration, lack of transparency, and inadequate communication between officials and students. This study examines the profound emotional, psychological, and professional impacts on students engaged in pro-Palestine protests, focusing on Generation Z's (Gen-Z) activism dynamics. This paper explores the significant sacrifices made by these students and even the professors supporting the pro-Palestine movement, with a focus on recent global movements. Through an in-depth analysis of printed and electronic media, the study examines the impacts of these sacrifices on the academic and personal lives of those involved. The paper highlights examples from various universities, demonstrating student activism's long-term and short-term effects, including disciplinary actions, social backlash, and career implications. The researchers also explore the broader implications of student sacrifices. The findings reveal that these sacrifices are driven by a profound commitment to justice and human rights, and are influenced by the increasing availability of information, peer interactions, and personal convictions. The study also discusses the broader implications of this activism, comparing it to historical precedents and assessing its potential to influence policy and public opinion. The emotional and psychological toll on student activists is significant, but their sense of purpose and community support mitigates some of these challenges. However, the researchers call for acknowledging the broader Impact of these sacrifices on the future global movement of FreePalestine.
How to Manage Reception Report in Odoo 17Celine George
A business may deal with both sales and purchases occasionally. They buy things from vendors and then sell them to their customers. Such dealings can be confusing at times. Because multiple clients may inquire about the same product at the same time, after purchasing those products, customers must be assigned to them. Odoo has a tool called Reception Report that can be used to complete this assignment. By enabling this, a reception report comes automatically after confirming a receipt, from which we can assign products to orders.
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.pptHenry Hollis
The History of NZ 1870-1900.
Making of a Nation.
From the NZ Wars to Liberals,
Richard Seddon, George Grey,
Social Laboratory, New Zealand,
Confiscations, Kotahitanga, Kingitanga, Parliament, Suffrage, Repudiation, Economic Change, Agriculture, Gold Mining, Timber, Flax, Sheep, Dairying,
How to Download & Install Module From the Odoo App Store in Odoo 17Celine George
Custom modules offer the flexibility to extend Odoo's capabilities, address unique requirements, and optimize workflows to align seamlessly with your organization's processes. By leveraging custom modules, businesses can unlock greater efficiency, productivity, and innovation, empowering them to stay competitive in today's dynamic market landscape. In this tutorial, we'll guide you step by step on how to easily download and install modules from the Odoo App Store.
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...EduSkills OECD
Andreas Schleicher, Director of Education and Skills at the OECD presents at the launch of PISA 2022 Volume III - Creative Minds, Creative Schools on 18 June 2024.
2. added requirements. During the whole process, the SaaS same element), descriptions (assigned by different clients),
vendor can review all the requirements about the application. comments, etc.
The conceptual framework for CRETE is shown in Figure
1, which will be further illustrated in following sections. TABLE I. VOTE PROPAGATION RULES
Corresponding
Direct Vote Reason
Propagated Vote(s)
Vote "yes" on "R: Vote "yes" on both FI and A refinement's existence
F2 refines FI". F2. implies the existence of
Vote "no" on a Vote "no" on the the parent feature and the
feature F refinements involved F child feature.
If "FI excludes Vote "no" on the other FI and F2 cannot exist at
Web
F2", vote "yes" feature the same time
on FI or F2
i-;:-O-------iI
Vendor's Management View
SaaS
Vendor's If "FI requires Vote "yes" on F2 F2 mllst exist if FI exists
L-======::.-.J BROWSER
F2", vote "yes"
on FI
Figure I. CRETE conceptual framework.
C. Client's Views
Each client works with two views during the process of
B. CRETE Requirements Repository
collaborative requirement elicitation. One is client's working
In CRETE, the requirements are expressed in terms of view and the other is client's private view.
features of an application. A feature describes a user/customer
perceivable characteristic of the software [13]. There are two Client's working view (CWV) is a client's main workspace
kinds of relationships between the features, namely refinement, to build requirement model for a SaaS application. In the
and constraint. The refinement relationships organize features CWV, a client can create requirements and review existing
with different levels of abstraction or granularities into a requirements presented by the SaaS vendor or other clients.
hierarchical structure. The constraint relationships describe The entities in the CWV are extracted from the CRETE
dependencies between features. requirement repository according to the view generation rule
No.1, which includes all "feature" and "refinement" elements
The features and relationships are stored as elements in the that the clients hasn't vote "no". According to the definition of
CRETE requirements repository. (An element can be either a feature model, constraint like "requires" or "excludes" is valid
feature or a relationship.) In addition, collaboration-related at product line level instead of application level so constraints
information on elements (for example, the creation or voting will not be presented for clients. They will only be used at the
actions a client performs on the elements) is also stored. Figure backend to check the validity of a client's voting.
2 presents the relation of elements and collaboration-related
information via a meta-model of the elements. View Generation Rule I:
CWV (Application s, Client c) = {Element e I
(e.Application = s) 1 (e.Type != "constraint") 1
(! 3vEVotes, v.Type="no"1 v.Client=c 1 v.Element = e)}
Client's private view (CPV) is to represent a client's
proprietary perspective on the requirements on the SaaS
application. The entities in the CPV are extracted from the
CRETE requirement repository according to the view
generation rule No.2, which includes all "feature" and
"refinement" elements that the client has voted ''yes'' (For an
[
element created by the client, CRETE will automatically add a
''yes'' voting to the element for this client).
Figure 2. Meta-model of the elements stored in CRETE.
l
View Generation Rule 2:
Collaboration-related information of an element includes
CPV (Application s, Client c) = {Element e I
direct voting, propagated voting and preference. A direct vote
(e.Application=s) 1
is a ''yes'' or "no" directly given by a client on an existing
(3a E Creating, a.Client=c 1 a.Element=e) 1
element. The votes represent support or opposition of the
element's existence. For each direct voting on an element, there (3a E Votes, a.Type = "yes" 1 a.Client = c 1 a.Element =
e )}
might be a propagated "yes" or "no" vote on other elements,
depending on the meaning of the direct vote. Table 1 presents
the situations and reasons of propagated voting. Unlike direct D. The SaaS Vendor's View
voting, propagated voting is performed automatically by the
The SaaS vendor works with his management view (VMV)
CRETE system. Besides the voting on an element's existence,
during the process of collaborative requirement elicitation. In
we also allow clients to assign preference on the element's
VMV, the vendor can create some initial elements for a to-be
aliases (different clients may assign different names to the
developed application, with which clients can vote on them or
84
3. be inspired to propose new elements. Also, the vendor can requirements model for the clients and add relationship among
review all the elements about an application. Besides, the the requirements through creating operations.
vendor is presented with each requirement's creator, the
Propagate Votes: Propagated votes are computed according
supporters and the dissenters. Then, he can follow which
to the rules in Table 1 after an operation was submitted.
elements are requested by which clients. Besides, he can attach
the requirements relationships on the management view from Coordinate Operations: In the context of collaborative
application development perspective. For example, the work, changes submitted by multiple clients need to be
"excludes" constraint can be added between two features to coordinated. After the coordination, if the original changes are
indicate a conflict due to development considerations. still valid, they are stored in the CRETE requirement repository
and in turn, cause the update of views of all clients; otherwise
View Generation Rule 3: the changes are neglected and its submitter will be informed.
VMV (Application s) = {Element e I Operation coordination will be elaborated in Section 3.C.
( e.Application = s ) /
«(! ::IvEVoting, v.Type-"yes"/ v.Element=e) B. C01iflict Resolution
V (e.Creator=this vendor»}
Conflicts might exist in a client's working view as the
requirement elements coming from multiple clients.
III. THE COLLABORATIVE REQUIREMENTS CONSTRUCTION Meanwhile, conflicts can also emerge in a client's working
PROCESS
view because of inappropriate operations of the client. There
are two types of conflicts:
In this section, we introduce the collaborative requirements
construction process, based on the concepts discussed before. Non-positioned Feature (NPF): if the client has voted "no"
We first give an overview of the process, and then present on a refinement, then the corresponding child feature becomes
conflict resolution and operation coordination in detail, a non-positioned feature. In other words, the child feature's
respectively. position in the hierarchical structure of features is unknown
now. (It does not become a root feature automatically.) For
A. Process Overview example, in Table 2, a client votes "no" on a refinement, or a
propagated voting on the refinement will result in a NPF.
The collaboration process for constructing a SaaS
application's requirements model is shown in Figure 3, which C01iflicting Refinements (CR): multiple refinements
includes human activities performed by clients (solid lines in existing in a working view are considered conflicting if they
Figure 3) and automated activities (dashed lines). involve the same feature as the child but different features as
the parent. For example, in Table 2, two refinements created by
different clients make the feature F2 a child of different
I Resolve Cannets I
features, so these two refinements conflict with each other.
Cf!i�-��ti_�_�ti �_g_-_1-!-_-��-�-�_oPi�����-_:
TABLE II. E XAMPLE CONFLICTS IN A CLIENT'S WORKING VIEW
:-_-_-_�-��t�_���_-_-_:
eqUlremen
Repository Conllict Initial Situation Operation Result Situation
NPF(I)
� R: F2 refines Fl
Vote "no" on R B :��: (NPF)
NPF(2) � R: F2 refines FI
Vote "no" on FI
CR
Q
� r;;l
Create "R2: F2 refines F3"
B B
'
R" , ,/R2
Figure 3. The requirements construction process.
R' migh, be created by another dielll.
GJ
Update Views: When the information in the requirement
For a NPF, a client should make it a root feature explicitly,
repository changes due to operation submission or propagated
or creates a refinement involving it as a child, or reconsiders
voting, client and vendor's views are automatically updated.
existing refinements. For CR, a client should vote on them to
Resolve Conflicts: When a client's working view is select only one, or even opposes all and create a new one.
updated, he should first focus on the conflicts emerging in the
view and resolve them via submission of creating and/or voting C. Operation Coordination
operations. Conflict resolving will be elaborated in Section 3.B. As different clients might work on the same requirements
Submitting Operations: In addition to conflict resolution, a set while submitting operations, it is possible that their
client constructs his requirements by submitting operations. He operations need to be coordinated. According to the operation
creates a new requirement via creating operation and adds a that causes the repository updates, three possible situations to
requirement already presented by others by submitting "yes" be coordinated are shown in Figure 4.
voting operation. To remove those requirements already Duplicate creation happens when a client (C2) creates an
presented by others from his working view, a client should element (E) before a previous creation of the same element has
submit "no" voting. For the SaaS vendor, he can create initial become visible to C2 (Le. update C2's working view).
85
4. Unreachable vote is a vote on a nonexistent element. If A. An Overview of the System
client CI's "no" vote on element E leads to the deletion of E, Figure 5 gives a simplified version of the system's
and if client C2 submits a "yes" vote on E before the deletion architecture. The CRETE system is designed with a typical
becomes visible to him, then C2's ''yes'' vote becomes Client/Server architecture. The client follows the Model-View
unreachable. Controller design pattern. The views include feature browser,
Unreachable propagation is a propagated vote on a feature editor, constraints browser and other VI elements. The
nonexistent element. If client Cl's "no" vote on feature FI main model is a local work copy of the being constructed
leads to the deletion of FI, and if client C2 creates a constraint feature model; besides, there are various data-views (i.e. data
involving FI (e.g. FI requires F2) before the deletion becomes subsets) for the feature model, such as the name set (a set
visible to him, then the propagation of ''yes'' vote on FI contains existing feature names in the feature model). The
(according to row I in Table I) is unreachable. controller consists of many commands (handlers of user
operations), the event dispatcher and the connector (handles
(created vote NO client-server data exchange). The server contains components
create E update repository on E update repository
C1 C1 by C1) for protocol handling, data filtering, request handling and
time E time
C2 C2 database access.
create E vote YES on E
Duplicate Creation Unreachable Vote B. Key Features of the System
(feature The key features of CRETE system can be divided into two
created vote NO
by C1) on F1 update repository categories: production and awareness.
C1
F1 time Production refers to the functionalities for constructing,
C2
create constraint F1 requires F2 viewing and checking the shared requirements. The clients and
Unreachable Propagation vendors can propose new requirements and vote on existing
ones. The vote propagation, conflict checking and operation
coordination are also implemented to help requirements
Figure 4. Example situations to be coordinated.
construction.
Coordination of these situations follows a serialized update Awareness means that collaborative systems should provide
strategy, that is, all update applies to the elements in the same necessary information about activities of other people in the
order of their submission. For duplicate creations, the first shared workspace, which provides the context for individual's
creating operation adds a new element to the repository, and work. Awareness support is essential for improving the
the latter is converted to a "yes" vote. For unreachable votes, usability of collaborative systems [IS]. According to Gutwin
they are no longer valid on a nonexistent element and are and Greenberg's framework of awareness in [IS], the CRETE
neglected. For unreachable propagations, they are neglected system provides six kinds of awareness information, as Table 3
together with the operations which cause the propagations. shows.
IV. THE IMPLEMENT AnON OF CRETE TABLE III. AWARENESS INFORMAnON IN CRETE
In this section, we give a brief introduction to a system
developed for supporting the CRETE method. We first present Awareness Information Purpose (According to 1151)
an overview of the system, and then discuss some key features Others' edit location Location (Where are they working?)
of the system in details. Presence (Who is participating?)
Controversy Artifact (What is the state of the objects?)
OoraViews
Feature Browser
Conflict Artifact
User List
My creation Authorship (Who did that?)
Feature Editor
r-----
History
$
tit Recently changed features Action (What are they doing?)
Constraints
Browser
list � Change History Action History (What has been done?)
Discussion & Comments Feature Model
Others' edit location shows who are working in the system
I and which feature they are editing now.
Event
Commands
Dispatcher
Client Connector i information helps users be aware of controversial features
and relationships (i.e. their supporting rate is less than 100
Server Protocol Handler I Request percent).
Filters I Handlers
Data Access Objects C Databases J Conflict information helps users identify existing conflicts
that need to be removed.
Figure 5. System architecture (simplified). My creation highlights the features created by current user.
When using the CRETE system, we found that the users care
about whether their creations are opposed or supported by
others, so we decide to highlight such information.
86
5. Recently changed f eatures are features with unread recent Remove redundant f eatures. If two features have different
changes. This information can help users follow the recent names but the same semantics, then one of them is redundant.
progress of the requirements elicitation, especially for large To remove redundant features, the participants prefer to post a
repositories. topic in the discussion page, such as "Redundant features of
Search for Jobs", and ask others to vote "no" on redundant
Change history shows all changes that have been made on
features to remove them from the repository.
the requirements repository, ordered by time. It helps users
track the evolution of the requirements. Improve unclear f eatures. Some participants are reluctant to
carefully describe a feature when they create it, so others
V. AN EXPERIMENT cannot understand the feature very well. The situation gets
worse when the feature has an improper or vague name. As we
We conduct an experiment with five participants acting as observed, participants often post a comment on unclear
four clients and one SaaS vendor, respectively. The scenario features to ask for improvement, and some of them even vote
we designed for them is to collaboratively eliciting no on these features until their creators improve the description
requirements for a SaaS application that supports multiple and/or name.
enterprises to register on it as individual tenant to perform on
line recruiting related activities like position publishing, Find missing features. The participants try to find missing
position applying, interview arranging, etc. features when they are browsing the whole feature model.
The five participants spend about 3 hours working Adjust and create relationships. The participants adjust
collaboratively. In the end, all clients confirm the requirements refinements and create constraints when most of the features
in their private views, and the vendor gets the requested can be well understood.
features for the system in his management view. There are
Confirm requirements. The clients browse each feature and
totally 113 features proposed for the application, including 30
vote "yes" on it if it is a desired feature, no matter whether the
variant features. Three interesting observations have emerged feature is proposed by her/him or others.
from this case study:
The second observation is that the efficiency of
First, although there's no rigid process for their work, we requirements elicitation is greatly improved. One reason is that
have observed that the collaborative work can be roughly the users' edit locations displayed in CRETE help the
divided into two phases; we call them the brainstorming phase participants choose an "idle" part of feature model to edit,
and the evaluation phase. which leads to parallel creation at different parts of the feature
140 model. Another reason is that participants are often inspired by
128
122 7 121 120 others' work. Table 4 shows the proportion of feature creation
120
�
VI -
.�-:; and reuse in each client's private view, which is another
•
E 100 evidence for the improvement of efficiency of our requirements
�
III 82
Q) • Newly created in elicitation.
... 80
-
0
last 20 mins
�
Q)
60
.J:I 43
• Changed in last 20
E 40 mins TABLE N. FEATURES IN EACH CLIENT'S Pruv ATE VIEW (CPV)
:::I
Z
20 I • Unchanged in last Number of Features in the Client's CPV
I
Client
20 mins Total Created by this Cliellt Created bv Others
0
Client I 91 21 (23.1%) 70
a a a a a a a 0 a
N � � 00 a N � � 00 Client2 87 37 (42.5%) 50
1"""1 1"""1 rl rl 1"""1
Client3 94 34 (36.2%) 60
Time passed (in minutes)
Client4 104 21 (20.2%) 83
Figure 6. The change of features during the collaboration. The thrid observation is that many variants can be observed
in the vendor's management view, as shown in Table 5. It
The work starts at the brainstorming phase. In this phase, implies that our approach is capable of capturing variant
the participants are focusing on proposing requirements as requirements among the clients. The "common structure"
much as possible (Le. creating new features). The way they emerges by comparing the structure of each client's private
prefer is to read an existing feature and try to refine it (create view. We have observed that all conflicting are resolved by the
child features for it) or create a related feature. As shown in participants finally, and all private views have the similar
Figure 6, a large number of initial features are collected over a hierarchical structure except that some of the leaf features are
short period of time (the first hour). different.
As the requirements repository grows larger, the
participants start to focus on evaluating the proposed features. TABLE V. COMMON AND VARIANT FEATURE S IN VMV
In this evaluation phase, there are fewer creations and more
Total Number of Features 113
changes of existing features, and the total number of features is
Numbers of Common Features 83 (73.5%)
changed very slightly. We have observed that participants
Number of Features Presented in 3 CPVs 24 (21.2%)
browse the whole feature model for many times and perform Number of Features Presented in 2 CPVs 5 (4.4%)
the following activities: Number of Unique Features 1(0.9%)
87
6. In summary, the results preliminarily demonstrate that our effectively. In this approach, a center repository is used to
approach is suitable for requirements elicitation of SaaS record all requirements about the to-be developed SaaS
applications, and the explicit support for collaboration between application and all collaboration related information. Based on
clients and vendors has very positive influence on the the information in repository, client's working view is
efficiency of elicitation. presented as a client's workspace while client's private view is
presented for a client to review his proprietary requirement
VI. RELATED WORK
model. SaaS vendor raises initial application requirements and
reviews the combined requirements model through
A. Feature-oriented Requirements Modeling management view. A process with relevant conflict resolving
and coordination rules is also proposed to guide the
Our work in this paper is partly inspired by the research of
collaboration. An experiment is conducted to show the
feature-oriented requirements modeling [7][10][13]. One
feasibility of CRETE.
implicit assumption of these works is that there is an available
set of domain experts who possess a comprehensive In the future, we are going to focus on improving the
understanding of the current software product line and thus can usability of the CRETE. Especially, how to represent a large
discover all the important commonality and variability in the number of requirement elements in client's working view in a
software requirements. However, this assumption is generally well-organized way so that clients will not get lost in it.
not hold in the SaaS circumstance, because of the rapid
evolution nature of SaaS applications and the low possibility of REFERENCES
getting a suitable set of domain experts for SaaS applications.
[I] A. Van Lamsweerde, "Requirements Engineering in the Year 00: A
Our approach releases the feature-oriented requirements Research Perspective," International Conference on Software
Engineering, Los Alamitos, California: IEEE Computer Society Press,
modeling from above assumption by integrating it with explicit
2000, pp. 5-19.
collaboration mechanism and encapsulating it as a web-based
[2] B. Decker, E. Ras, J. Rech, P. Jaubert, and M. Rieth. Wiki-Based
application. The larger number of geographic-distributed Stakeholder Participation in Requirements Engineering. IEEE Software,
clients can express, share requirements in a collaborative and 2007, 24(2):28-35.
asynchronous way, and the requirement commonality and [3] CREWS Homepage. http://sunsite.infonnati k.rwth-aachen.de/CREWS/.
variability can be collected via analyzing voting on [4] C. Potts, K. Takahashi, A.I. Anton. Inquiry-Based Requirements
requirements. Furthermore, we proposes an effective evolution Analysis. IEEE Software, 1994, 11(2):21-32
mechanism, that is, clients can continuously express their [5] D. Ma, The Business Model of "Software-As-A-Service". In 2007 IEEE
updated requirements about a SaaS application and the SaaS International Conference on Services Computing (SCC 2(07), pages:
vendor can always get the latest commonality and variability 701-702, July 2007.
requirements of a large number of clients. [6] 1. Herbert, E. G. Brown, and S. Galvin, "Competing in the fast-growing
saaS market", Forrester Report, No. 0,5110,44254,00, 2008.
[7] K. C. Kang, S. Kim, J. Lee, K. Kim, E. Shin, and M. Huh, "FORM: A
B. Collaborative Requirements Engineering Feature-Oriented Reuse Method with Domain-Specific Architecture",
Another important research area related to our work is the Annals of Software Engineering, vol. 5, pp. 143-168, Sept. 1998
research on collaborative requirements engineering. Potts et al. [8] K. E. Wiegers, Software Requirements, Microsoft Press, 1999.
proposed an approach to carry out the requirements elicitation [9] K. Zhang, X. Zhang, W. Sun, H.Q. Liang, Y. Huang, 1. Zeng and X. Z.
through the iteration of three activities: requirements Liu, "A Policy-Driven Approach for Software-as-Services
documentation, discussion and evolution [4]. In CREWS Customization", IEEE Computer Society, CEC-EEE, 2007, pp.1-8.
project, the concept of scenario is used to facilitate the [10] P. Clements, and 1. Northrop, "Software Product Lines: Practices and
Patterns", Addison-Wesley Professional, 2001
conduction of requirements engineering activities in
[II] R. Mietzner, A. Metzger, F. Leymann, K. Pohl, "Variability modeling to
collaborative ways [3]. Decker et al. leveraged wiki to support
support customization and deployment of multi-tenant-aware Software
asynchronous collaborative requirements collecting [2]. as a Service applications", 2009 ICSE Workshop on Principles of
Engineering Service Oriented Systems, pages: 18-25.
All these research works aim to get a suitable set of
[12] W. Sun, X. Zhang, C. Guo, P. Sun, and H. Su, "Software as a Service:
requirements for only a single customer or organization, and it
Configuration and Customization Perspectives". SERVICES-2. IEEE,
is almost impossible for them to collect and analyze 2008, pages: 18-25.
requirements containing variability requirements from different [13] W. Zhang, H. Mei, H. Zhao, "A feature-oriented approach to modeling
customers or organizations. While in our approach, a carefully requirements dependencies," in Proc. of the 13th IEEE Inti. Conf. on
designed voting mechanism is provided to collect requirements Requirements Engineering (RE 05), 2005, pp. 273-282
from a large number of different customers and to reflect the [14] Y. Shi, S. Luan, Q. Li, H. Wang, "A Multi-tenant Oriented Business
commonality and variability of those collected requirements, Process Customization System", 2009 International Conference on New
Trends in Information and Service Science, Beijing, China, 2009.
which makes our approach suitable for SaaS applications'
requirements elicitation. [15] C. Gutwin, S. Greenberg A descriptive framework of workspace
awareness for real-time groupware. Computer Supported Cooperative
Work. 11, 3, 2002, 411-446.
VII. CONCLUSIONS
This paper presents a Collaborative Requirement Elicitation
Technique (CRETE) to facilitate SaaS vendors on eliciting the
commonality and variance of multiple clients' requirements
88