SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Design Modeling  (Design Engineering)
Requirements Analysis v. System Design Dilemma .  •  Requirements analysis should make minimal assumptions about the system design. •  But the requirements definition must be consistent with computing technology and the resources available. In practice, analysis and design are interwoven.  However,  do not to allow the analysis tools to prejudge the system design.
Analysis Model -> Design Model
A Note on Design Model ,[object Object],[object Object]
Design Model Elements ,[object Object],[object Object],[object Object],[object Object],[object Object]
Data / Class Design ,[object Object],[object Object],[object Object],[object Object]
Architectural Design ,[object Object],[object Object]
Interface Design ,[object Object],[object Object]
Component Design ,[object Object],[object Object]
Design and Quality ,[object Object],[object Object],[object Object]
Quality Guidelines ,[object Object],[object Object],[object Object],[object Object]
Quality Guidelines (Contd..) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Design Principles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fundamental Design Concepts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data Abstraction door implemented as a data structure manufacturer model number type swing direction inserts lights type number weight opening mechanism
Procedural Abstraction open implemented with a "knowledge" of the  object that is associated with enter details of enter  algorithm
Architecture “ The overall structure of the software and the ways in which that structure provides conceptual integrity for a system.” [SHA95a] Structural properties.  This aspect of the architectural design representation defines the components of a system (e.g., modules, objects, filters) and the manner in which those components are packaged and interact with one another. For example, objects are packaged to encapsulate both data and the processing that manipulates the data and interact via the invocation of methods  Extra-functional properties.  The architectural design description should address how the design architecture achieves requirements for performance, capacity, reliability, security, adaptability, and other system characteristics. Families of related systems.  The architectural design should draw upon repeatable patterns that are commonly encountered in the design of families of similar systems. In essence, the design should have the ability to reuse architectural building blocks.
Representation of Architectur e (al Design) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Modular Design
Modularity & Cost : Trade-offs What is the "right" number of modules  for a specific software design? optimal number of modules cost of software number of modules module integration cost module development cost
Sizing Modules: Two Views
Information Hiding module controlled interface "secret" •  algorithm •  data structure •  details of external interface •  resource allocation policy clients a specific design decision
Why Information Hiding? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Functional Independence ,[object Object]
Stepwise Refinement open walk to door; reach for knob; open door; walk through; close door. repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out ; find correct key; insert in lock; endif pull/push door move out of way ; end repeat
Refactoring ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Object-oriented development ,[object Object],[object Object],[object Object],[object Object]
Characteristics of OOD ,[object Object],[object Object],[object Object],[object Object],[object Object]
OO Design Concepts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Inheritance ,[object Object],[object Object],[object Object],[object Object],[object Object]
Generalisation and inheritance ,[object Object],[object Object],[object Object],[object Object]
A generalisation hierarchy
Advantages of inheritance ,[object Object],[object Object],[object Object]
Problems with inheritance ,[object Object],[object Object],[object Object]
UML associations ,[object Object],[object Object],[object Object],[object Object]
An association model
Messages
Polymorphism case of graphtype: if graphtype = linegraph then DrawLineGraph (data); if graphtype = piechart then DrawPieChart (data); if graphtype = histogram then DrawHisto (data); if graphtype = kiviat then DrawKiviat (data); end case; All of the graphs become subclasses of a general class called graph. Using a concept called overloading [TAY90], each subclass defines an operation called  draw . An object can send a  draw  message to any one of the objects instantiated from any one of the subclasses. The object receiving the message will invoke its own  draw  operation to create the appropriate graph.  graphtype draw Conventional   approach …
SSAD  and OOAD  based Software Design    (Design Model)
A Note on Design Model ,[object Object],[object Object]
Design Model Elements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interface Design Elements
Component Level Design Elements
Component Diagram HelloWorld.class hello.java hello.hml hello.jpg executable component
Deployment Level Design Elements
Pattern based Software Design  ,[object Object],[object Object],[object Object],[object Object]
Common Design Patterns used in Industry ,[object Object],[object Object],[object Object],[object Object],[object Object]
Framework based Software Design (reusable mini-architecture) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Common  Frameworks  used in Industry ,[object Object],[object Object],[object Object]
Coding the design specifications (TSAD - Identifying Design Architecture ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Coding the design specifications (OOAD - Identifying Design Architecture) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tool combinations  Available ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Note ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is Systems Design  ,[object Object],[object Object],[object Object]
Database Design ,[object Object],[object Object],[object Object],[object Object],[object Object]
Database Tools Available ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Designing Forms and Reports ,[object Object]
Designing Interfaces and Dialogues ,[object Object]
Project Dictionary ,[object Object],[object Object]
Tools Available ,[object Object],[object Object],[object Object],[object Object]
SKILLS THAT OVERLAP SYSTEMS ANALYSIS AND DESIGN ,[object Object],[object Object],[object Object]
Text Book(s) ,[object Object],[object Object],[object Object]
Reference Book(s) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Software development slides
Software development slidesSoftware development slides
Software development slides
iarthur
 

Was ist angesagt? (20)

Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Project control and process instrumentation
Project control and process instrumentationProject control and process instrumentation
Project control and process instrumentation
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Database connectivity and web technologies
Database connectivity and web technologiesDatabase connectivity and web technologies
Database connectivity and web technologies
 
Software project management Improving Team Effectiveness
Software project management Improving Team EffectivenessSoftware project management Improving Team Effectiveness
Software project management Improving Team Effectiveness
 
Software development slides
Software development slidesSoftware development slides
Software development slides
 
System engineering
System engineeringSystem engineering
System engineering
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Mca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsMca se chapter_9_formal_methods
Mca se chapter_9_formal_methods
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 

Andere mochten auch

Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
saurabhshertukde
 
mathematics and intelligence
mathematics and intelligencemathematics and intelligence
mathematics and intelligence
Abuta Ogeto
 
Framework for the analysis and design of encryption strategies based on d...
Framework for the analysis and design of encryption strategies     based on d...Framework for the analysis and design of encryption strategies     based on d...
Framework for the analysis and design of encryption strategies based on d...
darg0001
 

Andere mochten auch (20)

Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Concept in engineering design
Concept in engineering designConcept in engineering design
Concept in engineering design
 
Component level design
Component   level designComponent   level design
Component level design
 
De 1 (b)
De 1 (b)De 1 (b)
De 1 (b)
 
Design engineering 1 b
Design engineering 1 bDesign engineering 1 b
Design engineering 1 b
 
Report on design engineering
Report on design engineeringReport on design engineering
Report on design engineering
 
Structural Engineering
Structural Engineering Structural Engineering
Structural Engineering
 
mathematics and intelligence
mathematics and intelligencemathematics and intelligence
mathematics and intelligence
 
Podium project report
Podium project reportPodium project report
Podium project report
 
Empathy mapping in Design Engineering
Empathy mapping in Design EngineeringEmpathy mapping in Design Engineering
Empathy mapping in Design Engineering
 
De ppt
De pptDe ppt
De ppt
 
De 1b report
De 1b reportDe 1b report
De 1b report
 
Design and Engineering-Module 5: User Centered and Product Centered Design, C...
Design and Engineering-Module 5: User Centered and Product Centered Design, C...Design and Engineering-Module 5: User Centered and Product Centered Design, C...
Design and Engineering-Module 5: User Centered and Product Centered Design, C...
 
Design engineering report
Design engineering reportDesign engineering report
Design engineering report
 
Design report
Design report Design report
Design report
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Domain Driven Design Framework
Domain Driven Design FrameworkDomain Driven Design Framework
Domain Driven Design Framework
 
Nimble framework
Nimble frameworkNimble framework
Nimble framework
 
Framework for the analysis and design of encryption strategies based on d...
Framework for the analysis and design of encryption strategies     based on d...Framework for the analysis and design of encryption strategies     based on d...
Framework for the analysis and design of encryption strategies based on d...
 

Ähnlich wie Design engineering

Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
MotherTheresa2
 

Ähnlich wie Design engineering (20)

Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Ch09
Ch09Ch09
Ch09
 
Ch09
Ch09Ch09
Ch09
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Software design
Software designSoftware design
Software design
 
Software enginnering
Software enginneringSoftware enginnering
Software enginnering
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
Software design
Software designSoftware design
Software design
 
06 fse design
06 fse design06 fse design
06 fse design
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).ppt
 

Mehr von Vikram Dahiya

Furnishing Industry Information
Furnishing Industry InformationFurnishing Industry Information
Furnishing Industry Information
Vikram Dahiya
 
Genzyme : The Renvela Launch Decision
Genzyme : The Renvela Launch Decision Genzyme : The Renvela Launch Decision
Genzyme : The Renvela Launch Decision
Vikram Dahiya
 

Mehr von Vikram Dahiya (20)

All Leadership Theories
All Leadership TheoriesAll Leadership Theories
All Leadership Theories
 
Marketing 4.0 (2018)
Marketing 4.0 (2018)Marketing 4.0 (2018)
Marketing 4.0 (2018)
 
Donald Trump vs Hillary Clinton
Donald Trump vs Hillary ClintonDonald Trump vs Hillary Clinton
Donald Trump vs Hillary Clinton
 
India's CSR policy and NVG
India's CSR policy and NVGIndia's CSR policy and NVG
India's CSR policy and NVG
 
Social stratification and mobility vikram dahiya
Social stratification and mobility   vikram dahiyaSocial stratification and mobility   vikram dahiya
Social stratification and mobility vikram dahiya
 
Wallpaper Brands in India
Wallpaper Brands in IndiaWallpaper Brands in India
Wallpaper Brands in India
 
Sanitaryware Industry
Sanitaryware IndustrySanitaryware Industry
Sanitaryware Industry
 
Furnishing Industry Information
Furnishing Industry InformationFurnishing Industry Information
Furnishing Industry Information
 
Tiles industry in India
Tiles industry in IndiaTiles industry in India
Tiles industry in India
 
Furniture Industry in India
Furniture Industry in IndiaFurniture Industry in India
Furniture Industry in India
 
Plywood industry- A deep insight
Plywood industry- A deep insightPlywood industry- A deep insight
Plywood industry- A deep insight
 
Indian paint industry
Indian paint industryIndian paint industry
Indian paint industry
 
e-wallet , The future of Cards and Money
e-wallet , The future of Cards and Moneye-wallet , The future of Cards and Money
e-wallet , The future of Cards and Money
 
Facebook Case
Facebook CaseFacebook Case
Facebook Case
 
Genzyme : The Renvela Launch Decision
Genzyme : The Renvela Launch Decision Genzyme : The Renvela Launch Decision
Genzyme : The Renvela Launch Decision
 
Product Failure Evaluation
Product Failure EvaluationProduct Failure Evaluation
Product Failure Evaluation
 
Final
FinalFinal
Final
 
Dog golf
Dog golfDog golf
Dog golf
 
Bread for your thought
Bread for your thoughtBread for your thought
Bread for your thought
 
Future Mobile Trends
Future Mobile TrendsFuture Mobile Trends
Future Mobile Trends
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Design engineering

  • 1. Design Modeling (Design Engineering)
  • 2. Requirements Analysis v. System Design Dilemma . • Requirements analysis should make minimal assumptions about the system design. • But the requirements definition must be consistent with computing technology and the resources available. In practice, analysis and design are interwoven. However, do not to allow the analysis tools to prejudge the system design.
  • 3. Analysis Model -> Design Model
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Data Abstraction door implemented as a data structure manufacturer model number type swing direction inserts lights type number weight opening mechanism
  • 16. Procedural Abstraction open implemented with a "knowledge" of the object that is associated with enter details of enter algorithm
  • 17. Architecture “ The overall structure of the software and the ways in which that structure provides conceptual integrity for a system.” [SHA95a] Structural properties. This aspect of the architectural design representation defines the components of a system (e.g., modules, objects, filters) and the manner in which those components are packaged and interact with one another. For example, objects are packaged to encapsulate both data and the processing that manipulates the data and interact via the invocation of methods Extra-functional properties. The architectural design description should address how the design architecture achieves requirements for performance, capacity, reliability, security, adaptability, and other system characteristics. Families of related systems. The architectural design should draw upon repeatable patterns that are commonly encountered in the design of families of similar systems. In essence, the design should have the ability to reuse architectural building blocks.
  • 18.
  • 20. Modularity & Cost : Trade-offs What is the "right" number of modules for a specific software design? optimal number of modules cost of software number of modules module integration cost module development cost
  • 22. Information Hiding module controlled interface "secret" • algorithm • data structure • details of external interface • resource allocation policy clients a specific design decision
  • 23.
  • 24.
  • 25. Stepwise Refinement open walk to door; reach for knob; open door; walk through; close door. repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out ; find correct key; insert in lock; endif pull/push door move out of way ; end repeat
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 34.
  • 35.
  • 36.
  • 39. Polymorphism case of graphtype: if graphtype = linegraph then DrawLineGraph (data); if graphtype = piechart then DrawPieChart (data); if graphtype = histogram then DrawHisto (data); if graphtype = kiviat then DrawKiviat (data); end case; All of the graphs become subclasses of a general class called graph. Using a concept called overloading [TAY90], each subclass defines an operation called draw . An object can send a draw message to any one of the objects instantiated from any one of the subclasses. The object receiving the message will invoke its own draw operation to create the appropriate graph. graphtype draw Conventional approach …
  • 40. SSAD and OOAD based Software Design (Design Model)
  • 41.
  • 42.
  • 45. Component Diagram HelloWorld.class hello.java hello.hml hello.jpg executable component
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.