SLIDE 6 CSI3372 6
User interface
- ur task is to build the underlying system providing functionality which
will be invoked through the user interface.
separation between user interface and underlying system.
Beware of making diagrams very complex
A diagram too complex to draw by hand is probably also it too complex to think out clearly.
Split into multiple diagrams; use cases at high level of abstraction.
Some Useful Tips
Eunjee Song
Split into multiple diagrams; use cases at high level of abstraction.
Update catalog use case: Includes all the librarian’s adding and removal
- f books, sending away of journals etc. When this functionality is
considered in detail we may want to separate these out into multiple use cases.
Short descriptions of use cases
Do not invent requirements!
Can be useful to make a list of questions and possibilities with each use case, for discussion with the customer.
Use cases must not be seen as a panacea
The use cases must be validated There are some aspects of development that are
not covered by use case analysis.
Non-functional requirements are often not covered Eunjee Song Use Cases-32 Non functional requirements are often not covered Functionality that is not triggered by actors is not covered
E.g., auditing transactions in a banking
system
Do not write use cases in terms of how a system
works currently!
Essence of Software Development – Again!
Requirements Statement validatio ver ess
Eunjee Song Software Processes - 33
Design Implementation
rification correctn correspo
Evolution of Use Cases
Inception
Most interesting and complex or risky use cases written
in brief format
10-20% of core complex functions rewritten in fully-
dressed format
Elaboration
Eunjee Song Use Cases-34
Elaboration
In each iteration, use cases are prioritized and high
priority use cases are developed in fully-dressed format
80-90% completed by end of elaboration
Construction
Remaining (minor) use cases are developed
Relating Use Cases
Specializing/generalizing use cases Including use cases Extending use cases
Eunjee Song Use Cases-35 C o n s t r u c t D e s c r ip t io n S y n t a x a s s o c ia t io n T h e p a r tic ip a tio n o f a n a c to r in a u s e c a s e . i.e ., in s ta n c e o f a n a c to r a n d in s ta n c e s o f a u s e c a s e c o m m u n ic a te w ith e a c h o th e r . g e n e r a liz a tio n A ta x o n o m ic r e la tio n s h ip b e tw e e n a m o r e g e n e r a l u s e c a s e a n d a m o r e s p e c ific u s e c a s e . e x t e n d A r e la tio n s h ip fr o m a n e x te n s io n u s e c a s e to a b a s e u s e c a s e , s p e c ify in g h o w th e b e h a v io r fo r th e e x te n s io n u s e c a s e a u g m e n ts ( s u b je c t to
Use Case Modeling: Core Relationships
<<extend>>
Eunjee Song Use Cases-36 u s e c a s e a u g m e n ts ( s u b je c t to c o n d itio n s in th e e x te n s io n ) th e b e h a v io r d e fin e d fo r th e b a s e u s e c a s e . T h e b a s e u s e c a s e d o e s n o t d e p e n d o n th e e x te n s io n u s e c a s e . C o m p a r e : in c lu d e . in c lu d e a r e la tio n s h ip fr o m a b a s e u s e c a s e to a n in c lu s io n u s e c a s e , s p e c ify in g h o w th e b e h a v io r fo r th e b a s e u s e c a s e c o n ta in s th e b e h a v io r d e fin e d fo r th e in c lu s io n u s e c a s e . T h e b a s e u s e c a s e d e p e n d s o n th e in c lu s io n u s e c a s e . C o m p a r e : e x te n d .
<<extend>> <<include>>