Title: ROPES
1ROPES
- Rapid Object-Oriented Process for Embedded Systems
2(No Transcript)
3Use Case Diagram
- Use case diagrams describe what a system does
from the standpoint of an external observer - The emphasis is on what a system does rather than
how.
4Diagram Contents (1)
- Actor - Identifies who or what uses the Use
CaseAn actor is who or what initiates the events
involved in that task. Actors are simply roles
that people or objects play. - Use case - Identifies required feature of the
system - Boundary - The use cases may optionally be
enclosed by a rectangle that represents the
boundary of the containing system or classifier.
5Diagram Contents (2)
- Relationship
- association between use case and actor
- generalization - between actor and actor,
use case and use case - ltltextendgtgt - between use casesShows how to
extend the Use Case - ltltincludegtgt - between use casesBase Use Case
incorporates behavior
6Use Case Model
- A set of actors and their descriptions
- A set of use cases and their descriptions
- A use case specification for each use case
- Flows of Events
- Pre and Post Conditions
- Special Requirements
- Other diagrams as needed
- Use case diagrams
7What is a Use Case
- UML A Use Case is a description of a set of
actions, that a system performs to yield an
observable result of value to an actor.
8What is an actor
- UML An actor represents a coherent set of roles
that users of use cases play when interacting
with these use cases. Typically an actor
represents a role that a human, a hardware device
or another system plays with the system.
9What is a Relationship
- UML A Relationship is a connection among things.
- In OOM there are 3 kinds of relationships that
are the most important - Dependency, Generalization, Association
10What is a Relationship
Generalization
11What is a Relationship
Association
12What is a Relationship
Include
13What is a Relationship
Extend
ltltextendgtgt
Print Diagram
Print Crop Marks
(Base Use Case)
14Use Cases and Actors
- A Use Case may have many Actors
- An Actor normally interacts with several Use
Cases of a system - For each Actor
- Find out what this Actor wants to use the system
for - Each way of using the system will become a Use
Case
15(No Transcript)
16Group Egy1
17Group Három/1
18Group Három/2
19Group Három/3
20Group Három/4
21Group Három/5
22Group Három/6
23Group Három/7
24Group Öt
25Group Hét
MySSe
Steering
system boundary
IR transmitter
track or called tape
Speed
IR receiver
Start(stop)car
code uploaded and battary supplied(removed)
Collision interrupt
extend
collision detected
extend use case
26Group Kilenc
27Group TizenÖt
28Group TizenHat
29Group TizenKilenc-- MySSe Project
- General
- The use cases of the MySSe Project are presented
in the figure below. The five different use cases
are discussed in more detail in the following
slides. But it is still not the compelete
version. We will add more in the future.
start running
control tuning
control turning
control steering
stop running
30Group TizenKilenc -- start running
- Summary
- The car receives the signal and start running
- Actors
- Car- A car is the user to use the command to
control its action - Preconditions
- The car is ready to run
- The code has been uploaded to the cars memory
- Flow of events
- Step1. Give a pulse to tachometer
- Step2. Feedback from tachnometer make the rear
wheels to run with the right directon - Exceptions
- The wheels dont move or dont run with right
direction - Postconditions
- The car is running
- The tachnometer is continuing to provide more
feedback
start running
31Group TizenKilenc -- Control tuning
- Summary
- The car receives the command and adjust its
speed - Actors
- Car- A car is the user to use the command to
control its action - Preconditions
- The car is ready to run or running
- The command of adjusting speed is recevied
- Flow of events
- To be expected
- Exceptions
- To be expected
- Postconditions
- The cars speed has been changed
MySSe system
control tuning
ltltextendsgtgt
ltltextendsgtgt
start running
stop running
Car
32Group TizenKilenc -- Control steering
- Summary
- The car receives the command and adjusts its
direction - Actors
- Car- A car is the user to use the command to
control its action - Preconditions
- The car is running
- The sensor find it is not going straight
- Flow of events
- To be expected
- Exceptions
- To be expected
- Postconditions
- The car is going straight
control steering
33Group TizenKilenc -- Control turning
- Summary
- The car receives the command and start running
- Actors
- Car- A car is the user to use the command to
control its action - Preconditions
- The car is running straight
- The sensor find there is a turn on the track
- Flow of events
- To be expected
- Exceptions
- To be expected
- Postconditions
- The car is turning right or left
control turning
ltlt uses gtgt
control steering
34Group TizenKilenc -- Stop running
- Summary
- The car receives the command and stop running
- Actors
- Car- A car is the user to use the command to
control its action - Preconditions
- The car is running
- The command of stop is received
- Flow of events
- To be expected
- Exceptions
- To be expected
- Postconditions
- The car stops
stop running
35Group Húsz
36Group HuszonHárom
37Use Case Diagram
Track
ltlt include gtgt
User
ltlt extends gtgt
Wall
ltlt include gtgt
38Use Case 1 Start the car
1. Reset the car to the start state
2. If the track cannot be found, dont do anything
3. User starts the car using the keyboard
4. Use Drive on the track
39Use Case 2 Stop the car
1. Stop the car
2. Reset values to the start state
40Use Case 3 Set parameters
ltlt extends gtgt Start the car 1b. The user uses the
keypad to enter track parameters before pressing
the start button
41Use Case 4 Drive on the track
1. Drive on the track as fast as possible 2.
When the car gets to the finish (after N laps),
use Stop the car (Use Case 2)
1b. Exception 1 The car gets out of the track ?
use Stop the car 1c. Exception 2 The user
presses a key ? use Stop the car 1d. Exception
3 The collision detectors indicate that we hit a
wall ? use Stop the car
42Group ABMCCC
43(No Transcript)
44(No Transcript)
45Group TYJKAL
46(No Transcript)
47Use Case Start Driving Description This use
case begins when the user presses a button on
keyboard. The keyboard represents the system
boundary, since the signal comes from the outside
of the system. Starting the run includes
initializing of the system. Use Case
Initializing Description This use case is
included in the "start driving" use case.
Initializing is essential, since the system may
be in random state when power is turned on. This
use case is further divided into initialization
of the ports and variables and handling
servos. Use Case Initializing Ports and
Variables Description This is done when
initializing occurs, and it realizes the
"Initializing". Here the ports and pins of the
system and variables of the software are
initialized to start condition.
Use Case Handling Servos Description This is
done when initialization occurs, and it realizes
the "Initializing". Here the servos controlling
front wheel position and speed are taken into
control of the software. Use Case Adjusting
Steering Description This is done according to
the data received from the IR sensors. IR
sensors investigates the position of the track.
Other possibly needed information might be for
example the speed of the car and pumber
interrupt. Use Case Adjusting
Speed Description This use case extends the
"Adjusting steering". Here the speed of the car
is adjusted according to the information received
by the software. Use Case Setting Up Wheels
Position Description This use case extends the
"Adjusting steering". Here the front wheel
position is changed according to the information
received by the software.
48Group HRRPJM
49Work station
Compile
Upload
ltltincludegtgt
ltltincludegtgt
Initialize
Track
Adjust
Start
50Car
Turn
Learn
ltltincludegtgt
ltltincludegtgt
Sense track
ltltextendgtgt
Sense finish line
Accelerate /decelerate
ltltincludegtgt
Sense speed
Idle
ltltincludegtgt
ltltincludegtgt
Detect collision
Reverse
ltltincludegtgt
ltltincludegtgt
Detect out
51(No Transcript)
52Group HRRPJM
53Work station
Compile
Upload
ltltincludegtgt
ltltincludegtgt
Initialize
Track
Adjust
Start
54Car
Turn
Learn
ltltincludegtgt
ltltincludegtgt
Sense track
ltltextendgtgt
Sense finish line
Accelerate /decelerate
ltltincludegtgt
Sense speed
Idle
ltltincludegtgt
ltltincludegtgt
Detect collision
Reverse
ltltincludegtgt
ltltincludegtgt
Detect out
55(No Transcript)
56Group JCGMNG
57Milestones not being met
58Project planning Description To
co-ordinate group members efforts and set-up
intermediate milestones and track project
progress. Milestones not being met
Description If the milestones are not met then
the Student needs to correct the failed
part. Set project goals Description The
Assessor sets the requirements to be met
including the performance criteria of the car,
and check that the
requirements are met. System software
integration Description We are taking the
modular approach to design the software as a
result of having three people in a group. One
extra process which
arises from this approach is integration to
ensure that all our modules work to achieve the
required performance
specification. Implement speed control
Description Because the track is curved and the
car has the ability to operate over a wide speed
range, thus speed
controller is need to ensure that the car moves
in an efficient manner as it drives around the
track. Implement steering control
Description We need to implement steering
control in the cars logic so as it can manoeuvre
around the track with minimal
chance of going off the
track. Report documentation Description
Needed to help the assessor to understand the
process by which we achieved our goals, and
serves as a reference
for similar future projects. Testing
Description To verify that we managed to
implement the requirements and that our software
modules fulfil their expectations. Modular
routine development Description Its
easier to split a large task between group
members and it simplify testing and allows
parallel development.
59Design Model Artifacts