Week 05
Week 05
Data/Class Structure
Architecture
System Interfaces
User Interfaces
SE SENG 106 1
As the workflows are analyzed various data types and/or classes emerge:
Customer
Name
Address
Service
Type
Speed
Capacity
Used
Reserved
Planned
Faulty
Subscription
Tariff
Duration
SE SENG 106 2
A decision needs to be made on what kind of
structure the system should reside on:
10 story building
Twin Villa
Private House
Old Ankara House (Bay window, Yard)
Office Building
Shopping Mall
Bridge
Dam
…
SE SENG 106 3
Client
Application
Client Client
Application Application
Database
Client Client
Application Application
SE SENG 106 4
Operation
/
Filter
Operation Operation
/ /
Filter Filter
SE SENG 106 5
Main
Module
Application Application
Module Module
SE SENG 106 6
User Interface
Application
Common Programs
Core
SE SENG 106 7
Sys. X
UI SI A
E B
System D C
Mod
A Sys. Y
Mod
Mod A
B
E
E B
D C
Input/Output Mod
Mod
C
D
SE SENG 106 8
Communication with other systems
Security
Handshaking
Protocol (TCP/IP, XML, CORBA, G2, …)
Synchronization
Message Type and Content
SE SENG 106 9
Usability - User Friendly
Ease of entering information
Esthetics
Menu types and transitions
Information Arrangement and presentation
Consistency
SE SENG 106 10
High Level Design: Inter Module
Low Level Design: Intra Module
Smallest piece of a program performing one or more
tasks of a function
Complexity
Coupling
Variables
Local
Global
Reusability
Model: Flowchart, Table, UML
SE SENG 106 11
Functional – Independent
Compiled
Properly Sized
Target System (Client, Server, UI, …)
Ease of Installation
Ease of Patching
Ease of Debugging
SE SENG 106 12
Object → Module
Class → Template for Object
Data
Customer Name
Customer Address
…
Methods
Add customer
Subscribe customer
…
SE SENG 106 13
Cohesion: Inclusion of closely related methods within a class
(Customer → Add, Delete, Change, View)
Coupling: A quantitative measure of relationship between
classes (Customer, Order)
Inheritance: A class inheriting state and behavior of another
class (Liquid → Drink → Water )
Abstraction: Modeling a complex entity using classes
appropriate to the problem (Lake Water → Liquid, Spring Water
→ Drink)
Encapsulation: Hiding certain irrelevant parts of a class from
different interfaces (Water Delivery, From, To, Amount)
Polymorphism: Allows inheritance without keeping all aspects
of parent Pour(Liquid), Pour(Drink), Pour(Water)
SE SENG 106 14
Limited Short Term Memory
Do not present more than 7 pieces of information at a
time
To Err is Human
Do not panic a user who makes a mistake
No Two People are Alike
A system is design for its user not for its designer
Everybody Uses the System in a Different Way
Some find the keyboard and some the mouse more
convenient
SE SENG 106 15
User Familiarity
Terms, Messages
Consistency
Commands, Menus
Minimum Surprise
“OK” should mean positive action everywhere
Recoverability
Go back from mistakes
Guiding Users
Online help, User Guides
SE SENG 106 16
Graphical
Menu Selection
Completing a Form
Command Line
Natural Language (Search Engine, SQL)
SE SENG 106 17
Graphical (GUI) vs. Character Based (CHUI)
Static vs. Dynamic
Analog vs. Digital
Two Colored vs. Multi Colored
SE SENG 106 18
Messages should be
Positive,
Actionable,
Professional
and appropriate to
place and situation
user experience
level of knowledge
Culture
SE SENG 106 19