Вы находитесь на странице: 1из 49

LN COLLEGE OF

MANAGENMENT
&
TECHNOLOGY

A1 BATCH
BCA 2nd year
THE WARRIOR’S
PRESENTATION MAINTAINED BY
:-
THE WARRIOR’S
Mr• .SINGH
Singh Prashant
PRASHANT (G.L)
Mr• .GAUTAM
Gautam Rahul
RAHUL
Mr• .YADAV
yadav Nilesh
NILESH
Mr• .KHAN
khan Afzal
AFZAL
Mr• .BORANA
Borana Nilesh
NILESH
Mr• .AMETA
AmetaDINESH
Dinesh
Software Design
• A Design is a meaningful
representation of something to be
built .
• In software engineering design
focuses on four major area viz.
Data ,architecture, interfaces and
components .
• A Software Design begins with
requirements model
Design Model

 The Design Model


Component level Design

Interface Design

Architectural Design

Data Design
Design Model
v Data Design transforms this model into data
structure which will be required for software
implementation.
v Architectural Design is derived from the system
specification, analysis model and interaction of
the subsystems which have been defined in the
analysis model.
v Interface design describes how the software
communicates with itself, other elements of the
system and the human who use the system.
v Component Design transforms the structural
specification into a procedural description.

Design Guidelines
§ Design should have an architecture which
can be implemented using modern
fashion.
§ Design should be modular
§ Design should represent data,
architecture, interface and components
distinctly
§ Data structures should be appropriate to
the objects which are to be
implemented.
§ A good design should indicate
independent functional characteristics
§ Interface should reduce complexity
between modules as well as external
Characteristics of Design
Methods:
• A mechanism of translating the
analysis model into a design
representation.
• A notation for representing the
functional components and their
interfaces.
• Hueristics for refinement and
partitioning .
• Guidelines for quality assessment .
Design Principles
• Design should not be tunnel vision, alternative approaches
should be considered.
• Design should be traceable to analysis model.
• Design should not be reinvented, rather it should integrate
new ideas with already existing patterns.
• Structure of the software design should mimic (copy) the
actual Problem structure.
• Design should have uniformity and integrity.
• Design should be able to accommodate change.
• Design is not coding and coding is not design – Design has
higher abstraction than source code.
• Good quality of design should be ascertained by using
various design concepts and measures.
Design Concepts
 Abstraction

ü When a solution to a problem is considered, many levels of


abstraction can be posed.
ü
ü When a solution is stated at a broad level, it has highest
abstraction.

ü In Design activity abstraction level is reduced.


ü At the lowest level of abstraction source code is generated.


Design Concepts
Refinement

ü Stepwise refinement is a top down design strategy


ü
ü Refinement is actually a process of elaboration
ü
ü Through successive refinement we elaborate on the original
statement and provide more and more details.
ü
ü Abstraction allows designer to specify the problem without
going into lower level details, wherein refinement helps
the designer to reveal lower level details.
Design Concepts
Modularity

ü Software is divided into separately named and addressable


components called modules. These modules are integrated to
satisfy the problem requirements.
ü Modular decomposability: Can decompose the problem
ü Modular composability: Can compose the modules to make one
system
ü Modular understandability: Can independently understand the
module without knowledge of other modules
ü Modular Continuity: Change in system affects only some
modules, not all resulting in less side effects.
ü Modular protection: If something goes wrong in a module and is
confined in only that module, then impact of the error is less.
Design Concepts

v Software architecture is the hierarchical structure of


the program components.
v Structural Model:- represents architecture as an organized
collection of program components.
v Framework Model:- it increase the level of design abstraction
by attempting to identify repeatable architecture design
frameworks that are encountered in similar type of
application .
v Dynamic Model:- address the behavioural aspects of the
program architecture, indicating how the structure or
system configuration may change as a function of external
events .
v Process Model:-focus on the design of business or technical
process that the system must accommodate .
v Functional model:-can be used to represents the functional
hierarchy of a system.
Design Concepts
Control Hierarchy (Program Structure)

ü It represents how the program modules are


organized and their hierarchy
ü Different notation is used to depict control
hierarchy, most common is tree like structure.
ü Fan out and Fan in
ü Super ordinate and subordinate module
ü Visibility and Connectivity

Design Concepts
 Structured Partitioning
If the architectural style of the system is

hierarchical, then the program structure can be


partitioned horizontally or vertically.

Decision making module

Lower level module


Design Concept
 Data Structure

This is a representation of the logical relationship


among individual elements of data. E.g.


§ Scalar : single element of information


§ Vector: scalar items are organized as a list or group
§ Linked List: Have both scalar and vector items
aligned in nodes.
Design Concept
Software Procedure

ü This focuses on processing details of each module


individually
ü
ü Exact steps, decision points, repetitive operations
are provided
Design Concept
 Information Hiding

Modules should be specified and designed in a


manner so that information contained within a


module is not visible/accessible to other modules.
Functional Independence
 Each functionally independent module
does a specific job. Independence is
measured using two criteria:

Cohesion: A cohesive module does only a single


task and has minimum interaction with other


modules.

Coupling: This specifies the interdependence


among modules.
Example of Coupling
ãHighlycoupled when there is a great deal of dependencies
ãLoosely coupled components have some dependency, but
the interconnections among components are weak
ãUncoupled components have no interconnections at all
Example of Cohesion
Design Documentation
Ø In a design specification firstly the overall
scope effort of the design effort is
mentioned
Ø Next is the specification of the data design
Ø Architecture is specified
Ø Interfaces are specified
Ø Last part contains supplementary data like
algorithm, tabular data, other relevant
information
Architectural Design
 The data and program
components which are required to
build a computer based system are
represented in the Architectural
Design.

Architectural Design
Data Design

§ Data design creates a model of data


§ We define the data objects during


software requirement analysis and
then model them using the Entity
Relationship diagram and data
dictionary.

Architectural Design
 Data Design : Principles to followed

ü Data objects should be identified in the data model and


their impact on software system must be evaluated.
ü All data structures and the operation to be performed on
each data should be identified.
ü A data dictionary must be created and used to define data
& program design.
ü Low level data design should be deferred until late in design
phase
ü Data structures should be reusable
ü Software design and programming language should support
the specification of data type
Architectural Design: Architectural Styles

 De centered Architectures
A data store resides at the centre of the

architecture and other components frequently


access, add, update, delete data within the store.

Client
Software

Client Data Store Client


Software Software

Client
Software
Architectural Design: Architectural Styles

 Dataflow Architectures
When input data are to be transformed through a

series of computational components into the


output data, the dataflow architecture is applied

Pipes

Filter

Filter

Filter Filter Filter

Filter Filter Filter


Architectural Design: Architectural Styles

 Call and Return Architectures


Main Program/Subprogram Architecture:


 Here a main program invokes a number of
program components which may themselves
invoke still other components.
Remote Procedure Call Architecture:

 In this style the components of a main program


architecture are distributed across multiple
computers on a network.
Architectural Design: Architectural Styles

 Object Oriented Architectures


 The components of a system encapsulates both data and the


operations to be performed on the data.

 Layered Architectures

 A number of layers are defined. As we move from layer to


layer we come closer to machine instruction set. User interface
operations are serviced at the outer layer and OS level operations
are performed at the inner layer. Intermediate layers provide
operations for utility services and application software.


Structured Design
Structured design is characterised by
Data Flow oriented design method.
Two flows are presented:
Transform Flow:

Data is Data is o/p


Data from converted into transformed
outer world internal form
Structured Design
 Transaction Flow:
 Information is often a single data item, called a transaction
which triggers other data flow along one of many paths

___
Transaction

Transaction Centre T

___

| Action Points
|
| ___

| |
| |
| |
User Interface Design
 The user interface design is the
design of the interfaces between the
human and the computer.
 While designing a User interface
the user has to consider three types
of user:
 Novice
 Knowledgeable intermittent
users
 Knowledgeable frequent users
User Interface Design
 User Interface Design Process

This comprises of four distinct framework Activities:


ü User, task and environment analysis and


modeling
ü Interface Design
ü Interface Construction
ü Interface Validation
User Interface Design
 Task Analysis and Modeling: Interface Design
Activities
Ø Establish goals and intention of each task
Ø Map each of them to a sequence of actions
Ø Specify action sequence of each task and subtask as it will
be executed at the user interface level
Ø Indicate the state of the system
Ø Define control mechanism
Ø Show how control mechanism affects the state of the
system
Ø Indicate how the user interprets the state of the system
from inputs provided though the interface

User Interface Design
Interface Objects and Actions

ü An important step in interface design is to identify the


interface objects and the actions applied to them
ü
ü Next is Graphical design of the user interface. Issues to be
considered in GUI design:
ü
ü System Response Time
ü User Help Facilities
ü Error Information Handling
ü Command Labeling
User Interface Design
 Interface Design Prototyping

ü A Prototype is used for user evaluation and iterative


method is used for this

 Design Evaluation

ü The prototype which has been created should be evaluated


to determine whether it satisfies the needs of the user.

ü Design tools are available to design GUI which results in


reduction in development time.
Component Level Design
The aim of component level design is

to translate the design model into


operational software.
Component Level Design
Structured Programming

v It uses a set of logical constructs from


which any program could be formed.
v
v These constructs are sequence,
condition and repetitions.
Component Level Design
Graphical Design Notations

§ Graphical Tools like Flow Chart or Box Diagram


provide pictorial patterns which can be used to
depict procedural details
§ In a flowchart a rectangular box indicates a
process .
§ A diamond represents a logical condition.
§ Arrows are use to show the flow of control
§ A sequence is represented by processing boxes
connected by flow lines with arrows indicating
flow of control
§ Condition is represented in a diamond and if true
then processing is followed and if false , the
else path is followed
Component Level Design
Flo w C h a rt exa m p le fo r S e q u e n ce , C o n d itio n a n d
R e p e titio n
Component Level Design
Component Level Design
Tabular Design Notation :

• Decision tables are very useful form


of notation where there are several
combination of condition and the
corresponding action to be taken in
an application

Component Level Design
Tabular Design Notation (Decision

Table)

Program Design Language
• Program Design language is also called as
PSEUDO CODE or STRUCTURED ENGLISH.
• It basically uses the vocabulary of the English
language and the overall syntax of a structured
programming language
• The main difference between a PDL and a
programming Language is that the PDL uses
descriptive text within PDL statement .
Program Design Language
• The PROGRAM DESCRIPTION
LANGUAGE has the following
characteristics :-
• A fixed syntax of keyword . This
provide for the structured
constructs , data declaration .
• A free syntax of natural language
:-This describe the processing
features .
• The Data declaration facilities :- this
facilities should enable declaration
Component Level Design
Program Design Language

Вам также может понравиться