Anda di halaman 1dari 6

Detailed Design

Overview
The purpose of the detailed design stage is to produce a detailed technical specification for the
selected system design so that this can be used by programmers to generate the software. Thus this
stage of the life cycle turns an implementation-independent design into a design that includes specific
hardware and software.
The deliverable from this stage is a technical specification which includes:
a) program design and specification,
b) specification of the user interface, including reports
c) file and record specifications,
d) hardware specifications, including costs,
e) implementation schedule.
Major issues involved with this stage are:
Compatibility with existing systems
Software selection and design
Hardware selection
User interface design
Security of information
Compatibility with Existing Systems
In addition to other internal company systems, any new system needs to be compatible with
customers' systems and suppliers' systems. This may require compatibility with large external
systems like the Internet, and the world wide web.
Software Selection
Major options for the software are:
A a Third Generation programming language, 3GL, e.g. BASIC or PASCAL
A a Fourth Generation programming language, 4GL (usually linked to a specific database)
A an integrated package, e.g. Microsoft Office
A an application package, e.g. Fourth Shift
Hardware Selection
Factors to consider in selecting the hardware include:
- amount of processing power needed,
- volume of data to be stored,
- cost,
- ease of use,
- response times required,
- support for future expansion.

Page 1 of 6

User Interface Design


The user interface is the part of the system that the user sees and experiences. Issues here are the
design of:
- the menu system
- individual screens and reports
- error messages
Account must be taken of different types of user, e.g. novice or expert. In general, the interface
needs to enable the novice to work through it step-by-step, but the expert should be able to take
short-cuts.
Security of Information
With many systems it is necessary to balance ease of use, with security of confidential information.
This is usually achieved through passwords associated with user IDs. Thus, each user may be given
access to different parts of a system. This is often done by providing different menu options to
different users. (Physical security should not be forgotten, both of access to the terminals, and to the
server.) For systems connected to the internet, firewalls and virus protection are essential. The need
to regularly back-up the system should also be taken into account. Security is required for personal
data under the Data Protection Act.
Software Selection and Design
3GLs and 4GLs
Advantages:
A the system is custom built to meet the customers' requirements
A the system can be simple and compact
A with good documentation, modifications are relatively simple
(Also, programming with 4GLs is faster than 3GLs)
Disadvantages:
A more development effort needed than with an integrated system
A higher cost due to developing the entire system
A longer development time required
Integrated Packages
These provide a set of basic tools, e.g. word processing, spreadsheet, database, etc. Usually, they
have their own built-in programming language, e.g. Visual Basic, therefore, they come with much of
the user interface pre-defined. They tend to make it easy to move information from one tool to
another. The built-in functions are tried and tested. Overall, they can shorten development time
significantly.
Application Packages
The suitability of application packages was reviewed in the previous set of notes on System Design.

Page 2 of 6

Software Design
In all cases except an application package, a detailed software design must be produced. This
specifies exactly what each part of the system should do and how the parts are linked. There are two
main ways of doing this:
A Functional Decomposition - identify high-level functions and then break them down into
smaller functions
A Object Orientation - identify objects within the system along with related data and functions
Functional Decomposition
This can be done in different ways, one of which uses structure charts showing high level functions
and the detailed functions needed to perform them, e.g. preparing an employee's payslip.

Modularity
Breaking software into small chunks, called modules, is important for control, testing and
maintenance. Unfortunately the word 'module' is used in different ways:
(1) a very small section of software, with a specific purpose, clear input(s) and output(s)
(2) a collection of sections of software with a common purpose, e.g. inventory control.
This section focuses on the first of these uses.
Coupling and Cohesion
Interactions between software modules can be described using 2 terms:
- Coupling - refers to the links between modules, e.g. common data, or parameters passed
between
- Cohesion - refers to suitability of the different data and tasks within a module to being
grouped together
In general the modules in a system should have weak coupling and strong cohesion. This means that
changes made to one module are unlikely to affect another - very helpful when:
- programming the software
- fixing errors
- maintaining the system
Page 3 of 6

The following diagram shows 2 different systems each with 4 modules. These systems have different
degrees of coupling and cohesion:

Object Orientation
This is the more modern approach to achieving weak coupling and strong cohesion. It has been
developed largely in response to continued difficulties with maintaining software systems. Three
problems had been identified with functional decomposition:
A poor modularity (i.e. weak cohesion)
A excessive 'visibility' of data (i.e. strong coupling)
A functional decomposition is not the best way of identifying modules
The basic concept is that by identifying discrete objects within a system (e.g. customer), the data
related to each object can be identified and 'protected' by a set of related functions or 'methods'.
These methods are used to communicate data values as well as performing object functions. In this
way the data is not accessed directly by any other part of the system (weak coupling). Detailed
review of object orientation is outside the scope of this course.
Designing the User Interface
In designing the user interface, account must be taken of different types of user:
Novice or expert - novices will require more on-line help than experts
Casual or regular - regular users become knowledgeable about the system; they require:
A fast response times
A flexible commands
Passive or interactive - interactive users are systems developers, modellers or those that
construct specific enquiries
Common problems that occur in interface design are:
- Screen displays cluttered with information
- Inconsistent ways of carrying out tasks
- Unclear user prompts (due to confusing terminology)
- Patronising and unhelpful error messages
- User manuals that are difficult to understand

Page 4 of 6

System Menus
Design issues include the:
A number of options to include
A sequence in which they are shown
A names that are used to identify the options
A number of levels of menus
A way in which users select an option
Graphical User Interfaces
Graphical User Interfaces (GUIs) are usually used with mice, and for the PC can be known as mice,
icon, windows systems. They offer many advantages over the early text-based systems. One
example is pull-down menus. The full impact of a Graphical User Interface is much larger than this.
They produce significant changes in the way that users work with an information system. Some, like
Microsoft Windows, have guidelines about standard ways of doing things. This ensures that different
systems have a consistent interface; e.g. the standard 'File', 'Edit' and 'Help' menus; situations to use
pull-down lists etc.
Screen Displays
Screen displays should:
A be restful to look at
A contain all relevant information but not be overcrowded
A be self-explanatory, with information on how to get on-line help
A present data in a logical sequence (grouped where appropriate)
A only have important information highlighted
A be consistent throughout a system
Error Messages
Unhelpful messages include ones like:
"033: File handling error"
A more useful message is:
"File already in use by another application"
In graphical user interface systems like Microsoft Windows, there are often extra clues as to the
nature or severity of the message. Different symbols are used to indicate different severities of
message:
Information
Warning
Critical

Page 5 of 6

Summary
Detailed design produces a technical specification for the selected system design. The major issues
are:
Compatibility
Software design
Hardware selection
User interface design
Security
Two main ways of designing software are functional decomposition and object orientation. Modular
design is very important, with the related concepts of coupling and cohesion. Three major design
problems are:
Poor modularity
Excessive visibility of data
Functional decomposition.
Design of the user interface requires:
Clarity
Consistency
Uncluttered displays.

Page 6 of 6

Anda mungkin juga menyukai