Presentation on theme: "SENG521 (Fall SENG 521 Software Reliability & Testing Operational Profiles (Part 5b) Department of Electrical & Computer Engineering,"— Presentation transcript:
SENG521 (Fall 2002)firstname.lastname@example.org SENG 521 Software Reliability & Testing Operational Profiles (Part 5b) Department of Electrical & Computer Engineering, University of Calgary B.H. Far （ email@example.com ） http://www.enel.ucalgary.ca/~far/Lectures/SENG521/05b/
SENG521 (Fall 2002)firstname.lastname@example.org Review: Operational Profile Operational Profile Operational Profile is the set of disjoint operations (i.e., a major system logical task of short duration, which returns control to the system when complete and whose processing is substantially different from other operations. ) and their probabilities of occurrences. From engineering point of view, one usually starts with examining the work process and defines operational profiles for the software (and/or hardware) system that implements activities of the work process. System operational profile System operational profile must be developed for all of its important operational modes.
SENG521 (Fall 2002)email@example.com How to: Procedure 1.Determine operational modes. 2.Identify initiator of operations. 3.Select representation. 4.Create functions/operations list. 5.Determine occurrence rate of individual operations of attribute values. 6.Determine occurrence probabilities by dividing individual occurrence rate by total occurrence rates.
SENG521 (Fall 2002)firstname.lastname@example.org 1. Operational Modes Determine all possible operational modes and select only the most critical ones based on various factors such as: Time (time of year, day of week, time of day) Different user types (customer or user) Users experiences (novice or expert) Operational conditions (online retail sale mode, overload mode, continuous operation mode) Reduced system capability Criticality (shutdown mode for nuclear power plants)
SENG521 (Fall 2002)email@example.com 2. Operation Initiators Possible system initiators (Actors in Use Cases): Users of the system Users of the system (anyone who initiates an event on the system, including system administrators, customer type and user type) External systems External systems (other systems interfaced with the system under development) System’s own controller System’s own controller (administrative and/or maintenance tasks: audits, backups, etc.)
SENG521 (Fall 2002)firstname.lastname@example.org 3. Select Representation Use tabular representation if there are only a few attributes for each operation Use graphical representation if most of the operations are described by multiple attributes. It is possible to select a mixed mode of representation or converting between the two representations.
SENG521 (Fall 2002)email@example.com 4. Operations List Break down each operation mode into the operations it needs. Number of operations Explicit vs. implicit operations Initial operations list Environmental variables Final operations list
SENG521 (Fall 2002)firstname.lastname@example.org 4.1 No. of Operations The cost of reliability and testing is directly proportional to the total number of operations. Usually between 20 and a few hundreds. This number increases by the project size, operation mode, number of key input variables, etc. Usually better to reduce this number to reflect the most important operations that can cover all situations of substantially different processing.
SENG521 (Fall 2002)email@example.com 4.2 Explicit or Implicit /1 Key input variable: Key input variable: is a variable that is common to input state of two or more operations and whose value is needed to differentiate among those operations. Implicit Profile: Implicit Profile: Expressed in terms of a sequence of sub profiles each representing a key input variable and its conditional probability. Explicit Profile: Explicit Profile: Expressed in terms of sequence of values for all its key input variables. It is usually easier to express in implicit form.
SENG521 (Fall 2002)firstname.lastname@example.org 4.3 Initial Operations List Initial operations list is a tentative list of operations usually separated by the operation modes and operation initiators Sources (and documents) helpful to determine the initial operations: system requirements (prime source) Use Cases, functional models work process flow diagrams draft user manuals previous releases or former versions of the software prototypes
SENG521 (Fall 2002)email@example.com 4.4 Environment Variables Environmental variables describe the conditions that affect the way the program runs (the control path it takes and the data it accesses) Example: traffic load, hardware configuration, operating system configuration Some of the environment variables may map to operation modes List up all the environmental variables that might cause the program to respond in different ways and then decide which one of these would likely have a major effect on the program.
SENG521 (Fall 2002)firstname.lastname@example.org 4.5 Final Operations List /1 Final operation list is decided based on analysis of initial operation lists and narrowing the list down using data on operation modes environmental variables key input variables dependencies among input variables If correlation between some operations exists (i.e., occurrence of one depends on occurrence of the other) better to merge the operations
SENG521 (Fall 2002)email@example.com 4.5 Final Operations List /2 Distinguish between function and operation may become necessary Some functions (implementing substantially different tasks) may be mapped to a few operations (implementing substantially different processing, code path) Example: “relocate a telephone” function in switching system may map to “removal” and “install” operations
SENG521 (Fall 2002)firstname.lastname@example.org 5. Occurrence Rates /1 Occurrence rates are decided for each operation mode based on field data (if available), system logs, manual data collection and experience. If correlation between some operations is discovered at this stage it is better to merge the operations.