Thanks for your cooperation! The Questionnaire of the Developers' Experiment 1

Similar documents
COMPUTER SKILLS COMP101

Introduction to Computer Networks INTRODUCTION TO COMPUTER NETWORKS

Unified Modeling Language (UML)

More on the Chen Notation

Centrify Server Suite, Standard Edition Design Service

Chapter 2 Conceptual Modeling. Objectives

Course Description. Audience. Prerequisites. Skills Taught. Module Title. Duration. Course Outline :: CompTIA A+ Certification ::

Liferay User Management. Kar Joon Chew Oct 2011

31270 Networking Essentials Focus, Pre-Quiz, and Sample Exam Answers

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language]

Types of Computer Networks. ICS 614: Computer Networks Concepts and Principles 11

3050 Integrated Communications Platform

Request for Proposal Technology Services, Maintenance and Support

The Privacy Professor. Information Security and Privacy Training and Awareness Program

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

ICDL-IT. ICDL The ICDL L4 IT. ICDL-IT ICDL

Pre- War Room Questionnaire

IT Boosting Employee & Business Productivity with Innovative Technologies and Solutions Refresh Now

Networks. Computer Technology

GEORGIA DEPARTMENT OF CORRECTIONS Standard Operating Procedures IIA (204.07) Authority: Effective Date: Page 1 of Bryson/Jacobs 04/21/15 6

A l Ain University Of Science and Technology

Brother Mobility Solutions for Business

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Data Communication and Network. Introducing Networks

Printing Solutions for Higher Education. Secure, on-premise mobile printing platform

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

Netis WF-2411 Quick Configuration Guide NTC November TCS Webinar 1

Scope and Sequence: CCNA Discovery

Broward College Telecommuting and Hoteling Technology Proposal (2017)

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

Build a Talent Profile

Chapter One. Introduction to Computer System. Definition Objectives Types according to their size Internet

Chapter 5: Structural Modeling

2. Give advantages and disadvantages of computer network. (Any 2 advantages- 2 Marks, Any 2 disadvantages- 2 Marks) Answer: Advantages:

Bring more control and added efficiency to your scanning and print environment

RELATIONSHIP WITH KONICA MINOLTA

Navpreet Singh INTRODUCTION TO COMPUTER NETWORKS. Computer Centre Indian Institute of Technology Kanpur Kanpur INDIA

UML Primer. -Elango Sundaram

Management Instruction

XV. The Entity-Relationship Model

Networking Basics. Crystal Printer Network Installation Guidelines

KONICA MINOLTA MOBILE PRINTING SOLUTIONS

PART IV. Internetworking Using TCP/IP

IT and Interface Requirements

ITEC 3800 Data Communication and Network. Introducing Networks

SMART Questionnaire. Fields marked with * are mandatory. Introduction

A network is a group of connected, communicating devices such as computers and printers. An internet

Chapter 6: Entity-Relationship Model

Agent appointment and credentialing quick reference guide

Control printing and copying effectively with uniflow Output Manager

Deployment User Guide

HPE Intelligent Management Center

Chapter 8 Networking and Digital Communication

Simplifying Document Make-Ready Workflow and Production

Huawei FusionCloud Desktop Solution 5.3. Branch Technical White Paper. Issue 01. Date HUAWEI TECHNOLOGIES CO., LTD.

Background Brief. The need to foster the IXPs ecosystem in the Arab region

EXPENSE ENTRY INSTRUCTION MANUAL SILVERLIGHT VERSION. Child & Youth School Services

AT&T Collaborate. February, 2018

Network fundamentals IB Computer Science. Content developed by Dartford Grammar School Computer Science Department

TRAVEL EXPENSE REIMBURSEMENT USER GUIDE. JHM SAP Training May 29, 2013

Virtual Postman Manual. Version

Fig (1) client and Server network

Data Communication. Introduction of Communication. Data Communication. Elements of Data Communication (Communication Model)

IBM Security Identity Manager Version Planning Topics IBM

Experiment no 4 Study of Class Diagram in Rational Rose

INFORMATION TECHNOLOGY NETWORK ADMINISTRATOR ANALYST Series Specification Information Technology Network Administrator Analyst II

Advanced UML Class Models

Custom Connect. All Area Networks. customer s guide to how it works version 1.0

QUALIFICATION: IC3 INTERNET AND COMPUTING CORE CERTIFICATION MODE OF DELIVERY: DISTANCE LEARNING

Scope and Sequence: CCNA Discovery v4.0

Scope and Sequence: CCNA Discovery

Chapter 2: Entity-Relationship Model

Prerequisit. cies. overview of. David. interviews. In research, the

SECURING YOUR BUSINESS INFRASTRUCTURE Today s Security Challenges & What You Can Do About Them

Computer Technology Flash Card 2

ETSI TR V1.1.1 ( )

Texas Health Resources

Cisco Systems Networking Academy

Six Questions to Answer When Buying a Phone System

Online Bus Ticket Resevevation System Class: HD J

COMPUTER NETWORKING LAB EXERCISES (TP) 1 BASIC CONFIGURATION AND TOOLS FOR EVERYBODY:

A l Ain University Of Science and Technology

KYOCERA Net Viewer User Guide Supplement

2004 John Mylopoulos. The Entity-Relationship Model John Mylopoulos. The Entity-Relationship Model John Mylopoulos

COMPUTER HARDWARE RAYMOND ROSE

COP 3330 Final Exam Review

Conceptual Data Models for Database Design

GoToMyPC Corporate Product Guide

Background Brief. The need to foster the IXPs ecosystem in the Arab region

Tablets for Business Exploring Compute Models for Mobile Professionals

Quick Reference Card Completing an Expense Report in Concur Travel and Expense

3. UML Class Diagrams Page 1 of 15

Operating Systems Introduction. Mathieu Delalandre (PhD) University of Tours, Tours city, France

Modeling variability in software product lines with the variation point model

City College Computing

Concur Travel & Expense CAMPUS TRAINING GUIDE & LIVE DEMO

Introduction to Networking

EEC-484/584 Computer Networks

System Management. User Guide

Transcription:

The Questionnaire of the Developers' Experiment 1 This experiment deals with comparative analysis of two variability representation notations: Application-based DOmain Modeling (ADOM), which is a UML-based notation, and Cardinality-Based Feature Modeling (CBFM), which is a feature-oriented notation. The aim is to point out the benefits and shortcomings of these notations when developing and utilizing core assets (domain models). For this purpose, assume that you are a software (product) engineer / domain (product line) engineer. You should utilize domain models for developing particular applications in the domain / develop domain models for assisting software (product) engineers in developing particular application models. The domain of interest in this experiment is Virtual Office of the Future (VOF). The VOF domain deals with virtual offices, which are a type of telecommunication in which workers are occupied with the tools, technologies, and skills to perform their jobs from anywhere in the world, e.g., home, office, or customer site. Virtual offices allow users to reduce traditional office costs while maintaining business professionalism. The applications and devices in virtual offices actively adapt their services with respect to the role of their users or to the states of workflows a user is actually involved in. The main motto of virtual offices is provision of all services anywhere (adaptability) and anytime (availability). Below you may find an ADOM model / a CBFM model of the VOF domain, followed by two parts of questions. All the questions in this questionnaire refer to the provided model. The description can be used as a background only. Thanks for your cooperation! 1 The questionnaire had two versions: one with parts A and B (for "product line engineers") and the other with A and C (for "product engineers"). 1

Please fill your personal and background information below. Full Name: Degree: BA MA Year in the IS department: 1 2 3 more Additional studies (other academic degrees, non-academic courses relevant to modeling and software engineering fields): Please estimate your knowledge regarding modeling, analysis, and design (grade 1-10) Please estimate your knowledge regarding ADOM/CBFM (grade 1-10) Please estimate your knowledge regarding the VOF domain (grade 1-10) Please provide details regarding your practice in relevant fields (systems modeling, analysis and design) Your role in this experiment is: 2

The basic terms in the VOF domain and their explanations Term Peripheral Personal Computer Network Perform Task Initialize Device Maintain Device Operate Peripheral Receive Fax Send Fax Print Document Convert Document Scan Document Send Notifications Check Devices Detect Physical Location Automatic Detection Manual Detection Using Authentication Go physical Schedule Actual Meeting Plan a Business Trip Explanation A peripheral is a device attached to a host computer, but not part of it, and is more or less dependent on the host, Examples: printers, fax machines, and scanners. A PC is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator. PCs in the VOF domain are roughly divided into desktops (personal computers designed to fit on desks), laptops (personal computers designed for mobile use), and pocket PC (a hardware specification for a handheld-sized computer that runs the Microsoft Windows Mobile operating system; it has many of the capabilities of modern desktop PCs). A computer network allows sharing of resources and information among interconnected devices. Networks can be classified according to their technologies: wired vs. wireless. They can be also classified according to their physical scope: LAN (local area network; connects computers and devices in a limited geographical area, such as home and school) and WAN (wide area network; covers a large geographic area such as a city or a country). Enables performing every day tasks. Initializes a device prior to usage. Enables device maintenance during its usage period. Enables using peripherals (such as scanners, fax machines, and printers). Receives a fax by a fax machine. Sends a (delayed or immediate) fax by a fax machine Prints a document to a printer Converts a document into different formats (such as pdf) using a printer-like device. Scans a document to a personal computer or to a peripheral (e.g., a fax machine). Sends notification about peripheral operations, e.g. fax receiving or sending, document printing, converting, or scanning. Checks that allocation of the required devices is feasible for a given (specific) task. Detects the user's physical location for providing context-relevant services, such as ordering flight tickets from the user's actual location to a requested destination. Allows a user to access facilities (e.g., personal computers, peripherals, etc.) without manual operations for authentication. When the system does not succeed in automatic detection of the physical location, the user is requested to manually identify in order to access facilities (e.g., personal computers, peripherals, etc.). Enables performing tasks that have physical content, "outside" the virtual environment. Plans a meeting that includes inviting people to the meeting, scheduling a time for the meeting with the persons attending, allocating a room for the meeting, and so on. Although this information is not stored in the system, the system supports its activation. Supports planning, approving, preparing, and reporting a (physical) business trip. Although this information is not stored in the system, the system supports its activation. 3

Legend for CBFM method 2 Explanation Feature F must appear exactly once. Feature F must appear at least once. Feature F may appear at most once. Feature F may appear 0 or more times. Variant is an optional member in a feature group (the parent of this feature) Variant is a mandatory feature in a feature group (the parent of this feature) Notation F [1..m] F F [0..m] F Variant Variant Only one member from the feature group can be selected. At least one member from the feature group must be selected. Between m to n members from the feature group needs to be selected. m..n Feature A is elaborated and specified in another feature diagram. The feature F represents an attribute of kind T. A(1) F (T) If feature A is selected, then feature B must be selected. A requires B A.isSelected() implies B.isSelected() If feature A is selected, then feature B must not be selected. A excludes B A.isSelected() implies not B.isSelected() 2 Only the participants that belonged to CBFM group got this part. 4

VOF domain model depicted by CBFM method 3 Virtual Office of the Future [1 *] [1 *] [0 *] Peripheral Personal Computer (PC) Device 3..3 Network Serial Number (string) [0 *] Status (enum) Initialize Device Maintain Device Operate Peripheral Perform Task 3..*... Detect Physical Location (1) Go Physical (1) [1 *] Check Device 1..* [0 *] Physical Location (String) Model (String) Manufacturer (String) Fax Machine Scanner Printer... Laptop Desktop Pocket PC Memory Size (Integer) Hard Disk Size (Integer) Wired Technology Wireless Technology LAN WAN Receive Fax Send Fax Print Document Convert Document Scan Document... Send Notification [1 *] [1 *] [1 *] [0 *] Phone Number (String) Paper Size (String) Image Quality (String) Paper Size (String) Print Quality (String) Physical Location (String) requires requires requires requires requires 1. VOF.Device.Peripheral.FaxMachine.isSelected() implies VOF.PerformTask.OperateDevice.ReceiveFax.isSelected() or VOF.PerformTask.OperateDevice.SendFax.isSelected 2. VOF.Device.Peripheral.Printer.IsSelected() implies VOF.PerformTask.OperateDevice.PrintDocument.isSelected() or VOF.PerformTask.OperateDevice.ConvertDocument.isSelected() requires requires Figure 1 Top level CBFM Diagram 3 Only the participants that belonged to CBFM group got this part. 5

Go Physical Detect Physical Location Schedule Actual Meeting Plan a Business Trip Manual Detection Using Authentication Automatic Detection requires Detect Physical Location (2) (a) (b) Figure2. Additional CBFM Diagrams: (a) Go "Physical" and (b) Detect Physical Location 6

Legend for ADOM method 4 Elements Explanation Use case represents a functional requirement from the system (software product). An actor represents a user (a human or a machine). notation Use case A includes (always uses) use case B. Use case B extends use case A in some cases (that are specified in the extension point). Class represents a set of objects that have similar attributes and available methods (operations). Inheritance; the parent element (the top of the triangle) bequeaths its attributes, methods, and relationships) to the child element (in the base of the triangle). The association relation represents a logical relation between elements (classes, or use cases and actors). Aggregation relation represents a whole-part relation such that the part can independently exist. whole Composition relation represents a whole-part relation where the part has no existence without the whole. whole part Stereotypes: Name Explanation Can be associated to «mandatory single» Mandatory single element; exactly one variant of the element Any element should appear in a specific product in the line. «mandatory many» Mandatory many element; a least one variant of the element Any element should appear in a specific product in the line. «optional single» Optional single element; only one versions of it may appear in Any element a specific application. «optional many» An optional many element; one or more variants of this Any element element may appear in a specific product in the line. «variation_point open=true/false A location at which variation may occur. An open variation Any element card= m..n» point enables adding new variants in the product level; card indicates the range of variants that need or can be selected in this variation point. «variant» A variant represents a possible choice in a particular product. Any element «requires» Selection of a specific element requires the selection of Dependencies relations another element. «excludes» Selection of a specific element excludes (requires the Dependencies relations part 4 Only the participants that belonged to ADOM group got this part.

omittion) of another element.

VOF Domain model depicted by ADOM method 5 Figure 1. Top Level Use Case Diagram 5 Only the participants that belonged to ADOM group got this part.

Figure 2. Use Case Diagram elaborating Operate Peripherals

Figure 3. Top level Class Diagram

Part A: comprehension of the domain model For each of the following statements, mark correct or and provide an explanation based on the VOF model. Statement Correctness Explanation 1. A VOF application may have only fax machines, scanners, and printers, without any Personal Computer (PC). 2. Each VOF application needs to enable manual detection (using authentication) of the user's physical location, while planning a business trip. 3. A VOF application may have only a wireless WAN Network. 4. A VOF application may detect physical locations both manually (using authentication) and automatically.

Statement Correctness Explanation 5. A VOF application that handles fax machines may store for each fax machine only its serial number, phone number, paper size, and image quality. 6. A VOF application may perform tasks of sending and receiving emails using an email server. 7. A VOF application may have Personal Computers (PC) which are not laptops, desktops, and Pocket PCs. 8. A VOF application may have a fax machine without the ability to send faxes. 9. A VOF application that supports Pocket PCs has both wired and wireless network communications.

Statement Correctness Explanation 10. A VOF application may not receive/send faxes neither print/ convert/scan documents. 11. A VOF application must have a single element for detecting physical location. 12. The only difference between Desktops and Laptops is that for Desktops a VOF application may store also the physical location. 13. While maintaining a device, a VOF application should support detecting the employee's physical location. 14. The VOF domain supports the specification of servers. A server is a non-personal computer that helps to deliver content that can be accessed through the internet.

Statement Correctness Explanation 15. Any VOF application have either Schedule Actual Meeting and Plan a Business Trip, or none

Part B: Development of a Domain Model 6 After developing many VOF applications, the following changes are requested to the domain model. Refer to each change individually. Shortly describe the changes in the space given for each question and make the actual modifications on the diagrams in the general part (write near each modification to which question it refers). 1. For checking devices two strategies are available: distance-based and attribute-based. In the distance-based strategy the application locates the nearest available devices for the task at hand. For this purpose, the application should detect the physical location of the employee that performs the task, either manually (using authentication) or automatically. In the attribute-based strategy, the employee needs to supply values to different relevant parameters of the device, such as the paper size and the print quality for printers and the paper size and the image quality for fax machines. Each application in VOF domain must support the distance-based strategy, but may support both strategies. 2. A new peripheral is introduced, called All-in-One. This peripheral consists of a fax machine, a printer, and a scanner. Accordingly, it allows sending and receiving faxes, as well as printing, converting, and scanning documents. 3. A VOF application may have a server computer, which is a device that links computers or (electronic) devices together. They often provide essential services across a network, either to private users inside a large organization (LAN) or to public users via the internet (WAN). Many servers have dedicated functionality, such as web servers, print servers (that manage printers), file servers, email servers, and database servers. For each server, the following information is stored: CPU characteristics, RAM characteristics, and optionally the number of hard drives. A print server is a dedicated device that connects one or more printers to a local area network (LAN). It is characterized by at least one printing protocol. 4. VOF applications can support the collaboration of their employee's Personal Computers. This collaboration can be done in three ways: via instant messaging, via hosting, or via 6 Only the participants who played the role of product line engineers got this part.

shared control. If a VOF application supports collaboration, then it must support at least instant messaging. It should also automatically detect the employees' physical locations and ping (test the reach-ability of) the relevant personal computers (the latter is one of the maintenance operations of a personal computer). 5. In VOF applications, planning business trips are classified as either short-distance or long distance trip planning. The trip planning category is determined according to the employee's physical location (and the requested destination). Both trip planning types require reserving hotel activities and ordering local arrangement activities. Long distance trip planning requires in addition reserving flight activities. Part C: Utilization a Domain Model for creating specific Applications 7 Bellow you may find partial requirements for a Brokers application. You are requested to model the parts of each requirement that are in-line with the domain model and fully list the parts of the requirements that violate the domain model. For each violation explain why it violates the domain model. Pay attention: you need to specify also parts that are unambiguously derived from the domain model. Example Assume that the domain model looks like this: DM 1..* A B C 1..2 D E F G H I Requirement 1: application 1 has only A, D1, D2, E, and C. 7 Only the participants who played the role of software (product) engineers got this part, and only the relevant example for their method was presented.

DM No violation A D1 D2 E C G1 G2 G3 H Requirement 2: application 2 has only A, D, E, F, C1, and C2. Answer: DM A D E The specification of maximum of two variants of B is violated (D, E, and F is selected). C is instantiated twice instead of maximum once. G1 G3 H 1. The devices in the Brokers application are a fax machine, 2 laptops, 1 desktop, 1 pocket PC, and a wired LAN network. The fax machine enables copying documents and sending immediate or delayed faxes, but it does not support receiving faxes. 2. The only physical action that the Brokers application supports is planning a business trip. While performing this action, the system needs to detect the physical location of the employee, both manually (using authentication) and automatically, in order to prevent impersonator.

3. The broker application has a single peripheral, called All-in-One that consists of a fax machine, a printer, and a scanner. This device enables only copying, printing, and saving documents. 4. While operating a peripheral in the broker application, notifications are sent to both employees (via emails) and log files. Furthermore, when performing a task on a device, three main checks are performed: accessibility, feasibility, and profitability. 5. While preparing an actual meeting the broker application enables allocating a room for the meeting according to the location of the employee who requests the meeting. Furthermore, the allocated room should include a slides projector and be near a printer. These peripherals, as well as the laptop brought by the meeting initiator to the room, should be connected via a wireless WAN network.