DESIGN CONCEPTS & PRINCIPLES
SAVYASACHI SHARMA
MUZAFFARPUR INSTITUTE OF TECHNOLOGY
Muzaffarpur4/11/2020 1
DESIGN - Definition
• The process of applying various techniques and
principles for the purpose of defining a device, a
process or a system in sufficient detail to permit its
physical realization.
• It is an architectural representation, a format, a
guideline represented as symbols, notations, pictorial
forms, that guides us how construct/ develop a
product/process/system most economically, efficiently
and effectively, that reduces the risk of failures.
• Design is the highly creative phase in the software
development where the designer plans how a software
system should be produced in order to make it
functional, reliable and reasonably easy to understand,
modify and maintain.4/11/2020 2
• The goal of the design phase is to take the SRS
document as input and to produce the output as a
design document leading to final product.
• System design is the representation of an object
being created.
• A system must be designed in such a way that it
meets the performance requirements.
• The designer’s goal is to produce a model of an
entity that will later be built.
• Software design changes continually.
• Importance of s/w design is stated with a Quality
• Design is the place where quality is fostered in s/w
development
4/11/2020 3
• Design provides us with representations of s/w
that can be assessed for quality.
• Design is the only way that we can accurately
translate requirements into finished s/w product.
• Serves as foundation for s/w engineering and s/w
maintenance steps.
• Without design we risk building an unstable
product – one that will fail when small changes
are made, one that is difficult to test, one whose
quality can not be assessed.
4/11/2020 4
Data
Dictionary
DFD
STD
ERD
CSPEC
PSPEC
DATA DESIGN
ARCHITECTURAL DESIGN
INTERFACE DESIGN
PROCEDURAL
DESIGN
Translating the Analysis Model into a S/W Desgn
4/11/2020 5
Designing the software System
• Data design: transforms the information domain into
data structures. (ERD/DD)
• Architectural Design: defines relationship among major
structural elements of program. It is modular
framework of a computer program derived from
interaction of sub-systems
• Interface design: describes how the software interacts
within itself, to systems that interoperates with it, and
with humans who use it. An interface implies a flow of
information (data/control) (DFD/CFD)
• Procedural design: transforms structural elements of
the program architecture into a procedural description
of software components. (PSPEC,CSPEC,STD)
4/11/2020 6
General tasks involved in design process
• Design the overall system process
• Segment the system into modules
• Design the database
• Specify details of program
• Design input and output
• Design controls of the system
• Document the system design
• System reviews
4/11/2020 7
Design Objectives
• Correct
• Complete
• Reduction of complexities
• Understandable
• Modular construction
• Maintainable
• Risk mitigation
• Optimal utilisation of resources
• Better scheduling
• Meeting the schedules and deadlines
4/11/2020 8
Design Goals
• To rationalise and streamline or simplify processing
• To extend processing capability and flexibility
• To increase productivity by reducing redundant
activities and eliminating unnecessary activities
• To increase management visibility
• Better control over operating processes
• To facilitate managerial planning and analysis of
business activities.
4/11/2020 9
Design Constraints
• Budget
• Time
• Customer
• Attitude of the user
• Technical people / skill
• Standards
• Hardware and software platforms
• Integration with other systems
4/11/2020 10
Design and s/w Quality
• S/W design is assessed with a series of FTR and
walkthroughs.
• McGlaughlin suggests 3 characteristics that serve as a
guide for the evaluation of a good s/w design.
• The design must implement all the explicit
requirements contained in the analysis model, and it
must accommodate all of the implicit requirements
desired by the customer.
• The design must be readable, understandable guide for
those who generate code and for those who test and
subsequently maintain the s/w.
• The design must provide a complete pictures of the
software, addressing the data, functional, and
behavioural domains from implementation perspective4/11/2020 11
Technical criteria for good design
• Hierarchical organisation
• Modular construction
• Functional
• Efficient
• Response times
• Flexible
• Portable
• Reliable
• Economical
• Both data and procedural abstractions
• Should lead to modules (subroutines/procedures)
• Should lead to interfaces
• Reduced complexity of connections b/w modules
• Should be derived using a repeatable method
• Secure
• Usable4/11/2020 12
Thanks
134/11/2020

Software design

  • 1.
    DESIGN CONCEPTS &PRINCIPLES SAVYASACHI SHARMA MUZAFFARPUR INSTITUTE OF TECHNOLOGY Muzaffarpur4/11/2020 1
  • 2.
    DESIGN - Definition •The process of applying various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization. • It is an architectural representation, a format, a guideline represented as symbols, notations, pictorial forms, that guides us how construct/ develop a product/process/system most economically, efficiently and effectively, that reduces the risk of failures. • Design is the highly creative phase in the software development where the designer plans how a software system should be produced in order to make it functional, reliable and reasonably easy to understand, modify and maintain.4/11/2020 2
  • 3.
    • The goalof the design phase is to take the SRS document as input and to produce the output as a design document leading to final product. • System design is the representation of an object being created. • A system must be designed in such a way that it meets the performance requirements. • The designer’s goal is to produce a model of an entity that will later be built. • Software design changes continually. • Importance of s/w design is stated with a Quality • Design is the place where quality is fostered in s/w development 4/11/2020 3
  • 4.
    • Design providesus with representations of s/w that can be assessed for quality. • Design is the only way that we can accurately translate requirements into finished s/w product. • Serves as foundation for s/w engineering and s/w maintenance steps. • Without design we risk building an unstable product – one that will fail when small changes are made, one that is difficult to test, one whose quality can not be assessed. 4/11/2020 4
  • 5.
    Data Dictionary DFD STD ERD CSPEC PSPEC DATA DESIGN ARCHITECTURAL DESIGN INTERFACEDESIGN PROCEDURAL DESIGN Translating the Analysis Model into a S/W Desgn 4/11/2020 5
  • 6.
    Designing the softwareSystem • Data design: transforms the information domain into data structures. (ERD/DD) • Architectural Design: defines relationship among major structural elements of program. It is modular framework of a computer program derived from interaction of sub-systems • Interface design: describes how the software interacts within itself, to systems that interoperates with it, and with humans who use it. An interface implies a flow of information (data/control) (DFD/CFD) • Procedural design: transforms structural elements of the program architecture into a procedural description of software components. (PSPEC,CSPEC,STD) 4/11/2020 6
  • 7.
    General tasks involvedin design process • Design the overall system process • Segment the system into modules • Design the database • Specify details of program • Design input and output • Design controls of the system • Document the system design • System reviews 4/11/2020 7
  • 8.
    Design Objectives • Correct •Complete • Reduction of complexities • Understandable • Modular construction • Maintainable • Risk mitigation • Optimal utilisation of resources • Better scheduling • Meeting the schedules and deadlines 4/11/2020 8
  • 9.
    Design Goals • Torationalise and streamline or simplify processing • To extend processing capability and flexibility • To increase productivity by reducing redundant activities and eliminating unnecessary activities • To increase management visibility • Better control over operating processes • To facilitate managerial planning and analysis of business activities. 4/11/2020 9
  • 10.
    Design Constraints • Budget •Time • Customer • Attitude of the user • Technical people / skill • Standards • Hardware and software platforms • Integration with other systems 4/11/2020 10
  • 11.
    Design and s/wQuality • S/W design is assessed with a series of FTR and walkthroughs. • McGlaughlin suggests 3 characteristics that serve as a guide for the evaluation of a good s/w design. • The design must implement all the explicit requirements contained in the analysis model, and it must accommodate all of the implicit requirements desired by the customer. • The design must be readable, understandable guide for those who generate code and for those who test and subsequently maintain the s/w. • The design must provide a complete pictures of the software, addressing the data, functional, and behavioural domains from implementation perspective4/11/2020 11
  • 12.
    Technical criteria forgood design • Hierarchical organisation • Modular construction • Functional • Efficient • Response times • Flexible • Portable • Reliable • Economical • Both data and procedural abstractions • Should lead to modules (subroutines/procedures) • Should lead to interfaces • Reduced complexity of connections b/w modules • Should be derived using a repeatable method • Secure • Usable4/11/2020 12
  • 13.