SlideShare a Scribd company logo
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

More Related Content

What's hot

SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
Amr E. Mohamed
 
System Modelling
System ModellingSystem Modelling
System Modelling
Jennifer Polack
 
Modeling software architecture with uml
Modeling software architecture with umlModeling software architecture with uml
Modeling software architecture with uml
International Journal of Science and Research (IJSR)
 
Data and functional modeling
Data and functional modelingData and functional modeling
Data and functional modelingSlideshare
 
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
IIUI
 
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction DiagramsSE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
Amr E. Mohamed
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling Techniques
Shilpa Wadhwani
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
Eliza Wright
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
Benazir Fathima
 
Chapter06
Chapter06Chapter06
Chapter06
Franco Valdez
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Modeling System Requirements
Modeling System RequirementsModeling System Requirements
Modeling System Requirements
Asjad Raza
 
Unit 3 system models
Unit 3 system modelsUnit 3 system models
Unit 3 system models
Azhar Shaik
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
Amr E. Mohamed
 
SE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class DiagramSE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class Diagram
Amr E. Mohamed
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use Cases
Amr E. Mohamed
 
Structural modeling and analysis
Structural modeling and analysisStructural modeling and analysis
Structural modeling and analysis
JIGAR MAKHIJA
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
Rahul Pola
 

What's hot (20)

SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
System Modelling
System ModellingSystem Modelling
System Modelling
 
Modeling software architecture with uml
Modeling software architecture with umlModeling software architecture with uml
Modeling software architecture with uml
 
Analysis modelling
Analysis modellingAnalysis modelling
Analysis modelling
 
Data and functional modeling
Data and functional modelingData and functional modeling
Data and functional modeling
 
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
 
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction DiagramsSE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling Techniques
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Chapter06
Chapter06Chapter06
Chapter06
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
8 system models (1)
8 system models (1)8 system models (1)
8 system models (1)
 
Modeling System Requirements
Modeling System RequirementsModeling System Requirements
Modeling System Requirements
 
Unit 3 system models
Unit 3 system modelsUnit 3 system models
Unit 3 system models
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 
SE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class DiagramSE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class Diagram
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use Cases
 
Structural modeling and analysis
Structural modeling and analysisStructural modeling and analysis
Structural modeling and analysis
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 

Similar to Ch08

Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
MuhammadTalha436
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
AnishNarayan4
 
software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt
064ChetanWani
 
Bridge
BridgeBridge
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
AnanthiP8
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8Dhairya Joshi
 
Introducing Uml And Development Process
Introducing Uml And Development ProcessIntroducing Uml And Development Process
Introducing Uml And Development Process
Terry Cho
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
Aditi_17
 
Machine Learning as service
Machine Learning as serviceMachine Learning as service
Machine Learning as service
Nihal Mehdi
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
amanuel236786
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineeringMohesh Chandran
 
chapter 5 Objectdesign.ppt
chapter 5 Objectdesign.pptchapter 5 Objectdesign.ppt
chapter 5 Objectdesign.ppt
TemesgenAzezew
 
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
 
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
 
Introduction to Data Structure
Introduction to Data Structure Introduction to Data Structure
Introduction to Data Structure
Prof Ansari
 
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
VGaneshKarthikeyan
 
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
VGaneshKarthikeyan
 
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
VGaneshKarthikeyan
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
RobinsonObura
 

Similar to Ch08 (20)

Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 
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
 
Bridge
BridgeBridge
Bridge
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
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 ...
 
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
 

More from guest50f28c (6)

Ch06
Ch06Ch06
Ch06
 
Ch09
Ch09Ch09
Ch09
 
Ch07
Ch07Ch07
Ch07
 
Ch03
Ch03Ch03
Ch03
 
Ch02
Ch02Ch02
Ch02
 
Ch10
Ch10Ch10
Ch10
 

Recently uploaded

Taurus Zodiac Sign_ Personality Traits and Sign Dates.pptx
Taurus Zodiac Sign_ Personality Traits and Sign Dates.pptxTaurus Zodiac Sign_ Personality Traits and Sign Dates.pptx
Taurus Zodiac Sign_ Personality Traits and Sign Dates.pptx
my Pandit
 
Filing Your Delaware Franchise Tax A Detailed Guide
Filing Your Delaware Franchise Tax A Detailed GuideFiling Your Delaware Franchise Tax A Detailed Guide
Filing Your Delaware Franchise Tax A Detailed Guide
YourLegal Accounting
 
Digital Transformation in PLM - WHAT and HOW - for distribution.pdf
Digital Transformation in PLM - WHAT and HOW - for distribution.pdfDigital Transformation in PLM - WHAT and HOW - for distribution.pdf
Digital Transformation in PLM - WHAT and HOW - for distribution.pdf
Jos Voskuil
 
Lookback Analysis
Lookback AnalysisLookback Analysis
Lookback Analysis
Safe PaaS
 
Improving profitability for small business
Improving profitability for small businessImproving profitability for small business
Improving profitability for small business
Ben Wann
 
Buy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star ReviewsBuy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star Reviews
usawebmarket
 
chapter 10 - excise tax of transfer and business taxation
chapter 10 - excise tax of transfer and business taxationchapter 10 - excise tax of transfer and business taxation
chapter 10 - excise tax of transfer and business taxation
AUDIJEAngelo
 
Enterprise Excellence is Inclusive Excellence.pdf
Enterprise Excellence is Inclusive Excellence.pdfEnterprise Excellence is Inclusive Excellence.pdf
Enterprise Excellence is Inclusive Excellence.pdf
KaiNexus
 
Premium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern BusinessesPremium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern Businesses
SynapseIndia
 
BeMetals Presentation_May_22_2024 .pdf
BeMetals Presentation_May_22_2024   .pdfBeMetals Presentation_May_22_2024   .pdf
BeMetals Presentation_May_22_2024 .pdf
DerekIwanaka1
 
Pitch Deck Teardown: RAW Dating App's $3M Angel deck
Pitch Deck Teardown: RAW Dating App's $3M Angel deckPitch Deck Teardown: RAW Dating App's $3M Angel deck
Pitch Deck Teardown: RAW Dating App's $3M Angel deck
HajeJanKamps
 
Brand Analysis for an artist named Struan
Brand Analysis for an artist named StruanBrand Analysis for an artist named Struan
Brand Analysis for an artist named Struan
sarahvanessa51503
 
Exploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social DreamingExploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social Dreaming
Nicola Wreford-Howard
 
falcon-invoice-discounting-a-premier-platform-for-investors-in-india
falcon-invoice-discounting-a-premier-platform-for-investors-in-indiafalcon-invoice-discounting-a-premier-platform-for-investors-in-india
falcon-invoice-discounting-a-premier-platform-for-investors-in-india
Falcon Invoice Discounting
 
Unveiling the Secrets How Does Generative AI Work.pdf
Unveiling the Secrets How Does Generative AI Work.pdfUnveiling the Secrets How Does Generative AI Work.pdf
Unveiling the Secrets How Does Generative AI Work.pdf
Sam H
 
PriyoShop Celebration Pohela Falgun Mar 20, 2024
PriyoShop Celebration Pohela Falgun Mar 20, 2024PriyoShop Celebration Pohela Falgun Mar 20, 2024
PriyoShop Celebration Pohela Falgun Mar 20, 2024
PriyoShop.com LTD
 
Skye Residences | Extended Stay Residences Near Toronto Airport
Skye Residences | Extended Stay Residences Near Toronto AirportSkye Residences | Extended Stay Residences Near Toronto Airport
Skye Residences | Extended Stay Residences Near Toronto Airport
marketingjdass
 
Search Disrupted Google’s Leaked Documents Rock the SEO World.pdf
Search Disrupted Google’s Leaked Documents Rock the SEO World.pdfSearch Disrupted Google’s Leaked Documents Rock the SEO World.pdf
Search Disrupted Google’s Leaked Documents Rock the SEO World.pdf
Arihant Webtech Pvt. Ltd
 
20240425_ TJ Communications Credentials_compressed.pdf
20240425_ TJ Communications Credentials_compressed.pdf20240425_ TJ Communications Credentials_compressed.pdf
20240425_ TJ Communications Credentials_compressed.pdf
tjcomstrang
 
Project File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdfProject File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdf
RajPriye
 

Recently uploaded (20)

Taurus Zodiac Sign_ Personality Traits and Sign Dates.pptx
Taurus Zodiac Sign_ Personality Traits and Sign Dates.pptxTaurus Zodiac Sign_ Personality Traits and Sign Dates.pptx
Taurus Zodiac Sign_ Personality Traits and Sign Dates.pptx
 
Filing Your Delaware Franchise Tax A Detailed Guide
Filing Your Delaware Franchise Tax A Detailed GuideFiling Your Delaware Franchise Tax A Detailed Guide
Filing Your Delaware Franchise Tax A Detailed Guide
 
Digital Transformation in PLM - WHAT and HOW - for distribution.pdf
Digital Transformation in PLM - WHAT and HOW - for distribution.pdfDigital Transformation in PLM - WHAT and HOW - for distribution.pdf
Digital Transformation in PLM - WHAT and HOW - for distribution.pdf
 
Lookback Analysis
Lookback AnalysisLookback Analysis
Lookback Analysis
 
Improving profitability for small business
Improving profitability for small businessImproving profitability for small business
Improving profitability for small business
 
Buy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star ReviewsBuy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star Reviews
 
chapter 10 - excise tax of transfer and business taxation
chapter 10 - excise tax of transfer and business taxationchapter 10 - excise tax of transfer and business taxation
chapter 10 - excise tax of transfer and business taxation
 
Enterprise Excellence is Inclusive Excellence.pdf
Enterprise Excellence is Inclusive Excellence.pdfEnterprise Excellence is Inclusive Excellence.pdf
Enterprise Excellence is Inclusive Excellence.pdf
 
Premium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern BusinessesPremium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern Businesses
 
BeMetals Presentation_May_22_2024 .pdf
BeMetals Presentation_May_22_2024   .pdfBeMetals Presentation_May_22_2024   .pdf
BeMetals Presentation_May_22_2024 .pdf
 
Pitch Deck Teardown: RAW Dating App's $3M Angel deck
Pitch Deck Teardown: RAW Dating App's $3M Angel deckPitch Deck Teardown: RAW Dating App's $3M Angel deck
Pitch Deck Teardown: RAW Dating App's $3M Angel deck
 
Brand Analysis for an artist named Struan
Brand Analysis for an artist named StruanBrand Analysis for an artist named Struan
Brand Analysis for an artist named Struan
 
Exploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social DreamingExploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social Dreaming
 
falcon-invoice-discounting-a-premier-platform-for-investors-in-india
falcon-invoice-discounting-a-premier-platform-for-investors-in-indiafalcon-invoice-discounting-a-premier-platform-for-investors-in-india
falcon-invoice-discounting-a-premier-platform-for-investors-in-india
 
Unveiling the Secrets How Does Generative AI Work.pdf
Unveiling the Secrets How Does Generative AI Work.pdfUnveiling the Secrets How Does Generative AI Work.pdf
Unveiling the Secrets How Does Generative AI Work.pdf
 
PriyoShop Celebration Pohela Falgun Mar 20, 2024
PriyoShop Celebration Pohela Falgun Mar 20, 2024PriyoShop Celebration Pohela Falgun Mar 20, 2024
PriyoShop Celebration Pohela Falgun Mar 20, 2024
 
Skye Residences | Extended Stay Residences Near Toronto Airport
Skye Residences | Extended Stay Residences Near Toronto AirportSkye Residences | Extended Stay Residences Near Toronto Airport
Skye Residences | Extended Stay Residences Near Toronto Airport
 
Search Disrupted Google’s Leaked Documents Rock the SEO World.pdf
Search Disrupted Google’s Leaked Documents Rock the SEO World.pdfSearch Disrupted Google’s Leaked Documents Rock the SEO World.pdf
Search Disrupted Google’s Leaked Documents Rock the SEO World.pdf
 
20240425_ TJ Communications Credentials_compressed.pdf
20240425_ TJ Communications Credentials_compressed.pdf20240425_ TJ Communications Credentials_compressed.pdf
20240425_ TJ Communications Credentials_compressed.pdf
 
Project File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdfProject File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdf
 

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!