Design Process and Concepts
                                    Saranya.V
                                      AP/CSE,
Sri Vidya College of Engineering & Technology,
                                 Virudhunagar
Design Specification Modules
•   Data Design
•   Architectural Design
•   Interface Design
•   Procedural Design
Design Languages
• O-O Paradigm
  – Use Case Diagram
     • Functional Requirements of the system
     • Actors
  – Class Diagram
     • Static structure of the system and relationships and
       association between the classes.
  – State Diagram
     • Show the permissible states and the transitions.
  – Sequence Diagram
     • Show the temporal dependencies between different
       actions and objects.
Fundamental software Design
               concepts
• Abstraction
    – Procedural
    – Data abstraction
•   Refinement (improve the design component)
•   Modularity
•   Software Architecture
•   Control Hierarchy or Program Structure
•   Structure Partitioning
•   Data Structure
•   Software Procedure
•   Information Hiding
Modular Design
Modular Design Method Evaluation Criteria

• Modular Decomposability (problem          to sub
  problem)
• Modular composability (reuse of           existing
  modules)
• Modular Understandability
• Modular Protection (minimize the          process
  errors)
• Modular    Continuity   (module           changes
  minimized)
Control Terminology
• Span of control : (number of       levels control
  within the product)
• Depth (distance between top         and bottom
  modules)
• Fan-Out or Width: Number            of   modules
  controlled by particular module.
• Fan-in: Number of modules           control   the
  particular module.
• Visibility
• Connectivity
Effective Modular Design
• Functional dependency
  – Should have high cohesion and low coupling
• Cohesion
  – Module focus on just one thing
• Coupling
  – Module is connected to other modules and to the
    outside world.
Design Heuristic
Design heuristic for effective
             modularity
• Evaluate the first iteration (reduce coupling
  and increase cohesion)
• Minimize the structure with high fan out
• Keep the scope of the effect
• Reduce complexity
• Predictable functions
Ten Heuristic for User Interface
                  Design
•   Visibility of system status
•   Match between the system and the real world
•   User control and freedom
•   Consistency and standards
•   Error prevention
•   Recognition rather than recall
•   Flexibility and efficiency of use
•   Aesthetic (artistic) and minimalist design
•   Help users recognize, diagnose and recover from errors.
•   Help and documentation.

Design process and concepts

  • 1.
    Design Process andConcepts Saranya.V AP/CSE, Sri Vidya College of Engineering & Technology, Virudhunagar
  • 2.
    Design Specification Modules • Data Design • Architectural Design • Interface Design • Procedural Design
  • 3.
    Design Languages • O-OParadigm – Use Case Diagram • Functional Requirements of the system • Actors – Class Diagram • Static structure of the system and relationships and association between the classes. – State Diagram • Show the permissible states and the transitions. – Sequence Diagram • Show the temporal dependencies between different actions and objects.
  • 4.
    Fundamental software Design concepts • Abstraction – Procedural – Data abstraction • Refinement (improve the design component) • Modularity • Software Architecture • Control Hierarchy or Program Structure • Structure Partitioning • Data Structure • Software Procedure • Information Hiding
  • 5.
  • 6.
    Modular Design MethodEvaluation Criteria • Modular Decomposability (problem to sub problem) • Modular composability (reuse of existing modules) • Modular Understandability • Modular Protection (minimize the process errors) • Modular Continuity (module changes minimized)
  • 7.
    Control Terminology • Spanof control : (number of levels control within the product) • Depth (distance between top and bottom modules) • Fan-Out or Width: Number of modules controlled by particular module. • Fan-in: Number of modules control the particular module. • Visibility • Connectivity
  • 8.
    Effective Modular Design •Functional dependency – Should have high cohesion and low coupling • Cohesion – Module focus on just one thing • Coupling – Module is connected to other modules and to the outside world.
  • 9.
  • 10.
    Design heuristic foreffective modularity • Evaluate the first iteration (reduce coupling and increase cohesion) • Minimize the structure with high fan out • Keep the scope of the effect • Reduce complexity • Predictable functions
  • 11.
    Ten Heuristic forUser Interface Design • Visibility of system status • Match between the system and the real world • User control and freedom • Consistency and standards • Error prevention • Recognition rather than recall • Flexibility and efficiency of use • Aesthetic (artistic) and minimalist design • Help users recognize, diagnose and recover from errors. • Help and documentation.