Vous êtes sur la page 1sur 4

MIS 6308

Fall 2015
Assignment 1

You are interested in analyzing and modeling the sales function of Visual Paradigm. The following URL
provides you with some idea about the processes and data used by Visual Paradigm.
http://www.visual-paradigm.com/shop/vp.jsp
Please go over the steps a consumer uses to purchase Visual Paradigm. Examine the data and process
steps and answer the following questions.
Question 1:
One important class you should be able to identify for this sales function is Visual Paradigm Software.
Show the attributes for this class. Make sure that the attributes you include for classes are adequate to
capture all the data the company seems to maintain for the software.
Solution:

Alternate Solution:

Question 2:
Two important steps in the sales function getting a Quote and buying. Identify methods for the classes
you identified in your answer to question 1 to model these steps.
a) identify the methods you will have in each class to model the above steps.
b) briefly, using a single sentence, state the function of each method you have defined.
Solution:

buySoftware: Function includes steps for buying a software by applying license, computing price and
applying discount on it.
getQuote: Retrieves the feature list, cost, discount, license information of the software.

Question 3:
Suppose you want to model the different editions of Visual Paradigm Software using generalization
and/or aggregation. Show how you would model it. Please show the attributes and methods (for the get
quote and buy steps mentioned in question 2) for each class in your model.

Solution:

Question 4:
Consider the following classes for Visual Paradigm.
License
-License#
-Expiry Date
+Verify License
Expiry
SubscriptionLicense
PerpetualLicense
-Maintenance Expiry +Provide
Date
Maintenance
+Provide
Maintenance

In the above diagram,


a) Which attributes are inherited by (i) PerpetualLicense? (ii) SubscriptionLicense? (iii)
License?
Solution:
1. Perpetual License inherits License# and Expiry Date, as the access specifier is
private (in the parent class) it may not be visible in the child class, but it is still
inherited.
2. Subscription License inherits License# and Expiry Date, as the access specifier is
private (in the parent class) it may not be visible in the child class, but it is still
inherited.
3. License do not inherit any attributes as it is the parent class.
b) Which methods are inherited by (i) PerpetualLicense? (ii) SubscriptionLicense? (iii) License?
Solution:
1. Perpetual License inherits Verify License method from the parent class License.
2. Subscription License inherits Verify License method from the parent class License.
3. License do not inherit any methods as it is the parent class.
c) Which element in the above diagram is an example of polymorphism?
Solution: Provide Maintenance method in the sub classes exhibit polymorphism. This
method has its own implementation for each of the class.
d) What is the interface for PerpetualLicense?
Solution: The public method Provide Maintenance is the interface of this class. The public
method Verify License Expiry which is inherited from the parent class License is also an
interface for this class.

Vous aimerez peut-être aussi