SlideShare une entreprise Scribd logo
1  sur  74
Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling 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.
8.1 Requirements Analysis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fig8.1 Analysis model as A Bridge 需求 分析 設計
 
Rules of Thumb ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Domain Analysis ,[object Object],[object Object],Donald Firesmith
8.1.3 Domain Analysis (  as chapter 7 –requirement analysis ) ,[object Object],[object Object],[object Object],[object Object]
8.3 Data Modeling ,[object Object],[object Object],[object Object],[object Object]
8.3.1 What is a Data Object? each  instance of  an object  (e.g., a book)  can be identified uniquely  (e.g., ISBN #)  each plays a necessary role in the system i.e., the system could not function without  access to instances of the object each is described by attributes that are  themselves data items Object — something that is described by a set of attributes (data items) and that will be  manipulated within the software (system)
Typical Objects external entities   (printer, user, sensor) things (e.g, reports, displays, signals)  occurrences or events   (e.g., interrupt, alarm) roles   (e.g., manager, engineer, salesperson) organizational units (e.g., division, team) places (e.g., manufacturing floor)  structures   (e.g., employee record)
8.3.2 Data Objects and Attributes A data object contains a set of attributes that act as an aspect, quality, characteristic, or descriptor of the object object: automobile attributes: make model body type price options code
What is a Relationship? ,[object Object],[object Object],relationship — indicates “connectedness”;  a "fact" that must be "remembered"  by the system and cannot or is not computed  or derived mechanically
8.3.3 ERD (Entity Relational Diagram) Notation (0, m) (1, 1) object object relationship 1 2 One common form: (0, m) (1, 1) object 1 object 2 relationship Another common form: attribute
Building an ERD ,[object Object],[object Object],[object Object]
The ERD: An Example (1,1) (1,m) places Customer request for service generates (1,n) (1,1) work order work tasks materials consists of lists (1,1) (1,w) (1,1) (1,i) selected from standard task table (1,w) (1,1)
8.4 Object-Oriented Concepts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building a Class
What is a Class? external entities things occurrences roles organizational units places structures class name attributes: operations:
Encapsulation/Hiding The object encapsulates both data and the logical procedures required to manipulate the data Achieves   “information hiding” method  # 1 data method  # 2 method  # 4 method  # 5 method  # 6 method  # 3
Class Hierarchy Chair Table Desk ” Chable" instances of Chair PieceOfFurniture (superclass) subclasses of the
Methods (a.k.a. Operations, Services) An executable procedure that is encapsulated in a class and is designed to operate on one or more data attributes that are defined as part of the class. A method is invoked  via message passing.
8.5 Scenario-Based Modeling ,[object Object],[object Object],[object Object],[object Object],[object Object]
8.5.1 Use-Cases  (producers and consumers of information an system itself) ,[object Object],[object Object],[object Object]
Developing a Use-Case  ( 預演系統模擬 ) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Fig 8.6 Use-Case Diagram
Fig 8.7 Activity Diagram Supplements the use-case by providing a diagrammatic representation of procedural flow
Fig 8.8 Swimlane Diagrams Allows the modeler to represent the flow of activities described by the use-case and at the same time indicate which actor (if there are multiple actors involved in a specific use-case) or analysis class has responsibility for the action described by an activity rectangle
8.6 Flow-Oriented Modeling Represents how data objects are transformed at they move through the system A  data flow diagram (DFD)  is the diagrammatic form that is used Considered by many to be an ‘old school’ approach, flow-oriented modeling continues to provide a view of the system that is unique—it should be used to supplement other analysis model elements
The Flow Model Every computer-based system is an  information transform .... computer based system input output
Flow Modeling Notation external entity process data flow data store
External Entity A producer or consumer of data Examples: a person, a device, a sensor Another example: computer-based system Data must always originate somewhere and must always be sent to something
Process A data transformer (changes input to output) Examples: compute taxes, determine area, format report, display graph  Data must always be processed in some  way to achieve system function
Data Flow Data flows through a system, beginning as input and be transformed into output. compute triangle  area base height area
Data Stores Data   is often stored for later use. look-up sensor data sensor # report required sensor #, type,  location, age sensor data sensor number type,  location, age
Data Flow Diagramming: Guidelines ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Constructing a DFD—I ,[object Object],[object Object],[object Object]
Level 0 DFD Example user processing  request video source NTSC video signal digital video processor requested video signal monitor
Constructing a DFD—II ,[object Object],[object Object],[object Object],[object Object],[object Object]
The Data Flow Hierarchy P a b x y p1 p2 p3 p4 5 a b c d e f g level 0 level 1
Flow Modeling Notes ,[object Object],[object Object],[object Object],[object Object]
8.6.4 Process Specification (PSPEC) PSPEC narrative pseudocode (PDL) equations tables diagrams and/or charts bubble
DFDs: A Look Ahead Maps into analysis model design model
8.6.3 Control Flow Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Control Model the control flow diagram is "superimposed" on the DFD  and shows events that control the processes noted in  the DFD control flows—events and control items—are noted by  dashed arrows a vertical bar implies an input to or output from a control  spec (CSPEC) — a separate specification that  describes how control is handled a dashed arrow entering a vertical bar is an input to the  CSPEC a dashed arrow leaving a process implies a data  condition a dashed arrow entering a process implies a control  input read directly by the process control flows do not physically activate/deactivate the  processes—this is done via the CSPEC
Control Specification (CSPEC) The CSPEC can be: state diagram  (sequential spec) state transition table decision tables  activation tables combinatorial spec
Guidelines for Building a CSPEC list all sensors that are "read" by the software list all interrupt conditions list all "switches" that are actuated by the operator list all data conditions recalling the noun-verb parse that was applied to the software statement of scope, review all "control items" as possible CSPEC inputs/outputs describe the behavior of a system by identifying its  states; identify how each state is reach and defines  the transitions between states focus on possible omissions ... a very common error in  specifying control, e.g., ask: "Is there any other way I  can get to this state or exit from it?"
8.7 Class-Based Modeling ,[object Object],[object Object],[object Object],[object Object]
Analysis Classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Selecting Classes—Criteria needed services multiple attributes common attributes common operations essential requirements retained information
Fig 8.13 Class Diagram Class name attributes operations
Fig 8.14 Class Diagram (UML)
8.7.4 CRC  (Class-Responsibility- Collaborator)  Modeling ,[object Object],[object Object],[object Object],[object Object],[object Object]
Fig 8.15 CRC Modeling
Class Types ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Responsibilities ,[object Object],[object Object],[object Object],[object Object],[object Object]
Collaborations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
fig 8.16 Composite Aggregate Class
Reviewing the CRC Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
8.7.5 Associations and Dependencies ,[object Object],[object Object],[object Object],[object Object],[object Object]
Multiplicity
Dependencies  (Ex. SJSMIT 校園即時景觀  )
Analysis Packages ,[object Object],[object Object],[object Object]
8.19 Analysis Packages
8.8 Behavioral Modeling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
8.8.2 State Representations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fig 8.20 State Diagram for the ControlPanel Class
The States of a System ,[object Object],[object Object],[object Object],[object Object]
Behavioral Modeling ,[object Object],[object Object],[object Object],[object Object],[object Object]
Fig 8.21 Sequence Diagram
Writing the Software Specification Everyone knew exactly what had to be done until someone wrote it down!
Specification Guidelines
Specification Guidelines
Specification Guidelines

Contenu connexe

Tendances

Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...
csandit
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
Dhairya Joshi
 
UML Design Class Diagrams (2014)
UML Design Class Diagrams (2014)UML Design Class Diagrams (2014)
UML Design Class Diagrams (2014)
Miriam Ruiz
 
DFD, Decision Table, Decision Chart, Structure Charts
DFD, Decision Table, Decision Chart, Structure ChartsDFD, Decision Table, Decision Chart, Structure Charts
DFD, Decision Table, Decision Chart, Structure Charts
SOuvagya Kumar Jena
 

Tendances (20)

Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...
 
Chapter20 object oriented analysis and design
Chapter20 object oriented analysis and designChapter20 object oriented analysis and design
Chapter20 object oriented analysis and design
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
database chap 1 and 2.pptx
database chap 1 and 2.pptxdatabase chap 1 and 2.pptx
database chap 1 and 2.pptx
 
SE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class DiagramSE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class Diagram
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
UML Design Class Diagrams (2014)
UML Design Class Diagrams (2014)UML Design Class Diagrams (2014)
UML Design Class Diagrams (2014)
 
Unit three Advanced State Modelling
Unit three Advanced State ModellingUnit three Advanced State Modelling
Unit three Advanced State Modelling
 
Unit 3 system models
Unit 3 system modelsUnit 3 system models
Unit 3 system models
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
 
Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)
 
Chapter06
Chapter06Chapter06
Chapter06
 
UML Unit 01
UML Unit 01UML Unit 01
UML Unit 01
 
4b use-case analysis
4b use-case analysis4b use-case analysis
4b use-case analysis
 
DFD, Decision Table, Decision Chart, Structure Charts
DFD, Decision Table, Decision Chart, Structure ChartsDFD, Decision Table, Decision Chart, Structure Charts
DFD, Decision Table, Decision Chart, Structure Charts
 
Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady Booch
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
Oo methodology
Oo methodologyOo methodology
Oo methodology
 

Similaire à Ch08

05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
Mohesh Chandran
 
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
cscpconf
 

Similaire à Ch08 (20)

Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 
software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
Introducing Uml And Development Process
Introducing Uml And Development ProcessIntroducing Uml And Development Process
Introducing Uml And Development Process
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
 
Machine Learning as service
Machine Learning as serviceMachine Learning as service
Machine Learning as service
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
 
chapter 5 Objectdesign.ppt
chapter 5 Objectdesign.pptchapter 5 Objectdesign.ppt
chapter 5 Objectdesign.ppt
 
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
 
Final
FinalFinal
Final
 
Introduction to Data Structure
Introduction to Data Structure Introduction to Data Structure
Introduction to Data Structure
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 

Plus de Humberto Bruno Pontes Silva

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

Plus de 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
 
Ch10
Ch10Ch10
Ch10
 

Dernier

Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Dipal Arora
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
Renandantas16
 

Dernier (20)

Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...
 
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
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through Cartoons
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Service
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
 
John Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfJohn Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdf
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 

Ch08

  • 1. Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling 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.
  • 3. Fig8.1 Analysis model as A Bridge 需求 分析 設計
  • 4.  
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. 8.3.1 What is a Data Object? each instance of an object (e.g., a book) can be identified uniquely (e.g., ISBN #) each plays a necessary role in the system i.e., the system could not function without access to instances of the object each is described by attributes that are themselves data items Object — something that is described by a set of attributes (data items) and that will be manipulated within the software (system)
  • 10. Typical Objects external entities (printer, user, sensor) things (e.g, reports, displays, signals) occurrences or events (e.g., interrupt, alarm) roles (e.g., manager, engineer, salesperson) organizational units (e.g., division, team) places (e.g., manufacturing floor) structures (e.g., employee record)
  • 11. 8.3.2 Data Objects and Attributes A data object contains a set of attributes that act as an aspect, quality, characteristic, or descriptor of the object object: automobile attributes: make model body type price options code
  • 12.
  • 13. 8.3.3 ERD (Entity Relational Diagram) Notation (0, m) (1, 1) object object relationship 1 2 One common form: (0, m) (1, 1) object 1 object 2 relationship Another common form: attribute
  • 14.
  • 15. The ERD: An Example (1,1) (1,m) places Customer request for service generates (1,n) (1,1) work order work tasks materials consists of lists (1,1) (1,w) (1,1) (1,i) selected from standard task table (1,w) (1,1)
  • 16.
  • 17.
  • 19. What is a Class? external entities things occurrences roles organizational units places structures class name attributes: operations:
  • 20. Encapsulation/Hiding The object encapsulates both data and the logical procedures required to manipulate the data Achieves “information hiding” method # 1 data method # 2 method # 4 method # 5 method # 6 method # 3
  • 21. Class Hierarchy Chair Table Desk ” Chable" instances of Chair PieceOfFurniture (superclass) subclasses of the
  • 22. Methods (a.k.a. Operations, Services) An executable procedure that is encapsulated in a class and is designed to operate on one or more data attributes that are defined as part of the class. A method is invoked via message passing.
  • 23.
  • 24.
  • 25.
  • 26. Fig 8.6 Use-Case Diagram
  • 27. Fig 8.7 Activity Diagram Supplements the use-case by providing a diagrammatic representation of procedural flow
  • 28. Fig 8.8 Swimlane Diagrams Allows the modeler to represent the flow of activities described by the use-case and at the same time indicate which actor (if there are multiple actors involved in a specific use-case) or analysis class has responsibility for the action described by an activity rectangle
  • 29. 8.6 Flow-Oriented Modeling Represents how data objects are transformed at they move through the system A data flow diagram (DFD) is the diagrammatic form that is used Considered by many to be an ‘old school’ approach, flow-oriented modeling continues to provide a view of the system that is unique—it should be used to supplement other analysis model elements
  • 30. The Flow Model Every computer-based system is an information transform .... computer based system input output
  • 31. Flow Modeling Notation external entity process data flow data store
  • 32. External Entity A producer or consumer of data Examples: a person, a device, a sensor Another example: computer-based system Data must always originate somewhere and must always be sent to something
  • 33. Process A data transformer (changes input to output) Examples: compute taxes, determine area, format report, display graph Data must always be processed in some way to achieve system function
  • 34. Data Flow Data flows through a system, beginning as input and be transformed into output. compute triangle area base height area
  • 35. Data Stores Data is often stored for later use. look-up sensor data sensor # report required sensor #, type, location, age sensor data sensor number type, location, age
  • 36.
  • 37.
  • 38. Level 0 DFD Example user processing request video source NTSC video signal digital video processor requested video signal monitor
  • 39.
  • 40. The Data Flow Hierarchy P a b x y p1 p2 p3 p4 5 a b c d e f g level 0 level 1
  • 41.
  • 42. 8.6.4 Process Specification (PSPEC) PSPEC narrative pseudocode (PDL) equations tables diagrams and/or charts bubble
  • 43. DFDs: A Look Ahead Maps into analysis model design model
  • 44.
  • 45. The Control Model the control flow diagram is "superimposed" on the DFD and shows events that control the processes noted in the DFD control flows—events and control items—are noted by dashed arrows a vertical bar implies an input to or output from a control spec (CSPEC) — a separate specification that describes how control is handled a dashed arrow entering a vertical bar is an input to the CSPEC a dashed arrow leaving a process implies a data condition a dashed arrow entering a process implies a control input read directly by the process control flows do not physically activate/deactivate the processes—this is done via the CSPEC
  • 46. Control Specification (CSPEC) The CSPEC can be: state diagram (sequential spec) state transition table decision tables activation tables combinatorial spec
  • 47. Guidelines for Building a CSPEC list all sensors that are "read" by the software list all interrupt conditions list all "switches" that are actuated by the operator list all data conditions recalling the noun-verb parse that was applied to the software statement of scope, review all "control items" as possible CSPEC inputs/outputs describe the behavior of a system by identifying its states; identify how each state is reach and defines the transitions between states focus on possible omissions ... a very common error in specifying control, e.g., ask: "Is there any other way I can get to this state or exit from it?"
  • 48.
  • 49.
  • 50. Selecting Classes—Criteria needed services multiple attributes common attributes common operations essential requirements retained information
  • 51. Fig 8.13 Class Diagram Class name attributes operations
  • 52. Fig 8.14 Class Diagram (UML)
  • 53.
  • 54. Fig 8.15 CRC Modeling
  • 55.
  • 56.
  • 57.
  • 58. fig 8.16 Composite Aggregate Class
  • 59.
  • 60.
  • 62. Dependencies (Ex. SJSMIT 校園即時景觀 )
  • 63.
  • 65.
  • 66.
  • 67. Fig 8.20 State Diagram for the ControlPanel Class
  • 68.
  • 69.
  • 70. Fig 8.21 Sequence Diagram
  • 71. Writing the Software Specification Everyone knew exactly what had to be done until someone wrote it down!