This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
The Unified Systems The Unified Systems Engineering ProcessEngineering Process
ReferencesReferencesTerry Bahill and Jesse Daniels, Using object-oriented and UML tools for hardware design: a case study, Systems Engineering, 6(1): 28-48, 2003.
My template for writing use cases is available athttp:/www/sie.arizona.edu/sysengr/slides/template.docMy guidance for naming UML things may also be usefulhttp:/www/sie.arizona.edu/sysengr/sie277/names.doc
Joint Strike FighterJoint Strike FighterIn 2001, Lockheed Martin beat Boeing in the Joint Strike Fighter (JSF) competition. Early on, they noted a government suggestion in the RFP that object-oriented design and UML tools be used for the system design. Lockheed Martin’s proposal was substantially superior in this aspect. The JSF is nowcalled the F-35.
BaselinesBaselines• In industry baselines often have names
such as, business model, requirements model, logical model, analysis model, design model, implementation model, component model, deployment model, run time model, etc.
•These models are roughly associated with a system life cycle phase, as shown in the next slide.
Baseline modelsBaseline modelsLife Cycle Phase of the Unified Systems Engineering Process
Model
Inception iteration 1 Business model Inception iteration 2 Requirements model Elaboration iteration 1 Analysis model Elaboration iteration 2 Design model Construction Implementation model Transition Operation Run time model Replacement Operations model
Design should be use case drivenDesign should be use case drivenA use case is an abstraction of required functions of a system. A use case produces an observable result of value to the user. Each use case describes a sequence of interactions between one or more actors and the system.
Regulate TemperatureRegulate Temperature use case use case11
Iteration: 2.0Brief description: Maintain the room temperature
(roomTemp) between lowerThreshold (see Rule1) and upperThreshold (see Rule2) degrees Fahrenheit using a Heater and an Air Conditioner (AC).
Added value: The House is comfortable, therefore Home Owner is more productive.
Scope: An HVAC controller for a Tucson housePrimary actor: Home OwnerSupporting actors: Heater and Air ConditionerPrecondition: The system is turned on
and the roomTemp is between lowerThreshold and upperThreshold.
Regulate TemperatureRegulate Temperature use case use case22
Main Success Scenario: 1. The system senses roomTemp.2a. The roomTemp exceeds upperThreshold.3. The system turns on the Air Conditioner.4. The roomTemp drops below upperThreshold.5. The system turns off the AC [repeat at step 1].Anchored Alternate Flow: 2b. The roomTemp drops below lowerThreshold.2b1. The system turns on the Heater.2b2. The roomTemp exceeds lowerThreshold.2b3. The system turns off the Heater [repeat at step
Regulate TemperatureRegulate Temperature use case use case33
Specific RequirementsFunctional Requirements:1. The system shall be capable of turning the AC on and
off [from Regulate Temperature use case, steps 3 and 5].
2. The system shall be capable of turning the Heater on and off [from Regulate Temperature use case, steps 2b1 and 2b3].
3. The system shall be capable of sensing room temperature [from Regulate Temperature use case, step 1].
Rules:Rule1: lowerThreshold default value is 70 degrees F.Rule2: upperThreshold default value is 73 degrees F.Author: Terry BahillDate: September 2, 2005*
Display System StatusDisplay System Status use case use case11
Name: Display System StatusBrief description: Indicate the health of the
systemAdded value: Home Owner knows if the
system is working properly.Scope: An HVAC controller for a Tucson housePrimary actor: Home OwnerFrequency: Typically once a dayMain Success Scenario: 1. Home Owner asks the system for its status.2. Each component in the system reports its
status to the Controller.3. The system accepts this information and
updates the System Status display.4. Home Owner observes the System Status
Cool HouseCool House use case use caseIteration: 2.0Brief description: When it is hot outside, use an Air
Conditioner (AC) to maintain the room temperature (roomTemp) between ACLowerLimit and ACUpperLimit degrees Fahrenheit.
Added value: The House is comfortable, therefore Home Owner is more productive.
Scope: An HVAC controller for a Tucson housePrimary actor: Home OwnerSupporting actor: Air ConditionerFrequency: The system operates continuously.Precondition: Home Owner has turned on the cooling
system and the roomTemp is between ACLowerLimit and ACUpperLimit.
Brief description: When it is cold outside maintain the roomTemp between heaterLowerLimit (see Rule2) and heaterUpperLimit (see Rule3) degrees Fahrenheit using a Heater.
Added value:* The house is comfortable, therefore Home Owner is more productive.
Goal:* Maintain house at a comfortable temperatureScope: An HVAC controller for a Tucson housePrimary actor: Home OwnerSupporting actor: HeaterFrequency: The system operates continuously. Precondition: The heating system is on and the
roomTemp is between heaterLowerLimit and heaterUpperLimit.
Main Success Scenario: 1. The system is sensing roomTemp.2. The roomTemp falls below heaterLowerLimit.3. The system turns on the Heater [in accordance with
Rule1].4. The roomTemp rises to heaterUpperLimit.5. The system turns off the Heater [Rule1] [go to step 1].Unanchored Alternate Flow:1. Home Owner smells “gas.”*2. Home Owner turns off Heater [exit use case].Specific RequirementsFunctional Requirements:1. The system shall turn the Heater on and off [from steps 3
and 5 of the Heat House use case].2. The system shall sense room temperature [from step 1
Heat HouseHeat House use case use case33**Nonfunctional performance requirement: On-off cycles should last at least 15 minutes [from
interview with Chief Systems Engineer].Rules:Rule1: When the Heater is on, turn the Fan on.
When the Heater is off, turn the Fan off.Rule2: heaterLowerLimit default value is 70 degrees F.Rule3: heaterUpperLimit default value is 71 degrees F.Author/owner: Terry BahillDate: September 2, 2005
Display System StatusDisplay System Status use case use case11
Iteration: 2.0Brief description: The system shall monitor the health
of each object in the system and display the status of the complete system. The display could be a simple go/no-go or it might be more sophisticated.
Added value: Home Owner knows if the system is working properly.
Scope: An HVAC controller for a Tucson housePrimary actor: Home OwnerFrequency: The system shall display system status
continuously.Main Success Scenario: 1. The Fan reports status to the Controller.2. The Air Conditioner reports status to the Controller.3. The Heater reports status to the Controller.
Cool HouseCool House use case use caseBrief description: When it is hot outside maintain the
room temperature (roomTemp) between coolerLowerLimit and coolerUpperLimit degrees Fahrenheit using a Cooler (either an Evaporative Cooler or an Air Conditioner).
Scope: An HVAC controller for a Tucson houseLevel: LowPrimary actor: Home OwnerSupporting actor: CoolerFrequency: The system operates continuously.Precondition: Home Owner has selected the Cooler,
systemStatus is ready, systemState is Cooler Off, and the roomTemp is below coolerUpperLimit.
Trigger: The roomTemp exceeds coolerUpperLimit.Main Success Scenario: … etc.
Brief description: When it is cold outside maintain the roomTemp between heaterLowerLimit and heaterUpperLimit degrees Fahrenheit using a Heater.
Scope: An HVAC controller for a Tucson houseLevel: LowPrimary actor: Home OwnerSupporting actor: HeaterFrequency: The system operates continuously. Precondition: Home Owner has selected the Heater,
systemStatus is ready, system state is Heater Off, and roomTemp is above heaterLowerLimit.
Trigger: The roomTemp falls below heaterLowerLimit.Main Success Scenario: 1. The system turns on the Heater [in accordance with
Heat HouseHeat House use case use case222. The roomTemp rises to heaterUpperLimit.3. The system turns off the Heater [Rule1] [exit use
case].Unanchored Alternate Flow:1. Home Owner smells gas.2. Home Owner turns off Heater [exit use case].Postcondition: Heater is offFunctional requirements…Nonfunctional performance requirement: On-off cycles
should last at least 15 minutes.Rules:Rule1: When the Heater is on, turn the Fan on.
When the Heater is off, turn the Fan off.Rule2: heaterLowerLimit default value is 70 degrees F.Rule3: heaterUpperLimit default value is 71 degrees F.Author/owner: Terry BahillDate: January 31, 2002
Set Temperature LimitsSet Temperature Limits use case use caseBrief description: Home Owner changes the HVAC
temperature limitsScope: An HVAC controller for a Tucson houseLevel: MediumPrimary actor: Home OwnerFrequency: DailyPrecondition: Home Owner has selected the
equipment and systemStatus is ready.Main Success Scenario: 1. Home Owner sets coolerUpperLimit.2. Home Owner sets coolerLowerLimit.3. Home Owner sets heaterUpperLimit.4. Home Owner sets heaterLowerLimit.5. Exit Set Temperature Limits use case.Postcondition: All four limits are set.Author/owner: Terry BahillDate: January 31, 2002
Configure EquipmentConfigure Equipment use case use case11
Brief description: Home Owner chooses which equipment to turn on: heater, air conditioner, or evaporative cooler.
Added value: Necessary for operation and maintenanceScope: An HVAC controller for a Tucson houseLevel: HighAssumption: If the Home Owner wants heating and
cooling on the same day, then he or she will switch back and forth manually.
Primary actor: Home OwnerFrequency: Once a yearPrecondition: systemStatus* is “ready.”
Configure EquipmentConfigure Equipment use case use case22
Main Success Scenario: 1. March 21 Home Owner turns Heater off and
Evaporative Cooler on.2. June 21 Home Owner turns Evaporative Cooler off
and Air Conditioner on.3. September 21 Home Owner turns Air Conditioner
off and Evaporative Cooler on.4. November 21 Home Owner turns Evaporative
Cooler off and Heater on [cycle back to step 1].Postcondition: One of the three systems is active.Specific requirements …Author/owner: Terry BahillDate: January 31, 2002
Sequence diagram for the alternate flow “Owner Sequence diagram for the alternate flow “Owner smells gas” of smells gas” of Heat HouseHeat House use case use case
•Supplemental entities state machine diagrams deployment diagrams
• Is a dynamic model because, using sequence diagrams and state machine diagrams, it shows the timing of the functions being performed and the messages being passed
Any roomTemp > coolerUpperLimit Cooler On Cooler Off roomTemp < coolerUpperLimit Cooler Off Cooler Off roomTemp = coolerUpperLimit Cooler On Cooler On roomTemp > coolerLowerLimit Cooler On Cooler On roomTemp = coolerLowerLimit Cooler Off Any roomTemp < coolerLowerLimit Cooler Off Any coolerUpperLimit coolerLowerLimit SignalError
04/10/23
Test vectorsTest vectors33
Test Procedure for the Heater1. Choose a cold day, e.g. outside
temperature is less than 60 F.2. Set Heater On/Off switch to On.3. Set heaterUpperLimit and
heaterLowerLimit according to the Test Vector [ ].
4. Observe room temperature for one hour.5. If it goes outside the heaterLimits, record
Test using system experiments*Test using system experiments*Time Events (Input Trajectory) State 0 roomTemp < coolerUpperLimit Cooler Off 1 roomTemp = coolerUpperLimit Cooler Off 2 roomTemp > coolerUpperLimit Cooler On 3 roomTemp = coolerUpperLimit Cooler On 4 roomTemp < coolerUpperLimit Cooler On 5 roomTemp = coolerLowerLimit Cooler On 6 roomTemp < coolerLowerLimit Cooler Off 7 roomTemp = coolerLowerLimit Cooler Off 8 roomTemp > coolerLowerLimit Cooler Off 9 Cooler Off
Time Events (Input Trajectory) State 0 coolerUpperLimit coolerLowerLimit Cooler Off 1 Error
The system passes this test only if it produces the above output trajectory
04/10/23
Test using use-case scenarios*Test using use-case scenarios*Use Case Name: Heat HouseScenario: 1. Pat Harris starts this scenario on January 8
with the outside temperature = 40 F, the heater off, systemStatus = ready, the roomTemp = 70.5 F and the heaterLowerLimit and heaterUpperLimit at their default values.
2. The roomTemp falls below 70 F.3. The system turns on the Heater and the Fan.4. The roomTemp rises to 71 F.5. The system turns off the Heater and the Fan.6. To pass this test, the roomTemp must remain
greater than heaterLowerLimit for the next 15 minutes, [end of test].
•Test vectors: Select a variety of inputs, some normal, some extreme and some mistakes. For each input vector, describe the acceptable output vector. Write a test procedure that will invoke each test vector. Describe conditions need to pass or fail the test.
•State-based system experiments. Define an initial state for time equal zero. Create an input trajectory. Show the state trajectory that is required in order to pass the test.
•Scenarios. Select a use case that has already been written for the system. Instantiate it with particular people, places and conditions. Describe behavior that is necessary in order to pass the test. Run the system with this instantiation.
Operations phaseOperations phaseThe operations model (usually a computer simulation) should be built from the implementation model. It should reflect the structure of the system as it was actually built. It will be used to manage and improve the operational system. It will be updated anytime the operational system is changed. Most importantly, it will used to help with retirement of the system. Another UML tool called an activity diagram will be used to show the workflows, that is who does which tasks during the operations phase.
Operations Aspect Level Use cases City (high) Heat the City, Cause Brown Outs Architect Choose and Install Equipment and Insulation, Specify Architecture
of the House User Heat House, Cool House, Display System Status, Set Temperature
Limits, Choose Equipment Equipment Turn Equipment On and Off, Open and Close Windows and Vents Electricity Specify Colors of Wires Interconnecting Equipment, Choose
Electrical Voltages Element (low)
Freon Changes Phases, Helical Spring Expands, Mercury Capsule Tilts
Maintenance Aspect Level Use cases Generational Freon Depletes Ozone Layer Multi year Vacuum Ducts, Caulk Small Openings, Sweep Chimney, Bleed