- Tips and Tricks
Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Release date: Monday 28.10.13 - Due date: Sunday, 03.11.13, 23:59
For Media Informatics Students: Please do as well the following simple tasks:
Imagine you are working in a company and should create a spell-checking software for a client. To distillate the domain model one of the first steps is to create an initial ubiquitous language. Your task is to create a Concept Map of the ubiquitous language which contains the elements and relations of the domain. Your map should contain 5-10 elements. Please submit your final concept map as an image file.
Hint: From the Wikipedia article on Concept Maps (http://en.wikipedia.org/wiki/Concept_map): A concept map is a diagram showing the relationships among concepts. It is a graphical tool for organizing and representing knowledge. Concepts, usually represented as boxes or circles, are connected with labeled arrows in a downward-branching hierarchical structure. The relationship between concepts can be articulated in linking phrases such as “gives rise to”, “results in”, “is required by,” or “contributes to”.
Hint: A good strategy for solving this task is to do a brainstorming about the domain in your group.
|2+4 = 6 points|
a.) Describe and define in your own words what a domain entity and a value object is (1-2 sentences for each).
b.) Implement in Java a domain entity Person class and value object Address class. Explain with these, how to test for equality of domain entities and value objects, as well as the differences between both equality tests. Submit both source classes as well as your explantation.
|2×3 = 6 points|
1. Domain: A crayon is a stick of colored wax that can be used for writing or drawing. In a kindergarten a set of wax crayons is provided for the children. In the case that a color is empty, it is replaced in the evening. The children normally are interested in the different colors, but do not differentiate between crayons of the same color.
a.) Are crayons in this example Entities or Value objects?
b.) Explanation (1-3 sentences).
2. Domain: Postage stamps have been used worldwide since the 1840s. Traditional philately is the study of the technical aspects of stamp production and stamp identification, including the design of a stamp, any overprints on the individual stamp or the conditions of the stamp. A special or rare postmark as well as a perfect condition can substantially add to the value of an individual stamp for a collector.
c.) Are stamps in this example Entities or Value objects?
d.) Explanation (1-3 sentences).
|3×3 = 9 points|
One of the core questions in domain modeling is, whether a domain element is an entity or a value object. This answer mostly depends on your domain. Present for each element a domain in which it represents an entity and one domain in which it represents a value object. Prefer a short description for your argumentation (1-2 sentences) and explain why it is an entity or value object in your chosen domain.
b.) Seats in an air plane
c.) Exam questions
In the following task you should present a domain and use the below information for argumentation.
There are seven different denominations of the euro banknotes, each having a distinctive colour and size. The design for each of them has a common theme of European architecture in various artistic eras. The obverse of the banknote features windows or gateways while the reverse bears different types of bridges. The architectural examples are stylised illustrations, not representations of existing monuments. [..] The euro banknotes are pure cotton fibre, which improves their durability as well as making the banknotes have a distinctive feel. [..] Each note has a unique serial number, which is printed as a checksum onto the note. – English Wikipedia Article on Euro banknotes
a.) Name and describe shortly the domain that you want to use.
b.) Are the banknotes in this example in your chosen domain Entities or Value objects?
c.) Explanation (1-3 sentences).