Presentation is loading. Please wait.

Presentation is loading. Please wait.

Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.

Similar presentations


Presentation on theme: "Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST."— Presentation transcript:

1 Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST

2 Introduction u Major effort in requirements : l Develop a Model of the System to be built. l Employ usecases to build such a model. u Functional Reqs are structured as usecases. u Non Functional Requirements are specific to a single usecase. u Remaining Non-Functional requirements are kept in a separate document called the supplementary requirements.

3 Importance of Usecase u Offers a systematic and intuitive way to capture the functional requirements. u By using usecases the analysts are forced to think in terms of who users are and what business or mission needs can be fulfilled through them. u It drives the entire development process.

4 The Requirements Workflow The artifacts created in the requirements workflow. u The artifacts created in the requirements workflow. u The workers participating in the requirements workflow. u The requirements capture workflow, including each activity in more details

5 Artifacts u Use Case Model u Actors u Use cases l Flow of Events l Special Requirements u Architecture Description u Glossary

6 The Use Case Model * * 1 Use Case Model Use Case System Actor Use Case

7 Artifact - The Use Case Model u Agreement on requirements between developers and customers, i.e, the condition or capability to which the system must conform.. u Provides essential input for analysis, design and testing. u A use-case model is the model of the system containing actors and their usecases and their relationships. u For large number of usecases in a system, packages may be introduced in the model to manage its size. u Presents Model in diagrams that presents the actor and usecases from different viewpoint and different purpose.

8 Artifact - Actor u Parties outside the system that collaborate with the system u Often corresponds to workers in a business. u An actor plays one role for each case with it collaborates. Each time a specific user interacts with the system, the corresponding actor instance is playing the role. u An instance of an actor is thus a specific user interacting with the system. u Any entity that conforms to an actor can act as an instance of the actor.

9 Artifact - Actor (TQ – Pg21) u Actors are not a part of the system. u Anyone or anything that must interact with the system. u An Actor may l Only input information to the system. l Only receive information from the system. l Input & receive information to and from the system.

10 Artifact - Identifying Actors (TQ – Pg21) u Typically found in the problem statement. u Conversation with the customers or Domain Experts. u By asking the following questions : l Who is interested in a certain requirement? l Where in the organization is the system used? l Who will benefit from the use of the system? l Who will supply, use and remove the information from the system? l Who will support and maintain the system. l Does the system use an external resource. l Does one person play several different roles? l Do several people play the same role. l Does the system interact with a legacy system?

11 Artifact - Usecase u Each way a actor uses the system is represented as a usecase. u Are “chunks” of functionality that the system offers to add a result of value to its actors. u Sequence of actions, including alternatives of the sequence, that the system can perform, interacting with actors of the system. u Specification of the behavior of the dynamics of the system.

12 Artifact - Usecase u Usecase is a classifier – It has attributes and operations. u Usecase description include the following: l State Chart Diagrams l Activity Diagrams l Collaboration Diagrams l Sequence Diagrams.

13 Usecase Instance u Execution of usecase. u Interacts with the actor instance and performs a sequence of actions as specified by the usecase. u This sequence is specified by a state chart or activity diagram.. u Many paths are possible through a usecase and many are very similar. These are the alternatives through the Usecase.

14 Path in a usecase Path through a use case looks as follows: u The Use-Case is instantiated and put in a start state. u Invoked by external message from actor. u It transitions to another state by performing a sequence of actions. Such a sequence contains internal computations, selection of path and message output. u It awaits, in its new state, another message from an actor. u It is invoked again by a new message and so on. u It goes over many states until the usecase is terminated.

15 Usecase instance - Characteristics u Have attributes that is manipulated during usecase execution. u Usecase instance is atomic. u A Usecase instance does not interact with other instances. u The only interaction that happens in a Usecase is between Actor instances & Usecase instances. u The interference issues between different uses of a system is resolved in the Analysis and design phase when we realize these usecases as collaboration classes and subsystems.

16 Usecases - Flow of Events u Describes what the system does when a specified usecase is performed. u Also specifies how the system interacts with actors when the usecase is performed. u Flow of events for each usecase can be captured as a separate textual description of the use-case's sequence of action. u Description includes a set of sequence of actions that are suitable to modify, review, design, implement and test together and to describe as a section or subsection in the user manual.

17 Usecase – Special Reqmnts. u Textual description that collects all requirements on a usecase. u Primarily non-functional requirements that are related to the usecase and that are needed to be handled in subsequent workflows such as analysis, design or implementation.

18 Usecase – How to identify? The following question may be used to help identify the usecases of the system. u What are the task of each actor? u Will any actor create, store, change, remove or read values from the system? u What usecases will create, store, change, remove or read values from the system. u Will any actor need to be informed of certain occurrences in the system? u Will any actor need to inform the system of any external occurrences? u What usecases will support and maintain the system? u Can all functional requirements be performed by the usecases?

19 Artifact - Architectural Description u Architectural View of the usecase model depicting the architecturally significant usecases. u Should contain all usecases that describe some important and critical functionality or that involves certain requirements that must be developed early in the software cycle. u This view is used as an input when the usecases are prioritized to be developed within an iteration.

20 Artifact - Glossary u Used to define important and common terms. Used by the analysts when they describe the system. u Is useful in reaching a consensus among developers regarding the definition of various concepts and notations to reduce the risk of misunderstandings in general. u Can often be derived from a business model or domain model, but because it is less formal it is easier to maintain and more intuitive to discuss with users and customers. u Tends to be more focused on the system to be built instead of system’s context.

21 Artifact – User Interface Prototype u Helps during requirements capture to understand and specify the interaction between human actors and system. u Helps us in developing a better user interface and to understand usecases better.

22 Workers – System analyst Usecase Model Actor Glossary System Analyst

23 Workers – Usecase specifier Use Cases Usecase Specifier

24 Workers – User Interface Designer User Interface Prototype User Interface Designer

25 Workers – Architect Architecture Description Architect Usecase Model Architectural View

26 WORKFLOW u A Sequence of activities which are ordered so that one activity produced output that is used as an input for the next activity. u When workers perform activities they create and modify artifacts. u An activity may be revisited several times and each visit may entail carrying out only a fraction of the activity.

27 Workflow – Sequence u Perform Find Actors and usecases. u Find architecturally significant usecases to provide input to the prioritization of usecases to be developed in the current iteration. u Detail the usecases. u Suggest suitable user interface for each actor based on the usecases.

28 Find Actors & Usecases - Why u Delimit our system from its environment. u Outline who and what will interact with the system and what functionality is expected from the system. u Capture and define a glossary of common terms that are essential for creating a detailed description of the system’s functionality.

29 Find Actors & Usecases - Activity u Finding the actors u Finding the usecases u Briefly describing the usecase u Describing the usecase model as a whole. The above steps are performed concurrently.

30 Find Actors & Usecases - Activity Business Model System Analyst Supplementary Requirements Feature List Use-Case Model [Outlined] Glossary Find Actors and Use Cases

31 Find Actors and Usecases - Example

32

33 Briefly describing each usecase u Identify the usecases and explain them in a few words. u Later describe each usecase briefly in a few sentences. u Later a step by step description of what the system needs to do when interacting with its actors. Refer to Page 150 of the book for an Example.

34 Describing the usecase model as a whole u Prepare diagrams and descriptions to explain the use case model as a whole, particularly how the usecase relate to each other and the actors. u To ensure consistency while describing several usecases concurrently, it is practical to develop some glossary of terms. u Terms are derived from classes in domain or business model. Refer to Page 151 of the book for an Example.

35 Prioritizing Usecases u Determine which one needs to be developed in earlier iterations and which can be developed in later iterations. u The results are captured in architectural view of the usecase model.

36 Prioritizing Usecases Business Model Architect Supplementary Requirements Feature List Architectural Description view of the usecase model Prioritizing

37 Detailing a Usecase u Describe flow of events in details including how the usecase starts, ends and interacts with actors. u With usecase model and associated usecase diagrams as starting point, the individual usecase specifiers can now describe each usecase in details. u Detail the step-by-step description of each usecase into a precise specification of the sequence of actions.

38 Detailing a Usecase u How to structure the description to specify all the alternative paths to the usecase. u What to include in a usecase description. u How to formalize the use-case description when necessary.

39 Detailing a Usecase Use-Case Specifier Supplementary Requirements Use Case [Detailed] Detail a Usecase Use-Case Model Glossary

40 Structuring a Usecase Desc. u Defines the state that use-case instances may enter and possible transition between those states. u Each such transition is a sequence of actions that are performed by a usecase instance when triggered by an event such as a Message. u Artifact – State Transition Diagram.

41 What to include in Usecase Desc. u Start State as Pre-condition u How and When the use-case starts u Required order in which order must be performed. u How and when the usecase ends. u Post Conditions or End States. u Paths of execution that are not allowed. u Alternative Paths. u System Interaction with the actors and what they exchange. u Usage of objects, values and resources in the system. u Describe what the system & actors do.

42 Formalizing the Usecase Desc u When describing a usecase, ensure that we cover all possible cases. u When usecases become very complex, a structured description technique may be needed. l State Charts l Activity Diagrams l Interaction Diagrams

43 Prototype User Interface u Build a prototype of the User Interface. u Start with a use case and try to discern what is needed from the user interfaces to enable usecases for each actor (Logical User-Interface Design). u Then Create Physical User Interface design and develop prototypes that illustrates how how users can use the system to perform the usecases. u Result of this activity is a set of user-interface sketches and user-interface prototypes that specify the look and feel of the user Interface for actors.

44 Structuring Use Case Model u To Extract general and shared descriptions of functionality that can be used by more specific use-case descriptions. u Extract additional and optional description of functionality that can extend more specific use-case description.


Download ppt "Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST."

Similar presentations


Ads by Google