Professional Documents
Culture Documents
science
Software Engineering II
Lecturer: Asadullah Jalali
Software Architecture and Design
Chapter # 02
Software Design Principles
Software Architecture and Design
Lecture Outline
What is Software Design?
Objectives of Software Design.
Software Design Principles
Architecture Design.
Data design
User interface Design
Types of user interfaces
Software Architecture and Design
Software Design
Software design is a mechanism to transform user requirements into some
suitable form, which helps the programmer in software coding and
implementation. It deals with representing the client's requirement, as
described in SRS (Software Requirement Specification) document, into a
form, i.e., easily implementable using programming language.
The software design phase is the first step in SDLC (Software Design
Life Cycle), which moves the concentration from the problem domain to
the solution domain. In software design, we consider the system to be a
set of components or modules with clearly defined behaviors &
boundaries.
Software Architecture and Design
Software Design
Software Architecture and Design
Software Design
The purpose of an external design document is to
communicate how the system will appear to its users, how it
will interface with existing work processes, how it will
interface with other pieces of software, and what kinds of
work products are required /produced by the system.
Software Architecture and Design
Software Design
Definition
As we know that Software design is a phase in software engineering, in which
a blueprint is developed to serve as a base for constructing the software
system.
IEEE defines software design as 'both a process of defining, the architecture,
components, interfaces, and other characteristics of a system or component
and the result of that process.’
Software Architecture and Design
For Example in ticket reservation, the word “book” would imply a series of
steps such as get the train number, source station, destination station,
block seat and so on.
Software Architecture and Design
For Example, in ticket reservation system the data abstraction “Train” will
include the set of attributes such as train number, originating station,
destination station, and so on.
Software Architecture and Design
Architectural Design
Software architectural design represents the structure of data and program
components that are required to build a computer based systems.
Why required this architecture design?
As we know that the architectural design is not the operational software it
mean’s we are not going to write code here
it is the representation or blueprint of the system that they want to develop
Software Architecture and Design
Architectural Design
Software architectural design representing the system in context:
System engineer must model the context.
Context diagram: model in which the system interacts with external
entities mean users inputs, outputs, interfaces, software
components will be develop.
Software Architecture and Design
Data Design
Data design: is the first design activity, The information domain model
developed during analysis phase is transformed data objects into data
structures needed for implementing the software.
Data structures are abstract structures organized in particular way that
are used to organize data and provide various operations upon it.
Most known data structures: array, structure, class, set, hash table,
graph.
Software Architecture and Design
Data Design
The data objects, attributes, and relationships shown in entity
relationship diagrams and the information stored in data dictionary
provide a base for data design activity.
During the data design process, data types are specified along with the
integrity rules required for the data. For specifying and designing
efficient data structures.
Software Architecture and Design
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
Software Architecture and Design
3
2
The figure implies that each of these tasks will occur more than once, with each pass around
the spiral representing additional elaboration of requirements and the resultant design. The
construction involves prototyping which is the only practical way to validate what has been
designed.
Software Architecture and Design