SlideShare a Scribd company logo
1 of 16
Introduction to Software Engineering 
Muhammad Nasir 
Design Concepts (2) 
m.nasir@iiu.edu.pk
Agenda 
 Software Quality 
 Software Requirement 
 Software Quality Types 
 Design Concepts 
 Abstraction 
 Architecture 
 Design Pattern
Software Quality 
 The degree to which a software system 
satisfy its stated requirements, is its quality. 
 Software Quality has difference attributes 
 An attribute is always present! 
 Performance (high/low) 
 Maintainability 
 Security etc.
Software Quality 
 A requirement puts a constraint on an 
attribute: 
 “The system should be able to handle 
at least 50 concurrent connections.” 
 A quality requirement describes not 
what the system will do, but how it will 
do it.
Operational Quality Attribute 
Concerned with Usage of the system… 
 Performance 
The response time, utilization, and throughput behavior of the system. 
 Security 
A measure of system’s ability to resist unauthorized attempts at usage or behavior 
modification, while still providing service to legitimate users. 
 Availability (Reliability quality attributes falls under this category) 
The measure of time that the system is up and running correctly; the length of time 
between failures and the length of time needed to resume operation after a failure. 
 Usability 
The ease of use and of training the end users of the system. Sub qualities: 
learnability, 
efficiency, affect, helpfulness, control. 
 Interoperability 
The ability of two or more systems to cooperate at runtime
Development Quality Attributes 
 Concerned with Software Development… 
 Modifiability 
The ease with which a software system can accommodate changes 
to its software 
 Portability 
The ability of a system to run under different computing 
environments. The environment types can be either hardware or 
software, but is usually a combination of the two. 
 Reusability 
The degree to which existing applications can be reused in new 
applications. 
 Integrability 
The ability to make the separately developed components of the 
system work correctly together. 
 Testability 
The ease with which software can be made to demonstrate its faults
Design Concepts 
 Abstraction—data, procedure, control! 
 Architecture—the overall structure of the 
software! 
 Patterns—”conveys the essence” of a 
proven design solution! 
 Separation of concerns—any complex 
problem can be more easily handled if it is 
subdivided into pieces
Design Concepts 
 Modularity—compartmentalization of data 
and function! 
 Hiding—controlled interfaces! 
 Functional independence—single-minded 
function and low coupling! 
 Refinement—elaboration of detail for all 
abstractions! 
 Aspects—a mechanism for understanding 
how global requirements affect design!
Design Concepts 
 Refactoring—a reorganization 
technique that simplifies the design! 
 OO design concepts—object oriented 
design concepts! 
 Design Classes—provide design detail 
that will enable analysis classes to be 
implemented!
Abstraction 
 At the highest level of abstraction – a 
solution is stated in broad terms 
 At lower level of abstraction – a 
more detailed description of the 
solution is provided. 
 Two types of abstraction: 
 Procedural Abstraction 
 Data Abstraction
Procedural Abstraction 
 Procedural abstraction: Sequence of 
instructions that have a specific and 
limited function. 
 Eg. Open a door open implies long 
sequence of activities (e.g. walk to the 
door, grasp knob, turn knob and pull 
the door, etc).
Procedural Abstraction
Data Abstraction 
 Data abstraction: collection of data 
that describes a data object. 
 Data abstraction for door would 
encompass a set of attributes that 
describe the door. (E.g. door type, 
swing direction, Lock type, etc.)
Data Abstraction
Software Architecture 
 ”The software architecture of a program or 
computing system is the structure or 
structures of the system, which comprise 
software elements, the externally visible 
properties of those elements, and the 
relationships among them.” (Bass, Clements, 
Kazman) 
 For more (much more), 
http://www.sei.cmu.edu/architecture/definitions.html
The End 
 Thanks for listening 
 Questions would be appreciated.

More Related Content

What's hot

Quality attributes sadhana
Quality attributes sadhanaQuality attributes sadhana
Quality attributes sadhana
Sadhana28
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architecture
Himanshu
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
Ian Sommerville
 

What's hot (20)

Unit 1
Unit 1Unit 1
Unit 1
 
Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
 
Quality attributes sadhana
Quality attributes sadhanaQuality attributes sadhana
Quality attributes sadhana
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Power point for project
Power point for projectPower point for project
Power point for project
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architecture
 
Quality attribute scenarios
Quality attribute scenariosQuality attribute scenarios
Quality attribute scenarios
 
Poster Vensim Repast
Poster Vensim RepastPoster Vensim Repast
Poster Vensim Repast
 
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
 
State diagram
State diagramState diagram
State diagram
 
System design
System designSystem design
System design
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Class notes
Class notesClass notes
Class notes
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
software architecture
software architecturesoftware architecture
software architecture
 
Quality attributes
Quality attributesQuality attributes
Quality attributes
 
Importance of software architecture 1
Importance of software architecture 1Importance of software architecture 1
Importance of software architecture 1
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 

Viewers also liked

Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storage
IIUI
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codes
IIUI
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
IIUI
 
Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devices
IIUI
 

Viewers also liked (14)

Lecture 13 requirements modeling - flow & behavior (2)
Lecture 13   requirements modeling - flow &  behavior (2)Lecture 13   requirements modeling - flow &  behavior (2)
Lecture 13 requirements modeling - flow & behavior (2)
 
Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storage
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codes
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devices
 
Lect3 ch15-unit2
Lect3 ch15-unit2Lect3 ch15-unit2
Lect3 ch15-unit2
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
Layered Software Architecture
Layered Software ArchitectureLayered Software Architecture
Layered Software Architecture
 

Similar to Lecture 17 design concepts (2)

Function oriented design
Function oriented designFunction oriented design
Function oriented design
Vidhun T
 
software engineering
software engineeringsoftware engineering
software engineering
paramalways
 

Similar to Lecture 17 design concepts (2) (20)

Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
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
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxchapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
 
Software design
Software designSoftware design
Software design
 
software engineering
software engineeringsoftware engineering
software engineering
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Software design
Software designSoftware design
Software design
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Software Architecture
Software Architecture Software Architecture
Software Architecture
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 

More from IIUI

Chapter 10 cs 2o-p
Chapter 10 cs 2o-pChapter 10 cs 2o-p
Chapter 10 cs 2o-p
IIUI
 
Chapter 09 io devices 3o-p
Chapter 09 io devices 3o-pChapter 09 io devices 3o-p
Chapter 09 io devices 3o-p
IIUI
 
Chapter 09 io devices 2o-p
Chapter 09 io devices 2o-pChapter 09 io devices 2o-p
Chapter 09 io devices 2o-p
IIUI
 
Chapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-pChapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-p
IIUI
 
Chapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-pChapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-p
IIUI
 
Chapter 07 pam 3o-p
Chapter 07 pam 3o-pChapter 07 pam 3o-p
Chapter 07 pam 3o-p
IIUI
 
Chapter 07 pam 2o-p
Chapter 07 pam 2o-pChapter 07 pam 2o-p
Chapter 07 pam 2o-p
IIUI
 
Chapter 07 pam
Chapter 07 pamChapter 07 pam
Chapter 07 pam
IIUI
 
Chapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-pChapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-p
IIUI
 
Chapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-pChapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-p
IIUI
 
Chapter 06 boolean algebra
Chapter 06 boolean algebraChapter 06 boolean algebra
Chapter 06 boolean algebra
IIUI
 
Chapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-pChapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-p
IIUI
 
Chapter 05 computer arithmetic
Chapter 05 computer arithmeticChapter 05 computer arithmetic
Chapter 05 computer arithmetic
IIUI
 
Chapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-pChapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-p
IIUI
 
Chapter 03 number system 3o-p
Chapter 03 number system 3o-pChapter 03 number system 3o-p
Chapter 03 number system 3o-p
IIUI
 
Chapter 03 number system 2o-p
Chapter 03 number system 2o-pChapter 03 number system 2o-p
Chapter 03 number system 2o-p
IIUI
 
Chapter 03 number system
Chapter 03 number systemChapter 03 number system
Chapter 03 number system
IIUI
 
Chapter 02 bco 3o-p
Chapter 02 bco 3o-pChapter 02 bco 3o-p
Chapter 02 bco 3o-p
IIUI
 
Chapter 02 bco 2o-p
Chapter 02 bco 2o-pChapter 02 bco 2o-p
Chapter 02 bco 2o-p
IIUI
 

More from IIUI (20)

Rank brain
Rank brainRank brain
Rank brain
 
Chapter 10 cs 2o-p
Chapter 10 cs 2o-pChapter 10 cs 2o-p
Chapter 10 cs 2o-p
 
Chapter 09 io devices 3o-p
Chapter 09 io devices 3o-pChapter 09 io devices 3o-p
Chapter 09 io devices 3o-p
 
Chapter 09 io devices 2o-p
Chapter 09 io devices 2o-pChapter 09 io devices 2o-p
Chapter 09 io devices 2o-p
 
Chapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-pChapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-p
 
Chapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-pChapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-p
 
Chapter 07 pam 3o-p
Chapter 07 pam 3o-pChapter 07 pam 3o-p
Chapter 07 pam 3o-p
 
Chapter 07 pam 2o-p
Chapter 07 pam 2o-pChapter 07 pam 2o-p
Chapter 07 pam 2o-p
 
Chapter 07 pam
Chapter 07 pamChapter 07 pam
Chapter 07 pam
 
Chapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-pChapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-p
 
Chapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-pChapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-p
 
Chapter 06 boolean algebra
Chapter 06 boolean algebraChapter 06 boolean algebra
Chapter 06 boolean algebra
 
Chapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-pChapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-p
 
Chapter 05 computer arithmetic
Chapter 05 computer arithmeticChapter 05 computer arithmetic
Chapter 05 computer arithmetic
 
Chapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-pChapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-p
 
Chapter 03 number system 3o-p
Chapter 03 number system 3o-pChapter 03 number system 3o-p
Chapter 03 number system 3o-p
 
Chapter 03 number system 2o-p
Chapter 03 number system 2o-pChapter 03 number system 2o-p
Chapter 03 number system 2o-p
 
Chapter 03 number system
Chapter 03 number systemChapter 03 number system
Chapter 03 number system
 
Chapter 02 bco 3o-p
Chapter 02 bco 3o-pChapter 02 bco 3o-p
Chapter 02 bco 3o-p
 
Chapter 02 bco 2o-p
Chapter 02 bco 2o-pChapter 02 bco 2o-p
Chapter 02 bco 2o-p
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 

Lecture 17 design concepts (2)

  • 1. Introduction to Software Engineering Muhammad Nasir Design Concepts (2) m.nasir@iiu.edu.pk
  • 2. Agenda  Software Quality  Software Requirement  Software Quality Types  Design Concepts  Abstraction  Architecture  Design Pattern
  • 3. Software Quality  The degree to which a software system satisfy its stated requirements, is its quality.  Software Quality has difference attributes  An attribute is always present!  Performance (high/low)  Maintainability  Security etc.
  • 4. Software Quality  A requirement puts a constraint on an attribute:  “The system should be able to handle at least 50 concurrent connections.”  A quality requirement describes not what the system will do, but how it will do it.
  • 5. Operational Quality Attribute Concerned with Usage of the system…  Performance The response time, utilization, and throughput behavior of the system.  Security A measure of system’s ability to resist unauthorized attempts at usage or behavior modification, while still providing service to legitimate users.  Availability (Reliability quality attributes falls under this category) The measure of time that the system is up and running correctly; the length of time between failures and the length of time needed to resume operation after a failure.  Usability The ease of use and of training the end users of the system. Sub qualities: learnability, efficiency, affect, helpfulness, control.  Interoperability The ability of two or more systems to cooperate at runtime
  • 6. Development Quality Attributes  Concerned with Software Development…  Modifiability The ease with which a software system can accommodate changes to its software  Portability The ability of a system to run under different computing environments. The environment types can be either hardware or software, but is usually a combination of the two.  Reusability The degree to which existing applications can be reused in new applications.  Integrability The ability to make the separately developed components of the system work correctly together.  Testability The ease with which software can be made to demonstrate its faults
  • 7. Design Concepts  Abstraction—data, procedure, control!  Architecture—the overall structure of the software!  Patterns—”conveys the essence” of a proven design solution!  Separation of concerns—any complex problem can be more easily handled if it is subdivided into pieces
  • 8. Design Concepts  Modularity—compartmentalization of data and function!  Hiding—controlled interfaces!  Functional independence—single-minded function and low coupling!  Refinement—elaboration of detail for all abstractions!  Aspects—a mechanism for understanding how global requirements affect design!
  • 9. Design Concepts  Refactoring—a reorganization technique that simplifies the design!  OO design concepts—object oriented design concepts!  Design Classes—provide design detail that will enable analysis classes to be implemented!
  • 10. Abstraction  At the highest level of abstraction – a solution is stated in broad terms  At lower level of abstraction – a more detailed description of the solution is provided.  Two types of abstraction:  Procedural Abstraction  Data Abstraction
  • 11. Procedural Abstraction  Procedural abstraction: Sequence of instructions that have a specific and limited function.  Eg. Open a door open implies long sequence of activities (e.g. walk to the door, grasp knob, turn knob and pull the door, etc).
  • 13. Data Abstraction  Data abstraction: collection of data that describes a data object.  Data abstraction for door would encompass a set of attributes that describe the door. (E.g. door type, swing direction, Lock type, etc.)
  • 15. Software Architecture  ”The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.” (Bass, Clements, Kazman)  For more (much more), http://www.sei.cmu.edu/architecture/definitions.html
  • 16. The End  Thanks for listening  Questions would be appreciated.