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

Week 05

The document outlines a roadmap for transitioning from requirements to coding, detailing the necessary data structures, system architecture, and user interfaces. It emphasizes the importance of various design principles such as cohesion, coupling, and user experience considerations. Additionally, it discusses the significance of system interfaces and communication protocols for effective information exchange between systems.

Uploaded by

natig53911
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Week 05

The document outlines a roadmap for transitioning from requirements to coding, detailing the necessary data structures, system architecture, and user interfaces. It emphasizes the importance of various design principles such as cohesion, coupling, and user experience considerations. Additionally, it discusses the significance of system interfaces and communication protocols for effective information exchange between systems.

Uploaded by

natig53911
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

A roadmap from Requirements to Coding:

 Data/Class Structure
 Architecture

 System Interfaces

 User Interfaces

 System Components (Modules)

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 Operation Operation


/ / / /
Filter Filter Filter Filter

Operation Operation
/ /
Filter Filter

SE SENG 106 5
Main
Module

Control Control Control


Module Module Module

Application Application Application Application


Module Module Module 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

Information exchange with external systems is documented in “System Interface


Agreements”.

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

 Different User Needs


 Mouse/Keyboard usage, Changing point size

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

You might also like