System Development Methods
CT00046-3-2
System Design – Part 2
Topic & Structure of the Lesson
Unified Modeling Language (UML) and examples of UML
diagrams.
Concept of user interface design and Human-Computer
Interaction (HCI), including basic principles of user-centered
design.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 2
Learning Outcomes
At the end of the module, you should be able to:
1. Describe the Unified Modeling Language (UML) and
examples of UML diagrams.
2. Explain the concept of user interface design and human-
computer interaction, including basic principles of user-
centered design.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 3
Key Terms you must be able to use
If you have mastered this topic, you should be able to use the
following terms correctly in your assignments and exams:
UML and UML diagrams.
Concept of user interface design, human-computer
interaction, and basic principles of user-centered design.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 4
Unified Modeling Language (UML)
and examples of UML diagrams
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 5
Influence of Software Design
Process Centered Design
Designing software based on automation of the process
Examples: Ticketing Machine, Manufacturing process, Hotel
booking, etc.
Data Centered Design
Designing software based on processing large data.
Examples: Big Data, Shopping, Immigration system, flight
management.
User Centered Design
Designing software based on human behavior
Examples: AI, games, social sites, navigation applications, etc.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 6
Unified Modeling Language (UML)
Unified Modeling Language (UML) is a widely used method of
visualizing and documenting software systems design.
UML uses object-oriented design concepts, but it is
independent of any specific programming language and can be
used to describe business processes and requirements
generally.
UML can be used to design, discuss, present and event test a
software component before its built.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 7
Unified Modeling Language (UML)
Traditional versus Object-Oriented Approaches
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 8
Unified Modeling Language (UML)
TWO different views of UML diagrams
Static / Structural view
– Emphasizes the static structure of the system using objects,
attributes, operations and relationships.
– Used for data and process-oriented development approach.
– Presented through - class and entity relationship diagrams.
Dynamic / Behavioral view
– Emphasizes the dynamic behavior of the system by showing
collaborations among objects and changes to the internal states of
objects.
– Used for a user and some process-oriented development
approaches.
– Presented through sequence diagrams, activity diagrams, and state
machine diagrams.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 9
Unified Modeling Language (UML)
TWO different views of UML modeling
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 10
Examples of UML Diagrams
Behaviour Diagrams
An Activity diagram represents workflows in a graphical way.
• Describes the business workflow or the operational workflow of any
component in a system.
A State machine diagram is similar to an activity diagram.
• Known as a state diagram or state chart diagram.
• Describes the behavior of objects that act differently according to the
state they are in now.
A Use case diagram gives a graphic overview of the actors involved in a
system,
• Shows different functions needed by those actors and how these
different functions interact.
A Sequence diagram shows how objects interact with each other and the
order in which those interactions occur.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 11
Examples of UML Diagrams
Structure Diagrams
A class diagram is the main building block of any object-oriented solution.
• It shows the classes in a system, attributes, and operations of each class
and the relationship between each class.
A component diagram displays the structural relationship of components of a
software system.
• Mostly used when working with complex systems with many components
A deployment diagram shows the hardware of your system and the software
in that hardware.
• Useful when your software solution is deployed across multiple machines
with each having a unique configuration.
Object Diagram referred to as Instance diagram - very similar to class
diagrams.
• Show the relationship between objects, but they use real-world examples.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 12
Concept of user interface design and human-
computer interaction, including basic principles
of user-centered design.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 13
User Interface Design
A user interface (UI) describes how users interact with a computer
system, and consists of all the hardware, software, screens,
menus, functions, output, and features that affect two-way
communications between the user and the computer.
Three aspects of the user interface:
Perceptual Aspects
• What the user sees, hears, touches
• Screen objects, buttons
Physical Aspects Conceptual Aspects
• Devices used •What the user understands
• Documents, Forms about the system
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 14
User-Centered Design Principles
Understand the Business
• Understand the underlying business functions and how the system supports
individual, departmental, and enterprise goals.
• The overall objective is to design an interface that helps users to perform their jobs.
Maximize Graphical Effectiveness
• A well-designed interface can help users learn a new system rapidly and be more
productive.
Think Like a User
• The interface should be flexible enough to accommodate novices as well as
experienced users.
Use Models and Prototypes
• Construct models and prototypes for user approval.
• An interface designer should obtain as much feedback as possible, as early as
possible.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 15
User-Centered Design Principles
(continued)
Focus on Usability
• Include all tasks, commands, and communications between users and the
information system.
Invite Feedback
• Even after the system is operational, it is important to monitor system usage and
solicit user suggestions.
• You can determine if system features are being used as intended by observing and
surveying users.
Document Everything
• Document all screen designs for later use by programmers.
• If you are using a CASE tool or screen generator, number the screen designs and
save them in a hierarchy like a menu tree.
• User-approved sketches and storyboards also can be used to document the user
interface.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 16
Human Computer Interaction (HCI)
A user interface is based on basic principles of human-
computer interaction.
Human-computer interaction (HCI) describes the
relationship between computers and people who use them
to perform their jobs.
A user interface includes all the communications and
instructions necessary to enter input to the system and to
obtain output in the form of screen displays or printed
reports.
Concepts of creating software that is safe and pleasant to
use.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 17
Human Computer Interaction (HCI)
(continued)
As a systems analyst, you will design user interfaces for in-
house developed software and customize interfaces for
various commercial packages and user productivity
applications. Your main objective is to create a user-friendly
design that is easy to learn and use.
Things to consider in HCI:
– Users' abilities/ disabilities
– User’s age group (interest, legal contents, etc.)
– User’s computer literacy (Novice, Intermediate, Expert)
– User’s Socio-culture (perception of color, language,
religious sensitivity, etc.)
– Purpose of Software (Command line, GUI, Interactive, 3D,
etc.)
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 18
Slide 6 (of 25)
Summary
Unified Modeling Language (UML) is a method of visualizing and
documenting software systems design. UML uses object-oriented design
concepts, but it is independent of any specific programming language.
UML static diagrams emphasize the static structure of the system using
objects, attributes, operations, and relationships. Used for data and
process-oriented development approach.
UML behavioral diagrams emphasize the dynamic behavior of the system by
showing collaborations among objects and changes to the internal states of
objects. Used for a user and some process-oriented development approach.
System user interface is based on basic principles of human-computer
interaction that describe the relationship between computers and people
who use them to perform their jobs.
The user-centered design aim is to design an interface that helps users to
perform their jobs and based on perceptual, physical, and conceptual
aspects.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 19
Question & Answer
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 20
Next Session
System Implementation
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 21