7/17/2019 Laureate International Universities
https:
laureate-au.blackboard.com/webapps
lackboard/content/listContent.jsp?course_id=_75722_1&content_id=_7771613_1&mode=reset 1/3
MODULE 3 - SOFTWARE DESIGN & CONTROLMODULE 3 - SOFTWARE DESIGN & CONTROL
Introduction
The �rst module introduced you to the notion of compute
programming and contextualised our use of C++ as a language to learn
and set you up for a career as an information systems professional. We
also introduced you to the basics of writing programming code,
including writing to the standard output and accepting values at the
keyboard. This led to a discussion of how you would temporarily store
data in variables, a
ays and structures and, since we tie the activities to
the assessments, you practiced using these ideas while you worked with
a compiler. Indeed, you might fall in love with programming and turn to
it as a career as well!
Part of the learning journey in computer programming is learning a way
of thinking that may be foreign or new to you. Solving programs using
computer programming requires you to think in a rather linear manne
as you ‘empathise’ with the computer and what it needs in order to the
job on your behalf. As you will learn in this module, there are othe
aspects that computing and information systems professionals need to
e cognisant. Chief among them is considering how users of the
computer program will be presented with information. How will they will
interact with your software and how they will get what they need from it.
You will undoubtedly recall a system you were required to use that was
not ‘user-friendly.’ As you commence this second module, think about
what that means, ‘user-friendly.’ Could you de�ne what it means if you
needed to and you did not have access to an open Google search
window? What is it about the software that makes it ‘friendly’? Is it that
the software works with you, as a user? Is it that the software does
exactly what you were expecting it to do? Is it that the user interface
appeared to be intuitive and to was designed to be empathic toward
your needs and wants out of it? While it is not entirely the scope of this
7/17/2019 Laureate International Universities
https:
laureate-au.blackboard.com/webapps
lackboard/content/listContent.jsp?course_id=_75722_1&content_id=_7771613_1&mode=reset 2/3
subject to be thinking about user friendliness, we introduce an
important aspect of software design in this module; use cases, which are
an industry standard method of communicating how the user will
interact with systems.
We will also continue your exposure to computer programming through
C++. In this module we introduce further programming constructs that
allow the programmer to have greater control over the �ow of the
program. To do this e�ectively, you need to have a �rm grasp of the
variables, a
ays and structures that we introduced in module 1. We
explore these in the second half of the module, as you consider using
variables to control the �ow of the program.
To �nish the module o�, we will also be introducing the notion of
functions and recursion. These constructs are other options that allow
the programmer to separate tasks that might be repeated and then
write them only once; this is the main focus and bene�t of using
functions. Recursion is a special type of function that calls itself, exiting
when a predetermined condition has been met.
Ready to get your hands dirty?
Learning Outcomes
Reading and studying this module and fully attempting all of the learning
activities will help you to:
identify the base use cases in a given scenario;
identify included and extended use cases in a given scenario;
draw and critique use case diagrams in small teams;
test conditions using the ‘if’ and ‘switch’ statements in C++;
use loops to iterate through code segments in C++;
use functions to package code segments for re-use in C++; and
appreciate recursive functions in C++.
7/17/2019 Laureate International Universities
https:
laureate-au.blackboard.com/webapps
lackboard/content/listContent.jsp?course_id=_75722_1&content_id=_7771613_1&mode=reset 3/3
In order to attain these learning outcomes, be sure to come to class (o
attend webinars when scheduled) having read the module content—
including the readings—and having made a solid attempt of the
activities. It is essential that you do this as your classes are not designed
to instruct, but to enrich your understanding of your self-directed
learning through collaborative exercises, getting formative feedback and
challenging your assumptions. You should come to class (or the
webinars) fully prepared to contribute to the learning of others as well.
You should discuss this approach with the learning facilitator if you’re
unsure.
Contents in the Module
There are two parts to this module, 3.1 and 3.2. In the �rst part, we
introduce basic aspects of software design concerning the user. This �rst
taste of the uni�ed modelling language (UML) is followed up in
subsequent subjects (i.e. Systems Analysis and Design) and for now we
will focus only on a small subset of UML. In the second part, we resume
our hands-on approach, introducing you to loops, conditions, functions
and recursion. These constructs allow the programmer to control the
�ow of the program and be able to handle e
ors in a graceful manner.
If you are attempting this subject in a standard twelve-week trimester,
each part of the module should take you one week. If you are taking the
subject in a condensed or intensive mode, dedicate half a week to each
part.
Â
CLICK HERE TO RETURN TO MODULE TOP
PowerPoint Presentation
Software Design and
Control
MODULE 3 – PART A CONTINUATION
07/09/2019 MODULE 3: SOFTWARE DESIGN AND CONTROL 1
Activities 2.1 Part A
(needed for Assignment 2a – July 7)
McDonald’s Family Restaurants has a long history of evolving with the needs of its customers
and of adapting to changes in technology. One technological change that suited its business
structure and operations was the use of touch-screen terminals in its restaurants. The terminals
allow customers to place their orders, including making customisations (e.g. extra cheese, no
mayonnaise, etc.) and to pay for their order without needing to interact with a cashier. This, in
turn, allows McDonald’s to put more staff into the area where meals are prepared in the hope of
increasing the throughput of orders. The terminal is required to present the menu available to
customers, allow them to place an order, customise their order. The terminal should then allow
the customer to finalise and pay for their letter. It should finally print a receipt for the customer
to take to the counter when collecting their meal. (This scenario is presented first because it is
very similar to the worked example in this half of the module.)
07/09/2019 MODULE 3: SOFTWARE DESIGN AND CONTROL 2
Activities 2.1 Part A
(needed for Assignment 2b – July 21)
Prepare UML use case diagrams for the following scenarios, making assumptions where necessary:
2. PumpIt Power Gyms is a franchise chain of 24-hour gyms that operate across the country. Franchisees run and
operate each of the gyms and the franchisor supports the ongoing operation through collective marketing, and
standardised software. The system has access points at the front desk where members (the name given to
customers when they have signed up to the gym) first enter and sign-in. The system then must allow a new
customer to sign up to become a member, taking various personal information and issue them with a
membership card that provides their authentication for entering the gym. It should request a monthly
membership payment, that the customer makes. It should also assign the member a personal trainer and keep
track of their progress through a plan of fitness prescribed by the trainer. If the member likes, they can sign up for
classes such as Pilates and Yoga and also for fitness competitions. The gym will attract sponsors from the local
area so that the winner of competitions will have a prize.
3. The local municipal li
ary has a number of books in its collection, that bo
owers can bo
ow for a predefined
time. The li
ary should allow new bo
owers to sign up and then to bo
ow from that day. The li
ary has
determined that books should be returned within 8 weeks and if not, a late fine is to be applied to the bo
ower’s
account. For each week the book is late, up to a maximum of the cost of the book’s replacement value, the fine is
applied. Bo
owers are required to pay their outstanding fines before they can bo
ow any other books. The
li
ary also provides access to specialised resources such as microfilm, newspapers, magazines and databases, all
of which cannot be bo
owed. The li
ary runs a special program called story time, which is open to any bo
ower
who has no outstanding fines to
ing their children along on a Tuesday morning for somebody to read stories.
07/09/2019 MODULE 3: SOFTWARE DESIGN AND CONTROL 3