chapter 5 systemdesign2008.pptx for cimputer science students
1. Chapter 5
System Design
Design is highly creative stage in software
development. designer plans
how the system or program should meet the
customer’s needs
how to make system effective and efficient.
System design is the transformation of the analysis
model into a system design model blueprint or a
plan for a solution
2. Con’t….
Design is about the HOW the system will
perform its functions
provides the overall decomposition of the
system
allows to split the work among a team of
developers
also lays down the groundwork for achieving
nonfunctional requirements (performance,
maintainability, reusability, etc.)
coming up with solution models taking the target
implementation technology into account
3. cont…
Software design provides a (traceability) link between
requirements and an implementable specification.
We have to used designing methodology or principles
to define system design/ for physical realization.
Designing methodology is systematic approach used
to create a design by applying a set of techniques and
guidelines.
4. Design process
Study and understand the problem from different
viewpoints
Identify potential solutions and evaluate the
tradeoffs
Design experience, reusable artifacts, simplicity
of solutions
Sub-optimal, but familiar solutions often
preferred -advantages/disadvantages well
known
Design is about making tradeoffs!
Develop different models of system at different
levels of abstraction and for different perspectives
6. Software Design Levels
Architectural design
Structure system into components
Define the interfaces between
components
Detailed design of each component
Define internal logic
Define internal data structures
•High-level design
Define file structures
Logical database design
7. Challenges in Design
Complexity
Often arbitrary, dependent on designer rather than
problem (“accidental complexity”)
Conformity
Often expected to conform to other software (e.g.
legacy, standards)
Changeability
Needs to support change due changing requirements,
constraints, etc.
Invisibility
No visible link from between design plans and
product
8. Design Objectives/Properties
Correctness:
find the best possible design within the limitations
Verifiability:
how easily the correctness of the design can be checked
Completeness:
Include all the things (data structures, modules, external interfaces,)
Traceability:
the entire design element be traceable to the
requirements.
Efficiency:
the proper use of scarce resources by the system
Simplicity.
Especially related to maintainability
9. User Interface Design
System users often judge a system by its
interface rather than its functionality
A poorly designed interface can cause a user to
make catastrophic errors and never be used
Most users of business systems interact with
these systems through graphical user interfaces
(GUIs)
In some cases, legacy text-based interfaces are
still used
10. Cont’
GUI characteristics
Characteristic Description
Windows Multiple windows allow different information to be
displayed simultaneously on the user’s screen.
Icons Icons different types of information.On some systems,
icons represent files; on others, icons represent
processes.
Menus Commands are selected from a menu rather than typed
in a command language.
Pointing A pointing device such as a mouse is used for selecting
choices from a menu or indicating items of interest in a
window.
Graphics Graphical elements can be mixed with text on the same
display.
11. GUI advantages
They are easy to learn and use.
Users without experience can learn to use the system
quickly.
The user may switch quickly from one task to another
and can interact with several different applications.
Information remains visible in its own window when
attention is switched.
Fast, full-screen interaction is possible with
immediate access to anywhere on the screen
12. UI design principles
User familiarity
The interface should be based on user-oriented terms and
concepts rather than computer concepts
E.g., an office system should use concepts such as letters,
documents, folders etc. rather than directories, file
identifiers, etc.
Consistency
The system should display an appropriate level of
consistency
Commands and menus should have the same format,
command punctuation should be similar, etc.
Minimal surprise
If a command operates in a known way, the user should
be able to predict the operation of comparable commands
13. Cont….
Recoverability
The system should provide some resilience to user
errors and allow the user to recover from errors
This might include an undo facility, confirmation of
destructive actions, 'soft' deletes, etc.
User guidance
Some user guidance such as help systems, on-line
manuals, etc. should be supplied
User diversity
Interaction facilities for different types of user should
be supported
E.g., some users have seeing difficulties and so larger
text should be available
14. User-system interaction
How the user interacts with the system ?
Direct manipulation
Easiest to grasp with immediate feedback
Difficult to program
Menu selection
User effort and errors minimized
Large numbers and combinations of choices a problem
Form fill-in
Ease of use, simple data entry
Tedious, takes a lot of screen space
Command language
Easy to program and process
Difficult to master for casual users
Natural language
Great for casual users
Tedious for expert users
15. Cont….
Information presentation
Colour displays
Error messages
System and user-oriented error messages
Generally UI design should be
Attractive
Simple to use
Responsive in short time
Clear to understand
Consistent on all interfacing screens