Professional Documents
Culture Documents
System Engineering Overview
System Engineering Overview
Our Goal
1 Examine systems from many perspectives 2 Attain system engineering skills
plan, management, analysis, design, implementation, evaluation, validation
Defining System
Systems can contain subsystems, components, subcomponents, and parts, each engineered and complex
Subsystems
Components
Subcomponents Parts
Components
Subcomponents Parts
Parts
Actors in hierarchy
[Supersystem] Systems
Subsystems
Components top of industrial design specialist; floor of systems
engineers knowledge Subcomponents Parts
Actors in hierarchy
[Supersystem] Systems
Subsystems
Components top of industrial design specialist; floor of systems
engineers knowledge Subcomponents Parts
Caveat: systems engineer drills deep for critical issues (e.g. Challenger failure)
Unique Perspective
Focused on the system as a whole Concerned with stakeholder needs and operational environment Grounded in system conceptual design Bridges traditional engineering disciplines Requires qualitative judgments
Specialization
Complex systems configured of components
Each must be specified, developed, tested Each must interface to the system Each has unique properties Engineering specialties emerge
Making it fit
Standards develop to abstract specialization Modularity and interchangeable parts, everything must fit Somebody needs to make it all fit
David Wettergreen | Systems Engineering 18
Complex Systems
Automobiles Aircraft Spacecraft Robots Navigation Equipment Appliances Cameras Industrial Processes Air Traffic Control Power Plants Railroads Telephone Switching Network Communication Stock Exchange
Embedded Systems
When the computational element exists within a system to achieve desired functionality it is said to be embedded Many systems have computing components embedded within them (even toasters)
Timeliness
The system has the ability to respond to some event, often, but not limited to events that are external to the system When the response is timely the system is said to be reacting in real time Failure to be timely will result in failure of the system
Responsiveness
A system in which the components for processing information (data, signals) arriving are permanently ready so that results will be available within predetermined periods of time
[Halang92]
David Wettergreen | Systems Engineering 23
Concurrency
Real events of the world proceed in parallel. A concurrent system is one that simultaneously responses to multiple events (and thus has multiple chains of action) Concurrency issues:
Scheduling Arrival patterns Rendezvous patterns Shared resources
Predictability
The extent to which system response characteristics can be known in advance Affected by: Physical environment System behavior
Correctness
In real-time systems the correctness of the system depends not only on the logical result of the computation but also on the time at which the results are produced.
[Stankovic88]
A system is correct when it does the right thing all the time.
Reliability
A system is reliable when it does the right thing when predictable events or faults occur
Events - environmental conditions Faults - anomalous components behavior
Robustness
A system is robust when it does the right thing when faults and errors occur (and novel circumstances are encountered).
Faults - system components fail Error - design flaws
Best System
100 80 Performance 60 Desired Acceptable
Cost
David Wettergreen | Systems Engineering 29
Balanced System
3
Acceptable Performance
Performance/Cost
Desired Performance
Cost
David Wettergreen | Systems Engineering 30
Balanced Judgment
Multidisciplinary knowledge allows balance
Qualitative judgment comes from experience Quantitative decisions enabled by approximate calculations (back of the envelope)
Engineering Development
Advanced Development Engineering Design Integration and Evaluation
Post-Development
Production Operation and Maintenance
Wettergreen & Nourbakhsh | Systems Engineering 32
Use Cases
A use case diagram shows the general cases of interaction between the system and external objects Use case diagrams capture a broad view of the primary functionality of a system in a manner that is easily understood by a non-technical audience
Wettergreen & Nourbakhsh | Systems Engineering 33
Use Cases
Actors are things that exist outside of the system but influence system behavior Use Case is what is performed by the system
Use Case
Interaction
Name - Name for each case Summary - Brief description Dependency - Includes/extends other use case Actors - Name the actors Preconditions - True at start of use case Description - Prose narrative of use case sequence of interactions Alternatives - Narrative of alternative branches Postcondition - True at end of use case
Select Floor
Hold Door Service Personnel Alarm Potential Passenger Request Service [Douglass98]
Identifying Scenarios
Scenarios: Specific instances of use cases Model order-dependent behavior of objects Scenarios indicate differing system behaviors
If the behavior in various scenarios the same, generalize to one scenario
Functional Analysis
What function? and What design? are closely coupled
49
Design Engineering What test equipment do we need to buy/build? Test Engineering Lets conduct the test
Lets analyze the resulting data
50
Scope of testing
System Real operational environment demonstration
Simulated environment compliance Integration facility first whole-system check
Subsystem Component
Test and integrate pieces in small groups
51
Stages
1. 2. 3. 4.
Test Planning & Preparation System Integration Developmental System Testing Operational Test and Evaluation
52
Stages
1. Test Planning & Preparation
First review unforeseen changes: requirements, technologies Test and Evaluation Master Plan (TEMP) DoD programs This step mirrors System Development:
System Concept <-> Test Concept Functional Design <-> Test Plan Detailed Design <-> Test Procedures
Stages
1. Test Planning & Preparation Operational Environment Demo considerations
no bias early phases: developer tests system late phases: customer or test agent does testing,
54
Stages
1. Test Planning & Preparation 2. System Integration
Proceeds linearly, adding a couple of components at a time Add subsystems intelligently to avoid complex input generators Therefore, start with components that have external inputs Hard part: matching subsystem outputs to expected values how do we determine realistic expectations?
Stages
1. Test Planning & Preparation 2. System Integration
Common Problem: the error is in error!
56
Student Exercise 1
System Integration: for your project, list the order in which you ought to test and add components or subsystems to the system, two or so at a time. Explain where the inputs will come from during testing of each added pair or so of components.
57
Stages
1. Test Planning & Preparation 2. System Integration 3. Developmental System Testing: the First Time
Entire-system testing for performance vis a vis specifications Also use this as a last-ditch chance to check against user needs The customer often doesnt know what they need Specify test conditions as completely as possible Generate and use many test scenarios
Stages
1. Test Planning & Preparation 2. System Integration 3. Developmental System Testing
Dealing with Discrepancies 1: Is it really broken consistently? Try again. 2: Is it really a problem? Think. 3: How do we fix it. 4: How comprehensively must we test the fix? The law of unintended consequences can bite!
Student Exercise 2
Development System Testing: for your project, imagine the first whole-system prototype. Just how will you test it what *suite* of test scenarios will you try? How will you measure its performance?
60
Stages
1. 2. 3. 4. Test Planning & Preparation System Integration Developmental System Testing Operational Test and Evaluation
Validation of system design to operational requirements NOT verification of system performance wrt specifications (huh?)
61
Stages
1. 2. 3. 4. Test Planning & Preparation System Integration Developmental System Testing Operational Test and Evaluation
Validation of system design to operational requirements NOT verification of system performance wrt specifications (huh?) Translation: the customer takes the system for a test drive and makes sure that, operationally, the system does what he/she needs. (the specs could be wrong, and now it doesnt matter any longer)
Stages
1. 2. 3. 4. Test Planning & Preparation System Integration Developmental System Testing Operational Test and Evaluation
Key areas of testing: User interface (interface usability) Environmental testing
63
Stages
1. 2. 3. 4. Test Planning & Preparation System Integration Developmental System Testing Operational Test and Evaluation
Test Plan (part of TEMP) - directions for conducting the operational test - critical operation issues to be examined; metrics - how much testing is enough? answer this question
64
65
66
5. Minimize fatigue
DLP Projectors
68
7. Joints:
69
9. Minimize wires
Fatigue results on PER IR wires
13. Write damn good code & characterize it - Memory and time profiling - Memory leak duty testing
71
What Not to Do
1 2 3 4 5 6 7 8 9 Never fix the same thing twice. Dont assume single point of failure. Never use a connector / crimp design without extensive testing. Do not trust theoretical dynamics calculations. Never leave out a diagnostic port. Never check in code without cleanly recompiling. Never malloc unnecessarily. Never fork unnecessarily. Never assume the world is kind (your robot will get kicked). Never live with feature creep.
72