SlideShare a Scribd company logo
Software Engineering II
By: Muhammad Usman
email:mu702823@gmail.com
Requirements Analysis
 Requirements analysis
 specifies software’s operational characteristics
 indicates software's interface with other system
elements
 establishes constraints that software must meet
 Requirements analysis allows the software
engineer (called an analyst or modeler in this role)
to:
 elaborate on basic requirements established during
earlier requirement engineering tasks
 build models that depict user scenarios, functional
activities, problem classes and their relationships,
system and class behavior, and the flow of data as it is
transformed.
A Bridge
system
description
analysis
model
design
model
Domain Analysis
Software domain analysis is the identification,
analysis, and specification of common
requirements from a specific application domain,
typically for reuse on multiple projects within that
application domain . . .
[Object-oriented domain analysis is] the
identification, analysis, and specification of
common, reusable capabilities within a specific
application domain, in terms of common objects,
classes, subassemblies, and frameworks . . .
Donald Firesmith
Domain Analysis
 Define the domain to be investigated.
 Collect a representative sample of applications
in the domain.
 Analyze each application in the sample.
 Develop an analysis model for the objects.
Elements of Requirements Analysis
Scenario-Based Modeling
“[Use-cases] are simply an aid to defining what
exists outside the system (actors) and what
should be performed by the system (use-
cases).” Ivar Jacobson
(1) What should we write about?
(2) How much should we write about it?
(3) How detailed should we make our
description?
(4) How should we organize the description?
Use-Cases
 a scenario that describes a “thread of usage” for
a system
 actors represent roles people or devices play as
the system functions
 users can play a number of different roles for a
given scenario
Developing a Use-Case
 What are the main tasks or functions that are
performed by the actor?
 What system information will the actor acquire,
produce or change?
 Will the actor have to inform the system about
changes in the external environment?
 What information does the actor desire from the
system?
 Does the actor wish to be informed about
unexpected changes?
Use-Case Diagram
homeowner
Access camera
surveillance via the
Internet
ConfigureSafeHome
system parameters
Set alarm
cameras
SafeHome
Activity Diagram
enter password
and user ID
select major function
valid passwords/ ID
prompt for reentry
invalid passwords/ ID
input t ries rem ain
no input
t r ies r em ain
select surveillance
ot her f unct ions
may also be
select ed
t hum bnail views select a specif ic cam er a
select camera icon
prompt for
another view
select specific
camera - thumbnails
exit t his f unct ion see anot her cam era
view camera output
in labelled window
Supplements the
use case by
providing a graphical
representation of the
flow of interaction
within a specific
scenario
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
enter password
and user ID
select major function
valid p asswo rd s/ ID
prompt for reentry
in valid
p asswo r d s/ ID
in p u t t ries
r emain
n o in p u t
t ries r emain
select surveillance
o t h er f u n ct io n s
may also b e
select ed
t h u mb n ail views select a sp ecif ic camera
select camera icon
generate video
output
select specific
camera - thumbnails
exit t h is
f u n ct io n
see
an o t h er
camera
h o m e o w n e r c a m e ra i n t e rf a c e
prompt for
another view
view camera output
in labelled window
Data Modeling
 examines data objects independently of
processing
 focuses attention on the data domain
 creates a model at the customer’s level of
abstraction
 indicates how data objects relate to one
another
What is a Data Object?
 a representation of almost any composite information that
must be understood by software.
 composite information—something that has a number of different
properties or attributes
 can be an external entity (e.g., anything that produces or
consumes information), a thing (e.g., a report or a display),
an occurrence (e.g., a telephone call) or event (e.g., an
alarm), a role (e.g., salesperson), an organizational unit
(e.g., accounting department), a place (e.g., a warehouse),
or a structure (e.g., a file).
 The description of the data object incorporates the data
object and all of its attributes.
 A data object encapsulates data only—there is no
reference within a data object to operations that act on the
data.
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?
 Data objects are connected to one another in
different ways.
 A connection is established between person and car
because the two objects are related.
 A person owns a car
 A person is insured to drive a car
 The relationships owns and insured to drive
define the relevant connections between person
and car.
 Several instances of a relationship can exist
 Objects can be related in many different ways
ERD Notation
(0, m) (1, 1)
object objectrelationship
1
One common form:
(0, m)
(1, 1)
object
1
object
2
relationship
Another common form:
attribute
Building an ERD
 Level 1—model all data objects (entities) and
their “connections” to one another
 Level 2—model all entities and relationships
 Level 3—model all entities, relationships, and
the attributes that provide further depth
The ERD: An Example
(1,1) (1,m)
placesCustomer
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)
Class-Based Modeling
 Class-based modeling represents:
 objects that the system will manipulate
 operations (also called methods or services) that will
be applied to the objects to effect the manipulation
 relationships (some hierarchical) between the objects
 collaborations that occur between the classes that
are defined.
Identifying Analysis Classes
 Classes are determined by underlining each noun or
noun phrase and entering it into a simple table.
 Synonyms should be noted.
 If the class (noun) is required to implement a solution,
then it is part of the solution space; otherwise, if a
class is necessary only to describe a solution, it is part
of the problem space.
Manifestations of Analysis Classes
 External entities (e.g., other systems, devices, people) that
produce or consume information
 Things (e.g, reports, displays, letters, signals) that are part of
the information domain for the problem
 Occurrences or events (e.g., a property transfer or the
completion of a series of robot movements) that occur within
the context of system operation
 Roles (e.g., manager, engineer, salesperson) played by people
who interact with the system
 Organizational units (e.g., division, group, team) that are
relevant to an application
 Places (e.g., manufacturing floor or loading dock) that
establish the context of the problem and the overall function
 Structures (e.g., sensors, four-wheeled vehicles, or
computers) that define a class of objects or related classes of
objects
Potential Classes
 Retained information. The potential class will be useful during
analysis only if information about it must be remembered so that the
system can function.
 Needed services. The potential class must have a set of
identifiable operations that can change the value of its attributes in
some way.
 Multiple attributes. During requirement analysis, the focus should
be on "major" information; a class with a single attribute may, in fact,
be useful during design, but is probably better represented as an
attribute of another class during the analysis activity.
 Common attributes. A set of attributes can be defined for the
potential class and these attributes apply to all instances of the
class.
 Common operations. A set of operations can be defined for the
potential class and these operations apply to all instances of the
class.
 Essential requirements. External entities that appear in the
problem space and produce or consume information essential to the
Defining Attributes
 Attributes describe a class that has been
selected for inclusion in the analysis model.
 For Playing Statistics software: name, position, batting
average, fielding percentage, years played, and games
played might be relevant
 For Pension Fund software: average salary, credit
toward full vesting, pension plan options chosen, mailing
address, and the like.
Defining Operations
 Do a grammatical parse of a processing narrative and look at the
verbs
 Operations can be divided into four broad categories:
(1) operations that manipulate data in some way (e.g., adding,
deleting, reformatting, selecting)
(2) operations that perform a computation
(3) operations that inquire about the state of an object, and
(4) operations that monitor an object for the occurrence of a
controlling event.
CRC Models
 Class-responsibility-collaborator (CRC)
modeling provides a simple means for
identifying and organizing the classes that are
relevant to system or product requirements.
 A CRC model is really a collection of standard index
cards that represent classes. The cards are divided into
three sections. Along the top of the card you write the
name of the class. In the body of the card you list the
class responsibilities on the left and the collaborators on
the right.
CRC Modeling
Class:
Description:
Responsibility: Collaborator:
Class:
Description:
Responsibility: Collaborator:
Class:
Description:
Responsibility: Collaborator:
Class:FloorPlan
Description:
Responsibility: Collaborator:
incorporates w alls, doors and w indow s
show s position of video cameras
defines floor plan name/type
manages floor plan positioning
scales floor plan for display
scales floor plan for display
Wall
Camera
Class Types
 Entity classes, also called model or business classes,
are extracted directly from the statement of the problem
(e.g., FloorPlan and Sensor).
 Boundary classes are used to create the interface (e.g.,
interactive screen or printed reports) that the user sees
and interacts with as the software is used.
 Controller classes manage a “unit of work” from start to
finish. That is, controller classes can be designed to
manage
 complex communication between sets of objects;
 validation of data communicated between objects or between the
user and the application.
Responsibilities
 System intelligence should be distributed across classes
to best address the needs of the problem
 Each responsibility should be stated as generally as
possible
 Information and the behavior related to it should reside
within the same class
 Information about one thing should be localized with a
single class, not distributed across multiple classes.
 Responsibilities should be shared among related
classes, when appropriate.
Collaborations
 Classes fulfill their responsibilities in one of two ways:
 A class can use its own operations to manipulate its own
attributes, thereby fulfilling a particular responsibility, or
 a class can collaborate with other classes.
 Collaborations identify relationships between classes
 Collaborations are identified by determining whether a
class can fulfill each responsibility itself
 three different generic relationships between classes
 the is-part-of relationship
 the has-knowledge-of relationship
 the depends-upon relationship
Composite Aggregate Class
Player
PlayerHead PlayerArms PlayerLegsPlayerBody
Associations and Dependencies
 Two analysis classes are often related to one another in
some fashion
 In UML these relationships are called associations
 Associations can be refined by indicating multiplicity
(the term cardinality is used in data modeling
 In many instances, a client-server relationship exists
between two analysis classes.
 In such cases, a client-class depends on the server-
class in some way and a dependency relationship is
established
Multiplicity
WallSegment Window Door
Wall
is used to buildis used to build
is used to build1..*
1 1 1
0..* 0..*
Dependencies
CameraDisplayWindow
{password}
<<access>>

More Related Content

PPT
Uml report
PPT
Analysis modeling
PPT
Analysis modelling
PPTX
05 fse requirementsengineering
PPT
Chapter06
PDF
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
PPT
ODP
BIS09 Application Development - III
Uml report
Analysis modeling
Analysis modelling
05 fse requirementsengineering
Chapter06
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
BIS09 Application Development - III

What's hot (20)

PPT
Modelling System Requirements: Events & Things
PPT
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
PDF
SE18_Lec 09_UML Use Cases
PDF
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
PPT
Use Case Diagram
PDF
Object oriented analysis and design unit- i
PPT
Chapter05
PPT
Analysis modeling & scenario based modeling
PPTX
Modeling- Object, Dynamic and Functional
PPT
Chapter20 object oriented analysis and design
PPTX
Lesson02_Use Case Diagrams
PPTX
Uml and enterprise architect
PPTX
Domain class model
PDF
A&D - Object Oriented Design using UML
PPT
Chapter04
PPT
Object Oriented Design in Software Engineering SE12
PPT
Chapter 7 Use Case Model
PPT
Pertemuan 4-analysis-modelling
DOCX
Data flow oriented modeling
PPS
07 ooad uml-08
Modelling System Requirements: Events & Things
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
SE18_Lec 09_UML Use Cases
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
Use Case Diagram
Object oriented analysis and design unit- i
Chapter05
Analysis modeling & scenario based modeling
Modeling- Object, Dynamic and Functional
Chapter20 object oriented analysis and design
Lesson02_Use Case Diagrams
Uml and enterprise architect
Domain class model
A&D - Object Oriented Design using UML
Chapter04
Object Oriented Design in Software Engineering SE12
Chapter 7 Use Case Model
Pertemuan 4-analysis-modelling
Data flow oriented modeling
07 ooad uml-08
Ad

Similar to Bridge (20)

PPT
System Modelling.ppt
PPT
6. Requirement Modelinbbdhdhbdhhdbbdg.ppt
PPT
Software engg. pressman_ch-8
PPTX
Requirements modeling
PPT
Analysis modeling in software engineering
PPT
Analysis-Models jjjkkkkjgffffffttui3k3k3j3n
PPT
chapter-4-objected-oriented analysis and design with UML.ppt
PPTX
uml.pptx
DOCX
DOCX
PDF
se cph - 4---7-WA0008..pdf ejejekkekekememm
PPT
Lecture 15 requirements modeling - scenario, information and analysis class...
PPT
Introducing Uml And Development Process
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PDF
Day01 01 software requirement concepts
PPS
PPT
software_engg-chap-03.ppt
System Modelling.ppt
6. Requirement Modelinbbdhdhbdhhdbbdg.ppt
Software engg. pressman_ch-8
Requirements modeling
Analysis modeling in software engineering
Analysis-Models jjjkkkkjgffffffttui3k3k3j3n
chapter-4-objected-oriented analysis and design with UML.ppt
uml.pptx
se cph - 4---7-WA0008..pdf ejejekkekekememm
Lecture 15 requirements modeling - scenario, information and analysis class...
Introducing Uml And Development Process
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.ppt
Day01 01 software requirement concepts
software_engg-chap-03.ppt
Ad

More from Islamia Univeristy Bahawalpur Bahawalnagar (15)

PPTX
PPTX
Principles that Guide Practice
PPTX
Spiral Model and other model
PPTX
PDF
A.topic1. introductionandbriefhistoryofpsychology presentation-
DOCX
3 .net framework class library
DOCX
DOCX
1 what is microsoft .net framework
PPTX

Recently uploaded (20)

PPTX
business communication final draftt.pptx
PDF
Swiggy’s Playbook: UX, Logistics & Monetization
PPTX
Self management and self evaluation presentation
PPTX
Cohort Study_PPT.group presentation_pdf.pptx
PPTX
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
PPTX
2025-08-03 Joseph 01 (shared slides).pptx
PPTX
Project and change Managment: short video sequences for IBA
PPTX
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
PPTX
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
PPTX
Presentation of Project of Enterprenuership topic- "Green Gaurdian"
PPTX
Introduction to Effective Communication.pptx
PPTX
Learning-Plan-5-Policies-and-Practices.pptx
PDF
SweeneyS-InclusiveLanguage-WeekOne (1).pdf
PDF
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
PPTX
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
PDF
Instagram's Product Secrets Unveiled with this PPT
PPTX
Caption Text about Social Media Post in Internet
PPTX
IBA DISTRICT PIR PRESENTATION.POWERPOINT
PPTX
worship songs, in any order, compilation
PPTX
Understanding-Communication-Berlos-S-M-C-R-Model.pptx
business communication final draftt.pptx
Swiggy’s Playbook: UX, Logistics & Monetization
Self management and self evaluation presentation
Cohort Study_PPT.group presentation_pdf.pptx
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
2025-08-03 Joseph 01 (shared slides).pptx
Project and change Managment: short video sequences for IBA
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
Presentation of Project of Enterprenuership topic- "Green Gaurdian"
Introduction to Effective Communication.pptx
Learning-Plan-5-Policies-and-Practices.pptx
SweeneyS-InclusiveLanguage-WeekOne (1).pdf
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
Instagram's Product Secrets Unveiled with this PPT
Caption Text about Social Media Post in Internet
IBA DISTRICT PIR PRESENTATION.POWERPOINT
worship songs, in any order, compilation
Understanding-Communication-Berlos-S-M-C-R-Model.pptx

Bridge

  • 2. Requirements Analysis  Requirements analysis  specifies software’s operational characteristics  indicates software's interface with other system elements  establishes constraints that software must meet  Requirements analysis allows the software engineer (called an analyst or modeler in this role) to:  elaborate on basic requirements established during earlier requirement engineering tasks  build models that depict user scenarios, functional activities, problem classes and their relationships, system and class behavior, and the flow of data as it is transformed.
  • 4. Domain Analysis Software domain analysis is the identification, analysis, and specification of common requirements from a specific application domain, typically for reuse on multiple projects within that application domain . . . [Object-oriented domain analysis is] the identification, analysis, and specification of common, reusable capabilities within a specific application domain, in terms of common objects, classes, subassemblies, and frameworks . . . Donald Firesmith
  • 5. Domain Analysis  Define the domain to be investigated.  Collect a representative sample of applications in the domain.  Analyze each application in the sample.  Develop an analysis model for the objects.
  • 7. Scenario-Based Modeling “[Use-cases] are simply an aid to defining what exists outside the system (actors) and what should be performed by the system (use- cases).” Ivar Jacobson (1) What should we write about? (2) How much should we write about it? (3) How detailed should we make our description? (4) How should we organize the description?
  • 8. Use-Cases  a scenario that describes a “thread of usage” for a system  actors represent roles people or devices play as the system functions  users can play a number of different roles for a given scenario
  • 9. Developing a Use-Case  What are the main tasks or functions that are performed by the actor?  What system information will the actor acquire, produce or change?  Will the actor have to inform the system about changes in the external environment?  What information does the actor desire from the system?  Does the actor wish to be informed about unexpected changes?
  • 10. Use-Case Diagram homeowner Access camera surveillance via the Internet ConfigureSafeHome system parameters Set alarm cameras SafeHome
  • 11. Activity Diagram enter password and user ID select major function valid passwords/ ID prompt for reentry invalid passwords/ ID input t ries rem ain no input t r ies r em ain select surveillance ot her f unct ions may also be select ed t hum bnail views select a specif ic cam er a select camera icon prompt for another view select specific camera - thumbnails exit t his f unct ion see anot her cam era view camera output in labelled window Supplements the use case by providing a graphical representation of the flow of interaction within a specific scenario
  • 12. 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 enter password and user ID select major function valid p asswo rd s/ ID prompt for reentry in valid p asswo r d s/ ID in p u t t ries r emain n o in p u t t ries r emain select surveillance o t h er f u n ct io n s may also b e select ed t h u mb n ail views select a sp ecif ic camera select camera icon generate video output select specific camera - thumbnails exit t h is f u n ct io n see an o t h er camera h o m e o w n e r c a m e ra i n t e rf a c e prompt for another view view camera output in labelled window
  • 13. Data Modeling  examines data objects independently of processing  focuses attention on the data domain  creates a model at the customer’s level of abstraction  indicates how data objects relate to one another
  • 14. What is a Data Object?  a representation of almost any composite information that must be understood by software.  composite information—something that has a number of different properties or attributes  can be an external entity (e.g., anything that produces or consumes information), a thing (e.g., a report or a display), an occurrence (e.g., a telephone call) or event (e.g., an alarm), a role (e.g., salesperson), an organizational unit (e.g., accounting department), a place (e.g., a warehouse), or a structure (e.g., a file).  The description of the data object incorporates the data object and all of its attributes.  A data object encapsulates data only—there is no reference within a data object to operations that act on the data.
  • 15. 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
  • 16. What is a Relationship?  Data objects are connected to one another in different ways.  A connection is established between person and car because the two objects are related.  A person owns a car  A person is insured to drive a car  The relationships owns and insured to drive define the relevant connections between person and car.  Several instances of a relationship can exist  Objects can be related in many different ways
  • 17. ERD Notation (0, m) (1, 1) object objectrelationship 1 One common form: (0, m) (1, 1) object 1 object 2 relationship Another common form: attribute
  • 18. Building an ERD  Level 1—model all data objects (entities) and their “connections” to one another  Level 2—model all entities and relationships  Level 3—model all entities, relationships, and the attributes that provide further depth
  • 19. The ERD: An Example (1,1) (1,m) placesCustomer 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)
  • 20. Class-Based Modeling  Class-based modeling represents:  objects that the system will manipulate  operations (also called methods or services) that will be applied to the objects to effect the manipulation  relationships (some hierarchical) between the objects  collaborations that occur between the classes that are defined.
  • 21. Identifying Analysis Classes  Classes are determined by underlining each noun or noun phrase and entering it into a simple table.  Synonyms should be noted.  If the class (noun) is required to implement a solution, then it is part of the solution space; otherwise, if a class is necessary only to describe a solution, it is part of the problem space.
  • 22. Manifestations of Analysis Classes  External entities (e.g., other systems, devices, people) that produce or consume information  Things (e.g, reports, displays, letters, signals) that are part of the information domain for the problem  Occurrences or events (e.g., a property transfer or the completion of a series of robot movements) that occur within the context of system operation  Roles (e.g., manager, engineer, salesperson) played by people who interact with the system  Organizational units (e.g., division, group, team) that are relevant to an application  Places (e.g., manufacturing floor or loading dock) that establish the context of the problem and the overall function  Structures (e.g., sensors, four-wheeled vehicles, or computers) that define a class of objects or related classes of objects
  • 23. Potential Classes  Retained information. The potential class will be useful during analysis only if information about it must be remembered so that the system can function.  Needed services. The potential class must have a set of identifiable operations that can change the value of its attributes in some way.  Multiple attributes. During requirement analysis, the focus should be on "major" information; a class with a single attribute may, in fact, be useful during design, but is probably better represented as an attribute of another class during the analysis activity.  Common attributes. A set of attributes can be defined for the potential class and these attributes apply to all instances of the class.  Common operations. A set of operations can be defined for the potential class and these operations apply to all instances of the class.  Essential requirements. External entities that appear in the problem space and produce or consume information essential to the
  • 24. Defining Attributes  Attributes describe a class that has been selected for inclusion in the analysis model.  For Playing Statistics software: name, position, batting average, fielding percentage, years played, and games played might be relevant  For Pension Fund software: average salary, credit toward full vesting, pension plan options chosen, mailing address, and the like.
  • 25. Defining Operations  Do a grammatical parse of a processing narrative and look at the verbs  Operations can be divided into four broad categories: (1) operations that manipulate data in some way (e.g., adding, deleting, reformatting, selecting) (2) operations that perform a computation (3) operations that inquire about the state of an object, and (4) operations that monitor an object for the occurrence of a controlling event.
  • 26. CRC Models  Class-responsibility-collaborator (CRC) modeling provides a simple means for identifying and organizing the classes that are relevant to system or product requirements.  A CRC model is really a collection of standard index cards that represent classes. The cards are divided into three sections. Along the top of the card you write the name of the class. In the body of the card you list the class responsibilities on the left and the collaborators on the right.
  • 27. CRC Modeling Class: Description: Responsibility: Collaborator: Class: Description: Responsibility: Collaborator: Class: Description: Responsibility: Collaborator: Class:FloorPlan Description: Responsibility: Collaborator: incorporates w alls, doors and w indow s show s position of video cameras defines floor plan name/type manages floor plan positioning scales floor plan for display scales floor plan for display Wall Camera
  • 28. Class Types  Entity classes, also called model or business classes, are extracted directly from the statement of the problem (e.g., FloorPlan and Sensor).  Boundary classes are used to create the interface (e.g., interactive screen or printed reports) that the user sees and interacts with as the software is used.  Controller classes manage a “unit of work” from start to finish. That is, controller classes can be designed to manage  complex communication between sets of objects;  validation of data communicated between objects or between the user and the application.
  • 29. Responsibilities  System intelligence should be distributed across classes to best address the needs of the problem  Each responsibility should be stated as generally as possible  Information and the behavior related to it should reside within the same class  Information about one thing should be localized with a single class, not distributed across multiple classes.  Responsibilities should be shared among related classes, when appropriate.
  • 30. Collaborations  Classes fulfill their responsibilities in one of two ways:  A class can use its own operations to manipulate its own attributes, thereby fulfilling a particular responsibility, or  a class can collaborate with other classes.  Collaborations identify relationships between classes  Collaborations are identified by determining whether a class can fulfill each responsibility itself  three different generic relationships between classes  the is-part-of relationship  the has-knowledge-of relationship  the depends-upon relationship
  • 31. Composite Aggregate Class Player PlayerHead PlayerArms PlayerLegsPlayerBody
  • 32. Associations and Dependencies  Two analysis classes are often related to one another in some fashion  In UML these relationships are called associations  Associations can be refined by indicating multiplicity (the term cardinality is used in data modeling  In many instances, a client-server relationship exists between two analysis classes.  In such cases, a client-class depends on the server- class in some way and a dependency relationship is established
  • 33. Multiplicity WallSegment Window Door Wall is used to buildis used to build is used to build1..* 1 1 1 0..* 0..*