SlideShare une entreprise Scribd logo
1  sur  15
The Role of Use Cases in
               Requirements and Analysis Modeling

                          Hassan Gomaa and Erika Mir Olimpiew

                     Department of Information and Software Engineering,
                          George Mason University, Fairfax, VA
                       hgomaa@gmu.edu, eolimpie@gmu.edu



       Abstract. This paper describes the role of use cases in the requirements and
       analysis modeling phases of a model-driven software engineering process. It
       builds on previous work by distinguishing between the black box and white box
       views of a system in the requirements and analysis phases. Furthermore, this
       paper describes and relates test models to the black box and white box views of
       a system.




1 Introduction

Use case modeling is widely used in modern software development methods as an
approach for describing a system’s software requirements [1]. From the use case
model, it is possible to determine other representations of the system at the same level
of abstraction as well as representations at lower levels of abstraction. Since the use
case model is a representation of software requirements, it presents an external view,
also referred to as a black box view, of the system. In this paper, we consider other
black box views of the system to be at the same level of abstraction as the use case
model. Views that address the internals of the system are white box views, which are
at lower levels of abstraction.
    This work builds on the previous work on use case modeling in model-driven soft-
ware engineering by distinguishing between black box and white box views of the
system in the requirements and analysis phases. It also describes and relates software
test models to the black box and white box views of the system.



2 Related Work

Use cases were conceived by Jacobson. The Object Oriented Software Engineering
method [1, 2] describe how use cases relate to system analysis and test models. In the
analysis phase, use cases relate to classes in the static model, object interaction dia-
grams in the dynamic model, and test specifications in the test model. The 4+1 view
model of software architecture in [3] emphasizes the importance of use case modeling
as a driver to determine architectural elements, and as the starting point for testing the




                                                                                         1
system. Use case diagrams are fully incorporated into the UML notation [3,4]. UML-
based software development methods, such as COMET, all start with use case model-
ing to describe software requirements, The COMET method [4] describes how to
develop collaboration models and statecharts from use cases. A collaboration diagram
depicts the objects that participate in the use case and the sequence of object interac-
tions. A state-dependent use case may be described with a statechart. The statechart
despicts the sequence of inputs and expected outputs, corresponding to all use case
scenarios.



3 Black Box Views of the System

The black-box views of a system describe a software system’s external behavior. The
internal workings of the software system, such as the internal software objects and
their interactions, are not shown in the black-box views. Black-box views show how
the system interfaces with its actors and other external objects. The approach consid-
ers black box views of the software system. Hence, hardware devices and people,
which are all outside the software system, are explicitly considered in black box
views.
   The next sections describe the following black-box views of the system and how
they relate to use cases:
          1. Use case model of the requirements phase
          2. System level sequence diagrams
          3. System context class model
          4. Statechart for state dependent use case
          5. Test model


3.1 Use Case Model

A use case model [1] consists of use case diagrams depicted in UML and use case
descriptions. The UML model depicts the use case, actors, communication associa-
tions between actors and use cases, and use case relationships, in particular the «ex-
tends» and «includes» relationships. The UML notation does not address the use case
description, which is in many ways is the most important part of the use case model.
The description includes the preconditions, postconditions, the description of the main
sequence of the use case and the description of alternative sequences. Thus a use case
describes several scenarios. The main scenario describes a successful sequence of
events, and the alternative scenarios describe a sequence of events that differ from a
typical usage of the system. An atypical usage of the system may be less frequently
taken interactions or unsuccessful terminations that can be detected and resolved by
the application; alternative system outputs; or alternative ways of entering system
input.




  2
3.2 System Interaction Model

The main sequence of the use case is described as a sequence of interactions between
the use case actor(s) and the system. From the use case description, the analyst can
depict this sequence of interactions on a system interaction model using a system level
sequence diagram. This diagram depicts all the actors that participate in the use case
and their interactions with the software system, which is depicted as one single aggre-
gate object. Depicting the system as one single object preserves the black box prop-
erty of this view. This view has the advantage of explicitly describing the sequence of
external inputs to the system and external outputs from the system.


3.3 System Context Class Model

A system context class model depicts all the external classes that interact with the
software system, depicted as an aggregate class. This model is developed by analyzing
each use case and determining all the external objects. This diagram shows all the
external classes, which might be external users, external devices or external systems
[4]. Actors are intended to be proactive, providing inputs to the system. Since an actor
in a use case can interact with the system using several external classes, the system
context class diagram often provides additional information compared to a use case
diagram. For example, in the use case for a customer withdrawing cash from an ATM
machine, the actor is the customer. However, the actor actually uses several external
hardware devices (card reader, keyboard, display, cash dispenser, printer) to interact
with the system. These hardware devices are depicted as external classes in the system
context class diagram. This diagram is particularly useful for systems with several
external classes, such as real-time systems [4].


3.4 Statechart for State-dependent Use Case

In state dependent applications such as real-time applications, it is often both more
concise and more precise to depict the interactions between the actor and system on a
statechart. Once again, this statechart should be a black box view at the same level of
detail as the use case, depicting inputs from the actor and state dependent responses
from the system. For example, in highly state-dependent applications, such as the
cruise control system [4] or microwave system [9], the statechart is more effective at
specifying the sequences of external inputs and outputs. However, by relating the
statechart to the use case, the scope of the statechart can be clearly determined with
respect to the other use cases of the system, some of which might not be state depend-
ent.
  The statechart is developed by considering inputs from the external environment to
be events that cause state changes on the statechart and the resulting actions execute
functions described in the use case and/or provide outputs to the external environ-
ments [4]. The sequences of input events on the statechart and action generated out-
puts must be consistent with the sequence of inputs and outputs described in the use
case.




                                                                                      3
3.5 System Test Model

   The use case model is the starting point for the creation of test item specifications.
With the use case modeling approach, the functional requirements of the system are
described in terms of actors and use cases. A use case contains one or more scenarios,
a main scenario and usually several alternative scenarios. A use case main scenario
describes a sequence of interactions between one or more actors and the system. The
alternative scenarios describe a sequence of inputs and actions that differ from a typi-
cal use of the system, such as for error handling. Each use case scenario can in turn be
described with an interaction diagram that shows the sequence of interactions between
the use case actors and the system.
   A system test template is constructed from an interaction diagram. The input and
output messages in the sequence diagram become test steps in the system test tem-
plate. The message parameters and system state variables become test parameters. The
use case precondition becomes part of a test condition for the test template. A test
condition is more specific than the precondition of a use case. A use case precondition
describes a constraint on part of the system state variables, while a test condition
specifies additional constraints on the values of the input variables and system state
variables. A test condition forces the execution of a specific use case scenario, in
terms of a sequence of events and actions. In the test template, the use case precondi-
tion is shown in a separate section to maintain traceability to the use case.
   A postcondition can also be added to the test template. A postcondition is a con-
straint or assertion on the expected output values and on the state of the system, which
must be true after the test is executed. The precondition, test condition and postcondi-
tion of a test template are described in first-order predicate logic using OCL [5].
   A system test template can be shown in tabular format (Table 1). The test template
is more general than the test item specification document described in the IEEE stan-
dard [6], because it needs to be reusable across different application configurations,
for different functional testing strategies. Instead of specific data values, the test tem-
plate may have parameters, constraints on input parameter values in its test condition,
and assertions on output parameter values. A test template can be used to generate the
specific data values for a test item specification (test case), by substituting the data
values that satisfy a test template’s test condition into the test parameters. Model-
based testing is described in more detail in [7].




  4
Table 1. Test template specification

   Function to exercise          <use case scenario name>
   Test template id              <unique id of test template>
   Test objective                <objective, or goal of test. Refers to a use case sce-
                              nario that will be exercised with this test>
   Precondition                  <use case precondition>
   Test condition                <constraint on the user input values and on the state of
                              the system that must be true before a test generated from
                              this template can be executed>
   Test steps                    <an ordered list of test steps, which are user inputs and
                              system outputs. The inputs are tagged <input> and the
                              outputs are tagged <output>>
   Postcondition                 <constraint on the expected output values and on the
                              state of the system that must be true after a test generated
                              from this template is executed>



4 White Box Views of the System

The white box views describe the internal static and dynamic structures of the system.
The white box views represent analysis modeling where analysis of the system takes
place. During analysis, each use case is realized by considering the objects required to
participate in the use case. Object structuring criteria are provided to assist in identify-
ing the software objects [1, 4], which can then be depicted in UML using stereotypes
such as <<control>> or <<entity>>, The software objects will typically include inter-
face objects (also referred to as boundary objects) which receive external inputs from
actors and provide external outputs to actors, control objects which are decision mak-
ing objects, which can be state dependent, and entity objects, which store data [4].


4.1 Object Interaction Model

The Object Interaction Model is part of the dynamic model of the system. Given the
objects that realize each use case (see above), the next step is to depict the sequence of
interactions among these objects [4]. The sequence of external inputs and external
outputs sepicted in each scenario must correspond to the sequence described in the use
case (see 3.1) and in the in the system interaction model (see 3.2). Furthermore, if
there is a state dependent object, it must execute a statechart. During analysis, any
statechart that was developed earlier (see 3.4) is encapsulated inside a state dependent
control object [4]. It is important to ensure that the statechart is consistent with the
state dependent control object. Thus, each incoming message to the state dependent
control object on the interaction diagram must be correspond to and be consistent with
an event on the encapsulated statechart and each action of the statechart must corre-
spond to an outgoing message from the object [4].




                                                                                          5
Each use case scenario can be depicted on a separate interaction diagram, either
sequence or communication diagram. The different scenarios of the use case can all be
combined and depicted on a generic version of the interaction diagram. It is usually
easier to see the realization of individual use case scenarios on individual interaction
diagrams, but the generic diagram provides information in a more concise form.


4.2 Entity Class Model

For information intensive systems, there will be several entity classes, whose primary
role is to encapsulate data. These classes can be initially determined from the use case
model and are depicted on an entity class model, which describes the attributes of
these classes and their relationships. Thus the use case descriptions for a hotel reserva-
tion system would refer to hotels, rooms, reservations, and customers, all of which
would appear on the entity class model. The objects which interact with the entity
objects would be depicted on the interaction diagrams. Understanding how the entity
object is accessed, as depicted on the interaction diagram, helps with determining the
class operations during design.


4.3 Integration Test Model

The white-box sequence diagrams created to describe the sequence of object interac-
tions in a use case scenario can be used to design integration tests. An integration test
validates the interfaces between the objects of a system. Integration testing requires
call logging traces or assertions to be built in to the objects being tested so that the
tester can observe the sequence of object interactions.
   A system test template can become a test driver for integration testing. A tester en-
ables the call logging traces for the objects described in the sequence diagram, exe-
cutes a test case generated from the system test template, and compares the observed
calls against the sequence diagram.



5 Relationship between Use Case Model and Other System Views

Consider traceability from the black box views to the white box view. Following on
from the black box view, any use case based statechart needs to be encapsulated in a
state dependent control object. An instance of each entity class from the entity class
model will need to appear in at least one interaction diagram. An instance of each
external class from the context class model will also need to appear on at least one
interaction diagram. All interactions described in the use case diagram will need to be
realized on the interaction diagrams.
   The relationship between the use case model and system views is summarized in
the meta-model of (Figure 1). This meta-model is based on the meta-modeling ap-
proach described in [8], which is adapted to address the views described in this paper
and to add the test model views. Furthermore, the meta-model distinguishes between




  6
black-box and white-box views with the use of «black-box view» and «white-box
view» stereotypes. The meta-model emphasizes the relationships between the use
case model and the other black-box and white-box views with bold associations.
Some relationships between views are also shown but others are omitted for concise-
ness.


              Classes described by                                                 Realized by
                                                  «black box
               External classes described by        view»
                                                   UseCase                          Scenarios
                           Behavior                                                described by
                                                    Model
                         described by




            «black box            «black box                            «black box             System        «black box
                                                       Behavior                            test templates
               view»                view»            described by          view»                               view»
                                                                                            created from
              System               UseCase                                System                              System
              Context             Statechart                            Interaction                             Test
            ClassModel              Model                                 Model                                Model

                                                    Actors are instantiated from                      Based on
                            Refined
                             into

                                                                                            Defines object
                                  «white box       State-dependent      «white box           interactions    «white box
      «white box                    view»          object behavior         view»                  for           view»
         view»                      Object           described by         Object                             Integration
         Entity                   Statechart                            Interaction                              Test
      ClassModel                    Model                                 Model                                 Model


                              Objects are instantiated from
                                                                                      Parameters refer to classes in




  Fig. 1. Relationship between use case model and system views



6 Example

A section of the use case model and some system views are described for an example
hotel system. Part of the use case model for a hotel system that contains the Login,
Make reservation and Cancel reservation use cases is shown in (Figure 2). A use case
description of the Make reservation use case is shown in (Table 2).




                                                                                                                           7
Fig. 2. Section of a use case model for a hotel system




Table 2. Use case description of Make reservation use case

Name               Make reservation
Summary            Reservation clerk reserves a room for a hotel guest
Actor              Reservation clerk
Precondition       Reservation clerk has logged into the Hotel system
Description
                      1. Guest gives personal details to reservation clerk, such as name,
                   room type, number of occupants, and dates and times of arrival and
                   departure
                      2. Reservation clerk enters information into the system and looks
                   up availability and room reservation rate
                      3. If room is available, clerk requests the guest to guarantee the
                   reservation with a credit card number
                      4. The clerk enters the guest’s credit card number to guarantee the
                   reservation.
                      5. If credit card number is valid, the clerk updates the reservation
                   as guaranteed.
Alternatives          Room not available: Line 3: If a room is not available, clerk re-
                   quests the customer for another date and / or time of arrival and
                   departure
                      Invalid card: Line 5: If the credit card number is not valid, the
                   clerk requests the customer for another credit card number
Postcondition      The reservation is created for the guest.

   A system level sequence diagram for the main scenario of the Make reservation use
case is shown in (Figure 3). The Reservation Clerk actor and Hotel system in the
sequence diagram are instances of the Reservation Clerk actor and Hotel system in the
Make reservation use case description. The sequence of interactions is based on the
description section of the main scenario of the Make Reservation use. It represents the
information that is passed between the actor and the system.




   8
Fig. 3. A system level sequence diagram for the main scenario of the Make reservation use
case

  Part of a context model for the Hotel system is shown in (Figure 4).




                                                                                       9
Fig. 4. Section of system context model for hotel


   A test template created from the sequence diagram of (Figure 3) is shown in (Table
3) for the system test model. The test condition states that a room is available for the
guest in the requested dates (aConventionalRoomIsAvailable) and the guest’s credit
card is valid (creditCardIsValid). The OCL constraints that correspond to the test
condition are shown in (Figure 5). Some of the parameters in the test condition refer to
classes in the class entity model of (Figure 6), such as the Calendar, Conventional-
Room, and Reservation classes. Objects will be instantiated from these classes to
generate the input values for a test item created from the template.




   10
Table 3. Test template for Make reservation: main scenario

   Function to exercise         Make Reservation use case, Main scenario
   Test template id             MakeReservation_Main
   Test objective               Exercise the main scenario of the Make reservation use
                             case for the Conventional room feature
   Precondition                 aClerkIsLoggedIn
   Test condition               aRoomIsAvailable AND creditCardIsValid

   Test steps                   1 <input> selection = MakeReservation
                                2 <output> display = ReservationScreen
                                3 <input> name: String, start: Date, end: Date, style:
                             EConventionalStyle, selection = EnterReservationInfo
                                4 <output> display = AvailabilityScreen, rate: Real,
                             conf#: String
                                5 <input> cardId: String, cardExpDate: Date, selection
                             = ValidateCard
                                6 <output> display = ValidationMessageScreen, card-
                             StatusMsg: String
                                7 <input> conf#: String, selection = GuaranteeReserva-
                             tion
   Post condition               aReservationExists




                                                                                    11
context HotelSPL
       def reservationClerks:
          let reservationClerks: Set(ReservationClerk)
       def dates:
          let dates: Set(Date)
       def rooms:
          let rooms: Set(ConventionalRoom)
       def reservations:
          let reservations: Set(Reservation)
       def cal:
          let cal: Calendar


    context HotelSPL::makeReservation_Main(start: Date, end: Date,
    style: EConventionalStyle, cc: CreditCard)

    pre testcondition:

       let requestedDates = dates->select(d: Date | d.getValue() >=
    start.getValue() and d.getValue <= end.getValue())

       let aClerkIsLoggedIn = reservationClerks->exists(r: Reserva-
    tionClerk | r.isLoggedIn()= true)

       let aRoomIsAvailable = rooms->exists(r: ConventionalRoom |
    requestedDates->forAll (d: Date | cal.isRoomAvailable(r, d) =
    true and r.getStyle() = style))

        let creditCardIsValid = cc.isCardValid() = true in

        aClerkIsLoggedIn and aRoomIsAvailable and creditCardIsValid

    post postcondition:
       reservations->exists(r: Reservation | r.isGuaranteed() =
    true)

  Figure 5 OCL constraints for MakeReservation_Main test template



   The classes in the class entity model were identified in the Login, Make Reserva-
tion and Cancel Reservation use cases from the use case description and are shown in
(Figure 6).




  12
Fig. 6. Class entity model for Hotel System




                                              13
Fig. 7. Object interaction model for the main scenario of the Make Reservation use case

  The object interaction model in (Figure 6) describes the message sequence between
objects that participate in the main scenario of the Make Reservation use case.




6 Conclusion

   This paper has described how the use case model relates to the other black box and
white box views in the requirements and analysis phases of a model-driven software
engineering process. The black box and white box views were expanded from previ-
ous work to identify their role in the software development process. Furthermore,
system and integration test models were described as well as how they relate to the
other black box and white box views of the system. The multiple view modeling ap-
proach described in this paper can be extended to address software product lines,
where there is an additional dimension of complexity because it is necessary to model
the commonality and variability among the members of the product line [9]



References

1.        Jacobson, I., M. Christerson, P. Jonson, and G. Overgaard, Object-oriented Software
          Engineering: a Use Case Driven Approach. 1992, Reading, MA: Addison-Wesley.




     14
2.   Jacobson, I., M. Griss, and P. Jonsson, Software Reuse: Architecture, Process and
     Organization for Business Success. 1997, Reading, MA: Addison-Wesley.
3.   Krutchen, P., Architectural Blueprints - The "4+1" View Model of Software Archi-
     tecture, in IEEE Software. 1995. p. 42-50.
4.   Gomaa, H., Designing Concurrent, Distributed and Real-Time Applications with
     UML. 2000: Addison-Wesley.
5.   OMG, UML 2.0 OCL Specification, in OMG Final Adopted Specification ptc/03-10-
     14. 2004, Object Management Group.
6.   IEEE, IEEE standard for software test documentation, in IEEE Std 829-1998. 1998.
7.   Olimpiew, E.M. and H. Gomaa. Model-based Testing For Applications Derived from
     Software Product Lines. in Advances in Model-based Testing. 2005. St. Louis, Mis-
     souri.
8.   Shin, E., Evolution in Multiple-View Models of Software Product Lines, in Informa-
     tion and Software Engineering. 2002, George Mason University: Fairfax, VA.
9.    Gomaa, H., Designing Software Product Lines with UML: From Use Cases
     to Pattern-based Software Architectures. The Addison-Wesley Object Tech-
     nology Series. 2004: Addison-Wesley Professional.




                                                                                    15

Contenu connexe

Tendances

SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesAmr E. Mohamed
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxAmr E. Mohamed
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagramsMir Majid
 
SE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class DiagramSE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class DiagramAmr E. Mohamed
 
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 DiagramsAmr E. Mohamed
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramKumar
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram Rahul Pola
 
Formalization of a Hospital Management System
Formalization of a Hospital Management SystemFormalization of a Hospital Management System
Formalization of a Hospital Management Systemijcseit
 
Decision table
Decision tableDecision table
Decision tablejeebala
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsAmr E. Mohamed
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...IIUI
 

Tendances (19)

Uml report
Uml reportUml report
Uml report
 
SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use Cases
 
System modeling
System modelingSystem modeling
System modeling
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
 
SE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class DiagramSE18_Lec 08_UML Class Diagram
SE18_Lec 08_UML Class Diagram
 
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
 
Ch08
Ch08Ch08
Ch08
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 
Formalization of a Hospital Management System
Formalization of a Hospital Management SystemFormalization of a Hospital Management System
Formalization of a Hospital Management System
 
8 system models (1)
8 system models (1)8 system models (1)
8 system models (1)
 
Decision table
Decision tableDecision table
Decision table
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
 
SYSTEM MODELLING
SYSTEM MODELLINGSYSTEM MODELLING
SYSTEM MODELLING
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 

En vedette

Taller -evaluacion
Taller  -evaluacionTaller  -evaluacion
Taller -evaluacionbayronurbano
 
PROCLAMATION NO. 1841
PROCLAMATION NO. 1841PROCLAMATION NO. 1841
PROCLAMATION NO. 1841mikejavate
 
Arrangementen Verano Musical (Peñafiel, Valladolid, Spanje)
Arrangementen Verano Musical (Peñafiel, Valladolid, Spanje)Arrangementen Verano Musical (Peñafiel, Valladolid, Spanje)
Arrangementen Verano Musical (Peñafiel, Valladolid, Spanje)Veranomusical
 
Twitter business meeting brabant november2010
Twitter business meeting brabant november2010Twitter business meeting brabant november2010
Twitter business meeting brabant november2010RolandSyntens
 
Communication in Distance Education: A Case Study on the UT TeleCampus
Communication in Distance Education: A Case Study on the UT TeleCampusCommunication in Distance Education: A Case Study on the UT TeleCampus
Communication in Distance Education: A Case Study on the UT TeleCampusMatthew Guay
 
2013 in NatCen moments
2013 in NatCen moments2013 in NatCen moments
2013 in NatCen momentsnatcenslides
 
Web 2.0 Connections
Web 2.0 Connections Web 2.0 Connections
Web 2.0 Connections avyas
 
Creatividad de enseñar a aprender ERIKA
Creatividad de enseñar a aprender ERIKACreatividad de enseñar a aprender ERIKA
Creatividad de enseñar a aprender ERIKAerikavallejos12
 
Song Hee Advertisement & Art Development Co., ltd
Song Hee Advertisement & Art Development Co., ltdSong Hee Advertisement & Art Development Co., ltd
Song Hee Advertisement & Art Development Co., ltdSelf-employed
 
Passie fotografie
Passie fotografiePassie fotografie
Passie fotografieThomas Dral
 
Agenda youth conf 2011 (1)
Agenda   youth conf 2011 (1)Agenda   youth conf 2011 (1)
Agenda youth conf 2011 (1)YATeam
 
Clockwork - Jaap van Oort presentatie #DMSummit 2011
Clockwork - Jaap van Oort presentatie #DMSummit 2011Clockwork - Jaap van Oort presentatie #DMSummit 2011
Clockwork - Jaap van Oort presentatie #DMSummit 2011Copernica BV
 
Make a film in one day
Make a film in one dayMake a film in one day
Make a film in one dayMoodmaker
 

En vedette (20)

Pertemuan 5
Pertemuan 5Pertemuan 5
Pertemuan 5
 
Taller -evaluacion
Taller  -evaluacionTaller  -evaluacion
Taller -evaluacion
 
PROCLAMATION NO. 1841
PROCLAMATION NO. 1841PROCLAMATION NO. 1841
PROCLAMATION NO. 1841
 
Dark souls 2 connects
Dark souls 2 connectsDark souls 2 connects
Dark souls 2 connects
 
Arrangementen Verano Musical (Peñafiel, Valladolid, Spanje)
Arrangementen Verano Musical (Peñafiel, Valladolid, Spanje)Arrangementen Verano Musical (Peñafiel, Valladolid, Spanje)
Arrangementen Verano Musical (Peñafiel, Valladolid, Spanje)
 
James kershaw
James kershawJames kershaw
James kershaw
 
Twitter business meeting brabant november2010
Twitter business meeting brabant november2010Twitter business meeting brabant november2010
Twitter business meeting brabant november2010
 
Communication in Distance Education: A Case Study on the UT TeleCampus
Communication in Distance Education: A Case Study on the UT TeleCampusCommunication in Distance Education: A Case Study on the UT TeleCampus
Communication in Distance Education: A Case Study on the UT TeleCampus
 
2013 in NatCen moments
2013 in NatCen moments2013 in NatCen moments
2013 in NatCen moments
 
Presentazione Asterisk edizioni
Presentazione Asterisk edizioniPresentazione Asterisk edizioni
Presentazione Asterisk edizioni
 
Web 2.0 Connections
Web 2.0 Connections Web 2.0 Connections
Web 2.0 Connections
 
Prakash
PrakashPrakash
Prakash
 
Creatividad de enseñar a aprender ERIKA
Creatividad de enseñar a aprender ERIKACreatividad de enseñar a aprender ERIKA
Creatividad de enseñar a aprender ERIKA
 
Song Hee Advertisement & Art Development Co., ltd
Song Hee Advertisement & Art Development Co., ltdSong Hee Advertisement & Art Development Co., ltd
Song Hee Advertisement & Art Development Co., ltd
 
Regular Expressions
Regular ExpressionsRegular Expressions
Regular Expressions
 
Passie fotografie
Passie fotografiePassie fotografie
Passie fotografie
 
Agenda youth conf 2011 (1)
Agenda   youth conf 2011 (1)Agenda   youth conf 2011 (1)
Agenda youth conf 2011 (1)
 
Zeal Deal
Zeal DealZeal Deal
Zeal Deal
 
Clockwork - Jaap van Oort presentatie #DMSummit 2011
Clockwork - Jaap van Oort presentatie #DMSummit 2011Clockwork - Jaap van Oort presentatie #DMSummit 2011
Clockwork - Jaap van Oort presentatie #DMSummit 2011
 
Make a film in one day
Make a film in one dayMake a film in one day
Make a film in one day
 

Similaire à Role of Use Cases in Requirements and Analysis Modeling

Use Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyUse Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyEswar Publications
 
SE Complete notes mod 4 &5.pdf
SE Complete notes mod 4 &5.pdfSE Complete notes mod 4 &5.pdf
SE Complete notes mod 4 &5.pdfAnkitaVerma776806
 
usecase (1).pptx
usecase (1).pptxusecase (1).pptx
usecase (1).pptxNadir438180
 
Systemprocessing 160107234141
Systemprocessing 160107234141Systemprocessing 160107234141
Systemprocessing 160107234141AbuulHassan2
 
Software engineering ,system modeing >>Abu ul hassan sahadvi
Software engineering ,system modeing >>Abu ul hassan sahadviSoftware engineering ,system modeing >>Abu ul hassan sahadvi
Software engineering ,system modeing >>Abu ul hassan sahadviAbuulHassan2
 
Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...cscpconf
 
Chap 5 - System Modeling Part 1.ppt
Chap 5 - System Modeling Part 1.pptChap 5 - System Modeling Part 1.ppt
Chap 5 - System Modeling Part 1.pptOfficialVishnu
 
Chap 5 - System Modeling Part 1.ppt
Chap 5 - System Modeling Part 1.pptChap 5 - System Modeling Part 1.ppt
Chap 5 - System Modeling Part 1.pptomayva
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagramsjsm1979
 
A Model of Local Area Network Based Application for Inter-office Communication
A Model of Local Area Network Based Application for Inter-office CommunicationA Model of Local Area Network Based Application for Inter-office Communication
A Model of Local Area Network Based Application for Inter-office Communicationtheijes
 
Lect_4_Requirement Modeling(Use Case_and_Static).pdf
Lect_4_Requirement Modeling(Use Case_and_Static).pdfLect_4_Requirement Modeling(Use Case_and_Static).pdf
Lect_4_Requirement Modeling(Use Case_and_Static).pdfLegesseSamuel
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxNwabueze Obioma
 

Similaire à Role of Use Cases in Requirements and Analysis Modeling (20)

Use Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyUse Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and Taxonomy
 
SE Complete notes mod 4 &5.pdf
SE Complete notes mod 4 &5.pdfSE Complete notes mod 4 &5.pdf
SE Complete notes mod 4 &5.pdf
 
Chapter5
Chapter5Chapter5
Chapter5
 
usecase (1).pptx
usecase (1).pptxusecase (1).pptx
usecase (1).pptx
 
Systemprocessing 160107234141
Systemprocessing 160107234141Systemprocessing 160107234141
Systemprocessing 160107234141
 
Software engineering ,system modeing >>Abu ul hassan sahadvi
Software engineering ,system modeing >>Abu ul hassan sahadviSoftware engineering ,system modeing >>Abu ul hassan sahadvi
Software engineering ,system modeing >>Abu ul hassan sahadvi
 
Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...
 
Chap 5 - System Modeling Part 1.ppt
Chap 5 - System Modeling Part 1.pptChap 5 - System Modeling Part 1.ppt
Chap 5 - System Modeling Part 1.ppt
 
Chap 5 - System Modeling Part 1.ppt
Chap 5 - System Modeling Part 1.pptChap 5 - System Modeling Part 1.ppt
Chap 5 - System Modeling Part 1.ppt
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagrams
 
A Model of Local Area Network Based Application for Inter-office Communication
A Model of Local Area Network Based Application for Inter-office CommunicationA Model of Local Area Network Based Application for Inter-office Communication
A Model of Local Area Network Based Application for Inter-office Communication
 
Lect_4_Requirement Modeling(Use Case_and_Static).pdf
Lect_4_Requirement Modeling(Use Case_and_Static).pdfLect_4_Requirement Modeling(Use Case_and_Static).pdf
Lect_4_Requirement Modeling(Use Case_and_Static).pdf
 
M azhar
M azharM azhar
M azhar
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
MODELING & SIMULATION.docx
MODELING & SIMULATION.docxMODELING & SIMULATION.docx
MODELING & SIMULATION.docx
 
Module 2 17CS45
Module 2 17CS45Module 2 17CS45
Module 2 17CS45
 
System Modeling
System ModelingSystem Modeling
System Modeling
 
Se lec5
Se lec5Se lec5
Se lec5
 
chapter_5_5.ppt
chapter_5_5.pptchapter_5_5.ppt
chapter_5_5.ppt
 
Uml and enterprise architect
Uml and enterprise architectUml and enterprise architect
Uml and enterprise architect
 

Dernier

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 

Dernier (20)

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 

Role of Use Cases in Requirements and Analysis Modeling

  • 1. The Role of Use Cases in Requirements and Analysis Modeling Hassan Gomaa and Erika Mir Olimpiew Department of Information and Software Engineering, George Mason University, Fairfax, VA hgomaa@gmu.edu, eolimpie@gmu.edu Abstract. This paper describes the role of use cases in the requirements and analysis modeling phases of a model-driven software engineering process. It builds on previous work by distinguishing between the black box and white box views of a system in the requirements and analysis phases. Furthermore, this paper describes and relates test models to the black box and white box views of a system. 1 Introduction Use case modeling is widely used in modern software development methods as an approach for describing a system’s software requirements [1]. From the use case model, it is possible to determine other representations of the system at the same level of abstraction as well as representations at lower levels of abstraction. Since the use case model is a representation of software requirements, it presents an external view, also referred to as a black box view, of the system. In this paper, we consider other black box views of the system to be at the same level of abstraction as the use case model. Views that address the internals of the system are white box views, which are at lower levels of abstraction. This work builds on the previous work on use case modeling in model-driven soft- ware engineering by distinguishing between black box and white box views of the system in the requirements and analysis phases. It also describes and relates software test models to the black box and white box views of the system. 2 Related Work Use cases were conceived by Jacobson. The Object Oriented Software Engineering method [1, 2] describe how use cases relate to system analysis and test models. In the analysis phase, use cases relate to classes in the static model, object interaction dia- grams in the dynamic model, and test specifications in the test model. The 4+1 view model of software architecture in [3] emphasizes the importance of use case modeling as a driver to determine architectural elements, and as the starting point for testing the 1
  • 2. system. Use case diagrams are fully incorporated into the UML notation [3,4]. UML- based software development methods, such as COMET, all start with use case model- ing to describe software requirements, The COMET method [4] describes how to develop collaboration models and statecharts from use cases. A collaboration diagram depicts the objects that participate in the use case and the sequence of object interac- tions. A state-dependent use case may be described with a statechart. The statechart despicts the sequence of inputs and expected outputs, corresponding to all use case scenarios. 3 Black Box Views of the System The black-box views of a system describe a software system’s external behavior. The internal workings of the software system, such as the internal software objects and their interactions, are not shown in the black-box views. Black-box views show how the system interfaces with its actors and other external objects. The approach consid- ers black box views of the software system. Hence, hardware devices and people, which are all outside the software system, are explicitly considered in black box views. The next sections describe the following black-box views of the system and how they relate to use cases: 1. Use case model of the requirements phase 2. System level sequence diagrams 3. System context class model 4. Statechart for state dependent use case 5. Test model 3.1 Use Case Model A use case model [1] consists of use case diagrams depicted in UML and use case descriptions. The UML model depicts the use case, actors, communication associa- tions between actors and use cases, and use case relationships, in particular the «ex- tends» and «includes» relationships. The UML notation does not address the use case description, which is in many ways is the most important part of the use case model. The description includes the preconditions, postconditions, the description of the main sequence of the use case and the description of alternative sequences. Thus a use case describes several scenarios. The main scenario describes a successful sequence of events, and the alternative scenarios describe a sequence of events that differ from a typical usage of the system. An atypical usage of the system may be less frequently taken interactions or unsuccessful terminations that can be detected and resolved by the application; alternative system outputs; or alternative ways of entering system input. 2
  • 3. 3.2 System Interaction Model The main sequence of the use case is described as a sequence of interactions between the use case actor(s) and the system. From the use case description, the analyst can depict this sequence of interactions on a system interaction model using a system level sequence diagram. This diagram depicts all the actors that participate in the use case and their interactions with the software system, which is depicted as one single aggre- gate object. Depicting the system as one single object preserves the black box prop- erty of this view. This view has the advantage of explicitly describing the sequence of external inputs to the system and external outputs from the system. 3.3 System Context Class Model A system context class model depicts all the external classes that interact with the software system, depicted as an aggregate class. This model is developed by analyzing each use case and determining all the external objects. This diagram shows all the external classes, which might be external users, external devices or external systems [4]. Actors are intended to be proactive, providing inputs to the system. Since an actor in a use case can interact with the system using several external classes, the system context class diagram often provides additional information compared to a use case diagram. For example, in the use case for a customer withdrawing cash from an ATM machine, the actor is the customer. However, the actor actually uses several external hardware devices (card reader, keyboard, display, cash dispenser, printer) to interact with the system. These hardware devices are depicted as external classes in the system context class diagram. This diagram is particularly useful for systems with several external classes, such as real-time systems [4]. 3.4 Statechart for State-dependent Use Case In state dependent applications such as real-time applications, it is often both more concise and more precise to depict the interactions between the actor and system on a statechart. Once again, this statechart should be a black box view at the same level of detail as the use case, depicting inputs from the actor and state dependent responses from the system. For example, in highly state-dependent applications, such as the cruise control system [4] or microwave system [9], the statechart is more effective at specifying the sequences of external inputs and outputs. However, by relating the statechart to the use case, the scope of the statechart can be clearly determined with respect to the other use cases of the system, some of which might not be state depend- ent. The statechart is developed by considering inputs from the external environment to be events that cause state changes on the statechart and the resulting actions execute functions described in the use case and/or provide outputs to the external environ- ments [4]. The sequences of input events on the statechart and action generated out- puts must be consistent with the sequence of inputs and outputs described in the use case. 3
  • 4. 3.5 System Test Model The use case model is the starting point for the creation of test item specifications. With the use case modeling approach, the functional requirements of the system are described in terms of actors and use cases. A use case contains one or more scenarios, a main scenario and usually several alternative scenarios. A use case main scenario describes a sequence of interactions between one or more actors and the system. The alternative scenarios describe a sequence of inputs and actions that differ from a typi- cal use of the system, such as for error handling. Each use case scenario can in turn be described with an interaction diagram that shows the sequence of interactions between the use case actors and the system. A system test template is constructed from an interaction diagram. The input and output messages in the sequence diagram become test steps in the system test tem- plate. The message parameters and system state variables become test parameters. The use case precondition becomes part of a test condition for the test template. A test condition is more specific than the precondition of a use case. A use case precondition describes a constraint on part of the system state variables, while a test condition specifies additional constraints on the values of the input variables and system state variables. A test condition forces the execution of a specific use case scenario, in terms of a sequence of events and actions. In the test template, the use case precondi- tion is shown in a separate section to maintain traceability to the use case. A postcondition can also be added to the test template. A postcondition is a con- straint or assertion on the expected output values and on the state of the system, which must be true after the test is executed. The precondition, test condition and postcondi- tion of a test template are described in first-order predicate logic using OCL [5]. A system test template can be shown in tabular format (Table 1). The test template is more general than the test item specification document described in the IEEE stan- dard [6], because it needs to be reusable across different application configurations, for different functional testing strategies. Instead of specific data values, the test tem- plate may have parameters, constraints on input parameter values in its test condition, and assertions on output parameter values. A test template can be used to generate the specific data values for a test item specification (test case), by substituting the data values that satisfy a test template’s test condition into the test parameters. Model- based testing is described in more detail in [7]. 4
  • 5. Table 1. Test template specification Function to exercise <use case scenario name> Test template id <unique id of test template> Test objective <objective, or goal of test. Refers to a use case sce- nario that will be exercised with this test> Precondition <use case precondition> Test condition <constraint on the user input values and on the state of the system that must be true before a test generated from this template can be executed> Test steps <an ordered list of test steps, which are user inputs and system outputs. The inputs are tagged <input> and the outputs are tagged <output>> Postcondition <constraint on the expected output values and on the state of the system that must be true after a test generated from this template is executed> 4 White Box Views of the System The white box views describe the internal static and dynamic structures of the system. The white box views represent analysis modeling where analysis of the system takes place. During analysis, each use case is realized by considering the objects required to participate in the use case. Object structuring criteria are provided to assist in identify- ing the software objects [1, 4], which can then be depicted in UML using stereotypes such as <<control>> or <<entity>>, The software objects will typically include inter- face objects (also referred to as boundary objects) which receive external inputs from actors and provide external outputs to actors, control objects which are decision mak- ing objects, which can be state dependent, and entity objects, which store data [4]. 4.1 Object Interaction Model The Object Interaction Model is part of the dynamic model of the system. Given the objects that realize each use case (see above), the next step is to depict the sequence of interactions among these objects [4]. The sequence of external inputs and external outputs sepicted in each scenario must correspond to the sequence described in the use case (see 3.1) and in the in the system interaction model (see 3.2). Furthermore, if there is a state dependent object, it must execute a statechart. During analysis, any statechart that was developed earlier (see 3.4) is encapsulated inside a state dependent control object [4]. It is important to ensure that the statechart is consistent with the state dependent control object. Thus, each incoming message to the state dependent control object on the interaction diagram must be correspond to and be consistent with an event on the encapsulated statechart and each action of the statechart must corre- spond to an outgoing message from the object [4]. 5
  • 6. Each use case scenario can be depicted on a separate interaction diagram, either sequence or communication diagram. The different scenarios of the use case can all be combined and depicted on a generic version of the interaction diagram. It is usually easier to see the realization of individual use case scenarios on individual interaction diagrams, but the generic diagram provides information in a more concise form. 4.2 Entity Class Model For information intensive systems, there will be several entity classes, whose primary role is to encapsulate data. These classes can be initially determined from the use case model and are depicted on an entity class model, which describes the attributes of these classes and their relationships. Thus the use case descriptions for a hotel reserva- tion system would refer to hotels, rooms, reservations, and customers, all of which would appear on the entity class model. The objects which interact with the entity objects would be depicted on the interaction diagrams. Understanding how the entity object is accessed, as depicted on the interaction diagram, helps with determining the class operations during design. 4.3 Integration Test Model The white-box sequence diagrams created to describe the sequence of object interac- tions in a use case scenario can be used to design integration tests. An integration test validates the interfaces between the objects of a system. Integration testing requires call logging traces or assertions to be built in to the objects being tested so that the tester can observe the sequence of object interactions. A system test template can become a test driver for integration testing. A tester en- ables the call logging traces for the objects described in the sequence diagram, exe- cutes a test case generated from the system test template, and compares the observed calls against the sequence diagram. 5 Relationship between Use Case Model and Other System Views Consider traceability from the black box views to the white box view. Following on from the black box view, any use case based statechart needs to be encapsulated in a state dependent control object. An instance of each entity class from the entity class model will need to appear in at least one interaction diagram. An instance of each external class from the context class model will also need to appear on at least one interaction diagram. All interactions described in the use case diagram will need to be realized on the interaction diagrams. The relationship between the use case model and system views is summarized in the meta-model of (Figure 1). This meta-model is based on the meta-modeling ap- proach described in [8], which is adapted to address the views described in this paper and to add the test model views. Furthermore, the meta-model distinguishes between 6
  • 7. black-box and white-box views with the use of «black-box view» and «white-box view» stereotypes. The meta-model emphasizes the relationships between the use case model and the other black-box and white-box views with bold associations. Some relationships between views are also shown but others are omitted for concise- ness. Classes described by Realized by «black box External classes described by view» UseCase Scenarios Behavior described by Model described by «black box «black box «black box System «black box Behavior test templates view» view» described by view» view» created from System UseCase System System Context Statechart Interaction Test ClassModel Model Model Model Actors are instantiated from Based on Refined into Defines object «white box State-dependent «white box interactions «white box «white box view» object behavior view» for view» view» Object described by Object Integration Entity Statechart Interaction Test ClassModel Model Model Model Objects are instantiated from Parameters refer to classes in Fig. 1. Relationship between use case model and system views 6 Example A section of the use case model and some system views are described for an example hotel system. Part of the use case model for a hotel system that contains the Login, Make reservation and Cancel reservation use cases is shown in (Figure 2). A use case description of the Make reservation use case is shown in (Table 2). 7
  • 8. Fig. 2. Section of a use case model for a hotel system Table 2. Use case description of Make reservation use case Name Make reservation Summary Reservation clerk reserves a room for a hotel guest Actor Reservation clerk Precondition Reservation clerk has logged into the Hotel system Description 1. Guest gives personal details to reservation clerk, such as name, room type, number of occupants, and dates and times of arrival and departure 2. Reservation clerk enters information into the system and looks up availability and room reservation rate 3. If room is available, clerk requests the guest to guarantee the reservation with a credit card number 4. The clerk enters the guest’s credit card number to guarantee the reservation. 5. If credit card number is valid, the clerk updates the reservation as guaranteed. Alternatives Room not available: Line 3: If a room is not available, clerk re- quests the customer for another date and / or time of arrival and departure Invalid card: Line 5: If the credit card number is not valid, the clerk requests the customer for another credit card number Postcondition The reservation is created for the guest. A system level sequence diagram for the main scenario of the Make reservation use case is shown in (Figure 3). The Reservation Clerk actor and Hotel system in the sequence diagram are instances of the Reservation Clerk actor and Hotel system in the Make reservation use case description. The sequence of interactions is based on the description section of the main scenario of the Make Reservation use. It represents the information that is passed between the actor and the system. 8
  • 9. Fig. 3. A system level sequence diagram for the main scenario of the Make reservation use case Part of a context model for the Hotel system is shown in (Figure 4). 9
  • 10. Fig. 4. Section of system context model for hotel A test template created from the sequence diagram of (Figure 3) is shown in (Table 3) for the system test model. The test condition states that a room is available for the guest in the requested dates (aConventionalRoomIsAvailable) and the guest’s credit card is valid (creditCardIsValid). The OCL constraints that correspond to the test condition are shown in (Figure 5). Some of the parameters in the test condition refer to classes in the class entity model of (Figure 6), such as the Calendar, Conventional- Room, and Reservation classes. Objects will be instantiated from these classes to generate the input values for a test item created from the template. 10
  • 11. Table 3. Test template for Make reservation: main scenario Function to exercise Make Reservation use case, Main scenario Test template id MakeReservation_Main Test objective Exercise the main scenario of the Make reservation use case for the Conventional room feature Precondition aClerkIsLoggedIn Test condition aRoomIsAvailable AND creditCardIsValid Test steps 1 <input> selection = MakeReservation 2 <output> display = ReservationScreen 3 <input> name: String, start: Date, end: Date, style: EConventionalStyle, selection = EnterReservationInfo 4 <output> display = AvailabilityScreen, rate: Real, conf#: String 5 <input> cardId: String, cardExpDate: Date, selection = ValidateCard 6 <output> display = ValidationMessageScreen, card- StatusMsg: String 7 <input> conf#: String, selection = GuaranteeReserva- tion Post condition aReservationExists 11
  • 12. context HotelSPL def reservationClerks: let reservationClerks: Set(ReservationClerk) def dates: let dates: Set(Date) def rooms: let rooms: Set(ConventionalRoom) def reservations: let reservations: Set(Reservation) def cal: let cal: Calendar context HotelSPL::makeReservation_Main(start: Date, end: Date, style: EConventionalStyle, cc: CreditCard) pre testcondition: let requestedDates = dates->select(d: Date | d.getValue() >= start.getValue() and d.getValue <= end.getValue()) let aClerkIsLoggedIn = reservationClerks->exists(r: Reserva- tionClerk | r.isLoggedIn()= true) let aRoomIsAvailable = rooms->exists(r: ConventionalRoom | requestedDates->forAll (d: Date | cal.isRoomAvailable(r, d) = true and r.getStyle() = style)) let creditCardIsValid = cc.isCardValid() = true in aClerkIsLoggedIn and aRoomIsAvailable and creditCardIsValid post postcondition: reservations->exists(r: Reservation | r.isGuaranteed() = true) Figure 5 OCL constraints for MakeReservation_Main test template The classes in the class entity model were identified in the Login, Make Reserva- tion and Cancel Reservation use cases from the use case description and are shown in (Figure 6). 12
  • 13. Fig. 6. Class entity model for Hotel System 13
  • 14. Fig. 7. Object interaction model for the main scenario of the Make Reservation use case The object interaction model in (Figure 6) describes the message sequence between objects that participate in the main scenario of the Make Reservation use case. 6 Conclusion This paper has described how the use case model relates to the other black box and white box views in the requirements and analysis phases of a model-driven software engineering process. The black box and white box views were expanded from previ- ous work to identify their role in the software development process. Furthermore, system and integration test models were described as well as how they relate to the other black box and white box views of the system. The multiple view modeling ap- proach described in this paper can be extended to address software product lines, where there is an additional dimension of complexity because it is necessary to model the commonality and variability among the members of the product line [9] References 1. Jacobson, I., M. Christerson, P. Jonson, and G. Overgaard, Object-oriented Software Engineering: a Use Case Driven Approach. 1992, Reading, MA: Addison-Wesley. 14
  • 15. 2. Jacobson, I., M. Griss, and P. Jonsson, Software Reuse: Architecture, Process and Organization for Business Success. 1997, Reading, MA: Addison-Wesley. 3. Krutchen, P., Architectural Blueprints - The "4+1" View Model of Software Archi- tecture, in IEEE Software. 1995. p. 42-50. 4. Gomaa, H., Designing Concurrent, Distributed and Real-Time Applications with UML. 2000: Addison-Wesley. 5. OMG, UML 2.0 OCL Specification, in OMG Final Adopted Specification ptc/03-10- 14. 2004, Object Management Group. 6. IEEE, IEEE standard for software test documentation, in IEEE Std 829-1998. 1998. 7. Olimpiew, E.M. and H. Gomaa. Model-based Testing For Applications Derived from Software Product Lines. in Advances in Model-based Testing. 2005. St. Louis, Mis- souri. 8. Shin, E., Evolution in Multiple-View Models of Software Product Lines, in Informa- tion and Software Engineering. 2002, George Mason University: Fairfax, VA. 9. Gomaa, H., Designing Software Product Lines with UML: From Use Cases to Pattern-based Software Architectures. The Addison-Wesley Object Tech- nology Series. 2004: Addison-Wesley Professional. 15