• Keine Ergebnisse gefunden

Software Product Line Engineering Summer 2019, Assignment 5

N/A
N/A
Protected

Academic year: 2022

Aktie "Software Product Line Engineering Summer 2019, Assignment 5"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Software Product Line Engineering

Summer 2019, Assignment 5

Prof. Dr.-Ing. Norbert Siegmund Stefan Mühlbauer, M. Sc.

Assignment issued: Friday, 7 June, 2019

Submission due: Thursday, 20 June, 2019, 23:59 CEST Presentantion: Friday, 21 June, 2019

Task 1: Theory of Feature-Orientation (14 marks)

(a) Explain the terms feature, collaboration, mixin, jampack, and classas well as the relations between them. (5 marks)

(b) What are the advantages and disadvantages ofmixinsandjampacks, under which conditions would you use which technique? (3 marks)

(c) In object-oriented programming,inflexible extension hierarchiescan arise when implementing variability. How does feature-oriented programming address and bypass this problem? (1 mark)

(d) How does the AHEAD composer address thepreplanning problem? (2 mark) (e) What is thefeature traceability problem? (1 mark)

(f) Is the feature traceability problem prevalent in your implementations of the chat SPL from the previous as- signments? If so, what are the consequences? (2 marks)

Task 2: Components and Features (DE students only, 5 marks)

(a) Why is it hard to find the appropriate size for components (library scaling problem)? Which properties of a component are opposing each other in this context? (3 marks)

(b) How can the library scaling problem be addressed? (2 marks)

Task 3: Feature-Oriented Implementation (12 marks)

(a) Re-implement the chat application SPL from the previous assignments using feature-oriented programming and the AHEAD composer. The application should have the following features, which can have a simplistic realization: Color, Authentication, GUI (no command line interface required!), Logging (8 marks, 2 marks per feature)

(b) Extend the implementation with a new optional featureUserNames. The feature adds support for user names (e.g.,/username bob login of user bob) and provide the possibility to send private messages to other users (e.g.,/msg alice Hi, My name is bob! sends ”Hi, My name is bob!” to Alice) (4 marks)

Note: The AHEAD composer is designed for and compatible with Java 1.4. Therefore, some features from more recent Java versions may not be supported. To change the Java version of an Eclipse project right click on the project, select

”Properties” -> Java Compiler -> Enable checkbox ”Enable project specific questions” -> Set ”Compiler compliance level”

to the desired version and rebuild the project.

Submit your answers (PDF) and implementation (FeatureIDE project) as an archive with name and matriculation number until 20 June, 23:59 CEST tostefan.muehlbauer@uni-weimar.de.

Referenzen

ÄHNLICHE DOKUMENTE

(a) The development process for a software product line includes domain and application engineering. What are the outcomes of the last step of domain and application

From the manual page, extract the features that correspond to the compression mode (2 points), and construct a feature model (6 points) with FeatureIDE.. Note: The application

a) ~ “A software product line (SPL) is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment

In this task, we will merge the existing implementation and the feature model to make the chat application configurable using a pre-processor. Re-implement the application from

Specify a pointcut in AspectJ to extend the following joinpoints in the provided chat application (1 mark each, except (d) and (g)). (a) every execution of method Client.send(text)

 Use case of aspects and collaborations depend on the implementation problem.  Aspects and collaborations have different pros

I using global directives, then 5 bytes are reserved for var in the dataseg segment. In order to alert you to accidental duplication of globally-accessible names in

We defined a UML-DOP profile that permits to represent software product line variability using the popular UML notation. Because it is based on delta- oriented programming, the