Session 5 Lecture
Session 5 Lecture
MBIS4004
Session 5 – Object-Oriented Systems Analysis and
Design Using UML
WARNING
This material has been reproduced and communicated to you by or on behalf of the Australian
Institute of Higher Education pursuant to Part VB of the Copyright Act 1968 (the Act).
The material in this communication may be subject to copyright under the Act. Any further
reproduction or communication of this material by you may be the subject of copyright
protection under the Act.
Figure 10.4 An Overall View of U M L and Its Components: Things, Relationships, and Diagrams
Overall view of UML
UML Category UML Elements Specific UML Details
Relationships Behavioral Communicates
Relationships Includes
Extends
Generalizes
Diagrams Structural Diagrams Class Diagrams
Component Diagrams
Deployment Diagrams
Diagrams Behavioral Diagrams Use Case Diagrams
Sequence Diagrams
Communication Diagrams
Statechart Diagrams
Activity Diagrams
Figure 10.4 An Overall View of U M L and Its Components: Things, Relationships, and Diagrams
Commonly Used UML Diagrams
• Use case diagram
– Describing how the system is used
– The starting point for UML modeling
• Use case scenario (although technically it is not a diagram)
– A verbal articulation of exceptions to the main behavior described by
the primary use case
• Activity diagram
– Illustrates the overall flow of activities
– Each use case may create one activity diagram.
Commonly Used UML Diagrams
• Sequence diagrams
– Show the sequence of activities and class relationships
– Each use case may create one or more sequence diagrams.
• Class diagrams
– Show classes and relationships
– Class diagrams, showing the classes and relationships. Sequence
diagrams are used (along with CRC cards) to determine classes.
• Statechart diagrams
– Show the state transitions
– Each class may create a statechart diagram, which is useful for
determining class methods.
Commonly Used UML Diagrams
Figure 10.7 A Use Case Scenario is Divided into Three Sections: Identification and Initiation, Steps
Performed, and Conditions, Assumptions, and Questions
City Bus Application Use Case
• Every city bus will be equipped with an application to
receive preloaded card fare payments. This
application will read passengers’ card when getting
in and out of the bus to calculate fares. Drivers log
in and out when starting his/her route, and print
tickets when passenger requires it. An admin user
will be able to log in and download reports.
• use diagrams.net and prepare a Use Case for the
City Bus application.
City Bus Application Use Case
SOLUTION
Activity Diagrams
• Show the sequence of activities in a process, including sequential and parallel
activities, and decisions that are made
• Symbols
– Rectangle with rounded ends
– Arrow
– Diamond
– Long, flat rectangle
– Filled-in circle
– Black circle surrounded by a white circle
– Swimlanes
Activity Diagrams
Figure 10.13 A Class Diagram for Course Offerings: the Filled-In Diamonds Show Aggregation and
the Empty Diamond Shows a Whole-Part Relationship
Types of Classes
• Entity classes
• Represent real-world items
• The entities represented on an entity-relationship diagram
• Interface classes
• Provide a means for users to work with the system
• Human interfaces may be a display, window, Web form, dialogue box, touch-tone
telephone, or other way for users to interact with the system
• System interfaces involve sending data to or receiving data from others
• Abstract classes
• Linked to concrete classes in a generalization/specialization relationship
• Cannot be directly instantiated
• Control classes
• Used to control the flow of activities
• Many small control classes can be used to achieve classes that are reusable
Relationships
• Relationships are connections between classes, similar to those found on
an E-R diagram.
• These are shown as lines connecting classes on a class diagram. There
are two categories of relationships:
• associations and
• whole/part relationships.
Associations
• The simplest type of
relationship
• Association classes are those
that are used to break up a
many-to-many association
between classes
• An object in a class may have
a relationship to other objects
in the same class, called a
reflexive association.
Figure 10.18 An Example of an Associative Class in Which a
Particular Section Defines the Relationship between a
Student and a Course
Whole/Part Relationships
• When one class represents the whole object, and other classes represent
parts
• Categories
– Aggregation
• A “has a” relationship
• Provides a means of showing that the whole object is composed of the sum of its
parts
– Collection
• Consists of a whole and its members
• Members may change, but the whole retains its identity
• A weak association
– Composition
• The whole has a responsibility for the parts, and is a stronger relationship
• If the whole is deleted, all parts are deleted
Aggregation
User interface
Application Logic
Phases
Structure Analysis Design Implementation
Behavior
Aspects
Presentation
Hypertext
Customization
Content
Phases
Structure Analysis Design Implementation
Behavior
Aspects
Invariant
Source: Web
Engineering –
Kappel et al.
State Machine Diagrams
• For dynamic Web applications, they depict important states
and events of objects, and how objects behave in response to
an event (transitions)
• Show the life-cycle of an object.
• Used only for state-dependent objects
State Machine Diagram - Example
• The life-cycle of a Paper object in the conference paper
submission system.
Source: Web
Engineering –
Kappel et al.
Presentation Modeling
• Purpose: To model the look & feel of the Web application
at the page level.
• The design should aim for simplicity and self-explanation.
• Describes presentation structure:
– Composition & design of each page
– Identify recurring elements (headers/footers)
• Describes presentation behavior:
– Elements => Events
Levels of Presentation Models
• Presentation Page – “root” element; equivalent to a
page container.
• Presentation Unit
– A fragment of the page logically defined by grouping related
elements.
– Represents a hypertext model node
• Presentation Element
– A unit’s (node’s) informational components
– Text, images, buttons, fields
Presentation Model - Example
• Paper and Author Page Templates
Source: Web
Engineering
– Kappel et
al.
Let’s
talk about A2!
A2 – Part 1 Practical Individual
• Weight: 20%
• Due: Session 8
• Via Moodle During class.
• Individual
• Duration: 1 hour
• Number of questions: 2
• Basic diagrammatic modelling skills to systems
analysis will be assessed.
A2 – Practical Individual
INSTRUCTIONS:
• You will have to solve:
• ONE exercise from “Exercise Group 1”: You will be provided case type questions based
on the topics covered in Week 1-7.
• ONE exercise from “Exercise Group 2”: You will be provided Modelling/diagramming
type questions based on the topics covered in Weeks 1-7. For example, Data flow
diagrams, context and diagram 0, use case, activity, class and sequence diagrams.
A2 – Practical Individual
• You may use www.creately.com, www.diagrams.net, MS
Visio or any other modeling tool to create diagrams.
• NO HANDWRITING ACCEPTED or solution in
NOTEBOOK. You must demonstrate your skills at
using diagramming technologies.
• Submission will be through moodle as part of the
timely completion and submission of quiz.
Review: Exercises
Exercise 1
As part of your systems analysis project to update the automated accounting
functions for Xanadu Corporation, a maker of digital cameras, you will interview
Leo Blum, the chief accountant. Write four to six interview objectives covering his
use of information sources, information formats, decision-making frequency,
desired qualities of information, and decision-making style.
a. In a paragraph, write down how you will approach Leo to set up an interview.
b. State which structure you will choose for this interview. Why?
c. Leo has four subordinates who also use the system. Would you interview them
also? Why or why not?
d. Write three open-ended questions that you will email to Leo prior to your
interview. Write a sentence explaining why it is preferable to conduct an
interview in person rather than via email.
Exercise 2
You are hired as a systems analyst by an organization that is planning to redesign
its website. Consider the following situations and describe the most appropriate
sampling method for each of them.
a. To gauge employee perception towards website redesign, you post a notice
on the intranet portal asking the employees to post their opinions.
b. You design a customer survey to find out which website features they wish
to see redesigned.
c. You seek customer opinions through forms available at three of the
company’s 20 helpdesks.
Explain why the answer to each situation would vary.
Exercise 3
As part of a larger systems project, Clone Bank of Clone, Colorado, wants your
help in setting up a new monthly reporting form for its checking and savings
account customers. The president and vice presidents are very attuned to what
customers in the community are saying. They think that their customers want a
checking account summary that looks like the one offered by the other three banks
in town. They are unwilling, however, to commit to that form without a formal
summary of customer feedback that supports their decision. Feedback will not be
used to change the prototype form in any way. They want you to send a prototype
of one form to one group and to send the old form to another group.
a. In a paragraph discuss why it probably is not worthwhile to prototype the
new form under these circumstances.
b. In a second paragraph discuss a situation under which it would be advisable
to prototype a new form.
Exercise 4
Henry has been hired as a systems analyst to work on an information system
project for a library. Currently, books are ordered manually. Three librarians
receive a checklist containing details of forthcoming books and journals every
week. Each one places checkmarks against the books they think should be ordered.
The three marked lists are then reviewed by a head librarian, who finalizes the list
of books and the quantity to be ordered. The final list is sent to a clerk, who mails
it to the appropriate publishers for orders.