UNIT-III
Design Engineering
Design process and design quality, design concepts, the
design model.
• Design engineering describes the set of principals, concepts, and practices
that lead to the development of a high- quality system or product.
What is Design:
• Design creates a representation or model of the software.
• It is the place where creativity rules, customer’s requirements, business
needs, and technical considerations all come together in the formulation of
a product or a system.
Why is it Important:
• The design can be assessed for quality and improved before code is
generated, tests are conducted, and end – users become involved.
• Design is the place where software quality is established.
DESIGN PROCESS AND DESIGN QUALITY
Design Process:
• Software design is an iterative process through which requirements are
translated into a “blueprint” for constructing the software.
Characteristics of Good Design:
• The good design should implement all the requirements specified by the
customer.
• The design should be simple, so that the software can be understood easily
by the developer, testers and customers.
• The design should provide complete picture of the software.
Software Quality Guidelines:
• The design should be created using architectural styles and patterns.
• Each component of design should be a good design characteristics.
• The implementation of design should be evolutionary.
• In design the data,architecture,interface and components should be clearly
represented.
• The design should be modular.
• The data structures should be appropriately chosen for the design of specific
problem.
• The components should be used in the design so that functional
independency can be achieved.
• Using the information obtained in software requirement analysis the design
should be created.
• Every design of the software system should convey its meaning
appropriately and effectively.
Quality Attributes:
The design quality attributes are named as 'FURPS‘
• Functionality:
It evaluates the feature set and capabilities of the program.
• Usability:
the usability can be assessed by knowing the usefulness of the system.
• Reliability:
It is evaluated by measuring parameters like frequency and security of failure,
output result accuracy.
• Performance:
it is a measure that represents the response of the time.
• Supportability:
It combines the ability to extend the program, adaptability, serviceability. These
three term defines the maintainability.
Design Concepts
• The software design concepts provides a framework for implementing the
right software.
1. Abstraction
2. Architecture
3. Patterns
4. Modularity
5. Information hiding
6. Functional independence
7. Refinement
8. Refactoring
9. Design classes
Design Classes
• Design classes are defined as the classes that describe some elements of
problem domain, in which the problem is viewed from user’s point of
view.
The goal of design classes is:
• To refine the analysis classes by providing the detail design. Using detailed
design further implementation is carried out.
• To create new set of classes for implementing the core requirements of the
software.
There are five different types of design classes:
• User interface classes:
The user interface class defines all the interactions with the
system. The user interface classes is basically a visual representation.
• Business domain classes:
These classes identify the attributes and services that are needed
to implement some elements of business.
• Process classes:
Process class is used business domain. it define process required
by business domain.
• Persistent classes:
These classes represents the data store such as databases which
will be retained as it is even after the execution of the software.
• System classes:
These classes are responsible for software management and
control function that are used for system operation.
Characteristic of Designed Classes:
• Complete and sufficient
• Primitiveness
• High cohesion
• Low-coupling
Design Model
• The design model is based on the analysis and architectural requirements
of the system.
• It represents the application components and determines their appropriate
placement and use within the overall architecture.
• Design models are divided by 5 types there are
1. Data design elements
2. Architectural design elements
3. Interface design elements
4. Component level diagram elements
5. Deployment level design elements
1. Data Design Elements
• The data design element produced a model of data that represent a high
level of abstraction.
• The structure of data is the most important part of the software design.
2. Architectural Design Elements
• The architecture design elements provides us overall view of the system.
The architecture model is derived from following sources:
• The information about the application domain to built the software.
• Requirement model elements like data flow diagram or analysis classes,
relationship and collaboration between them.
• The architectural style and pattern as per availability.
3. Interface Design Elements
• The interface design elements represents the detailed design of the
software system.
• They communicate between the components defined as part of
architecture.
Following are the important elements of the interface design:
1. The user interface
2. The external interface
3. The internal interface
4. Component Level Design Elements
• The component level design is more detailed design of the software system
along with the specifications.
• The component level design elements describes the internal details of the
component.
5. Deployment Level Design Elements
• The deployment level design element shows the software functionality and
subsystem that allocated in the physical computing environment which
support the software.

UN st dp dp dp dp dp dp for app clock y ch ishdhdhdhshdIT III.pptx

  • 1.
    UNIT-III Design Engineering Design processand design quality, design concepts, the design model.
  • 2.
    • Design engineeringdescribes the set of principals, concepts, and practices that lead to the development of a high- quality system or product. What is Design: • Design creates a representation or model of the software. • It is the place where creativity rules, customer’s requirements, business needs, and technical considerations all come together in the formulation of a product or a system. Why is it Important: • The design can be assessed for quality and improved before code is generated, tests are conducted, and end – users become involved. • Design is the place where software quality is established.
  • 3.
    DESIGN PROCESS ANDDESIGN QUALITY Design Process: • Software design is an iterative process through which requirements are translated into a “blueprint” for constructing the software. Characteristics of Good Design: • The good design should implement all the requirements specified by the customer. • The design should be simple, so that the software can be understood easily by the developer, testers and customers. • The design should provide complete picture of the software.
  • 4.
    Software Quality Guidelines: •The design should be created using architectural styles and patterns. • Each component of design should be a good design characteristics. • The implementation of design should be evolutionary. • In design the data,architecture,interface and components should be clearly represented. • The design should be modular. • The data structures should be appropriately chosen for the design of specific problem. • The components should be used in the design so that functional independency can be achieved. • Using the information obtained in software requirement analysis the design should be created. • Every design of the software system should convey its meaning appropriately and effectively.
  • 5.
    Quality Attributes: The designquality attributes are named as 'FURPS‘ • Functionality: It evaluates the feature set and capabilities of the program. • Usability: the usability can be assessed by knowing the usefulness of the system. • Reliability: It is evaluated by measuring parameters like frequency and security of failure, output result accuracy. • Performance: it is a measure that represents the response of the time. • Supportability: It combines the ability to extend the program, adaptability, serviceability. These three term defines the maintainability.
  • 6.
    Design Concepts • Thesoftware design concepts provides a framework for implementing the right software. 1. Abstraction 2. Architecture 3. Patterns 4. Modularity 5. Information hiding 6. Functional independence 7. Refinement 8. Refactoring 9. Design classes
  • 7.
    Design Classes • Designclasses are defined as the classes that describe some elements of problem domain, in which the problem is viewed from user’s point of view. The goal of design classes is: • To refine the analysis classes by providing the detail design. Using detailed design further implementation is carried out. • To create new set of classes for implementing the core requirements of the software.
  • 8.
    There are fivedifferent types of design classes: • User interface classes: The user interface class defines all the interactions with the system. The user interface classes is basically a visual representation. • Business domain classes: These classes identify the attributes and services that are needed to implement some elements of business. • Process classes: Process class is used business domain. it define process required by business domain. • Persistent classes: These classes represents the data store such as databases which will be retained as it is even after the execution of the software. • System classes: These classes are responsible for software management and control function that are used for system operation.
  • 9.
    Characteristic of DesignedClasses: • Complete and sufficient • Primitiveness • High cohesion • Low-coupling
  • 10.
    Design Model • Thedesign model is based on the analysis and architectural requirements of the system. • It represents the application components and determines their appropriate placement and use within the overall architecture. • Design models are divided by 5 types there are 1. Data design elements 2. Architectural design elements 3. Interface design elements 4. Component level diagram elements 5. Deployment level design elements
  • 11.
    1. Data DesignElements • The data design element produced a model of data that represent a high level of abstraction. • The structure of data is the most important part of the software design. 2. Architectural Design Elements • The architecture design elements provides us overall view of the system. The architecture model is derived from following sources: • The information about the application domain to built the software. • Requirement model elements like data flow diagram or analysis classes, relationship and collaboration between them. • The architectural style and pattern as per availability.
  • 12.
    3. Interface DesignElements • The interface design elements represents the detailed design of the software system. • They communicate between the components defined as part of architecture. Following are the important elements of the interface design: 1. The user interface 2. The external interface 3. The internal interface 4. Component Level Design Elements • The component level design is more detailed design of the software system along with the specifications. • The component level design elements describes the internal details of the component. 5. Deployment Level Design Elements • The deployment level design element shows the software functionality and subsystem that allocated in the physical computing environment which support the software.