Entity Control & Boundary Classes
Entity Control & Boundary Classes
Entity Control & Boundary Classes
Design
Engr. Abdul-Rahman Mahmood
MS, PMP, MCP, QMR(ISO9001:2000)
armahmood786@yahoo.com
alphapeeler.sf.net/pubkeys/pkey.htm
pk.linkedin.com/in/armahmood
www.twitter.com/alphapeeler
www.facebook.com/alphapeeler
abdulmahmood-sss
alphasecure
armahmood786@hotmail.com
alphasecure@gmail.com
http://alphapeeler.sourceforge.net
http://alphapeeler.tumblr.com
armahmood786@jabber.org
alphapeeler@aim.com
mahmood_cubix
48660186
alphapeeler@icloud.com
http://alphapeeler.sf.net/me
http://alphapeeler.sf.net/acms/
Review: Class
Properties (attributes)
Behavior (operations)
Relationships
Semantics
Class Name
Attributes
Operations
Professor
name
empID
create( )
save( )
delete( )
change( )
Design Model
Use Case
Use-Case Realization
Sequence Diagrams
Collaboration Diagrams
Use Case
Class Diagrams
Not what we have so far.
These are Design Classes. More later
a use case.
A use-case realization in the Design Model can be
traced to a use case in the Use-Case Model.
A realization relationship is drawn from the use-case
realization to the use case it realizes.
system entities..
<<control>>
<<boundary>>
<<entity>>
<<entity>>
Discovering Classes
Analysis classes represent an early conceptual model for
(interfaces)
The information a system uses (data), and
The control logic of the system (who does what)
responsibilities
Again, the distinction between these classes is used in
analysis but goes away in design or becomes less of an
issue, as we transition these analysis classes into design
artifacts / design entities to accommodate the problem
domain representations in a solutions space.
System
boundary
Use-case
behavior
coordination
System
information
<<entity>>
Source
Code
Use-Case Analysis
(from a structural perspective; static)
Exec
<<boundary>>
<<control>>
<<boundary>>
Customer
External
Database??
<<boundary>>
<<entity>>
<<entity>>
A boundary class is a class used to model interaction between the systems surroundings
and its inner workings; Involves transforming and
Boundary Classes model parts of the system that depend on its surroundings. Entity
and control classes model parts that are independent of the systems surroundings.
Examples of boundary classes: Classes that handle GUI or communications protocols.
Student
<<boundary>>
RegisterForCoursesForm
<<boundary>>
CourseCatalogSystem
of the system.
The boundary classes may be used as holding places for GUI
classes. (Addressed in much more detail later)
Do not do a GUI design in analysis, but isolate all
environment-dependent behavior. (Likely you may be able
to reverse engineer a GUI component and tailor it.)
The expansion, refinement and replacement of these
boundary classes with actual user interface classes is a
very important activity of Class Design later
If prototyping the interface has been done, these screen
dumps or sketches may be associated with a boundary
class.
Only model the key abstractions of the system not every
button, list, etc. in the GUI.
<<entity>>
Environment Independent
Entity Classes
Entity classes represent stores of information in the
system
They are typically used to represent the key concepts the
system manages.
Entity objects (instances of entity classes) are used to
hold and update information about some phenomenon,
such as an event, a person, or some real-life object.
(Chapter advisor, memorabilia, university, student,
correspondence_item, International_Secretary, )
Customer
<<boundary>>
<<entity>>
<<entity>>
Analysis Classes
Entity class :
Persistent data
(used multiple times and in many UCs)
Still exists after the UC terminates (e.g. DB storage)
Boundary class:
(User) interface between actors and the system
E.g. a Form, a Window (Pane)
Control class:
Encapsulates business functionality
Proposed in RUP (Rational Unified Process)
9-29
9-30
requirements, and whose software and hardwareoriented details have not been specified
Analysis class diagram a UML diagram showing
9-31
Mostly
corresponds to
conceptual data
model classes
9-32
Encapsulates
connections
between actors
and use cases
Mostly performs
behaviors
associated with
inner workings of
use cases
9-33
message recipients
9-34
9-35
responsibilities).
9-37
9-38
9-39
9-40
9-41
9-42
9-43
Operations (behaviors)
are depicted in the
lower third of a class
box.
Operations fulfill the
classs responsibilities.
9-44
EXAMPLE
The UNIVERSITY OF BUTERE (UBT) registration system is
EXAMPLE
Students then select what courses they desire to take and
indicate these by completing paper-based course advising
forms. They then meet with an academic advisor who
verifies their eligibility to take the selected courses, that the
sections of the courses selected are still open, and that the
schedule of selected courses does not clash. The typical
student load is four courses. The advisor then approves the
courses and completed the course registration forms for
the student. These are then sent to the registrar who keys
them into the registration system thereby formally
registering a student. If courses selected are not approved,
the student has to select other courses and complete the
course advising forms afresh.
EXAMPLE
Most times students get their first choice, however,
in those cases where there is a conflict, the
advising office talks with the students to get
additional choices. Once all students have been
successfully registered, a hard copy of the students
schedule is sent to the students for verification.
Most student registrations are processed within a
week, but some exceptional cases take up to two
weeks to resolve.
Once the initial registration period is over,
professors receive a student roster for each class
they are scheduled to teach.