MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
-
Upload
meljun-cortes-mbampa -
Category
Documents
-
view
226 -
download
0
Transcript of MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
1/38
Software Engineering 1
Requirements
Analysis andModel
TOPIC TWO
Requirements Engineering
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
2/38
Software Engineering 2
Requirements Analysis
It is a technique employed to create the requirements modelthat illustrates the requirements of the system.
The purpose of defining the requirements:
To define a basic agreement between customers, stakeholders anddevelopers on what the system should do
To aid system developers in understanding system requirements
To define the scope and boundaries of the system
To aid in the planning of technical contents of each iteration of
software development
To aid in estimating cost and effort in developing the softwaresystem
To present the user-interface of the system while focusing on theneeds and goals of the users
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
3/38
Software Engineering 3
Requirements Model
Use-Case Model
Use-Case Diagram
Use-Case Specifications
SupplementarySpecification (Optional)
Glossary (Optional)
Use-Case Model
Actor ActorUse Cases
Use-Case Specifications
Supplementary
Specification
Glossary
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
4/38
Software Engineering 4
Use-Case Model Use to describe what the system will do
Describes a system's functional requirements
Describes a system's intended functionality and itsenvironment
Serves as a contract between customers, users, and thesystem developers
Allows customers and users to validate that the system willbecome what is expected
Allows system developers to ensure that what they build iswhat is expected
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
5/38
Software Engineering 5
Use-Case Diagram
consists
Actors
Use Cases
Associations
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
6/38
Software Engineering 6
Actor It represents a coherent set
of roles that users of thesystem play wheninteracting with use cases.
It can be a person, device oranother system.
It is graphically representedby a stick person.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
7/38
Software Engineering 7
Use Case It describes the functions
that the system performswhen interacting with actors.
It yields an observable
results to the actors. It is described using a verb-
noun format.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
8/38
Software Engineering 8
Associations
It is the relationship orassociation between anactor and use-cases, and/orbetween use-cases.
It has two specialrelationship of association.
Include
Extend
or
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
9/38
Software Engineering 9
Include and Extend
Association Include Association It is used to show that when
one use case is used, theother is also used.
Extend Association
It is used to show that a usecase provides additionalfunctionality that may berequired in another use case.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
10/38
Software Engineering 10
First Iteration of Use Case
Model
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
11/38
Software Engineering 11
Second Iteration of Use Case
Model
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
12/38
Software Engineering 12
Use-Case Specification It is a document where all of the use-case properties are
documented. For each use-case, there should be acorresponding use-case specification.
It consists of the following information:
Name Brief Description
Pre-conditions
Flow of Events
Post-conditions
Relationships
Special Requirements
Other Diagrams
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
13/38
Software Engineering 13
Name
It represents the name of the use-case, which follows theverb-noun format.
It should match the use-case name found in the Use-Casediagram.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
14/38
Software Engineering 14
Description
It describes the role and purpose of the use-case using a fewlines of sentence, preferably 3-5.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
15/38
Software Engineering 15
Pre-conditions
It defines a constraint on the system for when the use-casestarts.
It specifies the conditions that must exists before the use-case can start.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
16/38
Software Engineering 16
Flow of Events
These are events that describes what the use case is doing.
There may be multiple flow of events, ie, a basic flowandalternative flow.
It should present what the system does; NOT how the systemis designed to perform.
Events are also known as scenarios.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
17/38
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
18/38
Software Engineering 18
Activity Diagram Elements
Activity States
Transitions
Decisions
Synchronization Bars
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
19/38
Software Engineering 19
Activity States
It represents theperformance of an activity orstep within the work flow.
It represented by arectangle with circularedges.
Get Application Form
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
20/38
Software Engineering 20
Transition
It shows what activity statefollows after another.
It is represented as a linewith an arrow head toindicate direction of statechange.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
21/38
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
22/38
Software Engineering 22
Synchronization Bars
It is used to show parallelsub-flows.
It illustrate concurrentthreads in the work flow.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
23/38
Software Engineering 23
Sample Activity Diagram
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
24/38
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
25/38
Software Engineering 25
Sample Swimlane Diagrams
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
26/38
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
27/38
Software Engineering 27
Post-condition
It defines a constraint on the system for after the use-casehas terminated.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
28/38
Software Engineering 28
Special Requirements
It is a textual description that collects all use caserequirements, like non-functional requirements that are notconsidered in the Use-Case Model, yet need to be taken intoconsideration during design or implementation.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
29/38
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
30/38
Software Engineering 30
Supplementary Specification
It contains requirements that are not specified in the Use-Case Model.
It contains non-functional requirements not captured in theUse-Case Model.
It is an important complement to the Use-Case Model.
It may contain constraints in implementation.
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
31/38
Software Engineering 31
Supplementary Specification
It may include any of the following:
Functionality
Usability
Reliability Performance
Supportability
Design Constraints
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
32/38
Software Engineering 32
Glossary
It defines important terms used in the system.
It is used to facilitate communication between system expertsand developers.
It is used to agree on common terminology between usersand developers
It consists of:
Introduction
Terms
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
33/38
Software Engineering 33
Requirements Model
Validation Checklist Use-Case Model Can we understand the Use Case Model?
Can we form a clear idea of the system's over-all
functionality? Can we see the relationship among the functions that the
system needs to perform?
Did we address all functional requirements?
Does the Use Case Model contain inconsistent behavior? Can the Use Case Model be divided into use case
packages? Are they divided appropriately?
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
34/38
Software Engineering 34
Requirements Model
Validation Checklist Actor Did we identify all actors?
Are all actors associated with at least one use case?
Does an actor specify a role? Should we merge orsplit actors?
Do the actors have intuitive and descriptive names?
Can both users and customers understand the
names?
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
35/38
Software Engineering 35
Requirements Model
Validation Checklist Use cases Are all use case associated with actors or other use
cases?
Are use cases independent of one another?
Are there any use cases that exhibit similar behavior orflow of events?
Are use-cases given a unique, intuitive or explanatorynames?
Do customers and users alike understand the names anddescriptions of the use cases?
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
36/38
Software Engineering 36
Requirements Model
Validation Checklist Use-Case Specifications Can we clearly see who wishes to perform a use case?
Is the purpose of the use case also clear?
Is the use case description properly and clearly defined?Can we understand it? Does it encapsulate what the usecase is supposed to do?
Is it clear when the flow of events starts? When it ends?
Is it clear how the flow of events starts? How it ends?
Can we clearly understand the actor interactions andexchanges of information?
Are there any complex use cases?
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
37/38
-
7/31/2019 MELJUN CORTES JEDI Slides-3.2 Requirements Analysis and Model
38/38