SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Software Engineering: A Practitioner’s Approach, 6/e Chapter 10 Architectural Design copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with  Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.
Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software engineer to:  (1) analyze the effectiveness of the design in meeting its stated requirements,  (2) consider architectural alternatives at a stage when making design changes is still relatively easy, and  (3) reduce the risks associated with the construction of the software.
Why is Architecture Important? ,[object Object],[object Object],[object Object]
Data Design ,[object Object],[object Object],[object Object],[object Object],[object Object]
Data Design ,[object Object],[object Object],[object Object],[object Object],[object Object]
Data Design—Component Level 1.  The systematic analysis principles applied to function and behavior should also be applied to data.  2.  All data structures and the operations to be performed on each should be identified.  3.  A data dictionary should be established and used to define both data and program design.  4.  Low level data design decisions should be deferred until late in the design process.  5.  The representation of data structure should be known only to those modules that must make direct use of the data contained within the structure.  6.  A library of useful data structures and the operations that may be applied to them should be developed.  7.  A software design and programming language should support the specification and realization of abstract data types.
Architectural Styles ,[object Object],[object Object],[object Object],[object Object],[object Object],Each style describes a system category that encompasses: (1) a  set of components  (e.g., a database, computational modules) that perform a function required by a system, (2) a  set of connectors  that enable “communication, coordination and cooperation” among components, (3)  constraints  that define how components can be integrated to form the system, and (4)  semantic models  that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts.
Data-Centered Architecture
Data Flow Architecture
Call and Return Architecture
Layered Architecture
Architectural Patterns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Architectural Design ,[object Object],[object Object],[object Object],[object Object],[object Object]
Architectural Context
Archetypes
Component Structure
Refined Component Structure
Analyzing Architectural Design 1.  Collect scenarios.  2.  Elicit requirements, constraints, and environment description.  3.  Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements: •  module view •  process view •  data flow view 4.  Evaluate quality attributes by considered each attribute in isolation.  5.  Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style.  6.  Critique candidate architectures (developed in step 3) using the sensitivity analysis conducted in step 5.
An Architectural Design Method "four bedrooms, three baths, lots of glass ..." customer requirements architectural design
Deriving Program Architecture Program Architecture
Partitioning the Architecture ,[object Object]
Horizontal Partitioning ,[object Object],[object Object],function 1 function 3 function 2
Vertical Partitioning: Factoring ,[object Object],[object Object],workers decision-makers
Why Partitioned Architecture? ,[object Object],[object Object],[object Object],[object Object]
Structured Design ,[object Object],[object Object],[object Object],[object Object],[object Object]
Flow Characteristics Transform flow Transaction flow
General Mapping Approach isolate incoming and outgoing flow  boundaries; for transaction flows, isolate  the transaction center working from the boundary outward, map DFD transforms into corresponding modules add control modules as required refine the resultant program structure using effective modularity concepts
Transform Mapping
Factoring
First Level Factoring main  program controller input controller processing controller output controller
Second Level Mapping
Transaction Flow T incoming flow action path
Transaction Example operator commands process operator  commands fixture setting report  robot control fixture servos display screen robot control software in reality, other  commands would also be shown assembly record
Refining the Analysis Model write an English language processing narrative  for the level 01 flow model apply noun/verb parse to isolate processes, data  items, store and entities develop level 02 and 03 flow models create corresponding data dictionary entries refine flow models as appropriate ... now, we're ready to begin design! 1. 2. 3. 4. 5.
Deriving Level 1 Processing narrative for " process operator commands" Process operator command software reads operator commands from  the cell operator. An error message is displayed for invalid commands.  The command type is determined for valid commands and appropriate  action is taken. When fixture commands are encountered, fixture  status is analyzed and a fixture setting is output to the fixture servos.  When a report is selected, the assembly record file is read and  a  report is generated and displayed on the operator display screen.  When robot control switches are selected, control values are sent to  the robot control system.  Processing narrative for " process operator commands" Process operator command software  reads operator  commands from  the cell  operator . An  error message is  displayed for  invalid commands .  The  command type is  determined for  valid commands and appropriate  action is  taken . When  fixture commands are  encountered ,  fixture  status is  analyzed and a  fixture setting is  output to the  fixture servos .  When a  report is  selected , the  assembly record file is  read and  a  report is  generated and  displayed on the operator  display screen .  When  robot control switches are  selected ,  control value s  are  sent to  the  robot control system.  noun-verb parse
Level 1 Data Flow Diagram
Level 2 Data Flow Diagram
Transaction Mapping Principles isolate the incoming flow path define each of the action paths by looking for  the "spokes of the wheel" assess the flow on each action path define the dispatch and control structure map each action path flow individually
Transaction Mapping
Isolate Flow Paths
Map the Flow Model
Refining the Structure Chart

Weitere ähnliche Inhalte

Was ist angesagt?

4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
IBM
 
Software design principles
Software design principlesSoftware design principles
Software design principles
Ritesh Singh
 
10 architectural design (1)
10 architectural design (1)10 architectural design (1)
10 architectural design (1)
Ayesha Bhatti
 

Was ist angesagt? (20)

EC8791 Requirement-Specifications-Quality assurance techniques
EC8791 Requirement-Specifications-Quality assurance techniquesEC8791 Requirement-Specifications-Quality assurance techniques
EC8791 Requirement-Specifications-Quality assurance techniques
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Hld and lld
Hld and lldHld and lld
Hld and lld
 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
 
Design notation
Design notationDesign notation
Design notation
 
software design principles
software design principlessoftware design principles
software design principles
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Software design
Software designSoftware design
Software design
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 
Software engineering 17 architectural design
Software engineering 17 architectural designSoftware engineering 17 architectural design
Software engineering 17 architectural design
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
10 architectural design (1)
10 architectural design (1)10 architectural design (1)
10 architectural design (1)
 
architectural design
 architectural design architectural design
architectural design
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Domain specific Software Architecture
Domain specific Software Architecture Domain specific Software Architecture
Domain specific Software Architecture
 
Sda 7
Sda   7Sda   7
Sda 7
 

Andere mochten auch (7)

06 architectural design_workout
06 architectural design_workout06 architectural design_workout
06 architectural design_workout
 
05 architectural design
05 architectural design05 architectural design
05 architectural design
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
 
Flow process chart
Flow process chartFlow process chart
Flow process chart
 
Zaha Hadid's Architecture of Form
Zaha Hadid's Architecture of FormZaha Hadid's Architecture of Form
Zaha Hadid's Architecture of Form
 
Cloud computing simple ppt
Cloud computing simple pptCloud computing simple ppt
Cloud computing simple ppt
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 

Ähnlich wie Ch10

Ähnlich wie Ch10 (20)

Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
architectural.ppt
architectural.pptarchitectural.ppt
architectural.ppt
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
Unit-3.doc
Unit-3.docUnit-3.doc
Unit-3.doc
 
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
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
Software enginnering
Software enginneringSoftware enginnering
Software enginnering
 
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
 
06 fse design
06 fse design06 fse design
06 fse design
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
Pattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecturePattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecture
 
Constructing Enterprise Applications
Constructing Enterprise  ApplicationsConstructing Enterprise  Applications
Constructing Enterprise Applications
 
Visualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service DescriptionVisualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service Description
 
Chapter1
Chapter1Chapter1
Chapter1
 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
 
Architecting and Designing Enterprise Applications
Architecting and Designing Enterprise ApplicationsArchitecting and Designing Enterprise Applications
Architecting and Designing Enterprise Applications
 

Mehr von Humberto Bruno Pontes Silva

Confraria samba choro
Confraria samba choroConfraria samba choro
Confraria samba choro
Humberto Bruno Pontes Silva
 

Mehr von Humberto Bruno Pontes Silva (20)

Confraria samba choro
Confraria samba choroConfraria samba choro
Confraria samba choro
 
Accountability Corbit Overview 06262007
Accountability Corbit Overview 06262007Accountability Corbit Overview 06262007
Accountability Corbit Overview 06262007
 
Aula08 Sc
Aula08 ScAula08 Sc
Aula08 Sc
 
Ruy C Pq D Cbc 1 2007 10 29
Ruy   C Pq D   Cbc 1 2007 10 29Ruy   C Pq D   Cbc 1 2007 10 29
Ruy C Pq D Cbc 1 2007 10 29
 
Palestra Daniel Dias1
Palestra Daniel Dias1Palestra Daniel Dias1
Palestra Daniel Dias1
 
Portuguese Scrum
Portuguese ScrumPortuguese Scrum
Portuguese Scrum
 
RegulaçãO3
RegulaçãO3RegulaçãO3
RegulaçãO3
 
Certificados Digitais
Certificados DigitaisCertificados Digitais
Certificados Digitais
 
Backdoors
BackdoorsBackdoors
Backdoors
 
Apresentacao Aula04 So
Apresentacao Aula04 SoApresentacao Aula04 So
Apresentacao Aula04 So
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
Ch06
Ch06Ch06
Ch06
 
2contecsi B
2contecsi B2contecsi B
2contecsi B
 
Apresentacao Aula02 So
Apresentacao Aula02 SoApresentacao Aula02 So
Apresentacao Aula02 So
 
Spin72
Spin72Spin72
Spin72
 
Spin72
Spin72Spin72
Spin72
 
Licitacoes
LicitacoesLicitacoes
Licitacoes
 
10 P R O C E S S O N O T C U
10  P R O C E S S O  N O  T C U10  P R O C E S S O  N O  T C U
10 P R O C E S S O N O T C U
 
Secex Sc Conhecendo O Tcu
Secex Sc    Conhecendo O TcuSecex Sc    Conhecendo O Tcu
Secex Sc Conhecendo O Tcu
 
Ch03
Ch03Ch03
Ch03
 

Kürzlich hochgeladen

Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Abortion pills in Kuwait Cytotec pills in Kuwait
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
Abortion pills in Kuwait Cytotec pills in Kuwait
 

Kürzlich hochgeladen (20)

Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165
 
Cracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' SlideshareCracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' Slideshare
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
Cannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 UpdatedCannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 Updated
 
Over the Top (OTT) Market Size & Growth Outlook 2024-2030
Over the Top (OTT) Market Size & Growth Outlook 2024-2030Over the Top (OTT) Market Size & Growth Outlook 2024-2030
Over the Top (OTT) Market Size & Growth Outlook 2024-2030
 
Arti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfArti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdf
 
BeMetals Investor Presentation_May 3, 2024.pdf
BeMetals Investor Presentation_May 3, 2024.pdfBeMetals Investor Presentation_May 3, 2024.pdf
BeMetals Investor Presentation_May 3, 2024.pdf
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
 
Rice Manufacturers in India | Shree Krishna Exports
Rice Manufacturers in India | Shree Krishna ExportsRice Manufacturers in India | Shree Krishna Exports
Rice Manufacturers in India | Shree Krishna Exports
 
Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024
 
Falcon Invoice Discounting: Tailored Financial Wings
Falcon Invoice Discounting: Tailored Financial WingsFalcon Invoice Discounting: Tailored Financial Wings
Falcon Invoice Discounting: Tailored Financial Wings
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 
CROSS CULTURAL NEGOTIATION BY PANMISEM NS
CROSS CULTURAL NEGOTIATION BY PANMISEM NSCROSS CULTURAL NEGOTIATION BY PANMISEM NS
CROSS CULTURAL NEGOTIATION BY PANMISEM NS
 
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdfTVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 

Ch10

  • 1. Software Engineering: A Practitioner’s Approach, 6/e Chapter 10 Architectural Design copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.
  • 2. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1) analyze the effectiveness of the design in meeting its stated requirements, (2) consider architectural alternatives at a stage when making design changes is still relatively easy, and (3) reduce the risks associated with the construction of the software.
  • 3.
  • 4.
  • 5.
  • 6. Data Design—Component Level 1. The systematic analysis principles applied to function and behavior should also be applied to data. 2. All data structures and the operations to be performed on each should be identified. 3. A data dictionary should be established and used to define both data and program design. 4. Low level data design decisions should be deferred until late in the design process. 5. The representation of data structure should be known only to those modules that must make direct use of the data contained within the structure. 6. A library of useful data structures and the operations that may be applied to them should be developed. 7. A software design and programming language should support the specification and realization of abstract data types.
  • 7.
  • 10. Call and Return Architecture
  • 12.
  • 13.
  • 18. Analyzing Architectural Design 1. Collect scenarios. 2. Elicit requirements, constraints, and environment description. 3. Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements: • module view • process view • data flow view 4. Evaluate quality attributes by considered each attribute in isolation. 5. Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style. 6. Critique candidate architectures (developed in step 3) using the sensitivity analysis conducted in step 5.
  • 19. An Architectural Design Method "four bedrooms, three baths, lots of glass ..." customer requirements architectural design
  • 20. Deriving Program Architecture Program Architecture
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Flow Characteristics Transform flow Transaction flow
  • 27. General Mapping Approach isolate incoming and outgoing flow boundaries; for transaction flows, isolate the transaction center working from the boundary outward, map DFD transforms into corresponding modules add control modules as required refine the resultant program structure using effective modularity concepts
  • 30. First Level Factoring main program controller input controller processing controller output controller
  • 32. Transaction Flow T incoming flow action path
  • 33. Transaction Example operator commands process operator commands fixture setting report robot control fixture servos display screen robot control software in reality, other commands would also be shown assembly record
  • 34. Refining the Analysis Model write an English language processing narrative for the level 01 flow model apply noun/verb parse to isolate processes, data items, store and entities develop level 02 and 03 flow models create corresponding data dictionary entries refine flow models as appropriate ... now, we're ready to begin design! 1. 2. 3. 4. 5.
  • 35. Deriving Level 1 Processing narrative for " process operator commands" Process operator command software reads operator commands from the cell operator. An error message is displayed for invalid commands. The command type is determined for valid commands and appropriate action is taken. When fixture commands are encountered, fixture status is analyzed and a fixture setting is output to the fixture servos. When a report is selected, the assembly record file is read and a report is generated and displayed on the operator display screen. When robot control switches are selected, control values are sent to the robot control system. Processing narrative for " process operator commands" Process operator command software reads operator commands from the cell operator . An error message is displayed for invalid commands . The command type is determined for valid commands and appropriate action is taken . When fixture commands are encountered , fixture status is analyzed and a fixture setting is output to the fixture servos . When a report is selected , the assembly record file is read and a report is generated and displayed on the operator display screen . When robot control switches are selected , control value s are sent to the robot control system. noun-verb parse
  • 36. Level 1 Data Flow Diagram
  • 37. Level 2 Data Flow Diagram
  • 38. Transaction Mapping Principles isolate the incoming flow path define each of the action paths by looking for the "spokes of the wheel" assess the flow on each action path define the dispatch and control structure map each action path flow individually
  • 41. Map the Flow Model