SlideShare una empresa de Scribd logo
1 de 53
Design process and Design quality
• Software design is an iterative process through
which requirements are translated into “Blue
prints” for constructing the software
• The design is represented at high level of
abstraction.
• Design can be directly traced to specific system
objective and more detailed data,behavioural
requirements
• There are three characters which server as a
guide for evaluation of good design.
The design should implement all explicit and implicit
requirements given by customer.
The design must readable, understandable for those who generate
a code, who tests the software.
The should provide a complete picture of software.
• Quality guidelines: in order to evaluate the
quality of design,there are guidelines.
• A design should exhibit an architecture (is been
created using recognizable architectural styles or patterns,
components that exhibit good design ,can be implemented in
a evolutionary fashion).
• A design should be modular.
• A design should contain distinct representation of
data,architecture,interfaces,components.
• A design should reduce the complexity of
connections between components and with external
environment.
• A design should be represented using a
notations that effectively communicates its
meaning.
• HP developed a set of software quality
attributes that has been given the acronym
FURPS
• Functionality is assessed by evaluating the
feature set and capabilities of the program
• Usability is assessed by considering human
factors.
• Reliability is evaluated by measuring the
frequency and severity of failure.
• Performance is measured by processing speed,
response time, resource consumption,
throughput and efficiency
• Supportability combines the ability to extend
the program.(Extensibility,adaptability,serviceablity)
• Design concepts
• A set of fundamental software design concepts
has evolved over the history of software
engineering.
• Abstraction
• Information hiding
• Functional independence
• Refactoring
• Modularity
• Refinement
• Design classes
• Abstraction
• The term abstract defines that, which show an
important information or data, going to do.
• At the highest level of abstraction a data is stated
in board terms.
• At lower level of abstraction a more detailed
description of data is provided.
• They are two types procedural abstraction and
data abstraction
• procedural abstraction
• It refers to a sequence of instructions that
have a specific and limited functions.
• Example: word open a door.(it having long
procedural steps)
• Data abstraction
• Is a collection of data that describes a data object
• Example: door
• Data abstraction for door having set of attributes
that describe the door (door type, swing direction,
opening mechanism etc.,)
• Modularity
• Software is divided into separately named and
addressable components.
• Some times called modules, that are integrated to
satisfy problem requirements.
• They are monolithic software's means large program
is composed to a single module
• Can not be easily grasped by a software engineers.
• Based on these problems to software's we are going
to modularity
• Information hiding
• The concept of modularity leads every software
designer to one question (i.e how do we
decompose a software to obtain the best
modules)
The principle of information hiding gives a
solution for above.
Modules be characterized by design decision that
hides from all others.
• Modules should be designed and specified, so
that the information contained with in a
module is inaccessible to other modules .
• Hiding like these we achieve high modularity
• Refactoring
• An important design activity suggested for
many agile methods
• Refactoring is a reorganization technique that
simplifies the design of a component with out
changing its functions or behavior.
• Functional Independence:
• The concept of functional independence is a
direct growth of modularity and concept of
abstraction and information hiding.
• Each functional independence is achieved by
developing modules with “single-minded”
• Software with effective modularity that is
independent modules is easier to develop
because function may be compartmentalized .
• Independent modules are easier to maintain
because secondary effects caused by design or
code modification are limited, error propagation
is reduced and reusable is possible.
• To summarize functional independence is a key to
good design.
• Independence is assessed by two criteria's:
Cohesion and Coupling
• Cohesion
• Cohesion states that the relative functional
strength of module
• Coupling
• Coupling states that the relative interdependence
among modules
• Refinement:
• Refinement is actually a process of elaboration
• We start with high level of abstraction.
• Refinement causes the designer to elaborate on
the original statements providing more and
more details.
• Abstraction and refinement are complementary
concepts
• Design Classes:
• Analysis model defines a complete set of
analysis classes
• Each analysis class describes some elements
•
• The level of abstraction of analysis class is
relatively high.
• As design model evolves the s/w team to
define set of design classes.
• 1. It refine the analysis classes to provide detail
design, that enable the classes to be implemented.
• 2.And create a new set of design classes to support
solutions.
They are five different of design classes:
User interface classes(defines, that are necessary for human computer
interaction(HCI)
Business domain classes(refinement of analysis classes ,classes identify
the attributes and services that are required to implement elements in
business domain
Process classes(implement lower level business abstraction,supports
to business domain classes)
Persistent classes(represents data store (like database)
• System classes(implement s/w management and control
functions that enables the sys to operate and communicate with in
and out of environment)
• They define four characteristics of a well formed
design class
• complete and sufficient: A design class must be
complete encapsulation of all attributes and
methods .
• Primitiveness: methods associated with design
class should be focused on one service for the
class.
• High cohesion: A design class has a small,
focused set of responsibilities and methods to
implement those responsibilities.
• Cohesion is maintained.
• Low coupling: design classes are collaborate
with another classes, however the colloration
should kept to an acceptable minimum.
• If design is high coupled it is difficult to
implement, to test, and to maintain over time.
Design model
• The design model can be viewed in two different
dimensions.
• The process dimension indicates the change of
design model as tasks are executed as part of
software process.
• The abstraction dimension represents the level of
details as each element of analysis model is
transformed into design
• Referring to figure the dashed line indicates
boundary between analysis and design models
• In some cases clear distinction is possible and
in other case it is not possible.
• The elements of design model uses many UML
diagrams .
• Data design elements:
• Data design sometimes refer as data architecting,
creates a model of data or information that is
represented at a high level of abstraction.
• The structure of data has always been an important
part of s/w design.
• Architectural design elements:
• The architectural design for software is equal to
floor plan of house.
• The floor plan depicts the overall layout of the
rooms, their size,shape,and relationship to
another.
• The floor plan gives us overall view of house.
• Architectural design elements give us overall view
of the software.
• Interface design elements:
• The interface design for software is equal to a set
of detailed drawings for doors,windows,and
external utilities of a house.
• They are three important interfaces
• user interface
• external interface
• internal interface
• Component level design elements:
• The component level design for software is
equal to set of detailed drawing for each room
in a house(like wiring,plumbing,location of
switches…..)
• Deployment level design elements:
• Deployment level design elements indicate
how software functionality and subsystems
will be allocated within the physical
computing environment.
• Creating an architectural design:
• Design as define a multistep process in which
representation of data and structure.
• Software architecuture:the s/w architecture of
program or a system is the structure of the
system.Which comprise s/w components, externally
visible properties of those components and
relationship among them.
What is architecture ?
At most simplistic level, we consider the overall
shape of the system. but in reality architecture is
much more, various components are integrated
to form a whole.
The visual impact of the buliding,the way textures,
colors and materials are combined to create the
external and internal environment.
Rather architecture is not operational s/w, it is the
representation.
1)Analyze the effectiveness of the design
2)Consider the alternative architecture at some stages.
3)Reduce the risks associated with the construction.
Why is architecture important ?
1)Representation of s/w architecture are an enabler for
communication b/w all stakeholders who are interest in
development of system.
2)The architecture highlights have profound impact on software
engineering work.
3)Intellectually graspable model of how the system is structured and
how its components work together.
• Data Design:
• Data design action translates the data objects
defined in analysis model into data structures
at software component level.
• Data design at architectural level:
• Today business large are small are awash of data.
• For moderately sized business to have dozens of
databases and having hundreds of gigabytes of data.
• To solve theses challenge the IT business
community developed Data mining technique
also called knowledge discovery in
databases(KDD)
• With some factors these technique as become
difficult.
• An alternative solution called data warehouse
• Data design at the component level:
• Data design level focuses on representation of
data structures that are accessed by software
component. the Wassermann proposed set of
principles to specify and design data
structures.
1)The systematic analysis principles applied to
functions and behavior and also applied to data.
2)All data structures and its operations should be
performed, should be identified.
3)A mechanism for defining the content of each data
object should be established and used to define
both data and the operations applied to it.(Class
diagram)
4)The representation of data structure should be
known to only to those modules. that make direct
use of data.
Data structure and operations that may be
applied to them should be developed
• A software design and programming language
should support specifications of data.
• Architectural styles and patterns:
• Data centered architecture
• Data-flow architecture
• Call and return architecture
• Object-oriented architecture
• Layered architecture.
Architectural Design:
As Architectural design begins, software development
must be put into context.
The design should define the external entities(other
sys,devices,peoples) that software interact.
These information generally gathered from analysis phase
and remaining information from requirement
engineering.
After completion of all the things, designer
specifies the structure of system by refining
software components that implement the
architecture.
This process is iteratively done.
• Representing the system in context:
• We noted that the system engineer must
model context.
• System context diagram accomplishes this
requirement by representing the flow of
information into and out of the system.
Defining Archetypes:
An archetype is a class or pattern that represents
core abstraction.
These is main part for design of an architecture for
the target system.
In general small set of archetypes is required to
design even complex systems.
The target system composed of these archetypes
Node: represents the collection of input and
output elements of safehome home security
Eg:various sensors,variety of alarms etc.,,,
Detector: that encompasses all sensing
equipments that feeds information into it.
Indicator: representing the mechanism foe
indicating that alarm condition is
occurring(alarm siren, flashing lights, bell)
• Controller: depicts the mechanism that allows
the arming or disarming of a node
• Archetypes are abstract building blocks of an
architectural design

Más contenido relacionado

La actualidad más candente

Model Based Software Architectures
Model Based Software ArchitecturesModel Based Software Architectures
Model Based Software ArchitecturesMunazza-Mah-Jabeen
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6Abdul Basit
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factorsNancyBeaulah_R
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptxKarthigaiSelviS3
 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specificationkirupasuchi1996
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specificationM.E. at GTU- PG School
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementfizamustanser
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 

La actualidad más candente (20)

Model Based Software Architectures
Model Based Software ArchitecturesModel Based Software Architectures
Model Based Software Architectures
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
 
Design notation
Design notationDesign notation
Design notation
 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specification
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Component level design
Component   level designComponent   level design
Component level design
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 

Similar a unit 3 Design 1 (20)

Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptx
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software design
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
SMD.pptx
SMD.pptxSMD.pptx
SMD.pptx
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Architectural design
Architectural designArchitectural design
Architectural design
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 

Más de TharuniDiddekunta

Más de TharuniDiddekunta (17)

String class
String classString class
String class
 
Exception handling basic
Exception handling basicException handling basic
Exception handling basic
 
Creating your own exception
Creating your own exceptionCreating your own exception
Creating your own exception
 
Built in exceptions
Built in exceptions Built in exceptions
Built in exceptions
 
Packages access protection, importing packages
Packages   access protection, importing packagesPackages   access protection, importing packages
Packages access protection, importing packages
 
Interfaces in java
Interfaces in javaInterfaces in java
Interfaces in java
 
Inheritance used in java
Inheritance used in javaInheritance used in java
Inheritance used in java
 
Operators, control statements represented in java
Operators, control statements  represented in javaOperators, control statements  represented in java
Operators, control statements represented in java
 
Classes, objects, methods, constructors, this keyword in java
Classes, objects, methods, constructors, this keyword  in javaClasses, objects, methods, constructors, this keyword  in java
Classes, objects, methods, constructors, this keyword in java
 
Arrays in java
Arrays in javaArrays in java
Arrays in java
 
Software Metrics (Testing)
Software Metrics (Testing)Software Metrics (Testing)
Software Metrics (Testing)
 
Unit 4 testing
Unit 4 testingUnit 4 testing
Unit 4 testing
 
risk managment and quality
risk managment and qualityrisk managment and quality
risk managment and quality
 
Design
DesignDesign
Design
 
Network layer
Network layerNetwork layer
Network layer
 
Transport layer and Application layer
Transport layer and Application layerTransport layer and Application layer
Transport layer and Application layer
 
Congection control and Internet working
Congection control and Internet workingCongection control and Internet working
Congection control and Internet working
 

Último

PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfChris Hunter
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 

Último (20)

PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 

unit 3 Design 1

  • 1. Design process and Design quality • Software design is an iterative process through which requirements are translated into “Blue prints” for constructing the software • The design is represented at high level of abstraction. • Design can be directly traced to specific system objective and more detailed data,behavioural requirements
  • 2. • There are three characters which server as a guide for evaluation of good design. The design should implement all explicit and implicit requirements given by customer. The design must readable, understandable for those who generate a code, who tests the software. The should provide a complete picture of software.
  • 3. • Quality guidelines: in order to evaluate the quality of design,there are guidelines. • A design should exhibit an architecture (is been created using recognizable architectural styles or patterns, components that exhibit good design ,can be implemented in a evolutionary fashion). • A design should be modular. • A design should contain distinct representation of data,architecture,interfaces,components. • A design should reduce the complexity of connections between components and with external environment.
  • 4. • A design should be represented using a notations that effectively communicates its meaning. • HP developed a set of software quality attributes that has been given the acronym FURPS • Functionality is assessed by evaluating the feature set and capabilities of the program
  • 5. • Usability is assessed by considering human factors. • Reliability is evaluated by measuring the frequency and severity of failure. • Performance is measured by processing speed, response time, resource consumption, throughput and efficiency • Supportability combines the ability to extend the program.(Extensibility,adaptability,serviceablity)
  • 6. • Design concepts • A set of fundamental software design concepts has evolved over the history of software engineering. • Abstraction • Information hiding • Functional independence • Refactoring • Modularity • Refinement • Design classes
  • 7. • Abstraction • The term abstract defines that, which show an important information or data, going to do. • At the highest level of abstraction a data is stated in board terms. • At lower level of abstraction a more detailed description of data is provided. • They are two types procedural abstraction and data abstraction
  • 8. • procedural abstraction • It refers to a sequence of instructions that have a specific and limited functions. • Example: word open a door.(it having long procedural steps) • Data abstraction • Is a collection of data that describes a data object • Example: door • Data abstraction for door having set of attributes that describe the door (door type, swing direction, opening mechanism etc.,)
  • 9. • Modularity • Software is divided into separately named and addressable components. • Some times called modules, that are integrated to satisfy problem requirements. • They are monolithic software's means large program is composed to a single module • Can not be easily grasped by a software engineers. • Based on these problems to software's we are going to modularity
  • 10. • Information hiding • The concept of modularity leads every software designer to one question (i.e how do we decompose a software to obtain the best modules) The principle of information hiding gives a solution for above. Modules be characterized by design decision that hides from all others.
  • 11. • Modules should be designed and specified, so that the information contained with in a module is inaccessible to other modules . • Hiding like these we achieve high modularity
  • 12. • Refactoring • An important design activity suggested for many agile methods • Refactoring is a reorganization technique that simplifies the design of a component with out changing its functions or behavior.
  • 13. • Functional Independence: • The concept of functional independence is a direct growth of modularity and concept of abstraction and information hiding. • Each functional independence is achieved by developing modules with “single-minded” • Software with effective modularity that is independent modules is easier to develop because function may be compartmentalized .
  • 14. • Independent modules are easier to maintain because secondary effects caused by design or code modification are limited, error propagation is reduced and reusable is possible. • To summarize functional independence is a key to good design. • Independence is assessed by two criteria's: Cohesion and Coupling
  • 15. • Cohesion • Cohesion states that the relative functional strength of module • Coupling • Coupling states that the relative interdependence among modules
  • 16. • Refinement: • Refinement is actually a process of elaboration • We start with high level of abstraction. • Refinement causes the designer to elaborate on the original statements providing more and more details. • Abstraction and refinement are complementary concepts
  • 17. • Design Classes: • Analysis model defines a complete set of analysis classes • Each analysis class describes some elements • • The level of abstraction of analysis class is relatively high. • As design model evolves the s/w team to define set of design classes.
  • 18. • 1. It refine the analysis classes to provide detail design, that enable the classes to be implemented. • 2.And create a new set of design classes to support solutions. They are five different of design classes: User interface classes(defines, that are necessary for human computer interaction(HCI) Business domain classes(refinement of analysis classes ,classes identify the attributes and services that are required to implement elements in business domain Process classes(implement lower level business abstraction,supports to business domain classes) Persistent classes(represents data store (like database)
  • 19. • System classes(implement s/w management and control functions that enables the sys to operate and communicate with in and out of environment) • They define four characteristics of a well formed design class • complete and sufficient: A design class must be complete encapsulation of all attributes and methods . • Primitiveness: methods associated with design class should be focused on one service for the class.
  • 20. • High cohesion: A design class has a small, focused set of responsibilities and methods to implement those responsibilities. • Cohesion is maintained. • Low coupling: design classes are collaborate with another classes, however the colloration should kept to an acceptable minimum. • If design is high coupled it is difficult to implement, to test, and to maintain over time.
  • 21.
  • 23. • The design model can be viewed in two different dimensions. • The process dimension indicates the change of design model as tasks are executed as part of software process. • The abstraction dimension represents the level of details as each element of analysis model is transformed into design • Referring to figure the dashed line indicates boundary between analysis and design models
  • 24. • In some cases clear distinction is possible and in other case it is not possible. • The elements of design model uses many UML diagrams . • Data design elements: • Data design sometimes refer as data architecting, creates a model of data or information that is represented at a high level of abstraction. • The structure of data has always been an important part of s/w design.
  • 25. • Architectural design elements: • The architectural design for software is equal to floor plan of house. • The floor plan depicts the overall layout of the rooms, their size,shape,and relationship to another. • The floor plan gives us overall view of house. • Architectural design elements give us overall view of the software.
  • 26. • Interface design elements: • The interface design for software is equal to a set of detailed drawings for doors,windows,and external utilities of a house. • They are three important interfaces • user interface • external interface • internal interface
  • 27.
  • 28. • Component level design elements: • The component level design for software is equal to set of detailed drawing for each room in a house(like wiring,plumbing,location of switches…..)
  • 29.
  • 30. • Deployment level design elements: • Deployment level design elements indicate how software functionality and subsystems will be allocated within the physical computing environment.
  • 31.
  • 32. • Creating an architectural design: • Design as define a multistep process in which representation of data and structure. • Software architecuture:the s/w architecture of program or a system is the structure of the system.Which comprise s/w components, externally visible properties of those components and relationship among them.
  • 33. What is architecture ? At most simplistic level, we consider the overall shape of the system. but in reality architecture is much more, various components are integrated to form a whole. The visual impact of the buliding,the way textures, colors and materials are combined to create the external and internal environment.
  • 34. Rather architecture is not operational s/w, it is the representation. 1)Analyze the effectiveness of the design 2)Consider the alternative architecture at some stages. 3)Reduce the risks associated with the construction. Why is architecture important ? 1)Representation of s/w architecture are an enabler for communication b/w all stakeholders who are interest in development of system. 2)The architecture highlights have profound impact on software engineering work. 3)Intellectually graspable model of how the system is structured and how its components work together.
  • 35. • Data Design: • Data design action translates the data objects defined in analysis model into data structures at software component level. • Data design at architectural level: • Today business large are small are awash of data. • For moderately sized business to have dozens of databases and having hundreds of gigabytes of data.
  • 36. • To solve theses challenge the IT business community developed Data mining technique also called knowledge discovery in databases(KDD) • With some factors these technique as become difficult. • An alternative solution called data warehouse
  • 37. • Data design at the component level: • Data design level focuses on representation of data structures that are accessed by software component. the Wassermann proposed set of principles to specify and design data structures.
  • 38. 1)The systematic analysis principles applied to functions and behavior and also applied to data. 2)All data structures and its operations should be performed, should be identified. 3)A mechanism for defining the content of each data object should be established and used to define both data and the operations applied to it.(Class diagram) 4)The representation of data structure should be known to only to those modules. that make direct use of data.
  • 39. Data structure and operations that may be applied to them should be developed • A software design and programming language should support specifications of data.
  • 40. • Architectural styles and patterns: • Data centered architecture • Data-flow architecture • Call and return architecture • Object-oriented architecture • Layered architecture.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Architectural Design: As Architectural design begins, software development must be put into context. The design should define the external entities(other sys,devices,peoples) that software interact. These information generally gathered from analysis phase and remaining information from requirement engineering.
  • 46. After completion of all the things, designer specifies the structure of system by refining software components that implement the architecture. This process is iteratively done.
  • 47. • Representing the system in context: • We noted that the system engineer must model context. • System context diagram accomplishes this requirement by representing the flow of information into and out of the system.
  • 48.
  • 49.
  • 50. Defining Archetypes: An archetype is a class or pattern that represents core abstraction. These is main part for design of an architecture for the target system. In general small set of archetypes is required to design even complex systems. The target system composed of these archetypes
  • 51.
  • 52. Node: represents the collection of input and output elements of safehome home security Eg:various sensors,variety of alarms etc.,,, Detector: that encompasses all sensing equipments that feeds information into it. Indicator: representing the mechanism foe indicating that alarm condition is occurring(alarm siren, flashing lights, bell)
  • 53. • Controller: depicts the mechanism that allows the arming or disarming of a node • Archetypes are abstract building blocks of an architectural design