Assignment 2: CSC2407 Introduction To Software Engineering Semester 2, 2021
Assignment 2: CSC2407 Introduction To Software Engineering Semester 2, 2021
Assignment 2
Due Date: 11:55pm AEST (23:55 UTC/GMT) Sunday 5 Sept 2021
Weighting: 15%
Total Marks: 55
Please submit this assignment using the assignment submission Portal on the
course web page.
Submit a PDF file. Do not submit a wordprocessor file (e.g. docx format). If
you use Word, you can export as PDF directly from Word 2007 or later and
OpenOffice, but with Word 2003 you need to use an extra application like
PDFCreator1 to produce a PDF version.
Narrative:
The drop shipping seller must set up a drop shipping website inventory before online
customers can begin buying using the shopping facility. He or she needs to create a point of
sales system which allows customers to pick the products they like from the site and put
them into a checkout basket. The seller can also apply certain discounts that may come
around seasonally, which their vendor / suppliers can give - to market the product more
competitively. During purchase, the checkout should apply price adjustments in import /
export duties, delivery and taxes. It should also securely authenticate the buyer’s
credentials and debit his account. A receipt should be given to the buyer at the end of the
transaction. The seller then passes on a sale order to the vendor / supplier who then ships
the it to the customer. (Ignore refunds, returns or customer service)
You must provide a glossary that explains any such terms used in your
specifications which might not be clear. Again, you may have to be creative
when something is unclear, but the terms mentioned above should already
be known to you. In your definition, as well as explaining the concept, you
should list what properties or attributes define or uniquely identify such an
entity as well as other important attributes. This will help you to know how
the system will work and what needs to be entered. For example, given a
basket of checkout items, what else is needed to define a checkout
submission.
Your answer must take the form of a numbered (numbered using a letter)
goals, which you must identify with from the narrative, followed by a
glossary, followed by numbered requirement specifications. The
requirement specifications should reference the goals.
Draw a UML class diagram that models the aspects of software licensing
security solutions which are described below:
1
http://sourceforge.net/projects/pdfcreator
(a) Every development using software licensing security begins with the
purchase of a licensing development kit.
(b) With each purchase, the developer is handed over a unique Qual Code
(Batch Qualification Code) and a corresponding hashed vendor key.
(c) The Qual code is used to authenticate with different protection keys (of
different applications from the same developer) and differentiate vendor
keys from those of other software developers.
(d) The Qual Code contains five alphanumeric characters that represent the
developer’s unique vendor code.
(f) Features can offer implicit (e.g. identify .exe files, software modules,
extension and plug-ins, etc.) or explicit (e.g. file format conversion, print,
save, etc.) functionalities.
(h) Each protected software product has some features and is associated
with a Qual Code.
(i) The protection key is generated from a unique feature id and name
combination.
(j) Each software product can be further categorized according to the level
of entitlement/s it gives to its user through a specific locking type
mechanism (using a combination of protection keys).
(k) For example, a software base product can contain all the product
attributes such as features, licensing data and memory, and can be used
as a product offered for sale.
1
http://sourceforge.net/projects/pdfcreator
(m) Every time a purchase for a product feature is made, the product
entitlement opens up to the user and is authenticated with a unique
protection key.
Hints
• Do it first using pencil and paper, then use a UML tool to create this
diagram. Recommended UML editors can be found in the “Software
Engineering Tools” link on studydesk.
As a starting point, you are told what the following main features are:
• The garage should be able to operate under two modes of control:
centralized and non-centralized.
1
http://sourceforge.net/projects/pdfcreator
• When the garage is first operated, it should start from a non-centralized
mode of control and allow for a selection to either remain in a non-
centralized or be switched to a centralized mode of control.
• In a non-centralized mode of control, operation of the garage is basically
manual.
• In a centralized mode of control, operation of the garage can be selected as
automatic or manual.
• In automatic mode, entry gates will only open when the number of cars in
the garage are lesser than the occupying lots in the garage.
• Each lot has a sensor above it which detects the presence of a car.
• In manual mode, the number of cars and their corresponding occupying lots
in the garage have to be manually managed as the entry / exit gates no
longer respond to these sensors.
• The automated garage system should also connect to an off-street parking
sign that notifies customers of availability of parking lots before turning into
the filter lanes.
• If the parking garage is “not full”, an entry sign should be lit.
• If the parking garage is “full”, the entry sign to be dimmed.
• The gates should stamp a start time from when the vehicle enters the garage.
• The sensors should record where the vehicle is parked and start counting
down the duration of the lot at which it is parked.
• On exit, the sensors recorded time and the start to exit time should match.
• If they match, the customer is charged and the gate opens.
• If they do not match, the system notifies the on-site security who then
attends to the situation.
Your task is to draw a state chart diagram for the system described above. Your
diagram should account for control over the types of vehicles allowed into the
parking lot. Essentially, no vehicles above one ton should be allowed into the
automated parking garage. Additionally, two-wheeled vehicles should be also be
properly accounted for by your design.
Hints
• Do it first using pencil and paper, then use a UML tool to create this
diagram. Recommended UML editors can be found in the “Software
Engineering Tools” link on studydesk.
1
http://sourceforge.net/projects/pdfcreator
• A nested state diagram would reduce complexity.
1
http://sourceforge.net/projects/pdfcreator