0% found this document useful (0 votes)
34 views

Assignment 2: CSC2407 Introduction To Software Engineering Semester 2, 2021

The document describes an assignment for an introduction to software engineering course. It includes 3 questions asking students to: 1. Create requirements specifications from a narrative about an online drop shipping point-of-sale system. This includes identifying goals, a glossary, and numbered requirements. 2. Draw a UML class diagram modeling aspects of software licensing security solutions based on descriptions of classes, attributes, and associations. 3. Design an automated parking garage using a statechart diagram accounting for control over vehicle types and centralized vs non-centralized operation modes.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Assignment 2: CSC2407 Introduction To Software Engineering Semester 2, 2021

The document describes an assignment for an introduction to software engineering course. It includes 3 questions asking students to: 1. Create requirements specifications from a narrative about an online drop shipping point-of-sale system. This includes identifying goals, a glossary, and numbered requirements. 2. Draw a UML class diagram modeling aspects of software licensing security solutions based on descriptions of classes, attributes, and associations. 3. Design an automated parking garage using a statechart diagram accounting for control over vehicle types and centralized vs non-centralized operation modes.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

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.

1. [15 Marks] Requirements Engineering


The question relates to the administrative part of an online (i.e. web based)
drop-shipping, Point-Of-Sales (POS) system tool that might be suitable for
regulating secured purchases at checkout carts such as those on shopify,
oberlo, etc. The question provides a narrative, which you must turn into
structured specifications.

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)

Human roles, computing systems, or concepts referred to in the narrative


are not explained. For example, the software developers who are one of the
1
http://sourceforge.net/projects/pdfcreator
target audiences of these specification may not have studied sales and
accounting before and may not understand terms like “delivery”, “tax”,
“checkout”, “debit”, “receipt”, etc.

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 specifications should be more physical than the narrative. For


example, how does the seller record the customer’s purchases? It is quite
evident that the seller is not buying for the customer, but is an order
fulfilment process telling the system about how much stock is left after each
purchase. How will he know when he needs to replenish his stocked items?
How will he inform the system when new stocks have arrived? How will he
update the system when he wants to advertise and sell new products
through the POS? Will the seller keep an inventory? Will it be managed or
outsourced? There are plenty of other possibilities. You may find that you
need to add things to the glossary that were not mentioned in the narrative.

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.

2. [30 Marks] Class Diagrams


Software licensing security is a two-pronged approach – to firstly, ensuring
that users remain in compliance with developer license agreements and
secondly, to implementing anti-piracy measures. The common goal, is to
maximize profits and minimize losses from the sale of developed
application/s.

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.

(e) A feature is an identifiable functionality of a developed application.

(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.

(g) Individual features can be locked and / or unlocked using generated


protection keys from both Qual code and vendor key.

(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.

(l) A provisional product can be packaged as a distributed trialware where


key essential features remain locked or that its use is limited to a specific
timeframe.

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.

(n) The user could be an individual customer or a company.

(o) Protection keys are generated on fulfilment of purchase orders and


authenticated online through internet with a software licensing security
AAA server.

Your model must show:


• Named classes
• Named associations and association multiplicity
• Example attributes of classes (at least 3 attributes but as many as possible)

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.

3. [10 Marks] Statechart Diagram


In this question, you are required to design an automated parking garage.

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

You might also like