Adapting UML For An Object Oriented Systems Engine
Adapting UML For An Object Oriented Systems Engine
net/publication/242752098
CITATIONS READS
72 2,136
3 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Abraham Meilich on 15 February 2016.
<<System>>
Withdraw Transaction ATM Variant
Custom er
Deposit Transaction Figure 3. Inheritance
which are allocated to both the system (e.g., ATM) and <<cap>> 1. Capability()
<<cap>> 1.1 Capability()
to the external systems (e.g., bank). Operations on the <<fun>> 1.1.1 Function()
<<fun>> 1.1.2 Function()
<<System>> class (shown in Figure 1), on the other <<cap>> 1.2 Capability()
<<cap>> 2. Capability()
hand, will describe system capabilities. Detailed
elaboration of these capabilities will be captured in the <<IO>>
Output Entity
Define System Requirements activity. Performance
attributes of the <<Enterprise>> class (e.g., amount of
User
time to make a withdrawal) are effectiveness measures
(<<moe>> stereotype), which are allocated to the
system (ATM) and external systems (e.g., bank, user).
Figure 6. Elaborated System Context
<<Enterprise>>
Banking Enterprise
Diagram
<<moe>> Wait Time
<<moe>> Transaction Cost
<<moe>> Theft Probability
This activity also identifies system design
Deposit()
constraints, which limit the solution space. Examples
Withdraw()
Balance Inquiry() are pre-identified hardware and software commercial
off-the-shelf (COTS) products and legacy databases.
The constraints are captured in a constraints list
(external to the UML models) and used as an input to
the system architecture activities. Requirements
<<External>> <<System>> <<External>>
Network ATM Security Mechanisms variation is also captured and quantified in terms of a
Customer
Bank Administrator
probability of change. A typical examples is a system
interface that is likely to change because the other side
of the interface is still under development. The
requirements and verification traceability (RVT)
Figure 5. Enterprise Model database is initiated during this activity, and traces each
system functional, interface, and performance
Define System Requirements. This activity treats the requirement to a system-level use case.
system as a black box to characterize system stimulus- Scenarios are captured using UML sequence,
response behavior and performance requirements. The collaboration, or activity diagrams. The purpose of
system, external systems, and users are defined as these scenarios is to illustrate how the system will
individual classes as previously described in the interact with actors and external systems on the context
enterprise model. The system operational concept diagram. The scenarios show only the system, actors,
defines a set of system-level use cases and scenarios and external systems that produce or consume I/O
based on the needs analysis. This operational concept is entities and attributes, thus providing the foundation for
used to derive the system functional, interface, data, and defining the detailed functional, interface, performance,
performance requirements. The functional requirements and storage requirements. Interactions among system
are grouped into system capabilities. System components are described in the next two activities.
states/modes and related system control information are
also defined (e.g., using state machines). The resulting Define Logical Architecture. This activity decomposes
system requirements information is captured in an the system into its logical components, defines their
elaborated system context diagram, as illustrated in interactions, and allocates system requirements to each
Figure 6. In the elaborated context diagram and logical component. OOSEM guidelines for
elsewhere in OOSEM, the <<Actor>> stereotype is decomposing the <<System>> class into logical
used to denote human users. To distinguish humans components are different from traditional functional
decomposition guidelines, emphasizing, among other • Reliability and maintainability
concerns, planning for change. The interaction between • Environmental considerations
logical components is captured in data flows • Allocation of development work to subcontractors
(represented using associations and I/O entities) and
logical system threads. Partitioning criteria are Synthesize Candidate Allocated Architecture. This
established and used as a basis for partitioning the activity maps each logical component to hardware,
logical components to address component cohesiveness, software, data, and/or manual procedures. The resulting
design for change, performance, and other design allocated components form the basis for a multilayer
considerations. System functional, interface, data, and system architecture, which typically includes layers for
performance requirements are allocated to logical the mission application, a services layer (i.e., functions
components and captured in the RVT database. common to multiple mission applications), and
The Define Logical Architecture activity uses operating system and resources. The allocated
aggregation relationships to describe a hierarchical view components are used to derive the corresponding
of the system logical architecture, as illustrated in hardware, software, and data architectures. The
Figure 7. The system is decomposed into logical software architecture is captured using the full range of
components, which may be further decomposed into UML diagrams and features. The hardware architecture
lower-level logical components. Each logical uses UML class diagrams for defining hardware
component is an abstraction of a set of possible system hierarchy; the architecture also uses interconnection and
components (e.g., hardware, software, databases, traditional hardware depictions such as physical layouts.
manual procedures), any one of which will meet the The data architecture uses class diagrams to capture
requirements allocated to the logical component. An data hierarchy and relationships, along with table
example of a logical component is a user interface. The specifications and other traditional data architecture
potential corresponding elements in the allocated depictions. Figure 8 illustrates the OOSEM deployment
architecture (developed in the next activity) may be a view, using a class diagram to depict the allocation of
Web browser with associated screen representations on software and data components to hardware components.
a PC client. In the ATM example, a money dispenser <<System >>
C lient-S erver S ystem
may be a logical component that could be implemented
in the allocated architecture in many different ways. C lient Application S erver
<<System>>
Local Area Netw ork
System P eripheral
« IO »
D ata/File S tore D ata/File S erver
Log Comp 1 Log Comp n
...
D ata S e t 1 : T ype 1
D ata S e t 2 : T ype 2 R D B M S ()
F ile M gr.()