CoFM: A Web-based Collaborative Feature Modeling System for Internetware Requirements' Gathering and Continual Evolution Li Yi, Wei Zhang, Haiyan Zhao,

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
A component- and message-based architectural style for GUI software
MS CRM Integration WhosOn Service Integration Presentation MS CRM User Group.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Quality Management. What is a software product? Software product = computer programs (sources and executable) + associated documentation Software products.
OASIS Reference Model for Service Oriented Architecture 1.0
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
CS CS 5150 Software Engineering Lecture 12 Usability 2.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
Architecture, Deployment Diagrams, Web Modeling Elizabeth Bigelow CS-15499C October 6, 2000.
Senior Project – I.D. Math & Computer Science jsMath Equation Editor Dana Cartwright Advisors – Prof. Cervone & Prof. Striegnitz Editor Design -
Objectives The key roles an architecture description plays in a software project. The key roles an architecture description plays in a software project.
SiS Technical Training Development Track Technical Training(s) Day 1 – Day 2.
Chapter 1 Getting Started With Dreamweaver. Explore the Dreamweaver Workspace The Dreamweaver workspace is where you can find all the tools to create.
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Course Instructor: Aisha Azeem
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
THE BASICS OF THE WEB Davison Web Design. Introduction to the Web Main Ideas The Internet is a worldwide network of hardware. The World Wide Web is part.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Collaborative Feature Modeling: A Voting Based Approach with Divergence Tolerance and Consensus Facilitation RE’10 Yi Li.
What is Software Architecture?
Form Builder Iteration 2 User Acceptance Testing (UAT) Denise Warzel Semantic Infrastructure Operations Team Presented to caDSR Curation Team March.
131 Agenda Overview Review Roles Lists Libraries Columns.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
TEMPLATE DESIGN © GroupNotes: Encouraging Proactive Student Engagement in Lectures through Collaborative Note-taking on.
Get more out of 11i with Oracle ADI Richard Byrom Oracle Applications Consultant Appsworld January 2003.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Design Extensions to Google+ CS6204 Privacy and Security.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Li Yi, APSEC ‘12 Constructing Feature Models Us­­ing a Cross-Join Merging Operator.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Software Requirements Engineering CSE 305 Lecture-2.
Accessing to Spatial Data in Mobile Environment Presented By Jekkin Shah.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
Chapter 8 Cookies And Security JavaScript, Third Edition.
CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence.
Change Enhancement Process Overview Chris Walsh North American Area Representative SAGGroup Executive Committee In my spare time … Chief Technology Architect.
Lecture 7: Requirements Engineering
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Chapter 3 Object Oriented Systems and Open GIS. Objectives of the Chapter Establish place of O-O in OpenGIS cover basics of O-O emphasise design issues.
Sept. 18, 2003CS WPI1 CS 509 Design of Software Systems Lecture #3 Thursday, Sept. 18, 2003.
Agenda – week 4 6:00 – 6:05Questions, announcements, intro 6:05 – 6:35Case study – air traffic control 6:35 – 7:20Lecture: architecture in the development.
CoFM: An Environment for Collaborative Feature Modeling Li Yi Peking University
Personalized Interaction With Semantic Information Portals Eric Schwarzkopf DFKI
A Use Case Based Approach to Feature Models’ Construction Bo Wang, Wei Zhang, Haiyan Zhao, Zhi Jin, Hong Mei Key Laboratory of High Confidence Software.
Collaborative Feature Modeling: An Extendable Voting-Based Approach with Divergence Tolerance and Consensus Facilitation Li Yi
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Chapter 1 Getting Started With Dreamweaver. Exploring the Dreamweaver Workspace The Dreamweaver workspace is where you can find all the tools to create.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CS223: Software Engineering Lecture 13: Software Architecture.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Building Enterprise Applications Using Visual Studio®
CS 389 – Software Engineering
Fundamentals of Information Systems, Sixth Edition
Design and Implementation
Introduction to Events
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2 – Software Processes
Bo Wang1, Yingfei Xiong2, Zhenjiang Hu3, Haiyan Zhao1,
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Project Information Management Jiwei Ma
Chapter 9 Architectural Design.
WEB DESIGN Cross 11, Tapovan Enclave Nala pani Road, Dehradun : ,
Presentation transcript:

CoFM: A Web-based Collaborative Feature Modeling System for Internetware Requirements' Gathering and Continual Evolution Li Yi, Wei Zhang, Haiyan Zhao, Zhi Jin, Hong Mei Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence Software Technology, Ministry of Education of China

Agenda  Motivation  Introduction to the CoFM Method  The CoFM System  Architecture  Production Support  Awareness Support  Coordination Support  Case Study  Conclusion

Agenda  Motivation  Introduction to the CoFM Method  The CoFM System  Architecture  Production Support  Awareness Support  Coordination Support  Case Study  Conclusion

Motivation  The increasing interest of Internetware  Web services  Service Oriented Computing (SOC)  Service Oriented Architecture (SOA)  Cloud computing  Particularly, the Software as a Service (SaaS) approach in cloud computing has achieved great commercial success in recent years  For example, Salesforce.com maintains a Customer Relationship Management (CRM) application on the Internet and about 70,000 subscribed clients are using this application now.

Motivation (cont.)  A significant characteristic of Internetware is that the amount of its potential stakeholders is usually enormous, due to the openness and global availability of the Internet.  Challenges to the requirements engineering  support for gathering, organizing, evaluating, and negotiating requirements from large number of stakeholders.  synthesize the requirements to help Internetware provider identify the most common and essential requirements, to enable the provided Internetware satisfy most stakeholders.  allow stakeholders to track the up-to-moment changes of the requirements, to make Internetware evolve continually.

The CoFM System  A web-based collaborative feature modeling system (CoFM) for gathering, organizing, evaluating, and negotiating Internetware requirements  Express and organize requirements in terms of desired features of the Internetware application  Utilize feature models to explicitly model the relationships between the gathered features. The relationships may have great influence on decisions in the later stages of the Internetware development. For example, when making the decision of whether to implement a specific feature, stakeholders should aware that all features required by this feature must be implemented first.  Allow multiple stakeholders to concurrently modify the shared feature models.

Agenda  Motivation  Introduction to the CoFM Method  The CoFM System  Architecture  Production Support  Awareness Support  Coordination Support  Case Study  Conclusion

Preliminaries: Feature Models from Feature Oriented Domain Analysis (FODA) Feasibility Study, CMU/SEI-90-TR-21, 1990 Feature

Preliminaries: Feature Models from Feature Oriented Domain Analysis (FODA) Feasibility Study, CMU/SEI-90-TR-21, 1990 Refinement

Preliminaries: Feature Models from Feature Oriented Domain Analysis (FODA) Feasibility Study, CMU/SEI-90-TR-21, 1990 Constraint

Extended Feature Models in CoFM +supporters +opponents Relationship Element Feature Refinement Constraint +parent 1 * 1 * +child * * EFM * Name Description Optionality Stakeholder View Global Working Personal Operation CreateVote 1 * Has attribute * * ** Key property: divergence tolerance

Constructing the EFMs  Broadcasting- based process  Each operation is sent to the central server when submitted  A valid operation is broadcasted to all sites  An invalid operation is undone at its original site

Agenda  Motivation  Introduction to the CoFM Method  The CoFM System  Architecture  Production Support  Awareness Support  Coordination Support  Case Study  Conclusion

An Overview of the System  A CSCW (Computer-supported cooperative work) system Three main categories of functionalities  Production  Construct, view and check shared feature models  Awareness  Provide necessary information about activities of other people in the shared workspace, which provides the context for individual’s work  Coordination  Mediate and mesh individual work into a whole piece, especially when multiple users are working on the same set of features

The Architecture  C/S architecture C Feature Browser Feature Editor Constraints Browser History List User List Discussion & CommentsFeature Model Data Views Name Set Global View Working View Personal View Connector Commands Event Dispatcher Protocol Handler Filters Request Handlers Data Access Objects Database Client Server Controller ViewsModels

Support for Production  Key features  Constructing shared feature models via two kinds of basic operations: creating and voting.  Voting on an existing element: ‘YES’ to support its existence in current feature model, ‘NO’ to oppose.  Removing an element if all votes on it are ‘NO’.  Users can add customized attributes to the features in current feature model. (The default attributes are name, description and optionality.)  Checking for conflicts and defects at individual workspaces.

The main working page Feature Browser Feature Editor Miscellaneous Info

Customize feature attributes  Allow different attributes for different feature models  Four attribute types  Single-line string  Multi-line text  Enumeration  Number

Checking the feature model  Where?  At individual workspaces, i.e. each user’s working view and personal view of the shared feature model.  NO checking for the whole feature model (i.e. the global view,) because of the divergence tolerance property of our extended feature models.  What?  Unnamed features  Mal-positioned features Non-positioned Multi-positioned (conflicting refinements)  Conflicting constraints

Examples TypeInitialOperationsResult Unnamed FeatureVote NO on the name F Non-positioned Feature (1) Vote NO on the refinement R Non-positioned Feature (2) Vote NO on the feature Parent Multi-positioned Feature (Conflicting Refinements) (None) Conflicting Constraints (None) (Feature F) (Unnamed) F Parent Child R: refinement Parent Child Parent Child Parent 1 Child Parent 2 R1R2 Parent 1 Child Parent 2 R1R2 F1 F3 F2 R1: excludes R2: requires R3 F1 F3 F2

Support for Awareness  Awareness support is essential for improving the usability of CSCW systems  Where?  In the CoFM system, most awareness information is shown in the feature browser, because it is the most frequently used UI region.  What?  Others’ current working location  “Hot-spots” in current feature model  Recent changes being made by co-workers  How?  Use different UI elements (fonts, colors, etc.) for different types of information  Make sure these different UI elements can be combined together

The awareness information InformationPurpose *Display: Where Display: How Others’ edit location Location (Where are they working?) Presence (Who are participating?) Feature Browser Show people’s name next to the being edited features. ControversyArtifact (What is the state of the objects?) Feature Browser Bold the name of controversial features. ProblemsArtifactFeature Browser Coloring each type of problems. My creationAuthorship (Who did that?)Feature Browser Underline features created by me. Recent changes Action (What are they doing?)Feature Browser Use larger font for recently changed features. Change history Action HistoryHistory Browser List the details of changes. * According to Gutwin and Greenberg’s work: A descriptive framework of workspace awareness for real-time groupware.

Example: awareness My Creation Others’ edit location Recently changed feature Recently changed, controversial feature

Support for Coordination  Serialized processing and broadcasting The Client SEND (o: Operation) Send operation o to the server. RECEIVE (o: Operation) Update local copy of EFM by operation o. The Server MAIN_PROCESS (loop) p  The first operation in the Operation_Queue. if (p is valid) Execute p on the EFM. Broadcast p. else if (p can be transformed) q  transformed(p) Execute q on the EFM. Broadcast q. else Inform the invalidity of p to its originator. RECEIVE (o: Operation) Put o at the end of Operation_Queue.

Operation transformation Original operationWhen it is invalidTransformed it to the following valid operation(s) Create a feature named X The name ‘X’ has already existed in current FM. If X has been used by the feature of the ID F: Vote ‘YES’ on feature F; Vote ‘YES’ on the name X. Create an alias X for some feature The name ‘X’ has already existed in current FM. Vote ‘YES’ on the name X. Create a value V for an attribute of some feature The value ‘V’ has already existed in this feature. Vote ‘YES’ on V. Create a relation RR has already existed in current FM. Vote ‘YES’ on R. Create a relation RR involves non-existing feature(s). (Cannot be transformed.) Vote on an elementThis element does not exist. (Cannot be transformed.)  An invalid operation will be transformed into valid operation(s), if any. The original operation and the transformed operation(s) have the same semantics. Operations that cannot be transformed will fail and be undone at its originator’s site.

Agenda  Motivation  Introduction to the CoFM Method  The CoFM System  Architecture  Production Support  Awareness Support  Coordination Support  Case Study  Conclusion

Case Overview  An Online Recruiting Management system  A SaaS application  Clients use the CoFM system to propose, discuss and evaluate its requirements in terms of desired system features  Four Participants  Each participant stands for a distinct client  Three hours, 113 features  The participants spend about three hours on the collaborative work, and finally they have proposed 113 features.  The participants confirmed desired features by voting ‘YES’.

Results: Collected features

Results: Clients’ confirmed features Participant Number of confirmed features TotalCreated by this participantCreated by others P19121 (23.1%)70 P28737 (42.5%)50 P39434 (36.2%)60 P (20.2%)83  By collaborating with others, now the participants work less, but get more.  For each participant, up to 80% confirmed features are created by others and reused by the participant.  The participants report that “it is easier to review an existing feature than to think of a new one,” therefore their work load is reduced.

Results: Variability in collected features  This data is helpful to prioritize the requirements

Results: Phases of the work Brainstorming PhaseEvaluation Phase

Phases of the work  Brainstorming phase  A large number of features are collected in a short period of time.  Parallel creation happens in different parts of the feature model.  Evaluation phase  The total number of feature changes slightly.  Participants focus on improving and refining raw features Remove redundant features Improve unclear features Find missing features Add constraints between features Confirm desired features

Agenda  Motivation  Introduction to the CoFM Method  The CoFM System  Architecture  Production Support  Awareness Support  Coordination Support  Case Study  Conclusion

Conclusion  The CoFM system  A web-based platform for gathering, organizing, evaluating, and negotiating requirements in terms of desired system features.  A feature model is utilized to explicitly model the relationships between the gathered features.  Allow concurrent modification on shared feature models by multiple stakeholders.  Statistics of the feature models are presented to help stakeholders make further decisions.  Work less, get more  Collaboration improves stakeholders’ efficiency of work.

Thank you!! Q&A